Skip to main content

Advertisement

Log in

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

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. AGG graph transformation analysis tool. http://tfs.cs.tu-berlin.de/agg/

  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)

  3. Andoni, A., Daniliuc, D., Khurshid, S., Marinov, D.: Evaluating the “Small Scope Hypothesis”. Technical Report MIT-LCS-TR-921, MIT CSAIL (2003)

  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)

  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)

  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)

  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)

    Article  MATH  Google Scholar 

  8. Borgida A., Mylopoulos J., Reiter R.: On the frame problem in procedure specifications. IEEE Trans. Softw. Eng. 21(10), 785–798 (1995)

    Article  Google Scholar 

  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)

  10. Brucker, A.D., Wolff, B.: The HOL-OCL book. Technical Report 525, ETH Zurich (2006)

  11. Brucker A.D., Wolff B.: Semantics, calculi, and analysis for object-oriented specifications. Acta Inform. 56(4), 255–284 (2009)

    Article  MathSciNet  Google Scholar 

  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)

  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)

  14. Cabot, J., Clarisó, R., Riera, D.: Verification of UML/OCL Class Diagrams Using Constraint Programming. MoDeVVa 2008, ICST Workshop, pp. 73–80 (2008)

  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)

  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)

  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)

  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)

  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)

    Article  MATH  Google Scholar 

  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. Dresden OCL Toolkit. http://dresden-ocl.sourceforge.net/ (visited October 2008)

  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)

  23. Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamentals of Algebraic Graph Transformation. Springer, Heidelberg (2006)

    MATH  Google Scholar 

  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)

  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)

  26. Fujaba tool suite home page: http://wwwcs.uni-paderborn.de/cs/fujaba/

  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. 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)

  29. Jackson D.: Alloy: a lightweight object modelling notation. ACM TOSEM 11(2), 256–290 (2002)

    Article  Google Scholar 

  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)

  31. Kalnins, A., Barzdins, J., Celms, E.: Model Transformation Language MOLA. In: Proceedings of MDAFA’04, LNCS 3599, pp. 62–76. Springer, Heidelberg (2004)

  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)

  33. Kniesel, G., Bardey, U.: An analysis of the Correctness and Completeness of Aspect Weaving. WCRE’06, pp. 324–333, IEEE Computer Society (2006)

  34. Kniesel, G.: Detection and Resolution of Weaving Interactions. In: Proceedings of TAOSD, LNCS 5490, pp. 135–186. Springer, Heidelberg (2009)

  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)

  36. Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design. Prentice Hall, Upper Saddle River, 3rd Edition (2004)

  37. Markovic S., Baar T.: Refactoring OCL annotated UML class diagrams. SoSyM 7(1), 25–47 (2008) Springer

    Google Scholar 

  38. Mellor S.J., Scott K., Uhl A., Weise D.: MDA Distilled. Addison-Wesley Object Technology Series, Redwood (2004)

    Google Scholar 

  39. Mehner, K., Monga, M., Taentzer, G.: Interaction Analysis in Aspect-Oriented Models. RE’06, pp. 66–75, IEEE Computer Society (2006)

  40. Mens, T., Tourwé, T.: A Survey of Software Refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 IEEE (2004)

    Google Scholar 

  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. Mens T., Taentzer G., Runge O.: Analysing refactoring dependencies using graph transformation. SoSyM 6(3), 269–285 (2007) Springer

    Article  Google Scholar 

  43. MOF 2.0 standard specification at: http://www.omg.org/spec/MOF/2.0/

  44. OCL 2.0 standard specification at: http://www.omg.org/technology/documents/formal/ocl.htm

  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)

    Article  Google Scholar 

  46. Queralt, A., Teniente, E.: Reasoning on UML Class Diagrams with OCL constraints. ER 2006, LNCS 4215, pp. 497–512. Springer (2006)

  47. Queralt, A., Teniente, E.: Decidable Reasoning in UML Schemas with Constraints. CAISE 2008, pp.: 281-295. Springer (2008a)

  48. Queralt, A., Teniente, E.: Validation of UML Conceptual Schemas with Operations. CAISE Forum 2008, pp. 101–104. CEUR Workshop Proceedings (2008b)

  49. QVT standard specification at: http://www.omg.org/docs/ptc/05-11-01.pdf

  50. Rensink, A.: Explicit State Model Checking for Graph Grammars. Concurrency, Graphs and Models, LNCS 5065, pp. 114–132. Springer (2008)

  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)

  52. Rozenberg G. (eds): Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations. World Scientific, Singapore (1997

    Google Scholar 

  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)

  54. Schürr, A.: Specification of graph translators with triple graph grammars. In WG’94, LNCS 903, pp. 151–163. Springer (1994)

  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)

  56. The ECLiPSe Constraint Programming System. http://www.eclipse-clp.org

  57. Varró D.: Automated formal verification of visual modeling languages by model checking. SoSyM 3(2), 85–113 (2004) Springer

    Article  Google Scholar 

  58. Völter M., Stahl T.: Model-Driven Software Development. Wiley, New York (2006)

    Google Scholar 

  59. XML Metadata Interchange (XMI), v2.1.1 standard specification at: http://www.omg.org/cgi-bin/doc?formal/2007-12-01

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jordi Cabot.

Additional information

Communicated by Jeff Gray, Alfonso Pierantonio, and Antonio Vallecillo.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cabot, J., Clarisó, R., Guerra, E. et al. A UML/OCL framework for the analysis of graph transformation rules. Softw Syst Model 9, 335–357 (2010). https://doi.org/10.1007/s10270-009-0129-0

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-009-0129-0

Keywords