Skip to main content
Log in

On model typing

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

    We’re sorry, something doesn't seem to be working properly.

    Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.

Abstract

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. We suggest extensions to existing type system formalisms to support these concepts and their manipulation. Using a simple example we show how this extended approach permits more flexible reuse, while preserving type safety.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abadi M. and Cardelli L. (1996). A Theory of Objects. Springer, Berlin

    MATH  Google Scholar 

  2. Bézivin, J., Jouault, F., Valduriez, P.: On the need for megamodels. In: OOPSLA and GPCE Workshop on Best Practices for Model Driven Software Development (2004)

  3. Bierman, G., Wren, A.: First-class relationships in an object-oriented language. In: Foundations of Object- Oriented Languages (FOOL 2005) (2005)

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

  5. Bruce K.B. (2003). Some challenging typing issues in object- oriented languages. Electr. Notes Theor. Comput. Sci. 82(7): 1–29

    Article  Google Scholar 

  6. Bruce K.B., Schuett A., van Gent R. and Fiech A. (2003). Polytoil: a type-safe polymorphic object-oriented language. ACM Trans. Program. Lang. Syst. 25(2): 225–290

    Article  Google Scholar 

  7. Bruce K.B. and Vanderwaart J. (1999). Semantics-driven language design: Statically type-safe virtual types in object-oriented languages. Electr. Notes Theor. Comput. Sci. 20: 50–75

    Article  MathSciNet  Google Scholar 

  8. Budinsky F., Steinberg D., Merks E., Ellersick R. and Grose T.J. (2003). Eclipse Modeling Framework Eclipse Series. Addison-Wesley, Reading

    Google Scholar 

  9. Duddy, K., Gerber, A., Lawley, M.J., Raymond, K., Steel, J.: Model transformation: A declarative, reusable patterns approach. In: Proceedings of 7th IEEE International Enterprise Distributed Object Computing Conference, EDOC 2003, pp. 174–195, Brisbane, Australia (2003)

  10. 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, Hershey, PA (2004)

  11. Edwards, J., Jackson, D., Torlak, E.: A type system for object models. In: SIGSOFT ’04/FSE-12: Proceedings of the 12th ACM SIGSOFT 12th International Symposium on Foundations of Software Engineering pp. 189–199. ACM Press, New York (2004)

  12. Ernst, E.: Family polymorphism. In: ECOOP ’01: Proceedings of the 15th European Conference on Object-oriented Programming. pp. 303–326. Springer, Heidelberg (2001)

  13. Gerber, A., Lawley, M.J., Raymond, K., Steel, J., Wood, A.: Transformation: the missing link of MDA. In: Proceedings of 1st International Conference on Graph Transformation, ICGT’02, vol. 2505 of Lecture Notes in Computer Science, pp. 90–105. Springer, Heidelberg (2002)

  14. LaLonde W. and Pugh J. (1991). Subclassing ≠  subtyping ≠  is-a. J. Object-Oriented Program. 3(5): 57–62

    Google Scholar 

  15. 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, vol. 3713 of Lecture Notes in Computer Science pp. 264–278. Springer Heidelberg (2005)

  16. Object Management Group: Enterprise collaboration architecture (ECA). OMG Document no. formal/2004-02-01 (2004)

  17. QVT-Merge Group: Revised submission for MOF 2.0 Query/Views/Transformations RFP. OMG document number ad/2005-03-02 (2005)

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

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

  20. Tobin-Hochstadt, S., Allen, E.: A core calculus of metaclasses. In: Fundamentals of Object-Oriented Languages (FOOL) (2005)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jim Steel.

Additional information

Communicated by Dr. Lionel Briand.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Steel, J., Jézéquel, JM. On model typing. Softw Syst Model 6, 401–413 (2007). https://doi.org/10.1007/s10270-006-0036-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-006-0036-6

Keywords

Navigation