Towards transformation libraries: The DaRT team has developped an MDE-based co-design framework to generate SystemC, VHDL, OpenMP... Several MDE transformations chains have thus been defined. These chains are no more metamodel but transformation focused. They rely on a new approach that applies the separation of concerns to the transformations. Thus each transformation has a unique precise intention. Only few concepts are transformed at each step of the chain. The other concepts remain unchanged. From this way, transformations are smaller, and so more readable, easily tested, maintained and reused. It becomes possible to define transformation libraries. Such a mechanism is very useful when several chains are defined in the same framework from almost the same metamodel (in our case UML profiled with MARTE) and to target different languages (as in Gaspard) or to design product lines.
Chaining transformations: The transformations available on the shelves have to be composed, chained in order to generate the specified system. The new transformation type introduces new chaining constraints relating to metamodel typing. However, checking typing constraints is not enough. Stakeholder's requirements have also to be satisfied. We are currently working on the definition of intentional constraints that must be fulfilled by the generated system and thus checked by the chain.
Genericity: The transformations available on the shelves focusing on a specific intention, are small and can be easily reused. Their reusability can be further increased thanks to genericity. The idea is to specify the transformation with generic concepts and to establish bindings with concepts of the involved metamodels in order to specialize the transformation.
Evolution: As any other artefact, metamodels evolve. The transformations whose definition relies on these metamodel must consequently also evolve. We are currently working on the co-evolution of metamodel and transformation.
Test and verification: Some intentional constraints are verified when the chain is built. But it is not enough. We have developed approaches based on traceability mechanism to locate errors in a single transformation or in a chain. We have also automate the test set enhancement step of the mutation process. Mutation process enables the qualification of test sets.
Optimization of models: Once the chain has been enoughly tested and is trustworthy, if errors or wrong behaviours remain in the generated system, they come from errors or wrong specifications in the input models. We have developed a traceability based mechanism establishing a feedback of the execution of the generated system to the input model. This mechanism also enables to check that performance constraints are satisfied.
|