Inkonsistenzen und deren Konsequenzen in Software Modellen
Inconsistencies and their Impact on Software Design Models
Wissenschaftsdisziplinen
Informatik (100%)
Keywords
-
Software Desighn,
UML Unified Nodeling Language,
Inconsistencies,
Fixing Errors,
Impact Of A Change,
Software Architecture
Integrierte Softwareentwicklungsumgebungen verfügen über ein reiches Angebot an Funktionalitäten zur Entdeckung und Beseitigung von Fehlern im Quellcode. Zum Beispiel bietet Eclipse sogenannte "Quick Fixes", die potentielle Lösungen für Programmierfehler generieren. Programmierer finden diese Art der Unterstützung sehr nützlich. Manche Designwerkzeuge bieten bereits ähnliche Mechanismen um Designprobleme zu lösen, jedoch ist die Unterstützung auf Modellebene momentan noch sehr eingeschränkt. In Modellierungssprachen wie der Unified Modeling Language (UML) werden Einschränkungen typischerweise in Form von Konsistenzregeln definiert. Um automatisierte Auflösungsmechanismen anbieten zu können, sind Werkzeugentwickler somit gezwungen manuell zu beschreiben wie die Verletzung einer Konsistenzregel behoben werden kann. Wenn die Anzahl an Konsistenzregeln steigt, stellt dies einen erheblichen Aufwand dar. Zusätzlich müssen Entwickler dieser Auflösungsmechanismen dafür sorgen, dass die angebotenen Lösungen korrekt sind, also Inkonsistenzen auflösen ohne neue einzuführen. Dies ist besonders schwierig für Multi-Paradigmen Modellierungssprachen wie der UML, da eine Vielzahl von Interaktionen zwischen Konsistenzregeln existieren. Ein zusätzliches Problem stellt die Tatsache dar, dass unterschiedliche Entwicklungsteams oft unterschiedliche Konsistenzregeln verwenden, oder verschiedene Gruppen von Regeln in verschiedenen Phasen des Projektlebenszyklus verwendet werden. "Fest programmierte" Auflösungsmechanismen die für einen fixen Satz an Konsistenzregeln definiert werden sind somit unbrauchbar, da sie deren variierende Auswirkungen vernachlässigen. Die vorgeschlagene Arbeit wird eine Grundlage entwickeln um Änderungen in Designmodellen zu verstehen. Dieses Problem ist komplex da nicht jede Änderung Inkonsistenzen hervorruft, nicht jede Inkonsistenz unerwünscht ist und nicht jede Inkonsistenz lösbar ist ohne neue Inkonsistenzen zu erzeugen. Genauso ist es nicht praktikabel alle Möglichkeiten einer Inkonsistenzbeseitigung aufzulisten da dies typischerweise sehr viele sind, was den Modellierer wiederum überfordern würde. Um zu entscheiden wie eine Inkonsistenz beseitigt werden kann, ist es sehr nützlich zu wissen was sie hervorgerufen hat. Manche Inkonsistenzen werden durch fehlerhafte Änderungen, manche durch korrekte jedoch unvollständige Änderungen erzeugt. Schlussendlich kann noch unterschieden werden zwischen Inkonsistenzen die ein Modellierer so schnell wie möglich beseitigen möchte und Inkonsistenzen die der Modellierer bereit ist zu tolerieren. Das Verstehen wie Inkonsistenzen behoben werden können ist ein ungelöstes Problem das jedoch unerlässlich ist für die Zukunft der Softwaremodellierung und der Softwareentwicklung im gesamten.
Viele Softwarefirmen sind auf Software Design Modelle angewiesen. Trotzdem haben diese Firmen falsche Vorstellungen vom Nutzen solcher Modelle. Im Unterschied zu anderen Ingenieursdisziplinen, in welchen das Modellieren sich als effektiver Mechanismus beim Umgang mit Komplexität bewiesen hat, müssen Software Modelle dieses Levels an Reife erst erreichen. Eine der wichtigsten Herausforderungen ist die Evolution von Modellen und die Fähigkeit Modeländerungen und deren Auswirkungen zu verstehen. Änderungen haben gewünschte Effekte indem sie Softwareeigenschaften hinzufügen oder ändern. Allerdings, haben sie auch ungewünschte Seiteneffekte und erzeugen häufig Fehler. Im Kontext von Designmodellen manifestieren sich diese Fehler als Inkonsistenzen.Dieses Projekt beschäftigte sich damit Inkonsistenzen zu erkennen und zu beheben, wenn sie durch definierte Constraints (Bedingungen) nachweisbar sind. Inkonsistenzen treten typischerweise durch unvollständiges oder falsches Reagieren auf Änderungen auf. Die Behebung von Inkonsistenzen in Softwaremodellen ist eine komplexe Aufgabe, weil die Anzahl der möglichen Reparaturaktionen exponentiell anwächst. Im Zuge dieses Projekts wurde eine Methode für den Umgang mit diesem Problem beigesteuert, durch Konzentration auf die Ursache der Inkonsistenz und das hierarchische Präsentieren von Reparaturaktionen. Die Ursache wird durch die Analyse der Struktur und des Verhaltens bei der Validierung des verletzen Constraints festgestellt. Dies erlaubt uns festzustellen welcher Teil des Constraints nicht erfüllt wurde und warum.Ein Schlüsselaspekt unserer Vorgehensweise ist das Behandeln von Inkonsistenzen als Symptome von Fehlern und nicht als Fehler selbst. Da falsche Änderungen mehrere Inkonsistenzen hervorrufen können (oder keine wenn sie noch keine Constraints verletzen), ist es nicht nützlich dass der Ingenieur die Fehler anhand der Reparaturvorschläge identifizieren muss. Unsere Vorgehensweise empfiehlt daher das Identifizieren von Fehlern anhand von Kombinationen von Inkonsistenzen und erlaubt daher das Filtern und Untersuchen von Inkonsistenzen in verschiedenen Dimensionen. Ein anderer Schlüsselaspekt unserer Vorgehensweise ist ein generischer Grundgedanke, um nicht nur aktuelle Modelliersprachen (wie z.B. UML) zu unterstützen. Daher haben wir unsere Vorgehensweise auch in verschiedenen Modellierdomänen angewandt: bei Produktlinien, in der Mechatronik, der Coevolution von Meta-Modellen und Modellen, und Entscheidungsmodellen. Dadurch haben wir nicht nur die Korrektheit und Skalierbarkeit in einer Domäne erforscht, sondern auch die Anwendbarkeit in verschiedenen Domänen demonstriert.
- Universität Linz - 100%
Research Output
- 609 Zitationen
- 41 Publikationen
-
2022
Titel Andrographolide-based potential anti-inflammatory transcription inhibitors against nuclear factor NF-kappa-B p50 subunit (NF-?B p50): an integrated molecular and quantum mechanical approach DOI 10.1007/s13205-022-03431-9 Typ Journal Article Autor Jain P Journal 3 Biotech Seiten 15 Link Publikation -
2014
Titel Automatic and Incremental Product Optimization for Software Product Lines DOI 10.1109/icst.2014.14 Typ Conference Proceeding Abstract Autor Demuth A Seiten 31-40 -
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 -
2013
Titel C2O configurator: a tool for guided decision-making DOI 10.1007/s10515-012-0117-4 Typ Journal Article Autor Nöhrer A Journal Automated Software Engineering Seiten 265-296 -
2013
Titel Using feature model knowledge to speed up the generation of covering arrays DOI 10.1145/2430502.2430524 Typ Conference Proceeding Abstract Autor Haslinger E Seiten 1-6 -
2013
Titel Multi-Objective Optimal Test Suite Computation for Software Product Line Pairwise Testing DOI 10.1109/icsm.2013.58 Typ Conference Proceeding Abstract Autor Lopez-Herrejon R Seiten 404-407 Link Publikation -
2013
Titel SBSE4VM: Search Based Software Engineering for Variability Management DOI 10.1109/csmr.2013.67 Typ Conference Proceeding Abstract Autor Lopez-Herrejon R Seiten 441-444 -
2012
Titel A comparison of strategies for tolerating inconsistencies during decision-making DOI 10.1145/2362536.2362543 Typ Conference Proceeding Abstract Autor Nöhrer A Seiten 11-20 -
2012
Titel Computing repair trees for resolving inconsistencies in design models DOI 10.1145/2351676.2351707 Typ Conference Proceeding Abstract Autor Reder A Seiten 220-229 Link Publikation -
2012
Titel Automatically Generating and Adapting Model Constraints to Support Co-Evolution of Design Models. Typ Conference Proceeding Abstract Autor Demuth A Konferenz Proceedings of the 27th International Conference on Automated Software Engineering (ASE), Essen, Germany, September 2012 -
2012
Titel Constraint-Driven Modeling through Transformation DOI 10.1007/978-3-642-30476-7_17 Typ Book Chapter Autor Demuth A Verlag Springer Nature Seiten 248-263 -
2012
Titel Understanding the Relationship of Information in Mechatronic Design Modeling DOI 10.1007/978-3-642-27579-1_15 Typ Book Chapter Autor Hehenberger P Verlag Springer Nature Seiten 113-120 -
2009
Titel Selective Backtracking of Model Changes DOI 10.1109/icse-companion.2009.5070989 Typ Conference Proceeding Abstract Autor Groher I Seiten 231-234 Link Publikation -
2010
Titel Selective and Consistent Undoing of Model Changes DOI 10.1007/978-3-642-16129-2_10 Typ Book Chapter Autor Groher I Verlag Springer Nature Seiten 123-137 -
2010
Titel Detecting Inconsistencies in Multi-View Models with Variability DOI 10.1007/978-3-642-13595-8_18 Typ Book Chapter Autor Lopez-Herrejon R Verlag Springer Nature Seiten 217-232 -
2010
Titel Incremental Consistency Checking of Dynamic Constraints DOI 10.1007/978-3-642-12029-9_15 Typ Book Chapter Autor Groher I Verlag Springer Nature Seiten 203-217 -
2010
Titel Flexible and Scalable Consistency Checking on Product Line Variability Models. Typ Conference Proceeding Abstract Autor Heider W Et Al Konferenz Proceedings of the 25th International Conference on Automated Software Engineering (ASE), Antwerp, Belgium, September 2010 -
2010
Titel On the Need of Safe Software Product Line Architecture. Typ Conference Proceeding Abstract Autor Egyed A Konferenz Proceedings of the 4th European Conference Software Architecture (ECSA), August 2010, Copenhagen, Denmark -
2011
Titel Positive effects of utilizing relationships between inconsistencies for more effective inconsistency resolution (NIER track) DOI 10.1145/1985793.1985927 Typ Conference Proceeding Abstract Autor Nöhrer A Seiten 864-867 -
2011
Titel Supporting Consistency Checking between Features and Software Product Line Use Scenarios DOI 10.1007/978-3-642-21347-2_3 Typ Book Chapter Autor Alférez M Verlag Springer Nature Seiten 20-35 -
2011
Titel Optimizing User Guidance during Decision-Making DOI 10.1109/splc.2011.45 Typ Conference Proceeding Abstract Autor Nöhrer A Seiten 25-34 -
2011
Titel Inconsistency management framework for model-based development DOI 10.1145/1985793.1986005 Typ Conference Proceeding Abstract Autor Reder A Seiten 1098-1101 -
2011
Titel C2MV2: Consistency and Composition For Managing Variability in Multi-View Systems DOI 10.1109/csmr.2011.49 Typ Conference Proceeding Abstract Autor Lopez-Herrejon R Seiten 347-350 Link Publikation -
2011
Titel Automatically Detecting and Tracking Inconsistencies in Software Design Models DOI 10.1109/tse.2010.38 Typ Journal Article Autor Egyed A Journal IEEE Transactions on Software Engineering Seiten 188-204 Link Publikation -
2011
Titel Conformance Checking with Constraint Logic Programming: The Case of Feature Models DOI 10.1109/compsac.2011.66 Typ Conference Proceeding Abstract Autor Mazo R Seiten 456-465 Link Publikation -
2011
Titel Fine-Tuning Model Transformation: Change Propagation in Context of Consistency, Completeness, and Human Guidance DOI 10.1007/978-3-642-21732-6_1 Typ Book Chapter Autor Egyed A Verlag Springer Nature Seiten 1-14 -
2011
Titel Positive Effects of Utilizing Relationships Between Inconsistencies for more Effective Inconsistency Resolution (NIER Track). Typ Conference Proceeding Abstract Autor Egyed A Et Al Konferenz Proceedings of the 33rd International Conference on Software Engineering (ICSE), New Ideas and Emerging Results Track, Honolulu, Hawaii, May 2011 -
2011
Titel From Requirements to Features: An Exploratory Study of Feature-Oriented Refactoring DOI 10.1109/splc.2011.52 Typ Conference Proceeding Abstract Autor Lopez-Herrejon R Seiten 181-190 Link Publikation -
2011
Titel Reverse Engineering Feature Models From Programs' Feature Sets DOI 10.1109/wcre.2011.45 Typ Conference Proceeding Abstract Autor Haslinger E Seiten 308-312 -
2010
Titel C2O-A Tool for Guided Decision-Making. Typ Conference Proceeding Abstract Autor Egyed A Konferenz Tool Demonstration, Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering (ASE), Antwerp, Belgium, September 2010 -
2010
Titel Model/Analyzer: A Tool to Detect, Visualize and Fix Inconsistencies for UML. Typ Conference Proceeding Abstract Autor Egyed A Konferenz Tool Demonstration, Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering (ASE), Antwerp, Belgium, September 2010 -
2010
Titel Consistency Checking of Mechatronic Design Models DOI 10.1115/detc2010-28615 Typ Conference Proceeding Abstract Autor Hehenberger P Seiten 1141-1148 -
2010
Titel Coping with Variability in Model-Based Systems Engineering: An Experience in Green Energy DOI 10.1007/978-3-642-13595-8_23 Typ Book Chapter Autor Trujillo S Verlag Springer Nature Seiten 293-304 -
2012
Titel Computing Repair Trees for Resolving Inconsistencies in Design Models. Typ Conference Proceeding Abstract Autor Egyed A Konferenz Proceedings of the 27th International Conference on Automated Software Engineering (ASE), Essen, Germany, September 2012 -
2012
Titel Enabling Dynamic Metamodels through Constraint-Driven Modeling DOI 10.1109/icse.2012.6227223 Typ Conference Proceeding Abstract Autor Demuth A Seiten 1622-1624 -
2012
Titel Incremental Consistency Checking for Complex Design Rules and Larger Model Changes DOI 10.1007/978-3-642-33666-9_14 Typ Book Chapter Autor Reder A Verlag Springer Nature Seiten 202-218 -
2012
Titel Managing SAT inconsistencies with HUMUS DOI 10.1145/2110147.2110157 Typ Conference Proceeding Abstract Autor Nöhrer A Seiten 83-91 Link Publikation -
2012
Titel Towards fixing inconsistencies in models with variability DOI 10.1145/2110147.2110158 Typ Conference Proceeding Abstract Autor Lopez-Herrejon R Seiten 93-100 Link Publikation -
2012
Titel Automatically generating and adapting model constraints to support co-evolution of design models DOI 10.1145/2351676.2351730 Typ Conference Proceeding Abstract Autor Demuth A Seiten 302-305 Link Publikation -
2011
Titel Cross-layer modeler: a tool for flexible multilevel modeling with consistency checking. Typ Conference Proceeding Abstract Autor Demuth A Konferenz Proceedings of the 19th Symposium on the Foundations of Software Engineering (FSE), Szeged, Hungary, September 2011 -
0
Titel Proceedings of the 3rd Workshop on Living with Inconsistencies in Software Development. Typ Other Autor Egyed A