Technische Universität München, Fakultät für
Informatik
Verteilte Systeme spezifizieren mit 
(also available as English version)
VERTEILTE SYSTEME
Ob Multimediadienste in intelligenten Netzen, Mietwagenbuchungssysteme
oder Steuerungen für
Fertigungsanlagen: die Entwicklung verteilter oder eingebetteter Systeme
ist heute zur zentralen Aufgabe des Software-Engineerings geworden.
Aufgrund des komplexen Zusammenspiels der Komponenten solcher Systeme
wird deren Entwicklung aufwendig und fehleranfällig.
Hier können formale Methoden helfen: als Grundlage für fundierte
Beschreibungsmitteln und Methoden verwendet, können damit
Werkzeuge erstellt werden, um
qualitativ hochwertige Systeme mit vertretbarem Zeitaufwand zu entwickeln.
Mit AutoFocus wurde daher basierend auf formalen Methoden der
Systementwicklung ein Werkzeugprototyp entwickelt, der als Ausgangsbasis und
Evaluationsmittel für weitere Werkzeugkonzepte zur Spezifikation und
Entwicklung verteilter Systeme dienen soll.
AUTOFOCUS
Mit seiner Ausrichtung auf graphische Darstellungsmittel soll AutoFocus ein möglichst intuitives
Arbeiten ermöglichen. Dem Anwender stehen dabei als Arbeitsmittel ein Projektbrowser zur
Verwaltung der Spezifikationsdokumente verschiedener Projekte sowie verschiedene Editoren
für die einzelnen Spezifikationsdokumente zur Verfügung.
AutoFocus unterstützt dabei den Spezifikationsentwurf durch
- Integrierte hierarchische Beschreibungsmittel
- Verteilte und plattformunabhängige Entwicklung
- Versionsverwaltung und Sperrkonzepte
AutoFocus bietet somit die grundlegende Unterstützung zentraler Aspekte des werkzeuggestützten Entwurfs verteilter Systeme.
Integrierte hierarchische Beschreibungstechniken
Verteilte Systeme können aus unterschiedlichen Blickwinkeln betrachtet werden, wie z.B.
- dem Aufbau des Systems aus seinen Komponenten und seinen Kommunikationsverbindungen
- der Beschreibung des Verhaltens des Gesamtsystems oder seiner Komponenten
- dem Zusammenspiel des Nachrichtenaustauschs von Komponenten und Systemumgebung.
Erst durch die Beschreibung aus mehreren Blickwinkeln ergibt sich das Gesamtbild des Systems.
Deshalb bietet AutoFocus mit den Systemstrukturdiagrammen, den Automatendiagrammen und den
Erweiterten Ereignisdiagrammen drei graphische Beschreibungstechniken, die jeweils einen dieser
Blickwinkel abdecken und so eine integrierte Systemsicht ermöglichen. Je nach Detaillierung der
Sicht können Komponenten oder Verhaltensbausteine atomar sein oder selbst aus Unterkomponenten bzw. Unterbausteinen bestehen. AutoFocus unterstützt mit seinen hierarchischen
Beschreibungsmitteln den Wechsel zwischen unterschiedlich detaillierten Sichten.
Verteilte und plattformunabhängige Realisierung
Gerade wegen ihrer Komplexität werden verteilte Systeme oft im Team und damit von mehreren
Entwicklern gleichzeitig und auf unterschiedlichen Rechnerplattformen erstellt. Daher wurde AutoFocus
als Client/Server-System mit einem zentralen Dokumentenrepository und einer beliebigen Anzahl von
Editorclients realisiert. Damit können die Entwickler die Spezifikationsdokumente gemeinsam nutzen. Die Realisierung der Clients in Java ermöglicht den Einsatz von AutoFocus auf den
gängigsten Hardwareplattformen.
Versionsverwaltung und Sperrkonzepte
Spezifikationen sind, vor allem in der frühen Entwicklungsphase, wiederholt Revisionen unterworfen. Die Möglichkeit zur Versionsverwaltung von Einzeldokumenten und Gesamtprojekten ist
daher für ein Spezifikationswerkzeug unerläßlich. Die gemeinsame Bearbeitung von
Spezifikationsdokumenten im Team kann zu ungewollten Überschneidungen führen, die im
Rahmen einer Werkzeugunterstützung vermieden werden müssen. AutoFocus bietet daher ein zentrales Repository mit Versionsverwaltung auf Dokumenten- und Projektebene sowie
Sperrkonzepten auf Dokumentenebene.
ENTWICKLUNG UND EINSATZ
AutoFocus wurde im Rahmen eines einsemestrigen Praktikums zum Thema ``Software-Engineering''
von Studenten und Mitarbeitern an den Lehrstühle Prof. Broy und Prof. Endres der Fakultät für Informatik der Technischen Universität München im Sommersemester
1996 entwickelt und implementiert. Es wird in mehreren Kooperationsprojekten mit bayerischen Industrieunternehmen, unter anderem bei Siemens Öffentliche Kommunikationsnetze, zur Anwendung und Weiterentwicklung kommen.
ZUKÜNFTIGE ERWEITERUNGEN
Die Spezifikation des zu entwickelnden System mit den AutoFocus-Beschreibungsmitteln
ermöglicht es, die Entwicklung rechnergestützt durchzuführen. Auf dieser Grundlage
sind eine Reihe von Erweiterungen des AutoFocus-Prototyps geplant, die helfen sollen, die Qualität der Entwicklung zu verbessern:
- Überprüfung der Gesamtkonsistenz und Vollständigkeit der Spezifikationsdokumente
- Validierung der Spezifikation und Überprüfung von Entwicklungsschritten durch den
Einsatz von Model-Checkern und Verifikationswerkzeugen.
- Unterstützung von Animation und Simulation der Spezifikation
Auch diese Techniken sollen weitgehend graphisch eingebunden werden, um eine intuitive Anwendung zu ermöglichen.
KONTAKTE
Für weitere Fragen steht Ihnen gerne das AutoFocus-Team zur Verfügung. Sie erreichen
es
Bernhard Schätz,
1996-10-09
Franz Huber,
1996-10-09