Wiederverwendungsbasierte Entwicklung von Kommunikationssystemen

P. Schaible

Dissertation, Fachbereich Informatik, Universität Kaiserslautern, 2003

Zusammenfassung

Der Einsatz verteilter Software-Systeme ist heute weit verbreitet in findet in unterschiedlichsten Domänen wie z.B. Gebäudeautomatisierung, Ambient Intelligence oder Telekommunikation statt. Dementsprechend sind auch die Kommunikationsanforderungen der Anwendungen bezüglich Zuverlässigkeit, Sicherheit, Skalierbarkeit, Echtzeitverhalten und vielen anderen Eigenschaften der Datenübertragung sehr unterschiedlich ausgeprägt.
Zugleich ist eine bemerkenswerte Vielfalt an unterschiedlichen Basis-Kommunikationstechnologien wie z.B. Ethernet, ATM, FDDI im Bereich der universellen Übertragungstechnologien, CAN, PROFIBUS im Bereich der Bussysteme und Bluetooth, GSM, UMTS im Bereich drahtloser Datenübertragung und Telekommunikation zu beobachten. Die Verwendung unterschiedlicher Basistechnologien auf der einen Seite und die Berücksichtigung der unterschiedlichen Kommunikationsanforderungen der verteilten Anwendungen auf der anderen Seite spannen den Lösungsraum für das Kommunikationssystem und insbesondere für die sog. Kommunikationsmiddleware auf. Die Kommunikationsmiddleware ist eine Softwareschicht zwischen der eigentlichen Anwendung und dem Basisdienst und mittlerweile bei jedem nichttrivialen verteilten System als eigenständige Komponente zu identifizieren (vgl. Abbildung 1).
Standard-Lösungen, wie z.B. die OSI- oder Internet-Protokoll-Suite, haben sich dabei nicht immer als geeignet erwiesen, weil sie naturgemäß weder auf die Besonderheiten der jeweiligen Basistechnologie noch auf die speziellen nicht vorherzusehenden Kommunikationsanforderungen eingehen können. In vielen Situationen ist es stattdessen sinnvoll, dedizierte Kommunikationsmiddlewares zu entwickeln, welche sowohl auf die Kommunikationsanforderungen einer verteilten Anwendung als auch auf die Verwendung einer bestimmten Basistechnologie maßgeschneidert sind.
Die Verwendung maßgeschneiderter Kommunikationsmiddleware bringt einen zusätzlichen Entwicklungsaufwand bei gleichzeitigen Forderungen nach kürzeren Time-to-Market-Zyklen und gesicherter Qualität mit sich. Die Erfahrung zeigt allerdings, dass die Entwicklung von Protokollen in der Breite nach wie vor mehr eine Kunst als eine Engineering-Disziplin ist. Das Protokolldesign beginnt fast immer .from scratch., die Designlösungen haben wenig Gemeinsamkeiten, das Vokabular eines Protokollengineers ist eher .low-level. und die existierenden Design-Methoden sind vage, informell und grobkörnig.
Um die Qualität der entwickelten Kommunikationssysteme zu sichern, wird oft von sog. FDTs (Formal Description Techniques) Gebrauch gemacht. Deren formale Semantik ermöglicht, Mehrdeutigkeiten in den Spezifikationen zu vermeiden, und erlaubt, die notwendigen Werkzeuge vorausgesetzt, eine automatische Validation und Prototypgenerierung. Von besonderem Interesse und auch die Techniken unserer Wahl für diese Arbeit sind SDL und UML 2.0, was auf ihre breite Verwendung in der Industrie und die Existenz kommerzieller Werkzeuge zurückzuführen ist. Ein weiteres Software-Engineering-Konzept ist die systematische Software-Wiederverwendung, die sich bezogen auf die technische Produktentwicklung inzwischen in die Bereiche Komponenten, Software-Patterns und Frameworks aufgeteilt hat. Mit der Software-Wiederverwendung werden eine bessere Strukturierung der Produkte und vor allem kürzere Entwicklungszeiten assoziiert. Im Rahmen dieser Arbeit werden einige Ansätze zur systematischen Entwicklung maßgeschneiderter Kommunikationsmiddleware vorgestellt. Diese Ansätze basieren auf der systematischen Softwarewiederverwendung kombiniert mit der Anwendung formaler Techniken und sind auf die Domäne der Kommunikationssystementwicklung zugeschnitten.
Diese Arbeit wurde im Rahmen des Sonderforschungsbereiches SFB 501 .Entwicklung großer Systeme mit generischen Methoden. in Teilprojekt B4 .Generische Kommunikationssysteme. durchgeführt. Die Beteiligung mehrerer Forschungsgruppen, die sich in den Bereichen der Hardware, Systemsoftware, Kommunikationssysteme, Software-Engineering u.a. spezialisieren, stellte eine einzigartige Umgebung zur Entwicklung, Diskussion und experimentellen Evaluierung von neuartigen Software-Engineering-Methoden dar.
Die in dieser Arbeit vorgestellten Ansätze wurden z.T. in Teams entwickelt und haben im Laufe der Zeit viele iterative Verbesserungen erfahren. Insbesondere sind hier die Evaluierungsstudien und die dedizierte Werkzeugunterstützung zu erwähnen. Um ein möglichst komplettes Bild von den Ansätzen zu vermitteln und diese auch vergleichen zu können, werden sie alle gleichwertig dargestellt, auch wenn der Beitrag des Autors zu deren Entwicklung jeweils unterschiedlich war (siehe entsprechende Vermerke in der Arbeit). In diesem Zusammenhang möchte ich besonders auf die weiteren Dissertationsschriften meiner ehemaligen Kollegen Birgit Geppert und Frank Rößler verweisen.





 

 
Zu den Kontaktdetails des Verantwortlichen dieser Seite

 
This page in english. Diese Seite auf englisch.