you're reading...
App & Architecture

Model-Driven Applications vs. Model-Driven Engineering

It has been presented that model-driven engineering (MDE) or model-driven software development (MDSD) and model-driven applications (MDApp) [1] are indeed based one same fundamental, that is, the model-driven mechanism (MDM). See Figure 1, the left half, the four blue boxes and the relationships is adopted from Bézivin (2004) [2], which is the most common illustration to MDE and can be seen in many documents of MDE / MDSD. On which, we add the orange boxes to show that how the four parts in MDE / MDSD to be working together according to the principles of MDM. It seems this is not yet clearly appeared in literature although, of course, that is merely a re-interpretation to the existing truth in MDE–and this becomes one of many evidences to the universality of MDM.


In Figure 2, the box of Code Generator or Programmer is bypassed, and add the rest parts of a complete MDApp: the green boxes and the relationships. Figure 2 thereby shows the relationship between MDE / MDSD and MDApps.


It can be seen that, a MDM structure appears again–as the core of an MDApp. the modeling of applied model and the modeling of system model are the two completely independent different jobs, they are certainly separated into the two side of the gap (see here) and, can and should be done by different people independently; this also separates the developer (such as the programmer shown in Figure 1) and the (description of) target thing (e.g. the applying business); what holding them to be relevant is the modeling knowledge (Metamodela). The concerns of business by user and of system implementation by programmer / designer, are therefore completely separated, as well as between the modeling knowledge and applied model (this is very significant).

As shown in Figure 2 the target thing is certainly a part of so-called application, and how it to be handled (to be related with the system / software) is based on (via) the applied model. Obviously, the software (platform) of an MDApp can be developed by MDSD or some approaches else; it is quite different work to design and implement an MDApp and a traditional application system. The first, and most important task to development of an MDApp is specify and formulate the modeling knowledge (Metamodela) for the applied model of the target thing (e.g., so-called business domain), this is quite different to the domain modeling or requirements modeling / specifying in traditional application development.

Note that, the meta-metamodel(s) for Metamodels and Metamodela is not always necessary; it is also not necessary to be in common, though that is interesting.

[1] Yu, Tong-Ying. “Model-Driven Applications: Using Model-Driven Mechanism to Bridge the Gap between Business and IT.” In Advances and Applications in Model-Driven Software Engineering. Díaz, V.G. et al. eds. IGI Global, August 2013 (in press, see Recent Work on Model-Driven Applications (MDApp). Note that the title of book be changed by publisher, the original title is “Progressions and Innovations in Model-Driven Software Engineering.” Updated on 13 Mar)

[2] Bézivin, Jean. “In search of a basic principle for model driven engineering.” Novatica Journal, Special Issue 5.2 (2004): 21-24. (a brief introduction with some illustrations, see What is MDE?)

Update. In both Figure 1 and 2, on the relationship from System (/ Operational Device) to System Model, the label was wrong as “conforms-to”, and now it is corrected to “represented-by”. That is the same with the relationship from Target Thing to Applied Model. (Sorry to readers before! March 9 am.)

About TY

interested in models & modeling, software, information systems, applications & engineering for enterprises



  1. Pingback: What Is Model-Driven Application | THINK IN MODELS - April 8, 2013

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s



Subscribe notifications of new posts by email.

Join 60 other followers

%d bloggers like this: