3 MDA and ERP Implementation
One of the motivations behind the design of the OMG’s MDA framework is to pro-
mote platform independence when designing IT applications. In fact, the developer
will concentrate on the platform-independent features of his application and will let
the programming environment generate the details and programming elements ac-
cording to the chosen target platform. The highest conceptual model, the CIM (Com-
putation Independent Model), is targeted at domain practitioners [15]. It is some-
times called the domain model and includes the main concepts and entities of the
domain. Then, by adding the knowledge of the common business processes imple-
mented in any ERP system one gets the Platform Independent Model (PIM). Al-
though the target ERP platform should not be considered at this early stage of the
modeling process, one nevertheless knows that the target is an ERP system and not a
custom-developed application. This is consistent with the observation of Almeida et
al. [1] that the design of the PIM should know the “general capabilities of the poten-
tial target platform”. In this sense, the MDA framework resembles the best practices
in ERP implementation: first design the business process to be implemented then
proceed with parameterization [19]. All our models are based on UML and its light-
weight extension mechanism: the UML Profile. As UML is becoming standard
knowledge for IT engineers, using our technique will save them the burden to learn
some proprietary ERP implementation language. Moreover, our approach can be
implemented in any commercially available tool which supports the MDA frame-
work, such as IBM/Rational
®
XDE
®
.
MDA was initially intended to generate custom made applications. In this case the
last step of the process, the transformation from the PIM to the Platform Specific
Model (PSM), represents the code generation for the target platform. In the case of an
ERP, the system is already implemented. It must only be configured according to the
target business processes. This amounts usually to the generation of the parameters in
the ERP’s tables. Grossly speaking, an ERP system is like a toolbox of components
(visual and non visual) to enable/disable and tune according to the process to be im-
plemented. This is why the customization of an ERP differs from code generation: we
do not generate or remove components; we only enable/disable components and gen-
erate constraints information for the ERP parameterization engine to configure the
system. Of course, many ERP customizations include the programming of some spe-
cific function using the ERP’s integrated programming environment. This could to a
large extent be modeled as Object Constraint Language (OCL) expressions. But this
very capability is not covered in the present paper as we only target the generation of
the ERP parameters.
4 Steps of the Implementation Method
To extend the UML language to include the business process modeling we designed a
UML profile that includes some new stereotypes and tagged values [20]. Tagged
values are used to propagate the customization information among the MDA models
by the MDA transformations. For example, some of the tagged value will tell the
79