Loading…
Thumbnail Image

Simulation and Animation of Visual Languages based on Typed Algebraic Graph Transformation

Ermel, Claudia

In den letzten Jahren haben visuelle Modelle in der Software- und Systementwicklung ständig an Bedeutung gewonnen, wie die weite Verbreitung von Diagrammtechniken wie UML und Petrinetze beweist. Bei der Formalisierung der Semantik visueller Modelle spielt die Transformation von Graphen eine zentrale Rolle. Das Gebiet der Graphtransformation bietet einen regelbasierten Rahmen zur formalen Definition von Syntax und Semantik visueller Modelle. Die wohlfundierte Theorie bildet die Basis für formale Resultate über Eigenschaften graphbasierter Modelle in verschiedenen Entwicklungsstadien. Das Hauptziel dieser Arbeit ist es, den Validierungsprozess visueller Verhaltensmodelle zu verbessern, indem ein formaler Ansatz und eine Werkzeugunterstützung für Simulation und Animation, basierend auf Graphtransformation, entwickelt wird. Um dieses Ziel zu erreichen, werden sogenannte Animationssichten (animation views) vorgeschlagen, die es erlauben, ausgewählte Aspekte des Modellverhaltens im Layout des entsprechenden Anwendungsbereichs zu visualisieren, anstatt, wie üblich, den Wechsel der Modellzustände durch Elemente der abstrakten Modellierungssprache darzustellen (wie z.B. durch Änderung der Markierung eines Petrinetzes). So gewinnt man einen besseren Einblick in das Modellverhalten und erkennt eher Unstimmigkeiten und bisher nicht erfüllte Anforderungen an das Modell. Darüberhinaus gestatten Animationssichten auch die Animation von Verhaltensszenarien, d.h. Zustandsübergänge werden als fließende Bewegungen dargestellt anstatt als diskrete Schritte. Formalisiert wird das Verhalten eines Modells als Graphtransformationssystem, die Simulationsspezifikation, getypt über dem Alphabet der visuellen Modellierungssprache. Eine Animationssicht erweitert dieses Alphabet durch Symbole des Anwendungsbereichs des Modells. Die Simulationsspezifikation wird in die Animationssicht abgebildet durch sogenannte Simulation-Animation-Transformation (S2A-Transformation). Die formale Beschreibung von Simulation, Animation und S2A-Transformation basiert auf dem Doppel-Pushout-Ansatz getypter Graphtransformation. Die formale Basis dient nicht allein der Formalisierung visueller Modelle und ihrer Animationssichten, sondern wird auch dazu genutzt, die semantische Äquivalenz der Diagrammrepräsentation eines Modells und seiner Darstellung in der entsprechenden Animationssicht zu zeigen. Des weiteren beschreibt die Arbeit eine prototypische Werkzeugumgebung für Simulation, S2A-Transformation und Animation. Der existierende Generator visueller Modellierungsumgebungen, GenGED, unterstützt bereits die Definition visueller Modellierungssprachen durch Typgraphen und Syntaxgrammatiken. Die Erweiterung von GenGED gestattet die Definition von Simulationsspezifikationen, -szenarien und Animationssichten. S2A-Transformation wird realisiert durch die Anwendung sogenannter Meta-Regeln auf Graphregeln einer existierenden Grammatik. Über den neuen Animationseditor können Animationsszenarien kontinuierlich visualisiert werden.
In recent years, visual models represented by graphs have become very popular in systems development, as the wide-spread use of UML and Petri nets proves. Visual modeling techniques provide an intuitive, yet precise way to model the structure and behaviour of systems at their natural level of abstraction. Validating model behaviour is one of the main aims of visual behaviour modeling. To express the semantics of visual models, the transformation of graphs plays a similar central role as term rewriting in the traditional case of textual models. The area of graph transformation provides a rule-based setting to define the syntax and semantics of visual models. The well-founded theoretical results support the formal reasoning about graph-based models at all levels. The main objective of this thesis is to improve the validation process for visual behavioural models by providing a formal framework and tool support for simulation and animation based on graph transformation. To attain this goal, the thesis proposes to use animation views for simulation instead of the notation of abstract diagrammatic languages. Animation views allow to simulate visual model behaviour in the layout of the model's application domain, at a freely chosen level of abstraction. Thus, they provide better insights of model behaviour and lead to an earlier detection of inconsistencies and possible missing requirements in the model. Moreover, animation of scenarios may be used, i.e. scenarios may be visualized as smooth movements. In the graph transformation framework, the model behaviour is given by a graph transformation system (the simulation specification) typed over the visual language alphabet. An animation view defines the visual model's application domain by extending the alphabet. A simulation specification is mapped to an animation view by so-called simulation-to-animation model-and-rule transformation (S2A transformation). The formal description of simulation, animation and S2A transformation is based on the double-pushout approach to typed graph transformation. The formal basis is used not only to formalize visual models and their animation views, but also to reason about the semantical equivalence of the visual model's representation in the animation view. We develop requirements that ensure the semantical correctness and completeness of the S2A transformation, i.e. the equivalence of the original simulation specification and the resulting animation specification. Furthermore, the thesis describes the design and implementation of a prototypical tool environment for simulation, animation view definition, S2A transformation and animation. The existing generator for visual environments, GenGED, supports already the definition of visual modeling languages by type graphs and syntax grammars. The extensions of GenGED allow the definition of simulation specifications, scenarios, and animation views. S2A transformation is realized by applying so-called meta rules to the rules of an existing grammar. By the specification of continuous animation operations using the new animation editor, animation scenarios are visualized as smooth movements instead of discrete simulation steps.