Automaton based approach for defining dynamic semantics of dsls
Download
1 / 18

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


  • 96 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 DSLs

  • Domain-Specific Languages

    • design, implementation, maintenance

  • Model Driven Engineering

DSL

dynamic semantics

DSL metamodel

transformations

programming languages

verification languages

simulation models

SET


Motivation1
Motivation DSLs

  • 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 DSLs

  • Executable dynamic semantics specification

  • Notation of UML state machine diagrams

  • AutoLanD DSL: executable UML for automata

SET


Autoland
AutoLanD DSLs

DSL metamodel

DSL dynamic semantics

Interpretation

Code generation

Verification

SET


The idea in detail
The idea in detail DSLs

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 DSLs

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 DSLs

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 DSLs

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 DSLs

  • 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 DSLs

  • 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! DSLs

vlaaai time?

SET


Autoland metamodel
AutoLanD DSLsmetamodel

SET


Network metamodel
Network DSLsmetamodel

SET


Autoland semantics autoinstance sm
AutoLanD DSLs semantics: AutoInstance SM

SET


Autoland semantics scheduler sm
AutoLanD DSLs semantics: Scheduler SM

SET


Scalability
Scalability DSLs

DSL dynamic semantics

SET


Bootstrapping scheme
Bootstrapping scheme DSLs

«instanceOf»

metamodel

Set DSL

Set model (program)

semantics automata

run

compilation

«instanceOf»

metamodel

AutoLanD DSL

semantics automata

run

interpretation

SET


ad