100 likes | 216 Views
Automaton-Based A pproach for Defining Dynamic Semantics of DSLs. Supervisors: Suzana Andova , Mark van den Brand, Fedor A. Novikov. Ulyana Tikhonova ulyana.tihonova@gmail.com St. Petersburg State Polytechnical University, Russia Eindhoven University of Technology, The Netherlands.
E N D
Automaton-Based Approach for Defining Dynamic Semantics of DSLs Supervisors: SuzanaAndova, Mark van den Brand, FedorA. Novikov UlyanaTikhonova ulyana.tihonova@gmail.com St. Petersburg State Polytechnical University, Russia Eindhoven University of Technology, The Netherlands GTTSE-SLE-SW
Motivation • Domain-Specific Language • A DSL captures the domain knowledge • Design, implementation and maintenance of a DSL • Model Driven Engineering: programming languagesDSL metamodel verification languages simulation models • Dynamic semantics • Mapping of the DSL metamodel to the execution behavior • Target-independent formal specification m2m and m2t transformations GTTSE-SLE-SW
Automaton-based approach (1/2) • Executable dynamic semantics specification • Using notation of the UML state machine diagrams The AutoLanD DSL: executable UML for automata • An automaton is an interacting object: • Provided interfaces: triggers and current state • Required interfaces: effects and guards
Automaton-based approach (2/2) GTTSE-SLE-SW
Interpretation : via automata network a DSL model (abstract program) 5 GTTSE-SLE-SW GTTSE-SLE-SW 22.06.2011
Implementation: Eclipse Modeling Framework (EMF) + Xpand AutoLanD metamodel + Java-code generation automaton = java-class AutoLanD model = automata M2T
Specification: Structural Operational Semantics (SOS) GTTSE-SLE-SW
Specification = Implementation: AutoLanD (bootstrapping) AutoLanD semantics = automaton AutoLanDmetamodel GTTSE-SLE-SW
Conclusions and future work • Code generation : rapid implementation + testing • SOS : understanding of the core semantics + reconsidering a DSL design AutoLanD • ExecutabilityAccurate defining of all details • High abstraction level • Visual notation of UML state machine diagrams • Verification of automata based on SOS specification • Another case study ∑ GTTSE-SLE-SW
Open questions • Bootstrapping test • Execute Set DSL automata for a model • Execute AutoLanD automata for Set DSL automata for a model comparison: measurement ?? • Xtext failure GTTSE-SLE-SW