automaton based approach for defining dynamic semantics of dsls
Download
Skip this Video
Download Presentation
Automaton-Based Approach for Defining Dynamic Semantics of DSLs

Loading in 2 Seconds...

play fullscreen
1 / 18

Automaton-Based Approach for Defining Dynamic Semantics of DSLs - PowerPoint PPT Presentation


  • 97 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Automaton-Based Approach for Defining Dynamic Semantics of DSLs' - rufus


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
automaton based approach for defining dynamic semantics of dsls

Automaton-Based Approach for Defining Dynamic Semantics of DSLs

UlyanaTikhonova

[email protected]

St. Petersburg State Polytechnical University, Russia

Eindhoven University of Technology, The Netherlands

Supervised by: SuzanaAndova

Mark van den Brand

FedorA. Novikov

SET

motivation
Motivation
  • Domain-Specific Languages
    • design, implementation, maintenance
  • Model Driven Engineering

DSL

dynamic semantics

DSL metamodel

transformations

programming languages

verification languages

simulation models

SET

motivation1
Motivation
  • Domain-Specific Languages
    • design, implementation, maintenance
  • Model Driven Engineering

DSL metamodel

DSL dynamic semantics

transformations

programming languages

verification languages

simulation models

SET

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

SET

autoland
AutoLanD

DSL metamodel

DSL dynamic semantics

Interpretation

Code generation

Verification

SET

the idea in detail
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

solution

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

way 1 generation of java code
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

way 2 bootstrapping
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

conclusions
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

open problems
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

thank you
Thank you!

vlaaai time?

SET

scalability
Scalability

DSL dynamic semantics

SET

bootstrapping scheme
Bootstrapping scheme

«instanceOf»

metamodel

Set DSL

Set model (program)

semantics automata

run

compilation

«instanceOf»

metamodel

AutoLanD DSL

semantics automata

run

interpretation

SET

ad