Leveraging Executable Language Engineering for Domain-Specific Transformation Languages (Position Paper)
|
|
- Quentin Wells
- 5 years ago
- Views:
Transcription
1 Leveraging Executable Language Engineering for Domain-Specific Transformation Languages (Position Paper) EXE 2016, Saint-Malo, France Erwan Bousse 1 Manuel Wimmer 1 Wieland Schwinger 2 Elisabeth Kapsammer 2 1 TU Wien, Austria 2 JKU Linz, Austria October 3, 2016 Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 1/10
2 Observations Domain Specific Transformation Language (DSTL) = model transformation language tailored for specific tasks (eg. strings renaming, code generation) DSTLs more and more common: Two papers on DSTLs at ICMT 16 in a dedicated Model Transformation Languages session This year TTC 16 use case: data-flow based DSTL Increasing need for methods to develop DSTLs Progress in executable Domain-Specific Modeling language (xdsml) engineering: Generic syntactic services (eg. editors using Xtext or Sirius) Generic runtime services (eg. debugger using GEMOC studio) Easier and easier to obtain a tool-supported xdsml Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 2/10
3 Observations Domain Specific Transformation Language (DSTL) = model transformation language tailored for specific tasks (eg. strings renaming, code generation) DSTLs more and more common: Two papers on DSTLs at ICMT 16 in a dedicated Model Transformation Languages session This year TTC 16 use case: data-flow based DSTL Increasing need for methods to develop DSTLs Progress in executable Domain-Specific Modeling language (xdsml) engineering: Generic syntactic services (eg. editors using Xtext or Sirius) Generic runtime services (eg. debugger using GEMOC studio) Easier and easier to obtain a tool-supported xdsml Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 2/10
4 Observations Domain Specific Transformation Language (DSTL) = model transformation language tailored for specific tasks (eg. strings renaming, code generation) DSTLs more and more common: Two papers on DSTLs at ICMT 16 in a dedicated Model Transformation Languages session This year TTC 16 use case: data-flow based DSTL Increasing need for methods to develop DSTLs Progress in executable Domain-Specific Modeling language (xdsml) engineering: Generic syntactic services (eg. editors using Xtext or Sirius) Generic runtime services (eg. debugger using GEMOC studio) Easier and easier to obtain a tool-supported xdsml Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 2/10
5 Questions Is it possible to apply techniques from xdsml engineering to define DSTLs? How are xdsmls and DSTLs related? Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 3/10
6 Questions Is it possible to apply techniques from xdsml engineering to define DSTLs? How are xdsmls and DSTLs related? Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 3/10
7 Example of Petri nets xdsml and model Abstract Syntax transitions Transition Net Place places +initialtokens: int Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 4/10
8 Example of Petri nets xdsml and model Abstract Syntax transitions Transition Net Place places +initialtokens: int Petri net model Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 4/10
9 Example of Petri nets xdsml and model Abstract Syntax transitions Transition Net Place places +initialtokens: int init=1 init=0 init=0 p1 p3 p4 p2 init=1 Petri net model Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 4/10
10 Example of Petri nets xdsml and model Abstract Syntax transitions Transition Net Place places +initialtokens: int init=1 init=0 init=0 p1 t1 p3 t2 p4 p2 init=1 Petri net model Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 4/10
11 Example of Petri nets xdsml and model Abstract Syntax transitions Transition Net Place places +initialtokens: int init=1 init=0 init=0 p1 t1 p3 t2 p4 p2 init=1 Petri net model Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 4/10
12 Example of Petri nets xdsml and model Abstract Syntax Operational semantics transitions Transition Net Place places +initialtokens: int Execution transformation rules (summarized) State Metamodel place 1 PlaceState +tokens: int : run(net) while there is an enabled : while transition, there is an fires enabled it. transition, fires it. : fire(transition) removes a token from : removes each a token Place from and each adds a token Place, to each and adds a token Place. to each Place. init=1 init=0 init=0 p1 t1 p3 t2 p4 p2 init=1 Petri net model Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 4/10
13 Example of Petri nets xdsml and model Abstract Syntax Operational semantics transitions Transition Net Place places +initialtokens: int Execution transformation rules (summarized) State Metamodel place 1 PlaceState +tokens: int : run(net) while there is an enabled : while transition, there is an fires enabled it. transition, fires it. : fire(transition) removes a token from : removes each a token Place from and each adds a token Place, to each and adds a token Place. to each Place. init=1 init=0 init=0 p1 t1 p3 t2 p4 p2 init=1 Petri net model initialization p1 t1 p3 t2 p4 p2 Executed model Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 4/10
14 Example of Petri nets xdsml and model Abstract Syntax Operational semantics transitions Transition Net Place places +initialtokens: int Execution transformation rules (summarized) State Metamodel place 1 PlaceState +tokens: int : run(net) while there is an enabled : while transition, there is an fires enabled it. transition, fires it. : fire(transition) removes a token from : removes each a token Place from and each adds a token Place, to each and adds a token Place. to each Place. init=1 init=0 init=0 p1 t1 p3 t2 p4 p2 init=1 Petri net model initialization p1 t1 p3 t2 p4 p2 Executed model (t1 fired) Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 4/10
15 Example of Petri nets xdsml and model Abstract Syntax Operational semantics transitions Transition Net Place places +initialtokens: int Execution transformation rules (summarized) State Metamodel place 1 PlaceState +tokens: int : run(net) while there is an enabled : while transition, there is an fires enabled it. transition, fires it. : fire(transition) removes a token from : removes each a token Place from and each adds a token Place, to each and adds a token Place. to each Place. init=1 init=0 init=0 p1 t1 p3 t2 p4 p2 init=1 Petri net model initialization p1 t1 p3 t2 p4 p2 Executed model (t1 fired) (t2 fired) Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 4/10
16 Generalizing xdsmls xdsml Parameter metamodel Execution transformation State metamodel Abstract syntax Model transformation Model Parameter model Executable model Execution state data flow depends on / uses Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 5/10
17 Example of MiniTL DSTL and model Ecore (partial) EClass type 1 Abstract Syntax (partial) ObjectTemplate Transformation Rule rules Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 6/10
18 Example of MiniTL DSTL and model Ecore (partial) EClass type 1 Abstract Syntax (partial) ObjectTemplate Transformation Rule rules MiniTL model Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 6/10
19 Example of MiniTL DSTL and model Ecore (partial) EClass type 1 Abstract Syntax (partial) ObjectTemplate Transformation Rule rules MiniTL model Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 6/10
20 Example of MiniTL DSTL and model Ecore (partial) EClass type 1 Abstract Syntax (partial) ObjectTemplate Transformation Rule rules MiniTL model Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 6/10
21 Example of MiniTL DSTL and model Ecore (partial) EClass type 1 Abstract Syntax (partial) ObjectTemplate Transformation Rule rules MiniTL model Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 6/10
22 Example of MiniTL DSTL and model Ecore (partial) EClass type 1 Abstract Syntax (partial) ObjectTemplate Transformation Rule rules MiniTL model Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 6/10
23 Example of MiniTL DSTL and model Ecore (partial) EClass eclass 1 EObject Model type 1 Abstract Syntax (partial) ObjectTemplate Transformation transformation 1 rules Rule State metamodel (partial) currentrule 0..1 TransformationState Execution transformation rules (partial) Operational semantics : run(transformation) while there is enabled : applies transition, all the fires rules it. oves apply(rule) a token from each : while Place there and is a adds match, a token applies to the each rule on the Place. match MiniTL model Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 6/10
24 Example of MiniTL DSTL and model Ecore (partial) EClass eclass 1 EObject Model type 1 Abstract Syntax (partial) ObjectTemplate Transformation transformation 1 rules Rule State metamodel (partial) currentrule 0..1 TransformationState Execution transformation rules (partial) Operational semantics : run(transformation) while there is enabled : applies transition, all the fires rules it. oves apply(rule) a token from each : while Place there and is a adds match, a token applies to the each rule on the Place. match MiniTL model initialization Output model Executed model Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 6/10
25 Example of MiniTL DSTL and model Ecore (partial) EClass eclass 1 EObject Model type 1 Abstract Syntax (partial) ObjectTemplate Transformation transformation 1 rules Rule State metamodel (partial) currentrule 0..1 TransformationState Execution transformation rules (partial) Operational semantics : run(transformation) while there is enabled : applies transition, all the fires rules it. oves apply(rule) a token from each : while Place there and is a adds match, a token applies to the each rule on the Place. match :B y = "1_out" MiniTL model initialization Output model Executed model (AToB app.) Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 6/10
26 Example of MiniTL DSTL and model Ecore (partial) EClass eclass 1 EObject Model type 1 Abstract Syntax (partial) ObjectTemplate Transformation transformation 1 rules Rule State metamodel (partial) currentrule 0..1 TransformationState Execution transformation rules (partial) Operational semantics : run(transformation) while there is enabled : applies transition, all the fires rules it. oves apply(rule) a token from each : while Place there and is a adds match, a token applies to the each rule on the Place. match :B y = "1_out" :B MiniTL model initialization y = "2_out" Output model Executed model (AToB app.) (AToB app.) Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 6/10
27 Generalizing DSTLs as specific xdsmls Metamodeling language Types (EClass, ERef.,...) DSTL Transformation engine Engine state metamodel Parameter metamodel Parameter model State metamodel Execution state Instances (EObject) Input model Abstract syntax Model transformation Output and state Engine State Output model Executable model Model transformation Model Input metamodel Transformation and metamodels Output metamodel data flow depends on / uses Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 7/10
28 Research directions Experiment with generic and generative approaches for DSTL engineering: Reuse xdsml engineering approaches, eg. getting a debugger for free for a given DSTL Define/adapt new generic approaches for DSTL engineering Evaluate the implications of DSTL specificities : eg. can we generate a usable/relevant debugger using generic approaches? DSTLs as case studies for xdsml engineering (cf. TTC 16) Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 8/10
29 Research directions Experiment with generic and generative approaches for DSTL engineering: Reuse xdsml engineering approaches, eg. getting a debugger for free for a given DSTL Define/adapt new generic approaches for DSTL engineering Evaluate the implications of DSTL specificities : eg. can we generate a usable/relevant debugger using generic approaches? DSTLs as case studies for xdsml engineering (cf. TTC 16) Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 8/10
30 Research directions Experiment with generic and generative approaches for DSTL engineering: Reuse xdsml engineering approaches, eg. getting a debugger for free for a given DSTL Define/adapt new generic approaches for DSTL engineering Evaluate the implications of DSTL specificities : eg. can we generate a usable/relevant debugger using generic approaches? DSTLs as case studies for xdsml engineering (cf. TTC 16) Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 8/10
31 Conclusion and future work Just an observation: DSTLs are a sort of xdsmls, complex and with interesting characteristics Prospects: Future work Use state of the art xdsml engineering for DSTL engineering? Consider DSTLs as nice case studies for model execution? Short term: Experiment (more) xdsml engineering on some transformation languages, eg. MiniTL Long term: analyse a DSTL to automatically provide it with a white-box testing framework (test model generation, coverage metrics, fault localization, etc.) Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 9/10
32 Appendix Done! Thank you! Implementation of MiniTL example: Contact: Research project: TETRA Box: we have funding and an open position for a PhD student! Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 10/10
33 Appendix Generalisation of Metamodel-specific DSTLs DSTL specific to M1 and M2 Input metamodel M1 Transformation engine Execution state metamodel Engine state metamodel Output metamodel M2 Abstract syntax State and Input model Model transformation Engine state Output model Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 10/10
34 Appendix Screenshot of MiniTL debugging session Bousse, Wimmer, Schwinger, Kapsammer Leveraging Executable Lang. Engineering for DSTLs 10/10
Create and Play your PacMan Game with the GEMOC Studio
Create and Play your PacMan Game with the GEMOC Studio Dorian Leroy 1 Erwan Bousse 2 Manuel Wimmer 2 Benoit Combemale 3 Wieland Schwinger 1 1 JKU Linz 2 TU Wien 3 University of Toulouse (UT2J) September
More informationOmniscient Debugging for Executable DSLs
Omniscient Debugging for Executable DSLs Erwan Bousse, Dorian Leroy, Benoit Combemale, Manuel Wimmer, Benoit Baudry To cite this version: Erwan Bousse, Dorian Leroy, Benoit Combemale, Manuel Wimmer, Benoit
More informationSupporting Efficient and Advanced Omniscient Debugging for xdsmls
Supporting Efficient and Advanced Omniscient Debugging for xdsmls Erwan Bousse, Jonathan Corley, Benoit Combemale, Jeff Gray, Benoit Baudry To cite this version: Erwan Bousse, Jonathan Corley, Benoit Combemale,
More informationExecution Framework of the GEMOC Studio (Tool Demo)
Execution Framework of the GEMOC Studio (Tool Demo) Erwan Bousse TU Wien, Austria bousse@big.tuwien.ac.at Tanja Mayerhofer TU Wien, Austria mayerhofer@big.tuwien.ac.at Thomas Degueule Inria, France thomas.degueule@inria.fr
More informationTowards xmof: Executable DSMLs based on fuml www.modelexecution.org Tanja Mayerhofer, Philip Langer, Manuel Wimmer Business Informatics Group Institute of Software Technology and Interactive Systems Vienna
More informationColored Petri Net Evaluation Tool. Stephen Rojcewicz CS 2310
Colored Petri Net Evaluation Tool Stephen Rojcewicz CS 2310 Motivating Example (Colored Petri Nets) Consider a gesture-driven application interface. The system must detect three kinds of gestures and respond
More informationCommon Pitfalls of Using QVT Relations Graphical Debugging as Remedy
Common Pitfalls of Using QVT Relations Graphical Debugging as Remedy Angelika Kusel, Wieland Schwinger Johannes Kepler University Linz Austria kusel@bioinf.jku.at, wieland@schwinger.at Manuel Wimmer Vienna
More informationCreate and Play your Pac-Man Game with the GEMOC Studio (Tool Demonstration)
Create and Play your Pac-Man Game with the GEMOC Studio (Tool Demonstration) Dorian Leroy, Erwan Bousse, Manuel Wimmer, Benoit Combemale, Wieland Schwinger To cite this version: Dorian Leroy, Erwan Bousse,
More informationChristian Doppler Laboratory
Christian Doppler Laboratory Software Engineering Integration For Flexible Automation Systems AutomationML Models (in EMF and EA) for Modelers and Software Developers Emanuel Mätzler Institute of Software
More informationOn Using UML Profiles in ATL Transformations
On Using UML Profiles in ATL Transformations Manuel Wimmer and Martina Seidl Business Informatics Group, Vienna University of Technology, Austria {wimmer seidl}@big.tuwien.ac.at Abstract. For defining
More informationTowards Language-Oriented Modeling
Towards Language-Oriented Modeling Benoit Combemale (Univ. Rennes 1, IRISA, DiverSE team) http://people.irisa.fr/benoit.combemale benoit.combemale@irisa.fr @bcombemale Complex Software-Intensive Systems
More informationDiverSE s Seminar about Software Language Engineering
DiverSE s Seminar about Software Language Engineering May 28 th, 2015 Rennes, France http://people.irisa.fr/benoit.combemale/sleseminar2015 THE DIVERSE TEAM DiverSE s Seminar about SLE - May 28 th, 2015-2
More informationThe Behavioral Coordination Operator Language
The Operator Language GL/\CE Day, May 10th, 2016 Julien Deantoni University of Nice, I3S CNRS, INRIA AOSTE Julien.deantoni@polytech.unice.fr Discrete Time Behavior xdsml 1 ADAPTIVE CRUISE CONTROL SYSTEM
More informationCommon Pitfalls of Using QVT Relations - Graphical Debugging as Remedy
Common Pitfalls of Using QVT Relations - Graphical Debugging as Remedy Angelika Kusel, Wieland Schwinger Johannes Kepler University Linz Austria kusel@bioinf.jku.at, wieland@schwinger.at Manuel Wimmer
More informationTowards xmof: Executable DSMLs based on fuml
Towards xmof: Executable DSMLs based on fuml Tanja Mayerhofer Vienna University of Technology, Austria mayerhofer@big.tuwien.ac.at Philip Langer Vienna University of Technology, Austria langer@big.tuwien.ac.at
More informationTowards End-User Adaptable Model Versioning: The By-Example Operation Recorder
Towards End-User Adaptable Model Versioning: The By-Example Operation Recorder Petra Brosch, Philip Langer, Martina Seidl, and Manuel Wimmer Institute of Software Technology and Interactive Systems Vienna
More informationInstructions to use PIPE+
Instructions to use PIPE+ PIPE+ is implemented under the environment of Eclipse. User can import it into eclipse to view source code as well as run the program. The user can choose RunGUI to run the tool.
More informationThe GEMOC Initiative On the Globalization of Modeling Languages
The GEMOC Initiative On the Globalization of Modeling Languages Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/benoit.combemale benoit.combemale@irisa.fr @bcombemale SOFTWARE COLUMN SECTION
More informationEclipse Modeling Framework (EMF) Paweł Żalejko
Eclipse Modeling Framework (EMF) Paweł Żalejko Agenda Model-Driven Development What is EMF? EMF demo - hello world EMF demo - command stack & adapters EMF demo - data binding & validation EMF demo - generating
More informationA little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best
Domain Specific Languages Markus Voelter Independent/itemis voelter@acm.org A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES
More informationCompiling Regular Expressions COMP360
Compiling Regular Expressions COMP360 Logic is the beginning of wisdom, not the end. Leonard Nimoy Compiler s Purpose The compiler converts the program source code into a form that can be executed by the
More informationCOSE312: Compilers. Lecture 1 Overview of Compilers
COSE312: Compilers Lecture 1 Overview of Compilers Hakjoo Oh 2017 Spring Hakjoo Oh COSE312 2017 Spring, Lecture 1 March 7, 2017 1 / 15 What is Compiler? Software systems that translate a program written
More informationGMF Tooling 3.0 Vision, Architecture, Roadmap
GMF Tooling 3.0 Vision, Architecture, Roadmap 2012.03.25, OMG/Eclipse Symposium, Reston VA Michael Golubev, GMF Tooling lead Montages AG www.montages.com GMF Tooling - Overview Vision: Support creation
More informationA Petri Net based Debugging Environment for QVT Relations*
A Petri Net based Debugging Environment for QVT Relations Manuel Wimmer, Gerti Kappel, Johannes Schoenboeck, Angelika Kusel, Werner Retschitzegger and Wieland Schwinger Vienna University of Technology,
More informationAMOR Towards Adaptable Model Versioning
AMOR Towards Adaptable Model Versioning Kerstin Altmanninger 1, Gerti Kappel 2, Angelika Kusel 1, Werner Retschitzegger 1, Wieland Schwinger 1, Martina Seidl 2, Manuel Wimmer 2 1 Johannes Kepler University
More informationTiger EMF Model Transformation Framework (EMT)
Tiger EMF Model Transformation Framework (EMT) Version 1.2.0 User Manual TU Berlin EMT Project Team: Enrico Biermann, Karsten Ehrig, Claudia Ermel, Christian Köhler, Günter Kuhns, Gabi Taentzer Email:
More informationA Generic Framework for Realizing Semantic Model Differencing Operators
A Generic Framework for Realizing Semantic Model Differencing Operators Philip Langer, Tanja Mayerhofer, and Gerti Kappel Business Informatics Group, Vienna University of Technology, Vienna, Austria {langer,mayerhofer,gerti}@big.tuwien.ac.at
More informationLost in Translation? Transformation Nets to the Rescue!
Lost in Translation? Transformation Nets to the Rescue! Manuel Wimmer 1, Angelika Kusel 2, Thomas Reiter 2, Werner Retschitzegger 3, Wieland Schwinger 2, and Gerti Kappel 1 1 Vienna University of Technology,
More informationA Framework for Building Mapping Operators Resolving Structural Heterogeneities
A Framework for Building Mapping Operators Resolving Structural Heterogeneities Gerti Kappel 1, Horst Kargl 1, Thomas Reiter 2, Werner Retschitzegger 2, Wieland Schwinger 3, Michael Strommer 1, and Manuel
More informationModel-based Software Engineering (02341, Spring 2017) Ekkart Kindler
Model-based Software Engineering (02341, Spring 2017) Code snippets (week 2) Ecore model from T01 3 Generated Code // All comments and imports deleted! package dk.dtu.compute.mbse.petrinet; Interface only
More informationThe TTC 2015 Model Execution Case
The TTC 2015 Model Execution Case Tanja Mayerhofer and Manuel Wimmer Business Informatics Group, Vienna University of Technology, Austria {mayerhofer,wimmer}@big.tuwien.ac.at Abstract. This paper describes
More informationModif Documentation. Refactoring User Guide
Modif Documentation - Refactoring User Guide This document explains the steps for using ModifRoundtrip for a Metamodel Refactoring June, 2015 by Paola Vallejo, Jean Philippe Babau Modif Documentation-
More informationA Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework
A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework Enrico Biermann, Claudia Ermel, Frank Hermann and Tony Modica Technische Universität Berlin, Germany {enrico,lieske,frank,modica}@cs.tu-berlin.de
More informationCOMPLEX SYSTEMS. Today. Complex Systems. Kinds of Systems. Embedded Systems. Software Engineering. Lectures 20: Engineering Complex Systems
Chair of Software Engineering Today Software Engineering Prof. Dr. Bertrand Meyer Dr. Manuel Oriol Dr. Bernd Schoeller Lectures 20: Engineering Complex Systems Complex Systems What is it? Examples Technologies
More informationA generic solution for weaving business code into executable models
A generic solution for weaving business code into executable models Eric Cariou, Olivier Le Goaer, Léa Brunschwig, Franck Barbier University of Pau / LIUPPA, France Interests of model execution Introduction
More information9/5/17. The Design and Implementation of Programming Languages. Compilation. Interpretation. Compilation vs. Interpretation. Hybrid Implementation
Language Implementation Methods The Design and Implementation of Programming Languages Compilation Interpretation Hybrid In Text: Chapter 1 2 Compilation Interpretation Translate high-level programs to
More informationJava Software Solutions for AP Computer Science 3rd Edition, Lewis et al. 2011
A Correlation of AP Computer Science 3rd Edition, Lewis et al. 2011 To the INTRODUCTION This document demonstrates how AP (Advanced Placement) Computer Science, 3rd Edition 2011, Lewis et al. meets the
More informationTowards Language-Oriented Modeling Habilitation à Diriger des Recherches Université de Rennes 1 December 4, 2015
Towards Language-Oriented Modeling Habilitation à Diriger des Recherches Université de Rennes 1 December 4, 2015 Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/benoit.combemale benoit.combemale@irisa.fr
More informationThe PISA Project A Model Driven Development case study
In collaboration with The PISA Project A Model Driven Development case study Pedro J. Molina, PhD. May 19 th, 2007 Contents Introduction Goals Foundations Design aspects & Trade-offs Demo Problems found
More informationModels in Conflict Towards a Semantically Enhanced Version Control System for Models
Models in Conflict Towards a Semantically Enhanced ersion Control System for Models Kerstin Altmanninger Department of Telecooperation, Johannes Kepler University Linz, Austria kerstin.altmanninger@jku.at
More informationUsing Petri Nets To Test Concurrent Behavior Of Web Applications
Using Petri Nets To Test Concurrent Behavior Of Web Applications Sunitha Thummala & Jeff Offutt Presented by Omar Al-Debagy Outline Introduction Scope of the Research Paper Petri Nets Modelling Web Applications
More informationUsing Domain Specific Languages for Software Process Modeling
Using Domain Specific Languages for Software Process Modeling Darío Correal Rubby Casallas {dcorreal,rcasalla@uniandes.edu.co} The 7th OOPSLA Workshop on Domain-Specific Modeling Montreal - Canada, October
More informationVisual Interpreter and Debugger for Dynamic Models Based on the Eclipse Platform
Visual Interpreter and Debugger for Dynamic Models Based on the Eclipse Platform Diploma Thesis Submitted by Nils Bandener Supervisor: Prof. Dr. Gregor Engels Assessor: Prof. Dr. Heike Wehrheim Co-Supervisor:
More informationMODELS: G: Exploring Omniscient Debugging for Model Transformations
1 MODELS: G: Exploring Omniscient Debugging for Model Transformations Jonathan Corley Department of Computer Science The University of Alabama Tuscaloosa, AL, U.S.A. corle001@crimson.ua.edu Abstract This
More informationTowards Automatic Generation of Web-based Modeling Editors
Towards Automatic Generation of Web-based Modeling Editors Manuel Wimmer 1, Irene Garrigós 2 and Sergio Firmenich 3,4 1 BIG, TU Wien, Austria wimmer@big.tuwien.ac.at 2 WaKe Research, University of Alicante,
More informationApproaches & Languages for Schema Transformation
Approaches & Languages for Schema Transformation Findings of HUMBOLDT & follow-up Activities INSPIRE KEN Workshop on Schema Transformation Paris, France, 08.10.2013 Thorsten Reitz Esri R&D Center Zurich
More informationComposition and concurrent execution of heterogeneous domain-specific models
Composition and concurrent execution of heterogeneous domain-specific models A work part of the GEMOC initiative Benoit Combemale Associate Professor, University of Rennes 1 Research Scientist, INRIA benoit.combemale@irisa.fr
More informationCoping with Semantic Variation Points in Domain-Specific Modeling Languages
Coping with Semantic Variation Points in Domain-Specific Modeling Languages Florent Latombe, Xavier Crégut, Julien Deantoni, Marc Pantel, Benoit Combemale To cite this version: Florent Latombe, Xavier
More informationCode Check TM Software Requirements Specification
Code Check TM Software Requirements Specification Author: Richard McKenna Debugging Enterprises TM Based on IEEE Std 830 TM -1998 (R2009) document format Copyright 2017 Debugging Enterprises No part of
More informationWeaving Concurrency in executable Domain-Specific Modeling Languages
Weaving Concurrency in executable Domain-Specific Modeling Languages Florent Latombe, Xavier Crégut, Benoît Combemale, Julien Deantoni, Marc Pantel To cite this version: Florent Latombe, Xavier Crégut,
More informationScaling Xtext. Lieven Lemiengre
Scaling Xtext Lieven Lemiengre Sigasi IDE for Hardware Description Languages VHDL, (System)Verilog Using Xtext for 4 years Large user base (commercial, free, students) Our company goal Assist hardware
More informationModel-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger
Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger Reuses some material from: Andrzej Wasowski, Model-Driven Development, ITU Copenhagen Where I am from WASP 2017
More informationIntroduction to Problem Solving and Programming in Python.
Introduction to Problem Solving and Programming in Python http://cis-linux1.temple.edu/~tuf80213/courses/temple/cis1051/ Overview Types of errors Testing methods Debugging in Python 2 Errors An error in
More informationAdvanced Topics in Software Engineering (02265) Ekkart Kindler
Advanced Topics in Software Engineering (02265) Recapitulation (I. Introduction ) 2 Levels of models ClassDiagram is an instance of PetriNet * Object * Class 1 start 1 end * Association concrete syntax
More informationStructure of Abstract Syntax trees for Colored Nets in PNML
Structure of Abstract Syntax trees for Colored Nets in PNML F. Kordon & L. Petrucci Fabrice.Kordon@lip6.fr Laure.Petrucci@lipn.univ-paris13.fr version 0.2 (draft) June 26, 2004 Abstract Formalising the
More informationChallenges for advanced domain-specific modeling. István Ráth. Budapest University of Technology and Economics
Challenges for advanced domain-specific modeling frameworks István Ráth Dániel Varró Department of Measurement and Information Systems Department of Measurement and Information Systems Budapest University
More informationA Model-Driven Framework for Domain Specific Process Design and Governance
A Model-Driven Framework for Domain Specific Process Design and Governance Adrian Mos 1, Mario Cortes-Cornax 1, José Miguel Pérez-Álvarez1,2, María Teresa Gómez-López 2 1 Xerox Research Center, 6 Chemin
More informationProgramming in Visual Basic with Microsoft Visual Studio 2010
Programming in Visual Basic with Microsoft Visual Studio 2010 Course 10550; 5 Days, Instructor-led Course Description This course teaches you Visual Basic language syntax, program structure, and implementation
More informationMultEcore: Combining The Best of Fixed-Level and Multilevel Metamodelling
MultEcore: Combining The Best of Fixed-Level and Multilevel Metamodelling Fernando Macías 1,2, Adrian Rutle 1, and Volker Stolz 1,2 1 Bergen University College first.last@hib.no 2 University of Oslo Abstract
More informationImplementation of F# language support in JetBrains Rider IDE
SAINT-PETERSBURG STATE UNIVERSITY Software Engineering Evgeniy Auduchinok Implementation of F# language support in JetBrains Rider IDE Graduation Thesis Scientific supervisor: Senior lecturer Iakov Kirilenko
More informationState of the Art and Future Directions in Model Management Research
State of the Art and Future Directions in Model Management Research Japan-Austria Joint Workshop on ICT, October 18-19, 2010 Gerti Kappel Business Informatics Group Institute of Software Technology and
More informationPROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led
CENTER OF KNOWLEDGE, PATH TO SUCCESS Website: PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO 2010 Course: 10550A; Duration: 5 Days; Instructor-led WHAT YOU WILL LEARN This course teaches you
More informationIntroduction to Modeling. Lecture Overview
Lecture Overview What is a Model? Uses of Modeling The Modeling Process Pose the Question Define the Abstractions Create the Model Analyze the Data Model Representations * Queuing Models * Petri Nets *
More informationWelcome to EXE th International Workshop on Executable Modeling October 14, 2018, Copenhagen, Denmark. Organizers:
Welcome to EXE 2018 4th International Workshop on Executable Modeling October 14, 2018, Copenhagen, Denmark Tanja Mayerhofer TU Wien, Austria Jeff Gray University of Alabama, USA Organizers: Philip Langer
More informationKermeta tutorial. How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette. Abstract
Kermeta tutorial How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette Abstract This tutorial show how to create an EMF model for the FSM example. Published Build
More informationWhat Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs
What Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs EclipseCon Europe 2016 2016-10-26 Roman Mitin Avaloq Evolution AG Allmendstrasse 140 8027 Zurich Switzerland T +41 58 316
More informationIdentifiers. Identifiers are the words a programmer uses in a program Some identifiers are already defined. Some are made up by the programmer:
C1 D6 Obj: cont. 1.3 and 1.4, to become familiar with identifiers and to understand how programming languages work HW: p.51 #1.8 1.9 (Short Answers) Chapter 1 Test in two class days!! Do Now: How is the
More informationDeveloping Web-Based Applications Using Model Driven Architecture and Domain Specific Languages
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain
More informationCurrent trends and frameworks for modeldriven approaches to software development
1 Current trends and frameworks for modeldriven approaches to software development Trial Lecture Odd Petter Nord Slyngstad Trondheim, 1 st April 2011 Anita Gupta 28/05/2009 2 Overview What is a model-driven
More informationOCLLib, OCLUnit, OCLDoc: Pragmatic Extensions for the Object Constraint Language by Examples
OCLLib, OCLUnit, OCLDoc: Pragmatic Extensions for the Object Constraint Language by Examples Joanna Chimiak-Opoka University of Innsbruck, Austria DresdenOCL Quo Vadis?, 15 th October 2009, Dresden, Germany
More informationMixed-Language Debugging of projects containing C and COBOL
Mixed-Language Debugging of projects containing C and COBOL Net Express and other Micro Focus software development tools offer a wide range of possibilities to construct COBOL projects. Of course, programs
More informationPower BI Developer Bootcamp
Power BI Developer Bootcamp Mastering the Power BI Development Platform Course Code Audience Format Length Course Description Student Prerequisites PBD365 Professional Developers In-person and Remote 4
More informationTool Paper: Combining Alf and UML in Modeling Tools An Example with Papyrus
Tool Paper: Combining Alf and UML in Modeling Tools An Example with Papyrus Ed Seidewitz Model Driven Solutions 14000 Gulliver s Trail Bowie MD 20720 USA ed-s@modeldriven.com Jérémie Tatibouet CEA, LIST,
More informationChapter 15 Debugging
Chapter 15 Debugging Known, but unfixed errors Just ignore errors at this point. There is nothing we can do except to try to keep going. -A comment in XFS (xfs_vnodeops.c, line 1785) Error, skip block
More informationGenerating Petri Nets from AADL descriptions. Thomas Vergnaud
Generating Petri Nets from AADL descriptions Designing a Distribution Runtime for the AADL work at ENST focuses on the building of communication middlewares manage communication
More informationRevisiting Visitors for Modular Extension of Executable DSMLs
Revisiting Visitors for Modular Extension of Executable DSMLs Manuel Leduc, Thomas Degueule, Benoit Combemale, Tijs Van Der Storm, Olivier Barais To cite this version: Manuel Leduc, Thomas Degueule, Benoit
More informationCISC836: Models in Software Development: Methods, Techniques and Tools
CISC836: Models in Software Development: Methods, Techniques and Tools Topic 4: Code Generation with EMF Meta modeling Languages for meta models: Ecore Using EMF and Ecoreto define a data model Using EMF
More informationÁkos Horváth Gábor Bergmann Dániel Varró István Ráth Model Driven Software Development Lecture 3
Domain-specific modeling (and the Eclipse Modeling Framework) Ákos Horváth Gábor Bergmann Dániel Varró István Ráth Model Driven Software Development Lecture 3 Méréstechnika és Információs Rendszerek Tanszék
More informationPROGRAM MODELING CONCEPTS UNIT IV
PROGRAM MODELING CONCEPTS UNIT IV Introduction Modelling processes are used for software analysis and design before software implementation. A software analysis and design helps A description of the system
More informationSirius 4.0: Let me Sirius that for you! EclipseCon France, June 2016
Sirius 4.0: Let me Sirius that for you! Sirius Statistics Statistics 10 active committers Statistics 10 active committers 84 fixed bugs Statistics 10 active committers 84 fixed bugs ~900 commits Statistics
More informationMultilevel modelling of coloured Petri nets
Multilevel modelling of coloured Petri nets Alejandro Rodríguez 1, Adrian Rutle 1, Francisco Durán 2, Lars Michael Kristensen 1 and Fernando Macías 1 1 Western Norway University of Applied Sciences, Bergen
More informationOracle Developer Studio 12.6
Oracle Developer Studio 12.6 Oracle Developer Studio is the #1 development environment for building C, C++, Fortran and Java applications for Oracle Solaris and Linux operating systems running on premises
More informationMDSE USE CASES. Chapter #3
Chapter #3 MDSE USE CASES Teaching material for the book Model-Driven Software Engineering in Practice by Morgan & Claypool, USA, 2012. www.mdse-book.com MDSE GOES FAR BEYOND CODE-GENERATION www.mdse-book.com
More informationSourcererCC -- Scaling Code Clone Detection to Big-Code
SourcererCC -- Scaling Code Clone Detection to Big-Code What did this paper do? SourcererCC a token-based clone detector, that can detect both exact and near-miss clones from large inter project repositories
More informationThe Eclipse Modeling Framework and MDA Status and Opportunities
The Eclipse Modeling Framework and MDA Status and Opportunities David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:
More informationWhat is Wazaabi 2.0? Declarative UI framework. based on. live EMF model(s)
What is Wazaabi 2.0? Declarative UI framework based on live EMF model(s) What is an EMF Model? Specification of an application s data Object attributes Relationships (associations) between objects Operations
More informationUsing Eclipse in MIS Research
Using Eclipse in MIS Research GENERAL REMARK ECLIPSE and ECLIPSE PLUG- INS are very useful and powerful in the context of RESEARCH and EDUCATION but are probably not suited for developing commercial tools.
More informationPAPYRUS FUTURE. CEA Papyrus Team
PAPYRUS FUTURE CEA ABSTRACT SYNTAX The definition of a DSML abstract syntax in Papyrus is done with the profile editor. It lets define abstract syntax constraints in OCL and Java. Ongoing: Façade [1] lets
More informationA Semi-automatic Approach for Bridging DSLs with UML
A Semi-automatic Approach for Bridging DSLs with UML Manuel Wimmer 1, Andrea Schauerhuber 1, Michael Strommer 1, Wieland Schwinger 2, and Gerti Kappel 1 1 Institute of Software Technology and Interactive
More informationATL: Atlas Transformation Language. ATL User Manual
ATL: Atlas Transformation Language ATL User Manual - version 0.7 - February 2006 by ATLAS group LINA & INRIA Nantes Content 1 Introduction... 1 2 An Introduction to Model Transformation... 2 2.1 The Model-Driven
More informationUNIT IV -MACROPROCESSOR
CS2304-SYSTEM SOFTWARE 2 MARK QUESTION & ANSWERS. UNIT IV -MACROPROCESSOR 1. Define macro. A macro represents a group of statements in a source language, for performing some function macro can be defined
More informationWriting Interpreters Racket eval. CSE341 Section 7. ASTs, Interpreters, MUPL. Sunjay Cauligi. February 21 st, Sunjay Cauligi CSE341 Section 7
Writing Interpreters Racket eval CSE341 Section 7 ASTs, Interpreters, MUPL Sunjay Cauligi February 21 st, 2013 Legal vs. Nonlegal ASTs Consider the Following (add 3 4) (add (const 3) (const 4)) (add (const
More informationTake Advantage of the Eclipse IDE with webmethods ApplinX By Andreas Goermer, Senior Product Manager, Software AG
December 2008 Take Advantage of the Eclipse IDE with webmethods ApplinX By Andreas Goermer, Senior Product Manager, Software AG The Eclipse integrated development environment (IDE) continues to gain popularity,
More informationEnhancing Xtext for General Purpose Languages
Enhancing Xtext for General Purpose Languages Adolfo Sánchez-Barbudo Herrera Department of Computer Science, University of York, UK. asbh500@york.ac.uk Abstract. Xtext is a popular language workbench conceived
More informationAn Example is Worth a Thousand Words: Composite Operation Modeling By-Example
An Example is Worth a Thousand Words: Composite Operation Modeling By-Example Petra Brosch 1, Philip Langer 2, Martina Seidl 1, Konrad Wieland 1, Manuel Wimmer 1, Gerti Kappel 1, Werner Retschitzegger
More informationSemantics of ARIS Model
Semantics of ARIS Model Why is Semantics Important? Jon Atle Gulla An analysis of the ARIS ing language with respect to - conceptual foundation and - formal properties Green, P. and M. Rosemann: An Ontological
More informationLexical Scanning COMP360
Lexical Scanning COMP360 Captain, we re being scanned. Spock Reading Read sections 2.1 3.2 in the textbook Regular Expression and FSA Assignment A new assignment has been posted on Blackboard It is due
More informationBy: Chaitanya Settaluri Devendra Kalia
By: Chaitanya Settaluri Devendra Kalia What is an embedded system? An embedded system Uses a controller to perform some function Is not perceived as a computer Software is used for features and flexibility
More informationJUCE TUTORIALS. INTRO methodology how to create a GUI APP and how to create a Plugin.
JUCE TUTORIALS INTRO methodology how to create a GUI APP and how to create a Plugin. Install Juice and Xcode (or other IDE) Create a project: GUI Application Select platform Choose Path, Name, Folder Name
More informationSoftware Engineering 2 A practical course in software engineering. Ekkart Kindler
Software Engineering 2 A practical course in software engineering Conclusion, Outlook, Discussion Motivation 3 4 1. What did you learn? Objectives of this course: Basic skills in software engineering!
More information