Definition of RTE from some papers Definition 1(Simple definition of Round-trip Engineering) Let D be the design of the product P,let r be a reverse engineering procedure such that r(P)=D and let g be a product generation procedure such that g(D)=P.Iff g(r(P))P(and thus r(g(D))D)then hg,ri is a round-trip engineering system. [A Definition of Round-trip Engineering,2004 Definition 2(informal definition) the seamless integration between design diagrams and source code,between modeling and implementation. generating code from a design diagram,changing that code in a separate development environment and recreating the adapted design diagram back from the source code. [UML Shortcomings for Coping with Round-trip Engineering,1999 Tian Zhang at Nanjing Univ. 12
Tian Zhang at Nanjing Univ. 12 Definition of RTE from some papers Definition 1 (Simple definition of Round-trip Engineering) Let D be the design of the product P, let r be a reverse engineering procedure such that r(P) = D and let g be a product generation procedure such that g(D) = P. Iff g(r(P)) P (and thus r(g(D)) D) then hg, ri is a round-trip engineering system. [A Definition of Round-trip Engineering, 2004 ] Definition 2 (informal definition) the seamless integration between design diagrams and source code, between modeling and implementation. generating code from a design diagram, changing that code in a separate development environment and recreating the adapted design diagram back from the source code. [UML Shortcomings for Coping with Round-trip Engineering, 1999 ]
关于文中Roundtrip Engineeringl的理解 Alan Brown的定义和其他人的定义有些不同 o Alan没有强调model和code间的无缝衔接; 口Alan认为工具还只能简化model->code的转换,生成code stubs; ▣Alan在文中强调的是design models.和implementation的分离; 口事实上AIan也并没有针对不同分类给出严格定义; Alan只是认同roundtrip engineering包含了forward.和reverse两个 过程; ■ 可以看出Alan在文中介绍的建模分类情况应该是一种工业界现 有的实际情况,而不是学术研究层面的术语 Tian Zhang at Nanjing Univ. 13
Tian Zhang at Nanjing Univ. 13 关于文中Roundtrip Engineering的理解 Alan Brown的定义和其他人的定义有些不同 Alan没有强调model和code间的无缝衔接; Alan认为工具还只能简化model->code的转换,生成code stubs; Alan在文中强调的是design models和implementation的分离; 事实上Alan也并没有针对不同分类给出严格定义; Alan只是认同roundtrip engineering包含了forward和reverse两个 过程; 可以看出Alan在文中介绍的建模分类情况应该是一种工业界现 有的实际情况,而不是学术研究层面的术语
Model-centric approach In this approach,models are established in sufficient detail that the full implementation of the system can be generated from the models themselves. To achieve this,the models may include representations of the persistent and non-persistent data business logic presentation elements interfaces to data and services Typically requires standard or proprietary application frameworks runtime services tools supporting generation of particular styles of applications Tian Zhang at Nanjing Univ. 14
Tian Zhang at Nanjing Univ. 14 Model-centric approach In this approach, models are established in sufficient detail that the full implementation of the system can be generated from the models themselves. To achieve this, the models may include representations of the persistent and non-persistent data business logic presentation elements interfaces to data and services Typically requires standard or proprietary application frameworks runtime services tools supporting generation of particular styles of applications
Model only approach Developers use models purely as thought aids in understanding the business or solution domain o i for analyzing the architecture of a proposed solution for discussion,communication and analysis among teams in proposals for new work for establishing a shared vocabulary and set of concepts Implementation may be practically disconnected from models Example:to outsource implementation and maintenance of the system while maintaining control of the overall architecture Tian Zhang at Nanjing Univ. 15
Tian Zhang at Nanjing Univ. 15 Model only approach Developers use models purely as thought aids in understanding the business or solution domain for analyzing the architecture of a proposed solution for discussion, communication and analysis among teams in proposals for new work for establishing a shared vocabulary and set of concepts Implementation may be practically disconnected from models Example: to outsource implementation and maintenance of the system while maintaining control of the overall architecture
From models to MDA Interesting questions Which of these approaches can we describe as "model-driven"? If I create a visualization of some part of a system,does that mean I am practicing MDA? ■Answer Unfortunately,there is no definitive answer. ■ AIan的这篇文章是在2004年8月发表的,在同年8月OMG的 ORMSC(Object and Reference Model Subcommittee)全体代 表大会上给出了MDA的原则性定义。 口MDA Guide v1.0.1中没有给出MDA的明确定义; OMG站点上也没有以Specification的形式给出MDA的定义; 也许这就是本文名为“principles and practice”的原因。 Tian Zhang at Nanjing Univ. 16
Tian Zhang at Nanjing Univ. 16 From models to MDA Interesting questions Which of these approaches can we describe as “model-driven”? If I create a visualization of some part of a system, does that mean I am practicing MDA? Answer Unfortunately, there is no definitive answer. Alan的这篇文章是在2004年8月发表的,在同年8月OMG的 ORMSC (Object and Reference Model Subcommittee)全体代 表大会上给出了MDA的原则性定义。 MDA Guide v1.0.1中没有给出MDA的明确定义; OMG站点上也没有以Specification的形式给出MDA的定义; 也许这就是本文名为“principles and practice”的原因