OMG’s Model Driven Architecture Davide Buscaldi D.I.S.I.

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Lockheed Martin Aeronautics Company © 2001 Lockheed Martin Corporation F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
Model Driven Architecture: An Introduction Richard Mark Soley, Ph.D. Chairman and CEO.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
OMG‘s MDA: An Overview copyright © 2001, MATHEMA AG OMG‘s MDA: An Overview OMG‘s MDA: An Overview Markus Völter
MDA > Model Driven Architecture > Orçun Dayıbaş > December, 2006 > METU, Ankara.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,
7 July 2003 MDA presentation Dennis Wagelaar 1 Model-Driven Architecture The current state of affairs.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Modeling All the Way Up… Modeling All the Way Down.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
CWM: A Model-based Architecture For Data Warehouse Interchange
MDA Model Driven Architecture Eduardo Scoz. Overview Different approach for SD: Models Different approach for SD: Models Automated tools can generate.
OMG Meeting, Helsinki Model Driven Architecture An Alternative Implementation Approach Werner Froidevaux
LUCENTIA Research Group Department of Software and Computing Systems Using i* modeling for the multidimensional design of data warehouses Jose-Norberto.
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
Model Driven Architecture: The Evolution of Object- Oriented Systems? Richard Mark Soley, Ph.D. Chairman and CEO.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Väliohjelmistot - Lea Kutvonen 1 MDA Model driven architecture.
Model-Driven Architecture & OptimalJ Roland T. Craddolph.
Executable UML The Models are the Code - Executable UML CS387 Paul Krause.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Metadata Tools and Methods Chris Nelson Metanet Conference 2 April 2001.
Compuware Corporation Business Driven SOA Edwin Schumacher Director of Product Management
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Agenda 23 April, 2007 T Service-Oriented Architecture and Software Engineering 1 Service Oriented and Model Driven Architectures Pankaj Saharan.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
Introduction to MDA (Model Driven Architecture) CYT.
Model Driven Architecture: What Next After the Transformation? Richard Mark Soley, Ph.D. Chairman and CEO.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Pete Rivett CTO, Adaptive Enterprise CORBA 2001
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
Who Integrates the Integrators? Richard Mark Soley, Ph.D. Chairman and CEO.
XASTRO Metamodel. CCSDS SAWG2 Presentation Outline XASTRO-1 Metamodel XASTRO-2 Metamodel Alignment with Model Driven Architecture.
MDA – Model Driven Architecture Olivier Riboux. Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study:
Welcome Experiences in the Use of MDA and UML in Developing NATO Standards 16 July 2008 Chris Raistrick, Kennedy KC.COM.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
SPE-RFI-R : FEB.1999 : NUL-ITD-Iwata 2-01 Needs for Software Development Model Hiromichi Iwata Information Technologies.
Model Driven Architecture: An Introduction. Heterogeneity is Permanent Programming languages –~3 million COBOL programmers –~1.6 million VB programmers.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Extensible Modeling and Simulation Framework Extensible 3D Graphics (X3D) Don Brutzman MOVES Institute, Naval Postgraduate School Andreas Tolk VMASC, Old.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Performance Analysis University College London James Skene –
Model Driven Architecture: Making Your Software Investment Last 20 Years Richard Mark Soley, Ph.D. Chairman and CEO.
Itntroduction to UML, page 1 Introduction to UML.
Model Driven Architecture MDA SE-548 Lale Doğan
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
OMG’s Model Driven Architecture
Model Driven Architecture: Three Years On Richard Mark Soley, Ph. D
Web-Sim 2003 and Beyond: Working Together Richard Mark Soley, Ph. D
Web Application Modeling
Model Driven Architecture: An Introduction Richard Mark Soley, Ph. D
XML Based Interoperability Components
Model Driven Development with the Emerging UML 2.0
Inventory of Distributed Computing Concepts
Evaluating Compuware OptimalJ as an MDA tool
Modeling All the Way Up… Modeling All the Way Down
كارگاه آموزشي معماري نرم‌افزار
Service Oriented Architecture (SOA)
UML profiles.
OMG - Model Driven Architectures
Constructing MDA-based Application Using Rational XDE for .NET
Quality Assurance for Component-Based Software Development
Model Driven Software Development
Presentation transcript:

OMG’s Model Driven Architecture Davide Buscaldi D.I.S.I.

Summary  1. Introduction  2. MDA Overview  3. Developing in MDA  4. MDA in the Practice  5. References

1. Introduction

A heterogeneous world…  Programming languages: (see also: the DoD survey) (see also: the DoD survey) (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

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  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

Middleware  A software layer that masks hetereogeneity  Placed between operating systems and application components

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

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? Who are OMG?

OMG’s Milestones OMG is founded CORBA 1.0, IDL CORBA 2.0 UML, MOF, XMI, CWM MDA

2. MDA Overview

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 platform  “Design once, build it on any platform”

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)

Platform Independent Model (PIM)  A “formal” specification of the structure and function of a system that abstracts away technical detail  Expressed using UML

PIM: an example

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 UML profilesUML profiles

PSM: an example

MDA metamodel MOF Other languages UML Metamodel PIM Mapping techniques PSM Mapping techniques PIM PSM Infrastructure > > 1..n 1..n Refactoring from PSM to PIM > > 1..n 1..n Mapping from PIM to PIM 1..n Mapping from PIM to PSM 1..n Mapping from PSM to PSM 1..n > >

MDA in a Snapshot Core Technologies Core Target Platforms Pervasive Services Vertical Domains

3. Developing in MDA

System Development Lifecycle and the MDA approach UML MOF CWM Time PIM to PIM mappings PIM to PSM mappings (projection on a specific platform) PSM to PSM mappings

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

Developing in MDA – Step 1: the PIM (2/2) PIM Pervasive Services Model Calls Domain Facilities Model Calls

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

Developing in MDA – Step 2: the PSM (2/2) PIM CORBA Model Maps to Java/EJB Model Maps to Other Model… Maps to

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

Developing in MDA – Step 3: Generating Application (2/2) PIM CORBA Model Maps to Java/EJB Model Maps to Other Model… Maps to CORBAJava/EJBOther … Maps to

4. MDA in the Practice

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

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)

Early Adopters  Interactive Objects Software GmbH  ArcStyler ArcStyler  Kennedy Carter  iUML, iCCG iUML, iCCG 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!

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

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

5. References

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

Bibliography (2/3)  CWM examples:  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

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.

Webliography  MDA documentation:   ArcStyler:   Kennedy Carter’s iUML and iCCG:   NetBeans: 

The End

Platform  Technological and engineering details that are irrelevant to the fundamental functionality of a software component

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

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

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… More on CWM…

Example: the Relational Metamodel

CWM: correspondances between models Catalog/ Schema TableColumn Relational Record RecordFileFieldRecordDef XML SchemaAttributeElementType ClassPackage Object Oriented Attribute RowSetRow Column Value RecordSet Field Value Record DocumentElement ObjectExtent Data Value MetadataDataArea

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

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

Refining  Makes a model less abstract  Permits “zooming” in (and out of) a model:

PIM to PIM mapping  Used when models are enhanced, refined or filtered during the development lifecycle without needing any platform dependant information refined  Example: analysis to design models transformation

PIM to PSM mapping (1/3)  This transformation is used when the PIM is projected to the execution infrastructure 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 More on mapping More on mapping

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

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

PSM to PSM mapping  This transformation is needed for component realization and deployment  Generally related to platform dependent model refinement

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

Infrastructure  A set of software or hardware pieces assumed to be already present by some stakeholders when he/she develops a software artifact

Core models  The core target platforms of the MDA:  CORBA  Java/EJB  C#/.NET  XML/SOAP  MDA provides UML profiles for these target platforms

Pervasive Services  Essential services for many applications  transactions  directory services  security  persistance  others…  OMG will define them at PIM level

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)

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:

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

IoSoftware’s ArcStyler

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

The KC’s xMDA approach xMDA: eXecutable UML + MDA

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