Automatische Interaktionsanalyse in CIP-Modellen

Abstract

Reaktive Echtzeitsysteme treten vor allem bei eingebetteten Systemen zur Steuerung und Überwachung externer Prozesse auf. Die Aufgabe eines reaktiven Systems ist, auf externe Ereignisse zu reagieren und die externen Prozesse gezielt durch bestimmte Aktionen zu beinflussen. Reaktive Systeme bestehen meistens aus kooperierenden Systemteilen wie Prozessen, Objekten oder Funktionen. Ein externes Ereignis bewirkt fast immer eine interne Interaktionssequenz, d. h. mehrere Systemteile werden über modellspezifische Interaktionsmechanismen wie Message Passing, Event Broadcast oder Funktionsaufrufe aktiviert.

Eine zentrale Schwierigkeit bei der Entwicklung reaktiver Systeme ist, die Übersicht über alle Interaktionssequenzen zu behalten. Weil solche dynamische Strukturen implizit definiert sind, müssen sie bei der Entwicklung ständig gedanklich nachvollzogen und schliesslich zur Laufzeit überprüft werden.

Zusätzliche Schwierigkeiten treten auf, wenn für ein externes Ereignis mehr als eine Interaktionssequenz möglich ist. Dieser implizite Non-Determinismus entsteht typischerweise, wenn das reaktive System aus nebenläufigen Komponenten besteht, wie z. B. in SDL [1] oder ROOM [2].

Äusserst problematisch sind zudem zyklische Interaktionspfade, die unbeschränkt lange Interaktionssequenzen ermöglichen, wie das zum Beispiel in Statecharts-Modellen [3] möglich ist. Angeforderte Antwortzeiten können in solchen Fällen nur durch aufwendiges Testen "garantiert" werden. Zyklische Aktivierungen sind an und für sich nicht problematisch, solange sichergestellt ist, dass die Länge der resultierenden Interaktionssequenzen beschränkt ist.

Die Beschreibung von Interaktionssequenzen ist durch die in UML [4] verwendeten Collaboration Diagrams bekannt geworden. Mit solchen Diagrammen können einzelne Kollaborationsszenarien von Objekten dargestellt werden. Im Unterschied zur hier präsentierten Interaktionsanalyse stellen solche Diagramme aber lediglich Entwurfsanforderungen dar, die keinen formalen Bezug zur konstruierten Software haben.

 

Die in diesem Beitrag vorgestellte Interaktionsanalyse der CIP-Methode erlaubt, bereits während der Konstruktion von CIP-Modellen die Gesamtheit der Übertragungssequenzen interner Ereignisse automatisch darzustellen.