»
you're reading...
App & Architecture, Fundamentals

Using Model Driven Mechanism to Explain Model Driven Software Development

In the beginning, the model driven mechanism is a group of principles we summed up in the design of software. Then found that it was a structural fundamental appeared in a wide range of systems, as well as to MDE/MDSD.

In the “Presentation on Model-Driven Mechanism in Information Systems and Enterprise Engineering“, mentioned that “MDM is the common fundament for both MDS and MDA/MDD.” Yet, presented a illustration for “A demand-driven architectural framework for development of ISs, based on MDM” and pointed out “this is also an explanation about the system of model driven development.”(P16)

The Figure 1 is a simplified graph for MDM, may be called as the triangle of MDM. Note that, for the relationship between the applied models and the operational device, from a black-box perspective (i.e. the whole of the system), we can dynamically change some functions or behaviors (output) through changing the models, this is why called it model-driven; from a white-box perspective (i.e. inside of the system), the device reads and uses the data of the models according to the modeling knowledge to make of its functions and behaviors. (It has used executing but it may be referred to some special meanings in the context.)

MDM in traditional software development system

f2-mdm-traditional-sd

In a traditional software development system (organization), the programmers reading and understanding the design documents according to some specifications for them. In fact, there are much knowledge for understanding / using the documents correctly, from languages, glossaries to rules, habits and so on. You can give the different models (the documents) according to the knowledge the programmers known, then they will produce the code expected.

MDM in a model driven software development system using a model-transformation approach

f3-mdm-code-gen

In a model driven software development system, for example, by a model-transformation approach, the applied model will be of the target application system in such as UML at the level 1 of the metamodeling layers of MDA. The modeling knowledge will be the metamodels to the level 2, including the transforming rules (model) as well. A code-generator as the operational device in MDM will reads / uses the models of the target than produces the code. You can give it different models to get different expected code of the target system, as long as in compliance with the metamodels.

A model driven enterprise application framework based on MDM

Of course, these may merely be the common sense in the field of MDE, but they are good examples to prove the universality of MDM, at least. One of our focus for MDM is the Model Driven Systems (MDS), which has the characteristics to dynamically changing its functions or behaviors through change the applied models at runtime. For example, see the Figure 4.

f4-mdea-mdm

From a programmer’s perspective, a huge difference between a traditional application and the model driven application is, the enterprise / business models (such as a data structure of a purchase order) will be hard-coded in software for the former, and for the latter, it will be only hard-coded some rules / specifications (the metamodel) to define an order, so, the users will be able to change such the order format (or define a new form) when running the application system.

Finally, we can see, MDSD and MDS are the different things on the same principle, that is, the model driven mechanism (MDM). They are not contradictory. One can use the MDSD approach to develop a MDS as well.

About TY

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

Discussion

3 thoughts on “Using Model Driven Mechanism to Explain Model Driven Software Development

  1. Hello, i think that i saw you visited my site thus i came
    to “return the favor”.I am trying to find things to enhance my website!I suppose its ok to
    use a few of your ideas!!

    Posted by carpet cleaning surrey | May 1, 2014, 09:24
  2. Great post. I was checking continuously this blog and I am impressed!
    Very useful information particularly the last part :
    ) I care for such info a lot. I was seeking this certain information for a very long time.
    Thank you and best of luck.

    Posted by neck spine pain | August 1, 2014, 05:37

Trackbacks/Pingbacks

  1. Pingback: Model-Driven Mechanism and Model-Driven Systems | THINK IN MODELS - March 2, 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

Categories

Archives

Subscribe notifications of new posts by email.

Join 62 other followers

%d bloggers like this: