Virginia Department of Taxation isn’t What isn’t new for 2005?
Modelling and Programming: Isn’t it all the same?
description
Transcript of Modelling and Programming: Isn’t it all the same?
![Page 1: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/1.jpg)
Modeling and Programmingisn‘t it all the same?
Markus Voelterindependent/itemis
www.voelter.devoelterblog.blogspot.de
@markusvoelter+Markus Voelter
![Page 2: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/2.jpg)
![Page 3: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/3.jpg)
We don‘t want to
we want tomodel,
program!
![Page 4: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/4.jpg)
We don‘t want to
we want tomodel,
program!… at different levels of abstraction… from different viewpoints… integrated!
![Page 5: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/5.jpg)
We don‘t want to
we want tomodel,
program!… with different degrees of
… with suitable notations… with suitable expressiveness
domain-specificity
![Page 6: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/6.jpg)
We don‘t want to
we want tomodel,
program!precise and tool processable
And always:
![Page 7: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/7.jpg)
![Page 8: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/8.jpg)
![Page 9: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/9.jpg)
beforeFlight
airborne
flying
landing landed
crashed
next [alt > 0]
reset
next [alt == 0 && speed == 0]
next [alt == 0 && speed > 0]
next [alt == 0 && speed == 0]
![Page 10: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/10.jpg)
![Page 11: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/11.jpg)
![Page 12: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/12.jpg)
![Page 13: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/13.jpg)
Modeling Tools Programming Tools
!=
Different Worlds
![Page 14: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/14.jpg)
Modeling ToolModeling Tool
!=
Different Worlds
![Page 15: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/15.jpg)
Different WorldsMix Models and Programs
![Page 16: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/16.jpg)
Different WorldsAST Navigation & Query
Mix Models and Programs
![Page 17: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/17.jpg)
Different WorldsAST Navigation & Query
Mix Models and Programs
Integration of 3GL code
![Page 18: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/18.jpg)
Different WorldsAST Navigation & Query
Mix Models and Programs
Integration of 3GL codeCode Constraints
![Page 19: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/19.jpg)
![Page 20: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/20.jpg)
LanguageWorkbench
(Martin Fowler)
![Page 21: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/21.jpg)
LanguageWorkbench
(Martin Fowler)
Freelydefine
integratethem
languages and
![Page 22: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/22.jpg)
?
LanguageWorkbench
(Martin Fowler)
usepersistent
abstractrepresentation
![Page 23: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/23.jpg)
LanguageWorkbench
(Martin Fowler)
language ::=schema
editorsgenerators
++
![Page 24: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/24.jpg)
?
LanguageWorkbench
(Martin Fowler)
editingprojectional
![Page 25: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/25.jpg)
LanguageWorkbench
(Martin Fowler)
persistincompletecontradictory
information
or
![Page 26: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/26.jpg)
LanguageWorkbench
(Martin Fowler)
powerfulediting
testingrefactoring
debugging
language definitionIDE definition
implies
+groupware
![Page 27: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/27.jpg)
LanguageWorkbench
(Martin Fowler)
support for„classical“
programming„classical“
modelingand+
![Page 28: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/28.jpg)
![Page 29: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/29.jpg)
L
ab
c
d
e
f
gh
i
j
k
m
n
o
with many first class concepts!
Big Language?
![Page 30: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/30.jpg)
L
Small Language?
and poweful conceptswith a few, orthogonal
![Page 31: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/31.jpg)
my L
a b c
d e f
g h i
j k l
Modular Language
composable conceptswith many optional,
![Page 32: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/32.jpg)
Like frameworks and libraries,
Modular Language
![Page 33: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/33.jpg)
Like frameworks and libraries,
but with syntaxand IDE support
Modular Language
![Page 34: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/34.jpg)
![Page 35: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/35.jpg)
Model
A schematic description of a system, theory, or phenomenon that accounts for its known or inferred properties and may be
used for further study of its characteristics
www.answers.com/topic/model
![Page 36: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/36.jpg)
A representation of a set of components of a process, system,
or subject area, generally developed for understanding, analysis, improvement, and/or
replacement of the process
www.ichnet.org/glossary.htm
Model
![Page 37: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/37.jpg)
an abstraction or simplification of reality
ecosurvey.gmu.edu/glossary.htm
Model
![Page 38: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/38.jpg)
Model
a model is alwaysrelative to something
an abstraction or simplification of reality
![Page 39: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/39.jpg)
Model
an abstraction or simplification of another model.
![Page 40: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/40.jpg)
Model
an abstraction or simplification of another model.
“model” is a role.
![Page 41: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/41.jpg)
Role?
CarPerson
DriverOwner
![Page 42: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/42.jpg)
Role?
CarPersondriver
owner
![Page 43: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/43.jpg)
Role?
CarPersondriver
owner
A role characterizes a relationship between two entities.
![Page 44: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/44.jpg)
Role?
ProgramProgrammodel
A role characterizes a relationship between two entities.
![Page 45: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/45.jpg)
Role?
ProgramProgrammodel
abstract detailed
![Page 46: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/46.jpg)
Role?
ProgramProgrammodel
abstract detailed
Program
abstract
detailed
model
![Page 47: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/47.jpg)
![Page 48: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/48.jpg)
A Concrete Example System:mbeddr
![Page 49: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/49.jpg)
![Page 50: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/50.jpg)
An extensible C with support for
formal methods,requirements
and PLE.
![Page 51: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/51.jpg)
IDE for Everything
![Page 52: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/52.jpg)
A debuggerfor all of that
![Page 53: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/53.jpg)
![Page 54: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/54.jpg)
SDK for buildingyour ownLanguage
Extensions!
![Page 55: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/55.jpg)
IDE for Everything
JetBrains
MPSOpen Source Language Workbench
![Page 56: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/56.jpg)
![Page 57: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/57.jpg)
Challengesin embedded software
development
![Page 58: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/58.jpg)
Abstractionwithout
Runtime Cost
![Page 59: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/59.jpg)
C consideredunsafe
![Page 60: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/60.jpg)
ProgramAnnotations
![Page 61: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/61.jpg)
Static Checksand
Verification
![Page 62: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/62.jpg)
Product Linesand
Requirement Traces
![Page 63: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/63.jpg)
Separate, hard to integrate
Tools
![Page 64: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/64.jpg)
![Page 65: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/65.jpg)
mbeddr CSolution
Philosophy
![Page 66: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/66.jpg)
more specialized domainsmore specialized languages
ExtensionExtension
![Page 67: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/67.jpg)
more specialized domainsmore specialized languages
ExtensionExtension
![Page 68: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/68.jpg)
more specialized domainsmore specialized languages
ExtensionExtension
![Page 69: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/69.jpg)
more specialized domainsmore specialized languages
ExtensionExtension
![Page 70: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/70.jpg)
![Page 71: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/71.jpg)
Incremental Trafo
![Page 72: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/72.jpg)
Incremental Trafo
![Page 73: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/73.jpg)
Incremental Trafo
![Page 74: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/74.jpg)
Incremental Trafo
![Page 75: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/75.jpg)
![Page 76: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/76.jpg)
Language Extension
![Page 77: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/77.jpg)
Language Extension
![Page 78: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/78.jpg)
Language Extension
![Page 79: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/79.jpg)
![Page 80: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/80.jpg)
D E M O
![Page 81: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/81.jpg)
![Page 82: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/82.jpg)
Statusand
Availability
![Page 83: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/83.jpg)
http://mbeddr.com
![Page 84: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/84.jpg)
LWESLanguage Workbenches
for Embedded Systems
Developed within
gefördert durch das BMBFFörderkennzeichen 01|S11014
![Page 85: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/85.jpg)
Open Source(EPL)
![Page 86: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/86.jpg)
support for graphical 2013
![Page 87: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/87.jpg)
integrationin 2013
![Page 88: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/88.jpg)
FirstCommercial
Project
![Page 89: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/89.jpg)
2 Developers, 4 months
existing source code30.000 – 50.000 LOC
Product LineCertification Required
![Page 90: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/90.jpg)
SystematicStudy with
BMW
![Page 91: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/91.jpg)
The “Pacemaker”
Challenge
![Page 92: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/92.jpg)
![Page 93: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/93.jpg)
An extensible version of the C programming languagefor Embedded Programming
C the Difference – C the Future
gefördert durch das BMBFFörderkennzeichen 01|S11014
http://mbeddr.com
![Page 94: Modelling and Programming: Isn’t it all the same?](https://reader035.fdocuments.us/reader035/viewer/2022062703/554f8699b4c905d25b8b4ce3/html5/thumbnails/94.jpg)
Some of this material is based on this book:
http://dslbook.org
www.dslbook.org
available Feb 2013