Abstract
Double-pushout rewriting (DPO) is the most popular algebraic approach to graph transformation. Most of its theory has been developed for linear rules, which allow deletion, preservation, and addition of vertices and edges only. Deletion takes place in a careful and circumspect way: a double pushout derivation does never delete vertices or edges which are not in the image of the applied match. Due to these restrictions, every DPO-rewrite is invertible. In this paper, we extend the DPO-approach to non-linear and still invertible rules. Some model transformation examples show that the extension is worthwhile from the practical point of view. And there is a good chance for the extension of the existing theory. In this paper, we investigate parallel independence.
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 subscriptionsNotes
- 1.
Adhesive categories, details see below.
- 2.
The pushout complements \(D_{2}\) and \(D_{3}\) as well \(D_{6}\) and \(D_{7}\) produce isomorphic objects but differ in the assignments of edges to G, i.e., \(g_{2}\ne g_{3}\) and \(g_{6}\ne g_{7}\). The complement pairs \(D_{1}\) and \(D_{8}\), \(D_{4}\) and \(D_{5}\), as well as \(D_{2/3}\) and \(D_{6/7}\) are isomorphic and can only be distinguished if we fix the embedding of K.
- 3.
Compare [10].
- 4.
Inheritance relations and associations in the classified model do not change the structure that is added by the classifier. The classifier structure depends on the (number of) types only.
- 5.
The pushout morphisms \(c_{l}\) and \(c_{r}\) are monic by Fact 6(2).
- 6.
Therefore, the identification condition for rule applicability [9] does not matter here.
- 7.
Since \((\mathrm {id}_{L},c_{l})\) and (c, l) are pullbacks of \((\eta _{L},c_{l}^{\bullet })\) resp. \((l_{c},c_{l})\) by Fact 6(1) and, therefore, (l, c) is pullback of \((c_{l}^{\bullet }\circ l_{c},\eta _{L})\), we have that \(c_{l}^{\bullet }\circ l_{c}=(c,l)^{\bullet }\). Since \(c_{l}^{\bullet }\) is monic, \((\mathrm {id}_{G},m')\) is pullback of \((c_{l}^{\bullet },m^{\bullet })\) and \((n',g)\) is pullback of \((m^{\bullet },c_{l}^{\bullet }\circ l_{c})\).
- 8.
Double-headed context arrows represent a pair of arrows one in each direction.
- 9.
This feature needs to be added in the model signature in Fig. 6.
- 10.
Complete association contexts means e.g., for type “1” in Fig. 16 that there ‘are’ 2 adjacent association pairs from and to type “2” and from and to the undefined type.
- 11.
This condition is identical to the one in [2].
- 12.
In case of a monic trace (g and h are monic), \(g\circ m_{D}=m_{G}\) and \(h\circ m_{D}=m_{H}\) implies that \((\mathrm {id}_{L},m_{D})\) is pullback of \((m_{G},g)\) and \((m_{H},h)\).
- 13.
For a detailed proof, see [14].
References
Corradini, A., Duval, D., Echahed, R., Prost, F., Ribeiro, L.: AGREE – algebraic graph rewriting with controlled embedding. In: Parisi-Presicce, F., Westfechtel, B. (eds.) ICGT 2015. LNCS, vol. 9151, pp. 35–51. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21145-9_3
Danos, V., Heindel, T., Honorato-Zimmer, R., Stucki, S.: Reversible sesqui-pushout rewriting. In: Giese, H., König, B. (eds.) ICGT 2014. LNCS, vol. 8571, pp. 161–176. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-09108-2_11
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-2
Ehrig, H., Ermel, C., Golas, U., Hermann, F.: Graph and Model Transformation - General Framework and Applications. MTCSAES. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-47980-3
Ehrig, H., Rensink, A., Rozenberg, G., Schürr, A. (eds.): ICGT 2010. LNCS, vol. 6372. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-15928-2
Gamma, E., et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1994)
Fowler, M.: Refactoring - Improving the Design of Existing Code. Addison Wesley Object Technology Series. Addison-Wesley, Boston (1999)
Habel, A., Heckel, R., Taentzer, G.: Graph grammars with negative application conditions. Fundam. Inform. 26(3/4), 287–313 (1996)
Habel, A., Müller, J., Plump, D.: Double-pushout graph transformation revisited. Math. Struct. Comput. Sci. 11(5), 637–688 (2001)
Heindel, T.: Hereditary pushouts reconsidered. In: Ehrig et al. [5], pp. 250–265 (2010)
Lack, S., Sobocinski, P.: Adhesive and quasiadhesive categories. ITA 39(3), 511–545 (2005)
Löwe, M.: Graph rewriting in span-categories. In: Ehrig et al. [5], pp. 218–233 (2010)
Löwe, M.: Refactoring information systems: association folding and unfolding. ACM SIGSOFT Softw. Eng. Notes 36(4), 1–7 (2011)
Löwe, M.: Double pushout rewriting in context. Technical report 2018/02, Fachhochschule für die. Wirtschaft, Hannover (2018)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Löwe, M. (2018). Double-Pushout Rewriting in Context. In: Mazzara, M., Ober, I., Salaün, G. (eds) Software Technologies: Applications and Foundations. STAF 2018. Lecture Notes in Computer Science(), vol 11176. Springer, Cham. https://doi.org/10.1007/978-3-030-04771-9_32
Download citation
DOI: https://doi.org/10.1007/978-3-030-04771-9_32
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-04770-2
Online ISBN: 978-3-030-04771-9
eBook Packages: Computer ScienceComputer Science (R0)