Model Driven Architecture principles and practice Report about paper "Model driven architecture:Principles and practice"by Alan Brown E-Commer CORBA Reporter:Tian Zhang 0M Model Driven Architecture Nanjing University
Model Driven Architecture : principles and practice Report about paper “Model driven architecture: Principles and practice” by Alan Brown Reporter: Tian Zhang Nanjing University
About the paper and journal Software and System Modeling (SoSyM) Springer Berlin Heidelberg quarterly international journal ▣emphasis on: - theoretical foundations of modeling languages and techniques - rigorous analyses of"real-world"modeling experiences Model driven architecture:Principles and practice Published online:3 August 2004-Springer-Verlag 2004 14 pages,2 parts,6 sections Tian Zhang at Nanjing Univ. 2
Tian Zhang at Nanjing Univ. 2 About the paper and journal Software and System Modeling (SoSyM) Springer Berlin Heidelberg quarterly international journal emphasis on : – theoretical foundations of modeling languages and techniques – rigorous analyses of "real-world" modeling experiences Model driven architecture: Principles and practice Published online: 3 August 2004 - Springer-Verlag 2004 14 pages, 2 parts, 6 sections
Software difficulties Difficulties: understanding highly complex business domains large teams of engineers over multiple phases of a project spanning many months time-to-market pressures complicated assortment of infrastructure technologies variety of middleware acquired from many vendors There are two important ideas: Service-Oriented Architectures Software Product Lines Tian Zhang at Nanjing Univ
Tian Zhang at Nanjing Univ. 4 Software difficulties Difficulties: understanding highly complex business domains large teams of engineers over multiple phases of a project spanning many months time-to-market pressures complicated assortment of infrastructure technologies variety of middleware acquired from many vendors … … There are two important ideas: Service-Oriented Architectures Software Product Lines
Service oriented architectures Informal definition viewing enterprise solutions as federations of services connected via well-specified contracts that define their service interfaces Most notable example Web Services-when the services are distributed across multiple machines and connected by the Internet. Tian Zhang at Nanjing Univ. 5
Tian Zhang at Nanjing Univ. 5 Service oriented architectures Informal definition viewing enterprise solutions as federations of services connected via well-specified contracts that define their service interfaces Most notable example Web Services – when the services are distributed across multiple machines and connected by the Internet
Software product lines Informal definition referring to engineering techniques for creating a collection of similar software systems from a shared set of software assets using a common means of production ■More generally the underpinning of any product line approach can be viewed as a way to transform descriptions of a solution at one level of abstraction into descriptions at a lower level of abstraction by applying well-defined patterns. Tian Zhang at Nanjing Univ
Tian Zhang at Nanjing Univ. 6 Software product lines Informal definition referring to engineering techniques for creating a collection of similar software systems from a shared set of software assets using a common means of production More generally the underpinning of any product line approach can be viewed as a way to transform descriptions of a solution at one level of abstraction into descriptions at a lower level of abstraction by applying well-defined patterns
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”)