
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