Skip to main content

Scope in model transformations

Abstract

A notion of hierarchical scope is commonplace in many programmatic systems. In the context of model, and in particular graph transformation, the use of scope can present two advantages: first, more natural expression of transformation application locality, and second, reduction in the number of match candidates, promising performance improvements. Previous work on scope, however, has focused on applying it to rule hierarchies, which reduces the number of matches performed, but not necessarily the cost of finding a single match. In this paper we define and explore a hierarchical scope formalism applied to the input graph, with associated modifications to the transformation rule definition. We then experimentally evaluate the benefits and challenges of our scoped model transformations in the state-of-the-art graph rewriting tool GrGen and our research-oriented, meta-modeling and rule-based model transformation tool AToMPM. We use a non-trivial “fire spreading” simulation transformation taken from distributed simulation community and a mutual exclusion transformation benchmark to demonstrate that integration of scope results in an elegant, intuitive, and efficient way of solving model transformation problems.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26

Notes

  1. Throughout this paper we refer to model representations as graphs, and use both terms interchangeably.

  2. Non-scoped and baseline implementations are the same and are used interchangeably.

References

  1. Berner, S., Joos, S., Glinz, M., Arnold, M.: A visualization concept for hierarchical object models. In: Proceedings of the 13th IEEE International Conference on Automated Software Engineering, pp. 225–228 (1998)

  2. Cook, S.A.: The complexity of theorem-proving procedures. In: Proceedings of the Third Annual ACM Symposium on Theory of Computing (STOC’71), pp.151–158 (1971)

  3. Sarkar, M.S., Blostein, D., Cordy, J.R.: GXL—A Graph Transformation Language with Scoping and Graph Parameters. Queens University, Kingston, ON (1998)

  4. Giavitto, J.-L., Godin, C., Michel, O., Prusinkiewicz, P.: Computational models for integrative and developmental biology. In: Actes du Colloque Modélisation et simulation de processus biologiques dans le contexte de la génomique, Autrans, France (2002). https://hal.inria.fr/hal-00827466

  5. Mannadiar, R.: A multi-paradigm modelling approach to the foundations of domain-specific modelling. Ph.D. thesis, McGill University (2012)

  6. Varró, G., Schürr, A., Varró, D.: Benchmarking for graph transformation. Technical report, Department of Computer Science and Information Theory, Budapest University of Technology and Economics (2005)

  7. Geiß, R., Batz, G.V., Grund, D., Hack, S., Szalkowski, A.M.: GrGen: A fast SPO-based graph rewriting tool. In: Graph Transformations—ICGT 2006. Lecture Notes in Computer Science, pp. 383–397. Springer, Natal (2006)

  8. Varró, G., Friedl, K., Varró, D.: Adaptive graph pattern matching for model transformations using model-sensitive search plans. Electron. Notes Theor. Comput. Sci. 152, 191–205 (2006). In: Proceedings of the International Workshop on Graph and Model Transformation (GraMoT 2005)

  9. Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Addison-Wesley Longman Publishing Co. Inc, Boston (1986)

    MATH  Google Scholar 

  10. Taentzer, G., Beyer, M.: Amalgamated graph transformations and their use for specifying AGG—an algebraic graph grammar system. In: Schneider, H.J., Ehrig, H. (eds.) Graph Transformations in Computer Science. Lecture Notes in Computer Science, vol. 776, pp. 380–394. Springer, Berlin (1994)

  11. Rensink, A., Kuperus, J.H.: Repotting the geraniums: on nested graph transformation rules. ECEASST 18, 380–394 (2009)

  12. Boehm, P., Fonio, H.R., Habel, A.: Amalgamation of graph transformations: a synchronization mechanism. J. Comput. Syst. Sci. 34(2–3), 377–408 (1987)

    MathSciNet  Article  MATH  Google Scholar 

  13. Cordy, J., Halpern, C., Promislow, E.: TXL: a rapid prototyping system for programming language dialects. In: Proceedings of the International Conference on Computer Languages, pp. 280–285 (1988)

  14. Bravenboer, M., van Dam, A., Olmos, K., Visser, E.: Program transformation with scoped dynamic rewrite rules. Fundam. Inf. 69(1–2), 123–178 (2005)

    MathSciNet  MATH  Google Scholar 

  15. OMG: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification, Version 1.1 (2011)

  16. Guerra, E., de Lara, J.: Event-driven grammars: relating abstract and concrete levels of visual languages. Softw. Syst. Model. 6(3), 317–347 (2007)

    Article  Google Scholar 

  17. Agrawal, A., Karsai, G., Kalmar, Z., Neema, S., Shi, F., Vizhanyo, A.: The design of a language for model transformations. SoSyM 5(3), 261–288 (2006)

    Google Scholar 

  18. de Lara, J., Vangheluwe, H.L.: Using AToM\(^3\) as a meta-CASE environment. In: 4th International Conference on Enterprise Information Systems, pp. 642–649 (2002)

  19. Syriani, E., Vangheluwe, H.: De-/re-constructing model transformation languages. ECEASST 29 (2010). doi:10.14279/tuj.eceasst.29.407

  20. Schürr, A., Winter, A.J., Zündorf, A.: Graph grammar engineering with PROGRES. In: 5th European Software Engineering Conference, vol. 989, pp. 219–234. Springer, Berlin (1995)

  21. Leblebici, E., Anjorin, A., Schürr, A., Hildebrandt, S., Rieke, J., Greenyer, J.: A comparison of incremental triple graph grammar tools. In: Proceedings of the 13th International Workshop on Graph Transformation and Visual Modeling Techniques, Volume 67 of Electronic Communications of EASST, European Association of Software Science and Technology (2014)

  22. Giese, H., Hildebrandt, S., Lambers, L.: Bridging the gap between formal semantics and implementation of triple graph grammars. Softw. Syst. Model. 13(1), 273–299 (2012)

    Article  Google Scholar 

  23. Varró, G., Deckwerth, F.: A Rete network construction algorithm for incremental pattern matching. In: Proceedings of the International Conference on Theory and Practice of Model Transformations: ICMT Budapest, Hungary, pp. 125–140. Springer, Berlin (2013)

  24. Ujhelyi, Z., Bergmann, G., Hegedüs, Á., Horváth, Á., Izsó, B., Ráth, I., Szatmári, Z., Varró, D.: EMF-IncQuery: An integrated development environment for live model queries. Science of Computer Programming 98(Part 1), 80–99 (2015). Fifth issue of Experimental Software and Toolkits (EST): A Special Issue on Academics Modelling with Eclipse (ACME2012)

  25. Bergmann, G., Dávid, I., Hegedüs, Á., Horváth, Á., Ráth, I., Ujhelyi, Z., Varró, D.: Viatra 3: a reactive model transformation platform. In: Proceedings of the International Conference on Theory and Practice of Model Transformations: ICMT, Held as Part of STAF, L’Aquila, Italy, pp. 101–110. Springer, Cham (2015)

  26. Bergmann, G., Horváth, Á., Ráth, I., Varró, D.: Efficient model transformations by combining pattern matching strategies. In: Proceedings of the International Conference on Theory and Practice of Model Transformations: ICMT Zurich, Switzerland, pp. 20–34. Springer, Berlin (2009)

  27. Varró, G., Deckwerth, F., Wieber, M., Schürr, A.: An algorithm for generating model-sensitive search plans for pattern matching on EMF models. Softw. Syst. Model. 14(2), 597–621 (2013)

    Article  Google Scholar 

  28. Jukšs, M., Verbrugge, C., Varró, D., Vangheluwe, H.: Dynamic scope discovery for model transformations. In: Proceedings of the 7th International Conference on Software Language Engineering (SLE 2014), Västerås, Sweden, September 15–16, pp. 302–321 (2014)

  29. Csárdi, G., Nepusz, T.: igraph reference manual (2012). http://igraph.sourceforge.net

  30. Provost, M.: Himesis: a hierarchical subgraph matching kernel for model driven development. Master’s thesis, McGill University (2005)

  31. Batz, G.V.: An optimization technique for subgraph matching strategies. Technical report, Universität Karlsruhe, Fakultät für Informatik (2006)

  32. Edmonds, J.: Optimum branchings. J. Res. Natl. Bur. Stand. 71B, 233–240 (1967)

    MathSciNet  Article  MATH  Google Scholar 

  33. Bergmann, G., Horváth, Á., Ráth, I., Varró, D.: A benchmark evaluation of incremental pattern matching in graph transformation. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) Graph Transformations. Lecture Notes in Computer Science, vol. 5214, pp. 396–410. Springer, Berlin (2008)

    Google Scholar 

  34. Kourtz, P., O’Regan, W.: A model for a small forest fire... to simulate burned and burning areas for use in a detection model. For. Sci. 17, 163–169 (1971)

  35. Finney, M.A.: FARSITE: Fire area simulator model development and evaluation. USDA Forest Service Research Paper, RMRS-RP-4 Revised (2012)

  36. Muzy, A., Touraille, L., Vangheluwe, H., Michel, O., Traoré, M.K., Hill, D.R.C.: Activity regions for the specification of discrete event systems. In: SpringSim, vol. 136, pp. 136:1–136:7 (2010)

  37. Muzy, A., Nutaro, J., Zeigler, B., Coquillard, P.: Modeling and simulation of fire spreading through the activity tracking paradigm. Ecol. Model. 219(1–2), 212–225 (2008)

    Article  Google Scholar 

  38. Palacz, W.: Algebraic hierarchical graph transformation. J. Comput. Syst. Sci. 68(3), 497–520 (2004)

    MathSciNet  Article  MATH  Google Scholar 

  39. de Lara, J., Bardohl, R., Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Typed attributed graph transformation with inheritance. In: Brauer, W., Rozenberg, G., Salomaa, A. (eds.) Fundamentals of Algebraic Graph Transformation, pp. 259–281. Springer, Berlin (2006)

  40. W3C: XML path language (XPath) version 1.0. W3C recommendation (1999)

  41. Mendelzon, A.O., Wood, P.T.: Finding regular simple paths in graph databases. SIAM J. Comput. 24(6), 1235–1258 (1995). doi:10.1137/S009753979122370X

  42. Löwe, M.: Algebraic approach to single-pushout graph transformation. Theor. Comput. Sci. 109(1), 181–224 (1993)

    Article  MATH  Google Scholar 

  43. Heckel, R., Wagner, A.: Ensuring consistency of conditional graph grammars—a constructive approach. In: Proceedings of SEGRAGRA Graph Rewriting and Computation, Electronic Notes of TCS, vol. 2 (1995)

  44. Biermann, E., Ermel, C., Taentzer, G.: Formal foundation of consistent EMF model transformations by algebraic graph transformation. Softw. Syst. Model. 11(2), 227–250 (2011)

    Article  Google Scholar 

  45. Heckel, R.: Compositional verification of reactive systems specified by graph transformation. In: FASE, pp. 138–153 (1998)

  46. Grayson, J.E.: Python and Tkinter Programming. Manning Publications Co. (1999). ISBN: 978-1884777813

  47. Meyers, B., Vangheluwe, H.: A framework for evolution of modelling languages. Sci. Comput. Programm. 76(12), 1223–1246 (2011). Special Issue on software evolution, adaptability and variability

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Māris Jukšs.

Additional information

Communicated by Mr. Juan de Lara.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Jukšs, M., Verbrugge, C., Elaasar, M. et al. Scope in model transformations. Softw Syst Model 17, 1227–1252 (2018). https://doi.org/10.1007/s10270-016-0555-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-016-0555-8

Keywords

  • Scope
  • Graph scoping
  • Graph grammar
  • Rule-based model transformations
  • Search plans
  • Efficient pattern matching