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

Slides:



Advertisements
Similar presentations
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Advertisements

Architecture Representation
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
CSI5112 Software Engineering Team: Andrei Anisenia Margi Fumtiwala.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Irina Rychkova. 9/20061 Systemic approach towards model definition Model transformation semantics.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
1 UML – an overview What is UML? UML stands for Unified Modelling Language. ”The Unified Modelling Language is a visual language for specifying, constructing.
Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
A Formal Foundation Supporting MDD --- ZOOM Approach Hongming Liu Lizhang Qin 11/08/2003.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Meaningful Modeling: What’s the Semantics of “Semantics”? David Harel, Weizmann Institute of Science Bernhard Rumpe, Technische Universität Braunschweig.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
A novel approach to modeling Zvezdan Protić, Tom Verhoeff, Mark van den Brand.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
Xactium xDSLs Run Models Not Code Tony Clark
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.
A REFACTORING TOOL FOR DESIGN PATTERNS WITH MODEL TRANSFORMATIONS Zekai Demirezen Yasemin Topaloğlu Ege University Department of Computer Engineering
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
SaveUML System design. System overview Possible...
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Automaton-Based Approach for Defining Dynamic Semantics of DSLs
Chapter Twenty-ThreeModern Programming Languages1 Formal Semantics.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
Visual Specification of a DSL Processor Debugger Tamás Mészáros and Tihamér Levendovszky Budapest University of Technology and Economics.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Semantics In Text: Chapter 3.
A division of Data Access Technologies, Inc. Combining Alf and UML in Modeling Tools Ed Seidewitz, Model Driven Solutions Jérémie Tatibouet, CEA 28 September.
Object-Oriented Programming © 2013 Goodrich, Tamassia, Goldwasser1Object-Oriented Programming.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
ModTransf A Simple Model to Model Transformation Engine Cédric Dumoulin.
The Interpreter Pattern (Behavioral) ©SoftMoore ConsultingSlide 1.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
DCMI Abstract Model Analysis Resource Model Jorge Morato– Information Ingeneering Universidad Carlos III de Madrid
® IBM Software Group A Metamodeling Approach to Pattern Specification Maged Elaasar 1,2, Dr. Lionel Briand 1, Dr. Yvan Labiche 1 1 Carleton University,
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Chapter – 8 Software Tools.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Automaton-Based Approach for Defining Dynamic Semantics of DSLs Ulyana Tikhonova St. Petersburg State Polytechnical University,
1 Budapest University of Technology and Economics Department of Measurement and Information Systems Budapest University of Technology and Economics Fault.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
SysML v2 Formalism Requirements Formalism WG September 15, 2016.
Language = Syntax + Semantics + Vocabulary
UNIT 1.
SysML 2.0 Requirements for Visualization
SysML 2.0 Formalism Requirements and Potential Language Architectures
Course Outcomes of Object Oriented Modeling Design (17630,C604)
SysML 2.0 Formalism: Requirement Benefits, Use Cases, and Potential Language Architectures Formalism WG December 6, 2016.
SysML v2 Formalism: Requirements & Benefits
Daniel Amyot and Jun Biao Yan
Software Architecture & Design
Presentation transcript:

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

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

The proposed solution 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

Use case model

Outline Automata model DSL definition (example: mini language for manipulations with sets) – Metamodel – Operational semantics – Concrete syntax Some conclusions on the method Plan

Automata model

Notation 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

Weaving DSL

Definition of DSL metamodel with UML class diagram Contextual constraints

Operational semantics of the mini language for manipulations with sets a, cA = ?

Semantics of the Program concept Input Output Queries to model Invocation of components

Semantics of the Expression concept: Set Representation case Queries to model Output: yield next element

Semantics of the Expression concept: Set Id case

Semantics of the Expression concept: Operation(  )  case

Semantics of the Expression concept: Operation(  )  case

How should it work?

Applying interaction model: instance of the interaction

Interfaces specification

Second type of automata composition

Concrete syntax = set of constructors of language concepts substitution

Concrete syntax of expression Setting and checking contextual constraints

Concrete syntax of Set Representation Usage of previously stored information

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

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 automata

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

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

DSL meta-metamodel