I. Schieferdecker and A. Hartman (Eds.): ECMDA-FA 2008, LNCS 5095, pp. 419–431, 2008.
© Springer-Verlag Berlin Heidelberg 2008
MDA-Based Methodologies: An Analytical Survey
Mohsen Asadi and Raman Ramsin
Department of Computer Engineering,
Sharif University of Technology, Tehran, Iran
mohsenasadi@mehr.sharif.edu, ramsin@sharif.edu
Abstract. Model-Driven Development (MDD) has become a familiar software
engineering term in recent years, thanks to the profound influence of the Model
Driven Architecture (MDA). Yet MDD, like MDA itself, defines a general
framework, and as such is a generic approach rather than a concrete
development methodology. Methodology support for MDA has been rather
slow in coming, yet even though several MDA-based methodologies have
emerged, they have not been objectively analyzed yet. The need remains for a
critical appraisal of these methodologies, mainly aimed at identifying their
achievements, and the shortcomings that should be addressed. We provide a
review of several prominent MDA-based methodologies, and present a criteria-
based evaluation which highlights their strengths and weaknesses. The results
can be used for assessing, comparing, selecting, and adapting MDA-based
methodologies.
Keywords: Model Driven Architecture, Software Development Methodology,
Evaluation Criteria.
1 Introduction
The Model-Driven Architecture (MDA) proposed by the Object Management Group
(OMG) defines an approach to information systems specification that separates the
specification of system functionality from the specification of the implementation of
that functionality on a specific technology platform. The primary goals of MDA are
portability, interoperability, and reusability of software. To achieve these goals, MDA
raises the level of abstraction and strives to automate the software generation process.
There are a number of important OMG standards at the core of MDA: The Unified
Modeling Language (UML), Meta Object Facility (MOF), XML Metadata
Interchange (XMI), and Common Warehouse Metamodel (CWM) [1]. These
standards define the core infrastructure of the MDA, and have greatly contributed to
modern systems modeling. The core standards of the MDA (UML, MOF, XMI, and
CWM) form the basis for building coherent schemes for authoring, publishing, and
managing models within a model-driven architecture.
MDA provides an approach for specifying systems in terms of models; system
requirements are specified in the Computation-Independent Model (CIM); the
Platform-Independent Model (PIM) is the model that describes the system design
independent of the implementation platform; the Platform-Specific Model (PSM), on