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.
Similar content being viewed by others
References
Abadi M. and Cardelli L. (1996). A Theory of Objects. Springer, Berlin
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)
Bierman, G., Wren, A.: First-class relationships in an object-oriented language. In: Foundations of Object- Oriented Languages (FOOL 2005) (2005)
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)
Bruce K.B. (2003). Some challenging typing issues in object- oriented languages. Electr. Notes Theor. Comput. Sci. 82(7): 1–29
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
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
Budinsky F., Steinberg D., Merks E., Ellersick R. and Grose T.J. (2003). Eclipse Modeling Framework Eclipse Series. Addison-Wesley, Reading
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)
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)
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)
Ernst, E.: Family polymorphism. In: ECOOP ’01: Proceedings of the 15th European Conference on Object-oriented Programming. pp. 303–326. Springer, Heidelberg (2001)
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)
LaLonde W. and Pugh J. (1991). Subclassing ≠ subtyping ≠ is-a. J. Object-Oriented Program. 3(5): 57–62
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)
Object Management Group: Enterprise collaboration architecture (ECA). OMG Document no. formal/2004-02-01 (2004)
QVT-Merge Group: Revised submission for MOF 2.0 Query/Views/Transformations RFP. OMG document number ad/2005-03-02 (2005)
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)
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)
Tobin-Hochstadt, S., Allen, E.: A core calculus of metaclasses. In: Fundamentals of Object-Oriented Languages (FOOL) (2005)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Lionel Briand.
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-006-0036-6