Skip to main content

Model Transformations as Free Constructions

  • Chapter
  • First Online:
Graph Transformation, Specifications, and Nets

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10800))

  • 945 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    This transformation can serve as a prerequisite for the “compilation” of UML class diagrams to object-oriented programming languages like Java.

  2. 2.

    Up to isomorphism, if the semantics of transformations is using category theory.

  3. 3.

    For persistent free construction between abstract data types compare [5, 10, 11].

  4. 4.

    Like graphs, hypergraphs, graph structures [18], or general functor categories from a finite category to the category of sets and mappings.

  5. 5.

    Possibly without becoming total at last.

  6. 6.

    Alfred Horn, American mathematician, 1918 – 2011.

  7. 7.

    Compare [9], Example 3.6 on page 54.

  8. 8.

    This section uses material from [21].

  9. 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. 10.

    Standard key columns are unique and not null.

  11. 11.

    Standard foreign key columns are not null.

  12. 12.

    Merging of objects is expressed by non-injective rules.

  13. 13.

    Due to the merging, some of the generated junction tables for association may no longer accurately model the association’s semantics.

  14. 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. 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. 16.

    For the sake of simplicity of the presentation we do not generate a suitable check constraint in the relational schema.

  17. 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. 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. 19.

    Neither rules nor matches are required to be monomorphisms. Rules and matches can be arbitrary morphisms.

  20. 20.

    Sub-diagram (1) in Fig. 7 denotes a direct derivation with rule \(r_{1}\) at match \(m_{1}\).

  21. 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. 22.

    The principle set-up follows [1], page 278 ff.

  23. 23.

    In this context, the objects L and R are called premise and conclusion respectively.

  24. 24.

    The morphism \(m^{r}\) is unique, if it exists, since r is epic.

  25. 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. 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. 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. 28.

    Compare [19].

  29. 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. 30.

    It is easy to construct \(p,q:N\rightarrow M\) with \(p(k'(x))=q(k'(x))\) that differ at value 0.

  31. 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. 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. 33.

    Every variable set is a \(\varSigma \)-system with completely undefined operations!

  34. 34.

    Compare for example Theorem 99 (Homomorphism Theorem 1) in [19].

  35. 35.

    The notation indicates that we assume the same carrier for Basetype in CM and RS.

  36. 36.

    Again, Source and Target share sort Basetype with defined constant int.

References

  1. Adámek, J., Herrlich, H., Strecker, G.E.: Abstract and Concrete Categories - The Joy of Cats (2004). http://katmat.math.uni-bremen.de/acc

  2. Anjorin, A., Leblebici, E., Schürr, A.: 20 years of triple graph grammars: a roadmap for future research. ECEASST, 73 (2015)

    Google Scholar 

  3. Burmeister, P.: Introduction to theory and application of partial algebras - Part I. Mathematical Research, vol. 32. Akademie-Verlag, Berlin (1986)

    MATH  Google Scholar 

  4. Chen, P.P.: The entity-relationship model - toward a unified view of data. ACM Trans. Database Syst. 1(1), 9–36 (1976)

    Article  Google Scholar 

  5. 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)

    MATH  Google Scholar 

  6. World Wide Web Consortium. Xml Schema, W3C (2012). https://www.w3.org/standards/techs/xmlschema

  7. 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

    Chapter  Google Scholar 

  8. Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Springer, Heidelberg (2006)

    MATH  Google Scholar 

  9. 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)

    Book  MATH  Google Scholar 

  10. Ehrig, H., Mahr, B.: Fundamentals of algebraic specification 1: equations and initial semantics. EATCS Monographs on Theoretical Computer Science., vol. 6. Springer, Heidelberg (1985)

    Book  MATH  Google Scholar 

  11. Ehrig, H., Mahr, B.: Fundamentals of algebraic specification 2. EATCS Monographs on Theoretical Computer Science, vol. 21. Springer, Heidelberg (1990)

    Book  MATH  Google Scholar 

  12. Ehrig, H., Pfender, M., Schneider, H.J.: Graph-grammars: an algebraic approach. In: FOCS, pp. 167–180. IEEE (1973)

    Google Scholar 

  13. Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley, Boston (2003)

    Google Scholar 

  14. Object Management Group: Business Process Model and Notation 2.0.2. OMG (2013). http://www.omg.org/spec/BPMN/index.htm

  15. Object Management Group: Unified Modeling Language 2.5. OMG (2015). http://www.omg.org/spec/UML/

  16. Habel, A., Heckel, R., Taentzer, G.: Graph grammars with negative application conditions. Fundam. Inform. 26(3/4), 287–313 (1996)

    MathSciNet  MATH  Google Scholar 

  17. Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987)

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  19. Löwe, M., Schulz, C.: Algebraic Systems. May 2017. http://ux-02.ha.bib.de/daten/Löwe/Master/TheorieInformationssystem/Algebra20170523.pdf

  20. Petri, C.A., Reisig, W.: Petri net. Scholarpedia 3(4), 6477 (2008)

    Article  Google Scholar 

  21. Tempelmeier, M., Löwe, M.: Single-Pushout Transformation partieller Algebren. Technical Report 2015/1, FHDW-Hannover (2015) (in German)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Löwe .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics