Towards a Structured Workflow Language for Model Management
ACM/IEEE International Conference on Model Driven Engineering Languages and Systems
In Model Driven Engineering (MDE), models and mappings play a key role in system design. However, in practice, models and mappings do not exist in isolation, but are combined to form systems of interrelated models. We call the trace of operations, such as model transformations or model merges, between an initial configuration of a system of interrelated models to a final one, a workflow. Current approaches for using workflows in MDE exist, but are generally informal and do not properly address
... raceability and verification. In this work, we propose a structured method for defining workflows for model management, which automatically ensures traceability and inherently enables verification. This approach also sets the stage for defining a declarative workflow language, which we believe can aid in validation. Through this framework, comparison and optimization of workflows is possible, as they are represented as algebraic terms in a mathematically defined language. Finally, the framework gives rise to multiple levels of abstraction, making it flexible enough to be used at different stages of the system design, while enabling better workflow readability and maintainability. Problem The need for workflows in MDE. Model Driven Engineering (MDE) focuses on the use of models and mappings between them to drive the software development cycle. However, models and mappings do not exist in isolation, but are combined to form systems of interrelated models, that are chained through the use of operations, to form workflows that fulfill a given intention in the software design. Forming such chains is therefore a natural step in MDE to enable the description of the composition of activities in software construction and provide explicit means for MDE automation  . Consider the Epsilon family of languages , which is comprised of various domain-specific languages that are used for tasks such as model transformation (Epsilon Transformation Language (ETL)), model validation (EVL), model merge (EML), model comparison (ECL) and code generation (EGL). In order to combine the outputs of these languages and form a chain of model management operations, a workflow language must be used.