-
Notifications
You must be signed in to change notification settings - Fork 0
Applications
An application defines the relations between two metamodels. It essentially specifies how changes in instances of one metamodel have to be transferred to instances of another metamodel. For example, the UML-Java application defines how changes in a UML model are transferred to the corresponding Java model.
An application depends on two (sometimes just one) metamodel, which represent the metamodels for which consistency relations are specified.
Applications are built on top of the framework and are therefore placed in separate repositories. They can be found on the vitruv-tools landing page. Applications are defined in the tools.vitruv.applications.*
namespace. If you need certain applications in your environment, you have to import the corresponding application projects as well as the metamodels these applications are based on into your workspace. For example, if you want to use the UML-Java application, you have to import the tools.vitruv.applications.umljava.*
projects, as well as the metamodels provided in org.emftext.languages.java
and org.eclipse.uml2.uml
projects.
The relevant class of an application is the ChangePropagationSpecification
it defines. Such a specification defines the consistency relations between the metamodels and can be used to automatically keep instances of the metamodels consistent. Such a ChangePropagationSpecification
can be generated by documents written in the Reactions language
.
Several applications have been developed for component-based software systems.
These applications comprise the following metamodels:
- Palladio Component Model (PCM)
- Requires the "Palladio Bench Core Features" from the update site
- Unified Modeling Language (UML)
- Ships with EMF
- Java
- Requires EMFText and JaMoPP 1.4.1 from our wrapper update site