Raise your level of abstraction
In the beginning , I chose the word group "model-driven", which inspired by the concept of “parameter-driven” and “table-driven” in software development. Some the properties would be stored in a parameter-table that can be modified at almost any time, which will be accessed and interpreted at run-time or load-time, and thereby, be able to meet some the specific requirements of the end customers.
Relative to the enterprise and business which dynamically changing, "parameters" only reflects a small amount of the specific requirements; more parameters arranged into some tables, may be regarded as an incomplete model, which can be adapt to a certain unique aspects of particular customer. To go further in the situation above, a model is a more completed description of certain aspects of customer (e.g. the business process), which can makes the software to reflect more the specific requirements of the customer through dynamically access as well as parameter-table.
I have also hesitated to the use of the word group “model-driven”, and have considered such as model-based, model-centric, model-oriented, and so on. A reason that makes me hesitate is the meaning which “to make somebody move”, but a model itself seemingly is not an initiative or active role.
After all, I adhere to the use of “model-driven” is based on the following reasons:
The First, the primary usage as ‘drives a vehicle’, which has similar issue. To be driven by some one, in fact, only makes the behavior of a car in control, but the role made the car moving is played by engine. I found that a model can control a system (the functionality, behavior, maybe partially) in a similar way; I called as model-driven mechanism.
The Second, I understand that an animal as an independent system, which is driven by its own brain – the content of brain, the essence, is model I think. A brain (with the “peripheral equipment”) is an advanced form of information system which is model-driven.
The Third, the rise of MDA... I found that the model-driven mechanism actually the elemental of MDA. In other words, the use of this word group is consistent. (This is not a literal understanding, and then I will further explain it.)
In conclusion, my understanding of model-driven is derived from “change on demand” for applications, which I regarded it as an essential requirement that come from the end customers of enterprise applications.
The reason that I boldly told the story because the thought is different with the mainstream thinking that represented by such MDA/MDD but has also certain intrinsic association. (And some discussion about model transformation and interpretation recently seen.) The consequences of this difference may be important and rich. I believe that, it is another significant way to take software or applications into the magical world of models, especially, it is perhaps necessary to the implementation of ideal enterprise applications which desired by end-users.
 I got these exciting ideas in 1998, and then written the "The IT Enterprise Applications towards 21st Century"(in Chinese) posted in my blog (now, the EE-Forum.org). There are some development teams relatively faithfully implemented the idea and made a commercial success.
Add a Comment