Refine
Year of publication
Document Type
- Article (9)
- Part of a Book (7)
- Conference Proceeding (1)
- Doctoral Thesis (1)
- Report (1)
Keywords
Institute
- Fakultät für Angewandte Informatik (19)
- Institut für Informatik (19)
- Institut für Software & Systems Engineering (16)
- Lehrstuhl für Softwaretechnik (16)
- Professur Softwaremethodik für verteilte Systeme (16)
- Nachhaltigkeitsziele (5)
- Ziel 3 - Gesundheit und Wohlergehen (3)
- Ziel 9 - Industrie, Innovation und Infrastruktur (2)
- Professur für Programmiermethodik und Multimediale Informationssysteme (1)
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.
During the past years, the modeling paradigm has become one of the predominant trends in the field of software engineering and has been embraced by industry and research alike. An important reason for this development is that models provide an intuitive yet concise way of formalizing the concepts of an application domain along with the relationships that exist between them. As a consequence, this technique now serves as an integral part of popular and widely used software design and development processes such as the Rational Unified Process (RUP) or the Model-driven Architecture (MDA) in order to characterize static and behavioral aspects of software systems. It also drives new approaches in other contexts, e.g. in testing (Model-based Testing), for the implementation and execution of business processes on the basis of high-level descriptions (Business Process Modeling) or through the provisioning of tools aimed at domain experts (Domain-specific Languages).
However, the employment of abstraction (meta) layers to construct languages dates back a lot further than the comparatively new notion of modeling: The syntax of a programming language, usually given in the form of a context-free grammar, forms the basis for parsing language expressions into their respective structural representation. In many respects, the use of metamodels as means of defining the abstract syntax of languages therefore parallels formalisms and techniques common to the area of compiler construction.
As the application fields of modeling expand to new areas where automated processing of the contained information becomes crucial to achieve the desired outcome, the demand for methods enabling advanced analyses of the modeled content increases. Since models themselves represent a layer of abstraction w.r.t. domain-specific runtime (or "real world") semantics, their elements can be subjected to a static analysis, i.e. an assessment of their static properties which are guaranteed to hold for all instances.
Contemporary techniques for model analysis, such as the widely-used Object Constraint Language (OCL), suffer from many shortcomings with respect to their expressiveness. The conceptual similarities between the domains of modeling and compiler construction gave rise to the idea of applying the powerful and well-understood methods for static validation and optimization of formal language expressions - namely attribute grammars and data-flow analysis - to models. Hence, this thesis introduces the notion of flow-based static model analysis to enable the demand-driven, context-sensitive extraction and validation of a model's static properties and evaluates the applicability of this approach in the context of several case studies.