Elevator Simulator DSL Project Presented by Miguel Garzón and Stéphane Leblanc 1.

Slides:



Advertisements
Similar presentations
Europa Simultaneous Release | © 2007 by Borland Software Corporation, made available under the EPL v1.0 1 GMF 2.0 Europa Simultaneous Release June 06,
Advertisements

Galileo Simultaneous Release Review © 2009 by Borland Software Corp., made available under the EPL v1.0 Object Constraint Language (MDT OCL) 1.3 Galileo.
Component Development for the Component Description Framework (CDF) Training Dr.-Ing. Ulrich Dinger.
Extending Eclipse Kai-Uwe Mätzel IBM OTI Labs Zurich
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ)
© 2008 by Borland Software Corp; made available under the EPL v1.0 | 17 March 2008 Introduction to the Graphical Modeling Framework Artem Tikhomirov, Borland.
CSI5112 Software Engineering Team: Andrei Anisenia Margi Fumtiwala.
© Applied Abstractions applied-abstractions.com Textual DSLs Textual DSLs illustrated with Eclipse Tools Sven Efftinge
Telecom and Informatics :: INF5120 :: Mansur Abbasi & Svein Melby Assignment 1 – First aid - Clarifications, issues and insight.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
® IBM Software Group © 2008 IBM Corporation RSM and UML 13 june 2008 Fredrik Ferm – ECAT Strategy Team Lead
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
IBM Software Group © 2005 IBM Corporation University of Nantes Eclipse dayMarch 2005 The Eclipse Modeling Framework and the IBM Model Transformation Framework.
Design Management: When Model Driven Engineering Embraces the Semantic Web NECSIS 2012, Gatineau, QC 27 June 2012 Maged Elaasar.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
The Umple Model-Oriented Programming Technology: Easy-to-Use Open-Source Code Generation Code Generation 2013, Cambridge UK Timothy C. Lethbridge, University.
PROGRAMMING LANGUAGES The Study of Programming Languages.
C IT L AB : a Laboratory for Combinatorial Interaction Testing Angelo Gargantini Università di Bergamo - Italy Joint work.
Xactium xDSLs Run Models Not Code Tony Clark
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
1 A Web Specific Language for Content Management Systems Viðar Svansson, Roberto E. Lopez-Herrejon Computing Laboratory University of Oxford.
March 12 & 13, 2007 Practical Code Generation Peter Bell SystemsForge.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Siemens Corporate Research Prec+Goals Requirements Concept Implementation Results+Metrics Demo How to develop an editor for the Eclipse RCP? Ulrich Dinger.
Spray A Quick way of Creating Graphiti A (very) short Introduction Jos Warmer
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
Integrated Development Environment (IDE)
Copyright © 2009 AtlanMod. All Rights Reserved Frédéric Jouault & Hugo Bruneliere AtlanMod team (INRIA & Mines de Nantes) Possible Benefits of Bridging.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Model based development for the RUNES component middleware platform Gabor Batori
Treasure Hunt - project development overall status - November 2011.
Automated Transformation of Statements Within Evolving Domain Specific Languages Peter Bell CEO/CTO, SystemsForge 7th OOPSLA Workshop on Domain-Specific.
Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Nucleus BridgePoint Roadmap Bill Tanner Engineering Manager.
Eclipse 24-Apr-17.
Graphical Modeling Framework (GMF) Richard C. Gronback Project Lead.
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Use Case Packets.
Application Ontology Manager for Hydra IST Ján Hreňo Martin Sarnovský Peter Kostelník TU Košice.
Design of an Integrated Robot Simulator for Learning Applications Brendon Wilson April 15th, 1999.
March 19th 2007 TANGO collaboration 1 POGO-7 Pascal Verdier ESRF- Hamburg - 25 th of October 2010 A Short History of Pogo A Short History of Pogo New Technology.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
The Spoofax Language Workbench Rules for Declarative specification of language and IDEs Lennart C. L. Kats and Eelco Visser Delft University of Technology.
Presented by: Elena C. Ciobanu Mihai V. Ciobanu Kuntal Ghosh
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
New Project Model UI Primary Author: Mikhail Sennikovsky Major contributors: Mikhail Voronin, Oleg Krasilnikov, Leo Treggiari Intel Corporation September,
Chapter – 8 Software Tools.
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,
Application generation Peter Bell SystemsForge Peter Bell SystemsForge Beyond Scaffolding.
Copyright © 2012 Obeo and Petals Link, Made available under the Eclipse Public License v SCA Tools (Juno) Release Review Planned Review Date:
Re Write POGO using openArchitectureWare Technology ● Pogo History ● OpenArchitectureWare technology ● Generated code ● Project status.
M&CML: A Monitoring & Control Specification Modeling Language
SysML v2 Formalism: Requirements & Benefits
Daniel Amyot and Jun Biao Yan
Model-Driven Analysis Frameworks for Embedded Systems
EMF Compare Ganymede Simultaneous Release
Object Constraint Language (MDT OCL) 1
Towards an Open Meta Modeling Environment
Execute your Processes
QVT Operational 1.0 Ganymede Simultaneous Release Graduation Review
MDT OCL 1.3 Mini-deck June 10, 2009.
Groovy.
Software Architecture & Design
Presentation transcript:

Elevator Simulator DSL Project Presented by Miguel Garzón and Stéphane Leblanc 1

Elevator Simulator Framework to test the behaviors of elevators in different scenarios Open Source (LGPL) Java Project Authors: Neil McKellar and Chris Dailey More details can be found at 2

Elevator Simulator DSL Domain Specific Language (DSL) over the Elevator Simulator API Allow to create elevator simulation scenarios 3

Introductory Example View the example 4

5

Goals of the DSL 1.Easy to read 2.Concise 3.Easy to write 4.Maintainable 5.Easy to parse 6

Target Audience Developers – Who want to create scenarios for the Elevator Simulator – Who want to look at a DSL implementation example Non-programmers not taken into account 7

DSL Metamodel (1) 8

User Variables DSL Metamodel (2) 9

DSL Overview – Metamodel (3) 10

DSL Creation Technology (1) 11

DSL Creation Technology (2) Eclipse IDE The Elevator Simulator DSL is deeply integrated with Eclipse. Our DSL comes in the form of an Eclipse Plug-in. 12

DSL Creation Technology (3) Xtext for definition of BNF Grammar and Metamodel generation. Xtext is an Eclipse-based DSL generator that was released in 2006 and is built on top of Antlr and other famous Eclipse projects. One can create Xtext Projects from ecore model or a grammar definition. 13

xTextxText Xtext- Generated Artefacts OPTIONAL Generates Generates 14

xTextxText Xtext- Generated Artefacts EMF Model Code 15

EMF Code Generation The generated code will consists out of the following: – Interfaces and the Factory to create the Java classes – Concrete implementation of the interfaces defined in model – Utilities Possibility to modify and extend generated code. – Code that is explicitly marked NOT is not overwritten. 16

xTextxText Xtext- DSL Processing Generated Java Class ESIM file Interpreted Generated 17

DSL Creation Technology (4) JET (Java Emitter Templates): For Code Generation. JET will be used to translate our domain specific language into Java classes representing the scenarios that will work with the Elevator Simulator. 18

JET (Java Emitter Templates) <% Model model = (Model) argument; Scenario scenario = model.getScenario(); String displayName = scenario.getDisplayName(); String className = scenario.getName();... %> public class extends Simulator { … } 19

Xtext Features (1) Code Completion Syntax Highlighting Linking Scoping IntelliSense Quick Fix Warnings 20

Xtext Features (2) Test cases: (for testing the editor) 21

Xtext Features –Validation (1) Semantic Validation: From OCL constraints defined in the Ecore Model, validation code is generated. 22

Extension Points Eclipse provides the concept of "extension points“. Elevator Sim provides menu actions, icons to enhance the user experience. – org.eclipse.ui.actionSets 23

Editor Sample Usage 24

Intelisense: Select a Variable 25

Syntactic Error: Grammatically Incorrect 26

Semantic Error: Makes No Sense 27

Deprecated 28

Quick Fix 29

Strategies for Language Evolution (1) Incremental Migrations[FowlerMig] V2.0 V1.1 V1.0 30

Strategies for Language Evolution (2) Model-based migrations [FowlerMig] V2.0 V1.1 V1.0 31

Strategies for Language Evolution (3) Maintain backward compatibility (Selected) V2.0 V1.1 V1.0 32

Conclusion Elevator Simulator DSL simplifies the creation of scenarios Powered by XText Allows for model interpretation and for code generation 33

References [FowlerDsl] Martin, Fowler, Domain-specific language, ISBN [FowlerMig] Fowler, Martin, DSL Migration, 2009/02/ Bell, Peter, DSL Evolution, 2009/12/ Tolvanen, JP, DSL in Practice, 2008/12/07, Software Engineering Radio, episode