I spoke to IBM Daniel a few days ago.
What is MDA?And record it.
* Key standards that make up the MDA-OMG suite of standards include uniied Modeling Language (UML); Meta-Object Facility (MOF); XML meta-data interchange (XMI ); and common warehouse meta-model (CWM ).
The most authentic definition of MDA is, of course, from www.omg.org/mda.
It is said that MDA is an open and neutral development method to cope with changes in business and technology.
Then the purpose of MDA is to separate the business/program logic from the underlying platform technology to protect the interests of software development investors.
But how can we achieve this? In fact, it is clear enough that it is based on various standards provided by OMG. These core standards include UML, MOF, XMI, and CWM (in fact, a very important standard qvt should be included, and qvt is being developed ).
The definition of MDA mentioned in many other places, including the definition of it as a methodology or something. Many of them refer to the purpose of MDA, including:
The objective of MDA is to make the model executable.
MDA is the core component of model development.
......
These are all true.
IMHO, I think the definition of MDA, or model driven, can be divided into two types:
1)Model-driven in a broad sense:
For the purpose, all work on automatic model generation code, model executable, and model-centric development can be said to be model-driven.
In this definition, Microsoft's vsts is model-driven, regardless of whether it supports the UML standard or in what form to support the OMG standard. Domestic kcom (http://www.kcomsoft.com) is also model-driven ......
2)Narrow model-driven:
From the perspective of implementation methods, model-driven in the narrow sense refers to the work done based on the series of standards set by OMG. Here, there are two core concepts: Four-layered model architecture and MOF. The layer-4 model structure uses MOF as the basis to manage various meta-models and models in a consistent manner, and provides various model operation standards for these meta-models and models: such as XMI, jmi, and qvt. According to the standardized standards, there are specialized vendors or open-source organizations to develop these Standard execution engines. In this way, you can directly use these engines in the areas where model storage, data exchange, and model conversion are required during the development of the MDA application, rather than using the big package on your own. This is actually the benefit of standardization, but also the work of a Standardization Organization such as OMG.
In this sense, I believe that MDA includes the unified management of the model and metadata of OMG Based on MOF, as well as the various model operation standards provided.
There are also many MDA tools and applications under this definition, such as GMT in eclipse and optimalj ......, Http://www.modelbased.net/the Number of columns is small.
According to this narrow definition, the MDA does not have to be used for the purposes described above, such as model executable. It can also be used in other fields and other purposes.
As mentioned above, the MDA brought about by standardization brings many benefits to model operations. Many applications involving model operations can benefit a lot from this. For example, the application of MDA in the MIC (model integrated computing) and MDA in the process modeling field (Professor Jean from the French University of nante has several papers. So these are not considered MDA? Smile ......
In fact, the dispute over concepts does not make much sense. The key is to create more ideas and deepen understanding from these identifiers.
If you have different opinions on me, please feel free to discuss with me: yuandafeng at gmail.com.
PS: I wrote a summary of model-driven architecture MDA, which is only half done. For details, see "Summary of model-driven architecture MDA", section 32nd of "non-programmers", www.umlchina.com ".