Detecting and Resolving Model Inconsistencies Using Transformation Dependency Analysis

  • Tom Mens
  • Ragnhild Van Der Straeten
  • Maja D’Hondt
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4199)


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.


Transformation Rule Graph Transformation Mutual Exclusion Critical Pair Sequential Dependency 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Object Management Group: Unified Modeling Language 2.0 Superstructure Specification (2005),
  2. 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
  3. 3.
    Van Der Straeten, R., Mens, T., Simmonds, J., Jonckers, V.: Using description logics to maintain consistency between UML models. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 326–340. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. 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. 5.
    Plump, D.: Hypergraph rewriting: Critical pairs and undecidability of confluence. In: Term Graph Rewriting, pp. 201–214. Wiley, Chichester (1993)Google Scholar
  6. 6.
    Taentzer, G.: AGG: A graph transformation environment for modeling and validation of software. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 446–453. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  7. 7.
    Ehrig, H., Prange, U., Taentzer, G.: Fundamental theory for typed attributed graph transformation. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 161–177. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  8. 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. 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. 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. 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
  12. 12.
    Easterbrook, S.: Handling conflict between domain descriptions with computer-supported negotiation. Knowledge Acquisition 3, 255–289 (1991)CrossRefGoogle Scholar
  13. 13.
    Nentwich, C., Emmerich, W., Finkelstein, A.: Consistency management with repair actions. In: Proc. 25th Int’l Conf. Software Engineering, pp. 455–464. IEEE Computer Society, Los Alamitos (2003)CrossRefGoogle Scholar
  14. 14.
    Spanoudakis, G., Finkelstein, A.: Reconciling requirements: a method for managing interference, inconsistency and conflict. Ann. Softw. Eng. 3, 433–457 (1997)CrossRefGoogle Scholar
  15. 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. 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. 17.
    Mens, T., Taentzer, G., Runge, O.: Analyzing refactoring dependencies using graph transformation. Software and Systems Modeling (to appear, 2006)Google Scholar
  18. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Tom Mens
    • 1
  • Ragnhild Van Der Straeten
    • 2
  • Maja D’Hondt
    • 3
  1. 1.Software Engineering LabUniversité de Mons-HainautMonsBelgium
  2. 2.Systems and Software Engineering LabVrije Universiteit BrusselBrusselBelgium
  3. 3.Laboratoire d’Informatique Fondamentale de LilleJacquard INRIA projectVilleneuve dAscqFrance

Personalised recommendations