SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Change‐Driven
Model

                                          Transforma5ons

                     Deriva'on
and
Processing
of
Change
Histories



                     István
Ráth,
Gergely
Varró,
Dániel
Varró

                                                          rath@mit.bme.hu





Budapest
University
of
Technology
and
Economics

Model
Driven
Engineering
Languages
and
Systems
2009,
Denver,
Colorado,
USA

Outline
of
the
talk

  Introduc5on

  Mo5va5on

  Overview
of
the
concept

  Change‐driven
transforma5ons
in
detail

  Summary

  Future
work

Mo5va5ng
scenario:
forward
model
synchroniza5on


               Source
             Target



                MA
                 MB




     change




                MA’
                MB’

Incremental
model
synchroniza5on
and
'me

  On‐demand:
batch
transforma5ons

  o The
“tradi5onal”
way


Incremental
model
synchroniza5on


          Source
                      Target



           MA
                          MB




change




           MA’
                         MB’




                    • Re‐transform

                     

                    • Target
incrementality

                     

Model
synchroniza5on
and
'me

  On‐demand:
batch
transforma5ons

   o The
“tradi5onal”
way

  Instantly:
live
transforma5ons

   o React
instantly
to
context
(model)
changes

      •  “event‐driven”
transforma5ons

   o Hearnden‐Lawley‐Raymond.
Incremental
Model

     Transforma'on
for
the
Evolu'on
of
Model‐driven
Systems.

     MODELS
2006.

   o Ráth‐Ökrös‐Bergmann‐Varró.
Live
model
transforma'ons

     driven
by
incremental
paCern
matching.
ICMT
2008.

      •  Transac5on‐oriented
approach

      •  Reac5ons
possible
to
arbitrarily
complex
changes

Live
model
synchroniza5on


            Source
                      Target



             MA
                          MB




change




             MA’
                         MB’




                          2.
React
to
      3.
Merge

          1.
Watch
for
    changes

            changes

Model
synchroniza5on
and
'me

  On‐demand:
batch
transforma5ons

  o The
“tradi5onal”
way

  Instantly:
live
transforma5ons

  o React
instantly
to
context
(model)
changes

     •  “event‐driven”
transforma5ons

  o Hearnden‐Lawley‐Raymond.
Incremental
Model

                                   Common
assump5ons:

    Transforma'on
for
the
Evolu'on
of
Model‐driven

                               1.  All
models
are
available
in

    Systems.
MODELS
2006.
                  memory

                                2.  Changes
are
propagated

  o Ráth‐Ökrös‐Bergmann‐Varró.
Live
model

                                        “synchronously”

    transforma'ons
driven
by
incremental
paCern

    matching.
ICMT
2008.

     •  Transac5on‐oriented
approach

Asynchronous
synchroniza5on

  What
if…

  o Some
models
cannot
(should
not)
be
materialized
in

    memory?

     •  Models
are
too
large

     •  Models
have
to
be
manipulated
“inside”
their
na5ve

        environment
(tool)

  o Changes
are
to
be
applied/reproduced
“later”?

     •  Changes
have
to
recorded
for
e.g.
traceability

  
Asynchronous
(off‐line)
synchroniza5on

Mo5va5ng
scenario


            Source
                    Target



             MA
                        MB




  change

                          ?
                   IF


             MA’
                       MB’

                          Trace

                         record



High
level
(domain‐
                                   Deployed
process

 specific)
process

                                    template
(jPDL)

       model

Case
study
and
challenges

  Tool
integra5on
in
a
heterogeneous
environment

  o Developed
for
the
SENSORIA
and
MOGENTES
EU

    research
projects

  High
level
process
models
describe
(complex)

   development
process
segments

  o E.g.
automated
test
genera5on,
deployment

    configura5on
genera5on

  Processes
are
executed
in

  o A
distributed
environment
(worksta5ons,
tool
servers)

  o Orchestrated
by
the
jBPM
process
execu5on
engine.

Challenges

  Challenge
#1:
high
level
models
are
edited


   changes
have
to
be
propagated
to
the
deployed

   process
template

  Challenge
#2:
changes
are
mapped

   asynchronously
in
5me

  o Not
(necessarily)
by
the
process
engineer


Conceptual
overview

                                            3.
Apply
changes
to

             Source
                             Target

                                              external
models

                                            through
an
interface

              MA
                                 MB
(IF)




   change
             CHMA
           CHMB

                                                         IF


             MA’
                                 MB’


1.
Record
changes
       2.
Map
source
changes
to

 into
traceability
      target
changes
(=CHMs
to

 models
(=CHMs)
          CHMs)
instead
of
source

                          models
to
target
models


Change
history
models

  Traceability
models
                    CHMA
             CHMB


  o Opera5onal
difference
models

  o Record
historical
opera5on
sequences

     •  WHEN
(5mestamps
in
a
linked
list
structure)

     •  WHAT
(CUDM)

     •  Context
(referenced
model
elements)

  o “weak”
references

     •  IDs
or
FQNs

     •  Allows
to
reference
external
(non‐
or
par5ally
materialized)

        models

Change
history
metamodel


                            Historical

                             record


    Weak

 references




Opera5on

categories

Genera5on
of
CHMs

                              Live
transforma5ons

          Source
              o Editor‐independent!

                              Generate
trace
model

           MA

                               snippets
as
the
user
is

                               edi5ng
the
model

change
             CHMA

                               o Timestamps

                               o Contextual
references

           MA’

Genera5on
of
CHMs:
Generic
example

                   :
parentFQN

                                                           Sample
execu5on
sequence:

         Parent

                          CE:
CreateEn5ty

{pre}

                            Timestamp:
<sysTime()>

                            Name:
<name(E)>

         E:Type
   :
targetFQN
               {new}


                                        :
typeFQN

         Type

                                                            En5ty
and
Rela5on
are

                                                           basic
VIATRA
concepts
for

     {pre}

                    :
newSrcFQN

                                                             graph
node
and
edge

         Src

                             CR:
CreateRela5on

 R:Type
                       Timestamp:
<sysTime()>

                               Name:
<name(R)>

           Trg
      :
newTrgFQN
                 {new}

                                            :
typeFQN

                         Type

Genera5ng
domain‐specific
CHMs

              {pre}

                         W:
            :
parentID

                                                                 2a.
Create
a
compound

                       Workflow
                    CJN:
CreateJPDLNode

                                                                      CHM
sequence
as

                                                    Timestamp:
<sysTime()>

                                                                          postcondi5on

                      I:
Invoca5on
       :
targetID
                             {new}

                                                                        :
next

      :
parameters
                   :
returns


              DI:
                DO:
                  CJA:
CreateJPDLAtribute

           DataInput
          DataOutput
              targetID:
CJN.targetID
                                                        +”.parameters”

1.
Use
a
compound
                                      parentID:
CJN.targetID

     patern
as
                                                               2b.
Use
a

                                                        targetTextValue:
value(DI)




   precondi5on,
                                                           :
next

                                                                     “compressed”
CHM

corresponding
to
a
                                     CJA:
CreateJPDLAtribute

                                                                  element
corresponding

 (complex)
model
                                                  to
a
complex
domain‐
                                                        targetID:
CJN.targetID+”.returns”

                                                        parentID:
CJN.targetID

     structure
                                                       specific
opera5on

                                                        targetTextValue:
value(DO)


Change‐driven
transforma5ons

                              Input:

                               o Changes
of
the
source

                                 model

        Source
   Target
     Output

                               o Corresponding
changes
of

        CHMA
     CHMB
          the
target
model

                              May
be
formulated
as:

MA’
                           o Live
transforma5on

                               o Batch
transforma5on

                              Granularity?

                               o “one‐to‐one”

                               o “n‐to‐m”

Mapping
CHMs

                                   {pre}

    Parent
          :
parentFQN

                            CE:
CreateEn5ty

                                                         Sample
execu5on
con5nued:

E:Invoca5on
                 typeFQN
=
meta.Invoca5on


func5onName:<>
     :
targetFQN


                                           :
typeFQN

  Invoca5on


      {new}

          CJN:
CreateJPDLNode

            targetID:
name(Parent)+”.”+name(E)

            parentID:
name(Parent)

                                                           For
each
newly
created

                                                             Invoca5on,
create
a

                                    :
next
               corresponding
JPDL
node

              CJA:
CreateJPDLAtribute
                   together
with
is
“func5on”

                  targetID:
CJN.targetID+”.fun5on”
      atribute
(=domain‐specific

                  parentID:
CJN.targetID

                  targetTextValue:
E.func5onName

              mapping
logic)

Applying
CHMs
to
external
models

                          Applying
CHMs
=
model

        Target
            “interpreta5on”

                          External
models
are

         MB

                           manipulated
through
a

                           (service)
interface

CHMB

                          o VIATRA:
“na5ve
func5ons”

                  IF


         MB’

Manipula5ng
non‐materialized
models
with
VIATRA





                       VIATRA
na5ve
func5ons

                         allow
for
DOM‐style

                         manipula5on
of
the

                       deployed
jPDL
process

                              template.

Summary

  Change‐driven
transforma5ons
=

  o An
innova5ve
synthesis
of
known
techniques:

     •  Trace
models

     •  Live
transforma5ons

     •  Non‐materialized
model
manipula5on

  o A
solu5on
for
an
engineering
problem

  o Lots
of
open
ques5ons
and
new
ideas…

Future
work

  A
beginning,
rather
than
an
end…

  Lots
of
open
ques5ons

  o How
to
write
CDTs?

  o How
to
generate
CDTs
from
“tradi5onal”

    transforma5ons?

  Are
they
useful?

  o Efficient,
intui5ve
model
synchroniza5on

  o Change
representa5on,
processing
(
(re)verifica5on,

    change
impact
analysis)

  o Model
merging
(~opera5onal
merging)

  Thank
you
for
your
aten5on.


Weitere ähnliche Inhalte

Andere mochten auch

Live model transformations driven by incremental pattern matching
Live model transformations driven by incremental pattern matchingLive model transformations driven by incremental pattern matching
Live model transformations driven by incremental pattern matchingIstvan Rath
 
Polowanie na dinozaury
Polowanie na dinozauryPolowanie na dinozaury
Polowanie na dinozaurykto2586
 
High-performance model queries
High-performance model queriesHigh-performance model queries
High-performance model queriesIstvan Rath
 
Event-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesEvent-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesIstvan Rath
 
DLF Fall 2012: Institutional OA Policy Implementation: The Joys and Challenges
DLF Fall 2012: Institutional OA Policy Implementation:  The Joys and ChallengesDLF Fall 2012: Institutional OA Policy Implementation:  The Joys and Challenges
DLF Fall 2012: Institutional OA Policy Implementation: The Joys and ChallengesLisa Schiff
 
acta n°. 16 (08 agosto 2011) Elota Sinaloa
acta n°. 16 (08 agosto 2011) Elota Sinaloaacta n°. 16 (08 agosto 2011) Elota Sinaloa
acta n°. 16 (08 agosto 2011) Elota Sinaloaelotago
 
Acta n°. 6 ( 1°. abril 2011 )
Acta n°. 6  ( 1°. abril 2011 )Acta n°. 6  ( 1°. abril 2011 )
Acta n°. 6 ( 1°. abril 2011 )elotago
 
ORCID Use Cases from the CDL
ORCID Use Cases from the CDLORCID Use Cases from the CDL
ORCID Use Cases from the CDLLisa Schiff
 
A benchmark evaluation for incremental pattern matching in graph transformation
A benchmark evaluation for incremental pattern matching in graph transformationA benchmark evaluation for incremental pattern matching in graph transformation
A benchmark evaluation for incremental pattern matching in graph transformationIstvan Rath
 
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésbenTranszformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésbenIstvan Rath
 
Open Access and the Humanities at the California Digital Library and Beyond, ...
Open Access and the Humanities at the California Digital Library and Beyond, ...Open Access and the Humanities at the California Digital Library and Beyond, ...
Open Access and the Humanities at the California Digital Library and Beyond, ...Lisa Schiff
 
Acta no. 5 (18 marzo 2011)
Acta no. 5  (18 marzo 2011)Acta no. 5  (18 marzo 2011)
Acta no. 5 (18 marzo 2011)elotago
 
Challenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksChallenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksIstvan Rath
 
Domain-specifikus modellezési nyelvek automatikus transzformációi
Domain-specifikus modellezési nyelvek automatikus transzformációiDomain-specifikus modellezési nyelvek automatikus transzformációi
Domain-specifikus modellezési nyelvek automatikus transzformációiIstvan Rath
 
Model transformations in the VIATRA2 framework
Model transformations in the VIATRA2 frameworkModel transformations in the VIATRA2 framework
Model transformations in the VIATRA2 frameworkIstvan Rath
 
Incremental pattern matching in the VIATRA2 model transformation framework
Incremental pattern matching in the VIATRA2 model transformation frameworkIncremental pattern matching in the VIATRA2 model transformation framework
Incremental pattern matching in the VIATRA2 model transformation frameworkIstvan Rath
 
A tutorial on EMF-IncQuery
A tutorial on EMF-IncQueryA tutorial on EMF-IncQuery
A tutorial on EMF-IncQueryIstvan Rath
 
Acta no. 2 (27 ene 2011)
Acta no. 2  (27 ene 2011)Acta no. 2  (27 ene 2011)
Acta no. 2 (27 ene 2011)elotago
 
EMF-IncQuery 0.7 Presentation for Itemis
EMF-IncQuery 0.7 Presentation for ItemisEMF-IncQuery 0.7 Presentation for Itemis
EMF-IncQuery 0.7 Presentation for ItemisIstvan Rath
 

Andere mochten auch (19)

Live model transformations driven by incremental pattern matching
Live model transformations driven by incremental pattern matchingLive model transformations driven by incremental pattern matching
Live model transformations driven by incremental pattern matching
 
Polowanie na dinozaury
Polowanie na dinozauryPolowanie na dinozaury
Polowanie na dinozaury
 
High-performance model queries
High-performance model queriesHigh-performance model queries
High-performance model queries
 
Event-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesEvent-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling Languages
 
DLF Fall 2012: Institutional OA Policy Implementation: The Joys and Challenges
DLF Fall 2012: Institutional OA Policy Implementation:  The Joys and ChallengesDLF Fall 2012: Institutional OA Policy Implementation:  The Joys and Challenges
DLF Fall 2012: Institutional OA Policy Implementation: The Joys and Challenges
 
acta n°. 16 (08 agosto 2011) Elota Sinaloa
acta n°. 16 (08 agosto 2011) Elota Sinaloaacta n°. 16 (08 agosto 2011) Elota Sinaloa
acta n°. 16 (08 agosto 2011) Elota Sinaloa
 
Acta n°. 6 ( 1°. abril 2011 )
Acta n°. 6  ( 1°. abril 2011 )Acta n°. 6  ( 1°. abril 2011 )
Acta n°. 6 ( 1°. abril 2011 )
 
ORCID Use Cases from the CDL
ORCID Use Cases from the CDLORCID Use Cases from the CDL
ORCID Use Cases from the CDL
 
A benchmark evaluation for incremental pattern matching in graph transformation
A benchmark evaluation for incremental pattern matching in graph transformationA benchmark evaluation for incremental pattern matching in graph transformation
A benchmark evaluation for incremental pattern matching in graph transformation
 
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésbenTranszformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben
 
Open Access and the Humanities at the California Digital Library and Beyond, ...
Open Access and the Humanities at the California Digital Library and Beyond, ...Open Access and the Humanities at the California Digital Library and Beyond, ...
Open Access and the Humanities at the California Digital Library and Beyond, ...
 
Acta no. 5 (18 marzo 2011)
Acta no. 5  (18 marzo 2011)Acta no. 5  (18 marzo 2011)
Acta no. 5 (18 marzo 2011)
 
Challenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksChallenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworks
 
Domain-specifikus modellezési nyelvek automatikus transzformációi
Domain-specifikus modellezési nyelvek automatikus transzformációiDomain-specifikus modellezési nyelvek automatikus transzformációi
Domain-specifikus modellezési nyelvek automatikus transzformációi
 
Model transformations in the VIATRA2 framework
Model transformations in the VIATRA2 frameworkModel transformations in the VIATRA2 framework
Model transformations in the VIATRA2 framework
 
Incremental pattern matching in the VIATRA2 model transformation framework
Incremental pattern matching in the VIATRA2 model transformation frameworkIncremental pattern matching in the VIATRA2 model transformation framework
Incremental pattern matching in the VIATRA2 model transformation framework
 
A tutorial on EMF-IncQuery
A tutorial on EMF-IncQueryA tutorial on EMF-IncQuery
A tutorial on EMF-IncQuery
 
Acta no. 2 (27 ene 2011)
Acta no. 2  (27 ene 2011)Acta no. 2  (27 ene 2011)
Acta no. 2 (27 ene 2011)
 
EMF-IncQuery 0.7 Presentation for Itemis
EMF-IncQuery 0.7 Presentation for ItemisEMF-IncQuery 0.7 Presentation for Itemis
EMF-IncQuery 0.7 Presentation for Itemis
 

Ähnlich wie Change-driven model transformations

Efficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï ToolEfficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï ToolGwendal Daniel
 
Tensors Are All You Need: Faster Inference with Hummingbird
Tensors Are All You Need: Faster Inference with HummingbirdTensors Are All You Need: Faster Inference with Hummingbird
Tensors Are All You Need: Faster Inference with HummingbirdDatabricks
 
Code Difference Visualization by a Call Tree
Code Difference Visualization by a Call TreeCode Difference Visualization by a Call Tree
Code Difference Visualization by a Call TreeKamiya Toshihiro
 
Close encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet CodeClose encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet Codelbergmans
 
Clipper at UC Berkeley RISECamp 2017
Clipper at UC Berkeley RISECamp 2017Clipper at UC Berkeley RISECamp 2017
Clipper at UC Berkeley RISECamp 2017Dan Crankshaw
 
Pretzel: optimized Machine Learning framework for low-latency and high throug...
Pretzel: optimized Machine Learning framework for low-latency and high throug...Pretzel: optimized Machine Learning framework for low-latency and high throug...
Pretzel: optimized Machine Learning framework for low-latency and high throug...NECST Lab @ Politecnico di Milano
 
Why is dev ops for machine learning so different
Why is dev ops for machine learning so differentWhy is dev ops for machine learning so different
Why is dev ops for machine learning so differentRyan Dawson
 
Quick fix generation for DSMLs
Quick fix generation for DSMLsQuick fix generation for DSMLs
Quick fix generation for DSMLsÁbel Hegedüs
 
The Pill for Your Migration Hell
The Pill for Your Migration HellThe Pill for Your Migration Hell
The Pill for Your Migration HellDatabricks
 
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...Ali Ouni
 
Computational Approaches to Systems Biology
Computational Approaches to Systems BiologyComputational Approaches to Systems Biology
Computational Approaches to Systems BiologyMike Hucka
 
Top 40 C Programming Interview Questions
Top 40 C Programming Interview QuestionsTop 40 C Programming Interview Questions
Top 40 C Programming Interview QuestionsSimplilearn
 
Thesis Defense (Gwendal DANIEL) - Nov 2017
Thesis Defense (Gwendal DANIEL) - Nov 2017Thesis Defense (Gwendal DANIEL) - Nov 2017
Thesis Defense (Gwendal DANIEL) - Nov 2017Gwendal Daniel
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processesmanishthaper
 
Clipper: A Low-Latency Online Prediction Serving System
Clipper: A Low-Latency Online Prediction Serving SystemClipper: A Low-Latency Online Prediction Serving System
Clipper: A Low-Latency Online Prediction Serving SystemDatabricks
 
Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...
Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...
Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...Annibale Panichella
 
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
"JIT compiler overview" @ JEEConf 2013, Kiev, UkraineVladimir Ivanov
 

Ähnlich wie Change-driven model transformations (20)

Efficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï ToolEfficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï Tool
 
Tensors Are All You Need: Faster Inference with Hummingbird
Tensors Are All You Need: Faster Inference with HummingbirdTensors Are All You Need: Faster Inference with Hummingbird
Tensors Are All You Need: Faster Inference with Hummingbird
 
de Valpine NIMBLE
de Valpine NIMBLEde Valpine NIMBLE
de Valpine NIMBLE
 
Code Difference Visualization by a Call Tree
Code Difference Visualization by a Call TreeCode Difference Visualization by a Call Tree
Code Difference Visualization by a Call Tree
 
Close encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet CodeClose encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet Code
 
Clipper at UC Berkeley RISECamp 2017
Clipper at UC Berkeley RISECamp 2017Clipper at UC Berkeley RISECamp 2017
Clipper at UC Berkeley RISECamp 2017
 
Pretzel: optimized Machine Learning framework for low-latency and high throug...
Pretzel: optimized Machine Learning framework for low-latency and high throug...Pretzel: optimized Machine Learning framework for low-latency and high throug...
Pretzel: optimized Machine Learning framework for low-latency and high throug...
 
Why is dev ops for machine learning so different
Why is dev ops for machine learning so differentWhy is dev ops for machine learning so different
Why is dev ops for machine learning so different
 
Quick fix generation for DSMLs
Quick fix generation for DSMLsQuick fix generation for DSMLs
Quick fix generation for DSMLs
 
The Pill for Your Migration Hell
The Pill for Your Migration HellThe Pill for Your Migration Hell
The Pill for Your Migration Hell
 
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
 
Computational Approaches to Systems Biology
Computational Approaches to Systems BiologyComputational Approaches to Systems Biology
Computational Approaches to Systems Biology
 
Narayan Shrestha [OpenMI]
Narayan Shrestha [OpenMI]Narayan Shrestha [OpenMI]
Narayan Shrestha [OpenMI]
 
Top 40 C Programming Interview Questions
Top 40 C Programming Interview QuestionsTop 40 C Programming Interview Questions
Top 40 C Programming Interview Questions
 
Thesis Defense (Gwendal DANIEL) - Nov 2017
Thesis Defense (Gwendal DANIEL) - Nov 2017Thesis Defense (Gwendal DANIEL) - Nov 2017
Thesis Defense (Gwendal DANIEL) - Nov 2017
 
Sql optimize
Sql optimizeSql optimize
Sql optimize
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
 
Clipper: A Low-Latency Online Prediction Serving System
Clipper: A Low-Latency Online Prediction Serving SystemClipper: A Low-Latency Online Prediction Serving System
Clipper: A Low-Latency Online Prediction Serving System
 
Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...
Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...
Searching for Quality: Genetic Algorithms and Metamorphic Testing for Softwar...
 
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
 

Mehr von Istvan Rath

Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationCloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationIstvan Rath
 
Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationCloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationIstvan Rath
 
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...Istvan Rath
 
IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019Istvan Rath
 
VIATRA 2.0 Webinar
VIATRA 2.0 WebinarVIATRA 2.0 Webinar
VIATRA 2.0 WebinarIstvan Rath
 
Easier smart home development with simulators and rule engines
Easier smart home development with simulators and rule enginesEasier smart home development with simulators and rule engines
Easier smart home development with simulators and rule enginesIstvan Rath
 
Eclipse VIATRA Overview 2017
Eclipse VIATRA Overview 2017Eclipse VIATRA Overview 2017
Eclipse VIATRA Overview 2017Istvan Rath
 
Smarter internet of things with stream and event processing virtual io_t_meet...
Smarter internet of things with stream and event processing virtual io_t_meet...Smarter internet of things with stream and event processing virtual io_t_meet...
Smarter internet of things with stream and event processing virtual io_t_meet...Istvan Rath
 
Modes3: Model-based Demonstrator for Smart and Safe Systems
Modes3: Model-based Demonstrator for Smart and Safe SystemsModes3: Model-based Demonstrator for Smart and Safe Systems
Modes3: Model-based Demonstrator for Smart and Safe SystemsIstvan Rath
 
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016Istvan Rath
 
Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration
Exploring the Future of Eclipse Modeling: Web and Semantic CollaborationExploring the Future of Eclipse Modeling: Web and Semantic Collaboration
Exploring the Future of Eclipse Modeling: Web and Semantic CollaborationIstvan Rath
 
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával Istvan Rath
 
IoT Supercharged: Complex event processing for MQTT with Eclipse technologies
IoT Supercharged: Complex event processing for MQTT with Eclipse technologiesIoT Supercharged: Complex event processing for MQTT with Eclipse technologies
IoT Supercharged: Complex event processing for MQTT with Eclipse technologiesIstvan Rath
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling WorldsIstvan Rath
 
Xcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are MadeXcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are MadeIstvan Rath
 
The SENSORIA Development Environment
The SENSORIA Development EnvironmentThe SENSORIA Development Environment
The SENSORIA Development EnvironmentIstvan Rath
 
Domain-specifikus nyelvek a fejlesztésben
Domain-specifikus nyelvek a fejlesztésbenDomain-specifikus nyelvek a fejlesztésben
Domain-specifikus nyelvek a fejlesztésbenIstvan Rath
 
Applications of incremental pattern matching in model transformations
Applications of incremental pattern matching in model transformationsApplications of incremental pattern matching in model transformations
Applications of incremental pattern matching in model transformationsIstvan Rath
 
Efficient model transformations by combining pattern matching strategies
Efficient model transformations by combining pattern matching strategiesEfficient model transformations by combining pattern matching strategies
Efficient model transformations by combining pattern matching strategiesIstvan Rath
 
Incremental pattern matching in the VIATRA2 model transformation system
Incremental pattern matching in the VIATRA2 model transformation systemIncremental pattern matching in the VIATRA2 model transformation system
Incremental pattern matching in the VIATRA2 model transformation systemIstvan Rath
 

Mehr von Istvan Rath (20)

Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationCloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool Integration
 
Cloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool IntegrationCloud-based Modelling Solutions Empowering Tool Integration
Cloud-based Modelling Solutions Empowering Tool Integration
 
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
MBSE meets Industrial IoT: Introducing the New MagicDraw Plug-in for RTI Co...
 
IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019IncQuery Server for Teamwork Cloud - Talk at IW2019
IncQuery Server for Teamwork Cloud - Talk at IW2019
 
VIATRA 2.0 Webinar
VIATRA 2.0 WebinarVIATRA 2.0 Webinar
VIATRA 2.0 Webinar
 
Easier smart home development with simulators and rule engines
Easier smart home development with simulators and rule enginesEasier smart home development with simulators and rule engines
Easier smart home development with simulators and rule engines
 
Eclipse VIATRA Overview 2017
Eclipse VIATRA Overview 2017Eclipse VIATRA Overview 2017
Eclipse VIATRA Overview 2017
 
Smarter internet of things with stream and event processing virtual io_t_meet...
Smarter internet of things with stream and event processing virtual io_t_meet...Smarter internet of things with stream and event processing virtual io_t_meet...
Smarter internet of things with stream and event processing virtual io_t_meet...
 
Modes3: Model-based Demonstrator for Smart and Safe Systems
Modes3: Model-based Demonstrator for Smart and Safe SystemsModes3: Model-based Demonstrator for Smart and Safe Systems
Modes3: Model-based Demonstrator for Smart and Safe Systems
 
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
Eclipse DemoCamp Budapest 2016 November: Best of EclipseCon Europe 2016
 
Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration
Exploring the Future of Eclipse Modeling: Web and Semantic CollaborationExploring the Future of Eclipse Modeling: Web and Semantic Collaboration
Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration
 
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
Okosabb Internet of Things rendszerek komplex eseményfeldolgozás alkalmazásával
 
IoT Supercharged: Complex event processing for MQTT with Eclipse technologies
IoT Supercharged: Complex event processing for MQTT with Eclipse technologiesIoT Supercharged: Complex event processing for MQTT with Eclipse technologies
IoT Supercharged: Complex event processing for MQTT with Eclipse technologies
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
 
Xcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are MadeXcore meets IncQuery: How the New Generation of DSLs are Made
Xcore meets IncQuery: How the New Generation of DSLs are Made
 
The SENSORIA Development Environment
The SENSORIA Development EnvironmentThe SENSORIA Development Environment
The SENSORIA Development Environment
 
Domain-specifikus nyelvek a fejlesztésben
Domain-specifikus nyelvek a fejlesztésbenDomain-specifikus nyelvek a fejlesztésben
Domain-specifikus nyelvek a fejlesztésben
 
Applications of incremental pattern matching in model transformations
Applications of incremental pattern matching in model transformationsApplications of incremental pattern matching in model transformations
Applications of incremental pattern matching in model transformations
 
Efficient model transformations by combining pattern matching strategies
Efficient model transformations by combining pattern matching strategiesEfficient model transformations by combining pattern matching strategies
Efficient model transformations by combining pattern matching strategies
 
Incremental pattern matching in the VIATRA2 model transformation system
Incremental pattern matching in the VIATRA2 model transformation systemIncremental pattern matching in the VIATRA2 model transformation system
Incremental pattern matching in the VIATRA2 model transformation system
 

Kürzlich hochgeladen

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Kürzlich hochgeladen (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Change-driven model transformations

  • 1. Change‐Driven
Model
 Transforma5ons
 Deriva'on
and
Processing
of
Change
Histories
 István
Ráth,
Gergely
Varró,
Dániel
Varró
 rath@mit.bme.hu
 Budapest
University
of
Technology
and
Economics
 Model
Driven
Engineering
Languages
and
Systems
2009,
Denver,
Colorado,
USA

  • 2. Outline
of
the
talk
   Introduc5on
   Mo5va5on
   Overview
of
the
concept
   Change‐driven
transforma5ons
in
detail
   Summary
   Future
work

  • 3. Mo5va5ng
scenario:
forward
model
synchroniza5on
 Source
 Target
 MA
 MB
 change
 MA’
 MB’

  • 5. 
Incremental
model
synchroniza5on
 Source
 Target
 MA
 MB
 change
 MA’
 MB’
 • Re‐transform
 
 • Target
incrementality
 

  • 6. Model
synchroniza5on
and
'me
   On‐demand:
batch
transforma5ons
 o The
“tradi5onal”
way
   Instantly:
live
transforma5ons
 o React
instantly
to
context
(model)
changes
 •  “event‐driven”
transforma5ons
 o Hearnden‐Lawley‐Raymond.
Incremental
Model
 Transforma'on
for
the
Evolu'on
of
Model‐driven
Systems.
 MODELS
2006.
 o Ráth‐Ökrös‐Bergmann‐Varró.
Live
model
transforma'ons
 driven
by
incremental
paCern
matching.
ICMT
2008.
 •  Transac5on‐oriented
approach
 •  Reac5ons
possible
to
arbitrarily
complex
changes

  • 7. Live
model
synchroniza5on
 Source
 Target
 MA
 MB
 change
 MA’
 MB’
 2.
React
to
 3.
Merge
 1.
Watch
for
 changes
 changes

  • 8. Model
synchroniza5on
and
'me
   On‐demand:
batch
transforma5ons
 o The
“tradi5onal”
way
   Instantly:
live
transforma5ons
 o React
instantly
to
context
(model)
changes
 •  “event‐driven”
transforma5ons
 o Hearnden‐Lawley‐Raymond.
Incremental
Model
 Common
assump5ons:
 Transforma'on
for
the
Evolu'on
of
Model‐driven
 1.  All
models
are
available
in
 Systems.
MODELS
2006.
 memory
 2.  Changes
are
propagated
 o Ráth‐Ökrös‐Bergmann‐Varró.
Live
model
 “synchronously”
 transforma'ons
driven
by
incremental
paCern
 matching.
ICMT
2008.
 •  Transac5on‐oriented
approach

  • 9. Asynchronous
synchroniza5on
   What
if…
 o Some
models
cannot
(should
not)
be
materialized
in
 memory?
 •  Models
are
too
large
 •  Models
have
to
be
manipulated
“inside”
their
na5ve
 environment
(tool)
 o Changes
are
to
be
applied/reproduced
“later”?
 •  Changes
have
to
recorded
for
e.g.
traceability
   
Asynchronous
(off‐line)
synchroniza5on

  • 10. Mo5va5ng
scenario
 Source
 Target
 MA
 MB
 change
 ?
 IF
 MA’
 MB’
 Trace
 record
 High
level
(domain‐ Deployed
process
 specific)
process
 template
(jPDL)
 model

  • 11. Case
study
and
challenges
   Tool
integra5on
in
a
heterogeneous
environment
 o Developed
for
the
SENSORIA
and
MOGENTES
EU
 research
projects
   High
level
process
models
describe
(complex)
 development
process
segments
 o E.g.
automated
test
genera5on,
deployment
 configura5on
genera5on
   Processes
are
executed
in
 o A
distributed
environment
(worksta5ons,
tool
servers)
 o Orchestrated
by
the
jBPM
process
execu5on
engine.

  • 12. Challenges
   Challenge
#1:
high
level
models
are
edited

 changes
have
to
be
propagated
to
the
deployed
 process
template
   Challenge
#2:
changes
are
mapped
 asynchronously
in
5me
 o Not
(necessarily)
by
the
process
engineer


  • 13. Conceptual
overview
 3.
Apply
changes
to
 Source
 Target
 external
models
 through
an
interface
 MA
 MB
(IF)
 change
 CHMA
 CHMB
 IF
 MA’
 MB’
 1.
Record
changes
 2.
Map
source
changes
to
 into
traceability
 target
changes
(=CHMs
to
 models
(=CHMs)
 CHMs)
instead
of
source
 models
to
target
models


  • 14. Change
history
models
   Traceability
models
 CHMA
 CHMB
 o Opera5onal
difference
models
 o Record
historical
opera5on
sequences
 •  WHEN
(5mestamps
in
a
linked
list
structure)
 •  WHAT
(CUDM)
 •  Context
(referenced
model
elements)
 o “weak”
references
 •  IDs
or
FQNs
 •  Allows
to
reference
external
(non‐
or
par5ally
materialized)
 models

  • 15. Change
history
metamodel
 Historical
 record
 Weak
 references
 Opera5on
 categories

  • 16. Genera5on
of
CHMs
   Live
transforma5ons
 Source
 o Editor‐independent!
   Generate
trace
model
 MA
 snippets
as
the
user
is
 edi5ng
the
model
 change
 CHMA
 o Timestamps
 o Contextual
references
 MA’

  • 17. Genera5on
of
CHMs:
Generic
example
 :
parentFQN
 Sample
execu5on
sequence:
 Parent
 CE:
CreateEn5ty
 {pre}
 Timestamp:
<sysTime()>
 Name:
<name(E)>
 E:Type
 :
targetFQN
 {new}
 :
typeFQN
 Type
 En5ty
and
Rela5on
are
 basic
VIATRA
concepts
for
 {pre}
 :
newSrcFQN
 graph
node
and
edge
 Src
 CR:
CreateRela5on
 R:Type
 Timestamp:
<sysTime()>
 Name:
<name(R)>
 Trg
 :
newTrgFQN
 {new}
 :
typeFQN
 Type

  • 18. Genera5ng
domain‐specific
CHMs
 {pre}
 W:
 :
parentID
 2a.
Create
a
compound
 Workflow
 CJN:
CreateJPDLNode
 CHM
sequence
as
 Timestamp:
<sysTime()>
 postcondi5on
 I:
Invoca5on
 :
targetID
 {new}
 :
next
 :
parameters
 :
returns
 DI:
 DO:
 CJA:
CreateJPDLAtribute
 DataInput
 DataOutput
 targetID:
CJN.targetID +”.parameters”
 1.
Use
a
compound
 parentID:
CJN.targetID
 patern
as
 2b.
Use
a
 targetTextValue:
value(DI)


 precondi5on,
 :
next
 “compressed”
CHM
 corresponding
to
a
 CJA:
CreateJPDLAtribute
 element
corresponding
 (complex)
model
 to
a
complex
domain‐ targetID:
CJN.targetID+”.returns”
 parentID:
CJN.targetID
 structure
 specific
opera5on
 targetTextValue:
value(DO)


  • 19. Change‐driven
transforma5ons
   Input:
 o Changes
of
the
source
 model
 Source
 Target
   Output
 o Corresponding
changes
of
 CHMA
 CHMB
 the
target
model
   May
be
formulated
as:
 MA’
 o Live
transforma5on
 o Batch
transforma5on
   Granularity?
 o “one‐to‐one”
 o “n‐to‐m”

  • 20. Mapping
CHMs
 {pre}
 Parent
 :
parentFQN
 CE:
CreateEn5ty
 Sample
execu5on
con5nued:
 E:Invoca5on
 typeFQN
=
meta.Invoca5on
 func5onName:<>
 :
targetFQN
 :
typeFQN
 Invoca5on
 {new}
 CJN:
CreateJPDLNode
 targetID:
name(Parent)+”.”+name(E)
 parentID:
name(Parent)
 For
each
newly
created
 Invoca5on,
create
a
 :
next
 corresponding
JPDL
node
 CJA:
CreateJPDLAtribute
 together
with
is
“func5on”
 targetID:
CJN.targetID+”.fun5on”
 atribute
(=domain‐specific
 parentID:
CJN.targetID
 targetTextValue:
E.func5onName

 mapping
logic)

  • 21. Applying
CHMs
to
external
models
   Applying
CHMs
=
model
 Target
 “interpreta5on”
   External
models
are
 MB
 manipulated
through
a
 (service)
interface
 CHMB
 o VIATRA:
“na5ve
func5ons”
 IF
 MB’

  • 22. Manipula5ng
non‐materialized
models
with
VIATRA
 VIATRA
na5ve
func5ons
 allow
for
DOM‐style
 manipula5on
of
the
 deployed
jPDL
process
 template.

  • 23. Summary
   Change‐driven
transforma5ons
=
 o An
innova5ve
synthesis
of
known
techniques:
 •  Trace
models
 •  Live
transforma5ons
 •  Non‐materialized
model
manipula5on
 o A
solu5on
for
an
engineering
problem
 o Lots
of
open
ques5ons
and
new
ideas…

  • 24. Future
work
   A
beginning,
rather
than
an
end…
   Lots
of
open
ques5ons
 o How
to
write
CDTs?
 o How
to
generate
CDTs
from
“tradi5onal”
 transforma5ons?
   Are
they
useful?
 o Efficient,
intui5ve
model
synchroniza5on
 o Change
representa5on,
processing
(
(re)verifica5on,
 change
impact
analysis)
 o Model
merging
(~opera5onal
merging)
   Thank
you
for
your
aten5on.