SlideShare une entreprise Scribd logo
1  sur  71
Putting Engineering into MDE 
Components and contracts for models 
and transformations 
Steffen Zschaler 
29 September, 2014 
With (lots of) help by 
Francisco Duran, Jeffrey Terrell, Jendrik Johannes, 
Dimitris Kolovos, and many others 
All errors my own!
Motivation 
• MDE is beginning to see some use 
– Automotive 
– Telecommunications 
– Enterprise systems (especially for quality prediction) 
• Need for systematic engineering 
– To deal with scale of models 
– To deal with complexity of domains 
– To ensure correctness so MDE techniques can be 
relied on 
29/09/2014 (c) Steffen Zschaler 2
Motivation (2) 
• Elements of systematic MDE engineering 
– Requirements 
– Architectures 
– (Reusable) Components 
– Patterns and Architecture Styles 
– Methods and Guidelines 
A research agenda for the years to come 
29/09/2014 (c) Steffen Zschaler 3
Motivation (2) 
• Elements of systematic MDE engineering 
– Requirements 
– Architectures 
– (Reusable) Components 
– Patterns and Architecture Styles 
– Methods and Guidelines 
A research agenda for the years to come 
29/09/2014 (c) Steffen Zschaler 3
A framework for discussing 
composition 
29/09/2014 (c) Steffen Zschaler 4 
Uwe Aßmann: Invasive Software Composition.
A framework for discussing 
composition 
Component Model 
(incl. contracts) 
29/09/2014 (c) Steffen Zschaler 4 
Uwe Aßmann: Invasive Software Composition.
A framework for discussing 
composition 
Composition Model 
(composition technique) 
Component Model 
(incl. contracts) 
29/09/2014 (c) Steffen Zschaler 4 
Uwe Aßmann: Invasive Software Composition.
A framework for discussing 
composition 
Composition Language 
Composition Model 
(composition technique) 
Component Model 
(incl. contracts) 
29/09/2014 (c) Steffen Zschaler 4 
Uwe Aßmann: Invasive Software Composition.
A framework for discussing 
composition 
Composition System 
Composition Language 
Composition Model 
(composition technique) 
Component Model 
(incl. contracts) 
29/09/2014 (c) Steffen Zschaler 4 
Uwe Aßmann: Invasive Software Composition.
Outline 
1. Motivation 
2. Models 
3. Transformations 
4. Challenges 
29/09/2014 (c) Steffen Zschaler 5
Outline 
1. Motivation 
2. Models 
3. Transformations 
4. Challenges 
1. Composition techniques 
2. Contracts 
29/09/2014 (c) Steffen Zschaler 5
Model components 
• Variety of approaches 
– Model/Package Import 
– AOM 
• Package Merge 
• Language-specific merges 
– E.g., for sequence diagrams 
– RAM, MATA, ... 
• Generic merges 
– E.g., GeKo, Reuseware, ... 
29/09/2014 (c) Steffen Zschaler 6
Model components 
Example 1 
29/09/2014
Model components 
Example 1 
29/09/2014
Model components 
Example 2 
29/09/2014 (c) Steffen Zschaler 8
Model components 
Example 2 
29/09/2014 (c) Steffen Zschaler 8
Model components 
Example 2 
29/09/2014 (c) Steffen Zschaler 8
Model components 
Example 2 
29/09/2014 (c) Steffen Zschaler 8
Model components 
Example 2 
29/09/2014 (c) Steffen Zschaler 8
Model components 
Example 2 
29/09/2014 (c) Steffen Zschaler 8
Model components 
Example 2 
29/09/2014 (c) Steffen Zschaler 8
Model components 
Contracts? 
• Only syntactical, if any 
– Meta-classes of elements expected 
– Naming and signatures of operations 
• Key exception: Rely-Guarantee 
Specifications 
– For temporal logic and state machines 
29/09/2014 (c) Steffen Zschaler 9
Syntactic Contracts 
29/09/2014 (c) Steffen Zschaler 10
Syntactic Contracts 
29/09/2014 (c) Steffen Zschaler 10
Syntactic Contracts 
29/09/2014 (c) Steffen Zschaler 10
Outline 
1. Motivation 
2. Models 
3. Transformations 
4. Challenges 
1. Composition techniques 
2. Contracts 
29/09/2014 (c) Steffen Zschaler 11
Transformation Composition 
29/09/2014 (c) Steffen Zschaler 12
Transformation Composition 
External Internal 
29/09/2014 (c) Steffen Zschaler 12
Transformation Composition 
External Internal 
Sequential 
T1 M1 M2 M3 T2 
29/09/2014 (c) Steffen Zschaler 12
Transformation Composition 
External Internal 
Sequential Rule Superimposition 
(aka import with 
replacement) 
29/09/2014 (c) Steffen Zschaler 12
Transformation Composition 
External Internal 
Sequential Rule Superimposition 
(aka import with 
replacement) 
M1 
M2 
29/09/2014 (c) Steffen Zschaler 12
Transformation Composition 
External Internal 
Sequential Parallel Rule Superimposition 
(aka import with 
replacement) 
T1 M1 
M2 
M3 
T2 M4 
M5 
29/09/2014 (c) Steffen Zschaler 12
Transformation Composition 
External Internal 
Sequential Parallel Rule Superimposition 
(aka import with 
replacement) 
Rule Weaving 
(aka full aspect 
orientation) 
29/09/2014 (c) Steffen Zschaler 12
Transformation Composition 
External Internal 
Sequential Parallel Rule Superimposition 
(aka import with 
replacement) 
Rule Weaving 
(aka full aspect 
orientation) 
M1 
M2 
29/09/2014 (c) Steffen Zschaler 12
Transformation Composition 
Sequential 
Class Model OO to Relational Table Model 
29/09/2014 (c) Steffen Zschaler 13
Transformation Composition 
Sequential 
Table Model 
Normalised 
Table Model 
Normalisation 
29/09/2014 (c) Steffen Zschaler 13
Transformation Composition 
Sequential 
Class Model OO to Relational Table Model 
Normalised 
Table Model 
Normalisation 
29/09/2014 (c) Steffen Zschaler 13
Transformation Composition 
Parallel 
:Table 
* 
<<hook>> 
:Column 
Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: 
Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
Transformation Composition 
Parallel 
:Table 
:Class * 
<<hook>> 
:Column 
Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: 
Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
Transformation Composition 
Parallel 
:Table 
:Class * 
<<hook>> 
:Column 
:Attribute 
Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: 
Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
Transformation Composition 
Parallel 
:Table 
:Class * 
<<hook>> 
:Column 
<<anchor>> 
:Column 
:Attribute 
Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: 
Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
Transformation Composition 
Parallel 
:Table 
:Class * 
<<hook>> 
:Column 
<<anchor>> 
:Column 
:Attribute 
Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: 
Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
Transformation Composition 
Parallel 
:Table 
:Class 
super 
sub 
:Class * 
<<hook>> 
:Column 
<<anchor>> 
:Column 
:Attribute 
Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: 
Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
Transformation Composition 
Parallel 
<<anchor>><<slot>> 
:Table 
* 
<<hook>> 
:Column 
<<anchor>> 
:Column 
:Class 
super 
sub 
:Class 
:Attribute 
Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: 
Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
Transformation Composition 
Parallel 
<<anchor>><<slot>> 
:Table 
* 
<<hook>> 
:Column 
<<anchor>> 
:Column 
<<anchor>><<slot>> 
:Table 
* 
<<hook>> 
:Column 
:Class 
super 
sub 
:Class 
:Attribute 
Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: 
Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
Transformation Composition 
Parallel 
Weaving 
<<anchor>><<slot>> 
:Table 
* 
<<hook>> 
:Column 
<<anchor>> 
:Column 
<<anchor>><<slot>> 
:Table 
* 
<<hook>> 
:Column 
:Class 
super 
sub 
:Class 
:Attribute 
Weaving 
Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: 
Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
Transformation Composition 
Superimposition 
module Class2Relational; 
create OUT : Relational from IN : Class; 
rule Class2Table { 
Based on Lawley, M., Duddy, K., Gerber, A., Raymond, K. Language Features for Re-Use and Maintainability of MDA Transformations. OOPSLA & 
GPCE Workshop, 2004 
and: Jouault, F. and Kurtev, I. Transforming models with ATL. In: Satellite Events at the MoDELS 2005 Conference, Oct 2005, Montego Bay, Jamaica. 
pp. 128-138, LNCS 3844 (long version from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.6117&rep=rep1&type=pdf ) 
from 
c : Class!Class 
to 
out : Relational!Table ( 
name <- c.name, 
col <- Sequence {key} 
->union(c.attr)), 
key : Relational!Column ( 
name <- 'objectId', 
type <- objectIdType) 
} 
rule Attribute2Column { 
from 
a : Class!Attribute 
to 
out : Relational!Column ( 
name <- a.name, 
type <- a.type) 
} 
29/09/2014 (c) Steffen Zschaler 15
Transformation Composition 
Superimposition 
module Class2Relational; 
create OUT : Relational from IN : Class; 
rule Class2Table { 
module Class2RelationalInheritance; 
create OUT : Relational from IN : Class; 
rule Class2Table { 
Based on Lawley, M., Duddy, K., Gerber, A., Raymond, K. Language Features for Re-Use and Maintainability of MDA Transformations. OOPSLA & 
GPCE Workshop, 2004 
and: Jouault, F. and Kurtev, I. Transforming models with ATL. In: Satellite Events at the MoDELS 2005 Conference, Oct 2005, Montego Bay, Jamaica. 
pp. 128-138, LNCS 3844 (long version from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.6117&rep=rep1&type=pdf ) 
from 
c : Class!Class 
to 
out : Relational!Table ( 
name <- c.name, 
col <- Sequence {key} 
->union(c.attr)), 
key : Relational!Column ( 
name <- 'objectId', 
type <- objectIdType) 
} 
rule Attribute2Column { 
from 
a : Class!Attribute 
to 
out : Relational!Column ( 
name <- a.name, 
type <- a.type) 
} 
from 
c : Class!Class ( 
c.parent.oclIsUndefined()) 
to 
out : Relational!Table ( 
name <- c.name, 
col <- Sequence {key} 
->union(c.flattenedFeatures)), 
key : Relational!Column ( 
name <- 'objectId', 
type <- objectIdType) 
} 
-- flattenedFeatures helper not shown. 
-- It collects all features of a class 
-- and all its sub-classes 
29/09/2014 (c) Steffen Zschaler 15
Transformation Composition 
Superimposition 
module Class2Relational; 
create OUT : Relational from IN : Class; 
rule Class2Table { 
Based on Lawley, M., Duddy, K., Gerber, A., Raymond, K. Language Features for Re-Use and Maintainability of MDA Transformations. OOPSLA & 
GPCE Workshop, 2004 
and: Jouault, F. and Kurtev, I. Transforming models with ATL. In: Satellite Events at the MoDELS 2005 Conference, Oct 2005, Montego Bay, Jamaica. 
pp. 128-138, LNCS 3844 (long version from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.6117&rep=rep1&type=pdf ) 
from 
c : Class!Class 
to 
out : Relational!Table ( 
name <- c.name, 
col <- Sequence {key} 
->union(c.attr)), 
key : Relational!Column ( 
name <- 'objectId', 
type <- objectIdType) 
} 
rule Attribute2Column { 
from 
a : Class!Attribute 
to 
out : Relational!Column ( 
name <- a.name, 
type <- a.type) 
} 
( 
c.parent.oclIsUndefined()) 
to 
out : Relational!Table ( 
name <- c.name, 
col <- Sequence {key} 
->union(c.flattenedFeatures)), 
key : Relational!Column ( 
name 'objectId', 
type <- objectIdType) 
} 
-- flattenedFeatures helper 
-- not shown... 
29/09/2014 (c) Steffen Zschaler 15
Transformation Composition 
Weaving 
29/09/2014 (c) Steffen Zschaler 
16
Transformation Composition 
Weaving 
29/09/2014 (c) Steffen Zschaler 
16
Contracts 
• Need both syntactical and semantic 
contracts 
• Goal: 
– Be precise enough to enable reasoning and 
give assurances 
– Be lenient enough to maximise reusability 
29/09/2014 (c) Steffen Zschaler 17
Contracts (2) 
Will look at two types of contracts: 
– Syntactic contracts for sequential composition 
(aka model typing) 
– Semantic contracts for rule weaving 
29/09/2014 (c) Steffen Zschaler 18
Contracts for sequential 
composition 
Class Model OO to Relational Table Model 
• Contracts specify the kinds of models 
read and written by a transformation 
• Options: 
1. Meta-models 
2. Effective meta-models 
3. Model types / Concepts 
Normalised 
Table Model 
Normalisation 
29/09/2014 (c) Steffen Zschaler 19
Model typing problems 
mmo NewSM (s : Simple) { 
s += new StateMachine () 
} 
S. Zschaler: Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity. 
In VAO’14
Model typing problems 
mmo NewSM (s : Simple) { 
s += new StateMachine () 
} 
StateMachine 
initialState 
0..1 
State 
name: String 
Transition 
event: String 
containedState * 
src 
1 
tgt 
1 
incoming 
* 
* 
outgoing 
S. Zschaler: Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity. 
In VAO’14
Model typing problems 
mmo NewSM (s : Simple) { 
s += new StateMachine () 
} 
StateMachine 
initialState 
0..1 
State 
name: String 
Transition 
event: String 
containedState * 
src 
1 
tgt 
1 
incoming 
* 
* 
outgoing 
Difference between Mandatory-start <: Simple and Mandatory-start Steel Simple 
S. Zschaler: Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity. 
In VAO’14
Model typing problems 
Mandatory-start <:Steel Simple 
mmo NewSM (s : Simple) { 
s += new StateMachine () 
} 
StateMachine 
initialState 
0..1 
State 
name: String 
Transition 
event: String 
containedState * 
src 
1 
tgt 
1 
incoming 
* 
* 
outgoing 
Difference between Simple and Mandatory-start 
Error: Allows passing in 
Mandatory-start instance, but breaks it. 
S. Zschaler: Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity. 
In VAO’14
mmo NewSM (s : Simple) { 
sm := new StateMachine () ; 
sm.initialState += new State () ; 
s += sm 
} 
Model typing problems 
StateMachine 
initialState 
0..1 
State 
name: String 
Transition 
event: String 
containedState * 
src 
1 
tgt 
1 
incoming 
* 
* 
outgoing 
Difference between Mandatory-start <: Simple and Mandatory-start Guy Simple 
S. Zschaler: Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity. 
In VAO’14
Mandatory-start <:Guy Simple 
mmo NewSM (s : Simple) { 
sm := new StateMachine () ; 
sm.initialState += new State () ; 
s += sm 
} 
Model typing problems 
StateMachine 
initialState 
0..1 
State 
name: String 
Transition 
event: String 
containedState * 
src 
1 
tgt 
1 
incoming 
* 
* 
outgoing 
Difference between Simple and Mandatory-start 
Over-restriction: Would work with 
Mandatory-start instance, but cannot specify. 
S. Zschaler: Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity. 
In VAO’14
Syntactic contracts: 
Research challenges 
• Type theory of transformations 
– Including intrinsic and extrinsic contracts 
• Static analysis of transformations 
– Data flow analysis 
• Tool support for managing and 
checking transformation contracts 
29/09/2014 (c) Steffen Zschaler 21
Contracts for rule weaving 
29/09/2014 (c) Steffen Zschaler 22
Contracts for rule weaving 
29/09/2014 (c) Steffen Zschaler 22
Contracts for rule weaving 
• Morphisms over transformation 
systems 
– Both for parameter and bindings 
• Define Properties of morphisms to 
ensure semantics of weaving 
– Behaviour reflection and preservation 
 Semantic contracts 
29/09/2014 (c) Steffen Zschaler 23
Semantic contracts: 
Research challenges 
• Other semantic properties 
– Allow some change of behaviour 
– Express behaviour of base parametrised over 
transformations to be woven 
29/09/2014 (c) Steffen Zschaler 24
Semantic contracts: 
Research challenges 
• Other semantic properties 
– Allow some change of behaviour 
– Express behaviour of base parametrised over 
transformations to be woven 
M1 M2 
τ 
29/09/2014 (c) Steffen Zschaler 24
Semantic contracts: 
Research challenges 
• Other semantic properties 
– Allow some change of behaviour 
– Express behaviour of base parametrised over 
transformations to be woven 
M1 M2 
τ 
sem1 sem2 
ζ 
Γ1 Γ2 
29/09/2014 (c) Steffen Zschaler 24
Semantic contracts: 
Research challenges 
• Other semantic properties 
– Allow some change of behaviour 
– Express behaviour of base parametrised over 
transformations to be woven 
M1 M2 
τ(τ1, .. , τn) 
f(ζ1, .. , ζn) 
sem1 sem2 
ζ 
Γ1 Γ2 
29/09/2014 (c) Steffen Zschaler 24
Outline 
1. Motivation 
2. Models 
3. Transformations 
4. Challenges 
29/09/2014 (c) Steffen Zschaler 25
Research Agenda 
• Need a calculus of transformation components 
– What do they look like? 
– What composition operations are there? 
– What are contracts? 
– What properties can we derive for composite transformations? 
• Some work exists: 
– See talk 
– Megamodelling (e.g., MINNT for typing) 
• But are still missing fundamental theory 
29/09/2014 (c) Steffen Zschaler 26
http://xkcd.com/1343/ 
29/09/2014 (c) Steffen Zschaler

Contenu connexe

En vedette

Analysis on questionnaire results
Analysis on questionnaire resultsAnalysis on questionnaire results
Analysis on questionnaire resultsTemi Ayadi
 
How effective is the combination of your main product and the ancillary text?
How effective is the combination of your main product and the ancillary text?How effective is the combination of your main product and the ancillary text?
How effective is the combination of your main product and the ancillary text?Temi Ayadi
 
Historieta de informatica
Historieta de informaticaHistorieta de informatica
Historieta de informaticajulyettesalinas
 
National Career Readiness Certification: An Overview
National Career Readiness Certification: An OverviewNational Career Readiness Certification: An Overview
National Career Readiness Certification: An Overviewbscdesign
 
MobAir_Presentation_2016
MobAir_Presentation_2016MobAir_Presentation_2016
MobAir_Presentation_2016Oles Dziub
 
Second order homogeneous linear differential equations
Second order homogeneous linear differential equations Second order homogeneous linear differential equations
Second order homogeneous linear differential equations Viraj Patel
 

En vedette (7)

FESCA 2015 keynote
FESCA 2015 keynoteFESCA 2015 keynote
FESCA 2015 keynote
 
Analysis on questionnaire results
Analysis on questionnaire resultsAnalysis on questionnaire results
Analysis on questionnaire results
 
How effective is the combination of your main product and the ancillary text?
How effective is the combination of your main product and the ancillary text?How effective is the combination of your main product and the ancillary text?
How effective is the combination of your main product and the ancillary text?
 
Historieta de informatica
Historieta de informaticaHistorieta de informatica
Historieta de informatica
 
National Career Readiness Certification: An Overview
National Career Readiness Certification: An OverviewNational Career Readiness Certification: An Overview
National Career Readiness Certification: An Overview
 
MobAir_Presentation_2016
MobAir_Presentation_2016MobAir_Presentation_2016
MobAir_Presentation_2016
 
Second order homogeneous linear differential equations
Second order homogeneous linear differential equations Second order homogeneous linear differential equations
Second order homogeneous linear differential equations
 

Similaire à Keynote Extreme Modelling 2014

Ece 1322 programming_for_engineers_s1_201213(1)
Ece 1322 programming_for_engineers_s1_201213(1)Ece 1322 programming_for_engineers_s1_201213(1)
Ece 1322 programming_for_engineers_s1_201213(1)Minda Kronik
 
Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...Fáber D. Giraldo
 
Barcelona Global Energy Challenges 2015
Barcelona Global Energy Challenges 2015Barcelona Global Energy Challenges 2015
Barcelona Global Energy Challenges 2015Pau Fonseca
 
The Finite element Method, A practical approach
The Finite element Method, A practical approachThe Finite element Method, A practical approach
The Finite element Method, A practical approachEngrUsmanKhan1
 
PNPA - a Transformative Approach to Nanoengineering
PNPA - a Transformative Approach to NanoengineeringPNPA - a Transformative Approach to Nanoengineering
PNPA - a Transformative Approach to NanoengineeringRobert Cormia
 
Model Driven Requirements Engineering: Mapping the Field and Beyond
Model Driven Requirements Engineering: Mapping the Field and BeyondModel Driven Requirements Engineering: Mapping the Field and Beyond
Model Driven Requirements Engineering: Mapping the Field and BeyondSaïd Assar
 
Course File-AUE010305
Course File-AUE010305Course File-AUE010305
Course File-AUE010305Joms Antony
 
TAROT2013 Testing School - Gilles Perrouin presentation
TAROT2013 Testing School -  Gilles Perrouin presentationTAROT2013 Testing School -  Gilles Perrouin presentation
TAROT2013 Testing School - Gilles Perrouin presentationHenry Muccini
 
AI-SDV 2022: Accommodating the Deep Learning Revolution by a Development Proc...
AI-SDV 2022: Accommodating the Deep Learning Revolution by a Development Proc...AI-SDV 2022: Accommodating the Deep Learning Revolution by a Development Proc...
AI-SDV 2022: Accommodating the Deep Learning Revolution by a Development Proc...Dr. Haxel Consult
 
Naval Aviation Materials and Manufacturing Workshop: Accelerating Technolog...
Naval Aviation Materials and Manufacturing Workshop:  Accelerating Technolog...Naval Aviation Materials and Manufacturing Workshop:  Accelerating Technolog...
Naval Aviation Materials and Manufacturing Workshop: Accelerating Technolog...frazierwe
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Hugo Bruneliere
 
Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)Benoit Combemale
 
New books apr 2012 part2
New books apr 2012 part2New books apr 2012 part2
New books apr 2012 part2maethaya
 
Effective Detection of Model Changes
Effective Detection of Model ChangesEffective Detection of Model Changes
Effective Detection of Model ChangesDavid Méndez-Acuña
 
Evolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentEvolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentAlfonso Pierantonio
 
92MSDO_2016_YBU_LECTURE_1.ppt
92MSDO_2016_YBU_LECTURE_1.ppt92MSDO_2016_YBU_LECTURE_1.ppt
92MSDO_2016_YBU_LECTURE_1.pptRuhaimiMustapa1
 

Similaire à Keynote Extreme Modelling 2014 (20)

Ece 1322 programming_for_engineers_s1_201213(1)
Ece 1322 programming_for_engineers_s1_201213(1)Ece 1322 programming_for_engineers_s1_201213(1)
Ece 1322 programming_for_engineers_s1_201213(1)
 
Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...Analysing the concept of quality in model-driven engineering literature: a sy...
Analysing the concept of quality in model-driven engineering literature: a sy...
 
Barcelona Global Energy Challenges 2015
Barcelona Global Energy Challenges 2015Barcelona Global Energy Challenges 2015
Barcelona Global Energy Challenges 2015
 
Resume April 2015
Resume April 2015Resume April 2015
Resume April 2015
 
The Finite element Method, A practical approach
The Finite element Method, A practical approachThe Finite element Method, A practical approach
The Finite element Method, A practical approach
 
PNPA - a Transformative Approach to Nanoengineering
PNPA - a Transformative Approach to NanoengineeringPNPA - a Transformative Approach to Nanoengineering
PNPA - a Transformative Approach to Nanoengineering
 
Model Driven Requirements Engineering: Mapping the Field and Beyond
Model Driven Requirements Engineering: Mapping the Field and BeyondModel Driven Requirements Engineering: Mapping the Field and Beyond
Model Driven Requirements Engineering: Mapping the Field and Beyond
 
Course File-AUE010305
Course File-AUE010305Course File-AUE010305
Course File-AUE010305
 
TAROT2013 Testing School - Gilles Perrouin presentation
TAROT2013 Testing School -  Gilles Perrouin presentationTAROT2013 Testing School -  Gilles Perrouin presentation
TAROT2013 Testing School - Gilles Perrouin presentation
 
AI-SDV 2022: Accommodating the Deep Learning Revolution by a Development Proc...
AI-SDV 2022: Accommodating the Deep Learning Revolution by a Development Proc...AI-SDV 2022: Accommodating the Deep Learning Revolution by a Development Proc...
AI-SDV 2022: Accommodating the Deep Learning Revolution by a Development Proc...
 
Naval Aviation Materials and Manufacturing Workshop: Accelerating Technolog...
Naval Aviation Materials and Manufacturing Workshop:  Accelerating Technolog...Naval Aviation Materials and Manufacturing Workshop:  Accelerating Technolog...
Naval Aviation Materials and Manufacturing Workshop: Accelerating Technolog...
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
 
Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)Executable Metamodeling for Model V&V (May 25th, 2010)
Executable Metamodeling for Model V&V (May 25th, 2010)
 
Me 308 142 syllabus(2)
Me 308 142 syllabus(2)Me 308 142 syllabus(2)
Me 308 142 syllabus(2)
 
New books apr 2012 part2
New books apr 2012 part2New books apr 2012 part2
New books apr 2012 part2
 
Effective Detection of Model Changes
Effective Detection of Model ChangesEffective Detection of Model Changes
Effective Detection of Model Changes
 
Evolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentEvolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven Development
 
Introduction to MDE
Introduction to MDEIntroduction to MDE
Introduction to MDE
 
92MSDO_2016_YBU_LECTURE_1.ppt
92MSDO_2016_YBU_LECTURE_1.ppt92MSDO_2016_YBU_LECTURE_1.ppt
92MSDO_2016_YBU_LECTURE_1.ppt
 
Plug play language_models
Plug play language_modelsPlug play language_models
Plug play language_models
 

Dernier

Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 

Dernier (20)

Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 

Keynote Extreme Modelling 2014

  • 1. Putting Engineering into MDE Components and contracts for models and transformations Steffen Zschaler 29 September, 2014 With (lots of) help by Francisco Duran, Jeffrey Terrell, Jendrik Johannes, Dimitris Kolovos, and many others All errors my own!
  • 2. Motivation • MDE is beginning to see some use – Automotive – Telecommunications – Enterprise systems (especially for quality prediction) • Need for systematic engineering – To deal with scale of models – To deal with complexity of domains – To ensure correctness so MDE techniques can be relied on 29/09/2014 (c) Steffen Zschaler 2
  • 3. Motivation (2) • Elements of systematic MDE engineering – Requirements – Architectures – (Reusable) Components – Patterns and Architecture Styles – Methods and Guidelines A research agenda for the years to come 29/09/2014 (c) Steffen Zschaler 3
  • 4. Motivation (2) • Elements of systematic MDE engineering – Requirements – Architectures – (Reusable) Components – Patterns and Architecture Styles – Methods and Guidelines A research agenda for the years to come 29/09/2014 (c) Steffen Zschaler 3
  • 5. A framework for discussing composition 29/09/2014 (c) Steffen Zschaler 4 Uwe Aßmann: Invasive Software Composition.
  • 6. A framework for discussing composition Component Model (incl. contracts) 29/09/2014 (c) Steffen Zschaler 4 Uwe Aßmann: Invasive Software Composition.
  • 7. A framework for discussing composition Composition Model (composition technique) Component Model (incl. contracts) 29/09/2014 (c) Steffen Zschaler 4 Uwe Aßmann: Invasive Software Composition.
  • 8. A framework for discussing composition Composition Language Composition Model (composition technique) Component Model (incl. contracts) 29/09/2014 (c) Steffen Zschaler 4 Uwe Aßmann: Invasive Software Composition.
  • 9. A framework for discussing composition Composition System Composition Language Composition Model (composition technique) Component Model (incl. contracts) 29/09/2014 (c) Steffen Zschaler 4 Uwe Aßmann: Invasive Software Composition.
  • 10. Outline 1. Motivation 2. Models 3. Transformations 4. Challenges 29/09/2014 (c) Steffen Zschaler 5
  • 11. Outline 1. Motivation 2. Models 3. Transformations 4. Challenges 1. Composition techniques 2. Contracts 29/09/2014 (c) Steffen Zschaler 5
  • 12. Model components • Variety of approaches – Model/Package Import – AOM • Package Merge • Language-specific merges – E.g., for sequence diagrams – RAM, MATA, ... • Generic merges – E.g., GeKo, Reuseware, ... 29/09/2014 (c) Steffen Zschaler 6
  • 13. Model components Example 1 29/09/2014
  • 14. Model components Example 1 29/09/2014
  • 15. Model components Example 2 29/09/2014 (c) Steffen Zschaler 8
  • 16. Model components Example 2 29/09/2014 (c) Steffen Zschaler 8
  • 17. Model components Example 2 29/09/2014 (c) Steffen Zschaler 8
  • 18. Model components Example 2 29/09/2014 (c) Steffen Zschaler 8
  • 19. Model components Example 2 29/09/2014 (c) Steffen Zschaler 8
  • 20. Model components Example 2 29/09/2014 (c) Steffen Zschaler 8
  • 21. Model components Example 2 29/09/2014 (c) Steffen Zschaler 8
  • 22. Model components Contracts? • Only syntactical, if any – Meta-classes of elements expected – Naming and signatures of operations • Key exception: Rely-Guarantee Specifications – For temporal logic and state machines 29/09/2014 (c) Steffen Zschaler 9
  • 23. Syntactic Contracts 29/09/2014 (c) Steffen Zschaler 10
  • 24. Syntactic Contracts 29/09/2014 (c) Steffen Zschaler 10
  • 25. Syntactic Contracts 29/09/2014 (c) Steffen Zschaler 10
  • 26. Outline 1. Motivation 2. Models 3. Transformations 4. Challenges 1. Composition techniques 2. Contracts 29/09/2014 (c) Steffen Zschaler 11
  • 27. Transformation Composition 29/09/2014 (c) Steffen Zschaler 12
  • 28. Transformation Composition External Internal 29/09/2014 (c) Steffen Zschaler 12
  • 29. Transformation Composition External Internal Sequential T1 M1 M2 M3 T2 29/09/2014 (c) Steffen Zschaler 12
  • 30. Transformation Composition External Internal Sequential Rule Superimposition (aka import with replacement) 29/09/2014 (c) Steffen Zschaler 12
  • 31. Transformation Composition External Internal Sequential Rule Superimposition (aka import with replacement) M1 M2 29/09/2014 (c) Steffen Zschaler 12
  • 32. Transformation Composition External Internal Sequential Parallel Rule Superimposition (aka import with replacement) T1 M1 M2 M3 T2 M4 M5 29/09/2014 (c) Steffen Zschaler 12
  • 33. Transformation Composition External Internal Sequential Parallel Rule Superimposition (aka import with replacement) Rule Weaving (aka full aspect orientation) 29/09/2014 (c) Steffen Zschaler 12
  • 34. Transformation Composition External Internal Sequential Parallel Rule Superimposition (aka import with replacement) Rule Weaving (aka full aspect orientation) M1 M2 29/09/2014 (c) Steffen Zschaler 12
  • 35. Transformation Composition Sequential Class Model OO to Relational Table Model 29/09/2014 (c) Steffen Zschaler 13
  • 36. Transformation Composition Sequential Table Model Normalised Table Model Normalisation 29/09/2014 (c) Steffen Zschaler 13
  • 37. Transformation Composition Sequential Class Model OO to Relational Table Model Normalised Table Model Normalisation 29/09/2014 (c) Steffen Zschaler 13
  • 38. Transformation Composition Parallel :Table * <<hook>> :Column Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
  • 39. Transformation Composition Parallel :Table :Class * <<hook>> :Column Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
  • 40. Transformation Composition Parallel :Table :Class * <<hook>> :Column :Attribute Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
  • 41. Transformation Composition Parallel :Table :Class * <<hook>> :Column <<anchor>> :Column :Attribute Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
  • 42. Transformation Composition Parallel :Table :Class * <<hook>> :Column <<anchor>> :Column :Attribute Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
  • 43. Transformation Composition Parallel :Table :Class super sub :Class * <<hook>> :Column <<anchor>> :Column :Attribute Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
  • 44. Transformation Composition Parallel <<anchor>><<slot>> :Table * <<hook>> :Column <<anchor>> :Column :Class super sub :Class :Attribute Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
  • 45. Transformation Composition Parallel <<anchor>><<slot>> :Table * <<hook>> :Column <<anchor>> :Column <<anchor>><<slot>> :Table * <<hook>> :Column :Class super sub :Class :Attribute Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
  • 46. Transformation Composition Parallel Weaving <<anchor>><<slot>> :Table * <<hook>> :Column <<anchor>> :Column <<anchor>><<slot>> :Table * <<hook>> :Column :Class super sub :Class :Attribute Weaving Based on Jendrik Johannes, Steffen Zschaler, Miguel A. Fernández, Antonio Castillo, Dimitrios S. Kolovos, Richard F. Paige: Abstracting Complex Languages through Transformation and Composition. MODELS 2009, LNCS 5795, pp 546–550.
  • 47. Transformation Composition Superimposition module Class2Relational; create OUT : Relational from IN : Class; rule Class2Table { Based on Lawley, M., Duddy, K., Gerber, A., Raymond, K. Language Features for Re-Use and Maintainability of MDA Transformations. OOPSLA & GPCE Workshop, 2004 and: Jouault, F. and Kurtev, I. Transforming models with ATL. In: Satellite Events at the MoDELS 2005 Conference, Oct 2005, Montego Bay, Jamaica. pp. 128-138, LNCS 3844 (long version from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.6117&rep=rep1&type=pdf ) from c : Class!Class to out : Relational!Table ( name <- c.name, col <- Sequence {key} ->union(c.attr)), key : Relational!Column ( name <- 'objectId', type <- objectIdType) } rule Attribute2Column { from a : Class!Attribute to out : Relational!Column ( name <- a.name, type <- a.type) } 29/09/2014 (c) Steffen Zschaler 15
  • 48. Transformation Composition Superimposition module Class2Relational; create OUT : Relational from IN : Class; rule Class2Table { module Class2RelationalInheritance; create OUT : Relational from IN : Class; rule Class2Table { Based on Lawley, M., Duddy, K., Gerber, A., Raymond, K. Language Features for Re-Use and Maintainability of MDA Transformations. OOPSLA & GPCE Workshop, 2004 and: Jouault, F. and Kurtev, I. Transforming models with ATL. In: Satellite Events at the MoDELS 2005 Conference, Oct 2005, Montego Bay, Jamaica. pp. 128-138, LNCS 3844 (long version from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.6117&rep=rep1&type=pdf ) from c : Class!Class to out : Relational!Table ( name <- c.name, col <- Sequence {key} ->union(c.attr)), key : Relational!Column ( name <- 'objectId', type <- objectIdType) } rule Attribute2Column { from a : Class!Attribute to out : Relational!Column ( name <- a.name, type <- a.type) } from c : Class!Class ( c.parent.oclIsUndefined()) to out : Relational!Table ( name <- c.name, col <- Sequence {key} ->union(c.flattenedFeatures)), key : Relational!Column ( name <- 'objectId', type <- objectIdType) } -- flattenedFeatures helper not shown. -- It collects all features of a class -- and all its sub-classes 29/09/2014 (c) Steffen Zschaler 15
  • 49. Transformation Composition Superimposition module Class2Relational; create OUT : Relational from IN : Class; rule Class2Table { Based on Lawley, M., Duddy, K., Gerber, A., Raymond, K. Language Features for Re-Use and Maintainability of MDA Transformations. OOPSLA & GPCE Workshop, 2004 and: Jouault, F. and Kurtev, I. Transforming models with ATL. In: Satellite Events at the MoDELS 2005 Conference, Oct 2005, Montego Bay, Jamaica. pp. 128-138, LNCS 3844 (long version from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.6117&rep=rep1&type=pdf ) from c : Class!Class to out : Relational!Table ( name <- c.name, col <- Sequence {key} ->union(c.attr)), key : Relational!Column ( name <- 'objectId', type <- objectIdType) } rule Attribute2Column { from a : Class!Attribute to out : Relational!Column ( name <- a.name, type <- a.type) } ( c.parent.oclIsUndefined()) to out : Relational!Table ( name <- c.name, col <- Sequence {key} ->union(c.flattenedFeatures)), key : Relational!Column ( name 'objectId', type <- objectIdType) } -- flattenedFeatures helper -- not shown... 29/09/2014 (c) Steffen Zschaler 15
  • 50. Transformation Composition Weaving 29/09/2014 (c) Steffen Zschaler 16
  • 51. Transformation Composition Weaving 29/09/2014 (c) Steffen Zschaler 16
  • 52. Contracts • Need both syntactical and semantic contracts • Goal: – Be precise enough to enable reasoning and give assurances – Be lenient enough to maximise reusability 29/09/2014 (c) Steffen Zschaler 17
  • 53. Contracts (2) Will look at two types of contracts: – Syntactic contracts for sequential composition (aka model typing) – Semantic contracts for rule weaving 29/09/2014 (c) Steffen Zschaler 18
  • 54. Contracts for sequential composition Class Model OO to Relational Table Model • Contracts specify the kinds of models read and written by a transformation • Options: 1. Meta-models 2. Effective meta-models 3. Model types / Concepts Normalised Table Model Normalisation 29/09/2014 (c) Steffen Zschaler 19
  • 55. Model typing problems mmo NewSM (s : Simple) { s += new StateMachine () } S. Zschaler: Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity. In VAO’14
  • 56. Model typing problems mmo NewSM (s : Simple) { s += new StateMachine () } StateMachine initialState 0..1 State name: String Transition event: String containedState * src 1 tgt 1 incoming * * outgoing S. Zschaler: Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity. In VAO’14
  • 57. Model typing problems mmo NewSM (s : Simple) { s += new StateMachine () } StateMachine initialState 0..1 State name: String Transition event: String containedState * src 1 tgt 1 incoming * * outgoing Difference between Mandatory-start <: Simple and Mandatory-start Steel Simple S. Zschaler: Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity. In VAO’14
  • 58. Model typing problems Mandatory-start <:Steel Simple mmo NewSM (s : Simple) { s += new StateMachine () } StateMachine initialState 0..1 State name: String Transition event: String containedState * src 1 tgt 1 incoming * * outgoing Difference between Simple and Mandatory-start Error: Allows passing in Mandatory-start instance, but breaks it. S. Zschaler: Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity. In VAO’14
  • 59. mmo NewSM (s : Simple) { sm := new StateMachine () ; sm.initialState += new State () ; s += sm } Model typing problems StateMachine initialState 0..1 State name: String Transition event: String containedState * src 1 tgt 1 incoming * * outgoing Difference between Mandatory-start <: Simple and Mandatory-start Guy Simple S. Zschaler: Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity. In VAO’14
  • 60. Mandatory-start <:Guy Simple mmo NewSM (s : Simple) { sm := new StateMachine () ; sm.initialState += new State () ; s += sm } Model typing problems StateMachine initialState 0..1 State name: String Transition event: String containedState * src 1 tgt 1 incoming * * outgoing Difference between Simple and Mandatory-start Over-restriction: Would work with Mandatory-start instance, but cannot specify. S. Zschaler: Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity. In VAO’14
  • 61. Syntactic contracts: Research challenges • Type theory of transformations – Including intrinsic and extrinsic contracts • Static analysis of transformations – Data flow analysis • Tool support for managing and checking transformation contracts 29/09/2014 (c) Steffen Zschaler 21
  • 62. Contracts for rule weaving 29/09/2014 (c) Steffen Zschaler 22
  • 63. Contracts for rule weaving 29/09/2014 (c) Steffen Zschaler 22
  • 64. Contracts for rule weaving • Morphisms over transformation systems – Both for parameter and bindings • Define Properties of morphisms to ensure semantics of weaving – Behaviour reflection and preservation  Semantic contracts 29/09/2014 (c) Steffen Zschaler 23
  • 65. Semantic contracts: Research challenges • Other semantic properties – Allow some change of behaviour – Express behaviour of base parametrised over transformations to be woven 29/09/2014 (c) Steffen Zschaler 24
  • 66. Semantic contracts: Research challenges • Other semantic properties – Allow some change of behaviour – Express behaviour of base parametrised over transformations to be woven M1 M2 τ 29/09/2014 (c) Steffen Zschaler 24
  • 67. Semantic contracts: Research challenges • Other semantic properties – Allow some change of behaviour – Express behaviour of base parametrised over transformations to be woven M1 M2 τ sem1 sem2 ζ Γ1 Γ2 29/09/2014 (c) Steffen Zschaler 24
  • 68. Semantic contracts: Research challenges • Other semantic properties – Allow some change of behaviour – Express behaviour of base parametrised over transformations to be woven M1 M2 τ(τ1, .. , τn) f(ζ1, .. , ζn) sem1 sem2 ζ Γ1 Γ2 29/09/2014 (c) Steffen Zschaler 24
  • 69. Outline 1. Motivation 2. Models 3. Transformations 4. Challenges 29/09/2014 (c) Steffen Zschaler 25
  • 70. Research Agenda • Need a calculus of transformation components – What do they look like? – What composition operations are there? – What are contracts? – What properties can we derive for composite transformations? • Some work exists: – See talk – Megamodelling (e.g., MINNT for typing) • But are still missing fundamental theory 29/09/2014 (c) Steffen Zschaler 26

Notes de l'éditeur

  1. We focus on reusable components because we need to focus on something and many of the other bits can build on a notion of modularity.
  2. We focus on reusable components because we need to focus on something and many of the other bits can build on a notion of modularity.