Model-based Software Engineering (02341, Spring 2017) Ekkart Kindler
|
|
- Anastasia Conley
- 5 years ago
- Views:
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) Why, What, and How: Documents in the Software Development Process During the software development process many documents are produced! When should
More informationModel-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 informationAdvanced 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 informationSoftware Engineering 2 A practical course in software engineering. Ekkart Kindler
Software Engineering 2 A practical course in software engineering Conclusion, Outlook, Discussion Motivation 3 4 1. What did you learn? Objectives of this course: Basic skills in software engineering!
More informationSoftware 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 informationSoftware Engineering 2 A practical course in software engineering. Ekkart Kindler
Software Engineering 2 A practical course in software engineering Conclusion, Outlook, Discussion Motivation 3 4 1. What did you learn? Objectives of this course: Basic skills in software engineering!
More informationAdvanced 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 informationSoftware 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 informationSoftware 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 informationAdvanced 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 informationModel-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 informationModel-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 informationSoftware 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 informationModel-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 informationAdvanced Topics in Software Engineering (02265) Ekkart Kindler
Advanced Topics in Software Engineering (02265) Recapitulation (I. Introduction ) 2 Levels of models ClassDiagram is an instance of PetriNet * Object * Class 1 start 1 end * Association concrete syntax
More informationTechnology 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 informationModel-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 informationCompositional 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 informationAdvanced 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 informationModel 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 informationModellierung 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 informationColored Petri Net Evaluation Tool. Stephen Rojcewicz CS 2310
Colored Petri Net Evaluation Tool Stephen Rojcewicz CS 2310 Motivating Example (Colored Petri Nets) Consider a gesture-driven application interface. The system must detect three kinds of gestures and respond
More informationPlan. 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 informationAll 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 informationLanguage 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 informationAMFIBIA: 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 informationCISC836: Models in Software Development: Methods, Techniques and Tools
CISC836: Models in Software Development: Methods, Techniques and Tools Topic 4: Code Generation with EMF Meta modeling Languages for meta models: Ecore Using EMF and Ecoreto define a data model Using EMF
More informationModel-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 informationModel-based Software Engineering (02341, Spring 2017) Ekkart Kindler
Model-based Software Engineering (02341, Spring 2017) Code snippets (week 2) Ecore model from T01 3 Generated Code // All comments and imports deleted! package dk.dtu.compute.mbse.petrinet; Interface only
More informationMetamodeling 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 informationEMF 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 information20. 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 informationModel-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger
Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger Reuses some material from: Andrzej Wasowski, Model-Driven Development, ITU Copenhagen Where I am from WASP 2017
More informationINTRODUCTION TO 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 informationThe Eclipse Modeling Framework and MDA Status and Opportunities
The Eclipse Modeling Framework and MDA Status and Opportunities David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:
More informationLesson 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 informationIntroduction 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 informationEGF 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 informationStart 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 informationA 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 informationproject 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 informationCSSE 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 informationModel 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 informationPragmaDev. 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 informationFirst 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 informationSysML 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 informationWhat Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs
What Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs EclipseCon Europe 2016 2016-10-26 Roman Mitin Avaloq Evolution AG Allmendstrasse 140 8027 Zurich Switzerland T +41 58 316
More informationHorvá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 informationModel 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 informationMDA 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 informationModel 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 informationAgenda. 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 informationDefining 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 informationIt 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 informationAbstractCommand, 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 informationIntroduction 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 informationWoPeD 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 informationReconciling 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 informationModelling 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 informationCharlie 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 informationBIG 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 informationA 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 informationGrammars. 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 informationChair 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 informationEclipse Modeling Framework (EMF) Paweł Żalejko
Eclipse Modeling Framework (EMF) Paweł Żalejko Agenda Model-Driven Development What is EMF? EMF demo - hello world EMF demo - command stack & adapters EMF demo - data binding & validation EMF demo - generating
More informationDeliverable 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 informationStepwise 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 informationdeveloper.* 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 informationTiger EMF Model Transformation Framework (EMT)
Tiger EMF Model Transformation Framework (EMT) Version 1.2.0 User Manual TU Berlin EMT Project Team: Enrico Biermann, Karsten Ehrig, Claudia Ermel, Christian Köhler, Günter Kuhns, Gabi Taentzer Email:
More informationepnk: 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 informationThe 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 informationinnoq 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 informationRoles 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 informationCSSE 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 informationIntroduction 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 informationObjectives 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 informationModelling 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 informationLanguage 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 informationStatic 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 informationProté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 informationIntroduction 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 informationTransformational 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 informationBeware: 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 informationjbpm 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 informationModel 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 informationMARS 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 informationModularity 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 informationAn 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 informationModel 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
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 informationMeta-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 informationMEMOCenterNG 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 informationRaising 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 informationComputation 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 informationEMF 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 informationJava 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 informationDresden 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 information3rd 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 informationDEV427 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*!
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