DevBooststLogotudLogorewerseLogo modelplexLogo
Bridging the gap between models and source code.


CommentTemplate: A Code Generation Extension for Java

CommentTemplate ( is a code generation extension for Java built with JaMoPP.

eJava: Modeling Behaviour with Java Statements

eJava ( can be used to specify the behaviour of Ecore's EOperations with Java statements in separate files on the modelling level.

EMFCustomize: Customize Generated Code

EMFCustomize ( allows the controlled mixing of generated and hand-written code when working with EMF Ecore models. It uses JaMoPP to refactor and merge generated and hand-written code.

JaMoPP Example Applications

To illustrate the potential of JaMoPP, we realized a set of example applications that profit from JaMoPP. The applications represent typical software modelling development activities (e.g., generating, analysing and visualising code), but also cover more advanced actions (e.g., composing programs or building product lines).

All applications use a common example that is a contact management application (cf. Figure 1). A ContactList is organised into several Groups, each containing a number of Contact. We distinguish Person and Company contacts. In addition information like Addresses, or Relationships between Contacts is managed.

Figure 1. Class diagram for the contact management application

Resource: Contact Management Application UML Model

The different applications, enumerated in the following, make use of different JaMoPP features: