1 2002 OMG Meeting, Helsinki Model Driven Architecture An Alternative Implementation Approach Werner Froidevaux

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,
Modeling Services Model Interoperability Xavier Blanc – University Paris VI.
The role of OCL in the Model Driven Architecture Jos Warmer Klasse Objecten
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.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
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.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
OpenCCM: The Open CORBA Components Platform OSMOSE WP3 CCM Meeting 14th November 2003, LIFL, Lille, France Philippe Merle Jacquard Project.
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.
Deployment Activities to make a new system operational
Technical Overview.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
Model-Driven Architecture & OptimalJ Roland T. Craddolph.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
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.
NSF/ITR: Foundations of Hybrid and Embedded Software Systems Model-Integrated Computing: Foundations DSML Composition Model Synthesis and Model Transformation.
Metadata Tools and Methods Chris Nelson Metanet Conference 2 April 2001.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
XML in Development of Distributed Systems Tooling Programming Runtime.
OpenCCM: The Open CORBA Components Platform 3rd ObjectWeb Conference 20th November 2003, INRIA Rocquencourt, France Philippe Merle INRIA.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Introduction to J2EE Architecture Portions by Kunal Mehta.
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,
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
August/2007 Helton Souza Lima SBCARS 1 Automatic Generation of Platform Independent Built-in Contract Testers Helton Souza Lima Franklin Ramalho Patricia.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
XASTRO-2 Overview Presentation CCSDS SAWG Athens Meeting 12 th April 2005.
OpenCCM MdC Philippe Merle LIFL - INRIA (soon)
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
On the Role of Abstract Platform in Model Driven Development* Marten van Sinderen Centre for Telematics and Information Technology, University of Twente,
The Problems and Promise of UML 2.0 Structures for SCA John Hogg CTO, Zeligsoft Version 1.4.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
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:
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.
Technical Overview The Fastest Way to Create Architecture!
December 4, ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:
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.
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
OpenCCM: Status and Work plan Dr. Philippe Merle LIFL - INRIA ObjectWeb Architecture Meeting, Grenoble, 21 – 22.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful.
Executive Overview. Software modeling is essential, because it is the map that guides your developers. Additionally: Modeling Software  Visual information.
4 th Workshop for TAO and CIAO July 16, 2004 MOF-Compliant Modeling of Middleware Jeff Parsons & Matt Emerson ISIS Vanderbilt University Nashville, TN.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
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 MDA SE-548 Lale Doğan
Web Application Modeling
Tools for Composing and Deploying Grid Middleware Web Services
Evaluating Compuware OptimalJ as an MDA tool
UML profiles.
Constructing MDA-based Application Using Rational XDE for .NET
Model Driven Software Development
Software Architecture & Design
Presentation transcript:

OMG Meeting, Helsinki Model Driven Architecture An Alternative Implementation Approach Werner Froidevaux

OMG Meeting, Helsinki Generating Implementations Platform- Independent 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/SOAP Model Java/EJB XML/SOAP Other Other Model MDA tool applies a standard mapping to generate Platform- Specific Model (PSM) from the PIM. Code is partially automatic, partially hand-written. Map PSM to application interfaces, code, GUI descriptors, SQL queries, etc.

OMG Meeting, Helsinki Benefit of MDA Generators accelerate component development typically by orders of magnitude compared to manual implementation … and many more BUT

OMG Meeting, Helsinki B U T … effective code generation requires UML extensions. Vendors have defined proprietary dialects of UML, standard dialects are appearing (e.g. Web Application Extension (WAE), UML Profile for EJB (JCP JSR-26)) tools generate platform-specific bindings (e.g. CORBA-, EJB-, WebServices bindings) vendor-specific, non-portable models non-interoperable applications non-portable application-code

OMG Meeting, Helsinki MDA: The Modeling Babylon? NO. MDA already speaks Esperanto Q: How much platform-specific modeling is required? A: None. Q: How much code generation is required? A: Very few. Only PIM mappings.

OMG Meeting, Helsinki Joking? NO. It already has been shown that platform-specific modeling is not really required: –Proven in several years of experience with extensive use of MOF, UML, XMI in customer projects. Started with prototype implementation and presentation 'MOF compliant 1999 OMG Meeting, Philadelphia. –… and other (UML-VM by Dirk Riehle), …

OMG Meeting, Helsinki The MOF IFR 1999 Extensive use of code generators (PIM and PSM) MOF Generator Toolset Persistency Layer Persistency Store package instance class singleton class singleton instance M2 Level Server Instance Level CORBA Objects Class Level CORBA Objects Package CORBA Objects PackageFactory CORBA Objects POA activate_object() deactivate_object() Assocation CORBA Objects association instance a  b association instance a  b PackageFactory Interface Package Interface Class Level Interface Instance Level Interface Association Level Interface MOF Repository Rose Exporter IDL Generator XML Exporter/ Importer Implementation Generator GUI Generator Component

OMG Meeting, Helsinki Lessons Learned #1: PSMs are not required. #2: Let PIM be part of runtime environment. #3: Separate client-binding from server- binding.

OMG Meeting, Helsinki #1-1: PSMs are not required PIMs are standardized and portable. E.g. MOF, UML without extensions. PSMs are typically proprietary and non- portable. The restriction to PIMs requires a platform- independent concept of a component.

OMG Meeting, Helsinki #1-2: PSMs are not required What is a platform-independent component? –Required … … platform-independent language bindings … platform-independent component model and deployment … abstraction from the middleware –Optional: … abstraction from programming language

OMG Meeting, Helsinki #1-3: PSMs are not required Platform-independent language bindings Use a platform-independent metamodel to specify components, e.g. MOF*. Apply MOF mappings to generate platform-independent bindings: JMI, XMI, JDO, customer-specific, etc. (*NOTE: MOF is level M3 and is used to generate level M2 bindings. However the mappings can be applied to any MOF-compliant model). MOF-compliant Model MOF Mapping Component Implementation platform-independent binding (e.g. JMI) Component

OMG Meeting, Helsinki #1-4: PSMs are not required Platform-independent component model Provide a generic, platform-specific runtime environment for platform-independent components which abstracts from component model and middleware. Implementation PI binding PI Component Implementation PI binding PI Component Implementation PI binding PI Component platform-specific component platform-independent component 1..n EJB, CCM,.NET, … PI config

OMG Meeting, Helsinki #1-5: PSMs are not required Abstract from the middleware Generic runtime environment for PI components must support pluggable middleware. EJBCORBA EJB CORBA

OMG Meeting, Helsinki #1-6: PSMs are not required Abstract from the programming language UML Approach: Use UML Action Semantics, Activity Diagrams or Sequence Diagrams to model behavior. Generate component implementation. GPPL Approach: General Purpose Programming Languages such as Java, C# allow to implement platform-independent components if –platform-independent bindings are used –component model and middleware runtime abstraction is used

OMG Meeting, Helsinki #2: Let PIM be part of runtime Let the PIM be part of the runtime environment. Support reflective and typed programming. This allows the implementation of generic, model- driven framework and components. (minimize use of generators. No generation, implementation and testing for each model). Allows to implement components which implement generic patterns, e.g. state, role, security, accounting, notification, logging, persistence, wrappers, bridges. model-driven implementation reflective binding EJBCORBA PIM

OMG Meeting, Helsinki #3: Separate Client-binding from Server-binding Separate binding used to access a component and binding which is used to implement a component. Client is not required to use a specific binding. Component can be used by different types of clients. Implementation JMI PI Component Implementation JDO PI Component Implementation Generic PI Component JMI JDO

OMG Meeting, Helsinki Expected Benefits Portable, reusable models only. Portable, platform-independent components. Fast, simple and transparent roundtrips through minimized use of code generators. When is this reality?

OMG Meeting, Helsinki SPICE: An MDA Implementation NOW. The OMEX/SPICE application and integration framework provides: –generic, model-driven runtime environment for platform-independent components –No platform-specific modeling required –Library of standard components implementing standard patterns –Proven since years in real-world projects

OMG Meeting, Helsinki SPICE: An MDA Implementation Some Facts and Figures: –Code generators < 5'000 LOCs. –Average component size: 100-2'000 LOCs. Samples: MOF ~ 500 LOCs; Role, State, Persistence ~ 2'000 LOCs. –Supports mixed in-process, EJB, CORBA deployment. –Standard plugins: type checking, persistence, role, state, ocl, … –Supports MOF, JMI, XMI, JDO, …

OMG Meeting, Helsinki Questions? ? ? ?