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.
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.
...our attempt at integrating terminologies between different disciplines, which look at the problem differently, so some of the terms have different meanings in different disciplines.
...apply the following criteria: scope, technical quality, extensibility, quality of definitions of documentation...metamodeling is not for the faint of heart...if used correctly, its reduces development risk of complex projects by a larger factor than an
...good at abstracting from lower-level details of integration and interoperability, helping with partitioning problems into orthogonal sub-problems of conceptual data, physical data optimization, and control flow, & ideal for complex web services project
A metamodel is a precise definition of the constructs and rules needed for creating semantic models...an attempt at describing the world around us for a particular purpose.
Clarity regarding controlled vocabularies, taxonomies, thesauri, ontologies, and metamodels. With all the scuttlebut going around about folksonomies and tagging, these are important terms to understand. In the process of tagging, it's pretty noticeable
A. Mostafa, M. Ismail, H. Bolok, and E. Saad. Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, 2007. SNPD 2007. Eighth ACIS International Conference on, 1, page 694--701. (2007)
D. Rosca, S. Greenspan, M. Feblowitz, and C. Wild. Requirements Engineering, 1997., Proceedings of the Third IEEE International Symposium on, (January 1997)
G. Engels, R. Heckel, and J. Malte Küster. Proc. Int'l Conf. UML - The Unified Modeling Language, 2185, Springer-Verlag, Toronto, Canada.(October 2001)