Verification of Model Transformations
Model based software development projects are typically built over tool-chains that tie modeling, verification and code generation together. Models must usually be transformed to the appropriate notation at each step. These transformations are often automated, and their correctness is crucial to the success of the development effort. Model-based development of high-consequence, critical systems must address the need for verifiable model transformations and code generators that give assurances for the logical consistency of the toolchain. Verifying the correctness of model transformations is, in general, as difficult as verifying compilers for high-level languages. However, the limitations enforced by the syntactic and semantic rules of domain specific languages allow us to reason about the properties of models within a restricted framework. In model transformations between domain specific models, the preservation of certain properties of the models may also be reasoned within the same restricted framework. This research presents initial ideas for a certification framework for model transformations that can guarantee the correctness of a certain execution of the transformation.