Teilprojekt B2
From GRK-Wiki
zum übergeordneten Forschungsbereich
Contents |
Modellbasierte Entwicklung selbstorganisierender Netze
Im Graduiertenkolleg werden im Bereich der Selbstorganisation (Teilprojekt A1, Teilprojekt A2) und P2P-Middleware-Ebene (Teilprojekt A3) eine Reihe neuer Protokolle und Verwaltungskomponenten entstehen, die nicht nur bezüglich ihrer funktionellen Korrektheit, sondern insbesondere hinsichtlich der Erfüllung spezifischer Leistungsparameter zu untersuchen sind. Die simulative Analyse des Verhaltens einer Netzkonfiguration bei dynamischer Änderung der Netztopologie ist dabei eine der Maßnahmen, die im Zusammenhang mit anderen Modellanalyseverfahren zur Qualitätssicherung beitragen soll. Die Besonderheit dieser (ereignisorientierten) Simulationsmodelle als zentrale Denkmodelle eines Entwicklers besteht in der Nähe der zu entwickelnden Softwarekomponenten und ihrer Modellrepräsentanten in den beiden Analysefällen. Erreicht wird das durch mehrere Schritte: Zunächst liefert eine Spezifikation einer Softwarekomponente in SDL oder einer SDL-ähnlichen Notation eine ausführbare Spezifikation, die bei Annahme einer Umgebungslast in ihrem Verhalten getestet werden kann. Eine Untersuchung solcher Komponenten in ihrer Wechselwirkung bei angenommener Installation auf unterschiedlichen Knoten ist der nächste Schritt. Benötigt wird dazu eine Nachbildung der benutzten Kommunikationsinfrastruktur über die Luftschnittstelle in SDL oder in verwendeten SDL-Laufzeitsystemen zur Simulation. Eine automatische Codegenerierung aus SDL liefert die Softwarekomponente, von der Laufzeiteigenschaften im Modell einer Netzkonfiguration und im realen Einsatz ermittelt werden können. Auch hier ist wiederum ein spezifisches Laufzeitsystem erforderlich, das eine Anbindung an das Betriebsystem der Knotenrechner und der darauf aufbauenden Basiskommunikationsinfrastruktur sichert. Eine zusätzliche Transformation des SDL-Modells in eine ausführbare ASM-Spezifikation wird dabei den Übergang zu alternativen Analyseverfahren in Teilprojekt B3 unterstützen.
Stand des Wissens
Methoden der modellgestützten Softwareentwicklung haben insbesondere durch den Einsatz der Metamodellierungstechnik [1] einen neuen Impuls erhalten, wobei man sich gegenwärtig durch Auszeichnung plattformunabhängiger und plattformabhängiger Modelle eine höhere Effizienz der Modellentwicklung und deren Nutzung verspricht. Im Umfeld der Protokollentwicklung haben sich insbesondere plattformunabhängige Modelle in ausführbaren Spezifikationstechniken wie SDL als auch Datentypbeschreibungen- und Datencodierungen in ASN.1 bewährt [2]. Für SDL-ASN.1-Kombinationen strebt man Codegeneratoren an, die mit unterschiedlichen Laufzeitbibliotheken ausgestattet in die Lage versetzt werden, aus Modellen Code für unterschiedliche Plattformen generieren zu können. Häufig wird in der Praxis jedoch der Vorteil einsetzbarer Analysetools zur Untersuchung plattformunabhängiger Modelle dadurch vergeben, dass für die Einbettung von Softwarekomponenten, die aus SDL heraus generiert worden sind, nichtstandardkonforme Interaktionsmöglichkeiten eingesetzt werden müssen, die eine Anwendung von allgemein verfügbaren Simulatoren und Testgeneratoren wegen Spracherweiterungen verbietet.
Vorarbeiten der beteiligten Forscher
In der Arbeitsgruppe von J. Fischer wurde in den letzten Jahren intensiv an der Weiterentwicklung der Sprache SDL gearbeitet [3]. Neben der Einbringung von Interface-Konzepten nach ODP-Vorbild [4] konnte im Rahmen einer Habilitation [5] und eines anschließenden Kooperationsprojekts [6] mit Microsoft Research ein Referenzcompiler entwickelt werden, der SDL-2000-Spezifikationen zur Klärung von Semantikfragen nach ASM übersetzt. Der unter dem Namen SITE [7] entwickelte SDL-96/ASN.1-nach C++ Compiler wurde erfolgreich von der Siemens AG für die Entwicklung komplexer IN-Protokollstacks eingesetzt und wurde inzwischen für Standardkommunikationsplattformen wie CORBA und Web-Services erweitert [8]. Eine rationelle Entwicklung wurde durch ein Meta-Werkzeug zur statischen Semantikanalyse und Codegenerierung [9] ermöglicht, das mit Standard-Compilerwerkzeugen flex und bison gekoppelt wird. Die Anpassbarkeit der Laufzeitsysteme von SDL wird durch objektorientierte Spezialisierungen einer Basisbibliothek erreicht. Seit etwa zwei Jahren spezialisiert sich die Gruppe von J. Fischer auf eine metamodellbasierte Entwicklung von Modellierungssprachen und Werkzeugen [10]. Das langjährige Forschungsgebiet von E. Holz ist die Kombination von Modellierungstechniken [11].
Geplante Arbeiten
Die dafür notwendigen Arbeiten sollen in drei Stufen erfolgen: Zunächst sind in einer ersten Stufe spezifische Anforderungen hinsichtlich der Protokollmodellierung aus dem Bereich der Selbstorganisation in drahtlosen Netzstrukturen zu analysieren. Dabei scheint die Bereitstellung einer Infrastruktur zur Modellierung der Basiskommunikation in drahtlosen Netzen erforderlich zu sein. Diese Infrastruktur ist vermutlich in ein Simulationslaufzeitsystem einzubetten. Für eine simulative Verhaltensanalyse kommunizierender Knoten sind Ausfallwahrscheinlichkeiten begrenzter Broadcast-Signalisierungen zu berücksichtigen, die zusätzliche Erweiterungen des Laufzeitsystems von SDL erfordern. In einer zweiten Stufe wird die Anbindung von Leistungsbewertungswerkzeugen zur Analyse von Protokollstacks in konfigurierbaren Netztopologien wie z. B. NS-2 untersucht. Die dabei zu untersuchenden Protokollbausteine werden als C++ -Komponenten eingebracht. Die Aufgabe besteht nun darin, eine entsprechende Codegenerierung aus SDL aufzubauen. Dabei sollten die entwickelten Prinzipien wiederverwendet werden können. In einer dritten Stufe wird der Übergang von einem plattformunabhängigen Modell in ein plattformabhängiges Modell vollzogen. Voraussetzung dafür ist eine in B1 identifizierte Basisinfrastruktur, die auf dem Knotenbetriebssystem aufsetzt. Darüber hinaus sind bei der Codegenerierung Deskriptoren der generierten Softwarekomponenten zu erzeugen, die für ein Deployment der Softwarekomponenten benutzt werden können.
Referenzen
[1] D. D’Souza: Model Driven Architecture and Integration – Opportunities and Challenges. Kinetium Inc. 2001.
[2] T. Weigert, G. Blaudis, P. Dietz: Automated Generation of Marshaling Code from High-Level Specifications. LNCS Vol. 2708, pp. 374 – 386, 2003.
[3] N. Fischbeck, M. Born, G. Baudis, H. Böhme, J. Fischer: SDL Enhancements and for the Design of Distributed Services. In: R. Dssouli, G. v. Bochmann, Y. Lahav: SDL'99: The Next Millenium, Elsevier Science B. V., Amsterdam, 1999.
[4] E. Holz: Modelling Interfaces in SDL with Gate Types. In: Proc. of SDL-Forum 1999, Montreal, June 1999.
[5] A. Prinz: Formal Semantics for SDL - Definition and Implementation. Habilitation, Humboldt-Universität zu Berlin, 2001.
[6] J. Fischer, M. v. Löwis, R. Schröder: Simulation of Telecommunication Systems in SDL-92 using SITE. In: World Congress on Systems Simulation, Y. M. Teo, W. C. Wong, T. I. Oren, R. Rimane (editors), Singapore 1997.
[7] SDL Integrated Tool Environment (SITE). URL: http://www.informatik.hu-berlin.de/SITE/.
[8] J. Fischer, T. Neumann: SDL Code Generation for Embedded Systems. Accepted paper of 12th SDL Forum, Grimstad, Mai 2005, to appear in Springer LNCS.
[9] M. Piefel, M. v. Löwis: The Term Processor Kimwitu++. In: Proc of 6th World Multiconference on Systems, Cybernetics, Informatics (SCI 2002) Orlando, USA, Juli 2002.
[10] M. Scheidgen, M. Piefel: A Metamodel for SDL-2000 in the Context of Meta-Modelling ULF. In: System Analysis and Modelling, Springer Verlag, Juni 2004.
[11] E. Holz: Kombination von Modellierungstechniken für den Softwareentwurf. Humboldt-Universität zu Berlin, Habilitationsschrift, 2005.
