Unterstützung der Software Design Evolution durch Constraint Transformation
Guiding Software Design Evolution by Constraint Transformation
Wissenschaftsdisziplinen
Informatik (100%)
Keywords
-
Transformation,
Design Modeling,
Co-Evolution,
Generation,
UML
Modelltransformationen spielen in modellgetriebener Softwareentwicklung eine zentrale Rolle um Modelle automatisch zu generieren und zu aktualisieren. Traditionelle Ansätze verwenden meist Stapelverarbeitung und nur in spezialisierten Lösungen existieren Notationen für Modelländerungen. Um Transformationen inkrementell durchführen zu können, müssen komplexe Probleme gelöst werden. Beispielsweise der Verlust von manuellen Änderungen an generierten Modellen. Bei bidirektionalen Transformationen wird dieses Problem noch schwieriger. Transformationen generieren Ziel-Modelle aus Quell-Modellen. Bei bidirektionalen Transformationen müssen Änderungen im Quell-Modell in das Ziel-Modell transformiert werden, gleichzeitig müssen auch Änderungen am Ziel-Modell im Quell-Modell abgebildet werden. Das Ergebnis wird dabei durch die Reihenfolge, in der Änderungen bearbeitet werden, beeinflusst (sogenannte race conditions) und manuell hinzugefügte Information geht verloren. Außerdem gibt es Situationen, in denen Ziel-Modelle aufgrund von Unsicherheiten nicht aktualisiert werden können: beispielsweise kann es mehrere korrekte Transformationsergebnisse geben, oder unvollständige Änderungen im Quell-Modell ermöglichen keine vollständige Transformation. Diese Probleme sind bei inkrementeller Transformation besonders kritisch, da es hier zu Änderungen im Quell-Modell kommen kann die zu wenig Information enthalten um passende Änderungen am Ziel-Modell eindeutig ableiten zu können, wodurch Transformationen nicht durchgeführt werden können. In der vorgeschlagenen Arbeit stellen wir die Transformation von Einschränkungen vor. Dabei werden Einschränkungen auf Modelle anstatt der eigentlichen Modelle generiert. Die Neuheit ist, dass Einschränkungen, welche von Quell-Modellen abgeleitet werden, das Ziel-Modell lediglich einschränken und dadurch Probleme wie Informationsverluste verhindern. Einschränkungen können auch Unsicherheiten abbilden und Race Conditions vermeiden. Der Ansatz ergänzt traditionelle Transformationen, welche geeignet sind um Anfangsversionen von Modellen zu generieren. Diese Modelle können anschließend mit Hilfe unseres Ansatzes weiterentwickelt werden. Ziele der Arbeit sind 1) eine Methodik zur inkrementellen Transformation von Einschränkungen von beliebigen Modellen zu erstellen, 2) einen Nachweis der Machbarkeit in Form einer Implementierung zu erbringen und 3) Methodik und Implementierung anhand industrieller Modelle zu evaluieren. Wir werden die Forschungsergebnisse in wichtigen peer-reviewed Journalen oder Konferenzen. Wir ersuchen um die Finanzierung zweier Doktoranden und eines Diplomanden und deren Reisekosten.
Das Entwickeln von Systemen ist heute ohne Softwarewerkzeuge nicht mehr vorstellbar. Ingenieure verwenden sie, um technische Probleme zu erfassen und zu analysieren. Werkzeuge erfassen Lösungen und helfen in der Implementierung und beim Testen. Offensichtlich sind diese Werkzeuge sehr verschieden und Ingenieure verwenden sie für unterschiedliche Zwecke. Damit werden in diesen Werkzeugen auch verschiedenste Arten von Artefakte verwaltet (z. B. Anforderungen, Design oder Code). Und darin liegt eine zentrale Herausforderung. Wie tauschen Ingenieure Artefakte unterschiedlicher Werkzeuge aus (z. B. von einer Anforderungsspezifikation zu einem Entwurf oder von einem Entwurf zum Code)? Die Modelltransformation ist Teil der Antwort auf diese Herausforderung. Bei der modellgetriebenen Softwareentwicklung wird Modelltransformation verwendet, um aus einem beliebigen Quellmodell ein beliebiges Zielmodell zu generieren (z. B. Code aus einem Entwurf). Problematisch ist es jedoch, wenn Ingenieure - wie üblich - die Quell- und Zielmodelle gleichzeitig manipulieren und / oder wenn es mehrere mögliche Interpretationen eines Quellmodells und damit mehrere mögliche Zielmodelle gibt. In diesem Projekt wurde die Constraint-Driven-Modeling-Methode (CDM) entwickelt, bei der die Transformation dazu verwendet wird, Verwendungsregeln für das Zielmodell und nicht das Zielmodell selbst zu generieren. Dabei überschreibt CDM das Zielmodell nicht (vermeidet daher Informationsverlust beim gleichzeitigen Arbeiten) und ist in der Lage alternative Transformationsoptionen zu unterstützen. Dieses Projekt hat CDM erfolgreich entwickelt und ausführlich darüber publiziert. Die Nützlichkeit zeigt dieses Projekt anhand mehrerer Anwendungsdomänen.
- Universität Linz - 100%
- Hoa Khanh Dam, University of Wollongong - Australien
- Tom Mens, Université de Mons - Belgien
- Xavier Blanc, Université Bordeaux I - Frankreich
- Krzysztof Czarnecki, University of Waterloo - Kanada
- Jordi Cabot, Luxembourg Institute of Science and Technology - Luxemburg
- Dániel Varró, Budapest University of Technology and Economics - Ungarn
- Don Batory, The University of Texas at Austin - Vereinigte Staaten von Amerika
Research Output
- 687 Zitationen
- 23 Publikationen
-
2018
Titel An automated and instant discovery of concrete repairs for model inconsistencies DOI 10.1145/3183440.3194979 Typ Conference Proceeding Abstract Autor Kretschmer R Seiten 298-299 -
2016
Titel Evolutionary Computation for Software Product Line Testing: An Overview and Open Challenges DOI 10.1007/978-3-319-25964-2_4 Typ Book Chapter Autor Lopez-Herrejon R Verlag Springer Nature Seiten 59-87 -
2016
Titel Co-evolution of metamodels and models through consistent change propagation DOI 10.1016/j.jss.2015.03.003 Typ Journal Article Autor Demuth A Journal Journal of Systems and Software Seiten 281-297 -
2016
Titel Towards Visualization of Feature Interactions in Software Product Lines DOI 10.1109/vissoft.2016.16 Typ Conference Proceeding Abstract Autor Illescas S Seiten 46-50 -
2016
Titel Multi-objective test case prioritization in highly configurable systems: A case study DOI 10.1016/j.jss.2016.09.045 Typ Journal Article Autor Parejo J Journal Journal of Systems and Software Seiten 287-310 Link Publikation -
2015
Titel Towards Flexible and Efficient Process and Workflow Support in Enterprise Modeling DOI 10.1007/978-3-319-19243-7_26 Typ Book Chapter Autor Demuth A Verlag Springer Nature Seiten 270-281 -
2015
Titel DesignSpace DOI 10.1145/2695664.2695697 Typ Conference Proceeding Abstract Autor Demuth A Seiten 1486-1491 -
2017
Titel A systematic mapping study of information visualization for software product line engineering DOI 10.1002/smr.1912 Typ Journal Article Autor Lopez-Herrejon R Journal Journal of Software: Evolution and Process -
2016
Titel Efficient detection of inconsistencies in a multi-developer engineering environment DOI 10.1145/2970276.2970304 Typ Conference Proceeding Abstract Autor Demuth A Seiten 590-601 -
2016
Titel Developing a DSL-Based Approach for Event-Based Monitoring of Systems of Systems: Experiences and Lessons Learned (E) DOI 10.1109/ase.2015.25 Typ Conference Proceeding Abstract Autor Vierhauser M Seiten 715-725 -
2018
Titel Developing and evolving a DSL-based approach for runtime monitoring of systems of systems DOI 10.1007/s10515-018-0241-x Typ Journal Article Autor Rabiser R Journal Automated Software Engineering Seiten 875-915 -
2014
Titel Towards Model-and-Code Consistency Checking DOI 10.1109/compsac.2014.91 Typ Conference Proceeding Abstract Autor Riedl-Ehrenleitner M Seiten 85-90 -
2016
Titel A variability aware configuration management and revision control platform DOI 10.1145/2889160.2889262 Typ Conference Proceeding Abstract Autor Linsbauer L Seiten 803-806 -
2016
Titel Variability extraction and modeling for product variants DOI 10.1007/s10270-015-0512-y Typ Journal Article Autor Linsbauer L Journal Software & Systems Modeling Seiten 1179-1199 Link Publikation -
2016
Titel Consistent merging of model versions DOI 10.1016/j.jss.2015.06.044 Typ Journal Article Autor Dam H Journal Journal of Systems and Software Seiten 137-155 -
2016
Titel Visualization for Software Product Lines: A Systematic Mapping Study DOI 10.1109/vissoft.2016.11 Typ Conference Proceeding Abstract Autor Lopez-Herrejon R Seiten 26-35 -
2016
Titel A Source Level Empirical Study of Features and Their Interactions in Variable Software DOI 10.1109/scam.2016.16 Typ Conference Proceeding Abstract Autor Fischer S Seiten 197-206 -
2016
Titel Towards efficient risk-identification in risk-driven development processes DOI 10.1145/2904354.2904364 Typ Conference Proceeding Abstract Autor Demuth A Seiten 36-40 -
2015
Titel A systematic mapping study of search-based software engineering for software product lines DOI 10.1016/j.infsof.2015.01.008 Typ Journal Article Autor Lopez-Herrejon R Journal Information and Software Technology Seiten 33-51 -
2015
Titel Using Traceability for Incremental Construction and Evolution of Software Product Portfolios DOI 10.1109/sst.2015.16 Typ Conference Proceeding Abstract Autor Linsbauer L Seiten 57-60 -
2013
Titel Constraint-driven modeling through transformation DOI 10.1007/s10270-013-0363-3 Typ Journal Article Autor Demuth A Journal Software & Systems Modeling Seiten 573-596 -
2015
Titel The ECCO Tool: Extraction and Composition for Clone-and-Own DOI 10.1109/icse.2015.218 Typ Conference Proceeding Abstract Autor Fischer S Seiten 665-668 -
2014
Titel Enhancing Clone-and-Own with Systematic Reuse for Developing Software Variants DOI 10.1109/icsme.2014.61 Typ Conference Proceeding Abstract Autor Fischer S Seiten 391-400