The new development imperative The need for greater flexibility in the development of enterprise-scale solutions OMG has created a conceptual framework to 口 separate business-oriented decisions from platform decision allow greater flexibility when architecting and evolving systems Conceptual framework is a set of key concepts and structures 口 Unified Modeling Language (UML) Meta-Object Facility (MOF) Common Warehouse Meta-model (CWM) 口 OMG calls this framework Model Driven Architecture Tian Zhang at Nanjing Univ
Tian Zhang at Nanjing Univ. 7 The new development imperative The need for greater flexibility in the development of enterprise-scale solutions OMG has created a conceptual framework to separate business-oriented decisions from platform decision allow greater flexibility when architecting and evolving systems Conceptual framework is a set of key concepts and structures Unified Modeling Language (UML) Meta-Object Facility (MOF) Common Warehouse Meta-model (CWM) … … OMG calls this framework Model Driven Architecture
Review current practice of modeling approach Code Roundtrip Code only Visualization. Engineering Model-centric Model only Model Model Model Model Code Code Code Code "What's a “The code is “Code and “The model is "Let's do Model?" the model" model coexist" the code”some design" Figure illustrates the spectrum of modeling approaches in use by software practitioners today. Tian Zhang at Nanjing Univ. 8
Tian Zhang at Nanjing Univ. 8 Review current practice of modeling approach Figure illustrates the spectrum of modeling approaches in use by software practitioners today
Code only approach Relying almost entirely on the code Using no separately defined models at all Expressing models of the system directly in 3rdGL within an IDE 3rdGL:Java,C++and C# IDE:Rational Software Architect and Microsoft Visual Studio Difficulties hard to understand the key characteristics of the system hard to manage the evolution of these solutions as their scale and complexity increases the system evolves over time the original members of the team leave Tian Zhang at Nanjing Univ
Tian Zhang at Nanjing Univ. 9 Code only approach Relying almost entirely on the code Using no separately defined models at all Expressing models of the system directly in 3rdGL within an IDE 3rdGL: Java, C++ and C# IDE: Rational Software Architect and Microsoft Visual Studio Difficulties hard to understand the key characteristics of the system hard to manage the evolution of these solutions as – their scale and complexity increases – the system evolves over time – the original members of the team leave
Code visualization approach Visualizing the code through some graphical notation It's possible to manipulate graphical notations as an alternative to editing source code visual rendering becomes a direct representation of the source code such rendering is sometimes called a code model,or an implementation model,or a diagram "model"is reserved for higher level abstraction ■Limitations the diagrams are tightly coupled representations of the code the abstraction of diagrams are at the code level Tian Zhang at Nanjing Univ. 10
Tian Zhang at Nanjing Univ. 10 Code visualization approach Visualizing the code through some graphical notation It’s possible to manipulate graphical notations as an alternative to editing source code visual rendering becomes a direct representation of the source code such rendering is sometimes called a code model, or an implementation model, or a diagram “model” is reserved for higher level abstraction Limitations the diagrams are tightly coupled representations of the code the abstraction of diagrams are at the code level
Roundtrip engineering (RTE)approach RTE is between the abstract models and the code an abstract model of the system describing the system architecture of design For instance design team works on the high level provides design models implementation team converts them into code implementation Limitations typically the tools generate code stubs only ▣ errors and their corrections are made in the both levels changes made to the code must be reconciled with the original models (hence the term "roundtrip engineering") Tian Zhang at Nanjing Univ. 11
Tian Zhang at Nanjing Univ. 11 Roundtrip engineering (RTE) approach RTE is between the abstract models and the code an abstract model of the system describing the system architecture of design For instance design team works on the high level provides design models implementation team converts them into code implementation Limitations typically the tools generate code stubs only errors and their corrections are made in the both levels changes made to the code must be reconciled with the original models (hence the term “roundtrip engineering”)