70
Model-driven engineering: a practical experience Oscar Pastor, Sergio España, Marcela Ruiz Centro de Investigación ProS Departamento de Sistemas Informáticos y Computación Universitat Politècnica de València Talk @ CRI February 28, 2014

Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

Model-driven engineering: a practical experience

Oscar Pastor, Sergio España, Marcela Ruiz Centro de Investigación ProS Departamento de Sistemas Informáticos y Computación Universitat Politècnica de València

Talk @ CRI February 28, 2014

Page 2: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

Fundamentals  of  model-­‐driven  development  for  informa3on  

systems    

This material is the result of the joint effort of Sergio España, Arturo González, Óscar Pastor and Marcela Ruiz

Page 3: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

Model-driven development

Page 4: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

4

Model-driven development

REQUIREMENTS  ENGINEERING  

SW  SYSTEM    ANALYSIS  

SW  SYSTEM    DESIGN  

IMPLEMENTATION  

COMPUTATION  INDEPENDENT  MODEL  

CODE  MODEL  

PLATFORM  SPECIFIC  MODEL  

PLATFORM  INDEPENDENT  MODEL  

Model-driven architecture -­‐                                                        A

BSTR

ACTION  LEV

EL                                                                  +  

Page 5: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

INPUT MODEL

OUTPUT MODEL

TRANSFOR-MATION RULES

SOURCE METAMODEL

TARGET METAMODEL

LANGUAGE USED

LANGUAGEUSED

SOURCE LANGUAGE

TARGET LANGUAGE

TRANSFOR-MATION

Añadir  otra  traspa  con  transformaciones  modelo  a  texto  Mejorar  los  colores  de  esta  para  hacerla  más  atrac3va  

Model-driven development Model-to-model transformations

Page 6: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

Graphical Modeling Framework (GMF) HyperSenses and ANGIE from DELTA Software Technology Innovator from MID GmbH Integranova from CARE Technologies LEONARDI MagicDraw from No Magic Inc ManyDesigns Portofino MetaEdit+ from MetaCase objectiF from microTOOL openArchitectureWare OptimalJ from Compuware Rhapsody from IBM RISE Editor from RISE to Bloome Software SCADE Suite from Esterel Technologies Sculpture Platform from Modelingsoft Select Architect from Select Business Solutions Simulink from MathWorks Together Architect from Borland TOPCASED Uniface from Compuware

AADL from Carnegie-Mellon Software Engineering Institute Acceleo an open source code generator from Obeo Actifsource Apollo for Eclipse from Gentleware AndroMDA an open source MDA tool ArcStyler from Interactive Objects Software GmbH Artisan Studio from Artisan Software Tools ASCET from ETAS AtomWeaver from Isomeris CoCoViLa from Tallinn University of Technology EnterpriseCoreObjects by CapableObjects.com Eclipse Modeling Framework (EMF) Enterprise Architect from Sparx Systems GenerateXY from DotXY Generic Eclipse Modeling System (GEMS) GeneXus

Model-driven development Tool support

Page 7: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

Think of artefacts that can be engineered... Model-driven development

Page 8: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

§  An  automa3c  teller  machine  (ATM)  §  A  spaceship  §  A  building  §  A  dam  §  A  bicycle  §  An  informa3on  system  §  A  mul3media  player  soBware  §  A  conference  website  §  A  mobile  phone  §  A  nanorobot  

 

Do all these artefacts need the same

requirements engineering approach?

Model-driven development

Think of artefacts that can be engineered...

Page 9: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,
Page 10: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

Source:  MetaEdit+  by  MetaCase  

Page 11: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,
Page 12: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

12

Model-driven development

REQUIREMENTS  ENGINEERING  

SW  SYSTEM    ANALYSIS  

SW  SYSTEM    DESIGN  

IMPLEMENTATION  

COMPUTATION  INDEPENDENT  MODEL  

CODE  MODEL  

PLATFORM  SPECIFIC  MODEL  

PLATFORM  INDEPENDENT  MODEL  

Model-driven architecture -­‐                                                        A

BSTR

ACTION  LEV

EL                                                                  +  

Page 13: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

Information systems

What is an information system?

Page 14: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,
Page 15: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

ORGANISATIONAL SYSTEM

INFORMATION SYSTEM

DECISION SYSTEM

OPERATIONAL SYSTEM

Page 16: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

method

Page 17: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

technology

method

Page 18: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

This material is the result of the joint effort of Sergio España, Arturo González, Óscar Pastor and Marcela Ruiz

Business  process  modelling    and  requirements  specifica3on  

Page 19: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

19

Model-driven development

REQUIREMENTS  ENGINEERING  

SW  SYSTEM    ANALYSIS  

SW  SYSTEM    DESIGN  

IMPLEMENTATION  

COMPUTATION  INDEPENDENT  MODEL  

CODE  MODEL  

PLATFORM  SPECIFIC  MODEL  

PLATFORM  INDEPENDENT  MODEL  

Model-driven architecture -­‐                                                        A

BSTR

ACTION  LEV

EL                                                                  +  

Page 20: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

REQUIREMENTS  ANALYSIS  

REQUIREMENTS  MODELLING  

REQUIREMENTS  VERIFICATION  

REQUIREMENTS  VALIDATION  

REQUIREMENTS  ELICITATION  

REQUIREMENTS  MANAGEMENT  

Page 21: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

REQUIREMENTS  MODEL    ANALYSIS  

REQUIREMENTS  MODELLING  

REQUIREMENTS  MODEL    VERIFICATION  

REQUIREMENTS  MODEL    VALIDATION  

REQUIREMENTS  ELICITATION  

REQUIREMENTS  MODEL  MANAGEMENT  

Page 22: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

CONCEPTUAL  MODEL    ANALYSIS  

CONCEPTUAL  MODELLING  

CONCEPTUAL  MODEL    VERIFICATION  

CONCEPTUAL  MODEL    VALIDATION  

CONCEPTUAL  MODEL  ELICITATION  

CONCEPTUAL  MODEL  MANAGEMENT  

REQUIREMENTS  MODEL    ANALYSIS  

REQUIREMENTS  MODELLING  

REQUIREMENTS  MODEL    VERIFICATION  

REQUIREMENTS  MODEL    VALIDATION  

REQUIREMENTS  ELICITATION  

REQUIREMENTS  MODEL  MANAGEMENT  

Page 23: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

CONCEPTUAL  MODEL    ANALYSIS  

CONCEPTUAL  MODELLING  

CONCEPTUAL  MODEL    VERIFICATION  

CONCEPTUAL  MODEL    VALIDATION  

CONCEPTUAL  MODEL  ELICITATION  

CONCEPTUAL  MODEL  MANAGEMENT  

REQUIREMENTS  MODEL    ANALYSIS  

REQUIREMENTS  MODELLING  

REQUIREMENTS  MODEL    VERIFICATION  

REQUIREMENTS  MODEL    VALIDATION  

REQUIREMENTS  ELICITATION  

REQUIREMENTS  MODEL  MANAGEMENT  

Page 24: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

CONCEPTUAL  MODELLING  

REQUIREMENTS  MODELLING  

Page 25: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

REQUIREMENTS  MODELLING  

CONCEPTUAL  MODELLING  

Page 26: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

REQUIREMENTS  MODELLING  

ORGANISATIONAL  MODELLING  

BUSINESS  PROCESS  MODELLING  

REQUIREMENTS  MODELLING  

CONCEPTUAL  MODELLING  

STRUCTURAL  MODELLING  

REACTION  MODELLING  

INTERFACE  MODELLING  

Conceptual  Model  

Object  Model  

Dynamic  Model  

Presenta3on  Model  

Requirements  Model  

Communica3ve    Event  Templates  

order=<order#+ client+ { prod+ quant+ price }>

Communica3ve    Event  Diagrams  

Organisa3onal  structure  

Func3onal  Model  = +

MODEL    COMPILATION  

Final  applica3on  

Interface  layer  

Business  layer  

Persistence  layer  

Communication Analysis

Page 27: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

REQUIREMENTS  MODELLING  

ORGANISATIONAL  MODELLING  

BUSINESS  PROCESS  MODELLING  

REQUIREMENTS  MODELLING  

CONCEPTUAL  MODELLING  

STRUCTURAL  MODELLING  

REACTION  MODELLING  

INTERFACE  MODELLING  

Conceptual  Model  

Object  Model  

Dynamic  Model  

Presenta3on  Model  

Requirements  Model  

Communica3ve    Event  Templates  

order=<order#+ client+ { prod+ quant+ price }>

Communica3ve    Event  Diagrams  

Organisa3onal  structure  

Func3onal  Model  = +

MODEL    COMPILATION  

Final  applica3on  

Interface  layer  

Business  layer  

Persistence  layer  

Communication Analysis

Page 28: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

REQUIREMENTS  MODELLING  

ORGANISATIONAL  MODELLING  

BUSINESS  PROCESS  MODELLING  

REQUIREMENTS  MODELLING  

CONCEPTUAL  MODELLING  

STRUCTURAL  MODELLING  

REACTION  MODELLING  

INTERFACE  MODELLING  

Conceptual  Model  

Object  Model  

Dynamic  Model  

Presenta3on  Model  

Requirements  Model  

Communica3ve    Event  Templates  

order=<order#+ client+ { prod+ quant+ price }>

Communica3ve    Event  Diagrams  

Organisa3onal  structure  

Func3onal  Model  = +

MODEL    COMPILATION  

Final  applica3on  

Interface  layer  

Business  layer  

Persistence  layer  

Communication Analysis

Page 29: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

REQUIREMENTS  MODELLING  

ORGANISATIONAL  MODELLING  

BUSINESS  PROCESS  MODELLING  

REQUIREMENTS  MODELLING  

CONCEPTUAL  MODELLING  

STRUCTURAL  MODELLING  

REACTION  MODELLING  

INTERFACE  MODELLING  

Conceptual  Model  

Object  Model  

Dynamic  Model  

Presenta3on  Model  

Requirements  Model  

Communica3ve    Event  Templates  

order=<order#+ client+ { prod+ quant+ price }>

Communica3ve    Event  Diagrams  

Organisa3onal  structure  

Func3onal  Model  = +

MODEL    COMPILATION  

Final  applica3on  

Interface  layer  

Business  layer  

Persistence  layer  

OO-Method

Page 30: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

REQUIREMENTS  MODELLING  

ORGANISATIONAL  MODELLING  

BUSINESS  PROCESS  MODELLING  

REQUIREMENTS  MODELLING  

CONCEPTUAL  MODELLING  

STRUCTURAL  MODELLING  

REACTION  MODELLING  

INTERFACE  MODELLING  

Conceptual  Model  

Object  Model  

Dynamic  Model  

Presenta3on  Model  

Requirements  Model  

Communica3ve    Event  Templates  

order=<order#+ client+ { prod+ quant+ price }>

Communica3ve    Event  Diagrams  

Organisa3onal  structure  

Func3onal  Model  = +

MODEL    COMPILATION  

Final  applica3on  

Interface  layer  

Business  layer  

Persistence  layer  Source:  Gartner  (2003)  

   PROJECT    

MANAGEMENT   QUALITY  SPECIFI-­‐  CATIONS  

PROGRAM-­‐MING  

ACCEPTANCE    TESTS  

INITIAL  &    POST-­‐START-­‐UP  

OTHER  ACTIVITIES  

   CARE          TECHNOLOGIES   1845   856   502   127   1193   15860   13703  

PEER  GROUP    (AVG.)   37   174   18   13   40   50   69  

… …

0  

500  

1000  

1500  

2000  

Prod

uc>v

ity        

(FPs/day)  

OO-Method

Page 31: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

Pladorm-­‐independent  object-­‐oriented  conceptual  modelling  

This material is the result of the joint effort of Sergio España, Arturo González, Óscar Pastor and Marcela Ruiz

Page 32: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

REQUIREMENTS  MODELLING  

ORGANISATIONAL  MODELLING  

BUSINESS  PROCESS  MODELLING  

REQUIREMENTS  MODELLING  

CONCEPTUAL  MODELLING  

STRUCTURAL  MODELLING  

REACTION  MODELLING  

INTERFACE  MODELLING  

Conceptual  Model  

Object  Model  

Dynamic  Model  

Presenta3on  Model  

Requirements  Model  

Communica3ve    Event  Templates  

order=<order#+ client+ { prod+ quant+ price }>

Communica3ve    Event  Diagrams  

Organisa3onal  structure  

Func3onal  Model  = +

MODEL    COMPILATION  

Final  applica3on  

Interface  layer  

Business  layer  

Persistence  layer  

OO-Method

Page 33: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

REQUIREMENTS  MODELLING  

ORGANISATIONAL  MODELLING  

BUSINESS  PROCESS  MODELLING  

REQUIREMENTS  MODELLING  

CONCEPTUAL  MODELLING  

STRUCTURAL  MODELLING  

REACTION  MODELLING  

INTERFACE  MODELLING  

Conceptual  Model  

Object  Model  

Dynamic  Model  

Presenta3on  Model  

Requirements  Model  

Communica3ve    Event  Templates  

order=<order#+ client+ { prod+ quant+ price }>

Communica3ve    Event  Diagrams  

Organisa3onal  structure  

Func3onal  Model  = +

MODEL    COMPILATION  

Final  applica3on  

Interface  layer  

Business  layer  

Persistence  layer  

OO-Method

Page 34: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

¡  Defined  by  an  extended  Class  Diagram.  §  Classes  ▪  Aeributes  ▪  Precondi3ons  and  Services  ▪  Integrity  Constraints  

§  Rela>onships  between  classes  ▪  Associa3on  ▪  Inheritance  

§  Agents  

Specification of the static view of the software system

OO-Method Object Model

Page 35: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

OO-Method Object Model classes

Page 36: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

OO-Method Object Model attributes

Page 37: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

OO-Method Object Model services

Page 38: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

OO-Method Object Model transactions

Page 39: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

REQUIREMENTS  MODELLING  

ORGANISATIONAL  MODELLING  

BUSINESS  PROCESS  MODELLING  

REQUIREMENTS  MODELLING  

CONCEPTUAL  MODELLING  

STRUCTURAL  MODELLING  

REACTION  MODELLING  

INTERFACE  MODELLING  

Conceptual  Model  

Object  Model  

Dynamic  Model  

Presenta3on  Model  

Requirements  Model  

Communica3ve    Event  Templates  

order=<order#+ client+ { prod+ quant+ price }>

Communica3ve    Event  Diagrams  

Organisa3onal  structure  

Func3onal  Model  = +

MODEL    COMPILATION  

Final  applica3on  

Interface  layer  

Business  layer  

Persistence  layer  

OO-Method

Page 40: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

¡  It  represents  the  soBware  system  behaviour  ¡  It  is  defined  by  two  diagrams:  

§  State  Transi3on  Diagram  (STD)  ▪  It  specifies  the  Object’s  valid  life  ▪  It  defines  the  available  services  in  each  state.    

§  Object  Interac3on  Diagram  (OID)  ▪  It  specifies  valid  Interac3on  between  objects  such  as  Global  Transac3ons  and  Opera3ons  and  Triggers.    

Specification of the Dynamic view of the software system

OO-Method Dynamic Model

Page 41: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

OO-Method Dynamic Model

Page 42: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

A service is activated when its condition is fulfilled

OO-Method Dynamic Model triggers

Page 43: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

¡  Inter-­‐Object  Transac3ons/Opera3ons    ¡  A  Global  Transac3on  Involves  different  objects  of  the  same  class  or  

different  classes  

OO-Method Dynamic Model global transactions

Page 44: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

REQUIREMENTS  MODELLING  

ORGANISATIONAL  MODELLING  

BUSINESS  PROCESS  MODELLING  

REQUIREMENTS  MODELLING  

CONCEPTUAL  MODELLING  

STRUCTURAL  MODELLING  

REACTION  MODELLING  

INTERFACE  MODELLING  

Conceptual  Model  

Object  Model  

Dynamic  Model  

Presenta3on  Model  

Requirements  Model  

Communica3ve    Event  Templates  

order=<order#+ client+ { prod+ quant+ price }>

Communica3ve    Event  Diagrams  

Organisa3onal  structure  

Func3onal  Model  = +

MODEL    COMPILATION  

Final  applica3on  

Interface  layer  

Business  layer  

Persistence  layer  

OO-Method

Page 45: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

¡  It  defines  the  seman3cs  related  to  state  transi3ons    ¡  It  describes  how  the  execu3on  of  events  changes  the  value  of  class  aeributes  (valua3ons)  

Specifies reaction of the software system

OO-Method Functional Model

Page 46: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

OO-Method Functional Model

Page 47: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

REQUIREMENTS  MODELLING  

ORGANISATIONAL  MODELLING  

BUSINESS  PROCESS  MODELLING  

REQUIREMENTS  MODELLING  

CONCEPTUAL  MODELLING  

STRUCTURAL  MODELLING  

REACTION  MODELLING  

INTERFACE  MODELLING  

Conceptual  Model  

Object  Model  

Dynamic  Model  

Presenta3on  Model  

Requirements  Model  

Communica3ve    Event  Templates  

order=<order#+ client+ { prod+ quant+ price }>

Communica3ve    Event  Diagrams  

Organisa3onal  structure  

Func3onal  Model  = +

MODEL    COMPILATION  

Final  applica3on  

Interface  layer  

Business  layer  

Persistence  layer  

OO-Method

Page 48: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

¡  Abstract  specifica3on  of  the  user  interface  ¡  Independent  of  the  target  device  ¡  View-­‐oriented  ¡  Language  of  paeerns  organized  in  three  layers  

Specification of the user interface

OO-Method Presentation Model

Page 49: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

Hierarchical ActionTree IU Service

UI Instance

UI Population

UI Master/Detail

Introduction

Defined Selection

Argument Grouping

SupplementaryInformation

Status Recovery

Order Criterium

Display Set

Filter

Dependency

Offered Actions

Navigation

Master UI

Details UIA uses B

A B

Legend

17 Existing presentation patterns

OO-Method Presentation Model

Page 50: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

OO-Method Presentation Model

Page 51: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

REQUIREMENTS  MODELLING  

ORGANISATIONAL  MODELLING  

BUSINESS  PROCESS  MODELLING  

REQUIREMENTS  MODELLING  

CONCEPTUAL  MODELLING  

STRUCTURAL  MODELLING  

REACTION  MODELLING  

INTERFACE  MODELLING  

Conceptual  Model  

Object  Model  

Dynamic  Model  

Presenta3on  Model  

Requirements  Model  

Communica3ve    Event  Templates  

order=<order#+ client+ { prod+ quant+ price }>

Communica3ve    Event  Diagrams  

Organisa3onal  structure  

Func3onal  Model  = +

MODEL    COMPILATION  

Final  applica3on  

Interface  layer  

Business  layer  

Persistence  layer  

OO-Method

Page 52: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

OO-Method

Page 53: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

53

Page 54: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

54

“An  en3ty  or  collec3on  of  en33es  may  be  said  to  be  evolving  if  their  value  or  fitness  is  increasing  over  3me.  Individually  or  collec3vely  they  are  becoming  more  meaningful,  more  complete  or  more  adapted  to  a  changing  environment.”  

   

Terminology of ERCIM Working Group Software Evolution http://wiki.ercim.eu/wg/SoftwareEvolution/index.php/Main_Page

Mo3va3on  

Page 55: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

1)  To  be  aligned  with  the  requirements  of  its  environment.  2)  Innovate,  reduce  cost  and  regulate.    3)  Implement  strategies  for  con3nued  progress.  

 

55 J. Visser. (2012) Change is the constant. ERCIM news - Special theme: Evolving Software. 3. A. P. Sage, "Systems Engineering and Systems Management for Reengineering," Systems Software, 1995.

Mo3va3on  

Page 56: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

¡  Industrial  mo3va3on  §  An  SME  apprached  us  with  the  need  to  improve  their  business  process  management  suite.  

§  As  part  of  a  na3onal  project  we  explored  goal-­‐driven  evolu3on  of  conceptual  models.  

§  It  is  interes3ng  to  explore  how  to  support  the  evolu3on  of  business  process  models.  

§  Industry  partners  exposes  their  needs  to  support  model  evolu3on  in  reengineering  environments.  

56 Conceptual model evolution

Mo3va3on  

Page 57: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

¡  Understand  the  evolu3on  process.  ¡  Guidelines  to  facilitate  the  evolu3on  process.  ¡  Techniques  to  record  and  specify  evolu3on.  

§  Traceability  support  to  link  the  old  with  the  new.  ¡  Technological  support.  

§  Par3al  automa3sa3on.  §  Support    for  report  genera3on.  

57

Challenges  

Page 58: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

RE

VE

RS

E

EN

GIN

EE

RIN

G

FO

RW

AR

D

EN

GIN

EE

RIN

G

EVOLUTION PROCESS TO-­‐BE  MODELS  

AS-­‐IS  MODELS  

AS-­‐IS  SYSTEM  

TO-­‐BE  SYSTEM  

ABS

TR

AC

TIO

N L

EVEL

CONCEPTUAL  METAMODEL  

Main  goal  

Page 59: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

To  design  a  method  that  involves  model-­‐driven  analysis  of  conceptual  

model  evolu3on  

Main  goal  

Page 60: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

TRACEABILITY  –BASED  SUPPORT  

DELTA-­‐BASED  ANALYSIS  AMONG  

CONCEPTUAL  MODELS  

PATTERN-­‐BASED  SUPPORT  FOR  

ORGANISATIONAL  EVOLUTION  

GOAL-­‐DRIVEN  MODEL  EVOLUTION  

MIGRATION  AND  SYSTEM  

INTEROPERABILITY  

Main  goal  

Page 61: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

Delta  models  

Page 62: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

A

B D

C

A

C

B

*d(M1,  M2)M1 M2

* *

=

==

==

LEGEND

*

=CHANGED

STATE

TRANSITION

DELTA  MODE

L

EQUAL

TRACE

STD

A

B D

C

A

C

B

*d(M1,  M2)M1 M2

* *

=

==

==

LEGEND

*

=CHANGED

STATE

TRANSITION

DELTA  MODE

L

EQUAL

TRACE

STD

Delta  models  

Page 63: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

operator:  DELTA_OPERATOR

TRACEABILITY

0..*

0..1

0..*

0..1

equalchanged

<<enumerator>>DELTA_OPERATORMODEL_ELEMENT

Metrics  to  measure  delta  models  

Page 64: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

MODEL  M1 MODEL  M2

GOAL  MODEL

CONCEPTUAL  MODEL  

METAMODEL

d(M1,M2)

GOAL  MODEL  METAMODEL

DELTA  MODEL  METAMODEL

1. Specification of goals

2. Specification of delta models

3. Relation of goal and delta models

EVOLUTION  PROCESS

LEGEND

MODEL

METAMODEL

INSTANCE  OF

ASSOCIATION  RELATIONSHIP  

d(a,b)DELTA  MODELDelta  (d)  between  models  a  and  b  

Ra3onale  for  evolu3on  

Page 65: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

PATTERN  DEFINITION  METAMODEL

EVOLUTION  METAMODEL

REVE

RSE  

ENGINEERING FO

RWARD  

ENGIN

EERING

EVOLUTION  PROCESS

EVOLUTIONMODEL

PATTERN  REPOSITORY

LEGE

ND

MODEL METAMODELREPOSITORY(ALSO  A  MODEL)

INSTANCE  OF EXISTENCE  OF  ASSOCIATIONRELATIONSHIPS

PROCESS

TO-­‐BE  MODELS

AS-­‐IS  MODELS

AS-­‐IS  SYSTEM

TO-­‐BE  SYSTEM

ABSTRA

CTION  LEVEL

-­‐

+

Patern-­‐based  evolu3on  

Page 66: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

SALE 3 SUPPLIER

AUTHORISES THE ORDER

SALESMAN

SALE 3 SUPPLIER EVALUATES THE ORDER

SALESMAN

SALE 3.1ORDER

IS REJECTED

SALE 3.2ORDER

IS ACCEPTED+

+

SALE 2SALES MANAGER

ASSIGNS SUPPLIER

SALES MANAGER

SALE 5INSUR. DEPT. CLERK

SPECIFIES CLAUSES

INSUR. DEPT. CLERK

SALE 4TRANSPORT MNGR

ARRANGES LOGISTICS

TRANSP. ASSISTANT

+

+

SALE 2SALES MANAGER

ASSIGNS SUPPLIER

SALES MANAGER

SALE 5INSUR. DEPT. CLERK

SPECIFIES CLAUSES

INSUR. DEPT. CLERK

SALE 4TRANSPORT MNGR

ARRANGES LOGISTICS

TRANSP. ASSISTANT

=

=

=

AS-­‐IS  MODEL

DESCRIPTION:  During  the  meeting  held  on  09/10/2012,  we  analysed  that  supplies  do  not  always  have  enough  stock.

APPLICATION1:  PATTERN_APPLICATION

NAME:  Exception  in  internal  treatmentsCREATION_DATE:  01/12/2011PROBLEM_DESCRIPTION:  A  business  activity  that  involves  an  authorization  can  demand  an  exceptional  behaviour  related  to  approvals  or  decision  takingGOAL_DESCRIPTION:  Offer  possibility  of  rejections  or  alternative  decisions.DISCOVERY_GUIDELINES:  The  analyst  should  ask  the  stakeholders  the  following  questions.  Is  this  business  activity  just  a  formal  acknowledgement  step,  or  is  it  a  seal  of  approval?  Can  it  occur  that  the  decision  is  negative,  that  the  approval  is  denied?  In  case  the  stakeholders  keep  dismissing  such  possibility,  the  analyst  should  insist.  Then,  it  never  has  occurred  that  the  decision  maker  communicated  a  rejection,  right?  And  you  consider  impossible  that  this  can  ever  happen  in  the  future,  right?...

P1:  PATTERN

+

=

TO-­‐BE  MODEL

Patern-­‐based  evolu3on  

Page 67: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

TimeProcess migration framework

generator

generates

Practical applications BPMS migrations

Business process model v3 Business process

enginev3

Database v3

User interfacev3

communication over the network

Business process model v5Business process

enginev5

Database v5

Intermediate XML file to-v5

Intermediate XML schema to-v5

instance of

Extractor from v3

Loader to v5

Business process grammar v3

instance of

Database schema v3

Business process grammar v3

instance of

Database schema v5

conforms toconforms to

LEGEND

program (meta) model database interpreter / engine

input / output flows

other relationship (qualified)

Page 68: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

Practical applications European project quality requirements

Page 69: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

YOUR  PREVIOUS  KNOWLEDGE  ABOUT  

OUR  WORK  

YOUR  CURRENT  KNOWLEDGE  ABOUT  

OUR  WORK  DELTA  

I hope DELTA is full of traces :) +  

Page 70: Model-driven engineering: a practical experiencecrinfo.univ-paris1.fr/2014-02-28 MDD at CRI.pdf · Model-driven engineering:! a practical experience! Oscar Pastor, Sergio España,

www.pros.upv.es  

Oscar, Pastor, Sergio España, Marcela Ruiz {opastor, sergio.espana, lruiz}@pros.upv.es