Advertisement

A Type Theoretic Framework for Formal Metamodelling

  • Iman Poernomo
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3938)

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.

Keywords

Type Theory Operational Semantic Object Constraint Language Record Type Model Drive Architecture 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abadi, M., Cardelli, L.: A Theory of Objects. Monographs in Computer Science. Springer, Heidelberg (1996)CrossRefMATHGoogle Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    Amadio, R.M., Cardelli, L.: Subtyping recursive types. ACM Transactions on Programming Languages and Systems 15(4), 575–631 (1993)CrossRefGoogle Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)CrossRefGoogle Scholar
  6. 6.
    CoFI Language Design Task Group on Language Design. CASL, The Common Algebraic Specification Language (version 1.0.1), Summary (March 25, 2001)Google Scholar
  7. 7.
    Constable, R., Mendler, N., Howe, D.: Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, Englewood Cliffs (1986)Google Scholar
  8. 8.
    Coquand, T.: Metamathematical Investigations of a Calculus of Constructions. In: Logic and Computer Science, pp. 91–122 (1990)Google Scholar
  9. 9.
    Coquand, T.: Infinite objects in type theory. In: Barendregt, H., Nipkow, T. (eds.) TYPES 1993. LNCS, vol. 806, pp. 62–78. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  10. 10.
    Curry, H.: Functionality in combinatory logic. Proceedings of the National Academy of Science of the USA 20, 154–180 (1934)CrossRefMATHGoogle Scholar
  11. 11.
    Favre, L.: Foundations for mda-based forward engineering. Journal of Object Technology 4(1), 129–153 (2005)CrossRefGoogle Scholar
  12. 12.
    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)CrossRefGoogle Scholar
  13. 13.
    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
  14. 14.
    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)Google Scholar
  15. 15.
    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)CrossRefGoogle Scholar
  16. 16.
    Luo, Z.: Program specification and data refinement in type theory. Mathematical Structures in Computer Science 3(3) (1993)Google Scholar
  17. 17.
    Martin-Löf, P.: Intuitionistic Type Theory. Bibliopolis (1984)Google Scholar
  18. 18.
    Mukerji, J., Miller, J.: MDA Guide Version 1.0.1. Object Management Group (2003)Google Scholar
  19. 19.
    OMG Meta Object Facility (MOF) Specification. Object Management Group (2000)Google Scholar
  20. 20.
    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)CrossRefGoogle Scholar
  21. 21.
    Paulin-Mohring, C., Werner, B.: Synthesis of ML programs in the system Coq. Journal of Symbolic Computation 15(5/6), 607–640 (1993)MathSciNetCrossRefMATHGoogle Scholar
  22. 22.
    Poernomo, I., Crossley, J., Wirsing, M.: Adapting Proofs-as-Programs: The Curry-Howard Protocol. Monographs in computer science. Springer, Heidelberg (2005)MATHGoogle Scholar
  23. 23.
    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)Google Scholar
  24. 24.
    Simons, A.J.H.: The theory of classification. part 3: Object encodings and recursion. Journal of Object Technology 1(4), 49–57 (2002)CrossRefGoogle Scholar
  25. 25.
    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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Iman Poernomo
    • 1
  1. 1.Department of Computer ScienceKing’s College London StrandLondonUK

Personalised recommendations