Abstract
The Object Managment Group’s Meta-Object Facility (MOF) [19] is a semiformal approach to writing models and metamodels (models of models). It works according to a model/metamodel hierarchy, where software is specified by models, models are defined as instances of metamodels, which are, in turn, defined as instances of the MOF meta-metamodel. By writing models and metamodels in a common framework, the MOF meta-metamodel, it is easier to perform systematic model/metamodel interchange and integration. However, the approach is only useful if metamodels are correctly specified – a single error in a metamodel specification will result in the propagation of errors throughout instantiating models and final model implementations. An important open question is how to develop provably correct metamodels.
This paper applies constructive type theory to formalize the MOF metamodelling approach. The benefit of the formalization is that correct typing corresponds to provably correct metamodels and models. Because the MOF is the central technology behind the Model Driven Architecture initiative [18], our work is intended to lay a formal foundation for making Model Driven Architecture more trustworthy.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abadi, M., Cardelli, L.: A Theory of Objects. Monographs in Computer Science. Springer, Heidelberg (1996)
Akehurst, D.H., Kent, S., Patrascoiu, O.: A relational approach to defining and implementing transformations between metamodels. Software and System Modeling 2(4), 215–239 (2003)
Amadio, R.M., Cardelli, L.: Subtyping recursive types. ACM Transactions on Programming Languages and Systems 15(4), 575–631 (1993)
Berger, U., Schwichtenberg, H.: Program development by proof transformation. In: Schwichtenberg, H. (ed.) Proceedings of the NATO Advanced Study Institute on Proof and Computation, pp. 1–45 (1993)
Bickford, M., Constable, R., Halpern, J., Petride, S.: Knowledge-based synthesis of distributed systems using event structures. In: Baader, F., Voronkov, A. (eds.) LPAR 2004. LNCS, vol. 3452, pp. 449–465. Springer, Heidelberg (2005)
CoFI Language Design Task Group on Language Design. CASL, The Common Algebraic Specification Language (version 1.0.1), Summary (March 25, 2001)
Constable, R., Mendler, N., Howe, D.: Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, Englewood Cliffs (1986)
Coquand, T.: Metamathematical Investigations of a Calculus of Constructions. In: Logic and Computer Science, pp. 91–122 (1990)
Coquand, T.: Infinite objects in type theory. In: Barendregt, H., Nipkow, T. (eds.) TYPES 1993. LNCS, vol. 806, pp. 62–78. Springer, Heidelberg (1994)
Curry, H.: Functionality in combinatory logic. Proceedings of the National Academy of Science of the USA 20, 154–180 (1934)
Favre, L.: Foundations for mda-based forward engineering. Journal of Object Technology 4(1), 129–153 (2005)
Goguen, J., Winkler, T., Meseguer, J., Futatsugi, K., Jouannaud, J.-P.: Introducing OBJ3. In: Software Engineering with OBJ: Algebraic Specification in Action, Kluwer Academic Publishers, Dordrecht (2000)
Hayashi, S., Nakano, H.: PX, a Computational Logic. Foundations of Computing. MIT Press (Accessed, May 2003), Electronic edition available at, http://www.shayashi.jp/PXbook.html
William, A.: The formulae-as-types notion of construction. In: To, H.B. (ed.) Curry: Essays on Combinatory logic, Lambda calculus, and Formalism, pp. 479–490. Academic Press, London (1980)
Huisman, M., Jacobs, B.: Java program verification via a hoare logic with abrupt termination. In: Maibaum, T. (ed.) FASE 2000. LNCS, vol. 1783, pp. 284–303. Springer, Heidelberg (2000)
Luo, Z.: Program specification and data refinement in type theory. Mathematical Structures in Computer Science 3(3) (1993)
Martin-Löf, P.: Intuitionistic Type Theory. Bibliopolis (1984)
Mukerji, J., Miller, J.: MDA Guide Version 1.0.1. Object Management Group (2003)
OMG Meta Object Facility (MOF) Specification. Object Management Group (2000)
Owre, S., Rushby, J., Shankar, N., von Henke, F.: Formal verification for fault-tolerant architecture: Prolegomena to the design of pvs. IEEE Transactions on Software Engineering 21(2), 107–125 (1995)
Paulin-Mohring, C., Werner, B.: Synthesis of ML programs in the system Coq. Journal of Symbolic Computation 15(5/6), 607–640 (1993)
Poernomo, I., Crossley, J., Wirsing, M.: Adapting Proofs-as-Programs: The Curry-Howard Protocol. Monographs in computer science. Springer, Heidelberg (2005)
Poll, E.: Subtyping and Inheritance for Categorical Datatypes. In: Theories of Types and Proofs (TTP) - Kyoto, RIMS Lecture Notes, vol. 1023, pp. 112–125. Kyoto University Research Insitute for Mathematical Sciences (1998)
Simons, A.J.H.: The theory of classification. part 3: Object encodings and recursion. Journal of Object Technology 1(4), 49–57 (2002)
Solange, C.-G., Line, J.: Coq and hardware verification: A case study. In: von Wright, J., Harrison, J., Grundy, J. (eds.) TPHOLs 1996. LNCS, vol. 1125, pp. 26–30. Springer, Heidelberg (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Poernomo, I. (2006). A Type Theoretic Framework for Formal Metamodelling. In: Reussner, R.H., Stafford, J.A., Szyperski, C.A. (eds) Architecting Systems with Trustworthy Components. Lecture Notes in Computer Science, vol 3938. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11786160_15
Download citation
DOI: https://doi.org/10.1007/11786160_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35800-8
Online ISBN: 978-3-540-35833-6
eBook Packages: Computer ScienceComputer Science (R0)