Konzeption und Realisierung der Integration von realen Kommunikationsendgeräten in virtuelle Umgebungen DIPLOMARBEIT

Größe: px
Ab Seite anzeigen:

Download "Konzeption und Realisierung der Integration von realen Kommunikationsendgeräten in virtuelle Umgebungen DIPLOMARBEIT"

Transkript

1 Technische Universität Darmstadt Konzeption und Realisierung der Integration von realen Kommunikationsendgeräten in virtuelle Umgebungen DIPLOMARBEIT Autor: Oliver Hinz Fraunhofer Institut für Graphische Datenverarbeitung, Darmstadt Betreuer: Dipl.-Inform. Ralf Dörner und Dipl.-Inform. Paul Grimm Prüfer: Prof. Dr.-Ing. Dr. h.c. Dr. E.h. José L. Encarnação Technische Universität Darmstadt

2 2

3 Aufgabenstellung: Ein aktueller Trend bei der Gestaltung virtueller Umgebungen ist das Einbeziehen der realen Welt bzw. das Anreichern der realen Welt mit virtuell repräsentierten Informationen (Augmented Reality). Das Verwalten und Einbinden von realen Gegenständen in die Animation einer virtuellen Welt erfordert neue Ansätze und Konzepte. Diese können sich auf bestehende Konzepte zur Animationserstellung abstützen, wie etwa Verhaltensbeschreibung mit einem komponentenbasierten Ansatz. ETOILE (Environment for Team, Organisational und Individual Learning in Emergencies) ist beispielsweise ein derartiges System, das die komponentenbasierte Erstellung von virtuellen Welten für Kommunikationstraining in Notfallsituationen ermöglicht. Anhand des Beispiels eines Telefonapparates soll ein Konzept für eine erweiterte virtuelle Realität entwickelt werden. In einer interaktiven Computeranimation soll das Telefon sowohl virtuell als Gegenstand in der Animation abgebildet als auch ein Interagieren mit dem echten Telefonapparat gestattet werden. Dabei sollen bei der Konzeption bestehende komponentenbasierte Ansätze berücksichtigt werden. Das Konzept ist prototypisch umzusetzen und zu demonstrieren. Schließlich soll der Nutzen, ein Umgehen mit dem realen Gegenstand als Metapher für das Pendant in der virtuellen Welt am Beispiel der ETOILE Trainingsanwendung diskutiert werden. 3

4 4

5 Diplomarbeit von Herrn Oliver Hinz Erklärung zur Diplomarbeit gemäß 19 Abs. 6 DPO/AT Hiermit versichere ich, die vorliegende Diplomarbeit ohne Hilfe Dritter nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die aus Quellen entnommen wurden, sind als solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen. Darmstadt, den 15. August 2000 Unterschrift 5

6 6

7 "Welche Veränderungen müssen jetzt eintreten in unserer Anschauungsweise und in unseren Vorstellungen! Sogar die Elementarbegriffe von Zeit und Raum sind schwankend geworden. Durch die Eisenbahn wird der Raum getötet, und es bleibt uns nur noch die Zeit übrig." Heinrich Heine,

8 8

9 Inhaltverzeichnis ABBILDUNGSVERZEICHNIS TABELLENVERZEICHNIS ABKÜRZUNGSVERZEICHNIS ZUSAMMENFASSUNG ABSTRACT EINLEITUNG KOMPONENTENORIENTIERUNG MIXED REALITY ZIEL DIESER DIPLOMARBEIT AUFBAU DER DIPLOMARBEIT GRUNDLAGEN THEORETISCHE GRUNDLAGEN Interaktion mit der virtuellen Umgebung Einsatzgebiete von 3D-Systemen Erweiterung der virtuellen Welt TECHNISCHE GRUNDLAGEN Java Telephony API (JTAPI) Telephony API (TAPI) und Common-ISDN-API (CAPI) Java Native Interface (JNI) JavaBeans Java3D Java3D-Beans Java InfoBus Remote Method Invocation (RMI) ENTWURF INTEGRATION EINER TELEFON-KOMPONENTE IN ETOILE Vertikaler Entwurf Horizontaler Entwurf Verteilte Kommunikation Zusätzliche Schnittstellendefinition zu ETOILE

10 3.2 INTEGRATION VON REALEN KOMMUNIKATIONSENDGERÄTEN Einsatz der Beans in anderen Applikationen Allgemeingültiges Integrationsmodell VALIDIERUNG FUNKTIONSWEISE DER BEANS IN ETOILE Die Klasse EtAppTrainer Die Klasse EtAppLearner Die Klasse EtCommunication und EtMessage Nutzung der ETOILE-Architektur D- UND 3D REPRÄSENTATION DYNAMISCHE SAMMLUNG DER PHONEBEANS-DATEN DIE KLASSE ETTELEPHONESERVICES DAS INTERFACE ETREMOTETELEPHONESERVICES DIE KLASSE ETREMOTETELEPHONESERVICESIMPL ANMELDUNG DER ISDN-SERVER BEISPIEL: ABSETZEN EINES ANRUFES IMPLEMENTIERUNG ALLGEMEINE INFORMATIONEN IMPLEMENTIERUNG DER JTAPI-FUNKTIONALITÄT IMPLEMENTIERUNG DES 2D-TEILS IMPLEMENTIERUNG DES 3D-TEILS VERÄNDERUNGEN AN ETOILE PROBLEME IN DER IMPLEMENTIERUNGSPHASE EVALUIERUNG PRAKTISCHER EINSATZ Verwendung der Telefonkomponente in ETOILE Probleme Ausbaufähige Features VERBESSERUNGSVORSCHLÄGE SCHLUßFOLGERUNG ZUSAMMENFASSUNG UND AUSBLICK ZUSAMMENFASSUNG AUSBLICK LITERATURVERZEICHNIS

11 11

12 Abbildungsverzeichnis ABBILDUNG 1: EXCEL-ARBEITSBLATT IN EINEM WORD-DOKUMENT ABBILDUNG 2: SPEKTRUM DER MIXED REALITY [DRA96] ABBILDUNG 3: MIT INFORMATIONEN ANGEREICHERTER STERNENHIMMEL [SPO99] ABBILDUNG 4: VIRTUELLER KONTROLLRAUM DER BNFL [AND00] ABBILDUNG 5: DAS JAVA TELEPHONY CALL-MODELL [JTS00] ABBILDUNG 6: JTAPI-KOMPONENTEN VON COREPOINT TECHNOLOGIES [COR00] ABBILDUNG 7: ERSTELLEN EINER JTAPI-APPLIKATION MIT DRAG & DROP [COR00] ABBILDUNG 8: DIE TAPI-ARCHITEKTUR ABBILDUNG 9: JUGGLER ALS DEMONSTRATION FÜR JAVABEANS ABBILDUNG 10: JAVA3D MOLECULAR VISUALISATION SYSTEM [DCS00] ABBILDUNG 11: VIRTUELLES AQUARIUM IN BOSTON [TCM00] ABBILDUNG 12: 3D-BEAN ERSTELLT MIT DER 3D-BEANBOX ABBILDUNG 13: BEISPIEL EINES SZENENGRAPHES IN JAVA3D ABBILDUNG 14: NUTZUNG DES JAVA INFOBUS ABBILDUNG 15: ZUGRIFF ÜBER RMI ABBILDUNG 16: FALL 1 (AGENT-MENSCH-GESPRÄCH) ABBILDUNG 17: FALL 2 (MENSCH-AGENT-GESPRÄCH) ABBILDUNG 18: FALL 3 (MENSCH-MENSCH-GESPRÄCH) ABBILDUNG 19: IP-TELEFONIE ABBILDUNG 20: VERTIKALER ENTWURF ABBILDUNG 21: AUFBAU DES TELEFON-BEANS ABBILDUNG 22: BEISPIEL ANKOMMENDER ANRUF ABBILDUNG 23: TELEFON-TASTATUR ABBILDUNG 24: MODELL IN 3D STUDIO MAX [STU00] ABBILDUNG 25: JTAPI-/TAPI-BINDING ABBILDUNG 26: BINDING-ÜBERSICHT ABBILDUNG 27: SYSTEMEIGENSCHAFTEN UNTER WIN98 MIT MODEM WAVE DEVICE ABBILDUNG 28: SCREENSHOT ETOILE ABBILDUNG 29: WIN3D-DESKTOP VON CLOCKWISE [CLO00] ABBILDUNG 30: EINSATZ DER TELEFON-BEANS IN ETOILE ABBILDUNG 31: ANMELDUNG DER TELEFON-BEANS BEI DER TRAINERAPPLIKATION ABBILDUNG 32: ANMELDUNG DER ISDN-SERVER ABBILDUNG 33: TAPI SERVICES FÜR CAPI [AVM00] ABBILDUNG 34: DIALOGFENSTER BEI TAPI-AUFRUF ABBILDUNG 35: INSTANZ DER KLASSE PHONEKEYBOARD

13 ABBILDUNG 36: INSTANZEN DER PHONE2D-KLASSE (ZUSTAND:IDLE, ACTIVE, RINGING) ABBILDUNG 37: INSTANZ DER PHONE3D-KLASSE ABBILDUNG 38: EINFÜGEN VON BEANS IM JBUILDER ABBILDUNG 39: ANZEIGE DER BEANS IM JBUILDER ABBILDUNG 40: EINSETZEN DER 2D-TELEFONKOMPONENTE ABBILDUNG 41: AUSWAHL DES GEWÜNSCHTEN SZENARIOS MIT DER 3D-BEANBOX ABBILDUNG 42: ETOILE-SZENARIOBEAN IN DER 3D-BEANBOX ABBILDUNG 43: 3D-PHONEBEAN BEIM EINSETZEN

14 Tabellenverzeichnis TABELLE 1: JTAPI-PACKAGES TABELLE 2: PHONEBUS-NACHRICHTEN TABELLE 3: OBJEKTE DES CALL MODELS VON JTAPI TABELLE 4: RIFF-CHUNKS TABELLE 5: ZUSÄTZLICHE NACHRICHTEN DES ETOILE-KOMMUNIKATIONSSYSTEMS TABELLE 6: BEISPIEL TELEFONINITIALISIERUNG

15 Abkürzungsverzeichnis 2D 3D API AR AWT BDK CAPI CORBA CTI DLL DTMF DV ETOILE GUI IP ISDN JAR JDK JMF JNI JTAPI MR OLE OP PBX PC PCM RIFF RMI SV TAPI 2-dimensional 3-dimensional Application Programming Interface Augmented Reality Abstract Window Toolkit Bean Development Kit Common ISDN-API Common Object Request Broker Architecture Computer-Telephony Integration Dynamic Link Library Dual Tone Multi-Frequency Directly-Viewed Environment for Team, Organisational and Individual Learning in Emergencies Graphical User Interface Internet Protocol Integrated Services Digital Network Java Archive Java Development Toolkit Java Media Framework Java Native Interface Java Telephony API Mixed Reality Object Linking and Embedding Operation Private Branch Exchange Personal Computer Pulse Code Modulation Resource Interchange File Format Remote Method Invocation Stereoscopic Video Telephony API 15

16 TCP TSAPI TSPI VB VM VR VRML Transmission Control Protocol Telephony Services API Telephony Service Provider Interface Microsofts Visual Basic Virtuelle Maschine Virtual Reality Virtual Reality Modeling Language 16

17 Zusammenfassung In der Entwicklung von großen Softwaresystemen mit wachsender Komplexität, ist es wichtig, das Gesamtsystem in kleine, überschaubare Teile zu zerlegen. Gleichzeitig kann die Wiederverwendung von Komponenten die Produktivität erhöhen und Entwicklungsdauer senken. Auch im Bereich der Graphischen Datenverarbeitung ist eine Bibliothek von Komponenten nützlich, die immer wieder eingesetzt werden können. So können virtuelle Umgebungen möglichst einfach zusammengestellt werden. Aus einfachen Komponenten können durch Verbindung komplexe Welten erstellt werden. Gegenstand dieser Arbeit ist die Konzeption und Realisierung der Integration realer Kommunikationsendgeräte in virtuelle Umgebungen. Mit virtuellen Umgebungen interagiert der Benutzer meist nur durch Eingabegeräte wie Keyboard, Datenhandschuh oder Maus. In wenigen Fällen werden akustische Signale als Input und Stimulanz für die virtuelle Welt genutzt. In dieser Arbeit werden Ansätze vorgestellt, wie reale Kommunikationsendgeräte als zusätzliche Eingabe- und Ausgabegeräte in eine Trainingsanwendung wie ETOILE (Environment for Team, Organisational and Individual Learning in Emergencies) eingebunden werden können. Anhand eines Telefongerätes werden komponentenbasierte Konzepte erarbeitet und prototypisch umgesetzt. Die Prototypen dieser Arbeit bauen auf den im Fraunhofer Institut für Graphische Datenverarbeitung entwickelten Java3D-Beans auf. Die Kommunikation mit der Telefonie-Hardware erfolgt über ein JTAPI/CAPI- Binding. Durch die Einbindung handelsüblicher Kommunikationsendgeräte in eine virtuelle Umgebung entsteht eine zweiseitige Kommunikation zwischen der realen und virtuellen Welt und eine akustische Verschmelzung dieser beiden. Der Umgang mit dem realen Gegenstand als Metapher für das Pendant in der virtuellen Welt fällt dem Benutzer leichter als ein neu-entwickeltes Eingabegerät. Ausgehend von der Einbindung von Kommunikationsendgeräten wird des weiteren die Integration anderer realer Gegenstände in eine virtuelle Umgebung diskutiert. Eine Weiterentwicklung 17

18 dieses Konzeptes könnte zu einem höheren Grad der Immersion führen, wenn über das normale Bürotelefon mit einem Software-Agenten in der virtuellen Umgebung tatsächlich telefoniert werden kann. Diese Arbeit liefert vor allem technische Überlegungen auf dem Weg zu einer neuen Mensch- Maschine-Interaktion. 18

19 Abstract While developing large software-systems with increasing complexity, it is necessary to divide the application into small, manageable pieces. At the same time the reusability of components can increase productivity and decrease development time. In the field of computer graphics a library of reusable components might be useful. Virtual environments are created easily this way. Complex worlds can be generated by composition of simple components. Topic of this work are conception and implementation of the integration of real communication devices into virtual environments. Usually users interact with virtual environments only by input devices like keyboard, data-glove or mouse. In a few cases only, acoustic signals are used as input to stimulate the virtual world. Integrating real communication devices into a computerbased training system like ETOILE (Environment for Team, Organisational and Individual Learning in Emergencies) is shown by some concepts within this paper. Some component-based concepts and prototypes were put into practice on the basis of a telephone device. These prototypes are based on Java3D-Beans, which were developed by Fraunhofer Institute for Computer Graphics (IGD). Communication with telephony hardware is realised through a JTAPI/CAPI-binding. The integration of standard commercial communication devices into a virtual environment creates a two-sided communication between the real and the virtual world and acoustically melting these two worlds together. Interaction with a real object as metaphor for the counterpart in the virtual world is much easier for the user than a new-developed input-device. A further look at this concept might provide a higher degree of immersion, in case communication with a software-agent in the virtual environment through a standard officephone can be realised. This paper provides mainly technical concepts. 19

20 20

21 1. Einleitung Schon 1963 beschrieb Stanislaw Lem den Vorgang der Phantomatisierung. Lem gehört unbestritten mit über 27 Millionen verkauften Büchern in 36 Sprachen zu den erfolgreichsten Sciene-Fiction-Autoren des zwanzigsten Jahrhunderts. Laut Lems Terminologie handelt es sich bei der Phantomatisierung um den Anschluß aller Sinne eines Menschen an einen Computer, der ihn "phantomatisiert", also ihn scheinbar in die fiktive Wirklichkeit eintaucht. Heute setzt Lem die Phantomatisierung mit dem Eintauchen in Virtuelle Realitäten gleich. Er äußert sich allerdings kritisch und spricht von ziemlich bescheidenen Ansätze. Die Person, die in bisherige virtuelle Welten abtaucht, sei sich zu jeder Zeit bewußt, daß es sich um eine Simulation handelt.[lem98] Mit solchen und ähnlichen Kommentaren zählt Lem zu den Kritikern der VR- Technologie. Allerdings spielt das Konzept des willing suspension of disbelief, also dem willentlichen, zeitweiligen Aufhebens des Unglaubens, eine Rolle. Der Begriff wurde im neunzehnten Jahrhundert von dem englischen Dichter Samuel Taylor Coleridge [Col97] geprägt. Es spielt dabei keine Rolle, ob man sich in der Geschichte eines Buches fallen läßt oder bei einem Spaziergang in einer virtuellen Welt die Wirklichkeit vergißt. In dieser Arbeit werden wir ein Konzept erarbeiten, wie man reale Kommunikationsendgeräte in eine virtuelle Umgebung integrieren kann, und somit eine Verschmelzung der realen Welt mit einer virtuellen Welt fördern kann. Dem Benutzer kann bei einer erfolgreichen Umsetzung des Konzepts der Eindruck vermittelt werden, daß Personen aus der virtuellen Umgebung tatsächlich existieren, wenn diese in der Lage sind, z.b. auf dem realen Bürotelefon anzurufen. Mit dieser neuartigen Vorgehensweise soll der Wille des Benutzers zum Fallenlassen in diesem Gemisch aus virtueller Welt und realer Welt gefördert werden. 21

22 Hauptsächlich soll diese Arbeit technische Aspekte für eine Umsetzung aufzeigen. Einer dieser Aspekte ist die Komponentenorientierung, so daß weitgehende Wiederverwendbarkeit in verschiedenen Applikationen möglich gemacht wird. 1.1 Komponentenorientierung Ende der 60er Jahre entstand aus der sogenannten Softwarekrise der Wunsch, Software wie andere Produkte ingenieurmäßig zu entwickeln. Die sinkenden Kosten für Hardware und die steigende Leistungsfähigkeit der Rechner erhöhten gleichzeitig die Verbreitung und den Bedarf an Softwareprodukten. Zusätzlich wurde verläßliche Software benötigt, da der Anwender im Regelfall nicht mehr der Autor der entsprechenden Software war und Fehler nicht mehr in Eigenregie beseitigt werden konnten. Die Frage, ob die Softwarekrise mittlerweile überstanden sei, wird noch immer kontrovers diskutiert.[asp97] Große Hoffnungen wurden vor allem auf die Objektorientierung gesetzt. Allerdings gelang es mit dieser Methode nicht, den Grad der Wiederverwendbarkeit entscheidend zu erhöhen. Mit der Komponentenorientierung soll schließlich dieses Problem gelöst werden.[nie97] Gerade in der Entwicklung von großen Softwaresystemen mit wachsender Komplexität, ist es wichtig das Gesamtsystem in kleine, überschaubare Teile zu zerlegen. Gleichzeitig kann die Wiederverwendung von Komponenten die Produktivität steigern und damit die Entwicklungskosten und die Entwicklungsdauer senken. Auch Wartung und Veränderungen können leichter durchgeführt werden.[ort99] So können alte Komponenten durch neue, effizientere Komponenten ersetzt werden, ohne daß eine völlige Überarbeitung des Gesamtproduktes notwendig wäre. Komponenten kann man nach [Nie97] unter anderem nach ihrer Granularität unterscheiden: Es gibt sowohl Komponenten mit geringer Granularität (fine- 22

23 grained) als auch Komponenten mit hoher Granularität (large-grained oder coarse-grained). Komponenten mit geringer Granularität stellen lediglich eine sehr übersichtliche Zahl von Features zur Verfügung. Dazu zählen unter anderem Schaltflächen, Listenfelder und Dialog-Boxen. Viele dieser Komponenten können Elemente einer Komponente mit hoher Granularität sein. Komponenten mit hoher Granularität können ganze Applikationen sein.[lee99] Als Beispiel sei die Einbettung eines Excel-Arbeitsblattes in ein Microsoft Word-Dokument mit Hilfe von OLE genannt, wie in Abbildung 1 zu sehen. Abbildung 1: Excel-Arbeitsblatt in einem Word-Dokument Komponenten können als White-Box - oder Black-Box -Komponenten vorliegen. Bei White-Box -Komponenten ist der Sourcecode frei zugänglich und kann auf beliebige Weise modifiziert werden. Es ist ersichtlich, welche Funktionen auf welche Art implementiert wurden. Bei Black-Box - 23

24 Komponenten liegt die Komponente vorkompiliert vor. Lediglich aus der Spezifikation ist ersichtlich, welche Funktionen zur Verfügung gestellt werden. In der Literatur findet man außerdem eine Zwischenstufe, die als grey-box bezeichnet wird. Dabei wird der Sourcecode der Komponenten nicht modifiziert, aber die Komponente stellt eine Programmiersprache oder eine spezielle API zur Verfügung [Val95]. In der Regel liegen aber Black-Box - Komponenten vor [Nie97]. Neben den einzelnen Komponenten wird ein Framework, eine Struktur bzw. das Skelett eines Projektes 1, benötigt. Das Framework verleiht den Komponenten ihre Bedeutung. Eine Komponente mit ihren Funktionalitäten alleine ist relativ nutzlos. Erst die Fähigkeit mit anderen Komponenten zu kooperieren und somit in ihrer Gesamtheit ein mächtigeres Ganzes zu bilden, macht sie wertvoll. Aber Komponenten und Framework reichen allein nicht aus. Es wird noch ein Mechanismus benötigt, um Komponenten miteinander zu verbinden. Diesen Mechanismus bezeichnet man als Gluing oder Scripting. Scripting ist kein neuer Mechanismus. Unter UNIX bestehen viele Programme aus Shellscripts. Ein weiteres prominentes Beispiel ist Microsofts Visual Basic. Die VB- Komponenten werden in der Regel in C/C++ implementiert und mit einer Basic-ähnlichen Script-Sprache miteinander verknüpft. JavaBeans (siehe Kapitel 2.2.4) benutzt Java für das Gluing. Spezielle Nachrichtensysteme wie der InfoBus (siehe Kapitel 2.2.7) oder das Beans-Event-Modell erleichtern die Kommunikation unter den einzelnen Beans. Trotz der aufgezählten Vorteile entsteht erst sehr langsam ein attraktiver Komponentenmarkt. Die Hersteller von Komponenten haben Schwierigkeiten, ein geeignetes Geschäftsmodell zu entwickeln, denn Software kann beliebig repliziert werden. Beim Bau einer Maschine müssen Teile erworben werden und wenn eine neue Maschine gebaut werden soll, müssen erneut die Teile 1 Projekt - Projekte sind Vorhaben mit definiertem Aufwand und Abschluß, die durch die Merkmale zeitliche Befristung, Einmaligkeit, Komplexität und Neuartigkeit gekennzeichnet sind. 24

25 des Zulieferers gekauft werden. Bei Software dagegen reicht der einmalige Erwerb. Verschiedene Lizensierungsverfahren brachten bisher nur Teilerfolge. Der weitere Grund, der die Entstehung eines Komponentenmarktes behindert, ist ebenfalls nicht zu unterschätzen: Viele Softwarekomponenten-Hersteller sind überhaupt nicht daran interessiert, ihre Komponenten zu vermarkten. Das Komponenten-Portfolio eines Unternehmens stellt nämlich ein strategisches Potential für das Unternehmen dar.[gol95] Dennoch scheint sich ein Komponentenmarkt zu etablieren. So finden sich im Internet schon einige Marktplätze, die sich auf den Vertrieb von Software- Komponenten spezialisiert haben (siehe [COM00], [FLA00]). 1.2 Mixed Reality Um die Motivation dieser Arbeit zu verstehen, muß neben der Komponentenorientierung auch auf den Begriff der Mixed Reality eingegangen werden. Unter Mixed Reality versteht man alle Klassen von Anwendungen, in denen virtuelle Realität und wirkliche Welt in irgendeiner Weise miteinander kombiniert werden, das heißt also, daß eine virtuelle Wirklichkeit in Zukunft als eine weitere, andere Realität mit unserer bisherigen Wirklichkeit verschmilzt. Im Gegensatz zur Idee einer stetigen Entfernung von der Ausgangsrealität bis hin zu ihrem Verlust könnte damit die einer immer wieder erweiterten Realität entgegengestellt werden. Die Ausgangsrealität verliert dabei durchaus ihr bisheriges Aussehen. Allerdings wird sie nicht vollkommen aufgehoben, sondern bildet in einem dialektischen Sinne, zusammen mit der neuen, anderen Wirklichkeit eine gemeinsame dritte. Virtuelle Räume und virtuelle Objekte könnten in Zukunft zu einem normalen Bestandteil unserer Wirklichkeit werden.[mor98] Durch die Kombinationen der Vorteile beider Realitäten, verspricht man sich eine dritte, unbeschränktere Wirklichkeit. So wurden eine Reihe von Augmented Virtual Tools entwickelt, die die Beschränkungen der VR 25

26 aufheben sollten. Zu diesen Beschränkungen gehört das Fehlen des Tastsinnes.[Dra96] Mixed Reality Reality Augmented Reality Augmented Virtual Virtual Reality Reality Abbildung 2: Spektrum der Mixed Reality [Dra96] Augmented Reality beschreibt das linke Spektrum der Abbildung 2. Es wird also die reale Umgebung mit Computer-generierten Bildern oder Informationen erweitert oder angereichert (engl.: to augment = anreichern). So kann man zum Beispiel durch eine Brille sehen, die zusätzlich zu der wirklichen Umgebung weitere Informationen wie die Außentemperatur, den Namen des Gesprächspartners anzeigt oder aber im realen Sternenhimmel die Konstellationen mit virtuellen Verbindungslinien herausarbeitet (siehe Abbildung 3). Abbildung 3: Mit Informationen angereicherter Sternenhimmel [Spo99] 26

27 Im Gegensatz dazu wird bei der Augmented Virtuality die virtuelle Welt mit Informationen aus der Realität angereichert. Eine solche Anreicherung könnte z. B. in Form von directly viewed (DV) Objekten sein, bei denen der User seinen eigenen Körper anstatt eines virtuellen Körpers in einer computergenerierten Simulation sieht. Eine weitere Anwendung sind stereoscopic video (SV) images. Sie können beispielsweise dazu benutzt werden, die Sicht aus einem virtuellem Fenster darzustellen. Durch das Fenster schaut der Betrachter auf eine Übertragung von Kameraaufnahmen aus der realen Welt. In dieser Diplomarbeit werden wir ebenfalls ein Konzept erarbeiten, wie wir virtuelle Welt und Gegenstände der Realität miteinander verknüpfen können. Mit diesem Basiswissen können wir das Ziel der Diplomarbeit definieren. 1.3 Ziel dieser Diplomarbeit Anhand eines Telefonapparats soll ein Konzept für die Einbindung eines realen Gegenstandes in eine virtuelle Welt erarbeitet werden. Dabei soll das reale Telefon als Metapher für das Pendant in der virtuellen Welt dienen. Es soll nicht nur das Aussehen, sondern auch die Funktionalität in beiden Welten vorhanden sein. Für das Konzept sollen komponentenorientierte Ansätze gewählt werden, so daß die Komponente Telefon in einer 3D- und 2D- Umgebung positioniert werden kann und die entsprechenden Funktionalitäten zur Verfügung stehen. Außerdem sollte es für intelligente Agenten 2 möglich sein, Teilnehmer des Trainingsprogramms auf deren Telefon anzurufen. Ebenso sollen Teilnehmer Agenten des Szenarios anrufen können. Des weiteren muß die Telefon-Komponente auch Gespräche von Teilnehmer zu Teilnehmer ermöglichen. Ziel ist es, ein entsprechendes Konzept zu erarbeiten, das diese Aufgabenstellung lösen kann. Um die Funktionsfähigkeit zu demonstrieren, wird das Konzept prototypisch umgesetzt. 2 intelligente Agenten - intelligente Agenten sind Softwareeinheiten, die eine Menge von Operationen im Auftrag eines Benutzers oder eines anderen Programmes mit einem gewissen Grad von Unabhängigkeit oder Autonomie ausführen und dabei Wissen über die Ziele und Wünsche des Benutzers anwenden. Intelligente Agenten können in einem dreidimensionalen Raum, bestehend aus Agency, Intelligenz und Mobilität beschrieben werden. [IBM00] 27

28 Schließlich werden aus den Erfahrungen allgemeingültige Überlegungen erarbeitet. 1.4 Aufbau der Diplomarbeit Nachdem wir das Ziel dieser Diplomarbeit im vorangehenden Abschnitt erläutert haben, soll der Aufbau der Arbeit dargelegt werden. In Kapitel 2 werden die Grundlagen gelegt, die zum Verständnis der Arbeit notwendig sind. Dabei unterteilt sich das Kapitel in einen theoretischen und einen technischen Teil. Im theoretischen Teil werden wir auf die Einsatzgebiete von 3D-Systemen eingehen. Wir werden den Begriff Augmented Virtuality definieren, soweit das für die Thematik der Arbeit wichtig ist und schließlich wird Augmented Virtuality im praktischen Einsatz beschrieben. Im technischen Teil des Kapitels werden wir uns vorwiegend mit Standardtechnologien beschäftigen. Es werden verschiedene Java-APIs und Zusatzpakete beschrieben. Die einzelnen Technologien werden im Kern vorgestellt, so daß ausreichend Basiswissen zum Verständnis des Entwurfs vorhanden ist. Aufbauend auf den theoretischen Überlegungen in Kapitel 2, können wir nun in Kapitel 3 schließlich einige Entwurfsalternativen beschreiben. Wir beginnen mit einer Anfoderungsanalyse an eine Telefon-Komponente. Dieses Unterkapitel ist in drei Teile zerlegt. Zunächst werden die einzelnen Ebenen im vertikalen Querschnitt betrachtet. Es bestehen Anforderungen im 2D-, 3Dund im funktionellen Teil. Diese drei Teile müssen letztendlich zu einer einzelnen Komponente fusioniert werden. Außerdem muß die Kommunikation durch die einzelnen Ebenen modelliert werden. Es bestehen aber auch angestrebte Features in der horizontalen Ebene. Im zweiten Abschnitt sollen für die Einzelbausteine, diese horizontalen 28

29 Anforderungen beschrieben werden und entsprechende Modelle entworfen werden, wie die Komponenten implementiert werden können. Abschließend müssen noch einige Schnittstellen zu ETOILE definiert werden, damit die Komponente speziell für diese Umgebung optimal einsetzbar ist. Anhand dieses spezifischen Entwurfs wird im zweiten Teil des Kapitels 3 untersucht, welches allgemeingültige Konzept für die Integration realer Kommunikationsendgeräte erarbeitet werden kann. Dabei wird zunächst betrachtet, in welchen anderen Anwendungen die entwickelte Telefon- Komponente eingesetzt werden kann und welche Änderungen dazu vorgenommen werden müssen. Im nächsten Abstraktionsschritt wird dann untersucht wie die Integration anderer Kommunikationsendgeräte oder sogar anderer technischer Geräte in virtuelle Umgebungen allgemein modelliert werden kann. Aus den Überlegungen in Kapitel 2 und 3 resultierend, wird im Kapitel 4 Validierung ein Entwurf vorgestellt, der schließlich prototypisch implementiert wird. In Kapitel 5 wird der Implementierungsvorgang beschrieben. Dabei wird auf alle drei Teile (2D, 3D, Telefonie-Funktionalität) eingegangen. Abschließend werden die implementierten Features vorgestellt. Außerdem werden die Probleme und deren Lösungen beschrieben, die während der Implementierung aufgetreten sind. In der Evaluierung, Kapitel 6, wird der praktische Einsatz der Komponente evaluiert. Es sollen Probleme aufgezeigt werden. Entsprechende Verbesserungsvorschläge sollen diese Beschreibungen ergänzen. Es wird noch einmal gesondert auf nicht implementierte Features hingewiesen, die in einem zukünftigen Ausbau implementiert werden können. 29

30 Letztendlich wird in Kapitel 7 eine Zusammenfassung von den Ergebnissen und Erfahrungen in diesem Projekt gegeben und mit einem Ausblick wird die Arbeit abgeschlossen. Weiterführende Literatur ist aus dem Literaturverzeichnis zu entnehmen. Unbekannte Abkürzungen können im Abkürzungsverzeichnis am Anfang der Ausarbeitung nachgeschlagen werden. 30

31 2. Grundlagen In diesem Kapitel sollen die Grundlagen gelegt werden, die für das Verständnis des nachfolgenden Entwurfs und der daraus resultierenden Implementation wichtig sind. Neben dem theoretischen Aspekt der Virtuellen Realität (VR), der uns bei der Konzeption helfen soll, werden in Kapitel 2 auch technische Grundlagen geschaffen, die für das weitere Verständnis nötig sind. 2.1 Theoretische Grundlagen In diesem Kapitel werden wir einige Begriffe erklären. Oft existieren vielfältige Definitionen. Wir werden an dieser Stelle festlegen, welche Definition in dieser Arbeit verwendet wird, falls keine weiteren Angaben gemacht werden. Des weiteren werden wir auf einige Erkenntnisse der Psychologie zurückgreifen und erklären, warum die Einbindung realer Kommunikationsendgeräte in virtuelle Umgebungen von Vorteil ist. In Kapitel werden die Einsatzgebiete von 3D-Systemen vorgestellt. Dem Leser wird kurz das Trainingssystem ETOILE vorgestellt, das im weiteren Verlauf der Arbeit wichtig ist. In Kapitel wird das Konzept der Erweiterung der virtuellen Welt vorgestellt. Zwar findet keine klassische Anreicherung der virtuellen Welt mit Informationen statt, aber dennoch entsteht durch Kommunikationsendgeräte wie Telefone eine Erweiterung der virtuellen Welt Interaktion mit der virtuellen Umgebung Zunächst wollen wir den Begriff virtuelle Umgebung betrachten. Von Wann und Mon-Williams [Wan96] stammt folgende Definition virtueller Umgebungen: 31

32 Eine virtuelle Umgebung ermöglicht dem Benutzer Zugriff zu Informationen, die anderenfalls am gegebenen Ort oder zur gegebenen Zeit nicht verfügbar wären, sie stützt sich auf natürliche Aspekte der menschlichen Wahrnehmung, indem sie visuelle Information in drei räumlichen Dimensionen einsetzt, und sie kann diese Information mit weiteren sensorischen Reizen oder zeitlichen Veränderungen anreichern. [übersetzt in [Zwi98]] Zu diesen weiteren sensorischen Reizen können auch akustische Reize gehören. In der Regel werden akustische Signale nur aus der virtuellen Umgebung an den Benutzer z.b. über Lautsprecher ausgegeben. In der Gegenrichtung findet in den meisten Fällen kein Input statt, d.h. der Benutzer kann durch Geräusche seinerseits keine Reaktion der virtuellen Welt stimulieren. Es muß also eine geeignete Mensch-Maschine-Schnittstelle gefunden werden, die dieses Manko beseitigt. Ziel der Entwicklung von Mensch- Maschine-Schnittstellen ist es, von den Eigenschaften der menschlichen Kommunikationskanälen und Fertigkeiten auszugehen und dann Geräte, Interaktionstechniken und Schnittstellen zu entwickeln, die eine effektive wechselseitige Kommunikation mittels dieser Kanäle zulassen.[zwi98] Es muß ein Medium gefunden werden, daß eine optimale Übereinstimmung zwischen dem mentalen Modell des Benutzers und der Repräsentation erzeugt. Wichtige Aufschlüsse aus der Psychologie geben Furness und Barfield [Fur95]. Folgende Merkmale eines idealen Mediums nennen Furness und Barfield [Fur95]: Übereinstimmung mit den sensorischen Fähigkeiten des menschlichen Benutzers; leichte Erlernbarkeit; hohe Bandbreite der Informationsübermittlung zum Gehirn; dynamische Anpassung an die Aufgaben des Benutzers; 32

Agenten und Mentale Modelle: Neue Wege im Kommunikations- und Entscheidungstraining. Ralf Dörner Fraunhofer AGC Frankfurt am Main doerner@agc.fhg.

Agenten und Mentale Modelle: Neue Wege im Kommunikations- und Entscheidungstraining. Ralf Dörner Fraunhofer AGC Frankfurt am Main doerner@agc.fhg. Agenten und Mentale Modelle: Neue Wege im Kommunikations- und Entscheidungstraining Ralf Dörner Fraunhofer AGC Frankfurt am Main doerner@agc.fhg.de Überblick 1. Hintergrund und Motivation 2. Neue Technologien:

Mehr

Softwareschnittstellen

Softwareschnittstellen P4.1. Gliederung Rechnerpraktikum zu Kapitel 4 Softwareschnittstellen Einleitung, Component Object Model (COM) Zugriff auf Microsoft Excel Zugriff auf MATLAB Zugriff auf CATIA Folie 1 P4.2. Einleitung

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Java TV. Seminar Medientechnik. Kristin Doppler 23.06.2003. Übersicht. Einleitung Umgebungen Java TV API - Kategorien. Service- und Selektions-APIs

Java TV. Seminar Medientechnik. Kristin Doppler 23.06.2003. Übersicht. Einleitung Umgebungen Java TV API - Kategorien. Service- und Selektions-APIs Java TV Seminar Medientechnik 23.06.2003 Übersicht Einleitung Umgebungen Java TV API - Kategorien Service- und Selektions-APIs Definitionen Packages Service Selection API Application Lifecycle APIs (Xlets)

Mehr

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, M Löberbauer 1 Vortragende Dipl.-Ing. Markus Löberbauer (G1) Dr. Herbert Praehofer (G2 u. G3) Institute for System Software

Mehr

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report

Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report Methoden des Feldbuszugriffs bei PCs unter MS-Windows - ein State-of-the-Art-Report Prof. Dr.-Ing. Jörg Böttcher, Deggendorf Zusammenfassung Der vorliegende Beitrag gibt einen Überblick über die heute

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, R. Wolfinger 1 Vortragende Dr. Herbert Praehofer (G1 u. G2) Mag. Reinhard Wolfinger (G3 u. G4) Institute for System Software

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

Java 2, Enterprise Edition Einführung und Überblick

Java 2, Enterprise Edition Einführung und Überblick Universität aiserslautern AG Datenbanken und Informationssysteme Seminar Datenbank-Aspekte des E-Commerce Java 2, Enterprise Edition Einführung und Überblick m_husema@informatik.uni-kl.de Vortragsinhalte

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Java Applet Alternativen

Java Applet Alternativen White Paper Java Applet Alternativen Version 1.0, 21.01.2014 Tobias Kellner tobias.kellner@egiz.gv.at Zusammenfassung: Aufgrund diverser Meldungen über Sicherheitslücken in Java haben in letzter Zeit Browser-Hersteller

Mehr

Whitepaper Walkyre Enterprise Resource Manangement

Whitepaper Walkyre Enterprise Resource Manangement Whitepaper Walkyre Enterprise Resource Management Seite 1 Whitepaper Walkyre Enterprise Resource Manangement Stand 15.11.2004 Inhalt 1. Hinweis... 2 2. Grundsätzliches zur Funktionalität... 3 3. Der Walkyre-Client...

Mehr

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1 Kapitel 1 Einstieg in Java Dr. Elham Firouzi 06.09.10 1 1 : Einstieg in Java Einleitung Ein erstes Beispiel Berner Fachhochschule Entwicklung von Java-Programmen Applikationen Applets Vor und Nachteile

Mehr

Collaborative Virtual Environments

Collaborative Virtual Environments Collaborative Virtual Environments Stefan Lücking Projektgruppe Kreativität und Technik AG Domik WS 02/03 09.01.2003 1/35 Was sind CVE? Versuch einer Definition : Ein CVE ist ein Programm, das eine virtuelle

Mehr

Vorteile von Java und Konvergenz Service Creation mit JAIN Network Management mit JMX Fazit

Vorteile von Java und Konvergenz Service Creation mit JAIN Network Management mit JMX Fazit Hochschule für Technik und Architektur Chur Dr. Bruno Studer Studienleiter NDS Telecom, FH-Dozent bruno.studer@fh-htachur.ch 1 GSM: 079/610 51 75 Agenda Vorteile von Java und Konvergenz Service Creation

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung 2015-02-25 1 of 6 Application Note Anbindung von Kunden-Software an SpiderControl Web Visualisierung Version ApplicationNote_AnbindungFremdsoftware /Version Seite 1 / 6 Version Datum Kommentar Autor 0.1

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

8a. Exkurs.NET. 8a.1.NET Architektur

8a. Exkurs.NET. 8a.1.NET Architektur 8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

Mehr

Komponenten- und ereignisorientierte Softwareentwicklung am Beispiel von Borland-Delphi

Komponenten- und ereignisorientierte Softwareentwicklung am Beispiel von Borland-Delphi Komponenten- und ereignisorientierte Softwareentwicklung am Beispiel von Borland-Delphi Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg Institut für Simulation und Graphik Lisa-Weiterbildung -

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

Software-Entwurfsmuster

Software-Entwurfsmuster Software-Entwurfsmuster Prinzip von Entwurfsmustern und einige elementare Beispiele Malte Spiess malte@mathematik.uni-ulm.de Seminar Bildanalyse und Simulation mit Java im WS 2003/2004 Universität Ulm

Mehr

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu CORBA Common Object Request Broker Architecture Eine kurze Einführung Ying Lu Verlauf der Präsentation Was ist CORBA CORBA-Architektur Ein Beispiel CORBA im Einsatz CORBA im Vergleich Was ist CORBA Begriffe

Mehr

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung zu den Übungen aus Softwareentwicklung 1 Einführung zu den Übungen aus Softwareentwicklung 1 Dipl.-Ing. Andreas Riener Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz riener@pervasive.jku.at SWE 1 // Organisatorisches

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit. 07.06.2002 Grid Systeme 1

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit. 07.06.2002 Grid Systeme 1 Grid-Systeme Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit 07.06.2002 Grid Systeme 1 Gliederung Vorstellung verschiedener Plattformen Globus

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

17 Komponentenbasiertes Software-Engineering

17 Komponentenbasiertes Software-Engineering 17 Komponentenbasiertes Software-Engineering 17.0 Einführung Lernziele Grundlagen, Prinzipien und Probleme des CBSE 17.1 Komponenten und Komponentenmodelle Komponenten und ihre Eigenschaften Komponentenmodelle

Mehr

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg COMMON OBJECT REQUEST BROKER ARCHITECTURE Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg Gliederung Motivation Was ist CORBA? Object Management Architecture (OMA ) Interface Definition Language

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Benutzeroberflächen. Java Teil 4

Benutzeroberflächen. Java Teil 4 Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben in

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

Microsoft.NET und SunONE

Microsoft.NET und SunONE Microsoft.NET und SunONE, Plattformen und Application Service Providing Agenda Einordnung.NET und SunONE Kurzvorstellung Gegenüberstellung Zusammenfassung ASP (Application( Service Providing) ) und Ausblick

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Marken und eingetragene Marken werden ohne gesonderte Kennzeichnung verwendet. Diese Namen sind Eigentum der jeweiligen Besitzer.

Marken und eingetragene Marken werden ohne gesonderte Kennzeichnung verwendet. Diese Namen sind Eigentum der jeweiligen Besitzer. Dokumentation von ActiNOTIFY ActiNOTIFY COMIREL Erklärung Marken und eingetragene Marken werden ohne gesonderte Kennzeichnung verwendet. Diese Namen sind Eigentum der jeweiligen Besitzer. Datum 30.08.2010

Mehr

Medienkompetenz, Grafik und DTP

Medienkompetenz, Grafik und DTP VO 340381 Informationsdesign; Medienkompetenz, Grafik und DTP Zentrum für Translationswissenschaft Letztes Mal sprachen wir über: Computer Aufbau Software Was ist Software? Software Soft im Sinne von weich/veränderbar

Mehr

Java-Programmierung mit Visual J++ 1.1

Java-Programmierung mit Visual J++ 1.1 Torsten Schlabach Java-Programmierung mit Visual J++ 1.1 Java verstehen und effektiv nutzen ^ ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Bonn Reading, Massachusetts Menio Park, California

Mehr

Eclipse User Interface Guidelines

Eclipse User Interface Guidelines SS 2009 Softwarequalität 06.05.2009 C. M. Bopda, S. Vaupel {kaymic/vaupel84}@mathematik.uni-marburg.de Motivation (Problem) Motivation (Problem) Eclipse is a universal tool platform - an open, extensible

Mehr

Einführung in die OPC-Technik

Einführung in die OPC-Technik Einführung in die OPC-Technik Was ist OPC? OPC, als Standartschnittstelle der Zukunft, steht für OLE for Process Control,und basiert auf dem Komponentenmodel der Firma Microsoft,dem Hersteller des Betriebssystems

Mehr

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

Mehr

Java Beans von Christian Beck-Wörner. Inhalt. Was ist ein Bean Konzept von Beans Entwicklung eines Beans Eigenschaften von Beans Testumgebung: BDK

Java Beans von Christian Beck-Wörner. Inhalt. Was ist ein Bean Konzept von Beans Entwicklung eines Beans Eigenschaften von Beans Testumgebung: BDK Java Beans von Christian Beck-Wörner Inhalt Was ist ein Bean Konzept von Beans Entwicklung eines Beans Eigenschaften von Beans Testumgebung: BDK Was ist ein Bean? Ein JavaBean ist eine wiederverwendbare

Mehr

CREATIVE PROGRAMMING TOOLKITS

CREATIVE PROGRAMMING TOOLKITS CREATIVE PROGRAMMING TOOLKITS Unter Creative Programming Toolkits verstehen wir Software-Teile welche uns helfen vielfältige Medien-kunst zu erstellen. Viele dieser Werkzeuge wurden durch Künstler für

Mehr

Netzwerk Technologien in LabVIEW

Netzwerk Technologien in LabVIEW Netzwerk Technologien in LabVIEW von Dirk Wieprecht NI Germany Hier sind wir: Agenda Agenda Bedeutung des Ethernet für die Messtechnik Ethernet-basierende Technologien in LabVIEW Low Level- TCP/IP Objekt

Mehr

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Agenda Mobile Agenten allgemein JADE - Java Agent DEvelopment Framework Anwendungsfall

Mehr

Kurzfassung der Studienarbeit

Kurzfassung der Studienarbeit Kurzfassung der Studienarbeit Abteilung Informatik Namen der Studenten Roman Widmer Mikkala Pedersen Studienjahr Sommersemester 2004 Titel der Studienarbeit.NET Skript Debugger Examinator Der GUI-Builder

Mehr

Kybernetik Das Kybernetische Modell

Kybernetik Das Kybernetische Modell Kybernetik Das Kybernetische Modell Mohamed Oubbati Institut für Neuroinformatik Tel.: (+49) 731 / 50 24153 mohamed.oubbati@uni-ulm.de 05. 06. 2012 Das Modell Das Modell Was ist ein Modell? Ein Modell

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

SARA 1. Project Meeting

SARA 1. Project Meeting SARA 1. Project Meeting Energy Concepts, BMS and Monitoring Integration of Simulation Assisted Control Systems for Innovative Energy Devices Prof. Dr. Ursula Eicker Dr. Jürgen Schumacher Dirk Pietruschka,

Mehr

Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag

Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag Mark Brörkens Universität Oldenburg, Fachbereich Informatik Email: Mark.Broerkens@informatik.uni-oldenburg.de Einleitung Programmieren mit Vertrag

Mehr

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges Komponentenbasierte Client-Architektur Hamburg, 16.11.2007 Bernd Olleck IT-Beratung Olleck Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche Sicht Aufgaben eines Clients

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

GridMate The Grid Matlab Extension

GridMate The Grid Matlab Extension GridMate The Grid Matlab Extension Forschungszentrum Karlsruhe, Institute for Data Processing and Electronics T. Jejkal, R. Stotzka, M. Sutter, H. Gemmeke 1 What is the Motivation? Graphical development

Mehr

THREEDEE Visual FX, Echtzeit 3D-Applikation & Virtual Reality

THREEDEE Visual FX, Echtzeit 3D-Applikation & Virtual Reality 1 THREEDEE Visual FX, Echtzeit 3D-Applikation & Virtual Reality UNTERNEHMENSPRÄSENTATION Eine Idee drei Säulen Die ThreeDee GmbH 2 UNSERE IDEE Die ThreeDee GmbH bietet Ihnen drei aufeinander aufbauenende

Mehr

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

Auf der Homepage steht

Auf der Homepage steht Auf der Homepage steht VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Immersive Interaktion in der Spieleindustrie

Immersive Interaktion in der Spieleindustrie Immersive Interaktion in der Spieleindustrie Prof. Dr. Paul Grimm Computer Graphics Applied Computer Science Erfurt University of Applied Sciences Eröffnung des Interaktionsloabors Fraunhofer IAO Über

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Teil D Objektorientierte Programmierung Kapitel D 2001 Prof. Dr. Rainer Manthey Informatik I 1 Teil D Grundlagen der objektorientierten Programmierung 2001 Prof. Dr. Rainer Manthey Informatik I 2 Objektorientierung

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

Mehr

SWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT?

SWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT? Java -The Standard Widget Toolkit- Inhaltsverzeichnis 1. Was ist? - Vorteile von - Nachteile von 2. Vorbereitungen für 3. Das erste Programm in 4. Widgets und Styleparameter 5. - Layouts Was ist ein Widget?

Mehr

Was bringt eine Hybrid Lösung Microsoft Lync mit Alcatel für Vorteile?

Was bringt eine Hybrid Lösung Microsoft Lync mit Alcatel für Vorteile? Was bringt eine Hybrid Lösung Microsoft Lync mit Alcatel für Vorteile? swisspro group Rechtsform Aktiengesellschaft Gründungsjahr 18. Oktober 1999 Geschäftsbereiche Anzahl Standorte 16 Anzahl Mitarbeiter

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

Mehr

1 Native C Code in C# Umgebung mit Visual Studio 2010

1 Native C Code in C# Umgebung mit Visual Studio 2010 1 Native C Code in C# Umgebung mit Visual Studio 2010 29.07.2013 1.1 Ziel Ein Embedded C Code soll innerhalb einer C# Umgebung lauf- und debuggfähig sein. Der C# Anteil stellt dem Embedded C Code einen

Mehr

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag von: Ilias Agorakis & Robert Roginer MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile

Mehr

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2 02.10.2015 + 07.10.2015 Seite 1 02.10.2015 + 07.10.2015 Seite 2 1 Anzahl der Klassenarbeiten: Mindestens zwei Klassenarbeiten pro Halbjahr (= 4 KA pro Jahr) Im ersten Ausbildungsjahr gibt es jedoch kein

Mehr

Anwendungsentwicklung mit dem Windows Phone 7

Anwendungsentwicklung mit dem Windows Phone 7 Anwendungsentwicklung mit dem Windows Phone 7 Anwendungen auf Basis von XNA IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Multiuser Client/Server Systeme

Multiuser Client/Server Systeme Multiuser /Server Systeme Christoph Nießner Seminar: 3D im Web Universität Paderborn Wintersemester 02/03 Übersicht Was sind /Server Systeme Wie sehen Architekturen aus Verteilung der Anwendung Protokolle

Mehr

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten

Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Objekt Objekt kapselt Variablen und Routinen Interaktionen zwischen Objekten durch Senden von Nachrichten und Reagieren auf empfangene Nachrichten Eigenschaften jedes Objekts: Identität (identisch = mehrere

Mehr

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation

Mehr

Einführung in JAVA. Viele Höhen und Tiefen Java war schon einmal nahezu tot. Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy.

Einführung in JAVA. Viele Höhen und Tiefen Java war schon einmal nahezu tot. Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy. Small History Machine Virtual Machine (VM) Komponenten der VM Entwicklungswerkzeuge JDK Woher bekommt man JDK Wie installiert man JDK Wie benutzt man JDK Entwicklungsumgebungen Java 23. May 1995: John

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Einführung in COM. 04.04.2006 Seite 1

Einführung in COM. 04.04.2006 Seite 1 Einführung in COM 04.04.2006 Seite 1 Ziele Sie kennen die Funktion der Registry für COM Sie können die Struktur eines COM-Objekts erklären Sie können erklären, wie ein remote-server gestartet wird 04.04.2006

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Deutsches Krebsforschungszentrum, for Processing Task within Threads on the Application Level Motivation

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr.

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr. Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS 2008 1 / 22 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche (engl: Graphical User Interface,

Mehr

4 Planung von Anwendungsund

4 Planung von Anwendungsund Einführung 4 Planung von Anwendungsund Datenbereitstellung Prüfungsanforderungen von Microsoft: Planning Application and Data Provisioning o Provision applications o Provision data Lernziele: Anwendungen

Mehr

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr