Table des matières

Process B

Context

Description

The objective of the process B is to build a structural component model and a corresponding annotated Java code. These two elements are inputs of the process A (see the detailed process in Process A). The model is also an instance of the metamodel (see the detailed description in meta_model) that will control its consistency.

A general view of the process B is given in the figure below; from plain Java code and user interaction, process B should produce an annotated Java code and a corresponding component model (both results must be consistent). Some restrictions apply to the first program release:

The process B is in fact iterative because its source is variable (in the sense that it may include many informations from different nature) and target different goals. For instance one goal is to abstract structural elements of a component model from a plain Java code and user informations. Another is to read and interpret existing annotations. Another is to check the compatibility between one component model and an annoted Java code… On each iteration, the process accepts a Java program (with or without annotation) and a component model (possibly empty). It computes some information, sometimes using external tools and human interaction. This information modifies the a Java program and the component model.

The idea is to combine primitive transformations and develop a customised (or human driven) process B. Here are some of these primitive transformations:

Important remarks:

  1. Note that combining transformation 1 and 2 provides a first result of process B which can be reusable in process A.
  2. Note also that input and outputs need format filters (reader, writer) which are common to all subprojects.
  3. Note also that some of these transformations ought to be used in the other subprojects.

Consequently, process B is rather a tool box or a sequence of subprocess applications.

B transformations and tools

Realisation

Student's Operationnal Project

A first implementation using CMM (meta_model CCMM section - item 2).

The code and documentation are available on the Econet SVN repository (ProcessB directory).