FeatureMapper is a tool approach to combine Software Product Line Engineering (SPLE) and Model-Driven Software Development.
It supports mapping features from feature models to solution artefacts expressed in EMF/Ecore-based languages (such as UML2 or your home-made domain-specific language), provides various visualisations of these mappings, allows for mapping-based transformation of solution models, and provides an extensible interface to utilise different transformation techniques.
In addition to its own feature metamodel, it also supports feature models and variant models of pure::variants, an industrial-strength tool for variant management.
FeatureMapper is under development at the Software Technology Group of Technische Universität Dresden, partly in the context of the BMBF-funded feasiPLe research project.
As the name implies, AMDD is the agile version of Model Driven Development (MDD). MDD is an approach to software development where extensive models are created before source code is written. A primary example of MDD is the Object Management Group (OMG)’s Model Driven Architecture (MDA) standard. With MDD a serial approach to development is often taken, MDD is quite popular with traditionalists, although as the RUP/EUP shows it is possible to take an iterative approach with MDD. The difference with AMDD is that instead of creating extensive models before writing source code you instead create agile models which are just barely good enough that drive your overall development efforts. AMDD is a critical strategy for scaling agile software development beyond the small, co-located team approach that we saw during the first stage of agile adoption.
Have you ever evolved your metamodel in EMF and your models were no longer valid afterwards? Or have you avoided to evolve your metamodel in order not to invalidate your models? Or have you even deteriorated your metamodel so that it remains downwards compatible to previous versions in order to avoid these problems?
This site introduces COPE, a tool based on EMF that eases the migration of models in response to an evolving metamodel. COPE explicitly records the history of the metamodel as a sequence of changes and allows to attach information of how to migrate models (which is referred to as coupled evolution). The attached information can be used to automatically migrate models to the new version of the metamodel. COPE even goes one step further and allows to reuse combinations of metamodel adaptation and model migration steps across metamodels.
In order not to disturb EMF users in their habits, COPE seamlessly integrates into the Ecore editor. A demonstration of the tool in action can be looked at here. It is planned to contribute COPE to the Eclipse community.
A. Sindico, M. Natale, und A. Sangiovanni-Vincentelli. Model Driven Engineering Languages and Systems, Volume 7590 von Lecture Notes in Computer Science, Springer Berlin Heidelberg, (2012)
M. Rohr, M. Boskovic, S. Giesecke, und W. Hasselbring. Proceedings of the Workshop ``Models@run.time'' at the 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS/UML'06) 2006, (Oktober 2006)
A. Cicchetti, D. Ruscio, R. Eramo, und A. Pierantonio. Proceedings of the 2008 12th International IEEE Enterprise Distributed Object Computing Conference, Seite 222--231. Washington, DC, USA, IEEE Computer Society, (2008)
D. Di Ruscio, L. Iovino, und A. Pierantonio. Proceedings of the 2nd International Workshop on Model Comparison in Practice, Seite 30--38. New York, NY, USA, ACM, (2011)
E. Serral, P. Valderas, und V. Pelechano. Pervasive and Mobile Computing, 6 (2):
254 - 280(2010)<ce:title>Context Modelling, Reasoning and Management</ce:title>.