Model Typing for Improving Reuse in Model-Driven Engineering

  • Jim Steel
  • Jean-Marc Jézéquel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3713)


Where object-oriented languages deal with objects as described by classes, model-driven development uses models, as graphs of interconnected objects, described by metamodels. A number of new languages have been and continue to be developed for this model-based paradigm, both for model transformation and for general programming using models. Many of these use single-object approaches to typing, derived from solutions found in object-oriented systems, while others use metamodels as model types, but without a clear notion of polymorphism. Both of these approaches lead to brittle and overly restrictive reuse characteristics. In this paper we propose a simple extension to object-oriented typing to better cater for a model-oriented context, including a simple strategy for typing models as a collection of interconnected objects. Using a simple example we show how this extended approach permits more flexible reuse, while preserving type safety.


Model Type Type System Model Transformation Graph Transformation Type Check 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, M., Cardelli, L.: A Theory of Objects. Springer, Heidelberg (1996)zbMATHGoogle Scholar
  2. 2.
    Belaunde, M., Peltier, M.: From edoc components to ccm components: A precise mapping specification. In: Kutsche, R.-D., Weber, H. (eds.) FASE 2002. LNCS, vol. 2306, pp. 143–158. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  3. 3.
    Bézivin, J., Jouault, F., Valduriez, P.: On the need for megamodels. In: OOPSLA and GPCE Workshop on Best Practices for Model Driven Software DevelopmentGoogle Scholar
  4. 4.
    Bierman, G., Wren, A.: First-class relationships in an object-oriented language. In: Foundations of Object-Oriented Languages (FOOL 2005) (2005)Google Scholar
  5. 5.
    Blanc, X., Gervais, M.-P., Sriplakich, P.: Model bus: Towards the interoperability of modelling tools. In: Model Driven Architecture: Foundations and Applications, MDAFA 2004 (2004)Google Scholar
  6. 6.
    Bruce, K.B.: Some challenging typing issues in object-oriented languages. Electr. Notes Theor. Comput. Sci. 82(7) (2003)Google Scholar
  7. 7.
    Duddy, K., Gerber, A., Lawley, M.J., Raymond, K., Steel, J.: Declarative transformation for object-oriented models. In: van Bommel, P. (ed.) Transformation of Knowledge, Information, and Data: Theory and Applications, Idea Group Publishing, USA (2004)Google Scholar
  8. 8.
    Edwards, J., Jackson, D., Torlak, E.: A type system for object models. In: SIGSOFT 2004/FSE-12: Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering, pp. 189–199. ACM Press, New York (2004)CrossRefGoogle Scholar
  9. 9.
    Ernst, E.: Family polymorphism. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 303–326. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  10. 10.
    Gerber, A., Lawley, M.J., Raymond, K., Steel, J., Wood, A.: Transformation: The missing link of MDA. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 90–105. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  11. 11.
    LaLonde, W., Pugh, J.: Subclassing ≠ subtyping ≠ is-a. Journal of Object-Oriented Programming 3(5), 57–62 (1991)Google Scholar
  12. 12.
    Object Management Group. Enterprise collaboration architecture (ECA). OMG Document no. formal/2004-02-01 (2004)Google Scholar
  13. 13.
    QVT-Merge Group. Revised submission for MOF 2.0 Query/Views/Transformations RFP. OMG document number ad/2005-03-02 (March 2005)Google Scholar
  14. 14.
    Sendall, S.: Combining generative and graph transformation techniques for model transformation: An effective alliance? In: Proceedings of 2nd OOPSLA Workshop on Generative Techniques in the context of Model Driven Architecture (2003)Google Scholar
  15. 15.
    Steel, J., Jézéquel, J.-M.: Typing relationships in MDA. In: Akehurst, D.H. (ed.) Second European Workshop on Model-Driven Architecture, EWMDA-2 (2004)Google Scholar
  16. 16.
    Steel, J., Lawley, M.: Model-based test driven development of the tefkat model-transformation engine. In: 15th International Symposium on Software Reliability Engineering (ISSRE 2004), pp. 151–160 (2004)Google Scholar
  17. 17.
    Vojtisek, D., Jézéquel, J.-M.: MTL and umlaut NG - engine and framework for model transformation. ERCIM news (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Jim Steel
    • 1
  • Jean-Marc Jézéquel
    • 1
  1. 1.Irisa (INRIA & University of Rennes)Rennes CEDEXFrance

Personalised recommendations