MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie

Slides:



Advertisements
Similar presentations
Copyright © 2006 Data Access Technologies, Inc. Open Source eGovernment Reference Architecture Approach to Semantic Interoperability Cory Casanave, President.
Advertisements

Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
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
1Model Driven Architecture – 3. März 2008 – Siegfried Nolte 1.UML – What is it and what is it good for ? 2.MDA – What is it and what is it good for ? 3.MDA.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
Production Rule Representation Team Response Presentation to BEIDTF OMG Montreal Aug 2004 Ruleml.org.
Metamodel Global view. Some sources Object Modeling with UML: Advanced Modeling, Karin Palmkvist, Bran Selic, and Jos Warmer, March 2000.
Modeling with the ECCF SS ● UML Profile for ECCF ● UML Redefinition Semantics ● Compliance ● Consistency ● Conformance ● Validation ● Transformation ●
1 Model-driven development of SOA with Web services – using QVT technology Master thesis by Berge Stillingen Department of Informatics, University of Oslo.
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.
MDA and QVT in Together Architect 2006  Pavel Kobiakov, Borland Software Corporation  06 December 2005.
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 -
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
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,
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
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.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
XML in Development of Distributed Systems Tooling Programming Runtime.
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.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
Interfacing Registry Systems December 2000.
UML Profiles Eclipse ECESIS Project The UML Profile technology SOFTEAM 144 Ave des Champs Elysées Paris, France
Model-Driven Architecture And The Secure Systems Methodology Masters Thesis Defense 11/16/2007 Patrick Morrison.
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
ISO/IEC CD and WD : Core Model and Model Mapping ISO/IEC JTC1/SC32/WG September 2005, Toronto SC32/WG2 Japan (Kanrikogaku Ltd) Masaharu.
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.
XASTRO Metamodel. CCSDS SAWG2 Presentation Outline XASTRO-1 Metamodel XASTRO-2 Metamodel Alignment with Model Driven Architecture.
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.
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
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.
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
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
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
Bussines process modeling using BPMN
Tools for Composing and Deploying Grid Middleware Web Services
Evaluating Compuware OptimalJ as an MDA tool
UML profiles.
Introduction.
Constructing MDA-based Application Using Rational XDE for .NET
Execute your Processes
Model-Driven Semantic Web Rule Engineering
Model Driven Software Development
Software Architecture & Design
Presentation transcript:

MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie

Agenda MDE Architecture Know-how capitalization Productivity Platform Case Study

MDE Architecture Global view

Models « Modeling is the future, so every company that’s working on this I think it’s great, and I think there are some real contributions that can be made » B. Gates « Companies that adopt the MDA gain the ultimate in flexibility: the ability to derive code from a stable model as the underlying infrastructure shifts over time. » R. Soley « Why building models ? At the end, we will write code ? » « A good diagram is better than a long speech… but from a UML diagram you can have many speeches ! » Need of best practices and clear objectives MDE Architecture

Practices & Objectives Best Practices Abstraction layers and Viewpoints (Matrix) Formalization of layers and viewpoints Formalization of abstraction layers / viewpoints relationships Objectives New systems Legacy systems Master platforms proliferation MDE Architecture

Approach MDE Architecture Requirement model: defines the system in its environment. Analysis and design model: defines the system architecture. Realization model: defines how the system is built. Code of the system and configuration artifacts.

Architecture MDE Architecture CIMPIMPSM Java Software system MOF M2QVT M2

Resources A standard for defining meta-models  The MOF standard is a language for defining meta- models A standard for importing and exporting models  The XMI standard defines a bridge with XML Model Manipulation  Frameworks (JMI/EMF) define APIs for manipulating models with OO languages. Model Transformation  The QVT standard defines a language for expressing model transformations. MDE Architecture

Goals Know-how capitalization  The goal is to build models (CIM, PIM) that will live forever.  The goal is also to model the transformation and to trace them.  Modeling language has to support abstraction ! Productivity  The goal is to automate operations on models (code generation, documentation generation, simulation, …).  Models should be manipulated by programming languages ! Platforms  The goal is to make platforms explicit within the software lifecycle.  Platforms has to be modeled ! MDE Architecture

Know-how capitalization Standards

Meta-model Capitalization A meta-model defines concepts and their relationships thanks to a class diagram. A meta-model only defines structure (no semantic). A model is an instance of a meta- model if it respects the structure defined by the meta-model. The UML meta-model defines the structure that all UML models must have.

Meta-meta-model MOF defines the language for defining meta-models MOF concepts are meta- class, meta-attribute, meta- association, etc. MOF concepts and their relationships can be defined by a class diagram. This diagram is also a meta- model (called the meta- meta-model) The meta-meta-model is self defined. Capitalization

Meta-layers Capitalization MOFUMLModèle Meta-meta-model UML Meta-model Model Mn+1 defines the structure of Mn Mn+1 is not an abstraction of Mn Meta-layer relationships are similar to grammar- layer relationships (BNF, or XML Schema)

UML2.0 UML2.0 is not a simple update of UML1.4, it is a central part of MDE. UML is the most used MDE meta-model. International experts have spent 3 years for designing it ! UML is the dedicated modeling language for defining software systems  UML2.0 is an instance of MOF2.0.  UML2.0 semantic is defined with natural language  UML2.0 diagrams are based on the meta-model UML2.0 supports abstraction and different viewpoints  Use case, Sequences, Sate Machine, etc. Capitalization

UML2.0 Component Capitalization UML2.0 can be used for specifying component based systems from analysis to deployment.

UML in MDE UML2.0 is used for specifying software systems without technical details (abstract analysis and design)  UML2.0 is a natural choice for building PIMs (Platform Independent Model) UML2.0 can also be used for specifying a system within its environment (use case diagram)  UML2.0 can be used for building CIM (Computational Independent Model) UML2.0 Profiles can be used for specifying platforms (ex: CORBA profile, EJB profile)  UML2.0 can be used for building PSM (Platform Specific Model) MDE can be applied with only UML2.0 Capitalization

Object Constraint Language OCL defines the structure of models expressing constraints  Invariant, Pre-post conditions OCL is a meta-model instance of the MOF OCL is highly coupled with UML The OCL semantic is defined with models (operation without side effect ) OCL defined a concrete syntax Capitalization PropertyCallExp > Literal ModelPropertyCall amount

Action Semantics AS defines the structure of models expressing sequences of actions AS was a meta-model and is now completely integrated in UML2.0 AS has no concrete syntax (UML diagram) The semantic of AS is not formally defined (an RFP is published) Capitalization

XMI Principles XMI (XML Metadata Interchange) provides a bridge between models and XML documents XMI defines rules for building XML Schema from meta-models Then, models instances of a meta-model can be represented in XML documents. XMI and UML There are more than 6 XMI versions of and more than 4 UML versions  Lots of combinations  That’s why exchanging UML models between tools is not trivial. XMI and diagram DI (Diagram Interchange) is an XMI extension that defines how to represent diagrams in XML. Capitalization

Synthesis MOF is the only standard for defining meta-models  MOF meta-models can be compared and linked ! Today, the UML meta-model is the best meta-model for specifying software systems. OCL et AS are meta-models for specifying behaviors XMI can be used to represent any models in XML documents => Everything seems to be there to capitalize know-how Capitalization

Productivity Frameworks and tools

Model Manipulation APIs MDE frameworks define principles for generating model manipulation API For each meta-model, one model manipulation API (tailored) can be generated Frameworks also define one reflective API that stands for any meta- model Productivity Meta-Model Model Java Interface Java Objets

Eclipse Modeling Framework Creation of a meta-model (instance of Ecore) Generation of the API  Interfaces for model manipulation  Classes integrated within Eclipse  Graphical Editor (Tree view) Can be directly used within a new Eclipse workbench Productivity

Model Transformations Model transformations are a central part of MDE  CIM to PIM, PIM to PSM, PSM to code. Model transformation are based on meta-models  Any UML component gives an EJB component. Platform providers should provide model transformation for their platform  UML to EJB Companies should be able to customize those transformations  Ex: Do not use entity bean! Today, there are three approaches for writing model transformations  Program, Template, Model Productivity

Program Model transformation is a program that makes use of model manipulation APIs Productivity PetStore EJB UMLEJB API UML API EJB Java Program read write

Template Model transformation is a template written in a dedicated language Productivity PetStore EJB UMLEJB Template Interpretor UML2EJB Template

Model Productivity PetStore EJB UMLEJB Program QVT Model QVT Model transformation is a model instance of QVT

Tools Today a lot of tools claim to be MDE compliant. There is no definition of what should be a MDE tool but it is interesting to see so much enthusiasm. We try:  RSA (Rational Software Architecte) that offers a UML2.0 modelers and some transformations (Java Code Generation).  Objecteering MDA Modeler that offers powerful mechanisms for packaging profiles. Productivity

Synthesis Thanks to MDE, models are now productive assets (no more contemplative) Model manipulation APIs are fully used in industrial contexts Model transformations are becoming more and more stable Tool providers enthusiasm has to be stressed! => Productivity is here! Productivity

Plateforms Frameworks and middleware

Y Cycle and platform Platform PIM PSM Code Requirement Analysis Design (Abstract) Design (concrete) Production (fine) PM Technical Requirements Technical Architecture PM Platform integration Platform description

Profile or meta-model There is no platform meta-model but only meta- models that define how to use a platform. Those meta-models are called PSM meta-models  EJB meta-model defines the structure of systems that make use of EJB platform As there is no PM (Platform Model), the Y transformation is between the PIM meta-model and the PSM meta-model Platform

PSM Profil vs Meta-Model Profile  PSM meta-model is a UML profile  The platform has to be close to UML (OO)  PIM to PSM transformations can be UML to UML transformations if UML is used for making the PIMs (more simple) Meta-model  PSM meta-model is a MOF meta-model  The platform can be anything (not OO)  Transformations are complex Platform

Synthesis Platforms are integrated partially in MDE They are represented within the PSMs It is not possible to define, within a PIM, the needed properties of a platform It is not possible to compare platforms No PIM to PSM transformations are defined by platforms providers =>More works should be done in this area!

Conclusion

MDE MDE enters an industrial phase  Know-how can be fully capitalized thanks to MOF, UML, OCL, AS and XMI  Productivity is here! MOF2.0 QVT should bridge the gap between productivity and know-how capitalization.  Platform needs more attention

3 axes Know-how Productivity Platform XMI2.1 JMI UML2.0 EJB Profile QVT UML->Java MOF2.0 EMF UML1.4 MOF1.4 Corba Profile QoS Profile GenDoc UML/EJB->J2EE Applying MDE needs to fix priorities: UML2.0 is not yet productive. EMF should not be use to capitalize know-how. Platform cannot be yet totally modeled.