Abstract | Diese Arbeit hat die Analyse und Bewertung des Spezifikationswerkzeugs "DisCo" (Distributed Cooperation) zum Gegenstand. DisCo umfasst eine Spezifikationssprache und eine Testumgebung. Die Testumgebung gestattet es, eine textuell erstellte Spezifikation graphisch darzustellen und auszufuehren. Die DisCo-Sprache besitzt objektorientierte und aktionsorientierte Merkmale. Das Ausfuehrungsmodell der DisCo-Sprache beruht auf dem Konzept der "joint-actons". Joint-actions sind atomare (in ihrer Ausfuehrung nicht unterbrechbare) Aktionen, an denen mehrere Objekte beteiligt sein koennen. Objekte sind Instanziierungen von Klassen. Das Schalten einer ausgewaehlten Aktion, unter Teilnahme eines Satzes von Objekten, fuehrt i.a. zu einer Zustandsaenderung der Objekte. Der Programmablauf ergibt sich durch die sequentielle Ausfuehrung von Aktionen. Das Verhalten des spezifizierten Systems wird durch nichtdeterministische Generierung einer Aktionenfolge bestimmt. Die nichtdeterministische Auswahl der jeweils naechsten Aktion und der zugehoerigen Teilnehmerobjekte zu einem Berechnungsschritt wird durch die Ausfuehrungsbedingungen, die zu jeder Aktion gehoeren, eingeschraenkt.
Die DisCo-Entwickler stellen das Konzept der joint-actions, als Grundlage fuer Spezifikationen, als Alternative zum prozessorientierten Modell anderer Spezifikationssprachen zur Diskussion. Die Aufgabe dieser Studienarbeit besteht nun darin, herauszuarbeiten, wie auf der Basis dieser Sprache eine Spezifikation von nebenlaeufigen, miteinander kommunizierenden Einheiten stattfinden kann, wie also komplexes Systemverhalten mit DisCo beschreibbar ist. Dabei wird von Spezifikationssprachen-Charakteristiken, die allgemein zur Evaluation von Spezifikationssprachen dienen koennen, ausgegangen. Es wurde untersucht, welche Charakteristiken durch DisCo unterstuetzt werden, welche ermoeglicht werden und welche dem Sprachen-Paradigma von DisCo nicht entsprechen. Wichtige Charakteristiken sind die Moeglichkeiten zur Formulierung von Nebenlaeufigkeit und Kommunikation, die Hierarchisierungsmoeglichkeiten oder die Techniken zur Angabe von zeitlichen Randbedingungen. Die Analyse orientiert sich zudem an der praktischen Anwendbarkeit der DisCo-Sprache. Um Erfahrung mit DisCo-Programmierung zu sammeln, wurde die Spezifikation einer Aufzugssteuerung erarbeitet.
|