Intermodeling, Queries, and Kleisli Categories

  • Zinovy Diskin
  • Tom Maibaum
  • Krzysztof Czarnecki
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7212)

Abstract

Specification and maintenance of relationships between models are vital for MDE. We show that a wide class of such relationships can be specified in a compact and precise manner, if intermodel mappings are allowed to link derived model elements computed by corresponding queries. Composition of such mappings is not straightforward and requires specialized algebraic machinery. We present a formal framework, in which such machinery can be defined generically for a wide class of metamodel definitions. This enables algebraic specification of practical intermodeling scenarios, e.g., model merge.

References

  1. 1.
    Guerra, E., de Lara, J., Kolovos, D.S., Paige, R.F.: Inter-modelling: From Theory to Practice. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6394, pp. 376–391. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  2. 2.
    Romero, J., Jaen, J., Vallecillo, A.: Realizing correspondences in multi-viewpoint specifications. In: EDOC, pp. 163–172. IEEE Computer Society (2009)Google Scholar
  3. 3.
    Bernstein, P.: Applying model management to classical metadata problems. In: Proc. CIDR 2003, pp. 209–220 (2003)Google Scholar
  4. 4.
    Goguen, J.: A categorical manifesto. Mathematical Structures in Computer Science 1(1), 49–67 (1991)MathSciNetMATHCrossRefGoogle Scholar
  5. 5.
    Fiadeiro, J.: Categories for Software Engineering. Springer, Heidelberg (2004)Google Scholar
  6. 6.
    Batory, D.S., Azanza, M., Saraiva, J.: The Objects and Arrows of Computational Design. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 1–20. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Sabetzadeh, M., Easterbrook, S.M.: View merging in the presence of incompleteness and inconsistency. Requir. Eng. 11(3), 174–193 (2006)CrossRefGoogle Scholar
  8. 8.
    Rossini, A., Rutle, A., Lamo, Y., Wolter, U.: A formalisation of the copy-modify-merge approach to version control in mde. J. Log. Algebr. Program. 79(7), 636–658 (2010)MathSciNetMATHCrossRefGoogle Scholar
  9. 9.
    Diskin, Z., Xiong, Y., Czarnecki, K.: Specifying Overlaps of Heterogeneous Models for Global Consistency Checking. In: Dingel, J., Solberg, A. (eds.) MODELS 2010. LNCS, vol. 6627, pp. 165–179. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  10. 10.
    Diskin, Z.: Model Synchronization: Mappings, Tiles, and Categories. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2009. LNCS, vol. 6491, pp. 92–165. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  11. 11.
    Diskin, Z., Maibaum, T., Czarnecki, K.: Intermodeling, queries, and Kleisli categories. Technical Report GSDLab-TR 2011-10-01, University of Waterloo (2011), http://gsd.uwaterloo.ca/QMapTR
  12. 12.
    Ehrig, H., Ehrig, K., Prange, U., Taenzer, G.: Fundamentals of Algebraic Graph Transformation (2006)Google Scholar
  13. 13.
    Barr, M., Wells, C.: Category theory for computing science. PrenticeHall (1995)Google Scholar
  14. 14.
    Jacobs, B.: Categorical logic and type theory. Elsevier Science Publishers (1999)Google Scholar
  15. 15.
    Manes, E.: Algebraic Theories. Springer, Heidelberg (1976)MATHCrossRefGoogle Scholar
  16. 16.
    Jüllig, R., Srinivas, Y.V., Liu, J.: Specware: An Advanced Evironment for the Formal Development of Complex Software Systems. In: Nivat, M., Wirsing, M. (eds.) AMAST 1996. LNCS, vol. 1101, pp. 551–554. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  17. 17.
    Moggi, E.: Notions of computation and monads. Information and Computation 93(1), 55–92 (1991)MathSciNetMATHCrossRefGoogle Scholar
  18. 18.
    Goguen, J., Burstall, R.: Institutions: Abstract model theory for specification and programming. Journal of ACM 39(1), 95–146 (1992)MathSciNetMATHCrossRefGoogle Scholar
  19. 19.
    Diskin, Z.: Towards generic formal semantics for consistency of heterogeneous multimodels. Technical Report GSDLAB 2011-02-01, University of Waterloo (2011)Google Scholar
  20. 20.
    Goguen, J., Burstall, R.: A Study in the Foundations of Programming Methodology: Specifications, Institutions, Charters and Parchments. In: Poigné, A., Pitt, D.H., Rydeheard, D.E., Abramsky, S. (eds.) Category Theory and Computer Programming. LNCS, vol. 240, pp. 313–333. Springer, Heidelberg (1986)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Zinovy Diskin
    • 1
    • 2
  • Tom Maibaum
    • 1
  • Krzysztof Czarnecki
    • 2
  1. 1.Software Quality Research LabMcMaster UniversityCanada
  2. 2.Generative Software Development LabUniversity of WaterlooCanada

Personalised recommendations