Im Software Engineering werden heutzutage verstärkt modellbasierte Entwicklungsansätze eingesetzt, in denen konzeptuelle Modelle mit präzise definierter Semantik für die Beschreibung von Software-Systemen verwendet werden. Durch die Beschränkung auf wesentliche Merkmale und die Möglichkeit die Struktur der Modelle und Modelloperationen in geeigneter Weise zu beschränken tragen diese Ansätze maßgeblich zur Steigerung der Effizienz des Entwicklungsprozesses und der Qualität der erstellten Software-Produkte bei. Die Bearbeitung konzeptueller Modelle erfolgt in der Regel durch geeignete Beschreibungstechniken, anhand derer sich Sichten auf ein konzeptuelles Modell bilden lassen. Im Rahmen dieser Arbeit werden Techniken erarbeitet, mit denen sich Beschreibungstechniken durch Transformationen ihrer abstrakten Syntax in ein einheitliches konzeptuelles Modell integrieren lassen. Oftmals werden im Verlauf eines Software-Entwicklungsprozesses konzeptuelle Modelle eines Systems auf verschiedenen Abstraktionsebenen erstellt, die im Idealfall in Teilen durch automatisierte Verfeinerungsabbildungen auseinander hervorgehen. Hierzu werden Verfahren entwickelt, die eine konsistente Verfeinerung und Erweiterung konzeptueller Modelle ermöglichen. Ein klar definierter Entwicklungsprozess bietet Entwicklern zudem die nötige Hilfestellung bei der Spezifikation und Erstellung eines Software-Systems. Zu diesem Zweck wird ein Framework für die Definition flexibler Entwicklungsprozesse geschaffen, in dem Entwicklungsschritte als Transformationen eines Modells der im Entwicklungsprozess erstellten Artefakte definiert werden. Die Beschaffenheit korrekter Modelle wird durch Metamodelle definiert. Bedingt durch ihre einfache Abbildbarkeit auf eine Werkzeugunterstützung sind im Software Engineering vor allem objektorientierte Metamodelle weit verbreitet. Um die erarbeiteten Konzepte zur modellbasierten Entwicklung umsetzen zu können, wird die "Bidirectional Object-Oriented Transformation Language" (BOTL) als geeigneter Mechanismus für die Transformation objektorientierter Modelle entwickelt. Die Sprache verfügt über eine formale Semantik und bietet eine Reihe von Verifikationstechniken zum Nachweis der Ausführbarkeit von Transformationsspezifikationen und der syntaktischen Korrektheit der erzeugten Modelle. Der Einsatz von BOTL für die Realisierung eines modellbasierten Entwicklungsansatzes wird dargestellt und ihre Verwendung für die Umsetzung der verschiedenen Techniken exemplarisch anhand der KOGITO-Methodik für das Requirements Engineering demonstriert. Die Realisierbarkeit der erarbeiteten Ansätze zur Modelltransformation in der Praxis wird anhand eines im Rahmen der Arbeit entstandenen Werkzeuges belegt. Das Werkzeug erlaubt die graphische Spezifikation von BOTL-Transformationen und deren automatisierte Verifikation. Eine Transformationskomponente ist schließlich in der Lage objektorientierte Modelle in unterschiedlichen Darstellungen, wie Java-Objektgeflechte oder XMI, gemäß einer BOTL-Spezifikation zu transformieren.
«
Im Software Engineering werden heutzutage verstärkt modellbasierte Entwicklungsansätze eingesetzt, in denen konzeptuelle Modelle mit präzise definierter Semantik für die Beschreibung von Software-Systemen verwendet werden. Durch die Beschränkung auf wesentliche Merkmale und die Möglichkeit die Struktur der Modelle und Modelloperationen in geeigneter Weise zu beschränken tragen diese Ansätze maßgeblich zur Steigerung der Effizienz des Entwicklungsprozesses und der Qualität der erstellten Software...
»