Modeling has been used for many years as a means of describing the information systems in the phases of analyzing and designing. It didn't play a very important role in system implementation. Some of the reasons include:

1. The big gap between the models, which are at a very high abstraction level, and the final codes
2. The lack of a framework to support different domain modeling languages, which makes building the domain-specific modeling tools very expensive

We are now moving to a higher abstraction level of software system development. Models will take the place of programs as the most important artifacts in the developing process. What makes it possible?

1. The researches in meta-modeling provide the basis for describing domain-specific modeling languages and building domain-specific modeling environments
2. The researches in model transformations provide a possible way to strictly define the semantics of the models and to implement the syntax to semantics mapping
3. The widely accepted modeling standards like UML, MOF, XMI, etc.

Some of the most important initiations include:
Model-driven Architecture(MDA)
Model-driven software development(MDSD)
Domain-specific Modeling(DSM)

The two most important technology issues behind these buzzwords are
1. The meta-modeling framework which defines the valid concepts and rules for constructing models
2. The model transformation mechanism which implement the system by refining the models step by step

Here's the report on my reading course ( Meta Modeling and Model Transformation -- the two pivots of Model Driven Architecture.)

In MDSD, as systems evolve, models, meta-models will also need to be modified. Some concepts in traditional software engineering need to be introduced to MDSD. Here's (a list of some related topics and some research papers on them.)

Maintained by He Wei. Last Modified: 2008/09/10 00:03:05.