JaMoPP is a set of Eclipse plug-ins that can be used to parse Java source code into EMF-based models and vice versa. JaMoPP consists of:
a complete Java5 Ecore Metamodel,
a complete Java5 EMFText Syntax, and
an implementation of Java5's static semantics analysis.
Through JaMoPP, every Java program can be processed as any other EMF model. JaMoPP therefore bridges the gap between modelling and Java programming. It enables the application of arbitrary EMF-based tools on full Java programs. Since JaMoPP is developed through metamodelling and code generation, extending Java and embedding Java into other modelling languages, using standard metamodeling techniques and tools, is now possible. To ensure the quality of JaMoPP, it has been successfully tested on a large code base.
Papyrus is aiming at providing an integrated and user-consumable environment for editing any kind of EMF model and particularly supporting UML and related modeling languages such as SysML and MARTE. Papyrus provides diagram editors for EMF-based modeling languages amongst them UML 2 and SysML and the glue required for integrating these editors (GMF-based or not) with other MBD and MDSD tools.
Papyrus also offers a very advanced support of UML profiles that enables users to define editors for DSLs based on the UML 2 standard. The main feature of Papyrus regarding this latter point is a set of very powerful customization mechanisms which can be leveraged to create user-defined Papyrus perspectives and give it the same look and feel as a "pure" DSL editor.
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.