Download presentation
Presentation is loading. Please wait.
1
OMG’s Model Driven Architecture
Davide Buscaldi D.I.S.I.
2
Summary 1. Introduction 2. MDA Overview 3. Developing in MDA
4. MDA in the Practice 5. References
3
1. Introduction
4
A heterogeneous world…
Programming languages: (see also: the DoD survey) ~3 million COBOL Programmers ~1.6 million VB Programmers ~1.1 million C/C++ Programmers Operating systems: Unix, MacOS, Windows(3.1->XP),PalmOS Embedded devices Networks: Ethernet, IP, USB, FireWire Bluetooth, b, HomeRF Survey: indagine, studio
5
Where can we agree? Hetereogenity hinders the development of enterprise distributed systems There will not be consensus on Hardware Operating systems Network protocols Programming languages We can agree at an higher level Middleware
6
Middleware A software layer that masks hetereogeneity
Placed between operating systems and application components
7
Middleware proliferation
Middleware itself has proliferated: CORBA COM / DCOM / MTS Java / EJB XML / SOAP C# / .NET None of them prevails over the others The problem remains
8
The Object Management Group (OMG)
An open membership and no-profit consortium Produces and mantains computer industry specifications for interoperable enterprise applications Who are OMG?
9
OMG’s Milestones 1989 1991 1996 MDA 1997 2001 OMG is founded CORBA 2.0
CORBA 1.0, IDL MDA 1997 UML, MOF, XMI, CWM 2001
10
2. MDA Overview
11
What is the MDA? An approach to IT system specification that separates the specification of system functionality from the specification of the implementation of that functionality on a particular technology platform “Design once, build it on any platform” Java’s mantra: “write once, run anywhere”
12
Basic concepts of MDA A model is a formal specification of the function, structure and/or behaviour of a system Examples: Source code is a model An UML-based specification is a model Models of different systems are structured explicitly into: Platform Independent Models (PIM) Platform Specific Models (PSM) Spiegare meglio
13
Platform Independent Model (PIM)
A “formal” specification of the structure and function of a system that abstracts away technical detail Expressed using UML Realizzazione di un modello concettuale del sistema completamente indipendente dalla piattaforma
14
PIM: an example
15
Platform Specific Model (PSM)
Specifies how the functionality specified in a PIM is realized on a particular platform Expressed using UML extended with platform specific UML profiles Platform themselves also have a specification and an implementation PSM is expressed in terms of the specification model of the target platform Since UML is independent of middleware technologies, it is not obvious to the casual observer how to harness this power to express a PSM
16
PSM: an example
17
MDA metamodel UML PIM MOF PSM Metamodel PIM Mapping techniques
Infrastructure <<depends on>> <<independant of>> PIM Mapping techniques <<based on>> 1..n UML Mapping from PIM to PIM 1..n <<expressed with>> PIM <<described with>> 1..n Metamodel MOF <<expressed with>> <<expressed with>> <<described with>> 1..n Mapping from PIM to PSM 1..n Refactoring from PSM to PIM <<based on>> 1..n Other languages PSM PSM Mapping techniques Mapping from PSM to PSM 1..n
18
MDA in a Snapshot Vertical Domains Core Technologies
Snapshot or Overview? Ci dà un’idea di come i vari standard si inseriscono insieme Pervasive Services Core Target Platforms
19
3. Developing in MDA
20
System Development Lifecycle and the MDA approach
PIM to PIM mappings PSM to PSM mappings UML MOF CWM 1 - UML MOF CWM used to describe PIMs 2 - PIM can be refined n-times with PIM to PIM mappings 3 - Time PIM to PSM mappings (projection on a specific platform)
21
Developing in MDA – Step 1: the PIM (1/2)
All MDA development projects start with the creation of a PIM PIM at this level represents business functionality and behaviour, undistorted by technology details MDA application-modeling tools contain representations of Pervasive Services and Domain Facilities allowing them to be used and/or incorporated in the application via a menu selection PIM is built by business and modeling experts working together
22
Developing in MDA – Step 1: the PIM (2/2)
Pervasive Services Model PIM Calls Domain Facilities Model Calls
23
Developing in MDA – Step 2: the PSM (1/2)
Once the first iteration is complete, the PIM is input to the mapping step which will produce a PSM Code is partially automatic and partially hand-written PIM can be mapped either to a single platform or to multiple platforms
24
Developing in MDA – Step 2: the PSM (2/2)
PIM Maps to Maps to Maps to CORBA Model Java/EJB Model … Other Model
25
Developing in MDA – Step 3: Generating Application (1/2)
An MDA tool generates all or most of the implementation code for the deployment technology selected by the developer Re-integration on new platforms can be done by reverse engineering the existing application into a model and redeploy
26
Developing in MDA – Step 3: Generating Application (2/2)
PIM Maps to Maps to Maps to CORBA Model Java/EJB Model … Other Model Maps to Maps to Maps to … CORBA Java/EJB Other
27
4. MDA in the Practice
28
MDA Adoption Status Adoption of MDA is at an early stage
UML profiles underway: CORBA (adopted) EJB (adopted) SOAP/XML (in process) .NET (to be started) UML 2.0 in process Verificare e mettere date
29
Future Trends “A market for MDA will be created as OO modeling and development tool vendors incorporate MDA into their offerings” “It will be two or three years before mature MDA tools emerge” “This is the most exciting enterprise software initiative I’ve seen since UML” (Paul Harmon, Senior consultant and Market Analyst, CUTTER consortium, 2001)
30
Early Adopters Interactive Objects Software GmbH Kennedy Carter Kabira
ArcStyler Kennedy Carter iUML, iCCG Kabira Adaptive Realtime Infrastructure Secant technologies Model-Driven Infrastructure Sun’s NetBeans was added to this list on May 7th 2002 …stay tuned!
31
Conclusions (1/2) Abstracting out the structure and behaviour of a system in the PIM makes easier: To validate the correctness of the model To produce implementations on different platforms The application of tool supported solutions
32
Conclusions (2/2) The major drawback is that MDA does not provide a standard for the specification of mappings Different implementation of mappings can generate very different code or models This can create dependencies between the software and the mapping solution used
33
5. References
34
Bibliography (1/3) MDA Specification:
Model Driven Architecture specification, OMG Architecture board, July 2001 Introduction and overview of MDA: Model Driven Architecture: An introduction, R.M. Soley Model Driven Architecture, Richard M.Soley (OMG CEO), November 2000 CWM and MOF definitions: Model-Driven Architecture: Vision, Standards and Emerging Technologies, John D.Poole, ECOOP April 2001 Inserire link a documenti?
35
Bibliography (2/3) CWM examples: System Development Lifecycle in MDA:
Enterprise CORBA 2001 – CWM, Pete Rivett System Development Lifecycle in MDA: Developing in OMG’s Model-Driven architecture, Jon Siegel, November 2001 Middleware definition: Software Engineering and Middleware: A Roadmap, W.Emmerich The DoD survey on PLs: A survey of Computer Programming Languages Currently used in the DoD, A.Hook et al., 1995
36
Bibliography (3/3) Conclusions and future trends:
Pratical experiences in the application of MDA, M. de Miguel et al. MDA: An Idea whose time has come, Paul Harmon Kennedy Carter’s xMDA: F-16 Modular Mission Computer Application Software, Lauren E.Clark et al.
37
Webliography MDA documentation: ArcStyler:
ArcStyler: Kennedy Carter’s iUML and iCCG: NetBeans:
38
The End
39
Platform Technological and engineering details that are irrelevant to the fundamental functionality of a software component
40
UML Profile A standardized set of extensions (stereotypes and tagged values) Defines an UML environment tailored to a particular use, such as modeling for a specific platform UML profile for CORBA was standardized in 2000
41
Common Warehouse Metamodel (1/2)
OMG’s data warehouse standard Enable easy interchange of warehouse and business intelligence metadata between warehouse tools warehouse platforms and metadata repositories in distributed heterogenous environments. Defined using MOF
42
Common Warehouse Metamodel (2/2)
Comprised of a number of constituent metamodels representing: Data resources Analysis Warehouse management Foundational components of a typical data warehousing/business intelligence environment Drawn using UML profile for MOF More on CWM…
43
Example: the Relational Metamodel
44
CWM: correspondances between models
Area Metadata Data Object Oriented Package Class Attribute Extent Object Data Value Relational Catalog/ Schema Table Column RowSet Row Column Value Record RecordFile RecordDef Field RecordSet Record Field Value XML Schema ElementType Attribute Document Element Data Value
45
MOF (Meta Object Facility)
OMG’s standard for defining metamodels Provides standard modeling and interchange constructs used in MDA UML and CWM are defined in terms of MOF constructs The three main metadata modeling constructs provided by the MOF are: Class Association Package MOF is an OMG standard defining a common, abstract language for the specification of metamodels. It is an example of meta-metamodel (or model of a metamodel)
46
Mappings Mapping is defined as a set of rules and techniques used to modify one model in order to get another model Mappings are described using UML It is an example of meta-metamodel (or model of a metamodel)
47
Refining Makes a model less abstract
Permits “zooming” in (and out of) a model: Il simbolo con l’ovale al centro rappresenta un’interazione Ha un significato più forte di composition Attualmente UML non supporta il refining in questo modo (UML 2.0 si?)
48
PIM to PIM mapping Used when models are enhanced, refined or filtered during the development lifecycle without needing any platform dependant information Example: analysis to design models transformation Refining = zooming in and out
49
PIM to PSM mapping (1/3) This transformation is used when the PIM is projected to the execution infrastructure Projection is based on platform characteristics These characteristics should be described using a UML description (and eventually a profile for describing common platform concepts) There are multiple ways to transform a PIM into a corresponding PSM Refining = zooming in and out Specializing = riformulare il modello da un altro punto di vista More on mapping
50
PIM to PSM mapping: techniques (2/3)
A human could study the PIM and: Manually construct a platform-specific model Utilize models of known refinement patterns to reduce the burden in constructing the PSM Refining = zooming in and out Specializing = riformulare il modello da un altro punto di vista
51
PIM to PSM mapping: techniques (3/3)
An algorithm could: Be applied to the PIM and create a skeleton of the PSM to be manually enhanced by hand Create a complete platform specific model from a complete platform independent model, explicitly or implicitly recording the relation for use by other automated tools Refining = zooming in and out Specializing = riformulare il modello da un altro punto di vista
52
PSM to PSM mapping This transformation is needed for component realization and deployment Generally related to platform dependent model refinement Refining = zooming in and out Specializing = riformulare il modello da un altro punto di vista
53
PSM to PIM refactoring This transformation is required for abstracting models of existing implementations in a particular technology into a platform independent model Represents a “mining” process hard to be fully automated Result of this transformation will match the corresponding PIM to PSM mapping Refining = zooming in and out Specializing = riformulare il modello da un altro punto di vista
54
Infrastructure A set of software or hardware pieces assumed to be already present by some stakeholders when he/she develops a software artifact Stakeholder=“colui che tiene le scommesse”???
55
Core models The core target platforms of the MDA:
CORBA Java/EJB C#/.NET XML/SOAP MDA provides UML profiles for these target platforms
56
Pervasive Services Essential services for many applications
transactions directory services security persistance others… OMG will define them at PIM level
57
OMG Domain Models Standardization of services in specific vertical markets They will be in the form of normative PIMs expressed using UML, augmented by normative PSMs for at least one platform They are being developed by OMG’s DTFs (Domain Task Forces) Vedi MDA pag.8
58
The DoD survey of programming languages
Report on programming languages used in the DoD (1995) In 1995 there were more than 2500 PLs worldwide Total SLOC by gp third generation languages:
59
Some of the OMG members:
AT&T BEA Borland Boeing CA Citigroup Compaq Ericsson Ford Fujitsu Glaxo HP Hitachi Hyperion IBM IONA io Software Kabira KC John Deere Microsoft MITRE MSC Soft NASA NEC NetGenics NTT OASIS Oracle Pfizer Rational SAGA SAP SAS Secant Siemens Sprint Sun Unisys Vertel
60
IoSoftware’s ArcStyler
61
ArcStyler Success Story
Deutsche Bank Bauspar AG used ArcStyler to embed existing COBOL mainframe application into modern web-based system A customized Cartridge was created
62
The KC’s xMDA approach xMDA: eXecutable UML + MDA
63
xMDA Success story Lockheed Martin used MDA to develop the F-16 Modular Mission Computing software They used the KC’s iUML tool and more recently iCCG (intelligent Configurable Code Generator) to specify an Ada code generator which can automatically generate 100% of the implementation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.