tions of entities called models. They only contain the
information relevant to a particular domain, being
oblivious to the remaining details. Their constraints,
characteristics and semantics are well defined
through metamodels (which are also models),
avoiding ambiguities.
The OMG (Object Management Group) is the
main standardization organization for MDE
languages and processes. Some of its most relevant
specifications are MOF (OMG, 2006), a language
used for the definition of metamodels, or UML,
which is in turn defined using MOF.
MDE processes consist of several kinds of
transformations, being model to model and model to
text the most prominent. An example model-to-
model transformation allows the enrichment and
modification of the definitions of Platform
Independent Models (PIM) until they are
transformed to Platform Specific Models (PSM).
These processes can be automated through the use of
transformation languages, such as QVT (Query,
View, Transformation).
Code generation activities are the most
representative applications of model-to-text
transformations. A PSM with enough information
can be used to automatically generate the actual
source code of the system. In less ideal cases, the
generated code base is completed with manual
implementation.
Adopting MDE can provide many benefits to the
development process. It allows the partial (and in
some cases complete) automation of several
activities and eases the response to changing
requirements or domain specifications. Also, it
allows the expression of the problems that need to be
solved in a more comprehensible way, providing to
architects a clearer view of the system entities.
Applying MDE to the development of enterprise
systems has the potential to greatly help in the
fulfillment of their particular characteristics
(Frankel, 2003). Enterprise management systems
present many similarities in the software
infrastructure and basic requirements such as
communications, or data persistence, which can be
captured in model and transformation definitions.
The usage of MDE techniques allows the
automation of specific operations and brings
“information hiding” principles to the development
process, fostering specialization. Work towards
solving specific enterprise domain problems using
MDE has been performed recently and has shown
positive results (Quartel, 2008) (White, 2007).
However, a considerable effort may be needed
for the assimilation of these practices. Thus, the key
limiting factor for its enterprise adoption is the
availability of a comprehensive and mature tool
chain that seamlessly integrates with the
development processes and the specific
technologies.
3 CASE STUDY DESCRIPTION
3.1 System Requirements
The system under development is an enterprise
service management architecture. Its purpose is the
control and automation of life cycle of software
products and services across distributed
environments. The system will manage information
about the physical structure of the target
environment, its runtime state, the available software
and services, and the dependencies between them. It
will interact with the physical elements through a
well-defined information model, in order to abstract
from the complexity and heterogeneity of enterprise
systems.
The development of an enterprise system like the
one described in this paper is a complex process.
The system must be deployed over a distributed
environment, and operate with an adequate quality
of service, ensuring its high availability, fault
tolerance, or scalability. Some representative non-
functional requirements are:
• Information consolidation is a fundamental
requirement for any management system.
Runtime state, statistics, operation logs and
system resources must be persisted, sorted and
related between each other.
• System components are designed in a
decoupled, distributed way, which in turn
imposes a need to expose remote
communication mechanisms.
As these requirements are common to most
enterprise services, in the latest years several
frameworks and specifications have been developed
to provide pre-packed solutions to these aspects. In
fact, they have been so useful that its popularity has
turned them into additional requirements for the
developed services. However, the result is a
framework sprawl where the complexity has shifted
from the original requirements to a well-established
architecture and technology base.
3.2 Technical Approach
After analyzing the characteristics and requirements
ICSOFT 2009 - 4th International Conference on Software and Data Technologies
22