We present a framework based on the Calculus of Inductive Constructions (CIC) and its associated tool the Coq proof assistant to allow certification of model transformations in the context of Model-Driven Engineering (MDE). The approached is based on a semi-automatic translation process from metamodels, models and transformations of the MDE technical space into types, propositions and functions of the CIC technical space. We describe this translation and illustrate its use in a standard case study.
Our starting point, to which we refer hereafter as type theory, is the formulation of Martin-Löf’s set theory using the theory of types as a logical framework (Martin-Löf 1987; Nordström et al. 1990). The question that we address is that of the representation of systems of structures such as algebraic systems or abstract data types. In order to provide a general means to this end, we extend type theory with a new mechanism of type formation, namely that of dependent record types. This allows us to form types of tuples in such a manner as to allow any arbitrary set (i.e. not restricted to be among those generated by a fixed repertoire of set forming operations) to be used as a component of tuples of those types. Such types of tuples cannot be formed in the original theory. Moreover, as is well known from the theory of programming languages, a natural notion of inclusion arises between record types. Given two record types p and p′, if p contains every label declared in p′ (and possibly more) and the types of the common labels are in the inclusion relation then p is included in p′ in symbols, p ⊑ p′. This is justified because then every object of type p is also an object of type p’, since it contains components of appropriate types for all the fields specified in p′. Our extension contains the form of judgement α ⊑ β expressing that the type α is included in the type β and corresponding proof rules, which generalize record type inclusion to dependent record types and propagate it to the rest of the types of the language. In the present formulation, no proper inclusion between ground types is allowed. Having type inclusion represents a considerable advantage for the formalization of the types of structures in which we are interested. In particular, systems of algebras will be represented as record types and, according to the subtyping rule explained above, any algebraic system obtained by enriching another with additional structure will be a subtype of the original system.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.