14 research outputs found

    Modellgetriebene Entwicklung mit Graphtransformationen

    Get PDF

    Qualitätssicherung von Modelltransformationen - Über das dynamische Testen programmierter Graphersetzungssysteme

    Get PDF
    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)

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    corecore