Software Engineering 2 A practical course in software engineering. Ekkart Kindler
|
|
- Lindsey Hutchinson
- 6 years ago
- Views:
Transcription
1 Software Engineering 2 A practical course in software engineering
2 Conclusion, Outlook, Discussion
3 Motivation 3
4 4
5 1. What did you learn? Objectives of this course: Basic skills in software engineering! 5
6 Software Engineering is much more than programming! listening and understanding! analytic and conceptual work! communication! a social process! acquiring new technologies! a discipline with proven concepts, methods, notations, and tools! and ever new technologies emerging! 6
7 Experience Software Engineering requires much experience! This experience can not be taught theoretically! will be provided in this course! tutorial project and (only) backed by the lectures 7
8 Issues How to make useful UML models Domain model OOA Implementation OOD Learn to use new technologies YOURSELF! Eclipse / Android / openhab / Jenkins / 8
9 Issues Get requirements straight Write a systems specification 9
10 Specifying Software Project Definition Requirements Specification rough detailed Systems specification Complete Models Implementation, Documentation Handbook what how 10
11 Specifying Software Project Definition Requirements Specification rough detailed Systems specification Complete Models Implementation, Documentation Handbook rough detailed 11
12 Specifying Software Project Definition Requirements Specification rough detailed Systems specification Complete Models Implementation, Documentation Handbook low cost high cost 12
13 Issues writing, talking, communicating, and organizing yourself work together version management (other/better tools) 13
14 Issues Quality Management Testing Reviews Many practical issues on programming and solving problems 14
15 Issues Integration and extension Integrating features in existing software (PlugIn Mechanisms, ) Developing parts in parallel (based on a common model) Separating concerns Stepwise extension (prototyping, agile) 15
16 Topics Software Specifications (incl. writing) Modelling & Meta modelling Quality mangament (incl. testing) Code generation Working together Management 16
17 Agile manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Kent Beck et al
18 Agile Values Communication Simplicity Feedback Courage 18
19 Agile (fundamental) Principals Rapid feedback Assume Simplicity Incremental change Embracing change Quality work 19
20 Agile Practices (overview) On-site customer Small/short releases 2-3 week Planning game Coding standards Testing Continuous integration Pair programming Simple design Refactoring Collective ownership... 20
21 2. What did you not learn? 21
22 Technology issues MOF (Meta Object Facility) Software without Programming (EMF and more) / code generation technologies Other technology: other application servers, cloud, IoT, databases, service technologies, Analyse, validate, verify software, Other programming and modelling paradigms: e.g. Aspect Oriented Modelling... 22
23 Advanced Topics Just to give you some idea
24 Future technologies Modelling dynamic behaviour (and generating code from that) Get completely rid of programming?! Defining transformations 24
25 More details & experience Master courses Requirements Engineering (H.S) Systems integration (H.B.) Web Services (H.B.) Formal methods (A.H.) Advanced topics in SE (B.W.) Bachelor and master projects (last slides) 25
26 Coordinating Interactions The Event Coordination Notation
27 From lecture 1: Example 27
28 From lecture 1: Example From this (EMF) model for Petri nets: Generation of (Java) code for all classes methods for changing the Petri net loading and saving the Petri net as XML files ( XMI) PetriNet * Object 1 source Node 1 target Transition Place Arc * Token With this and some more GMF information: Generation of the Java code of a graphical complete editor (with many fancy features). No programming at all. Transition Place Arc Token 28
29 From lecture 1 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 29
30 e.g. a Petri net simulator? 30
31 2. The Event Coordination Notation Motivation Given some object oriented software with (or without) explicit domain model Model behaviour on top of it and make these models executable Model behaviour on a high level of abstraction (domain): coordination of behaviour Integrate behaviour models with structural models Integrate different structural models and manually written code (or code generated by different technologies) 31
32 2.1 Example: Vending machine Coin * * Slot Brewer Safe 1 * Control * * Output Panel * Coffee Tea 32
33 Instance: Object Diagram :Coin :Coin : Slot :Coffee :Coin : Safe :Control :Coffee :Output :Panel :Tea 33
34 Coordination Diagram GUI Coin insert GUI pass return_ Safe pass return_: ALL pass: 1 * * insert: 1 1 pass: 1 Slot insert return_ pass reset Panel GUI coffee GUI tea GUI cancel GUI reset: ALL pass: 1 * * coffee: 1 tea: 1 cancel: ALL Control coffee tea cancel pass reset coffee: 1 tea: 1 reset: ALL * Coffee Brewer coffee tea reset cup_in cup_in: 1 * Tea Output GUI cup_in GUI cup_out GUI 34
35 ... + Event declaration GUI Coin insert GUI pass return_ Safe pass return_: ALL pass: 1 * * insert: 1 1 pass: 1 Slot insert return_ pass reset Panel GUI coffee GUI tea GUI cancel GUI reset: ALL pass: 1 * * coffee: 1 tea: 1 cancel: ALL Control coffee tea cancel pass reset insert(coin coin, Slot slot) pass(coin coin, Slot slot) return(slot slot) reset_() coffee: 1 tea: 1 reset: ALL * Coffee Brewer coffee tea reset cup_in cup_in: 1 * Tea coffee() tea() cancel() cup_in() cup_out() Output GUI cup_in GUI cup_out GUI 35
36 Interactions :Coin :Coin :Coin pass : Safe pass pass: 1 pass: 1 : Slot pass :Panel coffee pass: 1 coffee: 1 :Control pass coffee coffee: 1 coffee: 1 :Coffee :Coffee coffee :Tea :Output 36
37 Interactions :Coin :Coin :Coin pass : Safe pass pass: 1 pass: 1 : Slot pass :Panel coffee pass: 1 coffee: 1 :Control pass coffee coffee: 1 :Coffee :Coffee coffee :Tea :Output 37
38 Another Interaction :Coin return :Coin :Coin return : Safe return: ALL return: ALL : Slot return reset :Panel cancel reset: ALL cancel: ALL :Control reset cancel reset: ALL reset: ALL reset: ALL :Coffee reset :Coffee reset :Tea reset :Output 38
39 Local behaviour: Coffee 39
40 Local behaviour: Coin 40
41 Local behaviour: Control pass coffee reset cancel 41
42 Local behaviour: Slot return reset 42
43 Interactions :Coin return :Coin :Coin return : Safe return: ALL return: ALL : Slot return reset :Panel cancel reset: ALL cancel: ALL :Control reset cancel reset: ALL reset: ALL reset: ALL :Coffee reset :Coffee reset :Tea reset :Output 43
44 2.2 ECNO: Basic Concepts ElementTypes (Classes) EventTypes with parameters insert(coin coin, Slot slot) Global Behaviour: Coordination annotations for references Event type Quantification (1 or ALL) Local behaviour: ECNO nets (or something else) Event binding (with parameter assignment) Condition Action Control coffee tea cancel pass reset coffee: 1 tea: 1 Brewer reset: ALL coffee tea reset cup_in 44
45 2.3 Extensions ECNO with its basic concepts has some limitations, which makes modelling things in an adequate way a bit painful. Sometimes, we want to extend event types later 45
46 Event Extension tea tea_blend tea_temp 46
47 2.4 Example2: Petri nets t remove add Transition t enabled: for ALL incoming Arcs a: for ONE source Place p of Arc a: find a token Fire Transition t: for ALL incoming Arcs a: for ONE source Place p of Arc a: find a token and remove it for ALL outgoing arcs a: for ONE target Place p of Arc a: add a new Token 47
48 Petri net: Abstract Syntax 48
49 Example2: Petri nets t remove add Transition t enabled: for ALL incoming Arcs a: for ONE source Place p of Arc a: find a token Fire Transition t: for ALL incoming Arcs a: for ONE source Place p of Arc a: find a token and remove it for ALL outgoing arcs a: for ONE target Place p of Arc a: add a new Token 49
50 ECNO Semantics of PN 50
51 Result t4 t1 t3 t2 51
52 Petri net simulator 52
53 3. Conclusion 53
54 Next Steps 54
55 MSc and BSc Projects
56 Topics / areas OpenHAB & CITIES equipping an experimental room at DTU with devices controlled by openhab equipping a school with devices for well-being collecting, analysing and visualizing data Flexible, configurable and generic data collection from all kinds of devices (e.g. Fitbit) health care energy science (SE-research) CITIES 56
57 ECNO Behaviour modelling: ECNO :Coin return :Coin :Coin return : Safe return: ALL return: ALL : Slot return reset :Panel cancel reset: ALL cancel: ALL :Control reset cancel reset: ALL reset: ALL reset: ALL :Coffee reset :Coffee reset :Tea reset :Output 57
58 ECNO Tool 58
59 ECNO Projects Improved IDE Integration & debugging Smooth database integration (cntd.) Case studies / larger examples (e.g. games) Semantics of ECNO in ECNO 59
60 epnk 60
61 Define a Petri Net Type Defining a new PN by a model? 61
62 Projects Usability, IDE integration and visualization A generic simulator and state space analysis tool... 62
63 Other topics Analysis and design of lighting in buildings Model-based Software Engineering Domain Specific Languages (DSL) Automating the SE process Tools support for development process 63
64 Internet of Things Lab: Setting up the smart home of the future Build a home automation system for heating, cooling and ventilation control
65 Goal of this Thesis Set up a smart home IoT lab Compare different monitoring technologies Compare actuators from different brands Integrate sensors and actuators into openhab Install and run: A gateway (Raspberry Pi) A Time Series Data Base (InfluxDB) A Data Analysis and Visualization software (Grafana) Providing an interface for model predictive control algorithms (Python, R) Providing an interface for building energy performance simulation software (Modelica, Dymola, IDA ice) 65
66 Set up of the IoT Lab Set up a IoT Lab, including (at least): Indoor Air Sensors: Temperature Relative Humidity CO2 Noise A Weather Station: Temperature Relative Humidity Actuators Smart Thermostatic Valves A Gateway 66
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 informationModel-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) I. Introduction 1. Motivation What is software engineering? What is software? software = program software engineering = programming 3 Program vs. Software
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 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 I. Introduction Introduction Motivation: Software engineering & management Agile development The role of models in software engineering
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 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 II. Agile Development 1. Motivation Conceive Design Implement Operate Why What How 3 Co-evolution What should the software do? WHAT HOW
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 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 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 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 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 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-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 informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 1 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2013 Contents Course Introduction Introduction to Software Engineering Practical
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 information02291: System Integration
02291: System Integration Hubert Baumeister hub@imm.dtu.dk Spring 2012 Contents 1 General Information 1 2 Overview 3 3 Introduction to UML 11 4 Summary 16 1 General Information System Integration Type
More informationBest Practices for Final Year Projects
City University of Hong Kong Software Engineering Best Practices for Final Year Projects by Dr. Andy Chun, Hon Wai Subject Group Leader for SE Department of Computer Science Software Engineering Best Practices
More information02291: System Integration
02291: System Integration Week 10 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Last Week Principles of good design: layered architecture Software Development Processes
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 informationAgile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?
Topics 1) What is trying to do? Manifesto & XP Chapter 3.1-3.3 2) How to choose plan-driven vs? 3) What practices go into (XP) development? 4) How to write tests while writing new code? CMPT 276 Dr. B.
More informationActivities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects
Activities Common to Software Projects Software Life Cycle Mark van den Brand Requirements and specification Domain analysis Defining the problem Requirements gathering Obtaining input from as many sources
More informationThe etrice Eclipse Project Proposal
The etrice Eclipse Project Proposal Dipl.-Ing. Thomas Schütz, Protos Software GmbH Eclipse Embedded Day 2010, Stuttgart Agenda Motivation Scope of etrice ROOM Language Codegenerators Middleware Realization
More informationSAP Edge Services, cloud edition Edge Services Predictive Analytics Service Guide Version 1803
SAP Edge Services, cloud edition Edge Services Predictive Analytics Service Guide Version 1803 Table of Contents MACHINE LEARNING AND PREDICTIVE ANALYTICS... 3 Model Trained with R and Exported as PMML...
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 information5 reasons I am excited about IoT and Cortana Analytics
5 reasons I am excited about IoT and Cortana Analytics Iman Eftekhari b-imefte@microsoft.com i.e@agilebi.com.au Iman Eftekhari BI Consultant and Agile Coach Microsoft P-TSP Data Analytics MCSE (BI), MCITP
More informationSoftware Development Process Models
Software Development Process Models From classical notions to more agile approaches th@cs.toronto.edu, BA8134 Code & Fix or Cowboy Coding 1) Write program 2) Test and fix program Problems: program users
More informationInternet of Things: Demonstration. Mr. Bernard G. Cruz Lecturer
Internet of Things: Demonstration Mr. Bernard G. Cruz Lecturer I N T E R N E T a network of networks using a physical cable or wireless media for connection interconnection of all LANs and WANs across
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 informationAbstract. 1. Introduction. 2. AJAX overview
Asynchronous JavaScript Technology and XML (AJAX) Chrisina Draganova Department of Computing, Communication Technology and Mathematics London Metropolitan University 100 Minories, London EC3 1JY c.draganova@londonmet.ac.uk
More informationThe epnk: An extensible Petri net tool for PNML. Ekkart Kindler
The epnk: An extensible Petri net tool for PNML New Petri net type 2 Define a Petri Net Type What should it take to define this new Petri Net type conceptually? 3 Define a Petri Net Type ( self.source.ocliskindof(pnmlcoremodel::placenode)
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 information(Movement - Synthesis) Improve existing programming skills by developing much larger and more complex programs than in previous classes.
Location MWF 1205-1255 Klaus 1443 Class Objective Purpose: CS2340 takes students who know an object-oriented language, and focuses on getting them to use that language in a true object-oriented style.
More informationDAT159 Refactoring (Introduction)
DAT159 Refactoring (Introduction) Volker Stolz 1, with contributions by: Larissa Braz 2, Anna M. Eilertsen 3, Fernando Macías 1, Rohit Gheyi 2 Western Norway University of Applied Sciences, Universidade
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 1 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Contents Course Introduction Introduction to Software Engineering Practical
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 information02291: System Integration
02291: System Integration Hubert Baumeister hub@imm.dtu.dk Spring 2011 Contents 1 Recap 1 2 More UML Diagrams 2 2.1 Object Diagrams........................................... 2 2.2 Communication Diagrams......................................
More informationCom S/Geron 415X Gerontechnology in Smart Home Environments Lecture 9 Intro to Service Computing. Dr. Hen-I Yang ComS Dept., ISU
Com S/Geron 415X Gerontechnology in Smart Home Environments Lecture 9 Intro to Service Computing Dr. Hen-I Yang ComS Dept., ISU Feb. 22, 2011 Reflection Peeking Ahead Today (2/22) Introduction to Service
More informationCourse Information
Course Information 2018-2020 Master of Information Systems: Digital Business System Institutt for teknologi / Department of Technology Index Index... i 1 s... 1 1.1 Content... 1 1.2 Name... 1 1.3 Programme
More informationObject-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered
Object-oriented development Object-oriented Design Object-oriented analysis, design and programming are related but distinct. OOA is concerned with developing an object model of the application domain.
More informationYour Student s Head Start on Career Goals and College Aspirations
Your Student s Head Start on Career Goals and College Aspirations INFORMATION TECHNOLOGY (IT) NETWORKING PATHWAY The Destinations Networking Pathway prepares students to test and evaluate computer network
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 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 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 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 information(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days
Course Description This course introduces the Java programming language and how to develop Java applications using Eclipse 3.0. Students learn the syntax of the Java programming language, object-oriented
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 informationTesting. in A Large scale agile Development Environment
Testing in A Large scale agile Development Environment Content/agenda 1. Introduction 2. Agile on a large scale 3. Testing in a large scale agile environment 4. Conclusion Testing in large scale Agile
More informationOur project was about the development of a platform IoT used by Terra Nostra house.
1 TABLE DES MATIERES I- General aspect... 3 1. Context... 3 2. Product description... 3 3. Product purpose... 4 II- Terra Nostra data recovery.... 4 1. Theory... 4 2. Implementation... 5 III- Data visualisation
More informationIntroduction to Extreme Programming. Extreme Programming is... Benefits. References: William Wake, Capital One Steve Metsker, Capital One Kent Beck
Introduction to Extreme Programming References: William Wake, Capital One Steve Metsker, Capital One Kent Beck Extreme Programming is... Lightweight software development method used for small to medium-sized
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 informationChapter 3. Interactive Software Development Assistants Logic-based Software Representation. Logic-based Software Analysis
Advanced Logic Programming Summer semester 2012 R O O T S Chapter 3. Logic-based Analysis Interactive Development Assistants Logic-based Representation Logic-based Analysis Logic-based Transformation Motivation
More informationCoral: A Metamodel Kernel for Transformation Engines
Coral: A Metamodel Kernel for Transformation Engines Marcus Alanen and Ivan Porres TUCS Turku Centre for Computer Science Department of Computer Science, Åbo Akademi University Lemminkäisenkatu 14, FIN-20520
More informationJames Donahue Control Consultants, Inc.
James Donahue Control Consultants, Inc. Founded 1989 NE s premier distributor of Building Automation products Customer Base: Controls Contractors and Systems Integrators In-House Engineering Department
More informationProseminar. (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker. Model-Driven Software Engineering. Software Engineering Group
Proseminar Model-Driven Software Engineering (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker Model-Driven Software Engineering Software Engineering Group 1 Outline Basic Requirements Preliminary Dates
More informationINTERNET OF THINGS FOR SMART CITIES BY ZANELLA ET AL.
INTERNET OF THINGS FOR SMART CITIES BY ZANELLA ET AL. From IEEE INTERNET OF THINGS JOURNAL, VOL. 1, NO. 1, FEBRUARY 2014 Presented by: Abid Contents Objective Introduction Smart City Concept & Services
More informationBuilding Control GAMMA instabus
The worldwide standard for home and building control Building Control GAMMA instabus siemens.com/gamma The comprehensive GAMMA instabus product portfolio comprises intelligent devices and is your key to
More informationDESIGN, EVOLUTION AND USE
DESIGN, EVOLUTION AND USE of KernelF voelter@acm.org www.voelter.de @markusvoelter Markus Völter Check out the paper! http://voelter.de/data /pub/kernelf-icmt.pdf EXAMPLE 1 Healthcare 1 Context Mobile
More informationPreserving Non-essential Information Related to the Presentation of a Language Instance. Terje Gjøsæter and Andreas Prinz
Preserving Non-essential Information Related to the Presentation of a Language Instance Terje Gjøsæter and Andreas Prinz Faculty of Engineering and Science, University of Agder Serviceboks 509, NO-4898
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 informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 1 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Contents Course Introduction Introduction to Software Engineering Practical
More informationA Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework
A Visual Editor for Reconfigurable Object Nets based on the ECLIPSE Graphical Editor Framework Enrico Biermann, Claudia Ermel, Frank Hermann and Tony Modica Technische Universität Berlin, Germany {enrico,lieske,frank,modica}@cs.tu-berlin.de
More informationSchool of Computer Science
School of Computer Science Computer Science (CS) modules CS1002 Object-Oriented Programming Computer Science - 1000 & 2000 Level - 2016/7 - December 2016 SCOTCAT Credits: 20 SCQF Level 7 Semester: 1 3.00
More informationAutomated Unit Testing A Practitioner's and Teacher's Perspective
Automated Unit Testing A Practitioner's and Teacher's Perspective Prof. Peter Sommerlad HSR - Hochschule für Technik Rapperswil Institute for Software Oberseestraße 10, CH-8640 Rapperswil peter.sommerlad@hsr.ch
More informationFrustrated by all the hype?
Fundamentals of Software Architecture Looking beyond the hype Markus Völter (voelter@acm.org) Introduction Frustrated by all the hype? If so this presentation is for you. Otherwise you should leave People
More informationINF5120 and INF9120 Modelbased System development
INF5120 and INF9120 Modelbased System development Lecture 5: 13.02.2016 Arne-Jørgen Berre arneb@ifi.uio.no and Arne.J.Berre@sintef.no Telecom and Informatics 1 Course parts (16 lectures) - 2017 January
More informationXP Evolution Rachel Davies
XP Evolution Rachel Davies Sept 10, 2005 2005 Agile Experience Ltd. 1 What is XP? 1.eXtreme Programming (XP) is so named because it raises practices that improve code quality to extreme levels 2. XP is
More informationNo SVN checkout today. Object-Oriented Design
No SVN checkout today Object-Oriented Design Software development methods Object-oriented design with CRC cards LayoutManagers for Java GUIs BallWorlds work time Analysis Design Implementation Software
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 informationTechniques for the unambiguous specification of software
Formal Techniques for the unambiguous of software Objectives To explain why formal techniques help discover problems in system requirements To describe the use of algebraic techniques for interface To
More informationIntroduction. Software Architecture VO/KU ( / ) Roman Kern. KTI, TU Graz
Introduction Software Architecture VO/KU (707.023/707.024) Roman Kern KTI, TU Graz 2013-10-02 Roman Kern (KTI, TU Graz) Introduction 2013-10-02 1 / 32 Introduction Introduction Basic organisational information
More informationLecture 7: Software Processes. Refresher: Software Always Evolves
Lecture 7: Software Processes What is a Software Development Process? The Lifecycle of a Software Project Agile vs. Disciplined Some common approaches: RUP, SCRUM, XP, ICONIX, Where UML fits in (next lecture)
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 informationDesign and Prototypical Implementation of a Pivot Model as Exchange Format for Models and Metamodels in a QVT/OCL Development Environment
Faculty of Computer Science, Institute for Software- and Multimedia-Technology, Chair for Software Technology Matthias Bräuer Design and Prototypical Implementation of a Pivot Model as Exchange Format
More informationTopic 01. Software Engineering, Web Engineering, agile methodologies.
Topic 01 Software Engineering, Web Engineering, agile methodologies. 1 What is Software Engineering? 2 1 Classic Software Engineering The IEEE definition: Software Engineering is the application of a disciplined,
More informationSYLLABUS. 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca
SYLLABUS 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca institution 1.2 Faculty Faculty of Mathematics and Computer Science 1.3 Departament Departament
More informationECLIPSE MODELING PROJECT
ECLIPSE MODELING PROJECT A Domain-Specific Language Toolkit Richard С. Gronback AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Pans Madrid
More informationA Brief Introduction to Coloured Petri Nets
A Brief Introduction to Coloured Petri Nets Kurt Jensen Computer Science Department, University of Aarhus NyMunkegade, Bldg. 540, DK-8000 AarhusC, Denmark E-mml: kjensen9 WWV~: http://www.daimi.aau.dk/~kjensen/
More informationCreating a Java Internet of Things Gateway. David Woodard, Eurotech
Creating a Java Internet of Things Gateway David Woodard, Eurotech Sometimes IoT Solutions look simple A single application to communicate with Business Application No connectivity options required Internet
More informationNational Council for Higher Education. Minimum standards for the courses of Study in. Bachelor of Science in Software Engineering
National Council for Higher Education Minimum standards for the courses of Study in Bachelor of Science in Software Engineering 2011 1 1. INTRODUCTION 4 2. ANALYSIS OF THE COURSES THAT ARE TAUGHT AT MAKERERE
More informationA Simulator for high level Petri Nets: Model based design and implementation
A Simulator for high level Petri Nets: Model based design and implementation Mindaugas Laganeckas Kongens Lyngby 2012 IMM-M.Sc.-2012-101 Technical University of Denmark Informatics and Mathematical Modelling
More informationSoftware Engineering Chap.7 - Design and Implementation
Software Engineering Chap.7 - Design and Implementation Simão Melo de Sousa RELEASE (UBI), LIACC (Porto), CCTC (Minho) Computer Science Department University of Beira Interior, Portugal Eng.Info./TSI,
More informationCOP 1170 Introduction to Computer Programming using Visual Basic
Course Justification This course is the first computer programming course in the Computer Information Systems Associate in Arts degree program; is required in the Computer Programming and Analysis, Database
More informationMasters in Advanced Computer Science
Masters in Advanced Computer Science Programme Requirements Taught Element, and PG Diploma in Advanced Computer Science: 120 credits: IS5101 CS5001 up to 30 credits from CS4100 - CS4450, subject to appropriate
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 informationAutomation Systems Discrete Event Control Systems and Networked Automation Systems
Automation Systems Discrete Event Control Systems and Networked Automation Systems 2 nd Lecture Control Design Process System theory or Software-Engineering? System Theory Starting point: mathematical
More informationSmart Homes and Cities
Smart Homes and Cities 1 Wireless Sensors at Smart Home Security sensors, cameras, thermostats, smart plugs, lights, Entertainment systems. Do-it-Yourself (DIY) sensors Actuators Smart plug Motion detector
More informationSolutions for office buildings
Solutions for office buildings Office buildings are a mess! They use way too much energy They are very hard to monitor They are not flexible They generate dissatisfaction They have a strong negative impact
More informationCONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17
List of Programs xxv List of Figures xxix List of Tables xxxiii Preface to second version xxxv PART 1 Structured Programming 1 1 Getting started 3 1.1 Programming 3 1.2 Editing source code 5 Source code
More informationFinal Exam. Programming Assignment 3. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu. Readings
University of British Columbia CPSC 111, Intro to Computation Alan J. Hu Interfaces vs. Inheritance Abstract Classes Inner Classes Readings This Week: No new readings. Consolidate! (Reminder: Readings
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 informationbyneuron A BUILDING MANAGEMENT SYSTEM CONTROLS YOUR BUILDING BUT WHO CONTROLS YOUR MANAGEMENT SYSTEM?
A BUILDING MANAGEMENT SYSTEM CONTROLS YOUR BUILDING BUT WHO CONTROLS YOUR MANAGEMENT SYSTEM? byneuron MASTER BUILDING MANAGEMENT SYSTEM For advanced analytics and smarter building energy management Buildings
More informationObject-oriented Design
Object-oriented Design Objectives To explain how a software design may be represented as a set of interacting objects that manage their own state and operations To describe the activities in the objectoriented
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 informationHow to Build an Appium Continuous Testing Pipeline
How to Build an Appium Continuous Testing Pipeline Step-by-Step Tutorial November, 2017 Today s speakers Guy Arieli, CTO, Experitest Ruth Zamir Marketing Director Experitest 01 Why do we need continuous
More informationthe gamedesigninitiative at cornell university Lecture 12 Architecture Design
Lecture 12 Take Away for Today What should lead programmer do? How do CRC cards aid software design? What goes on each card? How do you lay m out? What properties should y have? How do activity diagrams
More informationthe gamedesigninitiative at cornell university Lecture 13 Architecture Design
Lecture 13 Take Away for Today What should lead programmer do? How do CRC cards aid software design? What goes on each card? How do you lay m out? What properties should y have? How do activity diagrams
More information