Inconsistencies and their Impact on Software Design Models
Inconsistencies and their Impact on Software Design Models
Disciplines
Computer Sciences (100%)
Keywords
-
Software Desighn,
UML Unified Nodeling Language,
Inconsistencies,
Fixing Errors,
Impact Of A Change,
Software Architecture
Integrated software development environments (IDE) provide rich automated features for detecting and fixing errors at the code level. For example, Eclipse has support for so-called "Quick Fixes" that generate potential resolutions for resolving programming errors. Programmers find these resolution mechanisms extremely useful. Some design tools have started to develop similar features by presenting choices for fixing design problems. However, the support currently provided at the model level is very limited. For modeling languages, such as the Unified Modeling Language, constraints are typically defined in form of consistency rules. Automated resolution mechanisms then require tool developers to manually describe how a violation of a consistency rule could be fixed. When the number of consistency rules increases, this represents a significant effort. Furthermore, developers of such resolution mechanisms must take care that their fixes are correct in the sense that they resolve the inconsistencies without introducing new ones. For multi-paradigm modeling languages, such as UML, this is extremely difficult to achieve because of the numerous interactions among consistency rules. An additional problem when developing tool support for resolution mechanisms in UML models is that different development teams often use different consistency rules; or different sets of consistency rules are used at different stages of the project lifecycle. `Hard coded` resolution mechanisms defined for a fixed set of consistency rules are useless as they neglect the varying impact of these different rule sets. This proposal work will develop a principled foundation for understanding changes in design models. This is a complex problem because not every change causes inconsistencies, not every inconsistency is undesirable, and not every undesirable inconsistency is fixable without causing new inconsistencies. It is also infeasible and impractical to enumerate all ways of fixing a given inconsistency as there are too many that would thus certainly overwhelm the designer. It is also beneficial to know what caused an inconsistency when deciding how to fix it (some are caused by incorrect changes; others are caused by correct albeit incomplete changes). Finally, there are inconsistencies a designer likes to eliminate quickly and others a designer is willing to tolerate. Understanding how to resolve inconsistencies is an unsolved problem but it is vital to the future of software modeling - and software engineering in general.
Many software companies rely on software design models. Yet, these companies also have become disillusioned on the value of software modelling. Unlike other engineering disciplines, in which modelling has proven itself as an effective mechanism for dealing with complexity, software models have yet to reach that level of maturity. A key challenge is the evolution of models and or the designers inability to understand changes and how these changes impact the software design model. Changes have desired effects because they add or change features. However, they also have undesired side effects as they frequently introduce errors. In context of design models, these errors manifest themselves as inconsistencies. This project explored how to detect and resolve inconsistencies if they are detectable through defined constraints. Inconsistencies typically arise due to the failure to propagate changes in design models completely and correctly. Resolving inconsistencies in software models is a complex task because the number of repair actions grows exponentially. To deal with this problem, the project contributed a method that copes with large numbers of repair alternatives by focusing on what caused an inconsistency and presenting repairs in a scalable repair tree. The cause is computed by examining the structure of the inconsistent constraint and its behaviour during validation. This allows us to identify where the constraint failed and why. A key aspect of our method is that it treats inconsistencies as symptoms of errors rather than errors. Indeed, since an incorrect change to a model may cause multiple inconsistencies (or none if not observable), it is not useful for the engineer to identify the error by exploring the repairs of individual inconsistencies. Our method advocates exploring errors by investigating combinations of inconsistencies. Our method thus allows inconsistencies to be explored and filtered in various dimensions. Another key aspect of our method is that it ought to be generic and not only be applicable to currently used modelling languages (such as the UML). We thus also applied the method to a range of modelling technologies from product lines engineering, mechatronics engineering, co-evolution of meta model and models, and decision making. In doing so, we evaluated not only the correctness and scalability on a particular domain but also its applicability for many domains.
- Universität Linz - 100%
Research Output
- 609 Citations
- 42 Publications
-
2022
Title 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 Type Journal Article Author Jain P Journal 3 Biotech Pages 15 Link Publication -
0
Title Proceedings of the 3rd Workshop on Living with Inconsistencies in Software Development. Type Other Author Egyed A -
2014
Title Automatic and Incremental Product Optimization for Software Product Lines DOI 10.1109/icst.2014.14 Type Conference Proceeding Abstract Author Demuth A Pages 31-40 -
2014
Title Towards a Benchmark and a Comparison Framework for Combinatorial Interaction Testing of Software Product Lines DOI 10.48550/arxiv.1401.5367 Type Preprint Author Ferrer J Link Publication -
2013
Title C2O configurator: a tool for guided decision-making DOI 10.1007/s10515-012-0117-4 Type Journal Article Author Nöhrer A Journal Automated Software Engineering Pages 265-296 -
2013
Title Using feature model knowledge to speed up the generation of covering arrays DOI 10.1145/2430502.2430524 Type Conference Proceeding Abstract Author Haslinger E Pages 1-6 -
2013
Title Multi-Objective Optimal Test Suite Computation for Software Product Line Pairwise Testing DOI 10.1109/icsm.2013.58 Type Conference Proceeding Abstract Author Lopez-Herrejon R Pages 404-407 Link Publication -
2012
Title Constraint-Driven Modeling through Transformation DOI 10.1007/978-3-642-30476-7_17 Type Book Chapter Author Demuth A Publisher Springer Nature Pages 248-263 -
2012
Title Computing repair trees for resolving inconsistencies in design models DOI 10.1145/2351676.2351707 Type Conference Proceeding Abstract Author Reder A Pages 220-229 Link Publication -
2012
Title Automatically Generating and Adapting Model Constraints to Support Co-Evolution of Design Models. Type Conference Proceeding Abstract Author Demuth A Conference Proceedings of the 27th International Conference on Automated Software Engineering (ASE), Essen, Germany, September 2012 -
2012
Title A comparison of strategies for tolerating inconsistencies during decision-making DOI 10.1145/2362536.2362543 Type Conference Proceeding Abstract Author Nöhrer A Pages 11-20 -
2012
Title Enabling Dynamic Metamodels through Constraint-Driven Modeling DOI 10.1109/icse.2012.6227223 Type Conference Proceeding Abstract Author Demuth A Pages 1622-1624 -
2012
Title Computing Repair Trees for Resolving Inconsistencies in Design Models. Type Conference Proceeding Abstract Author Egyed A Conference Proceedings of the 27th International Conference on Automated Software Engineering (ASE), Essen, Germany, September 2012 -
2012
Title Automatically generating and adapting model constraints to support co-evolution of design models DOI 10.1145/2351676.2351730 Type Conference Proceeding Abstract Author Demuth A Pages 302-305 Link Publication -
2012
Title Understanding the Relationship of Information in Mechatronic Design Modeling DOI 10.1007/978-3-642-27579-1_15 Type Book Chapter Author Hehenberger P Publisher Springer Nature Pages 113-120 -
2012
Title Towards fixing inconsistencies in models with variability DOI 10.1145/2110147.2110158 Type Conference Proceeding Abstract Author Lopez-Herrejon R Pages 93-100 Link Publication -
2012
Title Managing SAT inconsistencies with HUMUS DOI 10.1145/2110147.2110157 Type Conference Proceeding Abstract Author Nöhrer A Pages 83-91 Link Publication -
2012
Title Incremental Consistency Checking for Complex Design Rules and Larger Model Changes DOI 10.1007/978-3-642-33666-9_14 Type Book Chapter Author Reder A Publisher Springer Nature Pages 202-218 -
2011
Title Positive Effects of Utilizing Relationships Between Inconsistencies for more Effective Inconsistency Resolution (NIER Track). Type Conference Proceeding Abstract Author Egyed A Et Al Conference Proceedings of the 33rd International Conference on Software Engineering (ICSE), New Ideas and Emerging Results Track, Honolulu, Hawaii, May 2011 -
2011
Title Cross-layer modeler: a tool for flexible multilevel modeling with consistency checking. Type Conference Proceeding Abstract Author Demuth A Conference Proceedings of the 19th Symposium on the Foundations of Software Engineering (FSE), Szeged, Hungary, September 2011 -
2011
Title Supporting Consistency Checking between Features and Software Product Line Use Scenarios DOI 10.1007/978-3-642-21347-2_3 Type Book Chapter Author Alférez M Publisher Springer Nature Pages 20-35 -
2011
Title Automatically Detecting and Tracking Inconsistencies in Software Design Models DOI 10.1109/tse.2010.38 Type Journal Article Author Egyed A Journal IEEE Transactions on Software Engineering Pages 188-204 Link Publication -
2011
Title Positive effects of utilizing relationships between inconsistencies for more effective inconsistency resolution (NIER track) DOI 10.1145/1985793.1985927 Type Conference Proceeding Abstract Author Nöhrer A Pages 864-867 -
2011
Title Fine-Tuning Model Transformation: Change Propagation in Context of Consistency, Completeness, and Human Guidance DOI 10.1007/978-3-642-21732-6_1 Type Book Chapter Author Egyed A Publisher Springer Nature Pages 1-14 -
2011
Title Optimizing User Guidance during Decision-Making DOI 10.1109/splc.2011.45 Type Conference Proceeding Abstract Author Nöhrer A Pages 25-34 -
2011
Title Reverse Engineering Feature Models From Programs' Feature Sets DOI 10.1109/wcre.2011.45 Type Conference Proceeding Abstract Author Haslinger E Pages 308-312 -
2011
Title C2MV2: Consistency and Composition For Managing Variability in Multi-View Systems DOI 10.1109/csmr.2011.49 Type Conference Proceeding Abstract Author Lopez-Herrejon R Pages 347-350 Link Publication -
2011
Title Conformance Checking with Constraint Logic Programming: The Case of Feature Models DOI 10.1109/compsac.2011.66 Type Conference Proceeding Abstract Author Mazo R Pages 456-465 Link Publication -
2011
Title From Requirements to Features: An Exploratory Study of Feature-Oriented Refactoring DOI 10.1109/splc.2011.52 Type Conference Proceeding Abstract Author Lopez-Herrejon R Pages 181-190 Link Publication -
2011
Title Inconsistency management framework for model-based development DOI 10.1145/1985793.1986005 Type Conference Proceeding Abstract Author Reder A Pages 1098-1101 -
2010
Title Model/Analyzer: A Tool to Detect, Visualize and Fix Inconsistencies for UML. Type Conference Proceeding Abstract Author Egyed A Conference Tool Demonstration, Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering (ASE), Antwerp, Belgium, September 2010 -
2010
Title Coping with Variability in Model-Based Systems Engineering: An Experience in Green Energy DOI 10.1007/978-3-642-13595-8_23 Type Book Chapter Author Trujillo S Publisher Springer Nature Pages 293-304 -
2010
Title C2O-A Tool for Guided Decision-Making. Type Conference Proceeding Abstract Author Egyed A Conference Tool Demonstration, Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering (ASE), Antwerp, Belgium, September 2010 -
2010
Title On the Need of Safe Software Product Line Architecture. Type Conference Proceeding Abstract Author Egyed A Conference Proceedings of the 4th European Conference Software Architecture (ECSA), August 2010, Copenhagen, Denmark -
2010
Title Selective and Consistent Undoing of Model Changes DOI 10.1007/978-3-642-16129-2_10 Type Book Chapter Author Groher I Publisher Springer Nature Pages 123-137 -
2010
Title Detecting Inconsistencies in Multi-View Models with Variability DOI 10.1007/978-3-642-13595-8_18 Type Book Chapter Author Lopez-Herrejon R Publisher Springer Nature Pages 217-232 -
2010
Title Consistency Checking of Mechatronic Design Models DOI 10.1115/detc2010-28615 Type Conference Proceeding Abstract Author Hehenberger P Pages 1141-1148 -
2010
Title Flexible and Scalable Consistency Checking on Product Line Variability Models. Type Conference Proceeding Abstract Author Heider W Et Al Conference Proceedings of the 25th International Conference on Automated Software Engineering (ASE), Antwerp, Belgium, September 2010 -
2010
Title Incremental Consistency Checking of Dynamic Constraints DOI 10.1007/978-3-642-12029-9_15 Type Book Chapter Author Groher I Publisher Springer Nature Pages 203-217 -
2009
Title Selective Backtracking of Model Changes DOI 10.1109/icse-companion.2009.5070989 Type Conference Proceeding Abstract Author Groher I Pages 231-234 Link Publication -
2013
Title SBSE4VM: Search Based Software Engineering for Variability Management DOI 10.1109/csmr.2013.67 Type Conference Proceeding Abstract Author Lopez-Herrejon R Pages 441-444 -
2013
Title Constraint-driven modeling through transformation DOI 10.1007/s10270-013-0363-3 Type Journal Article Author Demuth A Journal Software & Systems Modeling Pages 573-596