Abstract
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.
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 subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Steel, J., Jézéquel, J.M.: On model typing. SoSyM 6(4) (2007)
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)
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)
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)
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)
OMG: UML Object Constraint Language (OCL) 2.0 Specification (2003)
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)
Meyer, B.: Applying design by contract. Computer 25(10), 40–51 (1992)
OMG: Meta Object Facility (MOF) 2.0 Core Specification (2006)
Ernst, E.: Family polymorphism. In: Lindskov Knudsen, J. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 303–326. Springer, Heidelberg (2001)
Bruce, K.B., Schuett, A., van Gent, R., Fiech, A.: Polytoil: A type-safe polymorphic object-oriented language. ACM TOPLAS 25(2) (2003)
Liskov, B., Wing, J.: A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems (TOPLAS) 16(6), 1811–1841 (1994)
Jackson, D.: Alloy: a lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology (TOSEM) 11(2), 256–290 (2002)
Sun, W., France, R., Ray, I.: Rigorous analysis of uml access control policy models. In: IEEE POLICY, pp. 9–16 (2011)
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)
Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Addison-Wesley Professional (2008)
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)
Meyer, B.: Design by contract. the eiffel method. In: Proceedings of the Technology of Object-Oriented Languages, TOOLS 26, pp. 446–446 (1998)
Kühne, T.: On model compatibility with referees and contexts. Software & Systems Modeling, 1–14 (2012)
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)
Aranega, V., Etien, A., Mosser, S.: Using feature model to build model transformation chains. Model Driven Engineering Languages and Systems, 562–578 (2012)
Yie, A., Casallas, R., Deridder, D., Wagelaar, D.: Realizing model transformation chain interoperability. Software and Systems Modeling, 1–21 (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sun, W., Combemale, B., Derrien, S., France, R.B. (2013). Using Model Types to Support Contract-Aware Model Substitutability. In: Van Gorp, P., Ritter, T., Rose, L.M. (eds) Modelling Foundations and Applications. ECMFA 2013. Lecture Notes in Computer Science, vol 7949. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39013-5_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-39013-5_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-39012-8
Online ISBN: 978-3-642-39013-5
eBook Packages: Computer ScienceComputer Science (R0)