Advertisement

Analysis and Evaluation of Conformance Preserving Graph Transformation Rules

  • Fazle RabbiEmail author
  • Yngve Lamo
  • Lars Michael Kristensen
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 991)

Abstract

Model transformation is a formal approach for modelling the behavior of software systems. Over the past few years, graph based modeling of software systems has gained significant attention as there are numerous techniques available to formally specify constraints and the dynamics of systems. Graph transformation rules are used to model the behavior of software systems which is the core element in model driven software engineering. However, in general, the application of graph transformation rules cannot guarantee the correctness of model transformations. In this paper, we propose to use a graph transformation technique that guarantees the correctness of transformations by checking required and forbidden graph patterns. The proposed technique is based on the application of conformance preserving transformation rules which guarantee that produced output models conform to their underlying metamodel. To determine if a rule is conformance preserving we present a new algorithm for checking conformance preserving rules with respect to a set of graph constraints. We also present a formal proof of the soundness of the algorithm. We apply our technique to homogeneous model transformations where input and output models must conform to the same meta-model. The algorithm relies on locality of a constrained graph to reduce the computational cost.

Keywords

Model transformation Graph constraint Metamodelling Formal correctness of model transformations Domain-specific modeling languages 

Notes

Acknowledgement

The authors would like to thank the reviewers for their constructive comments on the earlier version of this paper.

References

  1. 1.
    Analysis of conformance preserving transformation rule (2018). https://github.com/fazlRabbi/ConformanceTxRule
  2. 2.
    Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6394, pp. 121–135. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-16145-2_9CrossRefGoogle Scholar
  3. 3.
    Artemiadis, A.K., Vervainioti, A.A., Alexopoulos, E., Rombos, A., Anagnostouli, M.C., Darviri, C.: Stress management and multiple sclerosis: a randomized controlled trial. Arch. Clin. Neuropsychol.: Off. J. Nat. Acad. Neuropsychol. 27(4), 406–16 (2012)CrossRefGoogle Scholar
  4. 4.
    Baresi, L., Spoletini, P.: On the use of alloy to analyze graph transformation systems. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 306–320. Springer, Heidelberg (2006).  https://doi.org/10.1007/11841883_22CrossRefzbMATHGoogle Scholar
  5. 5.
    Becker, B., Beyer, D., Giese, H., Klein, F., Schilling, D.: Symbolic invariant verification for systems with dynamic structural adaptation. In: Proceedings of the 28th International Conference on Software Engineering, ICSE 2006, pp. 72–81. ACM, New York (2006)Google Scholar
  6. 6.
    Bruggink, H.J.S., König, B., Zantema, H.: Termination analysis for graph transformation systems. In: Diaz, J., Lanese, I., Sangiorgi, D. (eds.) TCS 2014. LNCS, vol. 8705, pp. 179–194. Springer, Heidelberg (2014).  https://doi.org/10.1007/978-3-662-44602-7_15CrossRefGoogle Scholar
  7. 7.
    da Costa, S.A., Ribeiro, L.: Verification of graph grammars using a logical approach. Sci. Comput. Program. 77(4), 480–504 (2012)CrossRefGoogle Scholar
  8. 8.
    Diskin, Z., Wolter, U.: A diagrammatic logic for object-oriented visual modeling. Electron. Notes Theor. Comput. Sci. 203(6), 19–41 (2008). Proceedings of the 2nd Workshop on Applied and Computational Category Theory (ACCAT 2007)CrossRefGoogle Scholar
  9. 9.
    Dyck, J., Giese, H.: Inductive invariant checking with partial negative application conditions. In: Parisi-Presicce, F., Westfechtel, B. (eds.) ICGT 2015. LNCS, vol. 9151, pp. 237–253. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-21145-9_15CrossRefGoogle Scholar
  10. 10.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. MTCSAES. Springer, Heidelberg (2006).  https://doi.org/10.1007/3-540-31188-2CrossRefzbMATHGoogle Scholar
  11. 11.
    Graphviz: Graph visualization software (2018). https://www.graphviz.org/
  12. 12.
    Habel, A., Pennemann, K.-H.: Correctness of high-level transformation systems relative to nested conditions. Math. Struct. Comput. Sci. 19(2), 245–296 (2009)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Heckel, R., Küster, J.M., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 161–176. Springer, Heidelberg (2002).  https://doi.org/10.1007/3-540-45832-8_14CrossRefzbMATHGoogle Scholar
  14. 14.
    Heckel, R., Wagner, A.: Ensuring consistency of conditional graph grammars - a constructive approach. ENTCS 2(C), 118–126 (1995)zbMATHGoogle Scholar
  15. 15.
    Hermann, F., Ehrig, H., Orejas, F., Golas, U.: Formal analysis of functional behaviour for model transformations based on triple graph grammars. In: Ehrig, H., Rensink, A., Rozenberg, G., Schürr, A. (eds.) ICGT 2010. LNCS, vol. 6372, pp. 155–170. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-15928-2_11CrossRefzbMATHGoogle Scholar
  16. 16.
    Lambers, L., Ehrig, H., Prange, U., Orejas, F.: Embedding and confluence of graph transformations with negative application conditions. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) ICGT 2008. LNCS, vol. 5214, pp. 162–177. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-87405-8_12CrossRefzbMATHGoogle Scholar
  17. 17.
    Plump, D.: Checking graph-transformation systems for confluence. ECEASST 26, 16 (2010)Google Scholar
  18. 18.
    Rabbi F., Kristensen L.M., Lamo Y.: Static analysis of conformance preserving model transformation rules. In: Hammoudi, S., Pires, L.F., Selic, B. (eds.) Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018, 22–24 January 2018, Funchal, Madeira - Portugal, pp. 152–162. SciTePress (2018)Google Scholar
  19. 19.
    Ribeiro, L., Dotti, F.L., da Costa, S.A., Dillenburg, F.C.: Towards theorem proving graph grammars using Event-B. ECEASST 30, 16 (2010)Google Scholar
  20. 20.
    Rutle, A.: Diagram predicate framework: a formal approach to MDE. Ph.D. thesis, Department of Informatics, University of Bergen, Norway (2010)Google Scholar
  21. 21.
    Rutle, A., Rossini, A., Lamo, Y., Wolter, U.: A formal approach to the specification and transformation of constraints in mde. J. Logic Algebraic Program. 81(4), 422–457 (2012)MathSciNetCrossRefGoogle Scholar
  22. 22.
    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).  https://doi.org/10.1007/978-3-540-25959-6_35CrossRefGoogle Scholar
  23. 23.
    Troya, J., Vallecillo, A.: Towards a rewriting logic semantics for ATL. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 230–244. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-13688-7_16CrossRefGoogle Scholar
  24. 24.
    Varró, D., Varró, G., Pataricza, A.: Designing the automatic transformation of visual languages. Sci. Comput. Program. 44(2), 205–227 (2002)CrossRefGoogle Scholar
  25. 25.
    Wang, X., Büttner, F., Lamo, Y.: Verification of graph-based model transformations using alloy. ECEASST 67, 13 (2014)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Fazle Rabbi
    • 1
    Email author
  • Yngve Lamo
    • 1
  • Lars Michael Kristensen
    • 1
  1. 1.Western Norway University of Applied SciencesBergenNorway

Personalised recommendations