Bachelor + Master Publishing
811 Bachelorarbeiten, 533 Masterarbeiten, 10.103 Diplomarbeiten

Roboterfernsteuerung in offener Netzwerkumgebung

Roboterfernsteuerung in offener Netzwerkumgebung
Über dieses Buch
  • Art: Diplomarbeit
  • Autor: Manuel Nedbal
  • Abgabedatum: April 2000
  • Umfang: 142 Seiten
  • Dateigröße: 7,1 MB
  • Institution / Hochschule: Johannes Kepler Universität Linz Österreich
  • ISBN (eBook): 978-3-8324-5151-6
  • ISBN (Paperback) :
    978-3-8324-5151-6 P
  • ISBN (CD) :978-3-8324-5151-6 CD
  • Sprache: Deutsch
  • Prämierung:
  • Arbeit zitieren: Nedbal, Manuel April 2000: Roboterfernsteuerung in offener Netzwerkumgebung, Hamburg: Diplomica Verlag
  • Schlagworte: COM, Programmierung, Server, Client, Komponente

Diplomarbeit von Manuel Nedbal

Zusammenfassung:

Aufbauend auf einem Programm zur Steuerung eines Roboters, genannt Robotalk, wird eine Client-Server Architektur entwickelt, die eine dislozierte Kommunikation ermöglicht. Robotalk wurde an der Fachhochschule Hagenberg im Rahmen des Projektes „Sprachbasiertes Softwaresystem für Mensch-Maschine Kommunikation“ entwickelt und befähigt den Benutzer von einem Steuercomputer aus Befehle an einen Roboter zu senden.

In dieser Arbeit wird das komponentenorientierte Programmierparadigma vorgestellt. Unter Verwendung von DCOM (Distributed Component Object Model), das komponentenorientierte Programmierung ermöglicht, wird die Client-Server Architektur realisiert. Für die Robotersteuerung wird der Interpretierer einer benutzerfreundlichen Sprache aus Robotalk in den Client übernommen. Die vom Benutzer eingegebenen Befehle werden über das Netzwerk übertragen und vom Steuercomputer, der die Server Komponente enthält, an den Roboter weitergeleitet.

Es ist beliebig vielen Clients möglich, sich zu dem Server zu verbinden, aber nur einem ist es erlaubt, Befehle zu senden. Alle anderen empfangen die an den Roboter gesendeten Kommandos und können mittels einer Kamera die Bewegung verfolgen. Das Kamerabild wird mit Hilfe eines Browsers in der Benutzerschnittstelle des Client dargestellt.

Der Client, dem es erlaubt ist, Befehle zu senden, kann die Kontrolle abgeben und ein anderer verbundener Client kann diese übernehmen.

Anhand dieser Arbeit wird die Entwicklung von global einsetzbaren Komponenten mit DCOM gezeigt. Dabei werden unter anderem die Definition von den Schnittstellen zu solchen Komponenten, die Wiederverwendungsaspekte komponentenorientierter Software und Parallelen und Unterschiede zu objektorientierter Programmierung behandelt.

Inhaltsverzeichnis:

1. Einführung 7
1.1 Ziel der Arbeit 7
1.2 Basis der Arbeit 7
1.2.1 Basissystem 8
1.2.2 Robotersteuerung im Basissystem 9
1.3 Lösungsverfahren: die Client-Server Architektur 14
1.4 Kapitelbeschreibung 18
2. Kommunikationstechnologie der Client-Server Architektur 20
2.1 Einführung: Komponentenorientierte Programmierung 20
2.2 DCOM: ein Modell für komponentenorientierte Programmierung 24
2.2.1 DCOM Architektur 26
2.2.2 Teile eines Interfaces 31
2.2.3 Entwurf von Interfaces 35
2.2.4 Fernaktivierung von Komponenten 36
2.2.5 Parallele Benutzung von Komponenten: Apartments 40
2.2.6 Dislozierte Kommunikation über Interfaces: Marshaling 45
2.2.7 Sicherheitsmechanismen 50
2.2.8 Konfiguration des Servers - Der APPID Schlüssel 59
2.2.9 Konfiguration der Komponenten - Der CLSID Schlüssel 61
3. Realisierung der Client – Server Architektur mittels DCOM 62
3.1 Robotalk Server 64
3.1.1 Server Instanzierung 64
3.1.2 Client Benachrichtigungen 69
3.1.3 Wiederverwendung 72
3.1.4 Serielle Kommunikation 79
3.2 Robotalk Client 81
3.2.1 Dialog der Sichtklasse 81
3.2.2 Verbindungsdialoge 84
3.2.3 Setzen der Kamera URL 85
3.2.4 Befehlsabarbeitung 86
3.2.5 Verbindungsaufbau zu einem Robotalk Server 87
3.3 Robotalk Marshaler 91
3.3.1 Das Makefile 91
3.3.2 RoboInt.idl 93
4. Systemdokumentation 98
4.1 Server Architektur 99
4.2 Server Klassen 101
4.2.1 C Main Window 102
4.2.2 Cserver 102
4.2.3 CFRobo 104
4.2.4 CimpIClassFactory 106
4.2.5 CORobo 107
4.2.6 CimpIConnectionPointContainer 110
4.2.7 CimpIShareRobo 112
4.2.8 COConnectionPoint 116
4.2.9 COEnumConnections 119
4.3 Client Klassen 121
4.3.1 CORoboSink 122
4.3.2 CimpIRoboSink 123
4.3.3 CserverConnection 125
5. Schlussfolgerungen 131
6. Anhang 134
6.1 Literaturverzeichnis 134
6.2 Abbildungsverzeichnis 138
6.3 Glossar 139

Automatisiert erstellter Textauszug:

Abbildung 14: Impersonierung des Client, wenn Proxy Identität bekannt ist Bei statischem Cloaking, sieht der Server die Identität des Client, die er beim ersten Aufruf des Servers besitzt. Abbildung 14 zeigt ein Beispiel wenn die Proxy Identität bei einem Aufruf von B nach C gesetzt wurde. Bei einem darauffolgenden Aufruf, sieht Prozess D die Identität von B, da statisches Cloaking bei B und C verwendet wurde. Bei dynamischen Cloaking basiert, wie bereits erwähnt, die Client Identität auf der des Thread - Tokens, falls eine existiert. Abbildung 15 zeigt den Fall, wenn B und C dynamisches Cloaking verwenden und deshalb D die Identität von A sieht, obwohl er über B und C gerufen wird. [...]

Es werden statisches und dynamisches Cloaking unterschieden: • Statisches Cloaking (EOAC_STATIC_CLOAKING): der Server sieht das Proxy - Token des Client beim ersten Aufruf, bei dem die Proxy - Identität benutzt wird, falls sie vorher gesetzt wurde. Wurde sie nicht gesetzt wird das Thread - Token des Hauptthreads des Client benutzt. Falls auch das nicht vorhanden ist, wird das des Prozesses verwendet, das immer existiert. Für alle weiteren Aufrufe wird die Identität des ersten Aufrufes benutzt. • Dynamisches Cloaking (EOAC_DYNAMIC_CLOAKING): die Identität des Client wird bei jedem Aufruf durch das Thread - Token, oder falls es nicht existiert durch das Prozesstoken, bestimmt. Diese Art von Cloaking ist zeitaufwendig. In Tabelle 9 wird zusammengefasst, welche Identität des Client dem Server bekannt ist (Client Identität), wenn eine bestimmte Cloaking Art gesetzt, ein Thread Token vorhanden oder nicht vorhanden ist und wenn die Proxy Identität vorher gesetzt wurde oder nicht. Cloaking Art [...]

Erhält der Server von einem lokalen oder entfernten Client die Anforderung einen COM Server zu starten, der keinen LaunchPermission Eintrag besitzt, wird dieser ACL Wert während der Impersonierung des Client geprüft und, abhängig vom Erfolg dieser Prüfung, der COM Server gestartet oder nicht. Standardmäßig ist den Administratoren, dem SYSTEM und dem INTERACTIVE Benutzer der Zugriff erlaubt. 2.2.7.2 Cloaking Cloaking ist ein Sicherheitsmechanismus, der ab Windows 2000 verfügbar ist. Dabei nimmt ein COM Server der während der Impersonierung die Identität des Client an indem er seine eigene Identität maskiert und tritt gegenüber einem weiteren Server, den er aufruft, als dieser Client auf. Im Wesentlichen ist die Identität des Client, die der Server erkennt, die des Proxy, dessen Identität wiederum von mehreren Faktoren abhängt. Bevor Windows 2000 verfügbar war, hat ein COM Server während der Impersonierung eines COM Client dessen Prozess - Token benutzt um seine Identität zu bestimmen. Deshalb wurde die Identität des Client immer als die des Prozesses erkannt in dem die Komponente instanziert wurde. Mittels Cloaking ist es möglich durch einen Aufruf von CoInitializeSecurity dynamisch die Identität des Prozesses und die des Client zu ändern. Das bedeutet, dass Server, die von einem Client gestartet werden, während der Impersonierung die Identität des Aufrufers erkennen können, vorausgesetzt der Client hat dem Server die Autorität verliehen (siehe „2.2.7.1.2 LegacyImpersonationLevel“). [...]

Arbeit zitieren:
Nedbal, Manuel April 2000: Roboterfernsteuerung in offener Netzwerkumgebung, Hamburg: Diplomica Verlag

Schlagworte:
COM, Programmierung, Server, Client, Komponente

Entdecken Sie mehr zum Thema

diplom.de
Bachelor + Master Publishing

Hermannstal 119 k
22119 Hamburg

Fon: +49 (0) 40 655992-0
Fax: +49 (0) 40 655992-22

Service-Telefon

Rufen Sie uns an:
+49 (0) 40 655992-0

Mo-Fr
09.00-16.00 Uhr

diplom.de in den Medien

Folgen Sie uns bei Twitter & werden Sie diplom.de-Fan bei Facebook!
Schreibtipps unserer Lektoren, Neuigkeiten aus dem Verlagsalltag und das Expertenwissen unserer Autoren als Tweet & Post!
Wir freuen uns auf Sie!

diplom.de BACHELOR + MASTER PUBLISHING

Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Magisterarbeiten, Dissertationen und andere Abschlussarbeiten aus allen Fachbereichen und Hochschulen können Sie bei uns als eBook sofort per Download beziehen oder sich auf CD oder als Buch zusenden lassen. Seit mehr als 15 Jahren ist diplom.de der seriöse, professionelle und erfolgreiche Partner für die Veröffentlichung wissenschaftlicher Abschlussarbeiten.

© Diplomica Verlag GmbH 1996-2011, AG Hamburg HRB 80293 - GF Björn Bedey, USt-IdNr.: DE214910002 - Verkehrsnummer: 12285 - Impressum
Index der Arbeiten - Index der Autoren