Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
Adapting Proofs-as-Programs: The Curry-Howard Protocol (Monographs in Computer Science)
Adapting Proofs-as-Programs: The Curry-Howard Protocol (Monographs in Computer Science)
EDOC '07 Proceedings of the 11th IEEE International Enterprise Distributed Object Computing Conference
Mutation analysis testing for model transformations
ECMDA-FA'06 Proceedings of the Second European conference on Model Driven Architecture: foundations and Applications
A type theoretic framework for formal metamodelling
Proceedings of the 2004 international conference on Architecting Systems with Trustworthy Components
Analyzing Rule-Based Behavioral Semantics of Visual Modeling Languages with Maude
Software Language Engineering
A constructive approach to testing model transformations
ICMT'10 Proceedings of the Third international conference on Theory and practice of model transformations
Towards a rewriting logic semantics for ATL
ICMT'10 Proceedings of the Third international conference on Theory and practice of model transformations
Correct-by-construction model transformations from partially ordered specifications in Coq
ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
A type-theoretic framework for certified model transformations
SBMF'10 Proceedings of the 13th Brazilian conference on Formal methods: foundations and applications
Typing model transformations using tracts
ICMT'12 Proceedings of the 5th international conference on Theory and Practice of Model Transformations
The impact of class model redesign on state machines
ICMT'12 Proceedings of the 5th international conference on Theory and Practice of Model Transformations
Correctness of object oriented models by extended type inference
ICTAC'12 Proceedings of the 9th international conference on Theoretical Aspects of Computing
Verification of Model Transformations
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
This paper provides an overview of how to develop model transformations that are "provably correct" with respect to a given functional specification. The approach is based in a mathematical formalism called Constructive Type Theory (CTT) and a related synthesis formal method known as proofs-as-programs. We outline how CTT can be used to provide a uniform formal foundation for representing models, metamodels and model transformations as understood within the Object Management Group's Meta-Object Facility (MOF 2.0) and Model Driven Architecture (MDA) suite of standards [6, 8]. CTT was originally developed to provide a unifying foundation for logic, data and programs. It is higher-order, in the sense that it permits representation and reasoning about programs, types of programs and types of types. We argue that this higher-order aspect affords a natural formal definition of metamodel/model/model instantiation relationships within the MOF. We develop formal notions of models, metamodels and model transformation specifications by utilizing the logic that is built into CTT. In proofs-as-programs, a functional program specification is represented as a special kind of type. A program is provably correct with respect to a given specification if it can be typed by that specification. We develop an analogous approach, defining model transformation specifications as types and provably correct transformations as inhabitants of specification types.