Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Prof. Dr. Wolfgang Pree Department of Computer Science Universitt Salzburg cs.uni-salzburg.at MoDECS.cc PREEtec.com
Contents
Why focus on embedded software? Better abstractions timing & concurrency transparent distribution Modularization (component models) Further challenges
LASER 2005
Information processing that is tightly integrated with physical processes is called embedded computing
LASER 2005
LASER 2005
LASER 2005
LASER 2005
10 ms for 360 at 6000 rpm temporal accuracy of of 3 sec required up to 100 concurrent software tasks a hard real-time system is only correct if the concurrent tasks meet the strict real-time deadlines
=>
LASER 2005
reducing task execution times adding a processor to a distributed computing system relaxing precedence constraints
LASER 2005
low-priority process keeps high-priority process from running might cause deadlocks
LASER 2005
Most existing programming models are not sufficient In order to overcome the inherent problems of concurrent, real-time software development, new abstractions, methods and tools are required.
10
LASER 2005
More than 80% of innovations in the automotive industry are expected to result from embedded software over the next decade. key goal: ultra-reliable embedded software
The challenge: up to some millions (!) LOC complex distributed computing platform 20 80 computing nodes several bus systems massively concurrent software tasks
11 W. Pree: Trends in Embedded Software Engineering LASER 2005
Dr. Hans-Georg Frischkorn (Senior Vice President Electric/Electronics, BMW Group): Whereas today, software is developed for and tailored to the delivered electronic control unit [processor], a main paradigm shift is expected: Software in cars will become much more independent of specific hardwarea similar development to that started in the computer industry 30 years ago.
12
Abstractions
13
LASER 2005
Prolog
Oberon
Eiffel
HW + OS
14
LASER 2005
15
LASER 2005
mathematical modeling (eg, Simulink) timing & concurrency embedded software model efficient to implement reusable components general purpose programming languages HW + OS
16
LASER 2005
Do they cover the relevant aspects of a design? Which embedded software properties do they deliver? Do they scale? Are the resulting designs understandable? Can compilers generate efficient code?
17
LASER 2005
18
LASER 2005
19
LASER 2005
Determinism
If a software component is called twice with the same input values at the same time instants, it should both times produce the same output values at the same time instants. Example: If a control component receives the same sensor values and the same driver input, it should always react exactly in the same way.
20
The behavior of a software component should be specified independent of its implementation. Example: The hardware, operating system, or bus architecture can be changed without changing the behavior of the application components.
21
LASER 2005
22
LASER 2005
M1
23
LASER 2005
M1
24
LASER 2005
M2 M1
25
LASER 2005
M1
M2
26
LASER 2005
27
LASER 2005
Task 2
PROBLEM: results are available as soon as calculation is finished => NO determinism, NO portability
LASER 2005
28
LET1
Task 2
29
LET2
LASER 2005
LET delivers the required software properties for ultra-reliable embedded systems
determinism compositionality
terminate
task invocation
time
running
running
30
LASER 2005
31
LASER 2005
node1
time
node2
M2
LET2
32
LASER 2005
LET might be appropriate for the time-triggered and event-triggered programming models
33
LASER 2005
34
LASER 2005
input parameters
output parameters
35
LASER 2005
current modularization
one embedded control system per computing node
M1
36
LASER 2005
M2 M1
module M2 { import M1; ... start mode main [period= M1.refPeriod] { task [freq=1] sum(M1.inc.o, M1.dec.o); ... } }
37
LASER 2005
Compositionality
The behavior of a software component should be independent of the overall system load and configuration. Example: A new component can be added to a system without changing the behavior of the original components.
38
LASER 2005
We have developed a modeling language and a set of tools based on LET www.MoDECS.cc PREEtec.com
modularization separation of concerns: timing | functionality platform | functional and temporal behavior language construct for modules
embedded software properties deterministic timing behavior portability (automatic platform code generation) compositionality
transparent distribution
LASER 2005
40
41
LASER 2005
42
LASER 2005
VisualTDL in Simulink
platform spec.
S A
M2
A
M1
S S A
M1
M2 M3
M3
E-/S-Machines+TDLComm
43 W. Pree: Trends in Embedded Software Engineering LASER 2005
44
LASER 2005
Orthogonal challenges
appropriate software abstractions as basis of model-based development support of multiple models of computation reengineering of existing systems requirements engineering process management risk analysis and error management usability security ...
LASER 2005
45
The end
46
LASER 2005