Using Model Types to Support Contract-Aware Model Substitutability

  • Wuliang Sun
  • Benoit Combemale
  • Steven Derrien
  • Robert B. France
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7949)


Model typing extends the applicability of typing to model-oriented type system by assigning models with specific types. It provides support for model substitutability addressing a wide range of facilities such as model transformation reuse. While existing approaches are limited to object-oriented metamodels (e.g., MOF) as types, there is a need for exploring more precise types. In particular, we propose in this paper an extension to model typing that takes into account contract-aware substitutability where contracts are defined in terms of invariants and pre-/postconditions expressed using OCL. While invariants offer a suitable way to complete object-oriented metamodels with additional structural properties, pre-/postconditions pave the way of behavioral substitutability for model transformation specialization. We also provide an implementation to rigorously reason about the substitutability on model types with contracts and apply it on use cases coming from the optimizing compiler community.


SLE Modeling Languages Model Typing Contract Matching Model Substitutability 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Steel, J., Jézéquel, J.M.: On model typing. SoSyM 6(4) (2007)Google Scholar
  2. 2.
    Varró, D., Pataricza, A.: Generic and meta-transformations for model transformation engineering. In: Baar, T., Strohmeier, A., Moreira, A., Mellor, S.J. (eds.) UML 2004. LNCS, vol. 3273, pp. 290–304. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    Cuccuru, A., Mraidha, C., Terrier, F., Gérard, S.: Templatable metamodels for semantic variation points. In: Akehurst, D.H., Vogel, R., Paige, R.F. (eds.) ECMDA-FA. LNCS, vol. 4530, pp. 68–82. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  4. 4.
    Sánchez Cuadrado, J., García Molina, J.: Approaches for model transformation reuse: Factorization and composition. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 168–182. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    de Lara, J., Guerra, E.: Generic meta-modelling with concepts, templates and mixin layers. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 16–30. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. 6.
    OMG: UML Object Constraint Language (OCL) 2.0 Specification (2003)Google Scholar
  7. 7.
    Guy, C., Combemale, B., Derrien, S., Steel, J.R.H., Jézéquel, J.-M.: On Model Subtyping. In: Vallecillo, A., Tolvanen, J.-P., Kindler, E., Störrle, H., Kolovos, D. (eds.) ECMFA 2012. LNCS, vol. 7349, pp. 400–415. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  8. 8.
    Meyer, B.: Applying design by contract. Computer 25(10), 40–51 (1992)CrossRefGoogle Scholar
  9. 9.
    OMG: Meta Object Facility (MOF) 2.0 Core Specification (2006)Google Scholar
  10. 10.
    Ernst, E.: Family polymorphism. In: Lindskov Knudsen, J. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 303–326. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Bruce, K.B., Schuett, A., van Gent, R., Fiech, A.: Polytoil: A type-safe polymorphic object-oriented language. ACM TOPLAS 25(2) (2003)Google Scholar
  12. 12.
    Liskov, B., Wing, J.: A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems (TOPLAS) 16(6), 1811–1841 (1994)CrossRefGoogle Scholar
  13. 13.
    Jackson, D.: Alloy: a lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology (TOSEM) 11(2), 256–290 (2002)CrossRefGoogle Scholar
  14. 14.
    Sun, W., France, R., Ray, I.: Rigorous analysis of uml access control policy models. In: IEEE POLICY, pp. 9–16 (2011)Google Scholar
  15. 15.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from uml to alloy. Software and Systems Modeling 9(1), 69–86 (2010)CrossRefGoogle Scholar
  16. 16.
    Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Addison-Wesley Professional (2008)Google Scholar
  17. 17.
    Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  18. 18.
    Meyer, B.: Design by contract. the eiffel method. In: Proceedings of the Technology of Object-Oriented Languages, TOOLS 26, pp. 446–446 (1998)Google Scholar
  19. 19.
    Kühne, T.: On model compatibility with referees and contexts. Software & Systems Modeling, 1–14 (2012)Google Scholar
  20. 20.
    Vanhooff, B., Ayed, D., Van Baelen, S., Joosen, W., Berbers, Y.: Uniti: A unified transformation infrastructure. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 31–45. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  21. 21.
    Aranega, V., Etien, A., Mosser, S.: Using feature model to build model transformation chains. Model Driven Engineering Languages and Systems, 562–578 (2012)Google Scholar
  22. 22.
    Yie, A., Casallas, R., Deridder, D., Wagelaar, D.: Realizing model transformation chain interoperability. Software and Systems Modeling, 1–21 (2012)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Wuliang Sun
    • 1
  • Benoit Combemale
    • 2
  • Steven Derrien
    • 2
  • Robert B. France
    • 1
  1. 1.Colorado State UniversityFort CollinsUSA
  2. 2.IRISAUniversity of Rennes 1France

Personalised recommendations