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