Event-driven Model Transformations in Domain-specific Modeling Languages


Published on

PhD Theses overview, presented at public defense.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Ez a slide tulszoveges!
  • Be kelleneanimalni, darabonkentosszerakva
  • Be kelleneanimalni, darabonkentosszerakva
  • Users: kisemberkeikonok
  • Users: kisemberkeikonok
  • Legend azabrahoz
  • Animacio: modell, kodkepeketnagyitsakiInkrementalitasterzekeltessuk (feherdobozkitakar)
  • Animacio: modell, kodkepeketnagyitsakiInkrementalitasterzekeltessuk (feherdobozkitakar)
  • 32-es abraalapjanfelvezetniazarchitekturat
  • Wordart/smartartbarakhato
  • Dobozok! (grafikusabra) egyszerubbneklattamszovegesen (Istvan)
  • Projektlogok
  • Milyen complex event processing enginekvannak? Drools, WebSphereJrules (ILOG), esper,
  • Atgondolni
  • Event-driven Model Transformations in Domain-specific Modeling Languages

    1. 1. Event-driven Model Transformations in Domain-specific Modeling Languages PhD thesis István RáthBudapesti Műszaki és Gazdaságtudományi EgyetemMéréstechnika és Információs Rendszerek Tanszék
    2. 2. Introduction
    3. 3. Software Engineering by Domain-specific Modeling
    4. 4. Challenges Complexity of modeling environments • Multi-aspect modeling, language families, product lines, …
    5. 5. Challenges Scalability of MDE toolchains • Large models vs. incremental change propagation • Tool integration in heterogeneous environments
    6. 6. ChallengesUsability issues of DSMLs• Abstraction: abstract- concrete syntax• Dynamics: execution semantics
    7. 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
    8. 8. Advanced language engineering
    9. 9. Motivation: limited abstractions Limitations of abstract-concrete syntax representation in DSM language engineering frameworks Usability problem!
    10. 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. 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. 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. 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. 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. 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. 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. 17. Important related publicationsJournal 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 citationsInternational 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 citationsNational 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. 18. Research goalsAdvanced language Tool integrationengineering features Change propagationAbstraction Model Incremental transformations code generation Simulation “Middleware” for MDSE Multi-aspect Efficiency modeling for language engineering Integrated MTs  new execution model
    19. 19. Event-driven transformations
    20. 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. 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 updatingPhases of GT matching – Pattern Matching phase – Updating phase: delete+ createPattern 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. 22. Event-driven graph transformations C C D Conditions Transaction1 U Incremental pattern matcher C Notification Events D DMatching set delta monitor U fall Model StoreMS(PA) Execution Commit Engine rise trigger Transaction2MS(PB) actions Transactions
    23. 23. Event-driven graph transformations C C D Conditions Transaction1 U Incremental pattern matcher C Notification Events D DMatching set delta monitor U fall Model Store Event-Condition-ActionMS(PA) formalism Execution Commit • Adapted from expert systems Engine • Specification language: graph triggers • Execution semantics: priority queue automaton rise trigger Transaction2MS(PB) actions Event-driven Transformations • Run in the background • React when necessary • Model/view synchronization, change processing, … Transactions
    24. 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 benchmarkingCollaboration 1.4. András Ökrös, Gábor Bergmann (MSc students)
    25. 25. Important related publicationsJournal 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 citationsInternational 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. 26. Applications in tool integration
    27. 27. Research goalsAdvanced language Tool integrationengineering features Change propagationAbstraction Model Incremental transformations code generation Simulation “Middleware” for MDSE Multi-aspect modeling New applications  new execution infrastructure
    28. 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. 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. 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. 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 EngineGraphical 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. 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 EngineGraphical 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. 33. Integration challenges Tool kInfrastructural 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. 34. Thesis 3: Tool integration based on change-driven transformations3.1. Concept of change-driven transformations3.2. New implementation techniques for incremental code generation by CDTs3.3. Remote service invocation in the SENSORIA Development Environment3.4. Implementation architecture for tool integration3.5. Model-based framework for development workflows and synchronizationCollaboration3.3. Ádám Horváth (MSc student)3.4-3.5. Dr. Balázs Polgár & others
    35. 35. Important related publicationsBook 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 citationJournal 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
    36. 36. Summary
    37. 37. New resultsEvent-driven transformations by incremental pattern matching • Specification language • Execution semantics and infrastructureAdvanced language engineering by EDTs • Interactive/stochastic simulation of dynamic semantics • Abstract-concrete synchronizationTool integration by change-driven transformations • Incremental code generation • Incremental change propagation to deployed models
    38. 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. 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. 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. 41. Answers to reviewers Prof. Dr. Richard Paige
    42. 42. Remark 1„While the thesis demonstrates the breadth ofapplication of event-driven transformations, theintroduction of the thesis might be improved byfocusing more on event-driventransformations, perhaps by including one or twocoherent, concise scenarios where event-driventransformations are the most suitable approach toapply solving the problem. These scenarios arestraightforward to produce, and may improvereadability.”
    43. 43. Answer “Typical” EDT scenarios o Model synchronization o Well-formedness constraint evaluation o Simulation o Traceability management
    44. 44. Remark 2„The breadth of applicability of the concepts outsideof the VIATRA2 framework would be strengthenedwith either more detailed comparison with relatedmodel management frameworks (oAW, AMMA andEpsilon come to mind), or by summarising brieflyhow the concept of event driven transformationscould be supported in other approaches. At themoment, the thesis is presented almost entirely inthe context of VIATRA2; I am convinced that thework is more generally applicable, but the thesiscould help the community more by synthesisinglessons learned that could help other modelmanagement framework developers.”
    45. 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. 46. Question 1„I would ask them, in particular, about the amountof context needed to run an eventtransformation, and about the relationshipbetween event-driven and batch transformation(i.e., what problems may occur when having batchand event-driven transformations interact).”
    47. 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. 48. Question 2„I would also ask about the relationship betweenevent-driven transformations and complex eventprocessing engines, and the extent to which theevent infrastructure can deal with large numbersof events.”
    49. 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. 50. Answers to reviewers Prof. Dr. Tibor Gyimóthy
    51. 51. Question 1„The thesis uses Petri nets as example. Did youmake experiments with real life domain specificlanguages regarding any of your contributions?(For example AUTOSAR is mentioned in Chapter 6in connection with limitations of GMF.)”
    52. 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. 53. Question 2„In Section 5.4 when performance of event-driventransformation engine is evaluated, it is statedthat practical model size is below 5000 nodes. Howis this number estimated?”
    54. 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 asynchronization affecting a considerable portion of themodel in the 10-500 msec range which makes theapproach 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. 55. Question 3„Design time model simulation can be controlledthrough a user interface of the ViatraDSMframework. Model elements can be decoratedusing an API (in Figure 7.4 fireable transitions arecolored.) What kind of services are provided bythis programming interface? Beyond modifyingmodel elements, is there a possibility for exampleto define regions – set of elements – and modifytheir properties together?”
    56. 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. 57. Question 4„In Chapter 8 change-driven transformations areintroduced, where change impact analysis isnamed as an application. As I could not find[4], please explain the main results shortly. Givean overview on other impact analysis techniques(for example model level slicing) compared toyour solution.”
    58. 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