All you need are models Anneke Kleppe, Klasse Objecten



Similar documents
Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

The Fast Guide to Model Driven Architecture

Developing in the MDA Object Management Group Page 1

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems by Sparx Systems

Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features

MDA Transformations Applied to Web Application Development 1

Applying MDA in Developing Intermediary Service for Data Retrieval

MDA Journal A BPT COLUMN. David S. Frankel. January Until February. David Frankel

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction

From Business World to Software World: Deriving Class Diagrams from Business Process Models

Foundations of Model-Driven Software Engineering

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Model-Driven Architecture: Vision, Standards And Emerging Technologies

Model-Driven Data Warehousing

CIM to PIM Transformation: A criteria Based Evaluation

Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department

Business Rule Standards -- Interoperability and Portability

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

Using UML to Construct a Model Driven Solution for Unified Access to Disparate Data

Model-driven Development for a Treasure Hunt Android application

Development of Tool Extensions with MOFLON

Model driven architecture: Principles and practice

CS4507 Advanced Software Engineering

A Common Metamodel for Code Generation

Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann

MDA and Analysis of Web Applications

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

Mapping between Levels in the Metamodel Architecture

Designing a Semantic Repository

New Web Application Development Tool and Its MDA-Based Support Methodology

MDA based approach towards Design of Database for Banking System

CHAPTER 2 LITERATURE SURVEY

From Systems to Services

MDA Support for Military Medical Crisis Information Systems (MMCIS)

Software Specification and Testing

MDA Model Driven Architecture

Enhanced Model Driven Architecture Software Development Life Cycle with Synchronized and Consistent Mapping

A Service-Oriented approach dedicated to Internet based Business Process Networks: Building a MDA based collaborative platform with opensource

Paul Zenden Sioux Technische Software Ontwikkeling Science Park Eindhoven EP Son Tel: +31 (0)

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Revel8or: Model Driven Capacity Planning Tool Suite

Model Transformation the Heart and Soul of Model-Driven Software Development

Automated transformations from ECA rules to Jess

A Case Study on Model Driven Data Integration for Data Centric Software Development

Towards a Common Metamodel for the Development of Web Applications

Clarifying a vision on certification of MDA tools

TDDC88 Lab 2 Unified Modeling Language (UML)

An MDA Approach for the Development of Web applications

A Pattern-based Approach to Business Process Modeling and Implementation in Web Services

Model Driven Development for Composing Business Applications. Jean-Loup Comeliau (W4)

OMG ARAP --The MDA Approach to to a Finance Web Service

Java Metadata Interface and Data Warehousing

Applying MDA and universal data models for data warehouse modeling

Building a Flexible Software Factory Using Partial Domain Specific Models

What Is the Java TM 2 Platform, Enterprise Edition?

MODELING AND GENERATING THE USER INTERFACE OF MOBILE DEVICES AND WEB DEVELOPMENT WITH DSL

Objecteering. The convergence of SOA, UML2, BPMN and EA, for Model-driven Engineering.

Metamodels and Modeling Multiple Kinds of Information Systems

A Categorization of Collaborative Business Process Modeling Techniques

OpenEmbeDD basic demo

BUSINESS RULES MANIPULATION MODEL 1

F-16 Modular Mission Computer Application Software

Transportation Process of Containers BPMN-Modeling and Transformation into ACTIF Model

Topics. Software development invariants. Stakeholders. The accidents of software development. The essence of software development

Polyglot Multi-Paradigm. Modeling. MDA in the Real World. Stefan Tilkov

Jairson Vitorino. PhD Thesis, CIn-UFPE February Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

How To Model In An Agile World

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Business Model Interoperability using Enterprise Model Integration

Transcription:

Model Driven Architecture All you need are models Anneke Kleppe, Klasse Objecten

Contents Limited Vision on MDA Modeling Maturity Levels Models Model Driven Development Model Driven Architecture

MDA in a Nutshell Automatic transformation from Platform Independent Model (PIM) to Platform Specific Models (PSM). PIM usually written in UML. PSM can be diverse: Java, J2EE, SQL, C++,.NET, COBOL, C#, CORBA, XML, etc. etc. Bridges between PSMs generated as well. Automatic transformation from PSM to Code

MDA Overview Platform Independent Model PSM SQL SQL - EJB PSM EJB EJB - JSP PSM JSP SQL Code EJB Code JSP Code

Why Model Driven? Productivity? Portability? Interoperability? Maintenance and documentation? Raising the level of abstraction! Handling more complex systems

Part 0: Modeling Maturity Levels

Modeling Maturity Levels MML 0: No specification MML 1: Textual Specification MML 2: Text with Diagrams MML 3: Diagrams with Text MML 4: Precise Models MML 5: Models only

MML 0: No Specification Specification of software is kept in the heads of the developers. My software

MML 1: Textual Specification of software is written down in one or more natural language documents.

MML 2: Text with Diagrams Specification of software in one or more natural language documents + plus several high-level diagrams to explain the overall architecture.

MML 3: Diagrams with Text Specification of software is written down in one or more models. + Additional natural language text is used to explain the background and motivation of the models.

MML 4: Precise Models Specification of software is written down in one or more models. Natural language text is used only to explain the background and motivation of the models. The models are precise enough to be directly transformed to actual code. This level models neccessary for OMG s Model Driven Architecture.

MML 5: Models Only The models are precise and detailed enough to allow complete codegeneration. The code is invisible (as assembler is today). Modeling language High level programming language. This is future technology ( ).

UML/OCL in the MMLs MML 0: No use of UML MML 1: No use of UML MML 2: Moderate use of UML MML 3: Extensive use of UML, light use of OCL MML 4: Extensive use of UML, extensive use of OCL MML 5:???

Part 1: Models

Model and System M1: Model Customer title : String name : String Order number : String <<instance of>> <<instance of>> <<instance of>> Customer Customer Order M0: System title = Dr. name = nobody title = Mr. name = everyman Number = 13A

Model and Meta-model M2: Model of a Model UML Class name : String UML Attribute name : String <<instance of>> <<instance of>> <<instance of>> M1: Model UML Class name = Customer UML Class name = Order UML Attribute name = number

Metamodel and Meta-metamodel MOF Class name : String M3: Model of a Model of a Model <<instance of>> <<instance of>> M2: Model of a Model MOF Class name = UML Class MOF Class name = UML Attribute

Meta-modeling Overview M3: Model of a Model of a Model <<instance of>> M2: Model of a Model MOF BNF UML Java Metamodel language <<instance of>> M1: Model UML Java Model code M0: System <<instance of>>

MDA MDA is defined around: Models Model Transformations Important model types: PIM : Platform Independent Model PSM : Platform Specific Model Code

Part 2: Model Driven Software Development

MDA Transformations PIM Transformation Tool PSM Transformation Tool Code

MDA Framework Source Model Transformation definition Transformation Tool Transformation tool Target Model

MDA To enable MDA we need Modeling languages Transformation definitions Tools

MDA Framework Language Source Model Is written in Transformation definition Is used by Transformation tool Language Target Model Is written in

Defining Languages metamodel Is defined by Is written in meta language model Is written in Language

MDA Framework Is written in Meta language Is written in Language Source Model Is written in Transformation definition Is used by Transformation tool Language Target Model Is written in

Defining Transformations A transformation definition maps Element(s) from the source language to Element(s) from the target language based on the respective language definitions

Meta language Is written in Language extends Transformation definition language Is written in Transformation definition Is written in Language Source Model Is written in Is used by Transformation tool Target Model Is written in

Tools What type of tools are there Model Editor Model Validator Model Repository Transform Def.Editor Transform Executor Language Definitions Language Repository Code File Generator Code File Editor(IDE) Transf. Def. Repository

Part 3. Model Driven Architecture

Where is the Architecture? MDA defines architecture of software development environment Interoperability of tools

Filling the MDA Framework Modeling Languages OMG: UML, OCL, CWM, CORBA, EDOC Non-OMG: Java, C#, SQL, Petri-nets, DFD, etc. UML Profiles Meta-modeling Languages MOF is the OMGs meta-modeling language BNF is a meta-language for defining textual languages Transformation Definition Languages OMG: MOF QVT Many scripting languages

Current Status of MDA Modeling Language: UML Static description is ok Dynamic specification is lacking Much manual coding at PSM or Code level Transformations Scripting languages: don t scale Template based: works better Declarative: upcoming OMG-QVT Tools Support is not optimal, although claims are different ArcStyler, OptimalJ, AndroMDA

Part 4: A Look into the Crystal Ball

Software Development in 2015

So What s Different? Software development at higher level of abstraction!!!

MDA: a Revolution 1960-1970: from assembler to functional languages 2000-2010: from functional languages to modeling languages

References MDA Explained, The Model Driven Architecture: Practice and Promise ISBN 0-321-19442-X, April 2003, Kleppe, Warmer & Bast The Object Constraint Language, Getting Your Models Ready for MDA ISBN 0-321-17936-6, August 2003, Warmer & Kleppe OMG website www.omg.org/mda

Questions Klasse Objecten, Soest tel. 035-6037656 www.klasse.nl a.kleppe@klasse.nl