Leveraging Executable Language Engineering for Domain-Specific Transformation Languages (Position Paper)

Size: px
Start display at page:

Download "Leveraging Executable Language Engineering for Domain-Specific Transformation Languages (Position Paper)"

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 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 information

Omniscient Debugging for Executable DSLs

Omniscient 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 information

Supporting Efficient and Advanced Omniscient Debugging for xdsmls

Supporting 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 information

Execution Framework of the GEMOC Studio (Tool Demo)

Execution 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 information

Towards 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 information

Colored Petri Net Evaluation Tool. Stephen Rojcewicz CS 2310

Colored 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 information

Common Pitfalls of Using QVT Relations Graphical Debugging as Remedy

Common 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 information

Create 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) 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 information

Christian Doppler Laboratory

Christian 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 information

On Using UML Profiles in ATL Transformations

On 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 information

Towards Language-Oriented Modeling

Towards 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 information

DiverSE s Seminar about Software Language Engineering

DiverSE 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 information

The Behavioral Coordination Operator Language

The 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 information

Common Pitfalls of Using QVT Relations - Graphical Debugging as Remedy

Common 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 information

Towards xmof: Executable DSMLs based on fuml

Towards 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 information

Towards End-User Adaptable Model Versioning: The By-Example Operation Recorder

Towards 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 information

Instructions to use PIPE+

Instructions 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 information

The GEMOC Initiative On the Globalization of Modeling Languages

The 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 information

Eclipse Modeling Framework (EMF) Paweł Żalejko

Eclipse 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 information

A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best

A 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 information

Compiling Regular Expressions COMP360

Compiling 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 information

COSE312: Compilers. Lecture 1 Overview of Compilers

COSE312: 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 information

GMF Tooling 3.0 Vision, Architecture, Roadmap

GMF 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 information

A Petri Net based Debugging Environment for QVT Relations*

A 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 information

AMOR Towards Adaptable Model Versioning

AMOR 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 information

Tiger EMF Model Transformation Framework (EMT)

Tiger 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 information

A Generic Framework for Realizing Semantic Model Differencing Operators

A 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 information

Lost in Translation? Transformation Nets to the Rescue!

Lost 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 information

A Framework for Building Mapping Operators Resolving Structural Heterogeneities

A 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 information

Model-based Software Engineering (02341, Spring 2017) Ekkart Kindler

Model-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 information

The TTC 2015 Model Execution Case

The 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 information

Modif Documentation. Refactoring User Guide

Modif 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 information

A 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 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 information

COMPLEX SYSTEMS. Today. Complex Systems. Kinds of Systems. Embedded Systems. Software Engineering. Lectures 20: Engineering Complex Systems

COMPLEX 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 information

A generic solution for weaving business code into executable models

A 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 information

9/5/17. The Design and Implementation of Programming Languages. Compilation. Interpretation. Compilation vs. Interpretation. Hybrid Implementation

9/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 information

Java Software Solutions for AP Computer Science 3rd Edition, Lewis et al. 2011

Java 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 information

Towards 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 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 information

The PISA Project A Model Driven Development case study

The 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 information

Models in Conflict Towards a Semantically Enhanced Version Control System for Models

Models 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 information

Using Petri Nets To Test Concurrent Behavior Of Web Applications

Using 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 information

Using Domain Specific Languages for Software Process Modeling

Using 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 information

Visual Interpreter and Debugger for Dynamic Models Based on the Eclipse Platform

Visual 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 information

MODELS: G: Exploring Omniscient Debugging for Model Transformations

MODELS: 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 information

Towards Automatic Generation of Web-based Modeling Editors

Towards 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 information

Approaches & Languages for Schema Transformation

Approaches & 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 information

Composition and concurrent execution of heterogeneous domain-specific models

Composition 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 information

Coping with Semantic Variation Points in Domain-Specific Modeling Languages

Coping 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 information

Code Check TM Software Requirements Specification

Code 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 information

Weaving Concurrency in executable Domain-Specific Modeling Languages

Weaving 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 information

Scaling Xtext. Lieven Lemiengre

Scaling 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 information

Model-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 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 information

Introduction to Problem Solving and Programming in Python.

Introduction 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 information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced 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 information

Structure of Abstract Syntax trees for Colored Nets in PNML

Structure 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 information

Challenges for advanced domain-specific modeling. István Ráth. Budapest University of Technology and Economics

Challenges 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 information

A Model-Driven Framework for Domain Specific Process Design and Governance

A 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 information

Programming in Visual Basic with Microsoft Visual Studio 2010

Programming 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 information

MultEcore: Combining The Best of Fixed-Level and Multilevel Metamodelling

MultEcore: 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 information

Implementation of F# language support in JetBrains Rider IDE

Implementation 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 information

State of the Art and Future Directions in Model Management Research

State 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 information

PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led

PROGRAMMING 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 information

Introduction to Modeling. Lecture Overview

Introduction 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 information

Welcome to EXE th International Workshop on Executable Modeling October 14, 2018, Copenhagen, Denmark. Organizers:

Welcome 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 information

Kermeta 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 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 information

What 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 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 information

Identifiers. Identifiers are the words a programmer uses in a program Some identifiers are already defined. Some are made up by the programmer:

Identifiers. 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 information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing 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 information

Current trends and frameworks for modeldriven approaches to software development

Current 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 information

OCLLib, OCLUnit, OCLDoc: Pragmatic Extensions for the Object Constraint Language by Examples

OCLLib, 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 information

Mixed-Language Debugging of projects containing C and COBOL

Mixed-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 information

Power BI Developer Bootcamp

Power 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 information

Tool 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 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 information

Chapter 15 Debugging

Chapter 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 information

Generating Petri Nets from AADL descriptions. Thomas Vergnaud

Generating 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 information

Revisiting Visitors for Modular Extension of Executable DSMLs

Revisiting 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 information

CISC836: Models in Software Development: Methods, Techniques and Tools

CISC836: 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

Á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 information

PROGRAM MODELING CONCEPTS UNIT IV

PROGRAM 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 information

Sirius 4.0: Let me Sirius that for you! EclipseCon France, June 2016

Sirius 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 information

Multilevel modelling of coloured Petri nets

Multilevel 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 information

Oracle Developer Studio 12.6

Oracle 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 information

MDSE USE CASES. Chapter #3

MDSE 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 information

SourcererCC -- Scaling Code Clone Detection to Big-Code

SourcererCC -- 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 information

The Eclipse Modeling Framework and MDA Status and Opportunities

The 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 information

What 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 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 information

Using Eclipse in MIS Research

Using 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 information

PAPYRUS FUTURE. CEA Papyrus Team

PAPYRUS 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 information

A Semi-automatic Approach for Bridging DSLs with UML

A 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 information

ATL: Atlas Transformation Language. ATL User Manual

ATL: 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 information

UNIT IV -MACROPROCESSOR

UNIT 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 information

Writing 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, 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 information

Take Advantage of the Eclipse IDE with webmethods ApplinX By Andreas Goermer, Senior Product Manager, Software AG

Take 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 information

Enhancing Xtext for General Purpose Languages

Enhancing 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 information

An Example is Worth a Thousand Words: Composite Operation Modeling By-Example

An 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 information

Semantics of ARIS Model

Semantics 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 information

Lexical Scanning COMP360

Lexical 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 information

By: Chaitanya Settaluri Devendra Kalia

By: 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 information

JUCE 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. 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 information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software 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