Domain Specific Languages. Requirements (Engineering)

Size: px
Start display at page:

Download "Domain Specific Languages. Requirements (Engineering)"

Transcription

1 Domain Specific Languages and Requirements (Engineering) Andreas Graf Markus Voelter

2

3 What are Requirements?

4 a requirement is a singular documented need of what a particular product or service should be or perform. Wikipedia

5 specifies a verifiable constraint on an implementation that it shall undeniably meet or (a) be deemed unacceptable, or (b) result in implementation failure, or (c) result in system failure. Wiktionary

6 what a system should do, and with which quality attributes, without presupposing a specific implementation. Mine.

7

8 Cohesive Complete Consistent Atomic Traceable Current Feasible Unambiguous Mandatory Verifiable Wikipedia

9

10 Brain [Domain Person] Prose Brain [Developer] Code

11 Brain [Domain Person] Prose Brain [Developer] Code

12 Brain [Domain Person] Prose lossy lossy Brain [Developer] Code

13 Brain [Domain Person] Prose Brain [Developer] Code lossy lossy buggy

14 Brain [Domain Person]??? Code

15 Brain [Domain Person]??? Code

16

17 What vs. How

18 What vs. How The System shall be 99.9 % reliable Failover, Replication, RAID

19 Us vs. Them

20 Us vs. Them We specify the system the offshore folks implement it

21 Us vs. Them OEM specifies functions / interfaces the E/E vendor develops system

22 Domain vs. Software

23 Domain vs. Software Insurance contract rules the actual realization as JEE app

24 Domain vs. Software Communication protocol spec The protocol handler state machine

25

26

27 Us -> Them Domain -> Software What -> How

28 Us -> Them Domain -> Software What -> How Informal -> Formal

29 Informal -> Formal

30 Informal -> Formal

31 Informal -> Formal

32 Informal -> Formal

33 Informal -> Formal

34 Informal -> Formal

35 Formal vs. Informal

36

37 Formal Requirements & Design

38 ORMAL processable by tools

39 ORMAL Cohesive Complete Consistent Atomic Traceable Current Feasible Unambiguous processable by tools Mandatory Verifiable

40 ORMAL Cohesive Complete Consistent Atomic Traceable Current Feasible Unambiguous processable by tools Mandatory Verifiable implementation

41 Domain -> Software Informal -> Formal What -> How

42

43 Requirements & Design

44 Requirements & Design

45 Requirements & Design

46 Requirements & Design

47 Requirements & Design What -> How

48 Requirements & Design What -> How Informal -> Formal

49 Requirements & Design Informal -> Formal What -> How Domain -> Software

50

51 Formal requirements specify what a system should do from a domain perspective, and with which quality attributes, without presupposing a specific software implementation, but processable by tools. Mine++

52

53 Requirement/Informal: It shall not be possible to get radiated when operating a microwave.

54 Requirement/Informal: It shall not be possible to get radiated when operating a microwave. Design/Informal: The radiator may only work iff the door of the microwave is closed. + door isolation + some quality requirements

55 Requirement/Informal: It shall not be possible to get radiated when operating a microwave. Design/Formal:

56

57 Domain Specific Languages

58 A DSL is a focussed, processable language for describing a specific concern when building a system in a specific domain. The abstractions and notations used are natural/suitable for the stakeholders who specify that particular concern.

59

60 general purpose

61 domain specific

62 tailor made effective++ specialized, limited used by experts together with other specialized tools

63

64 execute?

65 map

66 DSL Program (aka Model) map automated! GPL Program

67 map Generation Transformation Compilation Interpretation

68

69 Example 1: Embedded Protocol Handler

70 CONTEXT Factory Control System Plug-in Cards Componentized System

71 PROBLEM Cards have to communicate via predefined protocol Protocol only specified as plain text and pictures Verification tough, no automatic processing

72 SOLUTION Define DSL for describing the protocol, formally define protocol with it Generate Handler Express test cases

73 SOLUTION Component Specification

74 SOLUTION Message Format Definition

75 SOLUTION Testing tests refines

76 BENEFITS Testing could be simplified and automated Handler could be generated Mistakes in Spec could be found automatically Second version could be done trivially

77 TOOLS Eclipse Modeling Eclipse Xtext

78

79

80 Example 3: Radar Systems Engineering

81 CONTEXT Radar Systems for satellites need to be designed Radar requirements influence sensor design influences satellite bus influences launch vehicle circular.

82 PROBLEM Requirements cannot simply be written down because tradeoffs studies need to be performed These need to be numerical.

83 SOLUTION Break system down into components Use approximate numerical fomulae to how requirements and design effect other components

84 SOLUTION Component Definition

85 SOLUTION Component Behavior Specification

86 SOLUTION Resulting System Behaviour

87 SOLUTION Analysis

88 BENEFITS Numerical approximate requirements/design tradeoffs can be performed

89 TOOLS Eclipse Modeling Eclipse Xtext Wolfram Mathematica Mathematica Workbench

90

91 Example 4: Alarm System Menus

92 CONTEXT Alarm Systems Operator Panels

93 PROBLEM The structure of the UI and menus of the operator panel was described in Word, and then manually implemented. Error prone, slow,

94 SOLUTION Use a DSL to describe menu structures directly, and generate various artifacts from it: - flash simulator data - C code for implementation - i18n templates

95 SOLUTION Menu Structure

96 SOLUTION Software Components

97 BENEFITS Various non-software artifacts could be generated Integration with software structure simpler Fewer errors, faster

98 TOOLS Eclipse Modeling Eclipse Xtext

99

100 Example 5: Requirements Tracability

101 CONTEXT Embedded Systems developed with a C-derivative

102 PROBLEM Tracability to textual requirements is necessary.

103 SOLUTION Import Requirements into the tool and then use traceability annotations to refer to them from any program element.

104 SOLUTION Imported Requirements

105 SOLUTION Program Code with Annotations (green)

106 SOLUTION Selecting from the Requirements Find Usages of Requirements

107 TOOLS JetBrains MPS

108

109 What if I don t yet have a language?

110 Actually, this is the normal case! Domain Specific Language

111

112 Building Languages

113 As you understand the domain

114 develop a language to express it!

115 Language resembles domain concepts

116 Then express the design with the language.

117 Clear understanding of the domain from building the language

118 Iterate! Understand Domain Define Language Use Language

119 Iterate! Understand Domain Domain Expert Language Engineer Define Language Language Engineer Use Language Domain Expert Domain User

120 Iterate! Understand Domain Domain Expert Language Engineer Define Language FORMAL! Use Language FORMAL!

121

122 Like Analysis!

123 Like Analysis! but with an executable result

124

125 DSL Engineering Tools

126 Notations

127 Notations Editors

128 Notations Editors Multi-Languages

129 Notations Editors Multi-Languages Debugger

130 Notations Editors Multi-Languages Debugger Testing

131 Notations Editors Multi-Languages Debugger Testing Groupware

132 Notations Editors Multi-Languages Debugger Testing Groupware Scalable

133 Notations Editors Multi-Languages Debugger Testing Groupware Scalable Integrated

134

135 Open Source Eclipse Public License

136 Large wold wide community

137 graphical, textual and form-based DSLs

138 Developed by JetBrains Open Source Apache 2.0

139 Projectional Editor all kinds of notations, mainly textual

140 Commercial Product Projectional Editor Most flexible notations

141

142 Notational Flexibility?

143 Textual Rich IDEs

144 Textual Rich IDEs

145 Textual Languages and Editors are easier to build

146 Textual Languages and Editors are easier to build Evolve Language and simple editor as you understand and discuss the architecture, in real time!

147 Textual Integrates easily with current infrastructure: CVS/SVN diff/merge

148 Textual adapting existing models as the DSL evolves Model evolution is trivial, you can always use grep.

149 Textual Many Developers prefer textual notations

150 When a graphical notation is better, you can visualize.

151 Mixed

152 Mixed

153 Multiple

154

155

156 Standards & UML

157 You can model everything with UML

158 You can model everything with UML somehow!

159 Problem Shoehorning domain abstractions into the generic language

160 Problem Sidetracked by existing abstractions and notations

161 Problem UML Theory Practice Notations/ Abstractions extensible via Profiles Very Limited Tool Support!

162 Problem Meta Model Complexity!

163 But! But don t reinvent the wheel either.

164 Where are standards useful?

165 People have to learn underlying concepts anyway.

166 Is UML with a profile still a standard language?

167 On which meta level do I want to standardize? M2 (UML), M3 (MOF)?

168 Isn t a DSL based on MOF as standard as a profile based on UML?

169

170 Similar statements can be made relative to BPMN

171

172 Textual Requirements?

173 Textual Requirements still necessary.

174

175

176

177

178 Tracing

179 Tracing

180

181 Things to keep in mind

182

183 Limit Expressiveness

184 Notation is important!

185 Graphical vs. Textual

186 Invest in good constraints

187 Testing may be an important benefit of your DSL

188 Simulations ( play around with the models)

189 Who are 1st Class Citizens?

190 Learn from - but don t copy programming languages

191 Support for Reuse and Variations

192 Tooling Matters!

193 Annotation Models to add technical details

194 Develop the language iteratively!

195 Co-Evolve Language and Concepts

196 Can domain users actually program?

197 Domain Users vs. Experts

198

199 Summary

200 Cohesive Complete Consistent Atomic Traceable Current Feasible Unambiguous Mandatory Verifiable Wikipedia

201 Cohesive Complete Consistent Atomic Traceable Current Feasible Unambiguous Mandatory Verifiable Validation Checking Simulation Wikipedia

202 Cohesive Complete Consistent Atomic Traceable Current Feasible Unambiguous Mandatory Verifiable Everything is a model tracing links simple Wikipedia

203 Cohesive Complete Consistent Atomic Traceable Current Feasible Unambiguous Mandatory Verifiable Described Formally Wikipedia

204 Cohesive Complete Consistent Atomic Traceable Current Feasible Unambiguous Mandatory Verifiable Domain Expert involved in Definition and Review Wikipedia

205 Cohesive Complete Consistent Atomic Traceable Current Feasible Unambiguous Mandatory Verifiable Executable Automatic Refinement downstream, Code Gen.

206 Cohesive Complete Consistent Atomic Traceable Current Feasible Unambiguous Mandatory Verifiable Executable Reward for the additional effort of formalization!

207 And Developers???

208 And Developers??? Languages Technology Evaulation Generators Testing Operations what they want to do anyway!

209

210 Brain [Domain Person]??? Code

211 Brain [Domain Person] DSL Code Brain [Developer]

212

213 One more thing:

214 One more thing: Why all these pictures?

215 I like airplanes.

216 Build a research airplane for high AoA and thrust vector control

217 Build a research airplane for high AoA and thrust vector control Not enough!

218 Build a research airplane for high AoA and thrust vector control Not enough! Systems Engineering

219 Build a research airplane for high AoA and thrust vector control Not enough! Systems Engineering Requirements Design continuous. Early Formalization of many aspects.

220 And: The airplane is custom-built for the task. One size does not fit all.

221

222 THE END..coordinates web skype schogglad xing linkedin

What are Requirements?

What are Requirements? Domain Specific Languages and Requirements (Engineering) Markus Voelter www.voelter.de voelter@acm.org What are Requirements? 1 a requirement is a singular documented need of what a particular product

More information

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

A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best Domain Specific Languages Markus Voelter Independent/itemis voelter@acm.org A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES

More information

Domain Specific Languages. Product Line Engineering

Domain Specific Languages. Product Line Engineering Using Domain Specific Languages in the context of Product Line Engineering Markus Voelter Independent/itemis voelter@acm.org Using Domain Specific Languages in the context of Product Line Engineering DSLs

More information

10 Thoughts 2 Demos * Discussions

10 Thoughts 2 Demos * Discussions Developing Embedded software with Language Workbenches Stuttgart, 20.09.2011 Markus Voelter Independent/itemis voelter@acm.org 10 Thoughts 2 Demos * Discussions 1 1 Embedded Development Two Classes in

More information

Programming Modeling Two Worlds? Programmierung Modellierung Zwei Welten? und. and. Markus Voelter Independent/itemis

Programming Modeling Two Worlds? Programmierung Modellierung Zwei Welten? und. and. Markus Voelter Independent/itemis und Programmierung Modellierung Zwei Welten? and Modeling Two Worlds? Markus Voelter Independent/itemis voelter@acm.org Markus Voelter Independent/itemis voelter@acm.org 1 Languages C# Erlang C++ Python

More information

Programming Languages

Programming Languages Trends in Programming Languages ICALEPCS 2011 Markus Voelter Independent/itemis voelter@acm.org A single language to rule them all An ecosystem of languages An ecosystem of languages The Pendulum Swings

More information

Variability differences among products in PL. Variability in PLE. Language Workbenches. Language Workbenches. Product Line Engineering

Variability differences among products in PL. Variability in PLE. Language Workbenches. Language Workbenches. Product Line Engineering PPL 2009 Keynote Markus Voelter Indepenent/itemis voelter@acm.org http://www.voelter.de Language Workbenches in Product Line Engineering Variability in PLE Language Workbenches in Domain Specific Languages

More information

Domain-Specific Languages Language Workbenches

Domain-Specific Languages Language Workbenches Software Engineering with and Domain-Specific Languages Language Workbenches Peter Friese Itemis peter.friese@itemis.de Markus Voelter Independent/itemis voelter@acm.org 1 Programming Languages C# Erlang

More information

Let s build. like they build. Markus Völter Bernd Kolb

Let s build. like they build. Markus Völter Bernd Kolb Let s build like they build Markus Völter voelter@acm.org www.voelter.de @markusvoelter Bernd Kolb kolb@itemis.de www.itemis.de @berndkolb B 0 Motivation Examples 1 M Healthcare Context & Motivation Mobile

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

Markus Völter

Markus Völter of Markus Völter voelter@acm.org www.voelter.de @markusvoelter Examples 1 Healthcare Context & Motivation Mobile Apps that help patients w/ treatments Monitor side-effects and recommend actions Manage

More information

Testing DSLs How to test DSLs, their IDEs and Programs

Testing DSLs How to test DSLs, their IDEs and Programs Testing DSLs How to test DSLs, their IDEs and Programs Markus Voelter independent/itemis voelter@acm.org www.voelter.de voelterblog.blogspot.de @markusvoelter +Markus Voelter A DSL is a focussed, processable

More information

A conceptual framework for building good DSLs. Markus Voelter independent/itemis

A conceptual framework for building good DSLs. Markus Voelter independent/itemis DSL Design A conceptual framework for building good DSLs Markus Voelter independent/itemis voelter@acm.org www.voelter.de voelterblog.blogspot.de @markusvoelter +Markus Voelter based on material from a

More information

Domain Specific - a Binary Decision?

Domain Specific - a Binary Decision? Domain Specific - a Binary Decision? Markus Voelter independent/itemis Ötztaler Strasse 38 70327 Stuttgart, Germany voelter@acm.org Bernhard Merkle SICK AG R&D Software Engineering Erwin-Sick-Str.1 79183

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

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

Goals. Greater Geate Abstraction work on a higher level do more with less insulate from technology. Increase Value. Reduce lossiness.

Goals. Greater Geate Abstraction work on a higher level do more with less insulate from technology. Increase Value. Reduce lossiness. MDD: the Good, the Bad and the Ugly Steven Kelly CTO, MetaCase www.metacase.com com stevek@metacase.com Markus Voelter Independent/itemis AG www.voelter.de voelter@acm.org Part 1 1 Goals Goals Greater

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

DESIGN, EVOLUTION AND USE

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

Language Workbenches, Embedded Software and Formal Verification

Language Workbenches, Embedded Software and Formal Verification Language Workbenches, Embedded Software and Formal Verification Markus Voelter independent/itemis voelter@acm.org www.voelter.de voelterblog.blogspot.de @markusvoelter +Markus Voelter Daniel Ratiu ForTISS

More information

A Family of Languages for Architecture Description

A Family of Languages for Architecture Description A Family of Languages for Architecture Description Markus Voelter Independent Consultant, Grabenstrasse 4, 73033 Goeppingen, Germany voelter@acm.org, http://www.voelter.de Abstract In this paper I describe

More information

Software Architecture

Software Architecture Software Architecture Benjamin Satzger Distributed Systems Group TU Wien http://www.infosys.tuwien.ac.at/staff/ bsatzger Models Terms Unified Modeling Language (UML) Architecture Description Language (ADL)

More information

DSL Implementation. ... with language Workbenches. v1.1 Jan 16, Markus Voelter independent/itemis

DSL Implementation. ... with language Workbenches. v1.1 Jan 16, Markus Voelter independent/itemis DSL Implementation... with language Workbenches. v1.1 Jan 16, 2013 Markus Voelter independent/itemis voelter@acm.org www.voelter.de voelterblog.blogspot.de @markusvoelter +Markus Voelter Last Year s Talk

More information

Language Shapes (Architectural) Thought Markus Völter

Language Shapes (Architectural) Thought Markus Völter Language Shapes (Architectural) Thought Markus Völter voelter@acm.org www.voelter.de @markusvoelter Language Shapes (Architectural) Thought Sapir Whorf hypothesis aka Whorfianism The principle of linguis;c

More information

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Small is Beautiful Building a flexible software factory using small DSLs and Small Models Small is Beautiful Building a flexible software factory using small DSLs and Small Models Jos Warmer Partner, Ordina jos.warmer@ordina.nl 1 Modeling Maturity Levels MML 0: No specification MML 1: Textual

More information

Tutorial 1 Answers. Question 1

Tutorial 1 Answers. Question 1 Tutorial 1 Answers Question 1 Complexity Software in it what is has to do, is often essentially complex. We can think of software which is accidentally complex such as a large scale e-commerce system (simple

More information

Declarative. Contracts

Declarative. Contracts Declarative Smart Contracts Markus Völter voelter@acm.org www.voelter.de @markusvoelter 1 Context SMART An actual contract, executed automatically. CONTRACT Any Turing Complete Program running on a Blockchain.

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

The PISA Project A Model Driven Development case study

The PISA Project A Model Driven Development case study In collaboration with The PISA Project A Model Driven Development case study Pedro J. Molina, PhD. May 19 th, 2007 Contents Introduction Goals Foundations Design aspects & Trade-offs Demo Problems found

More information

BLU AGE 2009 Edition Agile Model Transformation

BLU AGE 2009 Edition Agile Model Transformation BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation

More information

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

Whole Platform Foundation. The Long Way Toward Language Oriented Programming Whole Platform Foundation The Long Way Toward Language Oriented Programming 2008 by Riccardo Solmi made available under the Creative Commons License last updated 22 October 2008 Outline Aim: Engineering

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

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

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

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

Expressing Feature-Based Variability in Structural Models

Expressing Feature-Based Variability in Structural Models Expressing Feature-Based Variability in Structural Models Iris Groher 1, Markus Voelter 2 1 Siemens AG, CT SE 2, Munich, Germany 2 Independent Consultant, Goeppingen, Germany iris.groher.ext@siemens.com,

More information

Dominique Blouin Etienne Borde

Dominique Blouin Etienne Borde Dominique Blouin Etienne Borde dominique.blouin@telecom-paristech.fr etienne.borde@telecom-paristech.fr Institut Mines-Télécom Content Domain specific Languages in a Nutshell Overview of Eclipse Modeling

More information

Quality Indicators for Automotive Test Case Specifications

Quality Indicators for Automotive Test Case Specifications Quality Indicators for Automotive Test Case Specifications Katharina Juhnke Daimler AG Group Research & MBC Development Email: katharina.juhnke@daimler.com Matthias Tichy Ulm University Institute of Software

More information

Frustrated by all the hype?

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

Domain Specific Development

Domain Specific Development Domain Specific Development Stuart Kent, Senior Program Manager, Visual Studio Team System, Microsoft Copyright Microsoft 2006 Domain Specific Development Pattern Model Abstraction of the variable part,

More information

Handling Variability

Handling Variability Handling Variability Version 2.0, December 11, 2009 Markus Völter, Independent/itemis (voelter@acm.org) 2009 Markus Voelter Copyright retain by author(s). Permission granted to Hillside Europe for inclusion

More information

Requirements and Design Overview

Requirements and Design Overview Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions

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

IBM Rational Software Architect

IBM Rational Software Architect Unifying all aspects of software design and development IBM Rational Software Architect A complete design & development toolset Incorporates all the capabilities in IBM Rational Application Developer for

More information

Projecting a Modular Future

Projecting a Modular Future Projecting a Modular Future Markus Voelter 1, Jos Warmer 2, and Bernd Kolb 3 1 independent/itemis, voelter@acm.org 2 independent, jos.warmer@openmodeling.nl 3 itemis, bernd.kolb@itemis.de Abstract. We

More information

OMG Systems Modeling Language Tutorial May, 2012

OMG Systems Modeling Language Tutorial May, 2012 OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview System Engineering (SE) is a discipline to deal with complex system realised through

More information

S1 Informatic Engineering

S1 Informatic Engineering S1 Informatic Engineering Advanced Software Engineering Web App. Process and Architecture By: Egia Rosi Subhiyakto, M.Kom, M.CS Informatic Engineering Department egia@dsn.dinus.ac.id +6285640392988 SYLLABUS

More information

Dániel Darvas Domain-specific languages (DSLs): what, how and when?

Dániel Darvas Domain-specific languages (DSLs): what, how and when? Dániel Darvas Domain-specific languages (DSLs): what, how and when? ICE Tea 21/02/2014 Outline Theory Concept of DSLs Technology Support for DSLs Reality Some details of the ST Example DSL Theory / Concept

More information

Eclipse technology in IFMS Interface Management System

Eclipse technology in IFMS Interface Management System Eclipse Finance Day 2013 Eclipse technology in IFMS Interface Management System Marc Schlienger A story today about Eclipse and IFMS SOA at Credit Suisse The construction of a System MDD in the large Leveraging

More information

Design Concepts and Principles

Design Concepts and Principles Design Concepts and Principles Analysis to Design Data Object Description Entity- Relationship Diagram Data Flow Diagram Process Specification (PSPEC) Component level design (or) procedural design Data

More information

Dominique Blouin Etienne Borde

Dominique Blouin Etienne Borde Dominique Blouin Etienne Borde SE206: Code Generation Techniques dominique.blouin@telecom-paristech.fr etienne.borde@telecom-paristech.fr Institut Mines-Télécom Content Introduction Domain specific Languages

More information

Experimental Comparison between AutoFOCUS3 and Papyrus-RT. Tatiana Chuprina, Florian Hölzl, Vincent Aravantinos

Experimental Comparison between AutoFOCUS3 and Papyrus-RT. Tatiana Chuprina, Florian Hölzl, Vincent Aravantinos Experimental Comparison between AutoFOCUS3 and Papyrus-RT Tatiana Chuprina, Florian Hölzl, Vincent Aravantinos Context AutoFOCUS 3 AutoFOCUS ( in short AF3 ): Model-based development tool Main application

More information

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090

More information

Introduction to Modeling

Introduction to Modeling Introduction to Modeling Software Architecture Lecture 9 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Objectives Concepts What is modeling? How do we choose

More information

openarchitectureware 4.1 An introduction

openarchitectureware 4.1 An introduction openarchitectureware 4.1 An introduction Markus Voelter, www.voelter.de, openarchitectureware (oaw) is a suite of tools and components assisting with model driven software development, more precisely it

More information

Introduction to Java Programming

Introduction to Java Programming Introduction to Java Programming Lecture 1 CGS 3416 Spring 2017 1/9/2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer ISA - Instruction Set Architecture: the specific

More information

INF5120 and INF9120 Modelbased System development

INF5120 and INF9120 Modelbased System development INF5120 and INF9120 Modelbased System development Lecture 6-1: 20.02.2016 Arne-Jørgen Berre arneb@ifi.uio.no and Arne.J.Berre@sintef.no 1 Course parts (16 lectures) - 2017 January (1-3) (Introduction to

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

Excel on the Java VM. Generating Fast Code from Spreadsheet Models. Peter Arrenbrecht codewise.ch / Abacus Research AG Submission ID: 30

Excel on the Java VM. Generating Fast Code from Spreadsheet Models. Peter Arrenbrecht codewise.ch / Abacus Research AG Submission ID: 30 Excel on the Java VM Generating Fast Code from Spreadsheet Models Peter Arrenbrecht codewise.ch / Abacus Research AG Submission ID: 30 AGENDA > Problem: Customization Is Hard > Idea: Let Users Use Spreadsheets

More information

Lecture 8 Requirements Engineering

Lecture 8 Requirements Engineering Lecture 8 Requirements Engineering Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 18, 2008 Lecture Overview

More information

REPROTOOL Workflow (Textual documents in SW development) D3S Seminar

REPROTOOL Workflow (Textual documents in SW development) D3S Seminar REPROTOOL Workflow (ual documents in SW development) D3S Seminar 2011-04-27 http://d3s.mff.cuni.cz Viliam Šimko simko@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics ual

More information

Model Driven Development. Building Automated Code Generation Methods with Eclipse and DSL Tools. Vicente Pelechano

Model Driven Development. Building Automated Code Generation Methods with Eclipse and DSL Tools. Vicente Pelechano Model Driven Development Building Automated Code Generation Methods with Eclipse and DSL Tools Vicente Pelechano Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia

More information

Cross-platform software development in practice. Object-Oriented approach.

Cross-platform software development in practice. Object-Oriented approach. Cross-platform software development in practice. Object-Oriented approach. Vitaly Repin Maemo Devices, Nokia Maemo March 25, 2010 (Maemo) Cross-platform software development. March 25, 2010 1 / 37 Outline

More information

A Survey on Domain-Specific Languages in Robotics

A Survey on Domain-Specific Languages in Robotics A Survey on Domain-Specific Languages in Robotics Arne Nordmann Nico Hochgeschwender Sebastian Wrede October 21st 2014 0 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific

More information

Model Driven Engineering in High Tech Industry

Model Driven Engineering in High Tech Industry Model Driven Engineering in High Tech Industry Mark van den Brand LUCAS-dagen, Lund, October 2016 Short introduction of myself 1992-1997: Assistant professor at UvA (NL) 1997-2005: Senior researcher at

More information

Discover, Relate, Model, and Integrate Data Assets with Rational Data Architect

Discover, Relate, Model, and Integrate Data Assets with Rational Data Architect Discover, Relate, Model, and Integrate Data Assets with Rational Data Architect Niels C. Jacobsen (nielsj@dk.ibm.com) Associate IT Architect, IBM Software Group Rational IBM Software Group 2005 IBM Corporation

More information

(Traditional) Software Development Activities

(Traditional) Software Development Activities (Traditional) Software Development Activities Goals of the Unit A gentle and high-level introduction to software development activities Understanding what are the building blocks for producing software

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

Requirements. Chapter Learning objectives of this chapter. 2.2 Definition and syntax

Requirements. Chapter Learning objectives of this chapter. 2.2 Definition and syntax Chapter 2 Requirements A requirement is a textual description of system behaviour. A requirement describes in plain text, usually English, what a system is expected to do. This is a basic technique much

More information

INF5120 and INF9120 Modelbased System development

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

Experimental transformations between Business Process and SOA models

Experimental transformations between Business Process and SOA models International Journal of Informatics Society, VOL.4, NO.2 (2012) 93-102 93 Experimental transformations between Business Process and SOA models Akira Tanaka, and Osamu Takahashi view5 LLC, Japan School

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

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

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

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - A Tool for Modeling Software Processes with SPEM Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes

More information

Interface (API) Design

Interface (API) Design Interface (API) Design Architect s Perspective R. Kuehl/J. Scott Hawker p. 1 What is an API? Exposes the public facing functionality of a software component Operations, inputs, and outputs Exposes functionality

More information

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems Component Design Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification

More information

Software Engineering

Software Engineering Software Engineering chap 4. Software Reuse 1 SuJin Choi, PhD. Sogang University Email: sujinchoi@sogang.ac.kr Slides modified, based on original slides by Ian Sommerville (Software Engineering 10 th Edition)

More information

SUMMARY: MODEL DRIVEN SECURITY

SUMMARY: MODEL DRIVEN SECURITY SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,

More information

An Introduction to MDE

An Introduction to MDE An Introduction to MDE Alfonso Pierantonio Dipartimento di Informatica Università degli Studi dell Aquila alfonso@di.univaq.it. Outline 2 2» Introduction» What is a Model?» Model Driven Engineering Metamodeling

More information

Principles of Software Construction: Objects, Design, and Concurrency

Principles of Software Construction: Objects, Design, and Concurrency Principles of Software Construction: Objects, Design, and Concurrency Designing (sub-) systems A formal design process Charlie Garrod Michael Hilton School of Computer Science 1 Administrivia Optional

More information

ECLIPSE MODELING PROJECT

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

Test requirements in networked systems

Test requirements in networked systems Test requirements in networked systems Jürgen Klüser, Vector Informatik GmbH The use of CAN with J1939 or CANopen based higher layers leads to cost efficient and flexible solutions, but together with a

More information

Test and Evaluation of Autonomous Systems in a Model Based Engineering Context

Test and Evaluation of Autonomous Systems in a Model Based Engineering Context Test and Evaluation of Autonomous Systems in a Model Based Engineering Context Raytheon Michael Nolan USAF AFRL Aaron Fifarek Jonathan Hoffman 3 March 2016 Copyright 2016. Unpublished Work. Raytheon Company.

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

Representing Software using a Domain Workbench (is software same as programming?) Charles Simonyi CEO Intentional Software February 2008

Representing Software using a Domain Workbench (is software same as programming?) Charles Simonyi CEO Intentional Software February 2008 Representing Software using a Domain Workbench (is software same as programming?) Charles Simonyi CEO Intentional Software February 2008 Summary Software and its problems Advantages of Input + Process

More information

-Netzwerktreffen Embedded Systems. Modell-getriebene Entwicklung mit der YAKINDU-Workbench

-Netzwerktreffen Embedded Systems. Modell-getriebene Entwicklung mit der YAKINDU-Workbench -Netzwerktreffen Embedded Systems Modell-getriebene Entwicklung mit der YAKINDU-Workbench about me Axel Terfloth Head R&D Embedded Systems axel.terfloth@itemis.de! work at itemis AG, Germany! work on model

More information

MDSE PRINCIPLES. Chapter #2

MDSE PRINCIPLES. Chapter #2 Chapter #2 MDSE PRINCIPLES Teaching material for the book Model-Driven Software Engineering in Practice by Morgan & Claypool, USA, 2012. www.mdse-book.com MDSE Principles Contents Concepts Approaches Adoption

More information

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

challenges in domain-specific modeling raphaël mannadiar august 27, 2009 challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing

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

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

Describing Computer Languages

Describing Computer Languages Markus Scheidgen Describing Computer Languages Meta-languages to describe languages, and meta-tools to automatically create language tools Doctoral Thesis August 10, 2008 Humboldt-Universität zu Berlin

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

Architecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL

Architecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL Architecture-driven development of Climate Control Software LMS Imagine.Lab Embedded Software Designer Siemens DF PL Restricted Siemens AG 2017 Realize innovation. Content 1 Overview 3 2 LMS Imagine.Lab

More information

POAD Book: Chapter 4: Design Patterns as Components Chapter 5: Visual Design Models

POAD Book: Chapter 4: Design Patterns as Components Chapter 5: Visual Design Models POAD Book: Chapter 4: Design Patterns as Components Chapter 5: Visual Design Models Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU Outline Chapter 4: Design Patterns

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

A Structured Approach for Efficient Model-Based Testing in Large IT Projects

A Structured Approach for Efficient Model-Based Testing in Large IT Projects A Structured Approach for Efficient Model-Based Testing in Large IT Projects UCAAT 2013 22 24 October - Paris Jean-Pierre Schoch Bruno Legeard {jean-pierre.schoch, bruno.legeard}@smartesting.com Agenda

More information

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE Dave Clarke 1 THIS LECTURE At the end of this lecture you will know notations for expressing software architecture the design principles of cohesion

More information

Software Project Seminar VII: Tools of the Craft. 23 march 2006 Jevgeni Kabanov

Software Project Seminar VII: Tools of the Craft. 23 march 2006 Jevgeni Kabanov Software Project Seminar VII: Tools of the Craft 23 march 2006 Jevgeni Kabanov Administrative Info Send your troubles to tarkvaraprojekt@webmedia.ee, not to Ivo directly Next time will be an additional

More information

Natural Language Requirements

Natural Language Requirements Natural Language Requirements Software Verification and Validation Laboratory Requirement Elaboration Heuristic Domain Model» Requirement Relationship Natural Language is elaborated via Requirement application

More information

Design of Embedded Systems

Design of Embedded Systems Design of Embedded Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-01-02 José Costa (DEI/IST) Design of Embedded Systems 1

More information