Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St....

27
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

Transcript of Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St....

Page 1: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

Automata Based Method for Domain Specific Languages Definition

Ulyana TikhonovaPhD student at St. Petersburg State Politechnical University,

supervised by Fedor NovikovGuest at TU/e, SET supervised by Mark van den Brand

Page 2: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

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

01.12.2010

Page 3: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

3

The proposed solution

01.12.2010

UML class diagrams

UML state machine diagrams

• UML as description formalism• Executable UML to implement DSL

are interpreted by Automata Virtual Machine

Algorithm of interpretation

Parsing algorithm

Page 4: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

4

Use case model

01.12.2010

Page 5: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

5

Outline

• Automata model• DSL definition (example: mini language for

manipulations with sets)– Metamodel– Operational semantics– Concrete syntax

• Some conclusions on the method• Plan

01.12.2010

Page 6: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

6

Automata model

01.12.2010

Page 7: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

7

Notation

01.12.2010

Name of state machine with declaration of local variables

Source of events: triggers

Controlled object: effects and guard conditions

Composite state: substitution of state machine

Exit point: output of submachine

Page 8: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

Weaving DSL

Page 9: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

9

Definition of DSL metamodel with UML class diagram

01.12.2010

Contextual constraints

Page 10: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

10

Operational semantics of the mini language for manipulations with sets

01.12.2010

a, cA = ?

Page 11: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

11

Semantics of the Program concept

01.12.2010

Input Output

Queries to model

Invocation ofcomponents

Page 12: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

12

Semantics of the Expression concept: Set Representation case

01.12.2010

Queries to model

Output: yield next element

Page 13: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

13

Semantics of the Expression concept: Set Id case

01.12.2010

Page 14: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

14

Semantics of the Expression concept: Operation() case

01.12.2010

Page 15: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

15

Semantics of the Expression concept: Operation() case

01.12.2010

Page 16: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

16

How should it work?

01.12.2010

Page 17: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

17

Applying interaction model: instance of the interaction

01.12.2010

Page 18: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

18

Interfaces specification

01.12.2010

Page 19: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

1901.12.2010

Second type of automata composition

Page 20: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

20

Concrete syntax = set of constructors of language concepts

01.12.2010

substitution

Page 21: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

Concrete syntax of expression

01.12.2010 21

Setting and checkingcontextual constraints

Page 22: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

22

Concrete syntax of Set Representation

01.12.2010

Usage of previously stored information

Page 23: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

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

01.12.2010

Page 24: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

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 automata01.12.2010

Page 25: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

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

01.12.2010

Page 26: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

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

01.12.2010

Page 27: Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.

27

DSL meta-metamodel

01.12.2010