Spezifikation von Echtzeit-Automatisierungssystemen mit HybridUML

Author: Kirsten Berkenkötter, Stefan Bisanz, Ulrich Hannemann and Jan Peleska

Abstract (German):
Komplexe Automatisierungssysteme erfordern Spezifikationsformalismen, welche die Beschreibung von Echtzeitanforderungen sowohl in Bezug auf diskrete als auch zeitlich kontinuierliche Beobachtungsgrößen ermöglichen. Zu diesem Zweck haben die Autoren die Spezifikationssprache HybridUML entworfen. Diskrete Ereignisse, Kommunikation, sowie Variablenzuweisungen werden durch Zustandsmaschinen, Stoppuhren ({\sl ``Timer''}) und Invarianten beschrieben. Die zeitlich kontinuierlichen Aspekte des Systemverhaltens stellt man mit Hilfe von Differentialgleichungen oder zeitabhängigen algebraischen Bedingungen dar, welche den Systemzuständen zugeordnet werden. Der Komplexität großer Systeme begegnet man durch die Zerlegung von Spezifikationen in parallele Subkomponenten und hierarchisch angeordnete Zustandsmaschinen. Anstelle eine neuartige Syntax zu erfinden, wird HybridUML als Profil der {\sl Unified Modeling Language UML~2.0} definiert. Dies erlaubt die Wiederverwendung des syntaktischen Rahmens gut eingeführter grafischer UML-Konstrukte und bietet Entwicklungsunterstützung durch verschiedene UML CASE-Werkzeuge. Das Profil ist mit einer präzisen Sprachsemantik ausgestattet, die allen HybridUML-Spezifikationen eine eindeutige Interpretation zuordnet. Infolgedessen können HybridUML-Spezifikationen in ausführbaren Code übersetzt werden, der für die Ausführung auf Mehrprozessorsystemen in harter Echtzeit geeignet ist. Diese Eigenschaft wird sowohl für die Entwicklung von Automatisierungssystemen als auch für spezifikationsbasiertes Testen in Echtzeit ausgenutzt. Der vorliegende Beitrag gibt eine Einführung in HybridUML, die durch ein Beispiel aus dem Bereich automatisierter Zugsteuerungen veranschaulicht wird.

Abstract (English):
Complex automation systems require specification formalisms supporting the description of real-time requirements with respect to both discrete and time-continuous observables. For this purpose, the authors have designed the HybridUML specification language. Discrete events, communication, and variable assignments are specified by state machines, timers, and invariant conditions. The time-continuous aspects of system behaviour are described by associating differential equations or time-dependent algebraic conditions with system states. The complexity of large systems is controlled by decomposing the specification into parallel components and hierarchical state machines. Instead of inventing a new language syntax, HybridUML is represented as a profile of the Unified Modeling Language UML~2.0. This allows to re-use the syntactic framework of well-accepted graphical UML constructs and development support provided by various UML case tools. The profile is associated with a precise language semantics linking unambiguous meaning to all HybridUML specifications. As a consequence, HybridUML specifications can be compiled into executable code which is suitable for execution in hard real-time on multi-processor computers. This serves both for the development of automation systems and for specification-based testing in real-time. This paper contains an introduction to HybridUML which is illustrated by an example from the field of automated train control.

atp - Automatisierungstechnische Praxis