SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Budapest University of Technology and Economics




      Efficient Model Transformations
  by Combining Pattern Matching Strategies



                   Gábor Bergmann, Ákos Horváth,
                      István Ráth, Dániel Varró




Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Talk Overview


                                                        GT & PM
                           Introduction                 overview




                            Hybrid PM                  Measurements




   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Introduction
 Common problem to be solved by model
  transformation tools:
  − Efficient query and manipulation of complex graph-
    based patterns
 One possible solution:
  − Graph transformation




   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Benchmarking
 Aim:
  − systematic and reproducible measurements
  − on performance
  − under varying and precisely defined circumstances
 Overall goal:
  − help transformation engineers in selecting tools
  − serve as reference for future research
 Popular approach in different fields
  − AI
  − relational databases
  − rule-based expert systems
   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Talk overview


                                                        GT & PM
                           Introduction                 overview




                            Hybtid PM                  Measurements




   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Metamodeling                               Package
                                                        schemaRef
                                                                        Schema


                                            Class        tableRef

                                                                         Table
                                     Association          tableRef

                                                         fKeyRef
                                       EndPoint                        ForeignKey
                                                        columnRef
  Metamodel                            Attribute                        Column

                                                                        Instance model

               jarEntry: Class               lang: Package



 jarFile: Class              jar: Package              java: Package


   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Graph Transformation
                 schemaRule                                             :schemaRef


 Con: Container                                         java: Package                Schema

     <<contains>>     NEG               {NEW}
  P: Package                       SN:Schema
                                                        lang: Package
                      :schemaRef   {NEW}


                                                         jar: Package


  Phases of GT matching
    – Pattern Matching phase
    – Updating phase: delete+ create

  Pattern Matching is the most critical issue from the
    performance viewpoint (in our experience)
    Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Pattern matching techniques
  Execution strategies
  − Interpreted: AGG (Tiger), VIATRA, MOLA, Groove, ATL
      ● underlying PM engine
  − Compiled: Fujaba, GReAT, PROGRES, Tiger, VMTS,
    GrGEN.NET, ...
      ● directly executed as C(#) or Java code
  Algorithms
  − Constraint satisfaction: AGG (Tiger)
      ● variables + constraints
  − Local search (LS): Fujaba, GReAT, PROGRES, VIATRA,
    MOLA, Groove, Tiger (Compiled), GrGEN.NET, ...
      ● step-by-step extension of the matching
  − Incremental (INC): VIATRA, Tefkat
      ● Updated cache mechanism
    Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Traditional Local Search-based pattern
matching
 Method
  − usually defined at design/compile time
  − simple search plan
  − hard wired precedence for
    constraint checking
     (NAC, injectivity, attribute, etc.)
     ● Can be done adaptively

 Good performance expected when:
  − Small patterns, bound input parameters
   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Local Search based Pattern Matching Example
                                                        frequently used &
                                                         efficient solution
                 schemaRule

 Con: Container                                                    Search plan

     <<contains>>     NEG                                                     Con
  P: Package                       SN:Schema                                         1
                      :schemaRef                                    <<contains>>     2
                                                                                 P
                                                                                     3


                                 Constraint
                               checking (NAC,                   Search sequence
                               injectivity, etc.)
                                                                   order of traversal
                                                                   in the search plan
    Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Incremental Pattern Matching
 Goal
  − Store matching sets
  − Incremental update
  − Fast response
 Good performance expected when:
  − frequent pattern matching
  − Small updates
 Possible application domain
  − E.g. synchronization, constraints, model simulation,
    etc.
 In VIATRA: an adapted RETE algorithm
   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Incremental Pattern Matching Example
•  RETE net
    –  nodes: intermediate matchings                                                     INPUT
                                                          p4
    –  edge: update propagation                                                     p1 p2 p3 c1 c2 s1 p4

•  Example                                                        p4
                                                                                                      p4              p4

     –  input: schemaRule pattern                             Package
                                                                                              Class            Schema
     –  pattern: contained Package                              p1 p2 p3 p4
                                                                                              c1 c2              s1
     –  update: new package
                                                                                    p4

                     p1: Package
                                                                                <<contains>>
                                                                       p1, p2       p1, p3            p3, p4


    p2: Package              p3: Package                                           p4
                                                              p3, p4
                                                                                                 NAC
schemaRef                                                                                        p2, s1

 s1:Schema            c1: Class       p4: Package
                                                                                        out
                                                                           p1, p3               p3,p4

      Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Talk overview


                                                        GT & PM
                           Introduction                 overview




                            Hybrid PM                  Measurements




   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Hybrid pattern matching
 Idea: combine local search-based and
  incremental pattern matching
 Motivation
  − Incremental PM is better for most cases, but…
       ● Has memory overhead!
       ● Has update overhead
  −  LS might be better in certain cases
 Based on experience with a ”real world”
  transformation application1
 1Kovacs,
        M., Lollini, P., Majzik, I., Bondavalli, A.: An Integrated Framework for the
 Dependability Evaluation of Distributed Mobile Applications (SERENE’08)
    Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Where LS might be better…
 Memory consumption
  − RETE sizes grow roughly linearly with the model
    space
  − Constrained memory  trashing
 Cache construction time penalty
  − RETE networks take time to construct
  − „navigation patterns” can be matched quicker by LS
 Expensive updates
  − Certain patterns’ matching set is HUGE
  − Depends largely on the transformation

   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Case study: ORM Synchronization
                                    :schemaRef
             : Package                                   : Schema


                                    :tableRef
               : Class                                     : Table

                                   :columnRef
     : Attribute     : Attribute                    : Column    : Column


                                   :columnRef

Transformation workflow

     Check                                              Modify
                                Perform
     source                                             source             Synchronize
                                                                                     
                                mapping 
      model
                                             model


    Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Phases
  Check Phase                                            Initial Transformation
  − Well-formedness checking                               − Match reusability
  − Static graph structure                                 − Unidirectional
  − No model manipulation                                  − Complex rules
                                                           − Batch like execution



  Refactoring                                            Synchronization
  − Single rule executed:                                  − Match reusability
    move package in the                                    − Unidirectional
    hierarchy                                              − Simple rules
  − Manual execution                                       − Live execution

    Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Phases
  Check Phase                                            Initial Transformation
  − Simple patterns, looking                               − Processes the entire
    only for the first match                                 model (full traversal)
  − INC: cache construction                                − Match set may not fit into
    penalty high                                             memory
  − LS may be a better choice                              − Solution: decompose, use
                                                             LS for certain patterns

  Refactoring                                            Synchronization
  − Move in containment                                    − INC significantly better (as
    hierarchy: very expensive                                demonstrated at ICGT08)
    cache update
  − LS can be significantly
    better
    Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Hybrid PM in the source code

                                              Assign a PM implementation
                                               on a per-pattern (per-rule)
                                               basis  ability to fine tune
                                               performance on a very fine
                                                      grained level.




   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Talk overview


                                                        GT & PM
                           Introduction                 overview




                            Hybrid PM                  Measurements




   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Environment
 Hardware and OS
  − 1.8 GHz Intel Core2 Duo
  − 2048 MB RAM
  − Windows XP SP3
  − Sun JVM 1.6.0_02 for VIATRA
 Tool related
  − VIATRA2 R3 Build 2009.02.03
  − Standard services of the default distribution



   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Composite ORM Synchronization benchmark




                                                         Hybrid
scales

                                                          be-er
with

                                                       increasingly
large

                                                            models!



   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Considerations for selecting PM strategy
  Graph pattern static attributes
   − Number of patterns
   − Pattern size
   − Containment constraints
  Control structures
   − Parameter passing
   − Usage frequencies
   − Model update cost
  Model-dependent pattern characteristics
   − Model statistics (instance count)



    Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Adaptive hybrid pattern matching
  Goal: provide (semi-) automatic aid for strategy
   selection
  Idea: monitor memory usage
   − JVM telemetry
  Prevent heap exhaustion
   − Destroy match set cache structures
   − Switch to LS
            PM Strategy                     Used heap [MB]   Transform phase
                                                             execution time [s]
            LS                                   201               77.1
            INC                                  353               13.6
            Static hybrid                        220               10.9
            Adaptive hybrid                      235               35.7
    Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Further benchmarking
 Paper for a GRaBaTS 2008 special issue in
  STTT’09: Experimental assessment of
  combining pattern matching strategies with
  VIATRA2
 In-detail investigation
  − hybrid approach
  − Transformation language-level optimizations
 Optimization
  − Based on experience with ICMT’09 paper


   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


AntWorld Results


          Linear characteristic
           retained, slower by
             only a constant
                 multiplier




   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Memory footprint



              Linear reduction in
               memory overhead




   Fault-tolerant Systems Research Group
Budapest University of Technology and Economics


Summary


Optimization strategy               Performance                  Memory footprint
LS                                  High order polynomial        Constant
Switch to INC                       Polynomial order reduction   Linear increase with model
                                                                 size
Switch to Hybrid                    Linear (~50%) reduction      Linear (~50%) reduction




 In short: you may get a linear decrease in
  memory for a linear increase in execution time
   retains complexity class characteristics 

      Fault-tolerant Systems Research Group
Budapest University of Technology and Economics




                                        ?
Fault-tolerant Systems Research Group

Weitere ähnliche Inhalte

Ähnlich wie Efficient model transformations by combining pattern matching strategies

libHPC: Software sustainability and reuse through metadata preservation
libHPC: Software sustainability and reuse through metadata preservationlibHPC: Software sustainability and reuse through metadata preservation
libHPC: Software sustainability and reuse through metadata preservationSoftwarePractice
 
Introducing Parallel Pixie Dust: Advanced Library-Based Support for Paralleli...
Introducing Parallel Pixie Dust: Advanced Library-Based Support for Paralleli...Introducing Parallel Pixie Dust: Advanced Library-Based Support for Paralleli...
Introducing Parallel Pixie Dust: Advanced Library-Based Support for Paralleli...Jason Hearne-McGuiness
 
Uncovering Performance Problems in Java Applications with Reference Propagati...
Uncovering Performance Problems in Java Applications with Reference Propagati...Uncovering Performance Problems in Java Applications with Reference Propagati...
Uncovering Performance Problems in Java Applications with Reference Propagati...Dacong (Tony) Yan
 
Scalable Data Science in Python and R on Apache Spark
Scalable Data Science in Python and R on Apache SparkScalable Data Science in Python and R on Apache Spark
Scalable Data Science in Python and R on Apache Sparkfelixcss
 
On Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate ProgrammingOn Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate ProgrammingRoberto Casadei
 
Strabon: A Semantic Geospatial Database System
Strabon: A Semantic Geospatial Database SystemStrabon: A Semantic Geospatial Database System
Strabon: A Semantic Geospatial Database SystemKostis Kyzirakos
 
Workshop NGS data analysis - 2
Workshop NGS data analysis - 2Workshop NGS data analysis - 2
Workshop NGS data analysis - 2Maté Ongenaert
 
Compressing Graphs and Indexes with Recursive Graph Bisection
Compressing Graphs and Indexes with Recursive Graph Bisection Compressing Graphs and Indexes with Recursive Graph Bisection
Compressing Graphs and Indexes with Recursive Graph Bisection aftab alam
 
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks.pdf
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks.pdfRetrieval-Augmented Generation for Knowledge-Intensive NLP Tasks.pdf
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks.pdfPo-Chuan Chen
 
De novo assemble for NGS
De novo assemble for NGSDe novo assemble for NGS
De novo assemble for NGSlangkang
 
A Parallel Packed Memory Array to Store Dynamic Graphs
A Parallel Packed Memory Array to Store Dynamic GraphsA Parallel Packed Memory Array to Store Dynamic Graphs
A Parallel Packed Memory Array to Store Dynamic GraphsSubhajit Sahu
 
Semantic Analysis using Wikipedia Taxonomy
Semantic Analysis using Wikipedia TaxonomySemantic Analysis using Wikipedia Taxonomy
Semantic Analysis using Wikipedia TaxonomyPatrick Nicolas
 
Scalable up genomic analysis with ADAM
Scalable up genomic analysis with ADAMScalable up genomic analysis with ADAM
Scalable up genomic analysis with ADAMfnothaft
 
Packed Levitated Marker for Entity and Relation Extraction
Packed Levitated Marker for Entity and Relation ExtractionPacked Levitated Marker for Entity and Relation Extraction
Packed Levitated Marker for Entity and Relation Extractiontaeseon ryu
 
GECCO'2006: Bounding XCS’s Parameters for Unbalanced Datasets
GECCO'2006: Bounding XCS’s Parameters for Unbalanced DatasetsGECCO'2006: Bounding XCS’s Parameters for Unbalanced Datasets
GECCO'2006: Bounding XCS’s Parameters for Unbalanced DatasetsAlbert Orriols-Puig
 
Predicting SPARQL query execution time and suggesting SPARQL queries based on...
Predicting SPARQL query execution time and suggesting SPARQL queries based on...Predicting SPARQL query execution time and suggesting SPARQL queries based on...
Predicting SPARQL query execution time and suggesting SPARQL queries based on...Rakebul Hasan
 

Ähnlich wie Efficient model transformations by combining pattern matching strategies (20)

libHPC: Software sustainability and reuse through metadata preservation
libHPC: Software sustainability and reuse through metadata preservationlibHPC: Software sustainability and reuse through metadata preservation
libHPC: Software sustainability and reuse through metadata preservation
 
Assignment-2 -upload.pptx
Assignment-2 -upload.pptxAssignment-2 -upload.pptx
Assignment-2 -upload.pptx
 
Introducing Parallel Pixie Dust: Advanced Library-Based Support for Paralleli...
Introducing Parallel Pixie Dust: Advanced Library-Based Support for Paralleli...Introducing Parallel Pixie Dust: Advanced Library-Based Support for Paralleli...
Introducing Parallel Pixie Dust: Advanced Library-Based Support for Paralleli...
 
Uncovering Performance Problems in Java Applications with Reference Propagati...
Uncovering Performance Problems in Java Applications with Reference Propagati...Uncovering Performance Problems in Java Applications with Reference Propagati...
Uncovering Performance Problems in Java Applications with Reference Propagati...
 
Scalable Data Science in Python and R on Apache Spark
Scalable Data Science in Python and R on Apache SparkScalable Data Science in Python and R on Apache Spark
Scalable Data Science in Python and R on Apache Spark
 
On Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate ProgrammingOn Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate Programming
 
Strabon: A Semantic Geospatial Database System
Strabon: A Semantic Geospatial Database SystemStrabon: A Semantic Geospatial Database System
Strabon: A Semantic Geospatial Database System
 
Workshop NGS data analysis - 2
Workshop NGS data analysis - 2Workshop NGS data analysis - 2
Workshop NGS data analysis - 2
 
Compressing Graphs and Indexes with Recursive Graph Bisection
Compressing Graphs and Indexes with Recursive Graph Bisection Compressing Graphs and Indexes with Recursive Graph Bisection
Compressing Graphs and Indexes with Recursive Graph Bisection
 
3rd presentation
3rd presentation3rd presentation
3rd presentation
 
Bs25412419
Bs25412419Bs25412419
Bs25412419
 
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks.pdf
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks.pdfRetrieval-Augmented Generation for Knowledge-Intensive NLP Tasks.pdf
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks.pdf
 
Streams on wires
Streams on wiresStreams on wires
Streams on wires
 
De novo assemble for NGS
De novo assemble for NGSDe novo assemble for NGS
De novo assemble for NGS
 
A Parallel Packed Memory Array to Store Dynamic Graphs
A Parallel Packed Memory Array to Store Dynamic GraphsA Parallel Packed Memory Array to Store Dynamic Graphs
A Parallel Packed Memory Array to Store Dynamic Graphs
 
Semantic Analysis using Wikipedia Taxonomy
Semantic Analysis using Wikipedia TaxonomySemantic Analysis using Wikipedia Taxonomy
Semantic Analysis using Wikipedia Taxonomy
 
Scalable up genomic analysis with ADAM
Scalable up genomic analysis with ADAMScalable up genomic analysis with ADAM
Scalable up genomic analysis with ADAM
 
Packed Levitated Marker for Entity and Relation Extraction
Packed Levitated Marker for Entity and Relation ExtractionPacked Levitated Marker for Entity and Relation Extraction
Packed Levitated Marker for Entity and Relation Extraction
 
GECCO'2006: Bounding XCS’s Parameters for Unbalanced Datasets
GECCO'2006: Bounding XCS’s Parameters for Unbalanced DatasetsGECCO'2006: Bounding XCS’s Parameters for Unbalanced Datasets
GECCO'2006: Bounding XCS’s Parameters for Unbalanced Datasets
 
Predicting SPARQL query execution time and suggesting SPARQL queries based on...
Predicting SPARQL query execution time and suggesting SPARQL queries based on...Predicting SPARQL query execution time and suggesting SPARQL queries based on...
Predicting SPARQL query execution time and suggesting SPARQL queries based on...
 

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
 
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
 
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
 
Challenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksChallenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksIstvan 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
 
Change-driven model transformations
Change-driven model transformationsChange-driven model transformations
Change-driven model transformationsIstvan 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
 
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
 
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
 
Challenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksChallenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworks
 
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
 

Kürzlich hochgeladen

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Efficient model transformations by combining pattern matching strategies

  • 1. Budapest University of Technology and Economics Efficient Model Transformations by Combining Pattern Matching Strategies Gábor Bergmann, Ákos Horváth, István Ráth, Dániel Varró Fault-tolerant Systems Research Group
  • 2. Budapest University of Technology and Economics Talk Overview GT & PM Introduction overview Hybrid PM Measurements Fault-tolerant Systems Research Group
  • 3. Budapest University of Technology and Economics Introduction  Common problem to be solved by model transformation tools: − Efficient query and manipulation of complex graph- based patterns  One possible solution: − Graph transformation Fault-tolerant Systems Research Group
  • 4. Budapest University of Technology and Economics Benchmarking  Aim: − systematic and reproducible measurements − on performance − under varying and precisely defined circumstances  Overall goal: − help transformation engineers in selecting tools − serve as reference for future research  Popular approach in different fields − AI − relational databases − rule-based expert systems Fault-tolerant Systems Research Group
  • 5. Budapest University of Technology and Economics Talk overview GT & PM Introduction overview Hybtid PM Measurements Fault-tolerant Systems Research Group
  • 6. Budapest University of Technology and Economics Metamodeling Package schemaRef Schema Class tableRef Table Association tableRef fKeyRef EndPoint ForeignKey columnRef Metamodel Attribute Column Instance model jarEntry: Class lang: Package jarFile: Class jar: Package java: Package Fault-tolerant Systems Research Group
  • 7. Budapest University of Technology and Economics Graph Transformation schemaRule :schemaRef Con: Container java: Package Schema <<contains>> NEG {NEW} P: Package SN:Schema lang: Package :schemaRef {NEW} jar: Package Phases of GT matching – Pattern Matching phase – Updating phase: delete+ create Pattern Matching is the most critical issue from the performance viewpoint (in our experience) Fault-tolerant Systems Research Group
  • 8. Budapest University of Technology and Economics Pattern matching techniques   Execution strategies − Interpreted: AGG (Tiger), VIATRA, MOLA, Groove, ATL ● underlying PM engine − Compiled: Fujaba, GReAT, PROGRES, Tiger, VMTS, GrGEN.NET, ... ● directly executed as C(#) or Java code   Algorithms − Constraint satisfaction: AGG (Tiger) ● variables + constraints − Local search (LS): Fujaba, GReAT, PROGRES, VIATRA, MOLA, Groove, Tiger (Compiled), GrGEN.NET, ... ● step-by-step extension of the matching − Incremental (INC): VIATRA, Tefkat ● Updated cache mechanism Fault-tolerant Systems Research Group
  • 9. Budapest University of Technology and Economics Traditional Local Search-based pattern matching  Method − usually defined at design/compile time − simple search plan − hard wired precedence for constraint checking (NAC, injectivity, attribute, etc.) ● Can be done adaptively  Good performance expected when: − Small patterns, bound input parameters Fault-tolerant Systems Research Group
  • 10. Budapest University of Technology and Economics Local Search based Pattern Matching Example frequently used & efficient solution schemaRule Con: Container Search plan <<contains>> NEG Con P: Package SN:Schema 1 :schemaRef <<contains>> 2 P 3 Constraint checking (NAC, Search sequence injectivity, etc.) order of traversal in the search plan Fault-tolerant Systems Research Group
  • 11. Budapest University of Technology and Economics Incremental Pattern Matching  Goal − Store matching sets − Incremental update − Fast response  Good performance expected when: − frequent pattern matching − Small updates  Possible application domain − E.g. synchronization, constraints, model simulation, etc.  In VIATRA: an adapted RETE algorithm Fault-tolerant Systems Research Group
  • 12. Budapest University of Technology and Economics Incremental Pattern Matching Example •  RETE net –  nodes: intermediate matchings INPUT p4 –  edge: update propagation p1 p2 p3 c1 c2 s1 p4 •  Example p4 p4 p4 –  input: schemaRule pattern Package Class Schema –  pattern: contained Package p1 p2 p3 p4 c1 c2 s1 –  update: new package p4 p1: Package <<contains>> p1, p2 p1, p3 p3, p4 p2: Package p3: Package p4 p3, p4 NAC schemaRef p2, s1 s1:Schema c1: Class p4: Package out p1, p3 p3,p4 Fault-tolerant Systems Research Group
  • 13. Budapest University of Technology and Economics Talk overview GT & PM Introduction overview Hybrid PM Measurements Fault-tolerant Systems Research Group
  • 14. Budapest University of Technology and Economics Hybrid pattern matching  Idea: combine local search-based and incremental pattern matching  Motivation − Incremental PM is better for most cases, but… ● Has memory overhead! ● Has update overhead −  LS might be better in certain cases  Based on experience with a ”real world” transformation application1 1Kovacs, M., Lollini, P., Majzik, I., Bondavalli, A.: An Integrated Framework for the Dependability Evaluation of Distributed Mobile Applications (SERENE’08) Fault-tolerant Systems Research Group
  • 15. Budapest University of Technology and Economics Where LS might be better…  Memory consumption − RETE sizes grow roughly linearly with the model space − Constrained memory  trashing  Cache construction time penalty − RETE networks take time to construct − „navigation patterns” can be matched quicker by LS  Expensive updates − Certain patterns’ matching set is HUGE − Depends largely on the transformation Fault-tolerant Systems Research Group
  • 16. Budapest University of Technology and Economics Case study: ORM Synchronization :schemaRef : Package : Schema :tableRef : Class : Table :columnRef : Attribute : Attribute : Column : Column :columnRef Transformation workflow Check Modify Perform source source Synchronize mapping model model Fault-tolerant Systems Research Group
  • 17. Budapest University of Technology and Economics Phases   Check Phase   Initial Transformation − Well-formedness checking − Match reusability − Static graph structure − Unidirectional − No model manipulation − Complex rules − Batch like execution   Refactoring   Synchronization − Single rule executed: − Match reusability move package in the − Unidirectional hierarchy − Simple rules − Manual execution − Live execution Fault-tolerant Systems Research Group
  • 18. Budapest University of Technology and Economics Phases   Check Phase   Initial Transformation − Simple patterns, looking − Processes the entire only for the first match model (full traversal) − INC: cache construction − Match set may not fit into penalty high memory − LS may be a better choice − Solution: decompose, use LS for certain patterns   Refactoring   Synchronization − Move in containment − INC significantly better (as hierarchy: very expensive demonstrated at ICGT08) cache update − LS can be significantly better Fault-tolerant Systems Research Group
  • 19. Budapest University of Technology and Economics Hybrid PM in the source code Assign a PM implementation on a per-pattern (per-rule) basis  ability to fine tune performance on a very fine grained level. Fault-tolerant Systems Research Group
  • 20. Budapest University of Technology and Economics Talk overview GT & PM Introduction overview Hybrid PM Measurements Fault-tolerant Systems Research Group
  • 21. Budapest University of Technology and Economics Environment  Hardware and OS − 1.8 GHz Intel Core2 Duo − 2048 MB RAM − Windows XP SP3 − Sun JVM 1.6.0_02 for VIATRA  Tool related − VIATRA2 R3 Build 2009.02.03 − Standard services of the default distribution Fault-tolerant Systems Research Group
  • 22. Budapest University of Technology and Economics Composite ORM Synchronization benchmark Hybrid
scales
 be-er
with
 increasingly
large
 models!
 Fault-tolerant Systems Research Group
  • 23. Budapest University of Technology and Economics Considerations for selecting PM strategy   Graph pattern static attributes − Number of patterns − Pattern size − Containment constraints   Control structures − Parameter passing − Usage frequencies − Model update cost   Model-dependent pattern characteristics − Model statistics (instance count) Fault-tolerant Systems Research Group
  • 24. Budapest University of Technology and Economics Adaptive hybrid pattern matching   Goal: provide (semi-) automatic aid for strategy selection   Idea: monitor memory usage − JVM telemetry   Prevent heap exhaustion − Destroy match set cache structures − Switch to LS PM Strategy Used heap [MB] Transform phase execution time [s] LS 201 77.1 INC 353 13.6 Static hybrid 220 10.9 Adaptive hybrid 235 35.7 Fault-tolerant Systems Research Group
  • 25. Budapest University of Technology and Economics Further benchmarking  Paper for a GRaBaTS 2008 special issue in STTT’09: Experimental assessment of combining pattern matching strategies with VIATRA2  In-detail investigation − hybrid approach − Transformation language-level optimizations  Optimization − Based on experience with ICMT’09 paper Fault-tolerant Systems Research Group
  • 26. Budapest University of Technology and Economics AntWorld Results Linear characteristic retained, slower by only a constant multiplier Fault-tolerant Systems Research Group
  • 27. Budapest University of Technology and Economics Memory footprint Linear reduction in memory overhead Fault-tolerant Systems Research Group
  • 28. Budapest University of Technology and Economics Summary Optimization strategy Performance Memory footprint LS High order polynomial Constant Switch to INC Polynomial order reduction Linear increase with model size Switch to Hybrid Linear (~50%) reduction Linear (~50%) reduction  In short: you may get a linear decrease in memory for a linear increase in execution time  retains complexity class characteristics  Fault-tolerant Systems Research Group
  • 29. Budapest University of Technology and Economics ? Fault-tolerant Systems Research Group