Submitted Paper
| ID | 2 |
| Submitted | 2006-02-08 |
| Last Update | 2006-04-21 |
| Title | Using transformation dependency analysis for model inconsistency management |
| Author(s) | Author #1 Name: Tom Mens Org: Université de Mons-Hainaut Country: Belgium Email: tom.mens@umh.ac.be Author #2 Name: Maja D'Hondt Org: Université de Sciences et Technologies de Lille Country: France Email: dhondt@lifl.fr Author #3 Name: Ragnhild Van Der Straeten Org: Vrije Universiteit Brussel Country: Belgium Email: rvdstrae@vub.ac.be |
| Other Author(s) | |
| Contact Author | Author #1 Alt Email: tom.mens@umh.ac.be Telephone: |
| Keywords | critical pair analysis, inconsistency management, model-driven engineering, software transformation, conflict, sequential dependency |
| Abstract | One of the important challenges in current-day model-driven software engineering (MDE) is the ability to manage model inconsistencies. When designing models in a collaborative and distributed setting, it is very likely that inconsistencies in and between the models will arise because: (i) different models may be developed in parallel by different persons;
(ii) the interdependencies between models may be poorly understood; (iii) the requirements may be unclear or ambiguous at an early design stage; (iv) the models may be incomplete because some essential information may still be unknown. Unfortunately, contemporary tools for model-driven software development provide poor support for model inconsistency management and, if they do, it is usually ad-hoc. Therefore, there is a clear need for techniques and mechanisms that provide more disciplined and more generic support for model-driven inconsistency management. One of our main research goals is to investigate how mathematical formalisms can be exploited to provide such support. The main motivation for doing so is that it will enable us to rely on a variety of mathematical properties such as decidability, soundness, completeness, confluence, termination, parallel and sequential dependency. In the past, we have explored the formalism of description logics for the detection and resolution of model inconsistencies. Other related work has been carried with the technique of term rewriting in the algebraic specification language Maude. In the current paper, we will explore the formalism of graph transformation, and show how this formalism can be used to reason about dependencies between inconsistency detection and resolution rules. In the iterative process of managing inconsistencies, interactive support can be provided to detect and resolve inconsistencies at any time the modeler wishes to do so. One way to approach this is to express inconsistency detection and resolution as transformation rules. However, these transformation rules typically have causal dependencies or mutual exclusion relationships: applying one rule might inhibit the application of another rule or, conversely, it might trigger another rule. This suggests that, if possible, an optimal ordering of rules has to be inferred, in order to make the conflict resolution process as efficient as possible. To tackle this issue, we suggest a uniform formally-founded approach to analyse dependencies between model inconsistencies and their resolutions. The approach relies on the specification of model inconsistencies and resolutions as graph transformation rules, and by analysing parallel and sequential dependencies between these rules. More precisely, a parallel dependency between two transformations occurs if the application of the first transformation prevents the application of the second one. A sequential dependency occurs if the application of the second transformation requires the prior application of the first transformation. To compute all potential dependencies we rely on graph transformation theory, which allows us to exploit theoretical results about critical pair analysis. As a proof-of-concept, we implement our ideas in AGG, a state-of-the-art graph transformation tool that implements a critical pair analysis algorithm. Using this tool, we illustrate how the transformation dependency analysis allows us to detect opportunities for ordering, refactoring and generally fine-tuning the inconsistency resolution rules. For the purpose of our initial experiment, we restrict ourselves to a subset of UML models (basically, a simplified version of statecharts, sequence diagrams and class diagrams), and we focus on structural model inconsistencies only. One of the main questions that we are confronted with is the following: How can one guarantee that a given set of inconsistency detection and resolution rules is 'minimal' and 'complete'? Minimality is concerned with the fact that the number of transformation rules needed should be as small and orthogonal as possible. Completeness is concerned with the fact that the transformation rules should cover all known model inconsistencies and resolutions. While we are aware that it is virtually impossible to provide a precise solution to the above problem, we can at least try to approximate the ideal situation as closely as possible. To this extent, we will tackle the problem from two opposite angles, and try to converge to a unique solution. [For more details, see the extended version of this abstract.] We also intend to investigate other important questions, again by relying on formal properties of graph transformation theory: How can one solve all inconsistencies detected in a given model in an ``optimal'' way? This question does not have a precise answer since 'optimality' can be interpreted in many different ways. One interpretation would be that each local resolution rule should introduce as little new model inconsistencies as possible. Another solution may be to resort to a more global resolution strategy, for example, by always choosing those rules that have the least parallel conflicts and sequential dependencies. Which of these (or other) heuristics is more 'optimal' remains an open issue that we intend to investigate in more detail. Is it possible to find a combination of resolution rules that will remove all identified inconsistencies? In order to answer this question, we need to rely on the termination property of graph rewriting. A resolution strategy can be defined as a particular set of resolution rules, and this rule set will terminate if there is at least one ordering that leads to an end result (i.e., a model in which all inconsistencies have been resolved) in finite time. How can be compose primitive resolution rules into more complex ones? This problem of compositionality is an important one for the scalability and usability of the proposed approach. Again, there has been some research by the graph transformation community on these issues, and we hope to be able to exploit this research for our purposes. |
| Topics | |
| Comments | A more complete version of this abstract can be found in the attached pdf file. |
| Paper | 2.pdf (907KB) |