32
2 Spezifikation und Modellierung
• Hierarchie: Menschen sind im Allgemeinen nicht dazu in der Lage, Systeme mit
vielen Objekten (wie z.B. Zustände oder Komponenten) zu verstehen, in denen
die Objekte in komplexen Zusammenhängen miteinander stehen. Um ein reales
System zu beschreiben, benötigt man mehr Objekte als ein Mensch erfassen
kann. Die Einführung von Hierarchieebenen (in Verbindung mit Abstraktion)
ist einer der besten Wege, dieses Problem zu lösen. Hierarchie kann so eingesetzt
werden, dass ein Mensch immer nur eine kleine Anzahl von Objekten auf einmal
überschauen muss.
Es gibt zwei Arten von Hierarchien:
– Verhaltenshierarchien: Verhaltenshierarchien enthalten Objekte, die notwendig sind, um das Verhalten des Gesamtsystems zu beschreiben. Beispiele hierfür sind Zustände, Ereignisse und Ausgabesignale.
– Strukturelle Hierarchien: Strukturelle Hierarchien beschreiben, wie das Gesamtsystem aus einzelnen physischen Komponenten zusammengesetzt ist.
Eingebettete Systeme können z.B. aus Prozessoren, Speichern, Aktuatoren und
Sensoren bestehen. Prozessoren wiederum enthalten Register, Multiplexer und
Addierer. Multiplexer bestehen aus Gattern.
• Komponentenbasierter Entwurf [489]: Es muss „einfach” sein, das Verhalten eines Systems vom Verhalten seiner Komponenten abzuleiten. Wenn zwei
Komponenten miteinander verbunden werden, sollte das sich ergebende neue
Verhalten vorhersagbar sein. Wenn wir beispielsweise eine zusätzliche Komponente wie ein Navigationssystem in ein Auto integrieren möchten, sollte der
Einfluss dieser zusätzlichen Komponente auf das Verhalten des Gesamtsystems
(unter Berücksichtigung von Bussen usw.) vorhersagbar bleiben.
• Nebenläufigkeit: Viele praxisrelevante Systeme sind verteilte, nebenläufige Systeme, die aus mehreren Komponenten bestehen. Daher muss Nebenläufigkeit oder
Parallelität einfach zu spezifizieren sein. Leider kann der Mensch nebenläufige
Vorgänge nur schwer verstehen. Daher sind viele der Probleme, die bei realen
Systemen auftreten, eine Folge von mangelndem Verständnis möglicher Abläufe
in parallelen Systemen.
• Synchronisation und Kommunikation: Komponenten eines Systems müssen
miteinander kommunizieren und die Verwendung von Ressourcen synchronisieren können. Ohne Kommunikation wäre eine Kooperation zwischen Komponenten nicht realisierbar und jede Komponente müsste für sich alleine verwendet
werden. Weiterhin muss es eine Möglichkeit geben, die Benutzung von Ressourcen auszuhandeln. So ist es zum Beispiel häufig notwendig, gegenseitigen
Ausschluss zu realisieren.
• Zeitverhalten: Viele eingebettete Systeme müssen Echtzeitanforderungen erfüllen. Explizite Zeitbedingungen sind daher eine der wichtigsten Eigenschaften
eingebetteter Systeme, was durch den Begriff „cyber-physikalische Systeme”
noch besser zum Ausdruck kommt. Zeit ist eine der wichtigsten Dimensionen
der Physik. Daher müssen Zeitbedingungen in der Spezifikation eingebetteter
und cyber-physikalischer Systeme erfasst werden.
Précédent

- 55/485

Suivant