1 / 27

Automata Based Method for Domain Specific Languages Definition

Automata Based Method for Domain Specific Languages Definition . Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised by Fedor Novikov Guest at TU/e, SET supervised by Mark van den Brand. Motivation. Domain Specific Languages

carlo
Télécharger la présentation

Automata Based Method for Domain Specific Languages Definition

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. Automata Based Method for Domain Specific Languages Definition UlyanaTikhonova PhD student at St. Petersburg State Politechnical University, supervised by FedorNovikov Guest at TU/e, SET supervised by Mark van den Brand

  2. Motivation • Domain Specific Languages • Both graphical and textual notations • Dynamic semantics of the language • In the context of MDE • Models drive execution • Using UML as description formalism • UML is considered to be more intelligible to ordinary programmers

  3. The proposed solution • UML as description formalism • Executable UML to implement DSL Parsing algorithm Algorithm of interpretation UML class diagrams UML state machine diagrams are interpreted by Automata Virtual Machine

  4. Use case model

  5. Outline • Automata model • DSL definition (example: mini language for manipulations with sets) • Metamodel • Operational semantics • Concrete syntax • Some conclusions on the method • Plan

  6. Automata model

  7. Notation Name of state machine with declaration of local variables Controlled object: effects and guard conditions Source of events: triggers Composite state: substitution of state machine Exit point: output of submachine

  8. Weaving DSL

  9. Definition of DSL metamodel with UML class diagram Contextual constraints

  10. Operational semantics of the mini language for manipulations with sets A = ? a, c

  11. Semantics of the Programconcept Output Input Queries to model Invocation of components

  12. Semantics of the Expression concept: Set Representation case Output: yield next element Queries to model

  13. Semantics of the Expression concept: Set Id case

  14. Semantics of the Expression concept: Operation()case

  15. Semantics of the Expression concept: Operation()case

  16. How should it work?

  17. Applying interaction model: instance of the interaction

  18. Interfaces specification

  19. Second type of automata composition

  20. Concrete syntax = set of constructors of language concepts substitution

  21. Concrete syntax of expression Setting and checking contextual constraints

  22. Concrete syntax of Set Representation Usage of previously stored information

  23. Conclusion: advantages of the proposed method • The same description formalism for definition of different notations (graphical, textual, etc.) • Events based generalization • The same description formalism for concrete syntax definition and for semantics definition might simplify the process of new DSL creation • UML state machines diagrams • Specification of new DSL should be sufficient for receiving its implementation automatically • Automata programming virtual machine

  24. Plan • Implementation of the method = implementation of the automata programming virtual machine • Specification of the method using M-SOS formalism • Programming • Assessment of the proposed method • Specification of some DSL using this method • Definition of the scope of the proposed method • Analysis of the kind of languages that could be defined as instances of the proposed DSL meta-metamodel • Analysis of the kind of languages notations that are convenient to be defined through automata

  25. Overview of the related work • Theoretical approach • denotational semantics, action semantics, SOS • Model transformation ± code generation • MPS, MetaEdit+, AMMA, … • Source code of a translator/compiler  • The most popular one

  26. Why automata? • DSL = metamodel + behavior + notation • Modeling behavior in UML • State machine diagrams • Activity diagrams • Events based specification of the concrete syntax: events are considered to be captured by automata

  27. DSL meta-metamodel

More Related