SlideShare a Scribd company logo
Event-driven Model Transformations in
                Domain-specific Modeling Languages

                                                   PhD thesis
                                                  István Ráth




Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Introduction
Software Engineering by Domain-specific Modeling
Challenges




             Complexity of modeling
             environments
             • Multi-aspect modeling,
               language families,
               product lines, …
Challenges



             Scalability of MDE
             toolchains
             • Large models vs.
                incremental change
                propagation
             • Tool integration in
                heterogeneous
                environments
Challenges




Usability issues of DSMLs
• Abstraction: abstract-
  concrete syntax
• Dynamics: execution
  semantics
Research goals

    Advanced language                  Tool integration
    engineering features

                                                Change
                                              propagation


    Abstraction
                          Model                  Incremental
                     transformations                 code
                                                  generation

     Simulation
                                             “Middleware”
                                               for MDSE
            Multi-aspect
 DSM  complexity and usability
             modeling       challenges
 Advanced language engineering solutions
Advanced language engineering
Motivation: limited abstractions
 Limitations of abstract-concrete syntax
  representation in DSM language engineering
  frameworks
 Usability problem!
Separating abstract and concrete syntax

 What?
                                  Abstract              Concrete
  o concrete syntax diagrams
                                  syntax                syntax
  o abstract syntax logical model
 Why?                               Test : Class           Test
  o reduce complexity for the user
                                       ID : Attribute
  o Give more power
                                                         ID: id0
    to the language engineer
                                     “id0” :String
Objectives
 Arbitrary mapping
  o abstraction                                      o diagram-specific
  o aggregation                                        elements
                                                     o decorators




     Logical model                                   Diagram
                                                               h0
                              p0 : Place

                     :token      :token     :token             3
       t0:Token       t1:Token            t2:Token
Solution

 Bi-directional mapping
  o goal: arbitrary mapping
  o means: event-driven transformations (EDT)

    Logical model                                      Diagram model         Diagram
                                              :model
                             p0 : Place                 _p0 : PlaceFigure        h0

                    :token      :token     :token   EDT          :property
                                                                                 3
      t0:Token       t1:Token            t2:Token         tokenCount
                                                           :Property
Motivation: no design-time simulation support

 Dynamic semantics specification and execution still a
  missing feature from industrial DSM environments
   Dedicated simulators serve a different purpose
   General case: execution semantics introduced only during code
    generation phase  delayed appearance of design errors
Design-time simulation
 Discrete Event System Specification (DEVS)
  o Denotational semantics (specified by event-driven GT
    rules)  generic approach
  o Supports state automata, Kripke structures, Petri nets,
    DFNs, BPEL/BPMN, UML statecharts, …
 Execution modes
  o Interactive (guided debugging)
  o Automatic (stochastic)
Simulation efficiency


                           Sparse Petri net benchmark

                      1000000
                                                                              Viatra/RETE
                      100000                                                  (x1k)
Execution time (ms)




                        10000
                                                                              Viatra/LS (x1k)
                        1000


                          100                                                 Viatra/RETE
                                                                              (x1M)
                          10
                                100      1000                10000   100000
                                                Petri net size
Thesis 2: automatic model transformations in domain-specific languages

 2.1. Multi-aspect modeling for DSMLs based on multiple instantiation
 and metamodel hierarchies

 2.2. Complete separation of abstract and concrete syntax
 representations

 2.3. Design-time interactive simulation (specification and execution
 semantics)

 2.4. Efficient implementation techniques, verification by benchmarking

 Collaboration
 2.2. András Ökrös (MSc student)

 2.3. Dávid Vágó
Important related publications
Journal paper
 István Ráth, András Ökrös, and Dániel Varró. Synchronization of abstract and concrete syntax in
  domain-specific modeling languages. Software and Systems Modeling, 9:453–471, 2010.  6 citations
International Conferences
 Ajab Khan, Reiko Heckel, Paolo Torrini, and István Ráth. Model-based stochastic simulation of P2P
  VoIP using graph transformation. 17th International Conference on Analytical and Stochastic Modeling
  Techniques and Applications, 2010.  3 citations
 Paolo Torrini, Reiko Heckel, and István Ráth. Stochastic simulation of graph transformation systems.
  Fundamental Approaches to Software Engineering, 6013/2010 LNCS pp. 154–157.  3 citations
 István Ráth, Dávid Vágó, and Dániel Varró. Design-time simulation of domain-specific models by
  incremental pattern matching. The IEEE Symposium on Visual Languages and Human-Centric
  Computing, VL/HCC 2008 pp. 219–222. Acceptance rate: 29%.  2 citations
 István Ráth and Dániel Varró. Challenges for advanced domain-specific modeling frameworks.
  International Workshop on Domain Specific Program Development(DSPD2006), Nantes, France, July
  2006.  7 citations
National conferences
 István Ráth. Modelltranszformációk integrált alkalmazása domain-specifikus nyelvekben. In Tavaszi
  Szél Konferenciakiadvány, 2009.
 István Ráth. Declarative mapping between abstract and concrete syntax of domain- specific visual
  languages. In The Proceedings of the Fifth Conference of PhD Students in Computer Science, 2006.
Research goals

Advanced language                        Tool integration
engineering features

                                                  Change
                                                propagation


Abstraction
                            Model                  Incremental
                       transformations                 code
                                                    generation

 Simulation
                                               “Middleware”
                                                 for MDSE
              Multi-aspect
               Efficiency
               modeling  for language engineering
                        Integrated MTs
                      new execution model
Event-driven transformations
Motivation
 Domain-specific modeling applications don’t align
  well with the batch execution model
  o Model/view synchronization
  o Model queries and reports
                      modification
                                                       Key ideas:
  Source model   S1                       S2           •
                                                      S3 Correlate events to
                                                                Sn
                                                         model changes
                 t         tL   transformation   tL
                                                       • Capture formally by
                                                           tL
                                    context              graph pattern match
                                     update              set changes
  Target model   T1                       T2
                                                       • Adapt graph
                                                      T3        Tn
                                                         transformations to
                                                         specify reactions
Graph Transformations in VIATRA2

    LHS                                                           RHS
             a1:inarc   a2:outarc                a1:inarc   a2:outarc
       Place      Tran.     Place          Place      Tran.      Plan
           ttn1:tokens                                     tkn2:tokens
       Token                                                       Token


                             matching                               updating


Phases of GT matching
   – Pattern Matching phase
   – Updating phase: delete+ create
Pattern Matching is the most critical issue from performance viewpoint
 Matches can be cached and updated incrementally by RETE nets
 Changes in the match sets can be detected efficiently
Event-driven graph
 transformations                                                    C

                                                                    C

                                                                    D
                                                    Conditions




                                                                        Transaction1
                                                                    U
                    Incremental pattern
                         matcher                                    C




                                                                                       Notification
                                           Events                   D

                                                                    D

Matching set delta monitor                                          U


                                    fall                                                              Model Store
MS(PA)
                                              Execution




                                                                           Commit
                                               Engine


                                    rise                  trigger




                                                                        Transaction2
MS(PB)
                                                          actions




                                                                                                      Transactions
Event-driven graph
 transformations                                                 C

                                                                 C

                                                                 D
                                                    Conditions




                                                                     Transaction1
                                                                 U
                    Incremental pattern
                         matcher                                 C




                                                                                    Notification
                                           Events                D

                                                                 D

Matching set delta monitor                                       U


                                    fall                                                           Model Store
 Event-Condition-Action
MS(PA)                  formalism Execution




                                                                        Commit
 • Adapted from expert systems Engine
 • Specification language: graph triggers
 • Execution semantics: priority queue automaton
                         rise               trigger




                                                                     Transaction2
MS(PB)
                                            actions
 Event-driven Transformations
 • Run in the background
 • React when necessary
 • Model/view synchronization, change processing, …                                                Transactions
Thesis 1: event-driven model transformations
 1.1. Concepts for event-driven GT based on incremental pattern
 matching

 1.2. Execution semantics based on a queue automaton model


 1.3. GT-based specification language: graph triggers

 1.4. Efficient implementation techniques and a software
 framework, verification by benchmarking

Collaboration
 1.4. András Ökrös, Gábor Bergmann (MSc students)
Important related publications
Journal paper
 István Ráth, András Ökrös, and Dániel Varró. Synchronization of abstract and concrete syntax in
  domain-specific modeling languages. Software and Systems Modeling, 9:453–471, 2010. 6
  citations

International conferences
 István Ráth, Gábor Bergmann, András Ökrös, and Dániel Varró. Live model transformations
  driven by incremental pattern matching. International Conference on Model Transformations
  (ICMT2008), 5063/2008 LNCS, pp 107–121. Acceptance rate: 31%.  10 citations
 Gábor Bergmann, Ákos Horváth, István Ráth, and Dániel Varró. Efficient model transformations
  by combining pattern matching strategies. International Conference on Model Transformations
  (ICMT2009), 5563/2009 LNCS, pp 20–34. Acceptance rate: 23%  4 citations
 Gábor Bergmann, Ákos Horváth, István Ráth, and Dániel Varró. A benchmark evaluation of
  incremental pattern matching in graph transformation. International Conference on Graph
  Transformations, 5214/2008 LNCS, pp. 396–410. Acceptance rate: 40%. 11 citations
 Gábor Bergmann, András Ökrös, István Ráth, Dániel Varró, and Gergely Varró. Incremental
  pattern matching in the VIATRA transformation system. 3rd International Workshop on Graph
  and Model Transformation. 30th International Conference on Software Engineering, 2008.  9
  citations
Applications in tool integration
Research goals

Advanced language                              Tool integration
engineering features

                                                        Change
                                                      propagation


Abstraction
                                  Model                  Incremental
                             transformations                 code
                                                          generation

 Simulation
                                                     “Middleware”
                                                       for MDSE
              Multi-aspect
               modeling
                                            New applications
                                        new execution infrastructure
Tool integration chains
                                         Tool k
                    Tool 3          (documentation)
  Tool 1       (model annotation)
(modeling)

                                         Tool n
                                    (code generator)
         Tool 2
       (analysis)
                                         Tool m
                                    (test generator)


                                            Tool x (test
                                              bench)
Tool integration chains
                                             Tool k
                    Tool 3              (documentation)
  Tool 1       (model annotation)
(modeling)

                                             Tool n
                                        (code generator)
         Tool 2
       (analysis)
                       Challenge 1:          Tool m
                     Efficient change   (test generator)
                       propagation

                                                Tool x (test
                                                  bench)
Change-driven transformations
 Incremental change propagation
       Source model             Traceability model            Target model

           MA                          TR                          MB



                      changeA                    changeB
                          Change-driven transformations

           M’A                         TR’                         M’B
   Model-based
     domain-                                                      Model
   independent                                             transformations for
      change                                                change processing
  representation
Incremental and asynchronous code generation by CDTs

            MA                  TR                                   MB



                  changeA                      CMB
                            Asynchronous CDT
                                                                                     jPDL
                                                                                   Process
            M’A                 TR’                                  M’B          Description

                                                            IF
                                                                              JBoss Workflow Engine
Graphical DSML                 <node name=“Interface Type Mapping”>
                                 <action name=“UML2SAL Transformation”
                                         class = “…”>
                                   <toolId>UML2SAL transformer</toolId>
                                   <functionId>UML2SAL</functionId>
                                   <returnType>SALModel</returnType>
                                   <params>
                                     <entry>
                                       <key>umlModel</key><value>...<value>
                                     </entry>
                                   </params>
                                 </action>
                                 <transition from=“initial_node”
                                              to=“TCG-with-SAL-ATG” />
                               </node>
Incremental and asynchronous code generation by CDTs

            MA                      TR                                   MB

                  2                            3
                      changeA                      CMB
                                Asynchronous CDT
                                                                                         jPDL
                                                                                       Process
            M’A                     TR’                                               Description

                                                                IF   4 M’   B


                                                                                  JBoss Workflow Engine
Graphical DSML                     <node name=“Interface Type Mapping”>
                                     <action name=“UML2SAL Transformation”
                                             class = “…”>
                                       <toolId>UML2SAL transformer</toolId>
                                       <functionId>UML2SAL</functionId>
                                       <returnType>SALModel</returnType>
                                       <params>
                                         <entry>
                                                         5
                                           <key>umlModel</key><value>...<value>

                  1                      </entry>
                                       </params>
                                     </action>
                                     <transition from=“initial_node”
                                                  to=“TCG-with-SAL-ATG” />
                                   </node>
Integration challenges
                                                                   Tool k
Infrastructural challenges:                                   (documentation)
• Many tools
• Many formats Tool 3
       Tool 1
     (modeling)  (model annotation)
• Many (types of) users
• Collaborative data access                                       Tool n
                                                             (code generator)
• Process management
                                                                  Tool m
                                                             (test generator)
                               Solution:
                                                          Tool x (test bench)
        Tool 2                 SENSORIA Development Environment
      (analysis)               • Tool integration framework
                               • Model-based workflow orchestrations
                               • Distributed infrastructure based on a
                                 model bus
Thesis 3: Tool integration based on change-driven transformations


3.1. Concept of change-driven transformations

3.2. New implementation techniques for incremental code generation by CDTs

3.3. Remote service invocation in the SENSORIA Development Environment

3.4. Implementation architecture for tool integration

3.5. Model-based framework for development workflows and synchronization


Collaboration
3.3. Ádám Horváth (MSc student)
3.4-3.5. Dr. Balázs Polgár & others
Important related publications
Book chapters
 István Ráth and Philip Mayer. The SENSORIA Development Environment. Book chapter in: Rigorous
  Software Engineering for Service-Oriented Systems: Results of the SENSORIA project on Software
  Engineering for Service-Oriented Computing, Springer, 2010 (Accepted).

 András Balogh, Gábor Bergmann, György Csertán, László Gönczy, Ákos Horváth, István Majzik, András
  Patariza, Balázs Polgár, István Ráth, Dániel Varró, Gergely Varró. Workflow-driven tool integration
  using model transformations. Book chapter in: Graph Transformations and Model-Driven
  Engineering, 5765 LNCS, pp. 224–248.  1 citation

Journal paper
 Bergmann Gábor, István Ráth, Gergely Varró, and Dániel Varró. Change-driven model transformations:
  Change (in) the rule to rule the change. Journal of Software and Systems Modeling, 2011 (Accepted).

International conferences
 István Ráth, Gergely Varró, and Dániel Varró. Change-driven model transformations. Model Driven
  Engineering Languages and Systems, 12th International Conference, MODELS 2009. 5795/2009 LNCS.
  Springer Best Paper Award and ACM Distinguished Paper Award; Acceptance rate: 18%.  2 citations

 Balázs Polgár, István Ráth, Zoltán Szatmári, and István Majzik. Model-based Integration, Execution and
  Certification of Development Tool-chains. The 2nd ECMDA Workshop on Model-Driven Tool and
  Process Integration, 2009.  1 citation
Summary
New results

Event-driven transformations by incremental pattern matching
 • Specification language
 • Execution semantics and infrastructure

Advanced language engineering by EDTs
 • Interactive/stochastic simulation of dynamic semantics
 • Abstract-concrete synchronization

Tool integration by change-driven transformations
 • Incremental code generation
 • Incremental change propagation to deployed models
Applications of new results in the VIATRA2 project
 VIATRA2: state-of-the-art graph transformation
  framework
  o Event-driven transformation engine
  o ViatraDSM: domain-specific modeling front-end
 Collaborative follow-up research
  o GraTS: stochastic simulator developed with the
    University of Leicester
  o EMF-IncQuery: EMF-based implementation platform
    for all of the new results
Applications in EU projects
 DSM tools and incremental transformations
  o Development workflow modeling
  o Model synchronization,
    change impact analysis
    for requirements modeling
 Tool integration
  o SENSORIA Development Environment
     • software engineering for SOA
                           SENSORIA
     • automated configuration generation

         Software Engineering for
     • formal verification by model checking
  o MOGENTES extended tool integration framework
         Service-Oriented Overlay
     • automated test generation for railway systems

                       Computers
Publication overview
 Number of publications: 28
  o   Book chapters: 3
  o   International journal articles: 5
  o   International conference papers: 15
  o   National conference papers: 4
 Peer reviewed: 24
 Independent citations: 81, h-index: 6
 ACM Distinguished Paper and Springer Best Paper
  Awards at the MODELS 2009 Conference
Answers to reviewers

   Prof. Dr. Richard Paige
Remark 1
„While the thesis demonstrates the breadth of
application of event-driven transformations, the
introduction of the thesis might be improved by
focusing       more        on        event-driven
transformations, perhaps by including one or two
coherent, concise scenarios where event-driven
transformations are the most suitable approach to
apply solving the problem. These scenarios are
straightforward to produce, and may improve
readability.”
Answer
 “Typical” EDT scenarios
  o Model synchronization
  o Well-formedness constraint evaluation
  o Simulation
  o Traceability management
Remark 2
„The breadth of applicability of the concepts outside
of the VIATRA2 framework would be strengthened
with either more detailed comparison with related
model management frameworks (oAW, AMMA and
Epsilon come to mind), or by summarising briefly
how the concept of event driven transformations
could be supported in other approaches. At the
moment, the thesis is presented almost entirely in
the context of VIATRA2; I am convinced that the
work is more generally applicable, but the thesis
could help the community more by synthesising
lessons learned that could help other model
management framework developers.”
Answer
 Key: notion of event
 Transformation needs to be split into two major
  phases
  o Query: Pattern matching-based approach for queries
    supported by EMF-IncQuery over EMF models
  o Model manipulation: EMF-based MT tools can be
    invoked
  o Care needs to be taken for technological issues
    (parameter passing, …)
 Other approaches for incremental queries also
  feasible (Drools, Egyed’s inconsistency
  management framework, …)
Question 1

„I would ask them, in particular, about the amount
of context needed to run an event
transformation, and about the relationship
between event-driven and batch transformation
(i.e., what problems may occur when having batch
and event-driven transformations interact).”
Answer
 Context
  o Detection of changes: match sets of patterns
  o Global (session) variables
 Event-driven vs. batch transformations
  o EDT lifecycle can be managed by BTs
  o BT (modules) can be called by EDTs
  o Possible problems
     • Parameter passing
     • execution timeout
 Open research question: how to transform an existing
  BT into an EDT?
  o Currently under investigation
Question 2


„I would also ask about the relationship between
event-driven transformations and complex event
processing engines, and the extent to which the
event infrastructure can deal with large numbers
of events.”
Answer
 Event processing engines
   o Drools
   o IBM WebSphere JRules (ILOG)
   o Esper
 Slight difference in the notion of event
   o Explicit events vs. inferred events
   o Adaptation very well possible as shown by ongoing
     research
 Keys to Scalability
   o (Filtering)
   o Hybrid PM
      • Combine INC + LS strategies
Answers to reviewers

   Prof. Dr. Tibor Gyimóthy
Question 1

„The thesis uses Petri nets as example. Did you
make experiments with real life domain specific
languages regarding any of your contributions?
(For example AUTOSAR is mentioned in Chapter 6
in connection with limitations of GMF.)”
Answer
 DSMLs for academic prototypes
  o E-R, Petri net, UML profile adaptations, …
 DSMLs for workflow modeling
  (SENSORIA, MOGENTES)
 Queries for AUTOSAR (collaboration with OptXware)
 Model synchronization in the SecMER tool
  (SecureChange)
 New work (not included in thesis):
  o DSML synthesis based on ontologies
  o Quick fix generation for BPMN
  o Other industrial applications
Question 2


„In Section 5.4 when performance of event-driven
transformation engine is evaluated, it is stated
that practical model size is below 5000 nodes. How
is this number estimated?”
Answer
“It is important to note that for practical model sizes
(e.g. below the 5000 node count range), the event-
driven VIATRA/RETE engine can perform a
synchronization affecting a considerable portion of the
model in the 10-500 msec range which makes the
approach very suitable for interactive applications.”

 Will be reworded
 Illustrative example of what might be considered
  practical
 In general, this depends very much on the concrete
  application
   o scalability limit of our engine: 10^6 model elements
Question 3
„Design time model simulation can be controlled
through a user interface of the ViatraDSM
framework. Model elements can be decorated
using an API (in Figure 7.4 fireable transitions are
colored.) What kind of services are provided by
this programming interface? Beyond modifying
model elements, is there a possibility for example
to define regions – set of elements – and modify
their properties together?”
Answer

 ViatraDSM’s model access and manipulation API
  o Domain-specific queries (types)
  o Basic CRUD
  o Access to concrete syntax (arbitrary customization
   w.r.t. Draw2D possible)
 Generic queries (regions of elements)
  o Possible by graph patterns
  o Can be invoked from anywhere in the code
Question 4

„In Chapter 8 change-driven transformations are
introduced, where change impact analysis is
named as an application. As I could not find
[4], please explain the main results shortly. Give
an overview on other impact analysis techniques
(for example model level slicing) compared to
your solution.”
Answer
 Impact analysis by slicing
   o Change the program  calculate the set of affected parts of the
     program (control or data dependence)
 Model slicing
   o Change the model  calculate a simplified set of (affected)
     models
      • Preserving semantics w.r.t. the sliced data
      • Make formal analysis easier/faster
   o Relies on a formalization of the language (e.g. class invariants
     and operation pre/postconditions in UML)
 Impact analysis in SecureChange
   o interpretation of the model is performed by humans, so only
     guidance is given
   o Solved by change patterns defined on interconnected models

More Related Content

What's hot

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
lbergmans
 
Introducing MDSD
Introducing MDSDIntroducing MDSD
Introducing MDSD
Pedro J. Molina
 
Intelligent Tutoring Systems: The DynaLearn Approach
Intelligent Tutoring Systems: The DynaLearn ApproachIntelligent Tutoring Systems: The DynaLearn Approach
Intelligent Tutoring Systems: The DynaLearn Approach
Wouter Beek
 
Fudcon D programming
Fudcon D programmingFudcon D programming
Fudcon D programming
Jonathan Mercier
 
Unified Systems Engeneering with GoedelWorks
Unified Systems Engeneering with GoedelWorksUnified Systems Engeneering with GoedelWorks
Unified Systems Engeneering with GoedelWorks
Eric Verhulst
 
From programming to software engineering: ICSE keynote slides available
From programming to software engineering: ICSE keynote slides availableFrom programming to software engineering: ICSE keynote slides available
From programming to software engineering: ICSE keynote slides available
Celso Martins
 
Model-Driven Software Development
Model-Driven Software DevelopmentModel-Driven Software Development
Model-Driven Software Development
elliando dias
 
Designpatterns
DesignpatternsDesignpatterns
Designpatterns
reynolds
 
Applying SOS to MDE
Applying SOS to MDEApplying SOS to MDE
Applying SOS to MDE
Tjerk Wolterink
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
Marco Brambilla
 
Assignment brief 32 & 33 idents & sto mo 2012
Assignment brief 32 & 33 idents & sto mo 2012 Assignment brief 32 & 33 idents & sto mo 2012
Assignment brief 32 & 33 idents & sto mo 2012
suevenables
 
8. design patterns
8. design patterns8. design patterns
8. design patterns
APU
 
08 iec t1_s1_oo_ps_session_11
08 iec t1_s1_oo_ps_session_1108 iec t1_s1_oo_ps_session_11
08 iec t1_s1_oo_ps_session_11
Niit Care
 
Acceleo Code Generation
Acceleo Code GenerationAcceleo Code Generation
Acceleo Code Generation
Stéphane Bégaudeau
 
Lecture7 - IBk
Lecture7 - IBkLecture7 - IBk
Lecture7 - IBk
Albert Orriols-Puig
 
01 iec t1_s1_oo_ps_session_01
01 iec t1_s1_oo_ps_session_0101 iec t1_s1_oo_ps_session_01
01 iec t1_s1_oo_ps_session_01
Niit Care
 
DUNE on current and next generation HPC Platforms
DUNE on current and next generation HPC PlatformsDUNE on current and next generation HPC Platforms
DUNE on current and next generation HPC Platforms
Markus Blatt
 
88 92
88 9288 92
Silicon Valley Code Camp - Do you C what I C
Silicon Valley Code Camp - Do you C what I CSilicon Valley Code Camp - Do you C what I C
Silicon Valley Code Camp - Do you C what I C
Embarcadero Technologies
 

What's hot (19)

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
 
Introducing MDSD
Introducing MDSDIntroducing MDSD
Introducing MDSD
 
Intelligent Tutoring Systems: The DynaLearn Approach
Intelligent Tutoring Systems: The DynaLearn ApproachIntelligent Tutoring Systems: The DynaLearn Approach
Intelligent Tutoring Systems: The DynaLearn Approach
 
Fudcon D programming
Fudcon D programmingFudcon D programming
Fudcon D programming
 
Unified Systems Engeneering with GoedelWorks
Unified Systems Engeneering with GoedelWorksUnified Systems Engeneering with GoedelWorks
Unified Systems Engeneering with GoedelWorks
 
From programming to software engineering: ICSE keynote slides available
From programming to software engineering: ICSE keynote slides availableFrom programming to software engineering: ICSE keynote slides available
From programming to software engineering: ICSE keynote slides available
 
Model-Driven Software Development
Model-Driven Software DevelopmentModel-Driven Software Development
Model-Driven Software Development
 
Designpatterns
DesignpatternsDesignpatterns
Designpatterns
 
Applying SOS to MDE
Applying SOS to MDEApplying SOS to MDE
Applying SOS to MDE
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
 
Assignment brief 32 & 33 idents & sto mo 2012
Assignment brief 32 & 33 idents & sto mo 2012 Assignment brief 32 & 33 idents & sto mo 2012
Assignment brief 32 & 33 idents & sto mo 2012
 
8. design patterns
8. design patterns8. design patterns
8. design patterns
 
08 iec t1_s1_oo_ps_session_11
08 iec t1_s1_oo_ps_session_1108 iec t1_s1_oo_ps_session_11
08 iec t1_s1_oo_ps_session_11
 
Acceleo Code Generation
Acceleo Code GenerationAcceleo Code Generation
Acceleo Code Generation
 
Lecture7 - IBk
Lecture7 - IBkLecture7 - IBk
Lecture7 - IBk
 
01 iec t1_s1_oo_ps_session_01
01 iec t1_s1_oo_ps_session_0101 iec t1_s1_oo_ps_session_01
01 iec t1_s1_oo_ps_session_01
 
DUNE on current and next generation HPC Platforms
DUNE on current and next generation HPC PlatformsDUNE on current and next generation HPC Platforms
DUNE on current and next generation HPC Platforms
 
88 92
88 9288 92
88 92
 
Silicon Valley Code Camp - Do you C what I C
Silicon Valley Code Camp - Do you C what I CSilicon Valley Code Camp - Do you C what I C
Silicon Valley Code Camp - Do you C what I C
 

Viewers also liked

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
Istvan 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
 
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
Istvan 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 Collaboration
Istvan 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 Made
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 technologies
Istvan 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 2016
Istvan Rath
 
Domain-Specific Languages
Domain-Specific LanguagesDomain-Specific Languages
Domain-Specific Languages
Javier Canovas
 

Viewers also liked (8)

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
 
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
 
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
 
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
 
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
 
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
 
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
 
Domain-Specific Languages
Domain-Specific LanguagesDomain-Specific Languages
Domain-Specific Languages
 

Similar to Event-driven Model Transformations in Domain-specific Modeling Languages

Challenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksChallenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworks
Istvan Rath
 
Modelling and code generation in .NET at Icinetic
Modelling and code generation in .NET at IcineticModelling and code generation in .NET at Icinetic
Modelling and code generation in .NET at Icinetic
Icinetic
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWare
Michael Vorburger
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!
melbats
 
Reifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specificationsReifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specifications
Benoit Combemale
 
Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011
Hugo Bruneliere
 
Fel Flyer F10
Fel Flyer F10Fel Flyer F10
Fel Flyer F10
chitlesh
 
Modelling the User Interface
Modelling the User InterfaceModelling the User Interface
Modelling the User Interface
Pedro J. Molina
 
Reverse-Engineering Reusable Language Modules from Legacy DSLs
Reverse-Engineering Reusable Language Modules from Legacy DSLsReverse-Engineering Reusable Language Modules from Legacy DSLs
Reverse-Engineering Reusable Language Modules from Legacy DSLs
David Méndez-Acuña
 
Framework Engineering
Framework EngineeringFramework Engineering
Framework Engineering
YoungSu Son
 
keynote modelsward 2017
keynote modelsward 2017keynote modelsward 2017
keynote modelsward 2017
miso_uam
 
Sig A&D - MDA
Sig A&D - MDASig A&D - MDA
Sig A&D - MDA
David Meijers
 
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
lbergmans
 
Introduction To MDD
Introduction To MDDIntroduction To MDD
Introduction To MDD
Markus Voelter
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
Henry Muccini
 
Extension and Evolution
Extension and EvolutionExtension and Evolution
Extension and Evolution
Eelco Visser
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems Modeling
Jordi Cabot
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?
Jordi Cabot
 
The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]
Ivano Malavolta
 
ALT
ALTALT

Similar to Event-driven Model Transformations in Domain-specific Modeling Languages (20)

Challenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksChallenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworks
 
Modelling and code generation in .NET at Icinetic
Modelling and code generation in .NET at IcineticModelling and code generation in .NET at Icinetic
Modelling and code generation in .NET at Icinetic
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWare
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!
 
Reifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specificationsReifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specifications
 
Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011
 
Fel Flyer F10
Fel Flyer F10Fel Flyer F10
Fel Flyer F10
 
Modelling the User Interface
Modelling the User InterfaceModelling the User Interface
Modelling the User Interface
 
Reverse-Engineering Reusable Language Modules from Legacy DSLs
Reverse-Engineering Reusable Language Modules from Legacy DSLsReverse-Engineering Reusable Language Modules from Legacy DSLs
Reverse-Engineering Reusable Language Modules from Legacy DSLs
 
Framework Engineering
Framework EngineeringFramework Engineering
Framework Engineering
 
keynote modelsward 2017
keynote modelsward 2017keynote modelsward 2017
keynote modelsward 2017
 
Sig A&D - MDA
Sig A&D - MDASig A&D - MDA
Sig A&D - MDA
 
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
 
Introduction To MDD
Introduction To MDDIntroduction To MDD
Introduction To MDD
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
Extension and Evolution
Extension and EvolutionExtension and Evolution
Extension and Evolution
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems Modeling
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?
 
The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]
 
ALT
ALTALT
ALT
 

More from 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 Integration
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 Integration
Istvan 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 IW2019
Istvan Rath
 
VIATRA 2.0 Webinar
VIATRA 2.0 WebinarVIATRA 2.0 Webinar
VIATRA 2.0 Webinar
Istvan 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 engines
Istvan Rath
 
Eclipse VIATRA Overview 2017
Eclipse VIATRA Overview 2017Eclipse VIATRA Overview 2017
Eclipse VIATRA Overview 2017
Istvan 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 Systems
Istvan Rath
 
The SENSORIA Development Environment
The SENSORIA Development EnvironmentThe SENSORIA Development Environment
The SENSORIA Development Environment
Istvan 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ésben
Istvan Rath
 
Change-driven model transformations
Change-driven model transformationsChange-driven model transformations
Change-driven model transformations
Istvan Rath
 
Domain-specifikus nyelvek a fejlesztésben
Domain-specifikus nyelvek a fejlesztésbenDomain-specifikus nyelvek a fejlesztésben
Domain-specifikus nyelvek a fejlesztésben
Istvan 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 framework
Istvan Rath
 
Model transformations in the VIATRA2 framework
Model transformations in the VIATRA2 frameworkModel transformations in the VIATRA2 framework
Model transformations in the VIATRA2 framework
Istvan 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 transformations
Istvan Rath
 
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
Istvan 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 strategies
Istvan Rath
 
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
Istvan 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 system
Istvan Rath
 

More from 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
 
The SENSORIA Development Environment
The SENSORIA Development EnvironmentThe SENSORIA Development Environment
The SENSORIA Development Environment
 
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
 
Change-driven model transformations
Change-driven model transformationsChange-driven model transformations
Change-driven model transformations
 
Domain-specifikus nyelvek a fejlesztésben
Domain-specifikus nyelvek a fejlesztésbenDomain-specifikus nyelvek a fejlesztésben
Domain-specifikus nyelvek a fejlesztésben
 
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
 
Model transformations in the VIATRA2 framework
Model transformations in the VIATRA2 frameworkModel transformations in the VIATRA2 framework
Model transformations in the VIATRA2 framework
 
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
 
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
 
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
 
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
 
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
 

Recently uploaded

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 

Recently uploaded (20)

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 

Event-driven Model Transformations in Domain-specific Modeling Languages

  • 1. Event-driven Model Transformations in Domain-specific Modeling Languages PhD thesis István Ráth Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
  • 3. Software Engineering by Domain-specific Modeling
  • 4. Challenges Complexity of modeling environments • Multi-aspect modeling, language families, product lines, …
  • 5. Challenges Scalability of MDE toolchains • Large models vs. incremental change propagation • Tool integration in heterogeneous environments
  • 6. Challenges Usability issues of DSMLs • Abstraction: abstract- concrete syntax • Dynamics: execution semantics
  • 7. Research goals Advanced language Tool integration engineering features Change propagation Abstraction Model Incremental transformations code generation Simulation “Middleware” for MDSE Multi-aspect DSM complexity and usability modeling challenges  Advanced language engineering solutions
  • 9. Motivation: limited abstractions  Limitations of abstract-concrete syntax representation in DSM language engineering frameworks  Usability problem!
  • 10. Separating abstract and concrete syntax  What? Abstract Concrete o concrete syntax diagrams syntax syntax o abstract syntax logical model  Why? Test : Class Test o reduce complexity for the user ID : Attribute o Give more power ID: id0 to the language engineer “id0” :String
  • 11. Objectives  Arbitrary mapping o abstraction o diagram-specific o aggregation elements o decorators Logical model Diagram h0 p0 : Place :token :token :token 3 t0:Token t1:Token t2:Token
  • 12. Solution  Bi-directional mapping o goal: arbitrary mapping o means: event-driven transformations (EDT) Logical model Diagram model Diagram :model p0 : Place _p0 : PlaceFigure h0 :token :token :token EDT :property 3 t0:Token t1:Token t2:Token tokenCount :Property
  • 13. Motivation: no design-time simulation support  Dynamic semantics specification and execution still a missing feature from industrial DSM environments  Dedicated simulators serve a different purpose  General case: execution semantics introduced only during code generation phase  delayed appearance of design errors
  • 14. Design-time simulation  Discrete Event System Specification (DEVS) o Denotational semantics (specified by event-driven GT rules)  generic approach o Supports state automata, Kripke structures, Petri nets, DFNs, BPEL/BPMN, UML statecharts, …  Execution modes o Interactive (guided debugging) o Automatic (stochastic)
  • 15. Simulation efficiency Sparse Petri net benchmark 1000000 Viatra/RETE 100000 (x1k) Execution time (ms) 10000 Viatra/LS (x1k) 1000 100 Viatra/RETE (x1M) 10 100 1000 10000 100000 Petri net size
  • 16. Thesis 2: automatic model transformations in domain-specific languages 2.1. Multi-aspect modeling for DSMLs based on multiple instantiation and metamodel hierarchies 2.2. Complete separation of abstract and concrete syntax representations 2.3. Design-time interactive simulation (specification and execution semantics) 2.4. Efficient implementation techniques, verification by benchmarking Collaboration 2.2. András Ökrös (MSc student) 2.3. Dávid Vágó
  • 17. Important related publications Journal paper  István Ráth, András Ökrös, and Dániel Varró. Synchronization of abstract and concrete syntax in domain-specific modeling languages. Software and Systems Modeling, 9:453–471, 2010.  6 citations International Conferences  Ajab Khan, Reiko Heckel, Paolo Torrini, and István Ráth. Model-based stochastic simulation of P2P VoIP using graph transformation. 17th International Conference on Analytical and Stochastic Modeling Techniques and Applications, 2010.  3 citations  Paolo Torrini, Reiko Heckel, and István Ráth. Stochastic simulation of graph transformation systems. Fundamental Approaches to Software Engineering, 6013/2010 LNCS pp. 154–157.  3 citations  István Ráth, Dávid Vágó, and Dániel Varró. Design-time simulation of domain-specific models by incremental pattern matching. The IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2008 pp. 219–222. Acceptance rate: 29%.  2 citations  István Ráth and Dániel Varró. Challenges for advanced domain-specific modeling frameworks. International Workshop on Domain Specific Program Development(DSPD2006), Nantes, France, July 2006.  7 citations National conferences  István Ráth. Modelltranszformációk integrált alkalmazása domain-specifikus nyelvekben. In Tavaszi Szél Konferenciakiadvány, 2009.  István Ráth. Declarative mapping between abstract and concrete syntax of domain- specific visual languages. In The Proceedings of the Fifth Conference of PhD Students in Computer Science, 2006.
  • 18. Research goals Advanced language Tool integration engineering features Change propagation Abstraction Model Incremental transformations code generation Simulation “Middleware” for MDSE Multi-aspect Efficiency modeling for language engineering Integrated MTs  new execution model
  • 20. Motivation  Domain-specific modeling applications don’t align well with the batch execution model o Model/view synchronization o Model queries and reports modification Key ideas: Source model S1 S2 • S3 Correlate events to Sn model changes t tL transformation tL • Capture formally by tL context graph pattern match update set changes Target model T1 T2 • Adapt graph T3 Tn transformations to specify reactions
  • 21. Graph Transformations in VIATRA2 LHS RHS a1:inarc a2:outarc a1:inarc a2:outarc Place Tran. Place Place Tran. Plan ttn1:tokens tkn2:tokens Token Token matching updating Phases of GT matching – Pattern Matching phase – Updating phase: delete+ create Pattern Matching is the most critical issue from performance viewpoint  Matches can be cached and updated incrementally by RETE nets  Changes in the match sets can be detected efficiently
  • 22. Event-driven graph transformations C C D Conditions Transaction1 U Incremental pattern matcher C Notification Events D D Matching set delta monitor U fall Model Store MS(PA) Execution Commit Engine rise trigger Transaction2 MS(PB) actions Transactions
  • 23. Event-driven graph transformations C C D Conditions Transaction1 U Incremental pattern matcher C Notification Events D D Matching set delta monitor U fall Model Store Event-Condition-Action MS(PA) formalism Execution Commit • Adapted from expert systems Engine • Specification language: graph triggers • Execution semantics: priority queue automaton rise trigger Transaction2 MS(PB) actions Event-driven Transformations • Run in the background • React when necessary • Model/view synchronization, change processing, … Transactions
  • 24. Thesis 1: event-driven model transformations 1.1. Concepts for event-driven GT based on incremental pattern matching 1.2. Execution semantics based on a queue automaton model 1.3. GT-based specification language: graph triggers 1.4. Efficient implementation techniques and a software framework, verification by benchmarking Collaboration 1.4. András Ökrös, Gábor Bergmann (MSc students)
  • 25. Important related publications Journal paper  István Ráth, András Ökrös, and Dániel Varró. Synchronization of abstract and concrete syntax in domain-specific modeling languages. Software and Systems Modeling, 9:453–471, 2010. 6 citations International conferences  István Ráth, Gábor Bergmann, András Ökrös, and Dániel Varró. Live model transformations driven by incremental pattern matching. International Conference on Model Transformations (ICMT2008), 5063/2008 LNCS, pp 107–121. Acceptance rate: 31%.  10 citations  Gábor Bergmann, Ákos Horváth, István Ráth, and Dániel Varró. Efficient model transformations by combining pattern matching strategies. International Conference on Model Transformations (ICMT2009), 5563/2009 LNCS, pp 20–34. Acceptance rate: 23%  4 citations  Gábor Bergmann, Ákos Horváth, István Ráth, and Dániel Varró. A benchmark evaluation of incremental pattern matching in graph transformation. International Conference on Graph Transformations, 5214/2008 LNCS, pp. 396–410. Acceptance rate: 40%. 11 citations  Gábor Bergmann, András Ökrös, István Ráth, Dániel Varró, and Gergely Varró. Incremental pattern matching in the VIATRA transformation system. 3rd International Workshop on Graph and Model Transformation. 30th International Conference on Software Engineering, 2008.  9 citations
  • 26. Applications in tool integration
  • 27. Research goals Advanced language Tool integration engineering features Change propagation Abstraction Model Incremental transformations code generation Simulation “Middleware” for MDSE Multi-aspect modeling New applications  new execution infrastructure
  • 28. Tool integration chains Tool k Tool 3 (documentation) Tool 1 (model annotation) (modeling) Tool n (code generator) Tool 2 (analysis) Tool m (test generator) Tool x (test bench)
  • 29. Tool integration chains Tool k Tool 3 (documentation) Tool 1 (model annotation) (modeling) Tool n (code generator) Tool 2 (analysis) Challenge 1: Tool m Efficient change (test generator) propagation Tool x (test bench)
  • 30. Change-driven transformations  Incremental change propagation Source model Traceability model Target model MA TR MB changeA changeB Change-driven transformations M’A TR’ M’B Model-based domain- Model independent transformations for change change processing representation
  • 31. Incremental and asynchronous code generation by CDTs MA TR MB changeA CMB Asynchronous CDT jPDL Process M’A TR’ M’B Description IF JBoss Workflow Engine Graphical DSML <node name=“Interface Type Mapping”> <action name=“UML2SAL Transformation” class = “…”> <toolId>UML2SAL transformer</toolId> <functionId>UML2SAL</functionId> <returnType>SALModel</returnType> <params> <entry> <key>umlModel</key><value>...<value> </entry> </params> </action> <transition from=“initial_node” to=“TCG-with-SAL-ATG” /> </node>
  • 32. Incremental and asynchronous code generation by CDTs MA TR MB 2 3 changeA CMB Asynchronous CDT jPDL Process M’A TR’ Description IF 4 M’ B JBoss Workflow Engine Graphical DSML <node name=“Interface Type Mapping”> <action name=“UML2SAL Transformation” class = “…”> <toolId>UML2SAL transformer</toolId> <functionId>UML2SAL</functionId> <returnType>SALModel</returnType> <params> <entry> 5 <key>umlModel</key><value>...<value> 1 </entry> </params> </action> <transition from=“initial_node” to=“TCG-with-SAL-ATG” /> </node>
  • 33. Integration challenges Tool k Infrastructural challenges: (documentation) • Many tools • Many formats Tool 3 Tool 1 (modeling) (model annotation) • Many (types of) users • Collaborative data access Tool n (code generator) • Process management Tool m (test generator) Solution: Tool x (test bench) Tool 2 SENSORIA Development Environment (analysis) • Tool integration framework • Model-based workflow orchestrations • Distributed infrastructure based on a model bus
  • 34. Thesis 3: Tool integration based on change-driven transformations 3.1. Concept of change-driven transformations 3.2. New implementation techniques for incremental code generation by CDTs 3.3. Remote service invocation in the SENSORIA Development Environment 3.4. Implementation architecture for tool integration 3.5. Model-based framework for development workflows and synchronization Collaboration 3.3. Ádám Horváth (MSc student) 3.4-3.5. Dr. Balázs Polgár & others
  • 35. Important related publications Book chapters  István Ráth and Philip Mayer. The SENSORIA Development Environment. Book chapter in: Rigorous Software Engineering for Service-Oriented Systems: Results of the SENSORIA project on Software Engineering for Service-Oriented Computing, Springer, 2010 (Accepted).  András Balogh, Gábor Bergmann, György Csertán, László Gönczy, Ákos Horváth, István Majzik, András Patariza, Balázs Polgár, István Ráth, Dániel Varró, Gergely Varró. Workflow-driven tool integration using model transformations. Book chapter in: Graph Transformations and Model-Driven Engineering, 5765 LNCS, pp. 224–248.  1 citation Journal paper  Bergmann Gábor, István Ráth, Gergely Varró, and Dániel Varró. Change-driven model transformations: Change (in) the rule to rule the change. Journal of Software and Systems Modeling, 2011 (Accepted). International conferences  István Ráth, Gergely Varró, and Dániel Varró. Change-driven model transformations. Model Driven Engineering Languages and Systems, 12th International Conference, MODELS 2009. 5795/2009 LNCS. Springer Best Paper Award and ACM Distinguished Paper Award; Acceptance rate: 18%.  2 citations  Balázs Polgár, István Ráth, Zoltán Szatmári, and István Majzik. Model-based Integration, Execution and Certification of Development Tool-chains. The 2nd ECMDA Workshop on Model-Driven Tool and Process Integration, 2009.  1 citation
  • 37. New results Event-driven transformations by incremental pattern matching • Specification language • Execution semantics and infrastructure Advanced language engineering by EDTs • Interactive/stochastic simulation of dynamic semantics • Abstract-concrete synchronization Tool integration by change-driven transformations • Incremental code generation • Incremental change propagation to deployed models
  • 38. Applications of new results in the VIATRA2 project  VIATRA2: state-of-the-art graph transformation framework o Event-driven transformation engine o ViatraDSM: domain-specific modeling front-end  Collaborative follow-up research o GraTS: stochastic simulator developed with the University of Leicester o EMF-IncQuery: EMF-based implementation platform for all of the new results
  • 39. Applications in EU projects  DSM tools and incremental transformations o Development workflow modeling o Model synchronization, change impact analysis for requirements modeling  Tool integration o SENSORIA Development Environment • software engineering for SOA SENSORIA • automated configuration generation Software Engineering for • formal verification by model checking o MOGENTES extended tool integration framework Service-Oriented Overlay • automated test generation for railway systems Computers
  • 40. Publication overview  Number of publications: 28 o Book chapters: 3 o International journal articles: 5 o International conference papers: 15 o National conference papers: 4  Peer reviewed: 24  Independent citations: 81, h-index: 6  ACM Distinguished Paper and Springer Best Paper Awards at the MODELS 2009 Conference
  • 41. Answers to reviewers Prof. Dr. Richard Paige
  • 42. Remark 1 „While the thesis demonstrates the breadth of application of event-driven transformations, the introduction of the thesis might be improved by focusing more on event-driven transformations, perhaps by including one or two coherent, concise scenarios where event-driven transformations are the most suitable approach to apply solving the problem. These scenarios are straightforward to produce, and may improve readability.”
  • 43. Answer  “Typical” EDT scenarios o Model synchronization o Well-formedness constraint evaluation o Simulation o Traceability management
  • 44. Remark 2 „The breadth of applicability of the concepts outside of the VIATRA2 framework would be strengthened with either more detailed comparison with related model management frameworks (oAW, AMMA and Epsilon come to mind), or by summarising briefly how the concept of event driven transformations could be supported in other approaches. At the moment, the thesis is presented almost entirely in the context of VIATRA2; I am convinced that the work is more generally applicable, but the thesis could help the community more by synthesising lessons learned that could help other model management framework developers.”
  • 45. Answer  Key: notion of event  Transformation needs to be split into two major phases o Query: Pattern matching-based approach for queries supported by EMF-IncQuery over EMF models o Model manipulation: EMF-based MT tools can be invoked o Care needs to be taken for technological issues (parameter passing, …)  Other approaches for incremental queries also feasible (Drools, Egyed’s inconsistency management framework, …)
  • 46. Question 1 „I would ask them, in particular, about the amount of context needed to run an event transformation, and about the relationship between event-driven and batch transformation (i.e., what problems may occur when having batch and event-driven transformations interact).”
  • 47. Answer  Context o Detection of changes: match sets of patterns o Global (session) variables  Event-driven vs. batch transformations o EDT lifecycle can be managed by BTs o BT (modules) can be called by EDTs o Possible problems • Parameter passing • execution timeout  Open research question: how to transform an existing BT into an EDT? o Currently under investigation
  • 48. Question 2 „I would also ask about the relationship between event-driven transformations and complex event processing engines, and the extent to which the event infrastructure can deal with large numbers of events.”
  • 49. Answer  Event processing engines o Drools o IBM WebSphere JRules (ILOG) o Esper  Slight difference in the notion of event o Explicit events vs. inferred events o Adaptation very well possible as shown by ongoing research  Keys to Scalability o (Filtering) o Hybrid PM • Combine INC + LS strategies
  • 50. Answers to reviewers Prof. Dr. Tibor Gyimóthy
  • 51. Question 1 „The thesis uses Petri nets as example. Did you make experiments with real life domain specific languages regarding any of your contributions? (For example AUTOSAR is mentioned in Chapter 6 in connection with limitations of GMF.)”
  • 52. Answer  DSMLs for academic prototypes o E-R, Petri net, UML profile adaptations, …  DSMLs for workflow modeling (SENSORIA, MOGENTES)  Queries for AUTOSAR (collaboration with OptXware)  Model synchronization in the SecMER tool (SecureChange)  New work (not included in thesis): o DSML synthesis based on ontologies o Quick fix generation for BPMN o Other industrial applications
  • 53. Question 2 „In Section 5.4 when performance of event-driven transformation engine is evaluated, it is stated that practical model size is below 5000 nodes. How is this number estimated?”
  • 54. Answer “It is important to note that for practical model sizes (e.g. below the 5000 node count range), the event- driven VIATRA/RETE engine can perform a synchronization affecting a considerable portion of the model in the 10-500 msec range which makes the approach very suitable for interactive applications.”  Will be reworded  Illustrative example of what might be considered practical  In general, this depends very much on the concrete application o scalability limit of our engine: 10^6 model elements
  • 55. Question 3 „Design time model simulation can be controlled through a user interface of the ViatraDSM framework. Model elements can be decorated using an API (in Figure 7.4 fireable transitions are colored.) What kind of services are provided by this programming interface? Beyond modifying model elements, is there a possibility for example to define regions – set of elements – and modify their properties together?”
  • 56. Answer  ViatraDSM’s model access and manipulation API o Domain-specific queries (types) o Basic CRUD o Access to concrete syntax (arbitrary customization w.r.t. Draw2D possible)  Generic queries (regions of elements) o Possible by graph patterns o Can be invoked from anywhere in the code
  • 57. Question 4 „In Chapter 8 change-driven transformations are introduced, where change impact analysis is named as an application. As I could not find [4], please explain the main results shortly. Give an overview on other impact analysis techniques (for example model level slicing) compared to your solution.”
  • 58. Answer  Impact analysis by slicing o Change the program  calculate the set of affected parts of the program (control or data dependence)  Model slicing o Change the model  calculate a simplified set of (affected) models • Preserving semantics w.r.t. the sliced data • Make formal analysis easier/faster o Relies on a formalization of the language (e.g. class invariants and operation pre/postconditions in UML)  Impact analysis in SecureChange o interpretation of the model is performed by humans, so only guidance is given o Solved by change patterns defined on interconnected models

Editor's Notes

  1. Ez a slide tulszoveges!
  2. Be kelleneanimalni, darabonkentosszerakva
  3. Be kelleneanimalni, darabonkentosszerakva
  4. Users: kisemberkeikonok
  5. Users: kisemberkeikonok
  6. Legend azabrahoz
  7. Animacio: modell, kodkepeketnagyitsakiInkrementalitasterzekeltessuk (feherdobozkitakar)
  8. Animacio: modell, kodkepeketnagyitsakiInkrementalitasterzekeltessuk (feherdobozkitakar)
  9. 32-es abraalapjanfelvezetniazarchitekturat
  10. Wordart/smartartbarakhato
  11. Dobozok! (grafikusabra) egyszerubbneklattamszovegesen (Istvan)
  12. Projektlogok
  13. Milyen complex event processing enginekvannak? Drools, WebSphereJrules (ILOG), esper,
  14. Atgondolni