Statechart-basierter Systementwurf

englische Seite
     
 

Kürzere Entwicklungszyklen und die wachsende Komplexität reaktiver Systeme sowie ihr Einsatz in sicherheitskritischen Bereichen wie Flugzeugsteuerungen bedingen im Hardware-Software-Codesign den Einsatz von formalen und abstrakten Modellierungssprachen wie Statecharts. Sie basieren auf endlichen Zustandsautomaten, die um die Konzepte Hierarchie, Parallelität und Broadcasting erweitert sind.

Video zum statechart-basierten Autoradio-Entwurf (1:00 min, 8,5 MB, MPEG, 352x288)

 
     

Statecharts und die Reaktionszeiten ihrer Software-Implementierungen
(Claude Ackad)

     
 

STATEMATE ist ein kommerzielles CAD-Tool, das die Modellierung reaktiver Systeme mit Statecharts erlaubt. Statechart-Modelle können analysiert, animiert und in Hardware, Software oder beides abgebildet werden.

Code-Erzeuger generieren schnell und automatisch Software-Implementierungen; der generierte C-Code besteht im wesentlichen aus if-then-else- und switch-Anweisungen sowie Zuweisungen.

Für Realzeit-Anwendungen muss die Einhaltung einer maximalen Reaktionszeit (Worst-Case-Execution-Time, WCET) der Software-Implementierung garantiert werden. Ihre WCET hängt vom Statechart-Modell sowie dem Code-Erzeuger ab und entspricht der längsten Zeit für einen Statechart-Schritt und einer garantierten Mindestleistung. Modellteile mit zu geringer Leistung können durch Hardware-Komponenten ersetzt werden.

Das Projekt SCOT (Statechart Compilation for Optimized reaction Time) hat die Umsetzung von Statecharts in WCET-optimierte Software-Implementierungen (Maschinenprogramme) zum Ziel (Bild 1). Es wird u.a. ein Code-Erzeuger für Statechart-Modelle entwickelt. Er wandelt ein Statechart-Modell in einen speziellen Graphen (Ausführungsgraph) um, schätzt die Knotenausführungszeiten und erzeugt einen bzgl. WCET optimierten C-Code. Bei exemplarischen Statechart-Modellen konnte die WCET um 30-70% verkürzt und die Mindestleistung entsprechend erhöht werden.

Vom Statechart zum optimierten Maschinenprogramm mit SCOT

Bild 1: Vom Statechart zum optimierten Maschinenprogramm mit SCOT

 
     

Statecharts in der Hochleistungskommunikation
(Claude Ackad)

     
 

Neuartige Anwendungen wie Multimedia oder Telekonferenzen erfordern eine hohe Übertragungsleistung sowohl der Netzwerke als auch der Endgeräte. Parallele Übertragungssysteme bieten deutlich höhere Übertragungsraten als z.B. TCP/IP. Aufgrund paralleler Übertragungsfunktionen bieten sich Statecharts für die Spezifikation an, aus denen semi-automatisch eine Hardware-Software-Implementierung abgeleitet wird.

Das parallele Übertragungssystem Patroclos wurde mit Statecharts modelliert. Die Arbeitsweise von Patroclos z.B. beim Verbindungsaufbau konnte durch interaktive Simulation verfolgt werden. Das Statechart-Modell wurde in eine Hardware-Partition für zeitkritische Funktionen und eine Software-Partition für zeitunkritische Funktionen zerlegt. Letztere wurde in ein Maschinenprogramm abgebildet, während die Hardware-Partition in eine Hardware-Beschreibungssprache und mit dem Design-Compiler von SYNOPSYS sowie XACT von XILINX in die Konfigurationen geeigneter programmierbarer Logikbausteine (FPGAs) übersetzt wurde.

Die Übertragungsfunktionen waren zunächst deutlich zu umfangreich für die verwendeten FPGAs. Die besondere Herausforderung lag in der geschickten Änderung des Statechart-Modells für die Hardware-Partition, so dass die Werkzeugkette STATEMATE-SYNOPSYS-XACT Konfigurationen für die XC4020-FPGAs erzeugen konnte. Dazu waren jeweils bis zu 100 Versuche erforderlich. Es wurden Statechart-Konstrukte identifiziert, die besonders viele FPGA-Ressourcen benötigen und daher vermieden werden sollten. Diese Erkenntnisse haben exemplarischen Charakter für künftige ähnliche Anwendungen.

Ideen in der Hochleistungskommunikation müssen praktisch getestet werden. Deswegen wurde in Kooperation mit der Forschungsgruppe Hochleistungskommunikation und multimediale Systeme (Prof. Zitterbart) eine Hardware-Software-Plattform für Patroclos als PC-Steckkarte entwickelt (Bild 2). Sie enthält neben den FPGAs und einem i960-Mikroprozessor für das Maschinenprogramm der Software-Partition eine ATM-Karte.

Claude Ackad neben einem Prototypen mit FPGA-Board

Bild 2: Claude Ackad neben einem Prototypen mit FPGA-Board

Die Implementierung von Patroclos auf der Hardware-Software-Plattform wurde erfolgreich in Betrieb genommen. Zwei Rechner mit jeweils einer Steckkarte tauschten Daten miteinander aus. Das Zusammenspiel von i960 und FPGAs konnte mit einem Logic-Analyzer und speziellen Debug-Schnittstellen aufgezeichnet und nachvollzogen werden.

 
     

Komplexe Flugzeug-Steuerungssysteme mit Statecharts
(Claude Ackad)

     
 

Airbus

Bild 3: Airbus

Im Rahmen einer Kooperation mit dem Flugzeughersteller DaimlerChrysler Aerospace Airbus GmbH wird die Einsatzmöglichkeit von Statecharts bei der Flugzeugentwicklung untersucht. Dazu werden die übersichtliche Modellierung von Flugzeugsteuerungen mit Statecharts, deren Simulation und die Kopplung mit anderen Werkzeugen wie MatrixX durchgeführt.

Es wurden Statechart-Modelle für zentrale Komponenten des Redundanzmanagements und der Höhensteuerung des Versuchsflugzeugs VFW 614 sowie die Airbus-Landeklappensteuerung erstellt und simuliert. Entscheidend für die Übersichtlichkeit des Modells war der ergänzende Einsatz von STATEMATE-Beschreibungsmitteln wie Zustandsübergangstabellen.

Die Statechart-Modelle müssen oft von statechart-ungeübten Anwendern verwendet werden. Mit Hilfe von grafischen Benutzeroberflächen (Panels) kann das Verhalten für solche Anwender komfortabel geprüft werden. Panel stellen Abbilder der gesteuerten Systeme dar und erlauben die Ausgabe sowie Änderung wichtiger Statechart-Variablen durch Elemente wie Regler, Knöpfe und Anzeigen. Der Anwender kann durch Betätigung dieser Elemente Störungen wie den Ausfall von Hydraulikpumpen erzeugen, auf die das Statechart-Modell geeignet reagieren muss. In Bild 4 werden im oberen Teil die Höhenruder mit je zwei Hydraulikpumpen und im unteren Teil der Zustand der beiden Flugsteuerrechner (PFCUs) dargestellt. In PFCU 2 ist das linke IOM-Modul ausgefallen, und das rechte hat die Steuerung durch Wechseln in ACTIV übernommen.

Panel der Höhenrudersteuerung

Bild 4: Panel der Höhenrudersteuerung: Ausfall eines IOM-Moduls