Abstract
Hartmut Ehrig was an active researcher in Algebraic Specifications on the one hand and Graph and Model Transformations on the other hand. We demonstrate that these two research fields are closely connected, if we consider generating graph transformations only and use partial algebras instead of total algebras as the underlying category.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
This transformation can serve as a prerequisite for the “compilation” of UML class diagrams to object-oriented programming languages like Java.
- 2.
Up to isomorphism, if the semantics of transformations is using category theory.
- 3.
- 4.
Like graphs, hypergraphs, graph structures [18], or general functor categories from a finite category to the category of sets and mappings.
- 5.
Possibly without becoming total at last.
- 6.
Alfred Horn, American mathematician, 1918 – 2011.
- 7.
Compare [9], Example 3.6 on page 54.
- 8.
This section uses material from [21].
- 9.
The correspondence of the items in the left hand side of the rule to items in the right-hand side is always indicated by the visual correspondence in the layouts. In Fig. 1, we give an additional explicit definition of the mapping from left to right by index numbers. In most cases, this explicit indication is superfluous. Since mappings must be type-conform, i.e. classes can only be mapped to classes, attributes can only be mapped to attributes etc., and the mapping must respect the graphical structure, the mapping is uniquely determined for all rules that are depicted below. Thus, we do not use the index numbers in the following.
- 10.
Standard key columns are unique and not null.
- 11.
Standard foreign key columns are not null.
- 12.
Merging of objects is expressed by non-injective rules.
- 13.
Due to the merging, some of the generated junction tables for association may no longer accurately model the association’s semantics.
- 14.
The rule cc2t is a simple modification of rule c2t in Fig. 1. Here, the class-to-table mapping is partial, since abstract classes are never mapped in CCT.
- 15.
Rule cat2co also works for the own attributes of a concrete class due to the reflexivity rule \(\mathtt {t^{0}}\) in Fig. 4. This situation requires non-injective matches!
- 16.
For the sake of simplicity of the presentation we do not generate a suitable check constraint in the relational schema.
- 17.
A category has all small co-limits, if it has all co-limits for small diagram categories. A category is small if its collection of objects is a sets. As in [1], the family of morphisms in a category is a family of sets anyway.
- 18.
Examples for such categories are all total or partial \(\varSigma \)-algebras for a given signature \(\varSigma \) or every epi-reflective sub-category of such categories of \(\varSigma \)-algebras, see below.
- 19.
Neither rules nor matches are required to be monomorphisms. Rules and matches can be arbitrary morphisms.
- 20.
Sub-diagram (1) in Fig. 7 denotes a direct derivation with rule \(r_{1}\) at match \(m_{1}\).
- 21.
Object G being final wrt. system \(\mathbb {R}\) does not mean that there are no matches for rules in \(\mathbb {R}\) into G. But all these matches produce traces that are isomorphisms, i.e. do not have any effect.
- 22.
The principle set-up follows [1], page 278 ff.
- 23.
In this context, the objects L and R are called premise and conclusion respectively.
- 24.
The morphism \(m^{r}\) is unique, if it exists, since r is epic.
- 25.
\(A_{\mathbb {R}}\) is a small diagram, since the family of morphisms in a category is a family of sets, compare definition of categories in [1].
- 26.
Given a family of sets \(A\!=\!\left( A_{s}\right) _{s\in S}\), \(k\ge 0\), and \(s_{1}\dots s_{k}\in S^{*}\), \(A^{s_{1}\dots s_{k}}=A_{s_{1}}\!\!\times \dots \times \!A_{s_{k}}\).
- 27.
For a family of mappings \(f\!=\!\left( f_{s}\!:\!A_{s}\!\rightarrow \!B_{s}\right) _{s\in S}\), \(k\ge 0\), and \(w\!=\!s_{1}\dots s_{k}\in S^{*}\), \(f^{w}\!:\!A^{w}\!\rightarrow \!B^{w}\) is defined by \(f^{w}(x_{1},\dots ,x_{k})\!=\!\left( f_{s_{1}}\!(x_{1}),\dots ,f_{s_{k}}\!(x_{k})\right) \) for all \((x_{1},\dots x_{k})\!\in \!A^{w}\).
- 28.
Compare [19].
- 29.
Any two morphisms \(p,q:N\rightarrow M\) with \(p(k(x))=q(k(x))\) must coincide on all natural numbers due to the homomorphism condition (1).
- 30.
It is easy to construct \(p,q:N\rightarrow M\) with \(p(k'(x))=q(k'(x))\) that differ at value 0.
- 31.
Here, \(h(A)=\left( h_{s}(A_{s})\right) _{s\in S}\) and \(h_{s}(A_{s})=\{y\in B_{s}\mid y=h_{s}(x),x\in A_{s}\}\). For a proof of the proposition, compare [19].
- 32.
An equivalence \(\equiv \) on a \(\varSigma \)-System A is a congruence, if \(f^{A}(x_{1},\dots x_{m})=(y_{1},\dots y_{n})\), \(f^{A}(x_{1}',\dots x_{m}')=(y_{1}',\dots y_{n}')\) and \(x_{i}\equiv x_{i}'\) for all \(1\le i\le m\) implies \(y_{j}\equiv y_{j}'\) for all \(1\le j\le n\) for all operations \(f\in O\).
- 33.
Every variable set is a \(\varSigma \)-system with completely undefined operations!
- 34.
Compare for example Theorem 99 (Homomorphism Theorem 1) in [19].
- 35.
The notation indicates that we assume the same carrier for Basetype in CM and RS.
- 36.
Again, Source and Target share sort Basetype with defined constant int.
References
Adámek, J., Herrlich, H., Strecker, G.E.: Abstract and Concrete Categories - The Joy of Cats (2004). http://katmat.math.uni-bremen.de/acc
Anjorin, A., Leblebici, E., Schürr, A.: 20 years of triple graph grammars: a roadmap for future research. ECEASST, 73 (2015)
Burmeister, P.: Introduction to theory and application of partial algebras - Part I. Mathematical Research, vol. 32. Akademie-Verlag, Berlin (1986)
Chen, P.P.: The entity-relationship model - toward a unified view of data. ACM Trans. Database Syst. 1(1), 9–36 (1976)
Claßen, I., Ehrig, H., Wolz, D.: Algebraic specification techniques and tools for software development: the act approach. AMAST Series in Computing, vol. 1. World Scientific, River Edge (1993)
World Wide Web Consortium. Xml Schema, W3C (2012). https://www.w3.org/standards/techs/xmlschema
Corradini, A., Heindel, T., Hermann, F., König, B.: Sesqui-pushout rewriting. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 30–45. Springer, Heidelberg (2006). https://doi.org/10.1007/11841883_4
Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Springer, Heidelberg (2006)
Ehrig, H., Ermel, C., Golas, U., Hermann, F.: Graph and Model Transformation - General Framework and Applications. Springer, Monographs in Theoretical Computer Science. An EATCS Series (2015)
Ehrig, H., Mahr, B.: Fundamentals of algebraic specification 1: equations and initial semantics. EATCS Monographs on Theoretical Computer Science., vol. 6. Springer, Heidelberg (1985)
Ehrig, H., Mahr, B.: Fundamentals of algebraic specification 2. EATCS Monographs on Theoretical Computer Science, vol. 21. Springer, Heidelberg (1990)
Ehrig, H., Pfender, M., Schneider, H.J.: Graph-grammars: an algebraic approach. In: FOCS, pp. 167–180. IEEE (1973)
Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley, Boston (2003)
Object Management Group: Business Process Model and Notation 2.0.2. OMG (2013). http://www.omg.org/spec/BPMN/index.htm
Object Management Group: Unified Modeling Language 2.5. OMG (2015). http://www.omg.org/spec/UML/
Habel, A., Heckel, R., Taentzer, G.: Graph grammars with negative application conditions. Fundam. Inform. 26(3/4), 287–313 (1996)
Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987)
Löwe, M.: Algebraic approach to single-pushout graph transformation. Theor. Comput. Sci. 109(1&2), 181–224 (1993)
Löwe, M., Schulz, C.: Algebraic Systems. May 2017. http://ux-02.ha.bib.de/daten/Löwe/Master/TheorieInformationssystem/Algebra20170523.pdf
Petri, C.A., Reisig, W.: Petri net. Scholarpedia 3(4), 6477 (2008)
Tempelmeier, M., Löwe, M.: Single-Pushout Transformation partieller Algebren. Technical Report 2015/1, FHDW-Hannover (2015) (in German)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this chapter
Cite this chapter
Löwe, M. (2018). Model Transformations as Free Constructions. In: Heckel, R., Taentzer, G. (eds) Graph Transformation, Specifications, and Nets. Lecture Notes in Computer Science(), vol 10800. Springer, Cham. https://doi.org/10.1007/978-3-319-75396-6_8
Download citation
DOI: https://doi.org/10.1007/978-3-319-75396-6_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-75395-9
Online ISBN: 978-3-319-75396-6
eBook Packages: Computer ScienceComputer Science (R0)