automaton-based approach for defining dynamic semantics of dsls

18
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 31/08/2011 1 SET

Upload: rufus

Post on 22-Feb-2016

45 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

Automaton-Based Approach for Defining Dynamic Semantics of DSLs

Ulyana Tikhonova

[email protected] St. Petersburg State Polytechnical University, RussiaEindhoven University of Technology, The Netherlands

Supervised by: Suzana AndovaMark van den Brand Fedor A. Novikov

31/08/2011 1SET

Page 2: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

MotivationDomain-Specific Languages

◦design, implementation, maintenanceModel Driven Engineering

31/08/2011

programming languages

verification languages

simulation models

DSL metamodel

transformations

DSL dynamic

semantics

Page 3: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 3

Motivation

31/08/2011

Domain-Specific Languages◦design, implementation, maintenance

Model Driven EngineeringDSL metamodelDSL dynamic

semantics

programming languages

verification languages

simulation models

transformations

Page 4: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 4

Automaton-based solutionExecutable dynamic semantics

specificationNotation of UML state machine

diagrams

AutoLanD DSL: executable UML for automata

31/08/2011

Page 5: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 531/08/2011

DSL

metamodelDSL dynamic

semantics

AutoLanD

Interpretation Code generation

Verification

Page 6: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 6

The idea in detail

31/08/2011

«instanceOf»

( A = {a, b, c} {c, d, e} )

Semantics

«instanceOf»

interprets

DSL metamodel

DSL program

Automata

classes

Automata

instances

network

execut

e

Page 7: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

PAGE 7

Solution

31/08/2011

relationships between

automata and metamodel

Specified by a DSL designer

Specified by a DSL user

Instantiated

by AVM (automata

virtual machine)

inputM1M0

execut

e

AVM

Page 8: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 8

Way 1 : generation of java-code

31/08/2011

M1M0

relationships between

automata and metamodel

AVM java-class

metamodel java-classes

automata java-classes

DSL metamodel automat

a

r u n n i n g J a v a

EMF

EMFText +

Xpand

Page 9: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 9

Way 2 : bootstrapping

31/08/2011

AutoLanD metamodelAutomaton structure

Network

model

AutoLanD

semantics

Relationships between

automata and metamodel

AVM

AutoLanD

programAutomata network

M1M0

AVM’

execut

e

«ins

tanc

eOf

»

«ins

tanc

eOf

»

input-based generation

inpu

t «ins

tanc

eOf

»

Page 10: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 10

ConclusionsAutoLanD is implemented yoo-hoo!

Code generation = programming: rapid implementation + testing

SOS: understanding of the core semantics + reconsidering a DSL designAutoLanD◦Executability Accurate defining of all details◦Design vs. programming

31/08/2011

Page 11: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 11

Open problemsLanguage for specifying mapping

between metamodel-based input and automata network the higher-leveled definition of an AVM

Bootstrapping is not finishedApplying AutoLanD to some DSL

31/08/2011

Page 12: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 12

Thank you!

31/08/2011

vlaaai

time?

Page 13: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 13

AutoLanD metamodel

31/08/2011

Page 14: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 14

Networkmetamodel

31/08/2011

Page 15: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 15

AutoLanD semantics: AutoInstance SM

31/08/2011

Page 16: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 16

AutoLanD semantics: Scheduler SM

31/08/2011

Page 17: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 17

Scalability

31/08/2011

DSL dynami

c semanti

cs

Page 18: Automaton-Based Approach for Defining Dynamic Semantics of DSLs

SET

PAGE 18

Bootstrapping scheme

31/08/2011

Set DSL

metamodel

semantics automata

Set model (program)

«instanceOf»

AutoLanD DSL

metamodel

semantics automata

«instanceOf»

run

run

compila

ti

on

interpre

tati

on