Model-driven engineering focuses on models as primary artifacts of the software development process, which means programs are mainly generated by model-to-code transformations. In particular, modeling languages tailored to specific domains promise to increase the productivity of software developers and the quality of generated software. Modeling languages, however, evolve over time and therefore, existing models have to be migrated accordingly. The manual migration of models tends to be tedious and error-prone, therefore tools have been developed to (partly) automate this process. Nevertheless, the migration results may not always be well-defined. In this article, we provide a formal framework for model migration which is independent of specific modeling approaches. We treat modeling languages, formalized by metamodels, as well as models as graphs and consider their co-evolutions as coupled graph transformations. In the same line, we study the conditions under which model migrations are well-defined. Existing solutions to model migration are either handwritten or default solutions that can hardly be customized. Here, we introduce a high-level specification approach, called model migration schemes, that supports automation and customization. Starting from a meta-model evolution rule, a default migration scheme can be automatically deduced and customized.
This paper presents the DPF Workbench, a language workbench for (meta)modelling and code generation. The DPF Workbench includes a graphical specification editor for the Diagram Predicate Framework (DPF), which provides a graph-based formalization of (meta)modelling and model transformation. The tool offers functionality for fully diagrammatic specifications of domain-specific modelling languages. Moreover, the DPF Workbench supports the development of metamodelling hierarchies with an arbitrary number of metalevels; i.e. each model at a metalevel can be used as a metamodel for the metalevel below. The DPF Workbench facilitates the generation of domain-specific diagrammatic editors out of these metamodels. The conformance relations between adjacent metalevels are checked using typing morphisms and validation of diagrammatic constraints. In addition, the DPF Workbench provides a signature editor for the definition of software constraints and their corresponding validators. The code generator is a newly added component that facilitates the generation of software from models defined in the DPF Workbench. The features of the DPF Workbench are illustrated by a running example presenting a metamodelling hierarchy for business process modelling and sketching how these models can be transformed to programs by the code generation facility.
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.