Holmes, T. (2010). Supporting model-based reflection, monitoring, and evolution in service-oriented architectures through model-aware systems [Dissertation, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/159951
Die Komplexität servicebasierter Internetsysteme steigt zunehmend, da sie verschiedene Technologien verwenden und konsolidieren, für neue und aufstrebende Technologien adaptiert werden und auferlegten Anforderungen genügen müssen. Viele dieser Systeme sind in Form von präzise spezifizierten Modellen beschrieben; zum Beispiel im Kontext der modellgetriebenen Entwicklung. Während in der modellgetriebenen Entwicklung Modelle hauptsächlich zur Designzeit zum Einsatz kommen, sind wir der Ansicht, dass servicebasierte Systeme besser analysiert und überwacht werden können, wenn Modellinformationen zur Laufzeit zugänglich sind.Zurzeit können modellgetriebene Systeme jedoch nicht auf Modelle zugreifen; z.B. auf Anforderungsmodelle oder aber auf Systemmodelle, von denen sie generiert wurden. Gründe dafür sind fehlende Rückverfolgbarkeitsinformationen nach einem Generationsschritt und Modelländerungen, die eine Koevolution von abhängigen Artefakten und Systemen erfordern. Die Konsolidierung der Modellnutzung und des -managements von Modellen zur Entwicklungs- und Laufzeit wird im Rahmen dieser Dissertation erarbeitet. Hierfür schlagen wir vor, Modelle und deren Elemente eindeutig identifizierbar und in einer verteilten Umgebung abrufbar zu machen und präsentieren modellbewusste Systeme, die die Fähigkeit haben, über Modelle zur Laufzeit zu reflektieren. Für das Monitoring von Anforderungen modellgetriebener Systeme benutzen wir Modellierungstechniken, um Systemanforderungen zu spezifizieren. Wir verbinden diese auf konzeptioneller Ebene mit Modellen, von denen Systeme generiert werden und wenden einen ereignisbasierten Ansatz für modellbewusstes Monitoring, das System- und Anforderungsmodelle in Beziehung bringt, an. In einer industriellen Fallstudie demonstrieren wir, wie das Monitoring von Anforderungen im Compliance Bereich von unserem Ansatz für die Überprüfung von Verletzungen profitieren kann und zeigen, wie modellbewusstes Monitoring die Ursachenanalyse solcher Verletzungen erleichtern kann. Um eine Modellevolution zu unterstützen, studieren wir die Navigationskompatibilität von Modelländerungen, präsentieren einen Algorithmus zur Bestimmung solcher Kompatibilität und stellen eine in Kombination mit Universal Eindeutigen Identifizierern geeignete transparente Modellversionierungstechnik vor, sodass modellbewusste Systeme sich zu jeder Zeit auf ein Modell in einer spezifischen Version beziehen können.<br />
de
Today, service-based Internet systems have become increasingly complex as they comprise and consolidate various technologies, are adapted for new and emerging technologies, and need to comply with imposing requirements. Many of these systems are described in terms of precisely specified models, e.g., in the context of model-driven development (MDD). While models in MDD are primarily used at design time, we argue that by making the information of these models accessible at runtime, we can provide better means for analyzing and monitoring the service-based systems. Currently, model-driven systems are either not aware of their requirements or of the models from which they have been generated. Reasons for this are missing traceability information after a generation step and changes of models that demand the co-evolution of depending artifacts and systems. This, in turn, is impractical for runtime systems that need to operate continuously. This thesis aims at adopting models at runtime, i.e., consolidating design- and runtime use and management of models. For this we propose to make models and model elements uniquely identifiable and retrievable within a distributed environment and present model-aware systems that are capable of reflecting on models at runtime. For the requirements monitoring of model-driven systems we further utilize modeling techniques for specifying system requirements, link these with the models from which systems are generated on a conceptual, modeling level, and employ an event-based approach for model-aware monitoring that relates system and requirement models. In an industrial case study we demonstrate how compliance monitoring can benefit from model-aware monitoring for checking violations at runtime, and show how our approach can ease the root cause analysis of such violations. For supporting model evolution scenarios we conduct a study of the navigation compatibility of model changes, present an algorithm for determining such compatibility, and present a transparent model versioning technique that is suitable in combination with Universally Unique Identifiers, so that a model-aware service can always relate to a model in a particular version.