Software & Systems Modeling

, Volume 9, Issue 3, pp 335–357 | Cite as

A UML/OCL framework for the analysis of graph transformation rules

  • Jordi Cabot
  • Robert Clarisó
  • Esther Guerra
  • Juan de Lara
Special Section Paper


In this paper we present an approach for the analysis of graph transformation rules based on an intermediate OCL representation. We translate different rule semantics into OCL, together with the properties of interest (like rule applicability, conflicts or independence). The intermediate representation serves three purposes: (1) it allows the seamless integration of graph transformation rules with the MOF and OCL standards, and enables taking the meta-model and its OCL constraints (i.e. well-formedness rules) into account when verifying the correctness of the rules; (2) it permits the interoperability of graph transformation concepts with a number of standards-based model-driven development tools; and (3) it makes available a plethora of OCL tools to actually perform the rule analysis. This approach is especially useful to analyse the operational semantics of Domain Specific Visual Languages. We have automated these ideas by providing designers with tools for the graphical specification and analysis of graph transformation rules, including a back-annotation mechanism that presents the analysis results in terms of the original language notation.


Graph transformation OCL Meta-modelling Domain Specific Visual Languages Verification and validation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    AGG graph transformation analysis tool.
  2. 2.
    Anastasakis, K., Bordbar, K., Georg, G., Ray, I.: UML2Alloy: A challenging model transformation. In: Proceedings of MODELS’07, LNCS 4735, pp. 436 –450. Springer, Heildelberg (2007)Google Scholar
  3. 3.
    Andoni, A., Daniliuc, D., Khurshid, S., Marinov, D.: Evaluating the “Small Scope Hypothesis”. Technical Report MIT-LCS-TR-921, MIT CSAIL (2003)Google Scholar
  4. 4.
    Baldan, P., Corradini, A., König, B.: A static analysis technique for graph transformation systems. In: Proceedings of CONCUR’01, LNCS 2154, pp. 381–395. Springer, Heildelberg (2001)Google Scholar
  5. 5.
    Baresi, L., Spoletini, P.: On the use of Alloy to analyze graph transformation systems. In: Proceedings of ICGT’06, LNCS 4178, pp. 306–320. Springer, Heildelberg (2006)Google Scholar
  6. 6.
    Berardi, D., Calvanese, D., Giacomo, G.D.: Reasoning on UML class diagrams. Artificial Intelligence. Vol. 168(1–2), pp. 70–118. Elsevier, Amsterdam (2005)Google Scholar
  7. 7.
    Berry D.M.: Formal methods: the very idea. Some thoughts about why they work when they work. Sci. Comput. Program. 42(1), 11–27 (2002)MATHCrossRefGoogle Scholar
  8. 8.
    Borgida A., Mylopoulos J., Reiter R.: On the frame problem in procedure specifications. IEEE Trans. Softw. Eng. 21(10), 785–798 (1995)CrossRefGoogle Scholar
  9. 9.
    Brottier, E., Fleurey, F., Steel, J., Baudry, B., Le Traon, Y.: Metamodel-based test generation for model transformations:an algorithm and a tool. In: Proceedings of ISSRE’06, IEEE Computer Society, pp. 85–94 (2006)Google Scholar
  10. 10.
    Brucker, A.D., Wolff, B.: The HOL-OCL book. Technical Report 525, ETH Zurich (2006)Google Scholar
  11. 11.
    Brucker A.D., Wolff B.: Semantics, calculi, and analysis for object-oriented specifications. Acta Inform. 56(4), 255–284 (2009)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Büttner, F., Gogolla, M.: Realizing graph transformations by pre- and postconditions and command sequences. In: Proceedings of ICGT’06, LNCS 4178, pp. 398–413. Springer, Heildelberg (2006)Google Scholar
  13. 13.
    Cabot, J., Clarisó, R., Riera, D.: UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming. In: Proceedings of ASE’07, pp. 547–548 (2007)Google Scholar
  14. 14.
    Cabot, J., Clarisó, R., Riera, D.: Verification of UML/OCL Class Diagrams Using Constraint Programming. MoDeVVa 2008, ICST Workshop, pp. 73–80 (2008)Google Scholar
  15. 15.
    Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: Analysing graph transformation rules through OCL. In: Proceedings of ICMT, LNCS 5063, pp. 229–244. Springer, Heidelberg (2008a)Google Scholar
  16. 16.
    Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: An invariant-based method for the analysis of declarative model-to-model transformations. In: Proceedings of MODELS 2008, LNCS 5301, pp. 37–52. Springer, Heidelberg (2008b)Google Scholar
  17. 17.
    Clavel, M., Egea, M.: A rewriting-based validation tool for UML+OCL static class diagrams. In: Proceedings of AMAST’06, LNCS 4019, pp. 368–373. Springer, Heidelberg (2006)Google Scholar
  18. 18.
    de Lara, J., Vangheluwe, H.: AToM3: A tool for multi-formalism modelling and meta-modelling. In: Proceedings of FASE’02, LNCS 2306, pp. 174–188 (2002)Google Scholar
  19. 19.
    de Lara J., Bardohl R., Ehrig H., Ehrig K., Prange U., Taentzer G.: Attributed graph transformation with node type inheritance. Theor. Comput. Sci. 376(3), 139–163 (2007)MATHCrossRefGoogle Scholar
  20. 20.
    de Lara, J., Vangheluwe, H.: Defining visual notations and their manipulation through meta-modelling and graph transformation. J. Vis. Lang. Comput. 15(3–4):309–330. Elsevier (2004)Google Scholar
  21. 21.
    Dresden OCL Toolkit. (visited October 2008)
  22. 22.
    Ebert, J., Riediger, V., Winter, A.: Graph technology in reverse engineering. The TGraph Approach. In: Proceedings of 10th Workshop Software Reengineering. GI Lecture Notes in Informatics, pp. 67–81 (2008)Google Scholar
  23. 23.
    Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamentals of Algebraic Graph Transformation. Springer, Heidelberg (2006)MATHGoogle Scholar
  24. 24.
    Ehrig, H., Heckel, R., Korff, M., Löwe, M., Ribeiro, L., Wagner, A., Corradini, A.: Algebraic Approaches to Graph Transformation—Part II: Single Pushout Approach and Comparison with Double Pushout Approach. In [52], pp. 247–312 (1999)Google Scholar
  25. 25.
    Ermel, C., Hölscher, K., Kuske, S., Ziemann, P.: Animated simulation of integrated UML behavioral models based on graph transformation. In: Proceedings of IEEE VL/HCC 2005, pp. 125–133 (2005)Google Scholar
  26. 26.
    Fujaba tool suite home page:
  27. 27.
    Gogolla, M., Bohling, J., Richters, M.: Validating UML and OCL models in USE by automatic snapshot generation. SoSyM 4(4):386–398. Springer (2005)Google Scholar
  28. 28.
    Heckel, R., Küster, J.-M., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Proceedings of ICGT’02, LNCS 2505, pp. 161–176. Springer, Heidelberg (2002)Google Scholar
  29. 29.
    Jackson D.: Alloy: a lightweight object modelling notation. ACM TOSEM 11(2), 256–290 (2002)CrossRefGoogle Scholar
  30. 30.
    Jouault, F., Allilairem, F., Bézivin, J., Kurtev, I., Valduriez, P.: ATL: a QVT-like transformation language. OOPSLA Companion, pp. 719–720, ACM (2006)Google Scholar
  31. 31.
    Kalnins, A., Barzdins, J., Celms, E.: Model Transformation Language MOLA. In: Proceedings of MDAFA’04, LNCS 3599, pp. 62–76. Springer, Heidelberg (2004)Google Scholar
  32. 32.
    Katz, S.: A survey of verification and static analysis for aspects. Technical Report AOSD-Europe Milestone M8.1, AOSD-Europe-Technion-1, Technion Israel (2005)Google Scholar
  33. 33.
    Kniesel, G., Bardey, U.: An analysis of the Correctness and Completeness of Aspect Weaving. WCRE’06, pp. 324–333, IEEE Computer Society (2006)Google Scholar
  34. 34.
    Kniesel, G.: Detection and Resolution of Weaving Interactions. In: Proceedings of TAOSD, LNCS 5490, pp. 135–186. Springer, Heidelberg (2009)Google Scholar
  35. 35.
    Lambers, L., Ehrig, H., Taentzer, G.: Sufficient criteria for applicability and non-applicability of rule sequences. In: Proceedings of GT-VMT’08, Electronic Communications of the EASST, vol. 10 (2008)Google Scholar
  36. 36.
    Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design. Prentice Hall, Upper Saddle River, 3rd Edition (2004)Google Scholar
  37. 37.
    Markovic S., Baar T.: Refactoring OCL annotated UML class diagrams. SoSyM 7(1), 25–47 (2008) SpringerGoogle Scholar
  38. 38.
    Mellor S.J., Scott K., Uhl A., Weise D.: MDA Distilled. Addison-Wesley Object Technology Series, Redwood (2004)Google Scholar
  39. 39.
    Mehner, K., Monga, M., Taentzer, G.: Interaction Analysis in Aspect-Oriented Models. RE’06, pp. 66–75, IEEE Computer Society (2006)Google Scholar
  40. 40.
    Mens, T., Tourwé, T.: A Survey of Software Refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 IEEE (2004)Google Scholar
  41. 41.
    Mens, T., Kniesel, G., Runge, O.: Transformation dependency analysis— a comparison of two approaches. LMO’06 12:167–182. Hermes Science Publishing (2006)Google Scholar
  42. 42.
    Mens T., Taentzer G., Runge O.: Analysing refactoring dependencies using graph transformation. SoSyM 6(3), 269–285 (2007) SpringerCrossRefGoogle Scholar
  43. 43.
    MOF 2.0 standard specification at:
  44. 44.
    OCL 2.0 standard specification at:
  45. 45.
    Pérez Velasco P.P., de Lara J.: Using Matrix Graph Grammars for the Analysis of Behavioural Specifications: Sequential and Parallel Independence. Electr. Notes Theor. Comput. Sci. 206, 133–152 (2008)CrossRefGoogle Scholar
  46. 46.
    Queralt, A., Teniente, E.: Reasoning on UML Class Diagrams with OCL constraints. ER 2006, LNCS 4215, pp. 497–512. Springer (2006)Google Scholar
  47. 47.
    Queralt, A., Teniente, E.: Decidable Reasoning in UML Schemas with Constraints. CAISE 2008, pp.: 281-295. Springer (2008a)Google Scholar
  48. 48.
    Queralt, A., Teniente, E.: Validation of UML Conceptual Schemas with Operations. CAISE Forum 2008, pp. 101–104. CEUR Workshop Proceedings (2008b)Google Scholar
  49. 49.
    QVT standard specification at:
  50. 50.
    Rensink, A.: Explicit State Model Checking for Graph Grammars. Concurrency, Graphs and Models, LNCS 5065, pp. 114–132. Springer (2008)Google Scholar
  51. 51.
    Rivera, J.E., Guerra, E., de Lara, J., Vallecillo, A.: Analyzing rule-based behavioral semantics of visual modeling languages with maude. In: Proceedigs of SLE’08, LNCS 5452, pp. 54–73. Springer (2008)Google Scholar
  52. 52.
    Rozenberg G. (eds): Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations. World Scientific, Singapore (1997Google Scholar
  53. 53.
    Sendall, S., Strohmeier, A.: Using OCL and UML to specify system behavior. In Object Modeling with the OCL 2002, LNCS 2263, pp. 250–280. Springer (2002)Google Scholar
  54. 54.
    Schürr, A.: Specification of graph translators with triple graph grammars. In WG’94, LNCS 903, pp. 151–163. Springer (1994)Google Scholar
  55. 55.
    Taentzer, G., Rensink, A.: Ensuring structural constraints in graph-based models with type inheritance. In: Proceedings of FASE’05, LNCS 3442, pp. 64–79. Springer, Heidelberg (2005)Google Scholar
  56. 56.
    The ECLiPSe Constraint Programming System.
  57. 57.
    Varró D.: Automated formal verification of visual modeling languages by model checking. SoSyM 3(2), 85–113 (2004) SpringerCrossRefGoogle Scholar
  58. 58.
    Völter M., Stahl T.: Model-Driven Software Development. Wiley, New York (2006)Google Scholar
  59. 59.
    XML Metadata Interchange (XMI), v2.1.1 standard specification at:

Copyright information

© Springer-Verlag 2009

Authors and Affiliations

  • Jordi Cabot
    • 1
    • 4
  • Robert Clarisó
    • 1
  • Esther Guerra
    • 2
  • Juan de Lara
    • 3
  1. 1.Universitat Oberta de CatalunyaBarcelonaSpain
  2. 2.Universidad Carlos III de MadridMadridSpain
  3. 3.Universidad Autónoma de MadridMadridSpain
  4. 4.Estudis d’Informàtica, Multimèdia i TelecomunicacionsBarcelonaSpain

Personalised recommendations