Creating J MDA components
Creating a J MDA component
J MDA components are MDA Modeler deployment units, which can reference one or several profiles, profile implementations and/or patterns.
J MDA components, which can only be
created from the root folder in the MDA framework, are created by clicking on
the
icon from
the root folder in the MDA framework.
Steps:
1. Select the root folder of the MDA framework.
2.
Click on the
icon. The J
MDA Component window then
appears.
3. In the J MDA Component window, enter the characteristics of the MDA component you are about to create. Confirm.
The J MDA Component dialog box

Figure 157. The "MDA Component" dialog box
Key:
· Name: This field is used to enter the internal name of the J MDA component.
· Version: This field is used to indicate the version number of the MDA component. The complete MDA component version number is defined by the three consecutive fields. The two first fields must be numbers, while the last one can be composed of numbers and letters.
· Identifier: This field is used to enter a more explicit name for the J MDA component. This identifier appears in the context menus and every time a description of the J MDA component is necessary.
· Workspace: This field is used to indicate a specific working directory for the J MDA component. If the field is empty, this directory is $OBJING_PATH/mdaplugs/Name/Version Number by default. The name and version number are taken from the Name and Number of major version, Number of minor version and Release information fields in the J MDA component window.
Structure of your new MDA component
When an MDA component is created, a certain number of operations are carried out automatically.
The following elements are automatically created:
· a component stereotyped JMDAComponent, whose name is the value entered in the "Name" field of the "MDA component" dialog box (see Figure 157)
· a static diagram named Overview of MDAComponent. This diagram presents the overview of the MDA component. An example is shown in Figure 158 below.

Figure 158. Example of the static diagram automatically created for a new MDA component
· a ElementImport link stereotyped referencedMetamodel between the new MDA component and the reference metamodel
· a set of folders, used to contain the elements modeled within an MDA component (as shown in Figure 159 below)

Figure 159. The set of MDA folders automatically created for an MDA component
Key:
· Profiles: This folder is used to store the profiles that you wish to model.
· Behavior profiles: This folder is used to store the profile implementations that you want to model.
· Patterns: This folder contains the patterns you have modeled. Patterns are written in J. For more information on patterns, please see "Overview of patterns".
· GUI extensions: This folder is used to define the commands which users of the J MDA component will be able to use.
· Parameters: This folder is used to structure and define values for the parameters defined in the different profiles of the J MDA component.
· Test project: This folder is used to define the test project which will allow the models used to test the J MDA component to be built.
· First steps: This folder is used to develop the model which will be packaged with the J MDA component. This model can be used to facilitate the initial use of the J MDA component in question.
· Services: This folder is used to define the actions that are specific to the J MDA component, for example, when it is deployed or selected in a new modeling project.
Updating diagrams
If the Create/update MDA diagrams automatically MDAC option is activated and if you use the MDA icons to create MDA element, all diagrams concerning the element in question are automatically created or updated.
Otherwise, the
button lets you to force the creation or
update of the MDA diagrams.
Toolbar
The icons appearing in the MDA tab of the auxiliary window can be used to run the following commands:
|
Icon |
Description |
|
|
This icon is used to open this page. |
|
|
This icon is used to create/update diagrams, even if the Create/update MDA diagrams automatically option is desactivated. |
|
|
This icon is used to generate documentation of the MDA component. |
|
|
This icon is used to view the generated documentation. |
|
|
This icon is used to check that the MDA component has been correctly modeled. |
|
|
This icon is used to compile the MDA component. |
|
|
This icon is used to package the MDA component. |
Icons
The icons defined in the different profiles used by the J MDA component are automatically copied into the workspace during the compilation phase.
The Services folder
The Services folder should contain the operations that are used to carry out actions during the deployment of the J MDA component, when a UML project containing this J MDA component is opened or closed.
The operations are automatically created when the J MDA component is created, as follows:
|
The ...
operation |
is
called
|
|
boolean select() |
after a J MDA component is deployed. If you want to call it in J code, you must name it moduleSelect(). |
|
boolean unselect() |
after a J MDA component is removed. If you want to call it in J code, you must name it moduleUnselect(). |
|
boolean install() |
after a J MDA component is deployed for the first time in Objecteering Modeler, if the same version of the MDA component is not already present in the database ("install" is called first and then "select"). If you want to call it in J code, you must name it moduleInstall(). |
|
boolean uninstall() |
This service is not used anymore. |
|
boolean upgrade(string oldVersion, JProperty[] listParameterValue) |
after a J MDA component is upgraded, more precisely after a new version of a J MDA component already present in the project is being selected for the first time. Please note that the code of this operation should not assume that the J MDA component has already been selected. A default method exists, which takes the values of the parameters of the former J MDA component and re-affects them to the parameters of the new J MDA component. If you want to call it in J code, you must name it moduleUpgrade(). |
|
boolean init() |
Not applicable. This service is not recommended. |
|
start() |
for each selected J MDA component when a modeling project is loaded. It is not called when a new J MDA component is selected. If you want to call it in J code, you must name it moduleStart(). |
|
stop() |
for each selected J MDA component when a modeling project is unloaded. It is not called when a J MDA component is unselected. If you want to call it in J code, you must name it moduleStop(). |