Incremental Resolution of Model Inconsistencies

  • Tom Mens
  • Ragnhild Van Der Straeten
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4409)

Abstract

During model-driven software development, we are inevitably confronted with design models that contain a wide variety of inconsistencies. Interactive and automated support for detecting and resolving these inconsistencies is therefore indispensable. In this paper, we report on an iterative inconsistency resolution process. Our approach relies on the underlying formalism of graph transformation. We exploit the mechanism of critical pair analysis to analyse dependencies and conflicts between inconsistencies and resolutions, to detect resolution cycles and to analyse the completeness of resolutions. The results of this analysis are integrated in the iterative inconsistency resolution process and can help the software engineer to develop and evolve models in presence of inconsistencies.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Balzer, R.: Tolerating inconsistency. In: Proc. Int’l Conf. Software Engineering, pp. 158–165. ACM Press, New York (1991)Google Scholar
  2. 2.
    Object Management Group: Unified Modeling Language 2.0 Superstructure Specification (2005), http://www.omg.org/cgi-bin/apps/doc?formal/05-07-04.pdf
  3. 3.
    Warny, J.F.: Détection et résolution des incohérences des modèles UML avec un outil de transformation de graphes. Master’s thesis, Université de Mons-Hainaut, Belgium (2006)Google Scholar
  4. 4.
    Rozenberg, G.: Handbook of graph grammars and computing by graph transformation: Foundations, vol. 1. World Scientific, Singapore (1997)Google Scholar
  5. 5.
    Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G.: Handbook of graph grammars and computing by graph transformation: Applications, Languages and Tools, vol. 2. World Scientific, Singapore (1999)Google Scholar
  6. 6.
    Plump, D.: Hypergraph rewriting: Critical pairs and undecidability of confluence. In: Term Graph Rewriting, pp. 201–214. Wiley, Chichester (1993)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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, pp. 105–115. ACM Press, New York (2002)Google Scholar
  10. 10.
    Mens, T., Taentzer, G., Runge, O.: Analyzing refactoring dependencies using graph transformation. Software and Systems Modeling (to appear, 2007)Google Scholar
  11. 11.
    Mens, T., Van Der Straeten, R., D’Hondt, M.: Detecting and resolving model inconsistencies using transformation dependency analysis. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 200–214. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Biermann, E., Ehrig, K., Köhler, C., Kuhns, G., Taentzer, G., Weiss, E.: Graphical definition of in-place transformations in the eclipse modeling framework. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 425–439. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  13. 13.
    Lange, C.F.J., Chaudron, M.R.V.: An empirical assessment of completeness in UML designs. In: Proc. Int’l Conf. Empirical Assessment in Software Engineering, pp. 111–121 (2004)Google Scholar
  14. 14.
    Lange, C., Chaudron, M., Muskens, J.: In practice: UML software architecture and design description. IEEE Software 23(2), 40–46 (2006)CrossRefGoogle Scholar
  15. 15.
    Lange, C.F.J., Chaudron, M.R.V.: Effects of defects in UML models – an experimental investigation. In: Proc. Int’l Conf. Software Engineering, pp. 401–410. ACM Press, New York (2006)Google Scholar
  16. 16.
    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, 167–182 (2006)Google Scholar
  17. 17.
    Ehrig, H., Ehrig, K., de Lara, J., Taentzer, G., Varró, D., Varró-Gyapay, S.: Termination criteria for model transformation. In: Cerioli, M. (ed.) FASE 2005. LNCS, vol. 3442, pp. 49–63. Springer, Heidelberg (2005)Google Scholar
  18. 18.
    Wijsen, J.: Database repairing using updates. Trans. Database Systems 30(3), 722–768 (2005)CrossRefGoogle Scholar
  19. 19.
    Rensink, A.: The GROOVE simulator: A tool for state space generation. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 479–485. Springer, Heidelberg (2004)Google Scholar
  20. 20.
    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 - The Unified Modeling Language. Modeling Languages and Applications. LNCS, vol. 2863, pp. 326–340. Springer, Heidelberg (2003)Google Scholar
  21. 21.
    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
  22. 22.
    Egyed, A.: Instant consistency checking for the UML. In: Proc. Int’l Conf. Software Engineering, pp. 381–390. ACM Press, New York (2006)Google Scholar
  23. 23.
    Liu, W., Easterbrook, S., Mylopoulos, J.: Rule-based detection of inconsistency in UML models. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) «UML» 2002 - The Unified Modeling Language. Model Engineering, Concepts, and Tools. LNCS, vol. 2460, pp. 106–123. Springer, Heidelberg (2002)Google Scholar
  24. 24.
    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 Press, Los Alamitos (1999)Google Scholar
  25. 25.
    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
  26. 26.
    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

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Tom Mens
    • 1
    • 2
  • Ragnhild Van Der Straeten
    • 3
  1. 1.Software Engineering Lab, Université de Mons-Hainaut, Av. du champ de Mars 6, 7000 MonsBelgium
  2. 2.LIFL (UMR 8022), Université Lille 1 - Projet INRIA Jacquard, Cité Scientifique, 59655 Villeneuve d’Ascq CedexFrance
  3. 3.Systems and Software Engineering Lab, Vrije Universiteit Brussel, Pleinlaan 2, 1050 BrusselBelgium

Personalised recommendations