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.
Similar content being viewed by others
Notes
Throughout this paper we refer to model representations as graphs, and use both terms interchangeably.
Non-scoped and baseline implementations are the same and are used interchangeably.
References
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)
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)
Sarkar, M.S., Blostein, D., Cordy, J.R.: GXL—A Graph Transformation Language with Scoping and Graph Parameters. Queens University, Kingston, ON (1998)
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
Mannadiar, R.: A multi-paradigm modelling approach to the foundations of domain-specific modelling. Ph.D. thesis, McGill University (2012)
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)
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)
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)
Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Addison-Wesley Longman Publishing Co. Inc, Boston (1986)
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)
Rensink, A., Kuperus, J.H.: Repotting the geraniums: on nested graph transformation rules. ECEASST 18, 380–394 (2009)
Boehm, P., Fonio, H.R., Habel, A.: Amalgamation of graph transformations: a synchronization mechanism. J. Comput. Syst. Sci. 34(2–3), 377–408 (1987)
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)
Bravenboer, M., van Dam, A., Olmos, K., Visser, E.: Program transformation with scoped dynamic rewrite rules. Fundam. Inf. 69(1–2), 123–178 (2005)
OMG: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification, Version 1.1 (2011)
Guerra, E., de Lara, J.: Event-driven grammars: relating abstract and concrete levels of visual languages. Softw. Syst. Model. 6(3), 317–347 (2007)
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)
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)
Syriani, E., Vangheluwe, H.: De-/re-constructing model transformation languages. ECEASST 29 (2010). doi:10.14279/tuj.eceasst.29.407
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)
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)
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)
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)
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)
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)
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)
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)
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)
Csárdi, G., Nepusz, T.: igraph reference manual (2012). http://igraph.sourceforge.net
Provost, M.: Himesis: a hierarchical subgraph matching kernel for model driven development. Master’s thesis, McGill University (2005)
Batz, G.V.: An optimization technique for subgraph matching strategies. Technical report, Universität Karlsruhe, Fakultät für Informatik (2006)
Edmonds, J.: Optimum branchings. J. Res. Natl. Bur. Stand. 71B, 233–240 (1967)
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)
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)
Finney, M.A.: FARSITE: Fire area simulator model development and evaluation. USDA Forest Service Research Paper, RMRS-RP-4 Revised (2012)
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)
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)
Palacz, W.: Algebraic hierarchical graph transformation. J. Comput. Syst. Sci. 68(3), 497–520 (2004)
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)
W3C: XML path language (XPath) version 1.0. W3C recommendation (1999)
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
Löwe, M.: Algebraic approach to single-pushout graph transformation. Theor. Comput. Sci. 109(1), 181–224 (1993)
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)
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)
Heckel, R.: Compositional verification of reactive systems specified by graph transformation. In: FASE, pp. 138–153 (1998)
Grayson, J.E.: Python and Tkinter Programming. Manning Publications Co. (1999). ISBN: 978-1884777813
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
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Mr. Juan de Lara.
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-016-0555-8