Model-driven architecture
Encyclopedia
Model-driven architecture (MDA) is a software design
Software design
Software design is a process of problem solving and planning for a software solution. After the purpose and specifications of software are determined, software developers will design or employ designers to develop a plan for a solution...

 approach for the development of software system
Software system
A software system is a system based on software forming part of a computer system . The term "software system" is often used as a synonym of computer program or software; is related to the application of systems theory approaches in software engineering context and are used to study large and...

s. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model-driven architecture is a kind of domain engineering
Domain engineering
Domain engineering, also called product line engineering, is the entire process of reusing domain knowledge in the production of new software systems. It is a key concept in systematic software reuse. A key idea in systematic software reuse is the application domain, a software area that contains...

, and supports model-driven engineering
Model-driven engineering
Model-driven engineering is a software development methodology which focuses on creating and exploiting domain models , rather than on the computing concepts...

 of software systems. It was launched by the Object Management Group
Object Management Group
Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

 (OMG) in 2001.

Overview

The Model-Driven Architecture approach defines system functionality using a platform-independent model
Platform-independent model
A Platform-Independent Model in software engineering is a model of a software system or business system, that is independent of the specific technological platform used to implement it...

 (PIM) using an appropriate domain-specific language (DSL).

Then, given a platform definition model (PDM) corresponding to CORBA
Çorba
Chorba , ciorbă , shurpa , shorpo , or sorpa is one of various kinds of soup or stew found in national cuisines across Middle East...

, .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

, the Web, etc., the PIM is translated to one or more platform-specific model
Platform-specific model
A platform-specific model is a model of a software or business system that is linked to a specific technological platform . Platform-specific models are indispensable for the actual implementation of a system.For example, a need to implement an online shop...

s (PSMs) that computers can run. This requires mappings and transformations and should be modeled too.

The PSM may use different DSLs, or a General Purpose Language (GPL) like Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

, C#, PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

, Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

, etc.. Automated tools generally perform this translation.

The OMG organization provides rough specifications rather than implementations, often as answers to Requests for Proposals
Request for Proposal
A request for proposal is issued at an early stage in a procurement process, where an invitation is presented for suppliers, often through a bidding process, to submit a proposal on a specific commodity or service. The RFP process brings structure to the procurement decision and is meant to...

 (RFPs). Implementations come from private companies or open source groups.

MDA principles can also apply to other areas such as business process modeling
Business process modeling
Business Process Modeling in systems engineering is the activity of representing processes of an enterprise, so that the current process may be analyzed and improved. BPM is typically performed by business analysts and managers who are seeking to improve process efficiency and quality...

 (BPM) where the PIM is
translated to either automated or manual processes.

Related standards

The MDA model is related to multiple standards, including the Unified Modeling Language
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

 (UML), the Meta-Object Facility
Meta-Object Facility
The Meta-Object Facility is an Object Management Group standard for model-driven engineering. The official reference page may be found at OMG's website.- Overview :...

 (MOF), XML Metadata Interchange (XMI), Enterprise Distributed Object Computing
Enterprise Distributed Object Computing
The UML profile for Enterprise Distributed Object Computing is a standard of the Object Management Group in support of open distributed computing using model-driven architecture and Service-Oriented Architecture...

 (EDOC), the Software Process Engineering Metamodel (SPEM), and the Common Warehouse Metamodel
Common Warehouse Metamodel
The Common Warehouse Metamodel defines a specification for modeling metadata for relational, non-relational, multi-dimensional, and most other objects found in a data warehousing environment...

 (CWM). Note that the term “architecture” in Model-driven architecture does not refer to the architecture of the system being modeled, but rather to the architecture of the various standards and model forms that serve as the technology basis for MDA.

Executable UML
Executable UML
Executable UML, often abbreviated to xtUML or xUML, "is a single language in the UML family, designed to define the semantics of subject matters precisely." Executable UML is the evolution of the Shlaer-Mellor method to UML...

 is another specific approach to implement MDA

Trademark

The Object Management Group
Object Management Group
Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

 holds trademarks on MDA, as well as several similar terms including Model Driven Application Development, Model Based Application Development, Model Based Programming, and others. The main acronym that has not yet been deposited by OMG until now is Model-driven engineering (MDE)
Model-driven engineering
Model-driven engineering is a software development methodology which focuses on creating and exploiting domain models , rather than on the computing concepts...

. As a consequence, the research community uses MDE to refer to general model engineering ideas, without committing to strict OMG standards.

MDA approach

OMG focuses Model-driven architecture on forward engineering, i.e. producing code from abstract, human-elaborated modelling diagrams (e.g. class diagrams). OMG's ADTF (Analysis and Design Task Force) group leads this effort. With some humour, the group chose ADM (MDA backwards) to name the study of reverse engineering. ADM decodes to Architecture-Driven Modernization. The objective of ADM is to produce standards for model-based reverse engineering of legacy systems. Knowledge Discovery Metamodel
Knowledge Discovery Metamodel
Knowledge Discovery Metamodel is publicly available specification from the Object Management Group . KDM is a common intermediate representation for existing software systems and their operating environments, that defines common metadata required for deep semantic integration of Application...

 (KDM) is the furthest along of these efforts, and describes information systems in terms of various assets (programs, specifications, data, test files, database schemas, etc.).

One of the main aims of the MDA is to separate design from architecture. As the concepts and technologies used to realize designs and the concepts and technologies used to realize architectures have changed at their own pace, decoupling them allows system developers to choose from the best and most fitting in both domains. The design addresses the functional (use case
Use case
In software engineering and systems engineering, a use case is a description of steps or actions between a user and a software system which leads the user towards something useful...

) requirements while architecture provides the infrastructure through which non-functional requirements like scalability, reliability and performance are realized. MDA envisages that the platform independent model (PIM), which represents a conceptual design realizing the functional requirements, will survive changes in realization technologies and software architecture
Software architecture
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both...

s.

Of particular importance to model-driven architecture is the notion of model transformation
Model transformation
A model transformation, in model-driven engineering, is an automatable way of ensuring that a family of models is consistent, in a precise sense which the software engineer can define...

. A specific standard language for model transformation has been defined by OMG
Object Management Group
Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

 called QVT
QVT
QVT is a standard set of languages for model transformation defined by the Object Management Group .- Overview :...

.

MDA tools

The OMG organization provides rough specifications rather than implementations, often as answers to Requests for Proposals
Request for Proposal
A request for proposal is issued at an early stage in a procurement process, where an invitation is presented for suppliers, often through a bidding process, to submit a proposal on a specific commodity or service. The RFP process brings structure to the procurement decision and is meant to...

 (RFPs). The OMG documents the overall process in a document called the MDA Guide.

Basically, an MDA tool is a tool used to develop, interpret, compare, align, measure, verify, transform, etc. models or metamodels. In the following section "model" is interpreted as meaning any kind of model (e.g. a UML model) or metamodel (e.g. the CWM metamodel). In any MDA approach we have essentially two kinds of models: initial models are created manually by human agents while derived models are created automatically by programs. For example an analyst may create a UML initial model from its observation of some loose business situation while a Java model may be automatically derived from this UML model by a Model transformation
Model transformation
A model transformation, in model-driven engineering, is an automatable way of ensuring that a family of models is consistent, in a precise sense which the software engineer can define...

 operation.

An MDA tool may be one or more of the following types:

Creation Tool
A tool used to elicit initial models and/or edit derived models.

Analysis Tool
A tool used to check models for completeness, inconsistencies, or error and warning conditions. Also used to calculate metrics for the model.

Transformation Tool
A tool used to transform models into other models or into code and documentation.

Composition Tool
A tool used to compose (i.e. to merge according to a given composition semantics) several source models, preferably conforming to the same metamodel.

Test Tool
A tool used to "test" models as described in Model-based testing
Model-based testing
Model-based testing is the application of Model based design for designing and optionally executing the necessary artifacts to perform software testing. Models can be used to represent the desired behavior of the System Under Test , or to represent the desired testing strategies and testing...

.

Simulation Tool
A tool used to simulate the execution of a system represented by a given model. This is related to the subject of model execution.

Metadata Management Tool
A tool intended to handle the general relations between different models, including the metadata on each model (e.g. author, date of creation or modification, method of creation (which tool? which transformation? etc.)) and the mutual relations between these models (i.e. one metamodel is a version of another one, one model has been derived from another one by a transformation, etc.)

Reverse Engineering Tool
A tool intended to transform particular legacy or information artifact portfolios into full-fledged models.


Some tools perform more than one of the functions listed above. For example, some creation tools may also have transformation and test capabilities. There are other tools that are solely for creation, solely for graphical presentation, solely for transformation, etc.

One of the characteristics of MDA tools is that they mainly take models (e.g. MOF models or metamodels) as input and generate models as output. In some cases however the parameters may be taken outside the MDA space like in model to text or text to model transformation tools.

Implementations of the OMG specifications come from private companies or open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 groups. One important source of implementations for OMG specifications is the Eclipse Foundation
Eclipse Foundation
The Eclipse Foundation is a not-for-profit, member supported corporation that hosts the open-source Eclipse Projects and helps cultivate both an open source community and an ecosystem of complementary products and services...

 (EF). Many implementations of OMG modeling standards may be found in the Eclipse Modeling Framework
Eclipse Modeling Framework
Eclipse Modeling Framework is an Eclipse-based modeling framework and code generation facility for building tools and other applications based on a structured data model...

 (EMF) or Graphical Modeling Framework
Graphical Modeling Framework
The Graphical Modeling Framework is a framework within the Eclipse platform. It provides a generative component and runtime infrastructure for developing graphical editors based on the Eclipse Modeling Framework and Graphical Editing Framework...

 (GMF), the Eclipse foundation is also developing other tools of various profiles as GMT. Eclipse's compliance to OMG specifications is often not strict. This is true for example for OMG's EMOF standard, which Eclipse approximates with its ECORE implementation. More examples may be found in the M2M project implementing the QVT standard or in the M2T project implementing the MOF2Text standard.

One should be careful not to confuse the List of MDA Tools and the List of UML tools, the former being much broader. This distinction can be made more general by distinguishing 'variable metamodel tools' and 'fixed metamodel tools'. A UML CASE tool is typically a 'fixed metamodel tool' since it has been hard-wired to work only with a given version of the UML metamodel (e.g. UML 2.1). On the contrary, other tools have internal generic capabilities allowing them to adapt to arbitrary metamodels or to a particular kind of metamodels.

Usually MDA tools focus rudimentary architecture specification, although in some cases the tools are architecture-independent (or platform independent).

Simple examples of architecture specifications include:
  • Selecting one of a number of supported reference architecture
    Reference architecture
    A reference architecture in the field of software architecture or enterprise architecture provides a template solution for an architecture for a particular domain. It also provides a common vocabulary with which to discuss implementations, often with the aim to stress commonality...

    s like Java EE or Microsoft .NET,
  • Specifying the architecture at a finer level including the choice of presentation layer technology, business logic layer technology, persistence technology and persistence mapping technology (e.g. object-relational mapper).
  • Metadata: information about data.

MDA concerns

Some key concepts that underpin the MDA approach (launched in 2001) were first elucidated by the Shlaer-Mellor
Shlaer-Mellor
The Shlaer-Mellor method, developed by Sally Shlaer and Stephen Mellor, is one of a number of object-oriented analysis / object-oriented design methods which arrived in the late 1980s in response to established weaknesses in the existing structured analysis and structured design techniques in...

 method during the late 1980s. Indeed a key absent technical standard of the MDA approach (that of an action language syntax for Executable UML
Executable UML
Executable UML, often abbreviated to xtUML or xUML, "is a single language in the UML family, designed to define the semantics of subject matters precisely." Executable UML is the evolution of the Shlaer-Mellor method to UML...

) has been bridged by some vendors by adapting the original Shlaer-Mellor Action Language (modified for UML). However during this period the MDA approach has not gained mainstream industry acceptance; with the Gartner Group still identifying MDA as an "on the rise" technology in its 2006 "Hype Cycle
Hype cycle
A hype cycle is a graphic representation of the maturity, adoption and social application of specific technologies. The term was coined by Gartner, Inc.-Rationale:...

", and Forrester Research
Forrester Research
Forrester Research is an independent technology and market research company that provides its clients with advice about technology's impact on business and consumers. Forrester Research has five research centers in the US: Cambridge, Massachusetts; New York, New York; San Francisco, California;...

 declaring MDA to be "D.O.A." in 2006. Potential concerns that have been raised with the OMG MDA approach include:
  • Incomplete Standards: The MDA approach is underpinned by a variety of technical standards, some of which are yet to be specified (e.g. an action semantic language for xtUML
    Executable UML
    Executable UML, often abbreviated to xtUML or xUML, "is a single language in the UML family, designed to define the semantics of subject matters precisely." Executable UML is the evolution of the Shlaer-Mellor method to UML...

    ), or are yet to be implemented in a standard manner (e.g. a QVT
    QVT
    QVT is a standard set of languages for model transformation defined by the Object Management Group .- Overview :...

     transformation engine or a PIM
    Platform-independent model
    A Platform-Independent Model in software engineering is a model of a software system or business system, that is independent of the specific technological platform used to implement it...

     with a virtual execution environment).
  • Vendor Lock-in: Although MDA was conceived as an approach for achieving (technical) platform independence, current MDA vendors have been reluctant to engineer their MDA toolsets to be interoperable. Such an outcome could result in vendor lock-in for those pursuing an MDA approach.
  • Idealistic: MDA is conceived as a forward engineering approach in which models that incorporate Action Language programming are transformed into implementation artifacts (e.g. executable code, database schema) in one direction via a fully or partially automated "generation" step. This aligns with OMG's vision that MDA should allow modelling of a problem domain's full complexity in UML (and related standards) with subsequent transformation to a complete (executable) application. This approach does, however, imply that changes to implementation artifacts (e.g. database schema tuning) are not supported . This constitutes a problem in situations where such post-transformation "adapting" of implementation artifacts is seen to be necessary. Evidence that the full MDA approach may be too idealistic for some real world deployments has been seen in the rise of so-called "pragmatic MDA". Pragmatic MDA blends the literal standards from OMG's MDA with more traditional model driven mechanisms such as round-trip engineering
    Round-trip engineering
    Round-trip engineering is a functionality of software development tools that synchronizes two or more related software artifacts, such as, source code, models, configuration files, and other documents...

     that provides support for adapting implementation artifacts.
  • Specialised Skillsets: Practitioners of MDA based software engineering are (as with other toolsets) required to have a high level of expertise in their field. Current expert MDA practitioners (often referred to as Modeller/Architects) are scarce relative to the availability of traditional developers.
  • OMG Track Record: The OMG consortium who sponsor the MDA approach (and own the MDA trademark) also introduced and sponsored the CORBA standard which itself failed to materialise as a widely utilised standard.
  • Uncertain Value Proposition (UVP): As discussed, the vision of MDA allows for the specification of a system as an abstract model, which may be realized as a concrete implementation (program) for a particular computing platform (e.g. .NET). Thus an application that has been successfully developed via a pure MDA approach could theoretically be ported to a newer release .NET platform (or even a Java platform) in a deterministic manner – although significant questions remain as to real-world practicalities during translation (such as user interface implementation). Whether this capability represents a significant value proposition remains a question for particular adopters. Regardless, adopters of MDA who are seeking value via an "alternative to programming" should be very careful when assessing this approach. The complexity of any given problem domain will always remain, and the programming of business logic needs to be undertaken in MDA as with any other approach. The difference with MDA is that the programming language used (e.g. xtUML) is more abstract (than, say, Java or C#) and exists interwoven with traditional UML artifacts (e.g. class diagrams). Whether programming in a language that is more abstract than mainstream 3GL
    Third-generation programming language
    A third-generation programming language is a refinement of a second-generation programming language. The second generation of programming languages brought logical structure to software. The third generation brought refinements to make the languages more programmer-friendly...

     languages will result in systems of better quality, cheaper cost or faster delivery, is a question that has yet to be adequately answered.

Conferences

Among the various conferences on this topic we may mention ECMDA, the European Conference on MDA and also MoDELS, former firmed as <> conference series (till 2004), the Italian Forum on MDA in collaboration with the OMG
Object Management Group
Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

. There are also several conferences and workshops (at OOPSLA
OOPSLA
OOPSLA is an annual ACM research conference. OOPSLA mainly takes place in the United States, while the sister conference of OOPSLA, ECOOP, is typically held in Europe...

, ECOOP
ECOOP
The European Conference on Object-Oriented Programming, commonly known as ECOOP, is an annual conference covering topics on object-oriented programming systems, languages and applications. Like other conferences, ECOOP offers various tracks and many simultaneous sessions, and thus has different...

 mainly) focusing on more specific aspects of MDA like model transformation, model composition, and generation.

Code generation controversy

Code generation
Automatic programming
In computer science, the term automatic programming identifies a type of computer programming in which some mechanism generates a computer program to allow human programmers to write the code at a higher abstraction level....

 means that the user abstractly models solutions, which are connoted by some model data, and then an automated tool derives from the models parts or all of the source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...

 for the software system. In some tools, the user can provide a skeleton of the program source code, in the form of a source code template
Template (programming)
Templates are a feature of the C++ programming language that allow functions and classes to operate with generic types. This allows a function or class to work on many different data types without being rewritten for each one....

 where predefined tokens are then replaced with program source code parts during the code generation process.

An often cited criticism is that the UML diagrams just lack the detail which is needed to contain the same information as is covered with the program source. Some developers even claim that "the Code is the design".

See also

  • Algebra of Systems
  • ATLAS Transformation Language
    ATLAS Transformation Language
    ATL is a model transformation language and toolkit developed and maintained by OBEO and AtlanMod. It was initiated by the team...

  • Automatic programming
    Automatic programming
    In computer science, the term automatic programming identifies a type of computer programming in which some mechanism generates a computer program to allow human programmers to write the code at a higher abstraction level....

  • CodeGear ECO
  • Customer Relationship Management
    Customer relationship management
    Customer relationship management is a widely implemented strategy for managing a company’s interactions with customers, clients and sales prospects. It involves using technology to organize, automate, and synchronize business processes—principally sales activities, but also those for marketing,...

     * Compiere
    Compiere
    Compiere is an open source ERP and CRM business solution for the Small and Medium-sized Enterprise in distribution, retail, service and manufacturing...

  • Domain-driven design
    Domain-driven design
    Domain-driven design is an approach to developing software for complex needs by deeply connecting the implementation to an evolving model of the core business concepts...

  • Enterprise Resource Planning
    Enterprise resource planning
    Enterprise resource planning systems integrate internal and external management information across an entire organization, embracing finance/accounting, manufacturing, sales and service, customer relationship management, etc. ERP systems automate this activity with an integrated software application...

  • Executable UML
    Executable UML
    Executable UML, often abbreviated to xtUML or xUML, "is a single language in the UML family, designed to define the semantics of subject matters precisely." Executable UML is the evolution of the Shlaer-Mellor method to UML...

  • Executable Architecture
    Executable Architecture
    An Executable Architecture , in general, is the description of a system architecture in a formal notation together with the tools that allow the automatic or semi-automatic generation of artifacts An Executable Architecture (EA), in general, is the description of a system architecture (including...

  • Meta-Object Facility
    Meta-Object Facility
    The Meta-Object Facility is an Object Management Group standard for model-driven engineering. The official reference page may be found at OMG's website.- Overview :...

  • Metamodeling
    Metamodeling
    Metamodeling, or meta-modeling in software engineering and systems engineering among other disciplines, is the analysis, construction and development of the frames, rules, constraints, models and theories applicable and useful for modeling a predefined class of problems...

  • Model-driven engineering
    Model-driven engineering
    Model-driven engineering is a software development methodology which focuses on creating and exploiting domain models , rather than on the computing concepts...

  • Model-driven integration
    Model-driven integration
    In software design, model-driven integration is a subset of model-driven architecture which focuses purely on solving Application Integration problems using executable Unified Modeling Language .-External links:...

  • Model Transformation Language
    Model Transformation Language
    A model transformation language in systems and software engineering is a language for model transformation.- Overview :The notion of model transformation is of central importance to information technology. A software system may be seen as a set of information transformations...

  • Modeling Maturity Levels
    Modeling Maturity Levels
    Modeling Maturity Levels is a classification system defined by Anneke Kleppe and Jos Warmer in their book MDA Explained Addison-Wesley. The levels characterize the role of modeling in a software project....

  • openCRX
  • Platform Independent Model
    Platform-independent model
    A Platform-Independent Model in software engineering is a model of a software system or business system, that is independent of the specific technological platform used to implement it...

  • Platform Specific Model
    Platform-specific model
    A platform-specific model is a model of a software or business system that is linked to a specific technological platform . Platform-specific models are indispensable for the actual implementation of a system.For example, a need to implement an online shop...

  • Software factory
    Software factory
    In software engineering and enterprise software architecture, a software factory is an organizational structure that specializes in producing computer software applications or software components according to specific, externally-defined end-user requirements through an assembly process...

  • Unified Modeling Language
    Unified Modeling Language
    Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

  • Universal Systems Language
    Universal Systems Language
    Unlike traditional languages, the Universal Systems Language is based on a preventative instead of a curative paradigm. Based on systems theory, to a great extent derived from lessons learned from the Apollo onboard flight software effort, USL has evolved over several decades and taken on multiple...

  • QVT
    QVT
    QVT is a standard set of languages for model transformation defined by the Object Management Group .- Overview :...

  • Web engineering
    Web engineering
    The World Wide Web has become a major delivery platform for a variety of complex and sophisticated enterprise applications in several domains. In addition to their inherent multifaceted functionality, these web applications exhibit complex behavior and place some unique demands on their usability,...

  • WebML
    WebML
    WebML is a visual notation for designing complex data-intensive Web applications. It provides graphical, yet formal, specifications, embodied in a complete design process, which can be assisted by visual design tools, like WebRatio.This method has five models: structure, derivation, composition,...

  • Witchcraftmda

Further reading

  • David S. Frankel. Model Driven Architecture: Applying MDA to Enterprise Computing. John Wiley & Sons, ISBN 0-471-31920-1
  • Meghan Kiffer The MDA Journal: Model Driven Architecture Straight From The Masters. ISBN 0-929652-25-8
  • Anneke Kleppe (2003). MDA Explained, The Model Driven Architecture: Practice and Promise. Addison-Wesley. ISBN 0-321-19442-X
  • Stephen J. Mellor
    Stephen J. Mellor
    Stephen J. Mellor is a computer scientist, developer of the Shlaer-Mellor method and signatory to the Agile Manifesto.Together with Sally Shlaer he founded Project Technology in 1985. That company was acquired by Mentor Graphics in 2004....

    (2004). MDA Distilled, Principles of Model Driven Architecture. Addison-Wesley Professional. ISBN 0-201-78891-8
  • Chris Raistrick. Model Driven Architecture With Executable UML. Cambridge University Press, ISBN 0-521-53771-1
  • Stanley J. Sewall. Executive Justification for MDA
  • Soylu A., De Causmaecker Patrick. Merging model driven and ontology driven system development approaches pervasive computing perspective, in Proc 24th Intl Symposium on Computer and Information Sciences. 2009, pp 730–735.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK