Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
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
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
Model-driven development
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 +
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
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
Think of artefacts that can be engineered... Model-driven development
§ 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...
Source: MetaEdit+ by MetaCase
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 +
Information systems
What is an information system?
ORGANISATIONAL SYSTEM
INFORMATION SYSTEM
DECISION SYSTEM
OPERATIONAL SYSTEM
method
technology
method
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
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 +
REQUIREMENTS ANALYSIS
REQUIREMENTS MODELLING
REQUIREMENTS VERIFICATION
REQUIREMENTS VALIDATION
REQUIREMENTS ELICITATION
REQUIREMENTS MANAGEMENT
REQUIREMENTS MODEL ANALYSIS
REQUIREMENTS MODELLING
REQUIREMENTS MODEL VERIFICATION
REQUIREMENTS MODEL VALIDATION
REQUIREMENTS ELICITATION
REQUIREMENTS MODEL MANAGEMENT
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
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
CONCEPTUAL MODELLING
REQUIREMENTS MODELLING
REQUIREMENTS MODELLING
CONCEPTUAL MODELLING
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
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
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
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
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
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
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
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
¡ 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
OO-Method Object Model classes
OO-Method Object Model attributes
OO-Method Object Model services
OO-Method Object Model transactions
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
¡ 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
OO-Method Dynamic Model
A service is activated when its condition is fulfilled
OO-Method Dynamic Model triggers
¡ Inter-‐Object Transac3ons/Opera3ons ¡ A Global Transac3on Involves different objects of the same class or
different classes
OO-Method Dynamic Model global transactions
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
¡ 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
OO-Method Functional Model
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
¡ 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
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
OO-Method Presentation Model
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
OO-Method
53
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
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
¡ 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
¡ 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
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
To design a method that involves model-‐driven analysis of conceptual
model evolu3on
Main goal
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
Delta models
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
operator: DELTA_OPERATOR
TRACEABILITY
0..*
0..1
0..*
0..1
equalchanged
<<enumerator>>DELTA_OPERATORMODEL_ELEMENT
Metrics to measure delta models
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
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
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
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)
Practical applications European project quality requirements
YOUR PREVIOUS KNOWLEDGE ABOUT
OUR WORK
YOUR CURRENT KNOWLEDGE ABOUT
OUR WORK DELTA
I hope DELTA is full of traces :) +
www.pros.upv.es
Oscar, Pastor, Sergio España, Marcela Ruiz {opastor, sergio.espana, lruiz}@pros.upv.es