Enterprise Engineering Forum

Categorized as: 系统架构   Tagged as: ,, , ,

MDApps vs. MDA and OO: from an Architectural Perspective

Author: Tong-Ying Yu,  Source: EE-Forum.org,  Published: 2013-03-06

Excerpt: A concise comparison on the definition of architecture by ISO/IEC 42010, for OO, MDA, and MDApps as an architecture.

To introduce the idea of model-driven applications (MDApps) [1], in the context of software development and application, it is necessary to clarify its relationship with model-driven architecture (MDA). In Model-Driven: An Essential Requirement Come from Customers, described why the term “model-driven” was chosen for our conception in origin, that was before the rising of OMG’s MDA and the use was essentially consistent to MDA; this has been further illustrated in Using Model Driven Mechanism to Explain Model Driven Software Development, where shows that the MDA / MDD is indeed based on Model-Driven Mechanism (MDM). As a preparation for this discussion, an general understanding for architecture presents in the latest post–based on it carefully, here is a concise comparison and a bit analysis to MDApps and MDA, also with OO.

Table: A comparison for MDA, OO, and MDApps as an architecture, on the definition by ISO/IEC 42010

ISO/IEC 42010:2007 OO MDA MDApps as Architecture
What The fundamental organization of a system Using class/object to organize software Using MDM to organize software development Using MDM to organize software application
embodied in its components, their relationships to each other and the environment Classes/objects, messages, encapsulation, inheritance,.. Models, metamodels, in metamodeling hierarchy Applied models, modeling knowledge (metamodels), operational device, which are related in an MDM structure
How the principles governing its design and evolution OOA/OOD, e.g. RUP – Using models to direct the course of understanding, design, construction, deployment, operation, maintenance and modification. [2] – Programming for the applied models according to the modeling knowledge;
– Evolution on the app model according to the modeling knowledge;
– Keep the device according to / supporting the modeling knowledge

As mentioned in Understanding Architecture, to compare some architectures, we should first identify what the (class of) systems, the target of architecture, they are for. In the table, shows three typical target systems: software by OO, development (systems or organizations) by MDA, and applications by MDApps.

Don’t know if this will cause some controversy, IMHO, MDA is in fact not an architecture for software system but for software development system. Objectively, it appears in fact to be a complementary to OO architecture, though the model-driven approach is not only to be used for OO. MDA + OO may be regarded as a complete architecture for software but that is somewhat weak: in principle, there is no inevitable, certain relationship between the model-driven approach specified by MDA and the software organized in OO style.

Although I prefer take the term model-driven application to refer to a type of a systems, the ideas about MDApps are certainly presented as a rich architecture. It firstly specifies the core structure for its target systems: the MDM structure; this structure brings the significant unique characteristics what appeared in the functionality of the target systems: it will be capable to adapt to the changes of the applying objects (business, etc.) based on evolving the applied models without change the software (platform). Furthermore, for an MDApp, its development, deployment, government, as well as the division of the roles who involved in the whole life cycle, are all different to a traditional software application. The ideas of MDApps are therefore presented as a strong architecture.


[1] A regular publication about MDApp is in press, see Recent Work on Model-Driven Applications (MDApp). I will introduce such ideas on this blog continuously, and some more information on EE-Forum.org in Chinese.

[2] Cite from  MDA Guide Version 1.0.1, Sec. 2.2.3, OMG, March 06, 2001


Creative Commons License
MDApps vs. MDA and OO: from an Architectural Perspective by Tong-Ying Yu is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.

Cite Style

GB7714 style: Tong-Ying Yu. MDApps vs. MDA and OO: from an Architectural Perspective[EB/OL]. EE-Forum.org, http://www.ee-forum.org/wp/pub/ty/2013-03-p3519.html, 2013-03-06[2017-12-11 10:12]

Chicago style: Tong-Ying Yu, "MDApps vs. MDA and OO: from an Architectural Perspective", EE-Forum.org, http://www.ee-forum.org/wp/pub/ty/2013-03-p3519.html(accessed 2017-12-11 10:12)

Posted by   2013-03-06(Original)   Hits 4772   Modified 2013-03-16
Prev Post: 
Next Post: 

Related Entries:

What Is Model-Driven Application
Situation for Discussions about MDApps
On Models and Domains for Model Driven Applications
An FMC Block Diagram Model of MDApp
What Can Be Done Is What Can Be Modeled

Leave a Response

You must be logged in to post a comment.