1 / 18

Automaton-Based Approach for Defining Dynamic Semantics of DSLs

Automaton-Based Approach for Defining Dynamic Semantics of DSLs. Ulyana Tikhonova ulyana.tihonova@gmail.com St. Petersburg State Polytechnical University, Russia Eindhoven University of Technology, The Netherlands. Supervised by : Suzana Andova Mark van den Brand Fedor A. Novikov.

rufus
Download Presentation

Automaton-Based Approach for Defining Dynamic Semantics of DSLs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automaton-Based Approach for Defining Dynamic Semantics of DSLs UlyanaTikhonova ulyana.tihonova@gmail.com St. Petersburg State Polytechnical University, Russia Eindhoven University of Technology, The Netherlands Supervised by: SuzanaAndova Mark van den Brand FedorA. Novikov SET

  2. Motivation • Domain-Specific Languages • design, implementation, maintenance • Model Driven Engineering  DSL dynamic semantics DSL metamodel transformations programming languages verification languages simulation models SET

  3. Motivation • Domain-Specific Languages • design, implementation, maintenance • Model Driven Engineering DSL metamodel  DSL dynamic semantics transformations programming languages verification languages simulation models SET

  4. Automaton-based solution • Executable dynamic semantics specification • Notation of UML state machine diagrams • AutoLanD DSL: executable UML for automata SET

  5. AutoLanD DSL metamodel DSL dynamic semantics Interpretation Code generation Verification SET

  6. The idea in detail Automata classes Semantics DSL metamodel «instanceOf» «instanceOf» Automata instances network DSL program ( A = {a, b, c}  {c, d, e} ) interprets execute SET

  7. Specified by a DSL designer Solution relationships between automata and metamodel AVM M1 input M0 Instantiated by AVM (automata virtual machine) execute Specified by a DSL user

  8. Way 1 : generation of java-code relationships between automata and metamodel DSL metamodel automata EMFText + Xpand EMF metamodeljava-classes automata java-classes AVM java-class M1 M0 running Java SET

  9. Way 2 : bootstrapping AutoLanDmetamodel Relationships between automata and metamodel AutoLanDsemantics Automaton structure Network model AVM M1 «instanceOf» «instanceOf» «instanceOf» M0 AutoLanD program input execute Automata network input-based generation AVM’ SET

  10. Conclusions • AutoLanD is implemented  yoo-hoo! • Code generation = programming: rapid implementation + testing • SOS: understanding of the core semantics + reconsidering a DSL design AutoLanD • Executability Accurate defining of all details • Design vs. programming ∑ SET

  11. Open problems • Language for specifying mapping between metamodel-based input and automata network  the higher-leveled definition of an AVM • Bootstrapping is not finished • Applying AutoLanD to some DSL SET

  12. Thank you! vlaaai time? SET

  13. AutoLanDmetamodel SET

  14. Networkmetamodel SET

  15. AutoLanD semantics: AutoInstance SM SET

  16. AutoLanD semantics: Scheduler SM SET

  17. Scalability DSL dynamic semantics SET

  18. Bootstrapping scheme «instanceOf» metamodel Set DSL Set model (program) semantics automata run compilation «instanceOf» metamodel AutoLanD DSL semantics automata run interpretation SET

More Related