Loading…
Thumbnail Image

Visual Modelling and Validation of Distributed Systems

Taentzer, Gabriele

Die Entwicklung von verschiedensten Technologien für verteilte Systeme ist rasant vorangegangen und hat zu einer stetig wachsenden Komplexität von Softwaresystemen dieser Art geführt. Deshalb ist ein präziser Entwurf von verteilten Systemen, der zumindest die wichtigsten Systemaspekte modelliert, sinnvoll. Die Verwendung von formalen Methoden ist üblicherweise auf wenige Aspekte, wie z.B. Performanz und Korrektheit von verteilten Algorithmen, beschränkt. Konsistenzeigenschaften, wie sie beispielsweise bei der gemeinsamen Datennutzung durch verschiedene Prozesse auftreten, sind noch nicht hinreichend untersucht worden. Diese Arbeit befasst sich mit Modellierungs- und Validationskonzepten für verteilte Systeme, wobei wir uns auf die Unified Modeling Language (UML) als visuelle Modellierungssprache sowie Graphtransformation als formalen Validationskalkül einschränken. Um die wichtigsten Anforderungen an das Modellieren von verteilten Systemen zu erfüllen, wurden eine Reihe von Spracherweiterungen an der UML durchgeführt. Zur visuellen Validation von verteilten Systemaspekten wurde der formale Kalkül der verteilten Graphtransformation entwickelt. Dieser Kalkül unterstützt im wesentlichen den Nachweis von Konsistenz- und Nebenläufigkeitsaussagen. Graphen spielen eine zentrale Rolle, wenn es um die präzise Definition der Syntax und Semantik von visuellen Modellierungssprachen geht, denn sie eignen sich hervorragend zum Speichern von mehrdimensionalen Strukturen, speziell visuellen Repräsentationsstrukturen. Folglich sind Graphgrammatiken eine vielversprechende Technik zur Definition von visuellen Sprachen. Theoretische Resultate für Graphtransformation können gewinnbringend eingesetzt werden, um den Parsierungsprozess von visuellen Darstellungen zu beschleunigen und um das funktionale Verhalten von Modeltransformationen zu zeigen. Im Vergleich zu anderen Ansätzen zur Definition von visuellen Sprachen erlauben Graphgrammatiken eine vollständig visuelle Definition, die alle strukturellen Aspekte visuell behandelt. Der in der Arbeit vorgestellte Ansatz stellt eine Grundlage für die präzise Syntax- und Semantikdefinition von visuellen Modellierungssprachen für verteilte Systeme dar.
Distributed system technologies are fast developing and the complexity of networked systems increases. For this reason the precise design of distributed systems is necessary, comprising all key aspects. The employment of formal methods is restricted to few aspects such as performance and correctness of distributed algorithms, while the investigation of consistency issues, as they arise e.g. when data is shared between different sites, is still a challenge. In this work, approaches to visual modelling and validation of distributed systems are considered focussing on the Unified Modeling Language (UML) as visual modelling language and graph transformation as formal validation domain. To meet the main requirements for distributed system modelling, UML has been extended by a number of profiles and heavy-weight language extensions. For visual reasoning about certain key aspects of distributed systems, the formal calculus of distributed graph transformation has been developed. This calculus supports the formal validation of distributed systems, especially concerning concurrency and consistency issues. To precisely defining the syntax and semantics of a visual modelling language like UML, graphs play a central role, since they are well suited to store the multi-dimensional structures behind visual representations. As a consequence, graph grammars are shown to be a promising technique to define visual languages. Theoretical results for graph transformation can be advantageously used to speed up visual parsing and to show the functional behaviour of model translations. Compared to other approaches to visual language definition, graph grammars allow a fully visual approach which handles all structural aspects visually. The presented approach builds the basis for the precise syntax and semantics definition of visual modelling languages for distributed systems.