14 research outputs found
Qualitätssicherung von Modelltransformationen - Über das dynamische Testen programmierter Graphersetzungssysteme
Modelle und Metamodelle repräsentieren Kernkonzepte der modellgetriebenen Softwareentwicklung (MDSD). Programme, die Modelle (unter Bezugnahme auf ihre Metamodelle) manipulieren oder ineinander überführen, werden als Modelltransformationen (MTs) bezeichnet und bilden ein weiteres Kernkonzept. Für dieses klar umrissene Aufgabenfeld wurden und werden speziell angepasste, domänenspezifische Transformationssprachen entwickelt und eingesetzt.
Aufgrund der Bedeutung von MTs für das MDSD-Paradigma ist deren Korrektheit essentiell und eine gründliche Qualitätssicherung somit angeraten. Entsprechende Ansätze sind allerdings rar. In der Praxis erweisen sich die vornehmlich erforschten formalen Verifikationsansätze häufig als ungeeignet, da sie oft zu komplex oder zu teuer sind. Des Weiteren skalieren sie schlecht in Abhängigkeit zur Größe der betrachteten MT oder sind auf Abstraktionen bezogen auf die Details konkreter Implementierungen angewiesen. Demgegenüber haben testende Verfahren diese Nachteile nicht. Allerdings lassen sich etablierte Testverfahren für traditionelle Programmiersprachen aufgrund der Andersartigkeit der MT-Sprachen nicht oder nur sehr eingeschränkt wiederverwenden. Zudem sind angepasste Testverfahren grundsätzlich wünschenswert, da sie typische Eigenschaften von MTs berücksichtigen können. Zurzeit existieren hierzu überwiegend funktionsbasierte (Black-Box-)Verfahren.
Das Ziel dieser Arbeit besteht in der Entwicklung eines strukturbasierten (White-Box-)Testansatzes für eine spezielle Klasse von Modelltransformationen, den sog. programmierten Graphtransformationen. Dafür ist anhand einer konkreten Vertreterin dieser Sprachen ein strukturelles Überdeckungskonzept zu entwickeln, um so den Testaufwand begrenzen oder die Güte der Tests bewerten zu können. Auch müssen Aspekte der Anwendbarkeit sowie der Leistungsfähigkeit der resultierenden Kriterien untersucht werden.
Hierzu wird ein auf Graphmustern aufbauendes Testüberdeckungskriterium in der Theorie entwickelt und im Kontext des eMoflon-Werkzeugs für die dort genutzte Story- Driven-Modeling-Sprache (SDM) praktisch umgesetzt. Als Basis für eine Wiederverwendung des etablierten Ansatzes der Mutationsanalyse zur Leistungsabschätzung des Kriteriums hinsichtlich der Fähigkeiten zur Fehlererkennung werden Mutationen zur synthetischen Einbringung von Fehlern identifiziert und in Form eines Mutationstestrahmenwerks realisiert. Letzteres ermöglicht es, Zusammenhänge zwischen dem Überdeckungskonzept und der Mutationsadäquatheit zu untersuchen. Im Rahmen einer umfangreichen Evaluation wird anhand zweier nichttrivialer Modelltransformationen die Anwendbarkeit und die Leistungsfähigkeit des Ansatzes in der Praxis untersucht und eine Abgrenzung gegenüber einer quellcodebasierten Testüberdeckung durchgeführt.
Es zeigt sich, dass das entwickelte Überdeckungskonzept praktisch umsetzbar ist und zu einer brauchbaren Überdeckungsmetrik führt. Die Visualisierbarkeit einzelner Überdeckungsanforderungen ist der grafischen Programmierung bei Graphtransformationen besonders nahe, so dass u. a. die Konstruktion sinnvoller Tests erleichtert wird. Die Mutationsanalyse stützt die These, dass die im Hinblick auf Steigerungen der Überdeckungsmaße optimierten Testmengen mehr Fehler erkennen als vor der Optimierung. Vergleiche mit quellcodebasierten Überdeckungskriterien weisen auf die Existenz entsprechender Korrelationen hin. Die Experimente belegen, dass die vorgestellte Überdeckung klassischen, codebasierten Kriterien vielfach überlegen ist und sich so insbesondere auch für das Testen von durch einen Interpreter ausgeführte Transformationen anbietet
Pattern-Oriented Transformations between Analysis and Design Models (POTAD)
One answer to many current challenges in the electronic domain of
automotive development, is a continuous model-based engineering process
that integrates models of system and software development. A system model
describes by the use of the logical system architecture the func-tions of a
vehicle and through the technical system architecture the realising
electronics, such as control units, sensors/actuators and data busses.
During software development, a software design model for selected functions
of the logical system architecture must be constructed with consideration
of the technical architecture and further requirements. Current model-based
development approaches claim to automate the transition between different
development phases by the concept of model transformations. This concept
lends itself to generate a skele-ton of the software design model from the
system architecture model, thereby automating a part of the software
engineering activities. The analysis of this work shows that the collected
domain specific requirements, which must be made on a model transformation
mechanism for such a scenario, are not fulfilled by current approaches. The
approach taken in this work, the Pattern-Oriented Transformations between
Analysis and Designmodels (POTAD) uses the system architecture as an
analysis model within software development and systemizes the connection
with the design model on the basis of analysis and design patterns. By
means of this systematisation, a POTAD transformation rule instantiates for
an analysis pattern different design patterns under consideration of
non-functional requirements and the technical system architecture. At the
same time, links between an analysis and design pattern are created, which
are used to trace design decision later. The feasibility of the solution is
shown by a prototype, which follows the POTAD development process and
executes the transformation rules formulated in the POTAD transformation
lan-guage.POTAD was verified by several student works based on a case
study, which covers typical characteristics of the examined domain. The
results of these works showed the suitability and improved the methodology
as well as the transformation language and pointed out the limits of the
approach taken.Eine Antwort auf viele aktuelle Anforderungen im
Elektrik/Elektronik-Bereich der Fahrzeugent-wicklung ist ein durchgängig
modellbasierter Entwicklungsprozess, der Modelle der System- und
Softwareentwicklung integriert. Ein Systemmodell beschreibt mit der
logischen System-architektur die Funktionen eines Fahrzeugs und mit der
technischen Systemarchitektur die realisierende Elektrik/Elektronik, wie z.
B. Steuergeräte, Sensoren/Aktoren und Bussysteme. Im Rahmen der
Softwareentwicklung muss für einzelne Funktionen aus der logischen
System-architektur unter Berücksichtigung der technischen Systemarchitektur
und weiterer An-forderungen ein Softwaredesignmodell erstellt werden.
Aktuelle modellbasierte Entwicklungs-ansätze versprechen mit Hilfe des
Konzepts der Modelltransformation den Übergang zwischen Modellen
unterschiedlicher Entwicklungsphasen automatisieren zu können. Dieses
Konzept bietet sich dazu an, aus einem Systemarchitekturmodell ein
Grundgerüst eines Softwaredesign-modells zu erzeugen und damit einen Teil
der Softwareentwicklungsaktivitäten zu auto-matisieren.Die Analyse dieser
Arbeit zeigt, dass die erarbeiteten domänenspezifischen Anforderungen, die
für solch ein Szenario an einen Modelltransformationsmechanismus gestellt
werden müssen, durch aktuelle Ansätze nicht vollständig erfüllt werden. Der
eigene Ansatz Pattern-Oriented Transformations between Analysis and
Designmodels (POTAD) verwendet die logische Systemarchitektur im Rahmen der
Softwareentwicklung als Analysemodell und systematisiert dessen
Zusammenhang mit dem Designmodell auf der Basis von Analyse- und
Designmustern. Für ein im Analysemodell gefundenes Analysemuster
instanziiert eine POTAD-Transformationsregel mit Hilfe dieser Systematik in
Abhängigkeit nichtfunktionaler An-forderungen und der technischen
Systemarchitektur unterschiedliche Designmuster im Design-modell.
Gleichzeitig werden Verknüpfungen zwischen den Analyse- und Designmustern
angelegt, die zur späteren Verfolgung von Designentscheidungen genutzt
werden. Anhand eines dem POTAD-Entwicklungsprozess folgenden Prototyps, der
die in der POTAD-Transformationssprache formulierten Regeln ausführen kann
und die Verfolgbarkeit werkzeug-seitig unterstützt, wird die
Realisierbarkeit des Lösungsansatzes gezeigt. POTAD wurde durch
studentische Arbeiten anhand einer Fallstudie überprüft, die typische
Eigenschaften der betrachteten Domäne abdeckt. Die Ergebnisse dieser
Arbeiten haben die Tauglichkeit von POTAD gezeigt, die Methodik und die
Transformationssprache verbessert und Grenzen aufgezeigt
Middleware für Ubiquitäre Systeme: Ein Modellgetriebener Ansatz
Dieser Dissertation liegt die Hypothese zugrunde, dass modell-getriebene Softwareentwicklung (MDSD) den Widerspruch zwischen "top-down"- und "bottom-up"- Entwicklung durch einen "middle-out" Ansatz auflöst, welcher zwischen Technologie und Abstraktion vermittelt. MDSD wird als Mittel verwendet, um Middleware für Ubiquitäre Systeme auf dem einen Turm von Modellen zu bauen, ohne den Bezug zur konkreten Technologie zu verlieren
Modellbasierte Generierung von Benutzungsoberflächen
Die Arbeit stellt einen integrierten Gesamtprozess zur modellgetriebenen Softwareentwicklung von Benutzungsschnittstellen und Geschäftslogik vor.
Dazu notwendige und unterstützende Deklarationsmodelle, sowie Modelltransformationen für dieses Verfahren, werden entwickelt und präsentiert. Weiterhin werden Meta-Modelle für Aufbau und Wartung eines HCI-Patternkatalogs vorgestellt und zur Erstellung eines solchen Kataloges benutzt. Die darin enthaltenen Einträge werden in Bezug auf Ihre softwaretechnische Komponentisierbarkeit untersucht und klassifiziert.The thesis presents an integrated model-driven approach for developing software. This approach supports the generation of user interfaces, as well as artifacts of business logic.
Suitable meta models and model transformations are developed and explained. Secondly, this thesis dwells on the topic of HCI patterns. It is researched how such patterns may be classified, componentized and made use of in a model-driven process. This work eventually yields a pattern language, whose entries are declared using state-of-the-art model-driven technologies
Modellierung und Generierung von Benutzeroberflächen für interaktive Softwaresysteme unter der Nutzung von Mustern
Die Dissertation umfasst den Entwurf einer Entwicklungsumgebung für Benutzeroberflächen, der modell- und musterbasierte UI-Entwicklung zu einem integrierten Entwicklungs- und Generierungsansatz kombiniert. Die Grundlagen der modell- und musterbasierten Entwicklung werden dargestellt und existierende Implementierungen analysiert. Die Ergebnisse der Untersuchungen fließen in den Entwurf der kombinierten Entwicklungsumgebung, der detailliert beschrieben wird, ein. Die Arbeit beinhaltet eine Fallstudie, die die praktische Bedeutung der theoretischen Ausführungen verdeutlicht
Eine Sprache für die Spezifikation disziplinübergreifender Änderungsausbreitungsregeln
In der Änderungsausbreitungsanalyse wird untersucht, wie sich Änderungen in Systemen ausbreiten. Dazu werden unter anderem Algorithmen entwickelt, die identifizieren, welche Elemente in einem System von einer Änderung betroffen sind. Für die Anpassung bestehender Algorithmen existiert keine spezielle Sprache, weshalb Domänenexperten universelle Programmiersprachen, wie Java, verwenden müssen, um Änderungsausbreitungen zu formulieren. Durch den imperativen Charakter von Java, benötigen Domänenexperten mehr Code und mehr Wissen über Implementierungsdetails, als sie mit einer, auf die Änderungsausbreitungsanalyse zugeschnittenen, Sprache bräuchten. Eine Sprache sollte stets an den Algorithmus der jeweiligen Änderungsausbreitungsanalyse angepasst sein. Für den in dieser Arbeit betrachteten Ansatz zur Änderungsausbreitungsanalyse mit der Bezeichnung Karlsruhe Architectural Maintainability Prediction (KAMP), besteht noch keine spezielle Sprache. KAMP ist ein Ansatz zur Bewertung architekturbasierter Änderungsanfragen, der in einem gleichnamigen Softwarewerkzeug implementiert ist. Diese Arbeit präsentiert mit der Change Propagation Rule Language (CPRL) eine spezielle Sprache für den, in KAMP verwendeten, Algorithmus der Änderungsausbreitungsanalyse. Zum Abschluss wird der Vorteil der entwickelten Sprache, gegenüber drei konkurrierenden Sprachen, ermittelt. Die Arbeit kommt zum Schluss, dass CPRL kompakter als konkurrierende Sprachen ist und es gleichzeitig erlaubt die Mehrheit an denkbaren Änderungsausbreitungen zu beschreiben
Codegeneratoren für MOF-basierte Modellierungssprachen
Umfang und Funktionalität eingesetzter Softwaresysteme nehmen beständig zu. Zudem wird Software immer häufiger in Bereichen eingesetzt, die spezielle Anforderungen an die Qualität der eingesetzten Software stellen. Modellbasierte Softwareentwicklung wird als vielversprechender Ansatz angesehen, die daraus entstehenden Anforderungen zu bewältigen. In den vergangenen Jahren wurde eine Vielzahl modellbasierter Ansätze zur Softwareentwicklung vorgestellt. Viele dieser Ansätze verwenden die Unified Modeling Language (UML), um die Modelle zu notieren. In letzter Zeit gewinnt die Model Driven Architecture (MDA) zunehmend an Bedeutung, die in erheblich stärkerem Maße als andere Ansätze auf die automatische Abbildung von Modellen auf den Code der Zielplattform setzt. Um die Ziele der MDA zu erreichen, werden domänenspezifische Anpassungen von Modellierungssprachen benötigt. Eine Möglichkeit, entsprechende Anpassungen für die UML zu definieren, ist die Metamodellierungssprache Meta Object Facility (MOF), da diese auch zur Definition der UML verwendet wird. Im Vortrag wird ein Baukasten vorgestellt, der die Entwicklung von Codegeneratoren für Modellierungssprachen erleichtert, die durch ein MOF-Modell definiert sind
Situationsgerechte Methodenweiterentwicklung auf Basis von MetaMe am Beispiel der Server-System-Entwicklung
Die Einführung domänenspezifischer Entwicklungsmethoden in Unternehmen birgt Risiken. Der Aufwand, der aus einer kompletten Ersetzungeiner bestehenden Entwicklungsmethode hervorgeht, kann sehr umfangreich sein und dadurch sind die Investitionskosten schlecht planbar. Darüber hinaus sind die erwarteten Vorteile mit Unsicherheiten behaftet, denn jedes Unternehmen besitzt schlecht änderbare, individuelle Eigenschaften, die so genannten Situationsfaktoren. Sie beschreiben den Methodenkontext, in dem die Entwicklungsmethode angewendet wird. Passt die domänenspezifische Entwicklungsmethode nicht zu dem gegebenen Methodenkontext, ist eine erfolgreiche Einführung gefährdet. Zur Reduzierung der genannten Risiken erweitert diese Arbeit den bestehenden Ansatz MetaMe, eine Meta-Methode zur Entwicklung von individuellen Softwareentwicklungsmethoden, um die Eigenschaften der situationsgerechten Methodenweiterentwicklung. Eine zusätzliche Ist-Analyse identifiziert die vorhandene Entwicklungsmethode, die mittels einer neuen Sprache modellbasiert dokumentiert wird. Eine Verbesserungs-Analyse ermittelt darauf aufbauend die Optimierungspotenziale und Situationsfaktoren, aus denen geeigneteMethodenanforderungen erstellt werden. Mit Hilfe der Methodenanforderungen werden iterative Projekte zur Methodenweiterentwicklung definiert. Das ermöglicht die von Unternehmengewünschte schrittweise Änderung der Entwicklungsmethoden. Weiterhin wird gezeigt, wie die Methode mittels Methodenanforderungen an den Methodenkontextangepasst werden kann. Das in dieser Arbeit vorgestellte Vorgehen wird exemplarisch auf zwei industrielle Anwendungsbeispiele aus dem Bereich der Server-System-Entwicklung angewendet. Für jedes Beispiel wird eine individuell entwickelte Entwicklungsmethode vorgestellt.It is risky to introduce domain-specific engineering methods to different companies. The effort to replace an existing engineering method can be extensive so that investment costs are hard to judge. Beside that, the expected advantages have uncertainties because each company has poorly changeable, individual properties, so called situational factors. They describe the method context in that the engineering method will be applied. If the engineering method does not fit to the method context, a successful introduction is jeopardized.To reduce the mentioned risks, this thesis enhances the known approach, MetaMe, a meta-method to develop individual software engineering methods, regarding the characteristics of situational method enhancements. It adds the analysis of the current state to identify the existing engineering method. The engineering method will be described in a model-based manner with a newly introduced language. A demand analysis identifies single improvements and situational factors. Upon that information method requirements are created. Based on the method requirements iterative method enhancement projects are defined. With that it is possible to do a step wise change of engineering methods, which is the desired approach of the companies. Furthermore, it will be shown how to adjust the engineering method according to the method context based on the method requirements.The new method engineering approach is substantiated by two industrial case studies in the area of server-systems-engineering. For each example an individually developed engineering method will be presented.vorgelegt von Michael SpijkermanTag der Verteidigung: 24.03.2015Paderborn, Univ., Diss., 201