Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.

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
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 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.
The Knowledge Industry Survival Strategy (KISS) Tony Clark, Thames Valley University, London, UK Jorn Bettin, Sofismo, Switzerland.
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.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
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
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
The Role of Modeling in Systems Integration and Business Process Analysis © Sparx Systems Pty Ltd 2011 Ben Constable Sparx Systems.
MDD Tutorial for managers Eclipse ECESIS Project A presentation of MDD basics Model-driven development (MDD) tutorial for managers EUROPEAN SOFTWARE INSTITUTE,
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
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.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
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.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
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.
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,
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.
SaveUML System design. System overview Possible...
August/2007 Helton Souza Lima SBCARS 1 Automatic Generation of Platform Independent Built-in Contract Testers Helton Souza Lima Franklin Ramalho Patricia.
Selected Topics in Software Engineering - Distributed Software Development.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
A language to describe software texture in abstract design models and implementation.
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.
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.
MOF Meta-Models and UML Profiles
The Unified Modeling Language (UML)
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
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.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect, V7.5 Module 18: Applying Patterns and Transformations.
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.
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 Architecture MDA SE-548 Lale Doğan
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
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.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
SysML v2 Formalism: Requirements & Benefits
Web Application Modeling
Towards Automatic Model Synchronization from Model Transformation
Evaluating Compuware OptimalJ as an MDA tool
UML profiles.
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:

Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin

Outline  What is MDA?  MDA Principles  MDA Process and Software Reuse  OMG MDA standards  Third party providers roles, standards and tools

What is Model-Driven Architecture (MDA)?  An initiative from the Object Management Group (OMG) started in 1997,  New paradigm of software development  Goals:  Maxime software reuse across platforms  Solve the second order interoperability problem among different middleware (which goal was to solve the first order interoperability problem among programming languages)  Raise the level of abstraction where most development effort is spent from code to model  Provide standards to automate the entire software development process through a model transformation approach  Reuses and extends previous standards  Unified Modeling Language (UML), by OMG  Meta-Object Facility (MOF), by OMG  eXtensible Markup Language (XML), by W3C (World-Wide Web Consortium,

MDA Principles  The most valuable, durable, reusable assets produced during the development process is not code but models  Far more significant and cost-effective quality gains are achievable by improving design and models than by improving code  Benefits from careful, detailed, explicit modeling is not limited to the application under development but extend to all the processes, artifacts, languages, tools and platforms used for this development

MDA Principles  A high degree of software process automation can be achieved by:  Building a variety of models, each one with a different role in the process,  Making each of these models machine processable by expressing it in a semi-formal notation devoid of natural language  Defining this notation itself as an object-oriented model (called a meta- model)  Storing all models and meta-models with traceability links in a repository accessible to model manipulation software  Abstracting generic transformations between pairs of meta-models that computationally codify the know how for one software process stage  Using model transformation engines to apply these transformations to the source model of a process stage and generate the target model of that stage  Define meta-models for the meta-modeling and model transformation notations

Abstraction Executability Current Mainstream OOSE Domain Modeling w/ UML or DSML CASE Tool Domain/ Business Model: UML or DSML + Feature Tables + NL Specification Model: (UML or DSML) + NL Requirement Analysis w/ UML or DSML CASE Tool High-Level Design Model: (UML or DSML) + NL High-Level Design Detail Design (Refinement) simultaneously with Programming (Translation) with Execution Platform IDE Source Code Executable Code Source Code to Executable Code Translation

Abstraction Executability Manual MDE: Extreme Modeling Fully Refined Specification Platform Independent Model (PIM): UML/OCL or DSPIML Fully Refined Requirement Analysis w/ UML/OCL or DSPIML CASE Tool High-Level Realization PIM: UML/OCL or DSPIML High-Level Design w/ UML/OCL or DSPIML CASE Tool PSM MetaModel and/or UML Profile Platform Specific Model (PSM) Metamodeling and/or Profiling Fully Refined Realization PIM: UML/OCL or DSPIML Design Full Refinement w/ UML/OCL or DSPIML CASE Tool PSM: Profiled UML/OCL or DSPSML PIM to PSM Translation Source Code PSM to Source Code Translation PIM MetaModel and/or UML Profile Platform Independent Model (PIM) Metamodeling and/or Profiling Executable Code Source Code to Executable Code Translation

Abstraction Executability Transformation Based MDE: UML Programming Fully Refined Specification Platform Independent Model (PIM): UML/OCL or DSPIML Fully Refined Requirement Analysis w/ UML/OCL or DSPIML CASE Tool High-Level Realization PIM: UML/OCL or DSPIML High-Level Design w/ UML/OCL or DSPIML CASE Tool Fully Refined Realization PIM: UML/OCL or DSPIML Design Full Refinement w/ UML/OCL or DSPIML CASE Tool PSM: Profiled UML/OCL or DSPSML PIM to PSM Translation Source Code PSM to Source Code Translation Executable Code Source Code to Executable Code Translation PSM to Source Code Translation Transformation Base PSM to Source Code Translation Transformation Development PIM to PSM Translation Transformation Base PIM to PSM Translation Transformation Development Realization PIM Refinement Transformation Base Realization PIM Refinement Transformation Development High-Level Realization PIM Transformation Base High-Level Realization PIM Transformation Development

MDA Software Process Application Requirement Model Domain Computation Independent Model Requirement Meta-model Application Platform Independent Model CIM Meta-model PIM Meta-model Meta- Meta-Model Platform Model Platform Meta-model PSM Meta-model Application Platform Specific Model Application Source Code Source Code Meta-Model Testing Model Testing Code Meta-Model Testing Meta-model Testing Code Textual Meta- Meta-Model

Artifact Reuse with MDA Process Domain Computation Independent Model Application A Requirement Model Application A Platform Independent Model Platform P Model Application A Platform P Specific Model Application B Platform Independent Model Application B Requirement Model Application B Platform P Specific Model Platform Q Model Application A Platform Q Specific Model Application B Platform Q Specific Model Testing Model AP Testing Model AQ Testing Model BP Testing Model BQ

Automated MDA Process: Design Model Transformation Engine Requirement Meta-model CIM Meta-model PIM Meta-model Design Transformations Model Transformation Meta-model Application Requirement Model Domain Computation Independent Model Application Platform Independent Model

Automated MDA Process: Implementation Model Transformation Engine PIM Meta-model Model Transformation Meta-model Application Platform Independent Model PIM  PSM Transformations Platform Model Platform Meta-model PSM Meta-model Application Platform Specific Model

Automated MDA Process: Code Generation Model Transformation Engine Model Transformation Meta-model PSM Meta-model Application Platform Specific Model Code Generation Transformations Source Code Meta-Model Application Source Code

Automated MDA Process: Test Generation Model Transformation Engine Model Transformation Meta-model PSM Meta-model Application Platform Specific Model Requirement Meta-model Application Requirement Model Test Generation Transformations Testing Model Testing Meta-model

Automated MDA Process: Reverse Engineering Model Transformation Engine PIM Meta-model Model Transformation Meta-model Application Platform Independent Model PSM  PIM Reverse Engineering Transformations Platform Model Platform Meta-model PSM Meta-model Application Platform Specific Model

Automated MDA Process: PIM Refactoring Model Transformation Engine Model Transformation Meta-model PIM Refactoring Transformations PIM Meta-model Refactored PIM Meta-model Legacy PIM

Automated MDA Process: PSM Refactoring Model Transformation Engine Model Transformation Meta-model PSM Refactoring Transformations PSM Meta-model Refactored PSM Meta-model Legacy PSM

Automated MDA Process: Code Refactoring Model Transformation Engine Model Transformation Meta-model Code Refactoring Transformations Source Code Meta-Model Refactored Source Code Legacy Source Code Source Code Meta-Model

OMG Tasks in MDA Initiative  Define meta-modeling standard: Meta-Object Facility (MOF)  Define general-purpose visual modeling standard: Unified Modeling Language (UML)  Define complementary general-purpose, semi-formal textual modeling standard to make both MOF metamodels and UML models more precise and devoid of natural language: Object Constraint Language (OCL)  Define general-purpose, both machine-processable and user- readable persistent textual format for both MOF meta-models and UML models: XML Model Interchange (XMI)  Define model manipulation standard: Query View Transform (QVT)  Each of these standards to be defined in terms of:  Abstract syntax as a MOF meta-model  Concrete syntax (visual or textual)  Formal semantics (very partial up to now)

Relationships between OMG’s MDA standards... UML2 Infrastructure Classes Attributes Types Packages... Basic Associations... Constructs... UML2 Superstructure Activities Actions States Transitions... Behavioral Components Ports... Structural QVT MOF2 EMOFCMOFOCL merge XMI merge DI merge UML2 RAPI

Example Meta-Model system +name actor +name useCase +title * * extends includes OrderItem ValidateCart e-Store UML Model: Use-Case Diagram MOF Meta-Model of Use-Cases 1..* extends

Example Meta-Meta-Model system +name actor +name useCase +title 1.. * * extends includes MOF Meta-Model of UML Use-Cases MOF Meta-Model of MOF Meta-Model attribute +name +multi parameter +direction operation +name class +name associationEnd +name +multi association +name package +name extends 1..*

Example of XMI Encoding system +name * orderItem validateCart 0..* extends includes useCase +title e-Store 0..1 actor +name “orderItem” “validateCart” “Client” “e-Store” Client

Other Stakeholders’ Tasks in MDA Initiative  Platform providers:  Define platform model as UML Profile or PSM meta-model in MOF  Multiple domains or wide domain application providers:  Use only standards defined by OMG and platform providers  Narrow domain application providers:  Define special-purpose modeling languages in MOF  MDA CASE tool providers:  Implement model base development and management services such as edition, syntactic validation, import, export, persistence, query, access control, versioning and traceability for:  Models in UML, OCL and MOF-specified user-defined languages  MOF meta-models  QVT and MOF-specified model transformation languages  Define APIs to program new model processing services on top of theses basic services  Implement model transformation engines based on MOF and QVT  Implement code and test generation services from PSM

MDA Third-Party Standards and Tools  Java Modeling Interface (JMI):  Standard from Java Community Process (JCP)  Defines a set of Java interfaces to process models represented as Java objects:  Reflective interfaces define general model manipulation operations that are independent of the model’s meta-model  Taylored interfaces define model manipulation operations that are specific to models that follow a given meta-model  Taylored interfaces can be automatically generated from a MOF meta-model  Eclipse Modeling Framework (EMF):  Standard from the Open Source Java-Based IDE project Eclipse (  Plug-in for Eclipse IDE framework  Implements similar reflective and taylored interfaces than JMI  Implements generation of taylored interface from MOF meta-model  Implements generation of Eclipse-integrated model editor from MOF meta-model

Model representation as XML document and Java Objects Model Meta-model MOF Meta-model (meta-meta-model) File SystemMain Memory XML Document XML Schema XMI Schema textually represents Java Objects Java Taylored Interfaces Java Reflective Interfaces programmatically represents programmatically represents import / export generates create / process

Java Model Representation vs. Implementation  Java objects generated using the taylored and reflective interfaces of JMI or EMF merely represent model elements  They only provide a handle to process these elements using Java  They are completely different from Java objects that implement these model elements  Though among many other uses, theses model representation Java objects can be used as input to program in Java the generation of model implementing Java objects  But they could also be used to generate a C++ or Prolog implementation of the application or any other MDA service  Java model representation objects are useful for MDA CASE tools during the development process of an application, whereas Java model implementation objects are useful for this application  In one case, Java is used to implement CASE tools functionalities, in the second case, Java is used to implement application functionalities