Detecting and Resolving Model Inconsistencies Using Transformation Dependency Analysis
Model inconsistency management is a crucial aspect of model-driven software engineering. It is therefore important to provide automated support for this activity. The problem is, however, that the resolution of inconsistencies may give rise to new inconsistencies. To address this problem, we propose to express inconsistency detection and resolutions as graph transformation rules, and to apply the theory of critical pair analysis to analyse potential dependencies between the detection and resolution of model inconsistencies. As a proof-of-concept, we report on an experiment that we have carried out along these lines using the critical pair analysis algorithm implemented in the state-of-the-art graph transformation tool AGG. The results show that both anticipated and unexpected dependencies between inconsistency detection and resolution rules are found by AGG. We discuss how the integration of the proposed approach into contemporary modelling tools may improve inconsistency management in various ways.
KeywordsTransformation Rule Graph Transformation Mutual Exclusion Critical Pair Sequential Dependency
Unable to display preview. Download preview PDF.
- 1.Object Management Group: Unified Modeling Language 2.0 Superstructure Specification (2005), http://www.omg.org/cgi-bin/apps/doc?formal/05-07-04.pdf
- 2.Van Der Straeten, R., D’Hondt, M.: Model refactorings through rule-based inconsistency resolution. In: ACM SAC 2006 - Track on Model Transformation (to appear, 2006)Google Scholar
- 4.Van Der Straeten, R.: Inconsistency Management in Model-driven Engineering. An Approach using Description Logics. PhD thesis, Department of Computer Science, Vrije Universiteit Brussel, Belgium (2005)Google Scholar
- 5.Plump, D.: Hypergraph rewriting: Critical pairs and undecidability of confluence. In: Term Graph Rewriting, pp. 201–214. Wiley, Chichester (1993)Google Scholar
- 8.Mens, T., Kniesel, G., Runge, O.: Transformation dependency analysis - a comparison of two approaches. Série L’objet - logiciel, base de données, réseaux (2006)Google Scholar
- 9.Goedicke, M., Meyer, T., Taentzer, G.: Viewpoint-oriented software development by distributed graph transformation: Towards a basis for living with inconsistencies. In: Proc. Requirements Engineering 1999, pp. 92–99. IEEE Computer Society, Los Alamitos (1999)Google Scholar
- 10.Ehrig, H., Tsioalikis, A.: Consistency analysis of UML class and sequence diagrams using attributed graph grammars. In: ETAPS 2000 workshop on graph transformation systems, pp. 77–86 (2000)Google Scholar
- 11.Hausmann, J.H., Heckel, R., Sauer, S.: Extended model relations with graphical consistency conditions. In: Proc. UML 2002 Workshop on Consistency Problems in UML-Based Software Development, pp. 61–74 (2002)Google Scholar
- 15.Kozlenkov, A., Zisman, A.: Discovering, recording, and handling inconsistencies in software specifications. Int’l Journal of Computer and Information Science 5 (2004)Google Scholar
- 16.Hausmann, J.H., Heckel, R., Taentzer, G.: Detection of conflicting functional requirements in a use case-driven approach. In: Proc. Int’l Conf. Software Engineering, ACM Press, New York (2002)Google Scholar
- 17.Mens, T., Taentzer, G., Runge, O.: Analyzing refactoring dependencies using graph transformation. Software and Systems Modeling (to appear, 2006)Google Scholar
- 18.Bottoni, P., Taentzer, G., Schürr, A.: Efficient parsing of visual languages based on critical pair analysis and contextual layered graph transformation. In: Proc. IEEE Symp. Visual Languages (2000)Google Scholar