Technische Universität München, Fakultät für Informatik

Verteilte Systeme spezifizieren mit AutoFocus

(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.
Abbildung: Client Interface
AutoFocus unterstützt dabei den Spezifikationsentwurf durch 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. 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: 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