Väliohjelmistot - Lea Kutvonen 1 MDA Model driven architecture.

Slides:



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

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
The role of OCL in the Model Driven Architecture Jos Warmer Klasse Objecten
Data Model driven applications using CASE Data Models as the nucleus of software development in a Computer Aided Software Engineering environment.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
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.
7 July 2003 MDA presentation Dennis Wagelaar 1 Model-Driven Architecture The current state of affairs.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
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.
OMG Meeting, Helsinki Model Driven Architecture An Alternative Implementation Approach Werner Froidevaux
MDD Tutorial for managers Eclipse ECESIS Project A presentation of MDD basics Model-driven development (MDD) tutorial for managers EUROPEAN SOFTWARE INSTITUTE,
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
International Telecommunication Union ITU-T Study Group 17, Moscow, 30 March – 8 April 2005 New Recommendations on ODP Arve Meisingset Rapporteur Q15.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
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.
1 Tools for Commercial Component Assembly Francis Bordeleau, Zeligsoft/Carleton University Mark Vigder, National Research Council Canada.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
XML in Development of Distributed Systems Tooling Programming Runtime.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
1 Modeling Server-side Components with UML Junichi Suzuki, Ph.D. School of Information and Computer Science University.
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.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
Interfacing Registry Systems December 2000.
SaveUML System design. System overview Possible...
September 17th, 2002MDA and CCM1 Component Based Engineering in MDA MDA and CCM Dr. Philippe Merle CR1 INRIA Futurs Lille / LIFL – USTL President of the.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
1 A Model-Driven Approach For Information System Migration Raymonde Le Delliou 1, Nicolas Ploquin 2, Mariano Belaunde 3, Reda Bendraou 4, Louis Féraud.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
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:
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.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
December 4, ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
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.
Web Application Modeling
Krishnakumar Balasubramanian
XML Based Interoperability Components
The OMG Approach (continued)
Inventory of Distributed Computing Concepts and Web services
Tools for Composing and Deploying Grid Middleware Web Services
Evaluating Compuware OptimalJ as an MDA tool
Technology Landscape and Enterprise Objectives
UML profiles.
Constructing MDA-based Application Using Rational XDE for .NET
Model Driven Software Development
Software Architecture & Design
Presentation transcript:

Väliohjelmistot - Lea Kutvonen 1 MDA Model driven architecture

Väliohjelmistot - Lea Kutvonen 2 Contents What is MDA? Challenges for MDA Program generation from models MDA terminology Basic modeling technology Modeling language extensibility Building a MDA application Model transformations (information, activities) About tools

Väliohjelmistot - Lea Kutvonen 3 What is MDA? using modeling languages as declarative progamming languages rising of abstraction level for programmers improved productivity, quality, longevity outlook has been used to generate real-time and embedded systems although term MDA coined later strategic direction of OMG as announced in 2002) Java community process, ebxml, rosettanet using similar concepts

Väliohjelmistot - Lea Kutvonen 4 Challenges for MDA B2B and B2C integration needs of enterprises Reguirement: Preserve investment As enterprise borders shift requiring platform shift As platforms themselves change EJB > EJB 2.0 XML --> XML Schema MTS --> COM+ CORBA > CORBA 3.0 Solution: Isolate information and processing logic from technology specifics Build platform independent models UML is independent of CORBA, COM, EJB, XML, etc thus is well-suited as a language for dexcribingn Map these models to specific platforms Maintain the separation at the implementation level

Väliohjelmistot - Lea Kutvonen 5 Enterprise and its boundaries Frankel:2001

Väliohjelmistot - Lea Kutvonen 6 No Universal Component Middleware CORBA EJB.NET... Major Challenge!

Väliohjelmistot - Lea Kutvonen 7 Integration communication Frankel:2001

Väliohjelmistot - Lea Kutvonen 8 Enterprise system integration trend ”middleware” addresses integration within the enterprise with a distributed computer today aim for similar integration between enterprises Avoid typing in from computer-printouts ebXML,.NET, RosettaNet and other Web Services initiatives aim to be “the” middleware to link enterprises How to cope with them all?

Väliohjelmistot - Lea Kutvonen 9 Rising the level of abstraction Part of general trend Already well-established front and back ends WYSIWYG GUI modeling and data modelign Hand coding no longer predominatees Early web-applications wired web front end directly to back end Some companies avoided building intermediate tiers Web services and B2B require intermediate tiers to expose coarse grained business services Abstraction to allow reuse of the coarse grain business services via various technologics.

Väliohjelmistot - Lea Kutvonen 10 Program generation from models MDA is about using modeling languages as programming languages rather than merely as design languages can improve productivity, quality, and longetivity outlook new term, old invention CASE-tools in 1980’s, integrated object-oriented development environments in 1990’s, UML tools, etc.

Väliohjelmistot - Lea Kutvonen 11 New orientation for OMG activities –New step beyond the Object Management Architecture (OMA) Models are centric! –Target middleware is not important! Focus on Platform Independent Models (PIM) –Without middleware details Abstract Platform Specific Models (PSM) –Including all middleware details Define PIM to PSM transformations Preserving PIM when new middleware appears! Model Driven Architecture

Väliohjelmistot - Lea Kutvonen 12 Some Key Terms Model A formal specification of the function, structure and/or behavior of a system. (Model.ne. UML) Platform Technological and engineering details that are irrelevant to the fundamental functionality of a software component. Platform Independent Model (PIM) A formal specification of the structure and function of a system that abstracts away technical details (e.g., funds transfer) Platform Specific Model (PSM) The technical details (CORBA, SOAP, EJB)

Väliohjelmistot - Lea Kutvonen 13 Basic modeling technology UML – unified modeling language MOF – meta object facility XMI – XML metadata interchange

Väliohjelmistot - Lea Kutvonen 14 UML IDL as abstraction very limited –generates same level constructs, stubs and skeletons modeling languages – declarative? –separation of abstract syntax from concrete syntax –invariants, pre- and postconditions –precise action semantics and standard mappings on various platforms –mappings represent a standard engineering solution for a collaboration concept UML has defined profiles for introducing separate sets of transformation rules –to model particular domain, eg. business information, busienss services, collaborations, realtime systems, telecom –to parametrize mapping to sepcific technologies class vs. behavioural models

Väliohjelmistot - Lea Kutvonen 15 MOF M2: met amodel s M1: models M0: objects and data M3 MOF class, MOF attribute, MOF association class ”customer”, … table ”employee”, … UML class, UML association UML attribute, UML state,

Väliohjelmistot - Lea Kutvonen 16 XMI - XML metadata interchange

Väliohjelmistot - Lea Kutvonen 17 Building an MDA Application Start with a Platform- Independent Model (PIM) representing business functionality and behavior, undistorted by technology details. Platfor m- Indepe ndent Model A Detailed Model, stating Pre- and Post- Conditions in OCL, and Semantics in Action Language

Väliohjelmistot - Lea Kutvonen 18 Generating Platform-Specific Model Platfor m- Indepe ndent Model Map a PIM to Specific Middleware Technologies via OMG Standard Mappings MDA tool applies a standard mapping to generate Platform- Specific Model (PSM) from the PIM. Code is partially automatic, partially hand-written. CORBA Model

Väliohjelmistot - Lea Kutvonen 19 Mapping to Multiple Deployment Technologies Platfor m- Indepe ndent Model CORBA Model MDA tool applies an standard mapping to generate Platform- Specific Model (PSM) from the PIM. Code is partially automatic, partially hand-written. Java/EJB Model XML/SOA P Model Other Model Map a PIM to Many Middleware Technologies via OMG Standard Mappings PSM can be viewed as presentation model (Web): data schemas, web comps, etc Business logic model (EJB): data schemas, key classes, etc Data models (DBMS): tables, columns, keys, etc

Väliohjelmistot - Lea Kutvonen 20 Generating Implementations Platfor m- Indepe ndent Model CORBA Model MDA Tool generates all or most of the implementation code for deployment technology selected by the developer. Java/EJB Model CORBA XML/SOA P Model Java/EJB XML/SOA P Other Other Model Map PSM to application interfaces, code, GUI descriptors, SQL queries, etc.

Väliohjelmistot - Lea Kutvonen 21 Integrating Legacy & COTS Platfor m- Indepe ndent Model Legacy App MDA Tools for reverse engineering automate discovery of models for re-integration on new platforms. COTS App Other Other Model Reverse-engineer existing application into a model and redeploy.

Väliohjelmistot - Lea Kutvonen 22 Automating Bridges CORBA Model XML/SOA P Model Platfor m- Indepe ndent Model CORBA System XML/SOA P System Interop Bridge MDA Tools combine application and platform knowledge to generate bridges Bridge generation is simplified by common application models, simplifying creation of integrated applications both within and across enterprises.

Väliohjelmistot - Lea Kutvonen 23 Concepts: Refinement

Väliohjelmistot - Lea Kutvonen 24 Concepts: Patterns

Väliohjelmistot - Lea Kutvonen 25 Concepts: Packages

Väliohjelmistot - Lea Kutvonen 26 MDA Example Credit:

Väliohjelmistot - Lea Kutvonen 27 PIM, PSM, and Transformations in MDA TRANSFORMATION RULES Platform Specific Model (PSM) Platform Independent Model (PIM) Platform Specific Model (PSM)

Väliohjelmistot - Lea Kutvonen 28 PIM to PSM Transformation Examples with MOF/XMI UML Model (PIM) Red 4 2 XMI Document (PSM) XMI <!Element Auto (Color*, Door*, Engine*)> XMI DTD, Schema (PSM) XMIXMI MOFMOF interface Auto { }; IDL, Java… (PSM) Class Auto {public String color; public int Door; public int Engine; }

Väliohjelmistot - Lea Kutvonen 29 Transformation Models in MDA PIM Software Infrastructure PSM J2EE PIM HealthCare Business Application (CIAS) UML.Ne t PIM to PSM Transformation Model J2E E PSM.Net UML.N et UML4EJ B

Väliohjelmistot - Lea Kutvonen 30 Why New Component Models? Often application designers want to use concepts not present in PSM e.g. CCM has no active JavaBeans properties 1) Creating a new PSM but also requires to develop the associated middleware Very expensive and time consuming!!! 2) Creating a new PIM and defining PIM to PSM transformation rules

Väliohjelmistot - Lea Kutvonen 31 The Message Filtering Example A filter has 1 input for receiving messages to filter Configurable filtering properties 1 filtering function 1 output for accepted messages 1 output for rejected messages Filter P1 = V1 P2 = V2 F = M.C1 == P1 or M.C2 > P2 OKOK NONO

Väliohjelmistot - Lea Kutvonen 32 Application = Assembling Filters

Väliohjelmistot - Lea Kutvonen 33 Problems All must be done manually! Defining OMG IDL for message eventtypes, filter component and home types Implementing CCM eventtypes, components and homes Writing CCM XML descriptors Extremely verbose, time consuming and error prone!!! How improving productivity and quality? How dealing with thousand messages and filters? How dealing with other Message Oriented Middleware (MOM)? Like EJB 2.0 message beans

Väliohjelmistot - Lea Kutvonen 34 Next Step on the Message Filtering Meta-Model Only allow definition of message and filter types Only generate OMG IDL types, implementations, and CCM XML packaging descriptors Complete the meta model to describe filter instances and connections between them Then allow generation of CCM XML assembling descriptors for automatic deployment

Väliohjelmistot - Lea Kutvonen 35 Drawback around MDA-oriented Tools Few MOF compliant tools to experiment the creation of new component meta models! Developing UML profiles are time and money consuming UML Profile Builders are still expensive and proprietary No portability of developed UML profiles between UML Tools!!! Few formalisms to express MDA transformation OMG RFP under work Few PSM meta models for Programming languages like Java, C++, … Component standard middleware

Väliohjelmistot - Lea Kutvonen 36 MDA vs. CASE CASE limitations Mappings to implementation technologies were proprietary Risk to CASE customers too great Very limited to extend specification language MDA overcomes these limitations Standardized mappings, for each domain UML profiles and MOF

Väliohjelmistot - Lea Kutvonen 37 Kirjallisuutta Siegel, Jon, Developing in OMG’s Model-Driven Architecture. Object Management Group White Paper, Nov 2001.ftp://ftp.omg.org/pub/docs/omg/ pdf (pakkollinen)ftp://ftp.omg.org/pub/docs/omg/ pdf OMG Architecture Board, Model Driven Architecture (MDA), Jul 2001, ORMSC/ apers/MDA%20-%20Technical%20Perspective%20- %20OMG%20Board%20-%20ormsc pdf apers/MDA%20-%20Technical%20Perspective%20- %20OMG%20Board%20-%20ormsc pdf (täydentävä)

Väliohjelmistot - Lea Kutvonen 38 Varhaisia välineitä iUML, ICCG Adaptive framework ArchStyler (in Borland’s Enterprise studio 2)