How to Fix Inconsistencies in Design Models

Lead Research Organisation: University College London
Department Name: Computer Science


The proposed work aims at investigating how to fix inconsistencies in UML design models and how to handle undesired side effects of such fixes. 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.To date, the research community focused on helping locate inconsistencies in software design models. However, the engineer eventually has to resolve inconsistencies and this proposed work will develop a principled approach for fixing such inconsistencies. Our goal is not only to identify choices for fixing inconsistencies but also to understand their undesirable side effects. This ripple effect is well-known and researched in other domains (i.e., programming languages, databases). UCL (Profs. Anthony Finkelstein, Wolfgang Emmerich and more recently Dr. Emmanuel Letier) has been at the forefront of this kind of research and the proposed work will further this by supporting a visiting academic, Dr. Alexander Egyed, who has recently contributed a different and very promising approach to handling inconsistencies in UML design models. The proposed work will combine our research contributions and leverage from our combined industrial connections in validating this work. It is an explicit goal of Dr. Egyed's stay at UCL to build a solid, principled foundation for 'living with inconsistencies' that will create longterm academic and industrial interest. Of course, this collaboration will also lead to joint publications.


10 25 50
Description This work investigated the problem of fixing inconsistencies in design models and handling undesired side effects of such fixes. This problem was previously not solvable because researchers were not able to understand how inconsistencies affect one another - consequently, they did not understand whether or not a fix for one inconsistency had undesirable side effects such a causing new inconsistencies. Existing approaches to dealing with inconsistencies were thus limited to simply detecting inconsistencies and, in some rare cases, in locating locations for potentially fixing such inconsistencies. These locations were labeled potential locations because it remained unknown whether these locations actually could fix the inconsistencies - or to be more precise, whether these locations could be changed in such a way that it fixed the inconsistencies. It should be mentioned that typically there were many, often infinite changes possible for any given location.

This work provided a formal foundation for reasoning about fixing inconsistencies. This work also provided automated support for identifying concrete choices for fixing inconsistencies - choices that were proven to fix inconsistencies and whether or not these choices affected other inconsistencies. A concrete choice was thus one possible value for changing a location in the model. The approach developed in this work was based on technology that was developed independently by UCL and Dr. Egyed in the past. As such, we previously developed techniques for efficiently detecting inconsistencies in such models and identifying where changes needed to occur in order to fix problems detected by these means (where=location). This work then extended previous work by identifying a technique for automatically generating and validating concrete choices for fixing inconsistencies and providing information about the impact of each such fix on the overall consistency of the model. We also demonstrated the computational scalability and usability of our approach through the empirical evaluation of 39 UML models of sizes up to 120,000 elements. And we submitted a scientific paper on our findings to one of the premiere conferences in software engineering which was accept for publication.
Our work has shown that the complex problem of fixing errors in design models is by no means beyond automated reasoning. Indeed, we identified a range of new, promising research areas based on our findings. It
Exploitation Route This is of value to anybody working on managing inconsistencies in distributed data.
Sectors Digital/Communication/Information Technologies (including Software),Financial Services, and Management Consultancy

Description Incorporated in software development tools. Has also been used in work for Message Automation (who acquired Systemwire a UCL spinout) in work on inconsistencies in financial trade data.
First Year Of Impact 2008
Sector Digital/Communication/Information Technologies (including Software),Financial Services, and Management Consultancy
Impact Types Economic