Abstract
The usability of model transformation languages depends on the level of abstractions one can work with in rules to perform complex operations on models. Recently, we have introduced a novel operator for our model transformation language GReAT that allows the concise specification of complex model (graph) rewriting operations that manipulate entire subgraphs. In this paper we show how the new operator can be used to implement non-trivial model manipulations with fewer and simpler rules, while maintaining efficiency. The examples were motivated by problems encountered in real-life model transformations.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Agrawal, A., Karsai, G., Neema, S., Shi, F., Vizhanyo, A.: The Design of a Language for Model Transformations. Journal on Software and System Modeling 5(3), 261–288 (2006)
ATL Project. An ECLIPSE GMT Subproject, http://www.eclipse.org/m2m/atl/
Balasubramanian, D., Karsai, G., Narayanan, A., Shi, F., Thibodeaux, R.: A Subgraph Operator for Graph Transformation Languages. In: GT-VMT 2007 Workshop at ETAPS (2007), http://www.cs.le.ac.uk/events/GTVMT07/
Bryant, R.E.: Graph Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers C-35(8), 677–691 (1986)
Drewes, F., Hoffmann, B., Plump, D.: Hierarchical Graph Transformation. Journal of Computer and System Sciences 64, 249–283 (2002)
Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Series: Monographs in Theoretical Computer Science. Springer, Heidelberg (2006)
Farcas, E., Farcas, C., Pree, W., Templ, J.: Transparent distribution of real-time components based on logical execution time. In: Proceedings of the 2005 ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools For Embedded Systems, LCTES 2005, Chicago, Illinois, USA, June 15-17, 2005, pp. 31–39. ACM Press, New York (2005)
Van Gorp, P., Schippers, H., Jannsens, D.: Copying Subgraphs within Model Repositories. In: 5th International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT), Vienna, Austria (2006)
Huth, M., Ryan, M.: Logic in Computer Science: Modeling and Reasoning about Systems. Cambridge University Press, Cambridge (2000)
Personal communications with developers and researchers from industrial labs
Schippers, H., Van Gorp, P.: Model Driven, Template Based, Model Transformer (MoTMoT) (2005), http://motmot.sourceforge.net/
Schürr, A., Winter, A., Zündorf, A.: Graph grammar engineering with PROGRES. In: Botella, P., Schäfer, W. (eds.) ESEC 1995. LNCS, vol. 989, pp. 219–234. Springer, Heidelberg (1995)
Silva, A.R., Rosa, F.A., Gonalves, T., Antunes, M.: Distributed Proxy: A Design Pattern for the Incremental Development of Distributed Applications. In: Emmerich, W., Tai, S. (eds.) EDO 2000. LNCS, vol. 1999, pp. 165–181. Springer, Heidelberg (2001)
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. Springer, Heidelberg (2004)
VIATRA2 Framework. An ECLIPSE GMT Subproject, http://www.eclsipse.org/gmt
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Balasubramanian, D. et al. (2008). Applying a Grouping Operator in Model Transformations. In: Schürr, A., Nagl, M., Zündorf, A. (eds) Applications of Graph Transformations with Industrial Relevance. AGTIVE 2007. Lecture Notes in Computer Science, vol 5088. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89020-1_28
Download citation
DOI: https://doi.org/10.1007/978-3-540-89020-1_28
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-89019-5
Online ISBN: 978-3-540-89020-1
eBook Packages: Computer ScienceComputer Science (R0)