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

Size: px
Start display at page:

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

Transcription

1 Model-based Software Engineering (02341, Spring 2017)

2 I. Introduction

3 1. Motivation What is software engineering? What is software? software = program software engineering = programming 3

4 Program vs. Software is much more than Software >> Program Software Engineering >>> Programming is much much more than 4

5 Programming vs. SE Software Software Engineer Software Engineering Program Programmer Programming 5

6 Software Die Menge aller Programme, Prozeduren und Objekte, zusammen mit den zugehörigen Daten und der Dokumentation, die für eine lauffähige Anwendung nötig oder wünschenswert sind. [frei nach Informatik DUDEN und Hesse] 6

7 Software The sum of all programs, procedures and objects along with the associated data and documentation, which are necessary (or at least desirable) for running an application on a computer system. 7

8 2. Models in SE and a glimpse of how software can be developed by using models without doing any programming at all. 8

9 Modelling 9

10 Idea for some Software 10

11 Example of a Petri net request 1 request 2 critical 1 critical 2 semaphor idle 1 idle 2 11

12 Stages Examples Taxonomy (done on blackboard) Glossary Model (developed on blackboard) 12

13 Models (Meta Models) PetriNet object * Object context Arc inv: ( self.source.ocliskindof(place) and self.target.ocliskindof(transition) ) or ( self.source.ocliskindof(transition) and self.target.ocliskindof(place) ) Petri net model Node 1 source 1 target Arc Transition Place Model Meta model for Petri for nets Petri nets token * Token 13

14 Don t think models as Java PetriNet * Object context Arc inv: ( self.source.ocliskindof(place) and self.target.ocliskindof(transition) ) or ( self.source.ocliskindof(transition) and self.target.ocliskindof(place) ) Petri net model Node 1 source 1 target Arc Transition Place * Token 14

15 Domain model A domain model makes the concepts of a domain explicit It makes the concepts and the relations among them precise As software engineers, we used UML (class diagrams) as a language for formulating a domain model Process Examples Talk to experts Taxonomy / Glossary Create the model 15

16 Domain model PetriNet * Object context Arc inv: ( self.source.ocliskindof(place) and self.target.ocliskindof(transition) ) or ( self.source.ocliskindof(transition) and self.target.ocliskindof(place) ) Petri net model Node 1 source 1 target Arc Transition Place * Token 16

17 Syntax for instances :Petrinet graphical / concrete syntax :Transition target source :Arc target :Place source :Arc abstract syntax (as an UML object diagram) :Arc :Token :Place source target :Arc source target :Transition 17

18 Overview PetriNet meta model build-time * Object Node 1 source 1 target Arc is an instance of Transition Place * Token :Petrinet :Transition source :Arc target :Place target source model runtime :Arc :Arc :Token :Place source target :Arc source target :Transition 18

19 Benefits of Modelling Better understanding Mapping of instances to XML syntax (XMI) Automatic code generation API for creating, deleting and modifying model Methods for loading and saving models (in XMI) Standard mechanisms for keeping track of changes (observers) 19

20 PetriNet * Object Node 1 source 1 target Arc Transition Place * Token :Petrinet :Transition source :Arc target :Place target source :Arc :Arc :Token :Place source target :Arc source target :Transition 20

21 Answers: Program an editor Standard technology for mapping abstract to concrete syntax: EMF / GMF / 21

22 GMF/Sirius PetriNet Transition * Place Object Arc Token Node 1 source 1 target Arc Transition Place * Token generate an editor :Petrinet :Transition source :Arc target :Place target source :Arc :Arc :Token :Place source target :Arc source target :Transition 22

23 Benefits of Modelling (cntd.) Better Understanding Mapping of instances to XML syntax (XMI) Automatic Code Generation API for creating, deleting and modifying model Methods for loading and saving models (in XMI) Standard mechanisms for keeping track of changes (observers) Editors and GUIs 23

24 Idea for some Software 24

25 Today Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginname package PetriNets.impl; Bundle-SymbolicName: APetriNetEditorIn15Minutes.diagr Bundle-Version: qualifier public class PetriNetImpl extends EObjectImpl implements PetriNet { Bundle-ClassPath: <plugin>. protected EList<PetriNets.Object> object; Bundle-Activator: PetriNets.diagram.part.PetriNetDiagr Bundle-Vendor: %providername <extension point="org.eclipse.emf.ecore.generated_pa protected PetriNetImpl() { Bundle-Localization: <package plugin super(); Export-Package: PetriNets.diagram.edit.parts, uri = "PetriNets" } PetriNets.diagram.part, class = "PetriNets.PetriNetsPackage" PetriNets.diagram.providers genmodel = "model/petrinet.genmodel" /> protected EClass estaticclass() { Require-Bundle: org.eclipse.core.runtime, </extension> return PetriNetsPackage.Literals.PETRI_NET; org.eclipse.core.resources, } org.eclipse.core.expressions, </plugin> org.eclipse.jface, public EList<PetriNets.Object> getobject() { org.eclipse.ui.ide, if (object == null) { org.eclipse.ui.views, object = new EObjectContainmentEList<PetriNets.Object>(Petri org.eclipse.ui.navigator, } org.eclipse.ui.navigator.resources, return object; org.eclipse.emf.ecore, } org.eclipse.emf.ecore.xmi, org.eclipse.emf.edit.ui, public NotificationChain einverseremove(internaleobject otherend, int org.eclipse.gmf.runtime.emf.core, switch (featureid) { org.eclipse.gmf.runtime.emf.commands.core, case PetriNetsPackage.PETRI_NET OBJECT: org.eclipse.gmf.runtime.emf.ui.properties, return ((InternalEList<?>)getObject()).basicRemove(otherEn org.eclipse.gmf.runtime.diagram.ui, } org.eclipse.gmf.runtime.diagram.ui.properties, return super.einverseremove(otherend, featureid, msgs); org.eclipse.gmf.runtime.diagram.ui.providers, } org.eclipse.gmf.runtime.diagram.ui.providers.ide, org.eclipse.gmf.runtime.diagram.ui.render, public Object eget(int featureid, boolean resolve, boolean coretype) { org.eclipse.gmf.runtime.diagram.ui.resources.ed switch (featureid) { org.eclipse.gmf.runtime.diagram.ui.resources.e case PetriNetsPackage.PETRI_NET OBJECT: APetriNetEditorIn15Minutes;visibility:=reexpor return getobject(); } return super.eget(featureid, resolve, coretype); 25

26 Vision 26

27 Vision PetriNet * Object 1 source Node 1 target Transition Place Arc * Token Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginname package PetriNets.impl; Bundle-SymbolicName: APetriNetEditorIn15Minutes.diagr Bundle-Version: qualifier public class PetriNetImpl extends EObjectImpl implements PetriNet { Bundle-ClassPath:. protected EList<PetriNets.Object> object; Bundle-Activator: PetriNets.diagram.part.PetriNetDiagr Bundle-Vendor: %providername protected PetriNetImpl() { Bundle-Localization: plugin super(); Export-Package: PetriNets.diagram.edit.parts, } PetriNets.diagram.part, PetriNets.diagram.providers protected EClass estaticclass() { Require-Bundle: org.eclipse.core.runtime, return PetriNetsPackage.Literals.PETRI_NET; org.eclipse.core.resources, } org.eclipse.core.expressions, org.eclipse.jface, public EList<PetriNets.Object> getobject() { org.eclipse.ui.ide, if (object == null) { org.eclipse.ui.views, object = new EObjectContainmentEList<PetriNets.Object>(Petri org.eclipse.ui.navigator, } org.eclipse.ui.navigator.resources, return object; org.eclipse.emf.ecore, } org.eclipse.emf.ecore.xmi, org.eclipse.emf.edit.ui, public NotificationChain einverseremove(internaleobject otherend, int org.eclipse.gmf.runtime.emf.core, switch (featureid) { org.eclipse.gmf.runtime.emf.commands.core, case PetriNetsPackage.PETRI_NET OBJECT: org.eclipse.gmf.runtime.emf.ui.properties, return ((InternalEList<?>)getObject()).basicRemove(otherEn org.eclipse.gmf.runtime.diagram.ui, } org.eclipse.gmf.runtime.diagram.ui.properties, return super.einverseremove(otherend, featureid, msgs); org.eclipse.gmf.runtime.diagram.ui.providers, } org.eclipse.gmf.runtime.diagram.ui.providers.ide, org.eclipse.gmf.runtime.diagram.ui.render, public Object eget(int featureid, boolean resolve, boolean coretype) { org.eclipse.gmf.runtime.diagram.ui.resources.ed switch (featureid) { org.eclipse.gmf.runtime.diagram.ui.resources.e case PetriNetsPackage.PETRI_NET OBJECT: APetriNetEditorIn15Minutes;visibility:=reexpor return getobject(); } return super.eget(featureid, resolve, coretype); Analysis Design Implementation Coding 27

28 Buzzwords Model Driven Architecture (MDA ) OMG TM software development approach for separating business logic from platform specific details using models automatic generators (for code and other models) Model-based Software Engineering (MBSE) General term for making better use of models for easing the software development Ultimately: Getting rid of programming resp. technical artefacts. 28

29 Buzzwords DSL (Domain Specific Language): Make it easy to develop a language for some domain (in our example Petri nets) along with editors (graphical or textual) MBSE technologies can be used for developing DSLs by using domain models (meta-models) More on the use of the term meta and meta-model later in this course 29

30 Theses We will always have programming and programmers! We should always teach programming! But, software engineers should be trained in their engineering and modelling skills! And this is where they should be at their best! Most of the rest can be automated! Eventually, programming will be for software engineers as assembler is today for programmers. 30

31 3. Modelling with a Purpose Anologies: Models as floor plans (see earlier slides) Architects and construction engineers use quite different kind of plans driven by the puprose They even use models (miniatures) Models as maps Understand the world ( domain) PetriNet * Object Node 1 source Arc 1 target Find your way round in the software Transition Place Token * 31

32 Maps 32

33 Maps Different level of abstraction and detail Different focus Different aspects Different purpose 33

34 Software vs Programming For programs (small software) models are often not needed, and making them might be a waste of time. For software they are essential for building something which works out and the different pieces fit to each other 34

35 Discussion Two models: Which is better? Always ask first: Better for what? PetriNet * Object Node 1 source 1 target Arc Transition Place * Token 35

36 Course: today Lecture Introduction and Motivation Organization Organisation of this course Project More details on the project in week 4! Tutorial Tutorial 1: Getting started with EMF (Petrinet example) Overview of task and steps DO IT 36

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) Why, What, and How: Documents in the Software Development Process During the software development process many documents are produced! When should

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) Lecture 8: Overview (cntd.) Some hints for the implementation Auxiliary datatypes and functions Helpful epnk functions Marking algorithm (OR-join:

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) I. Introduction and Motivation 2 1. Vision 3 Today Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginname package PetriNets.impl; Bundle-SymbolicName:

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

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 I. Introduction Introduction Motivation The role of models in software engineering Software engineering & management Organisation of this

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

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) V. Transformations 2 Motivation (cf. Vision) PetriNet * Object 1 source Node 1 target Transition Place Arc * Token Manifest-Version: 1.0 Bundle-ManifestVersion:

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 VI. Modelling Software 1. Motivation Which models are there? What are software models? What are they good for? Why do WE need them? What

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 I. Introduction Introduction Motivation: Software engineering & management Agile development The role of models in software engineering

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) IV. (Meta-) Modelling Frameworks 2 1. Motivation & Overview With MOF, we have: Modelling notation (EMOF / CMOF) Java API (JMI, EMF, etc) Instance model /

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) Meta-modelling and Domain Specific Languages (DSLs) Idea for some Software 3 Example of a Petri net request 1 request 2 critical 1 critical 2 semaphor

More information

Model-based Software Engineering (02341, spring 2016) Ekkart Kindler

Model-based Software Engineering (02341, spring 2016) Ekkart Kindler Model-based Software Engineering (02341, spring 2016) Meta-modelling and Domain Specific Languages (DSLs) Idea for some Software 3 Example of a Petri net request 1 request 2 critical 1 critical 2 semaphor

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 II. Modelling Software Modelling Software Model based software engineering (taking models a bit more seriously than we did traditionally)

More information

Model-based Software Engineering (02341, spring 2016) Ekkart Kindler

Model-based Software Engineering (02341, spring 2016) Ekkart Kindler Model-based Software Engineering (02341, spring 2016) II. Modelling with a Purpose 1. Models to which end Understanding the world (conceptual models, domain models) Understanding what the software is supposed

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

Technology Tutorial. - Details and Advanced Concepts - Patrick Könemann Software Engineering 2 (02162)

Technology Tutorial. - Details and Advanced Concepts - Patrick Könemann Software Engineering 2 (02162) Technology Tutorial Software Engineering 2 (02162) - Details and Advanced Concepts - Patrick Könemann (pk@imm.dtu.dk) Oct 19 th 2009 Previous Tutorials. 1. A view and a selection listener for file types

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) Meta-modelling and Domain Specific Languages (DSLs) and Summary and Outlook Meta-modelling (and MOF) 3 Class Diagrams are models too PetriNet Object

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) III. Meta-modelling 2 1. Background / Motivation Mid / end 90ties: CASE (Computer Aided Software Engineering) modelling tools become more popular code generation

More information

Model Driven Engineering (MDE)

Model Driven Engineering (MDE) Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering

More information

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik Modellierung operationaler Aspekte von Systemarchitekturen Master Thesis presentation October 2005 March 2006 Agenda Goals Model-Driven Software Development Pro-active Infrastructure (PAI) Operational

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

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language Plan Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

All you need are models Anneke Kleppe, Klasse Objecten

All you need are models Anneke Kleppe, Klasse Objecten Model Driven Architecture All you need are models Anneke Kleppe, Klasse Objecten Contents Limited Vision on MDA Modeling Maturity Levels Models Model Driven Development Model Driven Architecture MDA in

More information

Language engineering and Domain Specific Languages

Language engineering and Domain Specific Languages Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh Plan 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

AMFIBIA: A Meta-Model for the Integration of Business Process Modelling Aspects

AMFIBIA: A Meta-Model for the Integration of Business Process Modelling Aspects Downloaded from orbit.dtu.dk on: Mar 31, 2018 AMFIBIA: A Meta-Model for the Integration of Business Process Modelling Aspects Axenath, Björn; Kindler, Ekkart; Rubin, Vladimir Published in: International

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

Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript

Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript Freiberg University of Mining and Technology The University of Resources. Since 1765. WEB3D 2012-17th International Conference on 3D Web Technology Model-Driven Iterative Development of 3D Web-Applications

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

Metamodeling and Metaprogramming Seminar

Metamodeling and Metaprogramming Seminar Metamodeling and Metaprogramming Seminar 1. Introduction Prof. O. Nierstrasz Spring Semester 2008 Metamodeling and Metaprogramming Seminar Lecturer: Assistant: WWW: Oscar Nierstrasz www.iam.unibe.ch/~oscar

More information

EMF course - PACT. Etienne Borde

EMF course - PACT. Etienne Borde EMF course - PACT Etienne Borde www.etienneborde.fr Objectives Collective software development requires to focus on integration. John develops functionality A; Mike develops functionality B How to ensure

More information

20. Eclipse and Framework Extension Languages

20. Eclipse and Framework Extension Languages 20. Eclipse and Framework Extension Languages Prof. Uwe Aßmann TU Dresden Institut für Software und Multimediatechnik Lehrstuhl Softwaretechnologie Version 11-1.0, 12/17/11 Design Patterns and Frameworks,

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 EMF. Creating Model using EMF. Our Domain model used to showcase this use case is as shown below in fig.1

INTRODUCTION TO EMF. Creating Model using EMF. Our Domain model used to showcase this use case is as shown below in fig.1 INTRODUCTION TO EMF Creating Model using EMF This is the basic method of creating the Model instance using EMF (Eclipse Modelling Framework). In this tutorial we are going to explain the following, 1.

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

Lesson learned from using EMF to build Desktop & Web Applications. Ludwigsburg, Oct

Lesson learned from using EMF to build Desktop & Web Applications. Ludwigsburg, Oct Lesson learned from using EMF to build Desktop & Web Applications Ludwigsburg, Oct 26 2017 About us Lorenzo Bettini Dip. Informatica, Univ. Firenze, Italy bettini@disia.unifi.it @lorenzo_bettini www.lorenzobettini.it

More information

Introduction to OpenArchitectureWare

Introduction to OpenArchitectureWare Introduction to OpenArchitectureWare Dr. Neil Loughran Neil.Loughran@sintef.no 20 th April 2009 ICT 1 Objective To give some insights into an alternative model transformation approach i.e. OpenArchitectureWare

More information

EGF Tutorial. Benoît Langlois Thales/EPM. EGF Tutorial by Thales; made available under the EPL v1.0

EGF Tutorial. Benoît Langlois Thales/EPM. EGF Tutorial by Thales; made available under the EPL v1.0 EGF Tutorial Benoît Langlois Thales/EPM Agenda Introduction EGF Structure Pattern 2 What is EGF? EGF (Eclipse Generation Factories) is an Eclipse open source project under the EMFT project. Purpose: provide

More information

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1. www.thalesgroup.com Start Up Benoît Langlois / Thales Global Services 2 / Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Introduction EGF Architecture Concepts & Practice EGF Portfolios

More information

A universal PNML Tool. Lukasz Zoglowek

A universal PNML Tool. Lukasz Zoglowek A universal PNML Tool Lukasz Zoglowek Kongens Lyngby 2008 Technical University of Denmark Informatics and Mathematical Modelling Building 321, DK-2800 Kongens Lyngby, Denmark Phone +45 45253351, Fax +45

More information

project in an industrial context

project in an industrial context Anatomy of a domain-specific language project in an industrial context Development and examination of a DSL demonstrator for elevator controllers Software Engineering, Architecture and Platform Technologies

More information

CSSE 490 Model-Based Software Engineering: Cougaar Model-Driven Architecture Example

CSSE 490 Model-Based Software Engineering: Cougaar Model-Driven Architecture Example CSSE 490 Model-Based Software Engineering: Cougaar Model-Driven Architecture Example Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: MBE Discipline

More information

Model Driven Architecture

Model Driven Architecture Model Driven Architecture Vision VS Reality EDOC 2001 September 4-7, Seattle, USA Sridhar Iyengar Unisys Fellow Member, OMG Architecture Board sridhar.iyengar2@unisys.com Slide 1 Model Driven Architecture

More information

PragmaDev. change request. Emmanuel Gaudin. PragmaDev ITU-T SG17 change request Grimstad June 24,

PragmaDev. change request. Emmanuel Gaudin. PragmaDev ITU-T SG17 change request Grimstad June 24, PragmaDev change request Emmanuel Gaudin emmanuel.gaudin@pragmadev.com Languages Table of contents PragmaDev introduction Languages SDL-RT Tool support Market tendancy Change requests Presentation PragmaDev

More information

First Steps in RCP. Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany. February 19th, 2009

First Steps in RCP. Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany. February 19th, 2009 First Steps in RCP Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany February 19th, 2009 Agenda» About us» RCP Architecture and Bundles» Extension Points and Views» Bundle Dependencies 2 Jan Blankenhorn»

More information

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd SysML Past, Present, and Future J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd A Specification Produced by the OMG Process SysML 1.0 SysML 1.1 Etc. RFI optional Issued by Task Forces RFI responses

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

Horváth Ákos Bergmann Gábor Dániel Varró István Ráth

Horváth Ákos Bergmann Gábor Dániel Varró István Ráth Metamodeling and Domain Specific Modeling Horváth Ákos Bergmann Gábor Dániel Varró István Ráth Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Agenda Metamodeling

More information

Model Abstraction versus Model to Text Transformation

Model Abstraction versus Model to Text Transformation Model Abstraction versus Model to Text Transformation Jon Oldevik, Tor Neple, Jan Øyvind Aagedal SINTEF Information and Communication Technology, Forskningsvn 1, N-0314 Oslo, Norway {jon.oldevik tor.neple

More information

MDA Driven xuml Plug-in for JAVA

MDA Driven xuml Plug-in for JAVA 2012 International Conference on Information and Network Technology (ICINT 2012) IPCSIT vol. 37 (2012) (2012) IACSIT Press, Singapore MDA Driven xuml Plug-in for JAVA A.M.Magar 1, S.S.Kulkarni 1, Pooja

More information

Model Driven Architecture - The Vision

Model Driven Architecture - The Vision Model Driven Architecture - The Vision Marko Fabiunke Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik marko.fabiunke@first.fraunhofer.de The Fraunhofer FIRST Institut Your partner We support

More information

Agenda. Why OSGi. What is OSGi. How OSGi Works. Apache projects related to OSGi Progress Software Corporation. All rights reserved.

Agenda. Why OSGi. What is OSGi. How OSGi Works. Apache projects related to OSGi Progress Software Corporation. All rights reserved. OSGi Overview freeman.fang@gmail.com ffang@apache.org Apache Servicemix Commiter/PMC member Apache Cxf Commiter/PMC member Apache Karaf Commiter/PMC member Apache Felix Commiter Agenda Why OSGi What is

More information

Defining Domain-Specific Modeling Languages

Defining Domain-Specific Modeling Languages Defining Domain-Specific Modeling Languages 1 st Oct 2008 Juha-Pekka Tolvanen MetaCase 1 Relevant language classifications to start with General-Purpose / Domain-Specific Narrow area of interest Often

More information

It s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu

It s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu It s all Done with Mirrors Patterns and OCL KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu Goal Model Implementation MDA Goal Meta-Model Specification Tool Code Generation Is a Transformation

More information

AbstractCommand, AbstractEnumerator, AbstractOverrideableCommand, AddCommand, AbstractTreeIterator, Adapter, EAnnotation.

AbstractCommand, AbstractEnumerator, AbstractOverrideableCommand, AddCommand, AbstractTreeIterator, Adapter, EAnnotation. INDEX A AbstractCommand, 53, 385 86 AbstractEnumerator, 401 2 Abstract model classes, 107, 164 65 AbstractOverrideableCommand, 56 57, 543 44 AbstractTreeIterator, 402 Action bar contributor generator pattern,

More information

Introduction to MDE and Model Transformation

Introduction to MDE and Model Transformation Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and

More information

WoPeD Workflow Petri Net Designer

WoPeD Workflow Petri Net Designer WoPeD Workflow Petri Net Designer Thomas Freytag University of Cooperative Education (Berufsakademie) Department of Computer Science D-76052 Karlsruhe freytag@ba-karlsruhe.de Abstract. WoPeD (WoPeD Petrinet

More information

Reconciling TGGs with QVT

Reconciling TGGs with QVT Faculty for Computer Science Software Engineering Group Warburger Straße 100 33098 Paderborn Germany A Study of Model Transformation Technologies: Reconciling TGGs with QVT Diploma Thesis by Joel Greenyer

More information

Modelling in Enterprise Architecture. MSc Business Information Systems

Modelling in Enterprise Architecture. MSc Business Information Systems Modelling in Enterprise Architecture MSc Business Information Systems Models and Modelling Modelling Describing and Representing all relevant aspects of a domain in a defined language. Result of modelling

More information

Charlie Garrod Bogdan Vasilescu

Charlie Garrod Bogdan Vasilescu Principles of So3ware Construc9on: Objects, Design, and Concurrency Part 2: Designing (sub-) systems Design for large-scale reuse: Libraries and frameworks (part 2) Charlie Garrod Bogdan Vasilescu School

More information

BIG MODELS AN ALTERNATIVE APPROACH

BIG MODELS AN ALTERNATIVE APPROACH 2. BIG MODELS AN ALTERNATIVE APPROACH Whitepaper Eclipse Summit 2008 Modeling Symposium Jos Warmer, Ordina (jos.warmer@ordina.nl) Abstract Scaling up modeling within project runs into many practical problems.

More information

A Formal Approach to Modeling and Model Transformations in Software Engineering

A Formal Approach to Modeling and Model Transformations in Software Engineering A Formal Approach to Modeling and Model Transformations in Software Engineering Department of Computer Engineering Faculty of Engineering Bergen University College 17.06.2008 EXPO 2008, Integration and

More information

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary Meta-models and Grammars Prof. Andreas Prinz Introduction, Compilers Modelling & Meta-modelling Examples Meta-models vs. Grammars Summary Compilers Graphical Editor Parser Text editor Static checks (OCL)

More information

Chair of Software. Engineering. Overview. School of Business Informatics and Mathematics. 1. Find out why software engineering is important

Chair of Software. Engineering. Overview. School of Business Informatics and Mathematics. 1. Find out why software engineering is important 1 Overview 1. Find out why software engineering is important Chair of Software see some software engineering failures Engineering 2. Get acquainted with the Chair of Software Engineering the research the

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

Deliverable D4.2. SHAPE MDE Toolset User s Guide

Deliverable D4.2. SHAPE MDE Toolset User s Guide Service and Software Architectures, Infrastructures and Engineering Small or Medium-scale Focused Research Project Semantically-enabled Heterogeneous Service Architecture and Platforms Engineering Acronym

More information

Stepwise Refinement. Lecture 12 COP 3014 Spring February 2, 2017

Stepwise Refinement. Lecture 12 COP 3014 Spring February 2, 2017 Stepwise Refinement Lecture 12 COP 3014 Spring 2017 February 2, 2017 Top-Down Stepwise Refinement Top down stepwise refinement is a useful problem-solving technique that is good for coming up with an algorithm.

More information

developer.* The Independent Magazine for Software Professionals

developer.* The Independent Magazine for Software Professionals developer.* The Independent Magazine for Software Professionals Improving Developer Productivity With Domain-Specific Modeling Languages by Steven Kelly, PhD According to Software Productivity Research,

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

epnk: A generic PNML tool Users and Developers Guide

epnk: A generic PNML tool Users and Developers Guide epnk: A generic PNML tool Users and Developers Guide Ekkart Kindler Denmark s Technical University DTU Informatics DK-2800 Kgs. Lyngby Denmark eki@imm.dtu.dk February 17, 2011 version 0.9.1 IMM-Technical

More information

The Edapt Solution for the Reengineering Case

The Edapt Solution for the Reengineering Case The Edapt Solution for the Reengineering Case Markus Herrmannsdoerfer Institut für Informatik, Technische Universität München Boltzmannstr. 3, 85748 Garching b. München, Germany herrmama@in.tum.de Abstract.

More information

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel innoq Deutschland GmbH innoq Schweiz GmbH D-40880 Ratingen CH-6330 Cham Tel +49 2102 77 1620 Tel +41 41 743 01 11 www.innoq.com Stefan Tilkov, stefan.tilkov@innoq.com 1 Goals Introduce MDE, MDA, MDD, MDSD,...

More information

Roles in Software Development using Domain Specific Modelling Languages

Roles in Software Development using Domain Specific Modelling Languages Roles in Software Development using Domain Specific Modelling Languages Holger Krahn Bernhard Rumpe Steven Völkel Institute for Software Systems Engineering Technische Universität Braunschweig, Braunschweig,

More information

CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering

CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering CSSE 490 Model-Based Software Engineering: Introduction to Domain Engineering Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: Metamodels Design

More information

Introduction to Dependable Systems: Meta-modeling and modeldriven

Introduction to Dependable Systems: Meta-modeling and modeldriven Introduction to Dependable Systems: Meta-modeling and modeldriven development http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 3 Software development Automated software

More information

Objectives for this class meeting. 1. Conduct review of core concepts concerning contracts and pre/post conditions

Objectives for this class meeting. 1. Conduct review of core concepts concerning contracts and pre/post conditions CSE1720 Click to edit Master Week text 01, styles Lecture 02 Second level Third level Fourth level Fifth level Winter 2015! Thursday, Jan 8, 2015 1 Objectives for this class meeting 1. Conduct review of

More information

Modelling with UML, MOF, and OCL

Modelling with UML, MOF, and OCL 3C05/D22 Problem Class 18/3/2005 Modelling with UML, MOF, and OCL James Skene, a research fellow in the department has developed an open-source OCL parser and type checker. In this problem class you will

More information

Language Extension and Composition with Language Workbenches

Language Extension and Composition with Language Workbenches Language Extension and Composition with Language Workbenches Eelco Visser TU Delft E.Visser@tudelft.nl Markus Voelter Independent/itemis voelter@acm.org Different Worlds Programming Tools!= Modeling Tools

More information

Static analysis and testing of executable DSL specification

Static analysis and testing of executable DSL specification Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:

More information

Protégé-2000: A Flexible and Extensible Ontology-Editing Environment

Protégé-2000: A Flexible and Extensible Ontology-Editing Environment Protégé-2000: A Flexible and Extensible Ontology-Editing Environment Natalya F. Noy, Monica Crubézy, Ray W. Fergerson, Samson Tu, Mark A. Musen Stanford Medical Informatics Stanford University Stanford,

More information

Introduction to EGF. Benoît Langlois / Thales Global Services.

Introduction to EGF. Benoît Langlois / Thales Global Services. www.thalesgroup.com Introduction to EGF Benoît Langlois / Thales Global Services 2 / Agenda Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Agenda Introduction EGF Architecture Concepts

More information

Transformational Design with

Transformational Design with Fakultät Informatik, Institut für Software- und Multimediatechnik, Lehrstuhl für Softwaretechnologie Transformational Design with Model-Driven Architecture () Prof. Dr. U. Aßmann Technische Universität

More information

Beware: Testing RCP Applications in Tycho can cause Serious Harm to your Brain. OSGi p2

Beware: Testing RCP Applications in Tycho can cause Serious Harm to your Brain. OSGi p2 JUnit Beware: Testing RCP Applications in Tycho can cause Serious Harm to your Brain Dependencies Debugging Surefire OSGi p2 Mac OS X Update Site Tycho Redistribution and other use of this material requires

More information

jbpm Tools Reference Guide

jbpm Tools Reference Guide jbpm Tools Reference Guide Version: 3.1.1 Copyright 2007 Red Hat Table of Contents 1. Introduction...1 1.1. Preface...1 2. JBoss jbpm Runtime Installation...2 3. A Guided Tour of JBoss jbpm GPD...4 3.1.

More information

Model driven Engineering & Model driven Architecture

Model driven Engineering & Model driven Architecture Model driven Engineering & Model driven Architecture Prof. Dr. Mark van den Brand Software Engineering and Technology Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Model driven software

More information

MARS AREA SCHOOL DISTRICT Curriculum TECHNOLOGY EDUCATION

MARS AREA SCHOOL DISTRICT Curriculum TECHNOLOGY EDUCATION Course Title: Java Technologies Grades: 10-12 Prepared by: Rob Case Course Unit: What is Java? Learn about the history of Java. Learn about compilation & Syntax. Discuss the principles of Java. Discuss

More information

Modularity in Java. With OSGi. Alex Docklands.LJC January Copyright 2016 Alex Blewitt

Modularity in Java. With OSGi. Alex Docklands.LJC January Copyright 2016 Alex Blewitt Modularity in Java With OSGi Alex Blewitt @alblue Docklands.LJC January 2016 Modularity in Java Modularity is Easy? Modularity is Hard! Modularity is Hard! Modularity is Hard! Modularity is Hard! Modularity

More information

An EMF Framework for Event-B

An EMF Framework for Event-B An EMF Framework for Event-B Developed by: Colin Snook University of Southampton, Fabian Fritz Heinrich Heine University, Düsseldorf, Alexei Illiasov Newcastle University EMF Eclipse Modelling Framework

More information

Model Driven Engineering

Model Driven Engineering Model Driven Engineering Stuart Kent University of Kent Royal Society Industry Fellow with IBM Model Terminology encompasses more than program code design, analysis, specification, business models Driven

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

Meta-Modeling and Modeling Languages

Meta-Modeling and Modeling Languages member of Meta-Modeling and Modeling Languages Models and Modelling Model A reproduction of the part of reality which contains the essential aspects to be investigated. Modelling Describing and Representing

More information

MEMOCenterNG A full-featured modeling environment for organization modeling and model-driven software development

MEMOCenterNG A full-featured modeling environment for organization modeling and model-driven software development MEMOCenterNG A full-featured modeling environment for organization modeling and model-driven software development Jens Gulden and Prof. Dr. Ulrich Frank University Duisburg-Essen, Universitaetsstr. 9,

More information

Raising the Level of Development: Models, Architectures, Programs

Raising the Level of Development: Models, Architectures, Programs IBM Software Group Raising the Level of Development: Models, Architectures, Programs Dr. James Rumbaugh IBM Distinguished Engineer Why Is Software Difficult? Business domain and computer have different

More information

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM): viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information

More information

EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework

EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework Thorsten Arendt a, Pawel Stepien a, Gabriele Taentzer a a Philipps-Universität Marburg, FB12 - Mathematics

More information

Java Modularity Support in OSGi R4. Richard S. Hall ApacheCon (San Diego) December 14 th, 2005

Java Modularity Support in OSGi R4. Richard S. Hall ApacheCon (San Diego) December 14 th, 2005 Java Modularity Support in OSGi R4 Richard S. Hall ApacheCon (San Diego) December 14 th, 2005 Modularity What is it? What is Modularity? (Desirable) property of a system, such that individual components

More information

Dresden OCL2 in MOFLON

Dresden OCL2 in MOFLON Dresden OCL2 in MOFLON 10 Jahre Dresden-OCL Workshop Felix Klar Felix.Klar@es.tu-darmstadt.de ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical Engineering and Information Technology

More information

3rd Lecture Languages for information modeling

3rd Lecture Languages for information modeling 3rd Lecture Languages for information modeling Agenda Languages for information modeling UML UML basic concepts Modeling by UML diagrams CASE tools: concepts, features and objectives CASE toolset architecture

More information

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner Xiao-Yun WANG PowerDesigner Chief Architect xwang@sybase.com OBJECTIVES 1. Understand what s Model-Driven Development 2. Understand why Model-Driven

More information

!MDA$based*Teaching*and* Research*in*Software*Engineering*!

!MDA$based*Teaching*and* Research*in*Software*Engineering*! Plan!MDA$based*Teaching*and* Research*in*Software*Engineering*! Ludwik!Kuźniarz! Blekinge*Institute*of*Technology* School*of*Computing* Sweden*! Myself! Driven Architecture! MDA based Reaserch! Sample

More information