Suche

Ein Verfahren zur Struktur- und Verhaltensanalyse von UML-Diagrammen durch Attribute


Diplomarbeit, September 2008

Kurzfassung

Metamodellierung ist ein konzeptioneller Ansatz zur Formalisierung der Objektstruktur einer Anwendungsdomäne, der aktuell in der Softwaretechnik, aber auch in anderen Bereichen der Informatik, große Verbreitung findet. Im Gegensatz zu der, durch das Metamodell festgelegten, abstrakten Syntax lässt sich die Semantik eines Modells durch die momentan zur Verfügung stehenden Methodiken jedoch nur unzureichend beschreiben und überprüfen.

Diese Arbeit entwickelt eine flexible und dynamische Technik zur statischen semantischen Analyse von Modellstrukturen, die auf einer Übertragung des auf kontextfreien Grammatiken definierten Attributierungskonzepts auf UML-Metamodelle beruht.

Basierend auf diesem Verfahren wird zudem eine Variante des Datenflussanalyse- Algorithmus vorgestellt, die den Informationsfluss zwischen Modellelementen ermittelt, wodurch Erkenntnisse über das Verhalten auf Instanzebene gewonnen werden können.

Der praktische Einsatz der beschriebenen Techniken wird anhand eines Anwendungsbeispiels und einer prototypischen Implementierung demonstriert.

Abstract

Meta modeling is a conceptual approach to the formalization of the object structure in an application domain and is currently gaining influence in software engineering as well as other areas of computer science. However, in contrast to the definition of the abstract syntax by a meta model, the currently available methods for description and validation of model semantics are not sufficient.

This thesis develops a flexible and dynamic technique for the semantic analysis of model structures that is based on an adaption of the concept used to attribute context-free grammars and is able to operate on UML meta models. Additionally, an attribute-based variant of the data flow analysis algorithm is presented, which allows to identify the information flow between model elements in order to study the model behavior on the instance level. The practical use of the described techniques will be demonstrated on the basis of an example use case and a prototypic implementation.