8 th dsm workshop
play

8 th DSM Workshop Undoing Operational Steps of Domain-Specific - PowerPoint PPT Presentation

8 th DSM Workshop Undoing Operational Steps of Domain-Specific Modeling Languages Tim Hartmann , Daniel A. Sadilek Humboldt-Universitt zu Berlin Outline Introduction Development of executable DSMLs Animated execution


  1. 8 th DSM Workshop Undoing Operational Steps of Domain-Specific Modeling Languages Tim Hartmann , Daniel A. Sadilek Humboldt-Universität zu Berlin

  2. Outline ● Introduction – Development of executable DSMLs – Animated execution – Operational semantics ● Undoing operational steps ● Open issues ● Conclusion 2/20

  3. Use Case: DSML Development Draft Language engineer Carl Adam Petri Prototype ● Metamodel ● Graphical editor Iterative ● Operational development cycle semantics Evaluation Error 3/20

  4. 4/20

  5. 5/20

  6. 2 nd Iteration of DSML Development Example Draft Language engineer Carl Adam Petri Prototype ● Metamodel ● Graphical editor Iterative ● Corrected development cycle operational semantics Evaluation 6/20

  7. Operational Semantics ● Interpretable operational semantics ● Transition system: 〈 , 〉 ● Configurations:  ● Transition relation: ⊆× 7/20

  8. Operational Semantics ● Configurations are represented as models: { , , ...} . ∈ ● Configurations are defined by a metamodel ● Transition relation can be defined with a  model-to-model transformation 8/20

  9. Configuration Metamodel Petri Net example 9/20

  10. Transition Transformation Part of Petri Net Java semantics (erroneous version) protected void run(Net net) { Transition t = getActivated(net); if (t != null ) { consume(t.getSrc.get(0)); produce(t.getSnk.get(0)); } } } 10/20

  11. Transition Transformation Part of Petri Net Java semantics (corrected version) protected void run(Net net) { Transition t = getActivated(net); if (t != null ) { for (Place p : t.getSrc()) { consume(p); } for (Place p : t.getSnk()) { produce(p); } } } 11/20

  12. 12/20

  13. 13/20

  14. 14/20

  15. Undoing Operational Steps ● Undo: reverse changes ● Observer for model changes ● Execution step: single unit of work ● Composition of elementary changes ● Change history: ● Shared command stack for editor and execution 15/20

  16. Command Order Editor Execution 1 X Configuration perform step undo step undo step 2 Configuration user input undo input 3 16/20 Configuration

  17. Synchronization Editor Execution 1 Configuration transformation read values transition user input X perform step visualize 2 Configuration 17/20

  18. Open Issues ● Breakpoints between execution steps ● Declarative breakpoint description? ● Users can produce invalid configurations ● How to describe and implement constraints? ● Changing operational semantics can affect previous configurations ● How to step back to last state that is consistent with changed semantics? 18/20

  19. Conclusion ● New debug feature for DSML prototyping ● Adapting undo of editors for stepwise model execution step back ● Implementation experience: many building blocks available in EMF 19/20

  20. 8 th DSM Workshop Undoing Operational Steps of Domain-Specific Modeling Languages Discussion Tim Hartmann, Daniel A. Sadilek Humboldt-Universität zu Berlin 20/20

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend