Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Overview  



1.1  Related standards  





1.2  Trademark  







2 Model Driven Architecture topics  



2.1  MDA approach  





2.2  MDA tools  





2.3  MDA concerns  







3 See also  





4 References  





5 Further reading  





6 External links  














Model-driven architecture






Català
Čeština
Deutsch
Español
فارسی
Français
Galego

Bahasa Indonesia
Italiano
Nederlands

Polski
Português
Русский
Tiếng Vit

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Model-driven architecture (MDA) is a software design approach for the development of software systems. 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, and supports model-driven engineering of software systems. It was launched by the Object Management Group (OMG) in 2001.[1]

Overview[edit]

Model Driven Architecture® (MDA®) "provides an approach for deriving value from models and architecture in support of the full life cycle of physical, organizational and I.T. systems". A model is a (representation of) an abstraction of a system. MDA® provides value by producing models at varying levels of abstraction, from a conceptual view down to the smallest implementation detail. OMG literature speaks of three such levels of abstraction, or architectural viewpoints: the Computation-independent Model (CIM), the Platform-independent model (PIM), and the Platform-specific model (PSM). The CIM describes a system conceptually, the PIM describes the computational aspects of a system without reference to the technologies that may be used to implement it, and the PSM provides the technical details necessary to implement the system. The OMG Guide notes, though, that these three architectural viewpoints are useful, but are just three of many possible viewpoints.[2]

The OMG organization provides specifications rather than implementations, often as answers to Requests for Proposals (RFPs). Implementations come from private companies or open source groups.

Related standards[edit]

The MDA model is related to multiple standards, including the Unified Modeling Language (UML), the Meta-Object Facility (MOF), XML Metadata Interchange (XMI), Enterprise Distributed Object Computing (EDOC), the Software Process Engineering Metamodel (SPEM), and the Common Warehouse Metamodel (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.[citation needed]

Executable UML was the UML profile used when MDA was born. Now, the OMG is promoting fUML, instead. (The action language for fUML is ALF.)

Trademark[edit]

The Object Management Group holds registered trademarks on the term Model Driven Architecture and its acronym MDA, as well as trademarks for terms such as: Model Based Application Development, Model Driven Application Development, Model Based Application Development, Model Based Programming, Model Driven Systems, and others.[3]

Model Driven Architecture topics[edit]

MDA approach[edit]

OMG focuses Model Driven Architecture® on forward engineering, i.e. producing code from abstract, human-elaborated modeling diagrams (e.g. class diagrams)[citation needed]. 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.[4] Knowledge Discovery Metamodel (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.).

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) 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 architectures.

Of particular importance to Model Driven Architecture is the notion of model transformation. A specific standard language for model transformation has been defined by OMG called QVT.

MDA tools[edit]

The OMG organization provides rough specifications rather than implementations, often as answers to Requests for Proposals (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.[5] 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 operation.

An MDA tool may be a tool used to check models for completeness, inconsistencies, or error and warning conditions.

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.

Implementations of the OMG specifications come from private companies or open source groups. One important source of implementations for OMG specifications is the Eclipse Foundation (EF). Many implementations of OMG modeling standards may be found in the Eclipse Modeling Framework (EMF) or Graphical Modeling 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 EMF 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:

MDA concerns[edit]

Some key concepts that underpin the MDA approach (launched in 2001) were first elucidated by the Shlaer-Mellor method during the late 1980s. Indeed, a key absent technical standard of the MDA approach (that of an action language syntax for Executable UML) has been bridged by some vendors by adapting the original Shlaer-Mellor Action Language (modified for UML)[citation needed]. 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",[6] and Forrester Research declaring MDA to be "D.O.A." in 2006.[7] Potential concerns that have been raised with the OMG MDA approach include:

See also[edit]

  • Automatic programming
  • Domain-driven design
  • Enterprise Resource Planning
  • Executable UML
  • Executable Architecture
  • Meta-Object Facility
  • Metamodeling
  • Model-driven engineering
  • Model-driven integration
  • Model-driven security
  • Model Driven Interoperability
  • Model-driven application
  • Model Transformation Language
  • Modeling Maturity Levels
  • Platform-independent model
  • Platform-specific model
  • Software factory
  • Unified Modeling Language
  • Universal Systems Language
  • QVT
  • Web engineering
  • WebML
  • Program Design Language
  • References[edit]

  • ^ "OMG MDA Guide rev. 2.0". OMG | Object Management Group. The Object Management Group. Retrieved 4 September 2021.
  • ^ "OMG Trademarks | Object Management Group".
  • ^ adm website http://adm.omg.org
  • ^ Bézivin, J; Gérard, S; Muller, P-A; Rioux, L (2003). "MDA components: Challenges and Opportunities" (PDF). In: Metamodelling for MDA. Archived from the original (PDF) on 2006-12-06.
  • ^ "Hype Cycle for Emerging Technologies, 2006" $495.00
  • ^ "MDA Is DOA, Partly Thanks To SOA" Archived 2007-10-13 at the Wayback Machine
  • ^ "UML - Unified or Universal Modeling Language? UML2, OCL, MOF, EDOC - The Emperor Has Too Many Clothes"
  • ^ "MDA: Nice Idea. Shame about the..."
  • ^ "Bringing MDA to Eclipse, using a pragmatic approach"
  • ^ "A Response to Forrester"
  • ^ "Are You Ready For the MDA?"
  • ^ "The Rise and Fall of CORBA" Archived 2008-12-02 at the Wayback Machine
  • ^ "Avoiding Another Green Elephant"
  • Further reading[edit]

    External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=Model-driven_architecture&oldid=1233111020"

    Categories: 
    Systems engineering
    Unified Modeling Language
    Software architecture
    Hidden categories: 
    Webarchive template wayback links
    Articles with short description
    Short description is different from Wikidata
    All articles with unsourced statements
    Articles with unsourced statements from September 2021
    Articles with unsourced statements from February 2007
    Articles with BNE identifiers
    Articles with GND identifiers
    Articles with J9U identifiers
    Articles with LCCN identifiers
     



    This page was last edited on 7 July 2024, at 09:36 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki