Anforderungsanalyse, Definition und Implementierung einer Netzwerkkommunikationsschicht. Simulations- und VR-System



Ähnliche Dokumente
Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

16.4 Wiederverwendung von COTS-Produkten

Digitale Qualitätsmanagement-Systeme im Rettungsdienst -Aktueller Stand-

Die Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Notwendigkeit der Testautomatisierung? Neue Ideen, Konzepte & Werkzeuge

TECHNISCHE UNIVERSITÄT DRESDEN. Großer Beleg

BILFINGER INDUSTRIAL MAINTENANCE DAS NEUE BILFINGER MAINTENANCE CONCEPT BMC

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

Komponenten- und ereignisorientierte Softwareentwicklung am Beispiel von Borland-Delphi

Inside. IT-Informatik. Die besseren IT-Lösungen.

Abschnitt 16: Objektorientiertes Design

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Software Projekt 2 / Gruppe Knauth Lernziele:

Felix von Eye, Wolfgang Hommel, Stefan Metzger DR. TOPSCAN. Ein Werkzeug für die automatisierte Portscanauswertung in komplexen Netzinfrastrukturen

Comparing Software Factories and Software Product Lines

Workflow Systeme mit der Windows Workflow Foundation

Abacus Formula Compiler (AFC)

Systeme 1. Kapitel 10. Virtualisierung

HP Service Virtualization. Bernd Schindelasch 19. Juni 2013

Grundlagen für den erfolgreichen Einstieg in das Business Process Management SHD Professional Service

CORBA. Systemprogrammierung WS

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

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Interaktive Optimierung mess-, steuer- und regelungstechnischer Anlagen für die technische Gebäudeausrüstung

Vorstellung. Wie entsteht Architektur in Scrum

ES-Projektseminar (SS 2010)

A Domain Specific Language for Project Execution Models

BDI-Agenten für agile zielorientierte Geschäftsprozesse

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Content Management System mit INTREXX 2002.

Bewertung der Methoden zur Sicherung von virtuellen Maschinen (VMware, Hyper-V) Ein Erfahrungsbericht

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

Modellgetriebene Service-Entwicklung

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Teilprojekt 3 Systemsoftware (Middleware)

Middleware in der Automatisierungstechnik

Testframework für Eckelmann SFT

Das Warenwirtschaftswunder

Microsoft SharePoint 2013 Designer

Bachelor-/Masterarbeit: Entwicklung einer interaktiven und bedienerfreundlichen Oberfläche (GUI/NUI)

Session 8: Projektvorstellung Transferprojekt itsowl-tt-savez 18. August 2015, Gütersloh.

Requirements-Traceability in der industriellen Praxis Ziele und Einsatz

5. Programmierschnittstellen für XML

Military Air Systems

5. Programmierschnittstellen für XML

AS/point, Ihr Partner die nächsten 10 und mehr Jahre -

Worum geht es in diesem Projekt?

Vereinfachte Ticketerfassung oxando GmbH

3D-Produktkonfiguration für modulare Werkzeugsysteme

Übungen zur Softwaretechnik

IT im Wandel Kommunale Anforderungen - zentrales Clientmanagement versus Standardtechnologie!?

Best Practice: Integration von RedDot mit Livelink DM im Intranet/Extranet

Dr. Simon Giesecke Falko Basner Dr. Jörg Friebe. Bad Honnef, 3. Mai 2010

Generisch entwickelte Software-Werkzeuge anpassbar wie ein Chamäleon

Digitale Gremienarbeit

Vom Konzept direkt ins Cockpit: Optimierte HMI-Entwicklung mittels automatischer Codegenerierung

Design Patterns 2. Model-View-Controller in der Praxis

T est of 1GBit/s Fiber optical communication interfaces based on FlexRIO R Series

Projektarbeiten. id=projektarbeiten

.. für Ihre Business-Lösung

Vector Software. Test Automation mit VectorCAST während der gesamten Softwareentwicklung W H I T E P A P E R

ONET: FT-NIR-Netzwerke mit zentraler Administration & Datenspeicherung. ONET Server

Verteidigung Masterarbeit Evaluating the Use of a Web Browser to Unify GUI Development for IDE Plug-ins

Die Coaching-Lösung der Nächsten Generation


Projektmanagementsoftware: Standard vs. Individual

VIELE SAGEN... hohe Qualität große Erfahrung besondere Spezialisierung. nur für Sie!

Opencast und Opencast Matterhorn

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

TP2. Gefördert durch: Projektträger: Halbzeitpräsentation TP

Ein mobiler Electronic Program Guide für Android

Wind Turbine Templates für Retrofits von Windenergieanlagen - Handlungsoptionen bei veralteter Steuerungstechnik -

Vorlesung Donnerstags, bis Uhr, HS12 Übung Dienstags, bis Uhr 4-5 ÜbungsbläMer (Programmieraufgaben)

HOMEPLANE. Home Media Platform and Networks

EoL-Testautomation 2.0. Technische Beschreibung. DI Hans-Peter Haberlandner. Blumatix GmbH

Vorlesung Embedded Software-Engineering im Bereich Automotive

Evaluierung verteilter Middleware-Technologien zur Steigerung der Integrationsfähigkeit von Enterprise-Software

Ontologiebasierte Entwicklung von Anforderungsspezifikationen im Automotive-Umfeld Mathias Schraps,

Make It Easy Ein Tool zur automatisierten Auswertung und Analyse für einen automatisierten Simulationsprozess

16 Architekturentwurf Einführung und Überblick

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

virtuos Leitfaden für die virtuelle Lehre

dspace (1/3) dspace: Gegründet 1988 in Paderborn Mitarbeiter: Über 650 Mitarbeiter weltweit, davon über 70 % Ingenieure Ständiges Mitarbeiterwachstum

Case Study Dax & Partner Rechtsanwälte GmbH

LZA-Metadaten für Retrodigitalisate. Anna Kugler

4D Server v12 64-bit Version BETA VERSION

Thomas Freitag achelos GmbH SmartCard-Workshop achelos GmbH

Trusted Location Based Services

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Testautomatisierung. Lessons Learned. qme Software. Gustav-Meyer-Allee Berlin. Telefon 030/ Telefax 030/

Anforderungen an die HIS

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

Was versteht man unter Softwaredokumentation?

Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte

! "# $% &'!( $ ) *(+,(,-

Remote Eclipse RCP Management

Modul 2: Grundlegende Managementkonzepte

Transkript:

Anforderungsanalyse, Definition und Implementierung einer Netzwerkkommunikationsschicht für ein modulares Simulations- und VR-System Belegverteidigung von Markus Müller am 23.09.2006

Inhalt Ausgangssituation Ziele Vorgehensweise Anforderungsanalyse und Evaluation Entwurf Implementierung Automatisiertes Testen Ergebnisse Ausblick TU Dresden, 22.09.2006 Markus Müller Folie 2 von 17

Ausgangssituation Entwicklung: Interaktiver Maschinensimulator Kooperation zwischen EADS/Dornier GmbH und dem Institut für Fördertechnik, Baumaschinen und Logistik Modulares aber proprietäres Simulations- und VR-System Verteiltes Kommunikations- und Visualisierungssystem ODO von Joscha Metze Hochwertige Visualisierungsanwendung Kommunikationsschnittstelle für verteilte Komponenten Konzept zur Generalisierung zu einem Framework für verteilte Simulations- und VR-Anwendungen Zentrale Steuerung und Zustandskontrolle, Konfiguration, Werkzeuge zur Content-Erstellung, generische Komponenten für Eingabe und Verarbeitung TU Dresden, 22.09.2006 Markus Müller Folie 3 von 17

Ausgangssituation Host:Sound Sound Host:Cab Cab SimulationControl SoundParameters TerrainInformation Host:Simulation Host:Database Host:Motion MotionControl Simulation TerrainManipulation Database Motion VisualisationParameters TerrainInformation VisualisationParameters TerrainInformation Host:Visualisation1 Host:Visualisation2 Visualisation Visualisation TU Dresden, 22.09.2006 Markus Müller Folie 4 von 17

Ausgangssituation Verwendete Netzwerkkommunikationsschicht Komponenten kommunizieren über ein RPC-System XML-IDL (Interface Definition Language) und XSL- Transformation anstelle von RPC-Stub-Compiler Flexibel und einfach zu verwenden Aber: Erfahrung hat gezeigt, dass nicht alle funktionalen Anforderungen erfüllt werden TU Dresden, 22.09.2006 Markus Müller Folie 5 von 17

Ziele Umfassende Anforderungsanalyse Aktuelle und zukünftige Anforderungen Evaluation der bestehenden Implementierung Neudefinition der angebotenen Schnittstelle Implementierung in C# und C++ C# ermöglicht RAD (Rapid Application Development) Neuentwicklung in C# anstelle von Hüllklassen für C++ Implementierungsbegleitende Tests Geeignete Strategien und Werkzeuge TU Dresden, 22.09.2006 Markus Müller Folie 6 von 17

Vorgehensweise Analyse Zentrale Anforderungen an verteilte VR-Umgebungen Flexibilität, Heterogenität, Synchronisation, Skalierbarkeit, keine Diskontinuitäten Aber auch: Transparenz, Sicherheit, Fehlerbehandlung, Verwaltbarkeit Szenarioanalyse Betrachtung möglichst vielfältiger Konfigurationen Anforderungen an die Transportschicht Performanz, Zuverlässigkeit, Multicasting/Broadcasting,... TU Dresden, 22.09.2006 Markus Müller Folie 7 von 17

Vorgehensweise Evaluation Ansatz (RPC-System) sehr gut gewählt Schlecht erweiterbar Konfiguration, globale Zustandskontrolle und Fehlerbehandlung problematisch Kleinere Schwächen in der Implementierung Wenig dokumentiert Unvollständige Umsetzung eines Peer-to-Peer-Konzepts TU Dresden, 22.09.2006 Markus Müller Folie 8 von 17

Vorgehensweise Entwurf Client-Server-System Entkopplung von: spezialisierten Bibliotheken und Netzwerkschicht Netzwerkschicht und Transportschicht Erweiterbarkeit Anpassung der Schnittstelle zur Anwendung Datentypen, Aufrufsemantik, Verbindungsereignisse Spezielle Implementierung für Kommunikation zwischen Anwendungen und Kontrollzentrum TU Dresden, 22.09.2006 Markus Müller Folie 9 von 17

Vorgehensweise Clientprozess Serverprozess lokaler Aufruf Rückgabewert lokaler Aufruf Rückgabewert ServerStub ServerStub ClientStub Marshalling Unmarshalling Unmarshalling Marshalling ODONet ODONet Serialisierung Deserialisierung Deserialisierung Serialisierung Transportschicht Transportschicht TU Dresden, 22.09.2006 Markus Müller Folie 10 von 17

Vorgehensweise Implementierung Ähnlichkeit C# - C++ gewünscht Eigene Socket-Klasse abstrahiert von Betriebssystem Teilweise Nachimplementierung von.net-klassen (MemoryStream, BinaryReader, BinaryWriter, Bitconverter) Robuste UDP-Implementierung Keine Fluss- oder Überlastkontrolle wie bei TCP, aber tolerant gegenüber Pufferüberläufen Viele Detailverbesserungen und Optimierungen TU Dresden, 22.09.2006 Markus Müller Folie 11 von 17

Automatisiertes Testen Arten von Tests Unit-Tests Isolierte Tests kleiner Einheiten (Units): einzelne Methoden oder Klassen Integrationstests Zusammenspiel der Units Systemtests Verhalten des Gesamtsystems unter Realbedingungen TU Dresden, 22.09.2006 Markus Müller Folie 12 von 17

Automatisiertes Testen Vorteile von automatisierten Tests Schnell durchführbar Reproduzierbarkeit von Fehlern Einfachere Fehlerlokalisation Testfälle dokumentieren Schnittstelle einer Klasse Werkzeuge vereinfachen Testprozess TU Dresden, 22.09.2006 Markus Müller Folie 13 von 17

Automatisiertes Testen Testwerkzeuge NUnit Zanebug cppunit TestDriven.NET NCover TU Dresden, 22.09.2006 Markus Müller Folie 14 von 17

Automatisiertes Testen Schwierigkeiten beim Testen der Netzwerkbibliothek Schichtenarchitektur viele Klassen hängen von anderen Klassen ab Emulation der Transportschicht nur eingeschränkt möglich (Threads, Callbacks,...) Verschiedene Betriebssysteme und Programmiersprachen Isolierte Unit-Tests sehr aufwändig Deshalb: Wenige Unit-Tests, viele Systemtests Problem: Fehlerlokalisation schwierig TU Dresden, 22.09.2006 Markus Müller Folie 15 von 17

Ergebnisse Einfach und schnell benutzbare Netzwerkbibliothek Angepasste Schnittstellen Flexible Architektur Entkopplung von Anwendung, Kommunikationssteuerung und Transportschicht Verbesserte Konfiguration Ausführliche Dokumentation Zahlreiche Systemtests Prototyp für Kontrollzentrum Generische Simulationskomponente Virtuelles Dosenschießen von Réne Schulte, Réne Janovsky und Torsten Bär, HTW Dresden TU Dresden, 22.09.2006 Markus Müller Folie 16 von 17

Ausblick Netzwerkbibliothek: Komplexere Implementierungen der Schnittstelle zur Transportschicht, z.b. zuverlässiges Broadcasting Integration anderer Netzwerktechnologien, z.b. ATM oder Myrinet.NET Compact Framework Smartphones/PDAs als Eingabegeräte WAN-Kommunikation: Tunneling Anwendungen: Capture-and-Replay: Aufzeichnen von Nachrichten und Abspielen mit veränderter Geschwindigkeit TU Dresden, 22.09.2006 Markus Müller Folie 17 von 17

Vielen Dank für die Aufmerksamkeit!

Szenario - ControlCentre Host:ControlCentre Host:Input Input1 : DirectInputMapper ControlCentre1 : ControlCentre ReportProcess ControlCentre2 : ControlCentre ExecuteScript StateControl StateControl ReportProcess RequestRegistration Register Host:Instance1 Host:Instance2 Host:Instance3 Module1 : Module Module2 : Module Module3 : Module TU Dresden, 22.09.2006 Markus Müller Folie 19 von 17

Szenario Multiplayer Game Host:Player1 Host:Player2 Input1 : DirectInputMapper Input2 : DirectInputMapper InputPlayer1 InputPlayer2 Host:Gameserver : Simulation DataManipulation DataRetrieval : Database VisualisationParameters SoundParameters Host:Output1 Host:Output2 Visualisation1 : Visualisation Visualisation2 : Visualisation Sound1 : Sound Sound2 : Sound TU Dresden, 22.09.2006 Markus Müller Folie 20 von 17

Szenario Single Host Host:Development Environment Host:Development Environment Input1 : DirectInputMapper Input1 : DirectInputMapper Simulation1 : Simulation Simulation1 : Simulation Visualisation1 : Visualisation Visualisation1 : Visualisation Visualisation2 : Visualisation TU Dresden, 22.09.2006 Markus Müller Folie 21 von 17

Tunneling LAN LAN WAN Tunnel Router Router Input High-Performance Simulation-Server Visualisation1 Visualisation2 TU Dresden, 22.09.2006 Markus Müller Folie 22 von 17

Schichtenarchitektur Anwendung anwendungsspezifische Bibliotheken ODONet Transportschicht TU Dresden, 22.09.2006 Markus Müller Folie 23 von 17

Transformationspipeline batch file / shell script NAnt interface definition XSLT processor source code compile & link dynamic link library XSLT stylesheet dependencies TU Dresden, 22.09.2006 Markus Müller Folie 24 von 17