Model Driven Engineering
来源:互联网 发布:报价软件手机版 编辑:程序博客网 时间:2024/05/22 21:47
This article is my summarize after reading "Adaptability of Model Driven Transformations" written by Ivan Kurtev Ivanov from Universiteit Twente. I'll keep updating it when I find some flaws.
As we have witnessed today, new technologies appear constantly. Some software companies have to adapt the lastest technology to their products even though the functions remain the same. The evolutions sometimes are expensive or even impossible because of crappy designing. For solving this problem, OMG proposed the concept Model Driven Engineering(MDE).
In MDE, everything is model, e.g. document, designing, implemeting code. In the process of development, different models appears in different stages like requirment analysis, architecture designing, implementing. These models are different but they are modeling the same thing. So how to transform from one model to another one, for example from UML diagrams to JAVA classes, is one the main problem mentioned in the paper.
OMG proposed two models in MDE which are Platform Independent Model(PIM) and Platform Specified Model(PSM). PIM is a generalization of PSM because different platforms or technologies ported in PIM will lead diffent PSM. By this way, we solved the problem of portablility and reusability.
Then what is model? Model could be a snapshot of simplification of reality. In civil engineering, engineers always build a simple model in either concrete way or digital way. Model could be an aspect of an object. Different people view an object in different ways and each view could be a model. Then model should be built for a certain purpose. A model without purpose is useless. At last, the paper gives the definition of model ---- A model represent the part of reality which is called object system and expressed in modeling language. A model provides knowledges for some certain purpose that can be interpreted in terms of object system.
If we view the model as an object system, then what is the model of model? The anserw is meta-model. Then again we have meta-meta-model. For example, a TV is an object exist in reality. We model it by using jave classes then we call the collection of these java classes is model of TV. JAVA classes are not based on nothing. Just think about why they are called JAVA classes but not C++ classes. Because they follow some rules define by JAVA language. So JAVA language is the meta-model in this example and the model of JAVA classes. By definition, meta-model is the model of modeling language. In the same way, Java is a instance of EBNF. This is three layers architectures in MDE, model, meta-model and meta-meta-model. Another example could be XML, XML schema and Meta Object Facility(MOF). The picture below may make you feel clearer about layers in MDE.
About the notions of intension and extention. In book "Design Methods for Reactive Systems: Yourdon, Statemate, and the UML" written by
[continue...]
- Model Driven Engineering
- Model-Driven
- Model Driven
- Property-Driven和Model-Driven
- Model-Driven Software Development
- Model Driven Architecture
- Model Driven Architecture
- Struts2 Model-Driven
- Agile Model Driven Development (AMDD)
- event driven gui programming model
- webwork的property-driven 和model-driven的理解。
- Model-Driven Design Using Business Patterns
- Model-Driven Software Development: Integrating Quality Assurance
- Model Driven Architecture 模型驱动架构
- Introduction to Model Driven Development with AndroMDA
- MDD Model-Driven Developement 模型驱动开发
- MDA Model Driven Architecture 模式驱动开发
- Struts Model-Driver and Field-Driven
- Building an Effective Information Security Policy Architecture
- SeralversionUID
- struts-config.xml模板
- c++ 程序设计实践指导1.2
- 我今天在论坛解决的问题
- Model Driven Engineering
- Optimal Portfolio Modeling, CD-ROM includes Models Using Excel and R: Models to Maximize Returns and
- Date对日期的处理
- Optical Switching Networks
- 运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://servername/W3SVC)的读访问权
- CSS技巧:改变选择网页文字的背景色
- Aided Navigation: GPS with High Rate Sensors
- Connections: Patterns of Discovery
- vbScript中WScript.Shell对象的run和exec使用心得