a higher abstraction level. Consequently, we provide
a more flexible and extensible way to model and
specify (instantiate) model driven software processes
according to SPEM 2 and MDA standards.
Additionally, Bendraou et al. (2007) proposed an
extension to the SPEM 2.0 specification, called
xSPEM, in order to allow process enactment.
Although their work targets the enactment of process
models they don’t focus particularly on the process
modelling or enactment of MDA development
process.
Our main goal in this paper is to describe the
application of our SPEM/MDA approach and also to
report our resulting conclusions. Initially, we
performed preliminary experiments to assess our
approach. However, new empirical investigation
became necessary and thus we have worked in
different scenarios to evaluate our approach and
tool.
The rest of the paper is organized as follows:
Section 2 briefly presents our current approach and
tool for MDA process specification and enactment;
in Section 3 we describe the last case study we have
performed detailing the results; Section 4 concludes
the paper with final remarks.
2 SPEM/MDA APPROACH
Software process modeling using a unified and
consistent terminology should make communication,
understanding, reutilization, evolution, management
and standardization of the process possible
(Humprey, 1989). In order to achieve this, our
approach uses SPEM as PML (Process Modeling
Language). Figure 1 shows our metamodel
extending some SPEM 2.0 concepts for the MDA
context.
The process specification is divided into two
dimensions: the static concepts, which comprise
disciplines, tasks, steps, roles and workproducts,
called method content in the first part of Figure 1;
and the dynamic concepts, that comprise phases,
iterations and taskUse, called Process in the second
part of Figure 1.
A static definition represents best practices that
can be reusable in many process models. A
discipline groups a set of related tasks that are
performed by roles. A role defines responsibilities
and competences of an individual or a group of
individuals. A task may comprise many steps to
describe meaningful work. During the process
execution it can consume/produce workproducts as
input and output artefacts. In this approach a
workproduct can be specialized into four kinds of
artefacts: UML model, transformed / generated in
process execution; transformation rule, that contains
the rules for automatic model transformation and
code generation; extra model, textual specifications
or supplementary notation to document a project;
and profile, which gives the semantic for modelling
a system.
Based on the static definitions many processes
are modeled using the metamodel dynamic concepts.
A process may comprise many phases specialized in
CIM (Computational Independent Model), PIM
(Platform Independent Model), PSM (Platform
Specific Model) and Codification for the MDA
context. Furthermore, an ExtraPhase can be
specified representing an additional stage apart from
modeling and codification. The modeling phases can
be associated to profiles to give the semantic of a
specific domain. Each phase can contain one or
more iterations that specify the taskUses necessary
to carry out a task.
To better define the static and dynamic concepts
the approach specifies the use of three kinds of UML
diagrams: class, which models all the concepts and
is the base for the latter ones; use case, to associate
roles to specific tasks; and activity, to model the
process workflow behaviour in terms of process
execution.
2.1 Supporting Environment
We have developed a supporting environment called
Transforms taking into consideration the
SPEM/MDA metamodel illustrated in Figure 1.
The Transforms tool has two modules with
complementary features represented by the two main
components in Figure 2 called ProcessEditor and
ProcessExecutor. The first one is the module for
specifying MDA processes by creating and/or
editing Method Content and Process elements
according to our metamodel. This module
encompasses the visual modelling (DiagramsEditor
component) of process definitions and also he work
breakdown structure (WorkBreakDown
StructureEditors).
The second module offers a supporting
environment for the enactment of MDA processes
previously defined by the Process Editor. All the
processes are stored in the process repository and
they are accessible through the DataAccessInterface
provided by the PersistenceController component.
The subcomponent called ProjectExplorer is
responsible for monitoring and executing a project
following a process retrieved from the repository.
ICEIS 2010 - 12th International Conference on Enterprise Information Systems
186