UPPAAL
Model Checking, Performance Analysis and Testing of Real Time Systems
UPPAAL Model Checking, Performance Analysis and Testing of Real - - PowerPoint PPT Presentation
UPPAAL Model Checking, Performance Analysis and Testing of Real Time Systems Kim G. Larsen CISS Aalborg University DENMARK CISS Center For Embedded Software Systems Regional ICT Center (2002- ) 3 research groups
Model Checking, Performance Analysis and Testing of Real Time Systems
Center For Embedded Software Systems
Regional ICT Center (2002- )
Kim G. Larsen [2]
FM Forum -- Model Checking in Action -- Kim G Larsen
Characteristica:
: Energy : Bandwidth : Memory : …
TAU
CCS & Modal Transition Systems Refinements Modal Mu-Calculus Explicit State Representation Prolog
EPSILON
TCCS Timed Refinements Timed Mu-Calculus Regions Prolog< 1989 1989 1993 1993
UPPAAL
Timed Automata TCTL Zones C++ & Java 1995 1995
FM Forum -- Model Checking in Action -- Kim G Larsen Kim Larsen [4]
2007 2007
UP4ALL
2013 2013
CAV Award
@UPPsala
@AALborg
@Elsewhere
−
Emmanuel Fleury, Didier Lime, Johan Bengtsson, Fredrik Larsson, Kåre J Kristofgersen, T
Carsten Weise, David Griffjoen, Ansgar Fehnker, Frits Vandraager, Theo Ruys, Pedro D’Argenio, J-P Katoen, Jan T retmans, Judi Romijn, Ed Brinksma, Martijn Hendriks, Klaus Havelund, Franck Cassez, Magnus Lindahl, Francois Laroussinie, Patricia Bouyer, Augusto Burgueno, H. Bowmann, D. Latella, M. Massink, G. Faconti, Kristina Lundqvist, Lars Asplund, Justin Pearson...
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [5]
Editor Simulator
Kim Larsen [6]
FM Forum -- Model Checking in Action -- Kim G Larsen
Verifier Performance Analyses
Discrete Control Concurrency Continuous Aspects Stochasticity Timing Constraints Resources
ADD a clock x
Synchronizing action Clock Guard Conjunctions of x~n x: real-valued clock Reset
[Alur & Dill’89]
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [7]
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [8]
Time River Bridge tracks
Safe Approaching Crossing Safe
3 – 5 20
FM Forum -- Model Checking in Action -- Kim G Larsen
[9]
Time River Bridge tracks
Safe Approaching Crossing Safe Safe Approaching Crossing Safe
Stop the train while it still stoppable! 10 3 – 5 20
FM Forum -- Model Checking in Action -- Kim G Larsen
[10]
Time River Bridge tracks
Safe Approaching Crossing Safe Safe Approaching Crossing Safe
10 3 – 5 20
Stopped Crossing Safe Restarted Stopped Crossing Safe
7 – 15
Crossing Restarted
FM Forum -- Model Checking in Action -- Kim G Larsen
[11]
Safe Approaching Crossing Safe Stopped Restarted
Add timing+ synchronization
FM Forum -- Model Checking in Action -- Kim G Larsen
[12]
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 13]
GUI
component Language
declarations, meta variables, scalars)
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 14]
Graphical Simulator
and recording
Graphical Simulator
and recording
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 15]
Graphical Simulator
and recording
Graphical Simulator
and recording
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 16]
Verifier
checking of requirements
bounded liveness and response properties
e.g probabilistic and expectation.
for visualisation in simulator.
Verifier
checking of requirements
bounded liveness and response properties
e.g probabilistic and expectation.
for visualisation in simulator.
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 17]
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 18]
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 19]
Client-Server Architecture GUI: Java Engine: C++ Platforms: Linux, MacOS, Solaris, Windows 3 major cycles.
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 20]
Zones & DBMs THE ”secret” UPPAAL
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 21]
Form [RTSS97]
Diagrams [CAV99]
[SPIN03]
x1 x2 x3 x0
4 2 2 5 3 3
1
Uppaal, 2004.
Real-Time Systems, 2000.
Systems with UPPAAL PORT, 2008
Model Transformation, 2008
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 22]
years
2.800 loc + 3 fmowchart + 1 B&O eng.
1.998 transition steps (shortest)
in B&O laboratory.
in UPPAAL.
Arne Skou, Klaus Havelund 1st RTSS’97 talk, Klaus Havelund
FM Forum -- Model Checking in Action -- Kim G Larsen Kim Larsen [ 24]
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 25]
MECEL AB (1998)
Gear Controller
Lindahl, Pettersson, Yi 1998
Network Canbus GearBox Engine Interface Clutch GearControl
Flowgraph
Paul Pettersson
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 26]
MECEL AB (1998)
Gear Controller
Lindahl, Pettersson, Yi 1998
Network Canbus GearBox Engine Interface Clutch GearControl
Flowgraph
Paul Pettersson
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 27]
MECEL AB (1998)
Gear Controller
Lindahl, Pettersson, Yi 1998
Network Canbus GearBox Engine Interface Clutch GearControl Paul Pettersson
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 28]
Memory Management for Radars
Radar Video Processing Subsystem
A d v a n c e d N
s e R e d u c t i
T e c h n i q u e s
A i r p
t S u r v e i l l a n c e C
t a l S u r v e i l l a n c e
F r e q u e n c y D i v e r s i t y
combiner
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 29]
e1,2 e0,5 e0,4 e0,3 e0,2 e2,4 e2,3 e2,2 e1,5 e1,4 e1,3 e3,2 e3,4 e3,3 e3,5 e2,5
echo 9.170 GHz 9.438 GHz
Combiner (VP3)
FM Forum -- Model Checking in Action -- Kim G Larsen Kim Larsen [ 30]
RESULTS
scheduler with the given size of buffers is safe (no underflow, no overflow)
minimized buffer sizes.
be taken up by Terma!
Adder 1
S = A + S' - A'
Adder 2
T = B + T' - B'
Buffer 1
1 Kbytes
Buffer 2
1 Kbytes
Buffer 9
2 Kbytes
Buffer 8
2 Kbytes
Buffer 7
2 Kbytes
Buffer 6
512 bytes
Buffer 4
2 Kbytes
Buffer 3
512 bytes
Input A 8 (100MHz) A' S' 16 (100 MHz) Input B 8 (100 MHz) T' B' T S Output S Output T 256 (100 MHz) 128 (200 MHz) SDRAM Buffer 5
512 bytes
B 8 (100MHz) 8 (100MHz) 8 (100MHz) 16 (100 MHz) 16 (100 MHz) 16 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz)
Arbiter
TERMA A/S (2011)
Herschel-Planck Scientifjc Mission at ESA
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 31]
Attitude and Orbit Control Software TERMA A/S Steen Ulrik Palm, Jan Storbank Pedersen, Poul Hougaard
TERMA A/S (2011)
Herschel-Planck Scientifjc Mission at ESA
erma:
commanding, fault detection isolation and recovery.
periodic events.
buses, sensors and actuators.
Kim Larsen [ 32]
FM Forum -- Model Checking in Action -- Kim G Larsen
Requirements:
Software tasks should be schedulable. CPU utilization should not exceed 50% load
TERMA A/S (2011)
Herschel-Planck Scientifjc Mission at ESA
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 33]
UPPAAL 4.1 Framework ISoLA 2010
TERMA A/S (2011)
Herschel-Planck Scientifjc Mission at ESA
FM Forum -- Model Checking in Action -- Kim G Larsen
Page 34
Marius Micusionis
TERMA A/S (2011)
Herschel-Planck Scientifjc Mission at ESA
CONCLUSION
UPPAAL
methods
schedulable or not.
be fully taken up by company.
FM Forum -- Model Checking in Action -- Kim G Larsen
Page 35
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 36]
Tilt-Tray Sorters Scheduling rules & Optimization, 2008
Philips: Indoor Lighting systems, 2014 Océ Datapath, 2012
ASML, 2004: Wafer Scanners Optimization of Throughput
Editor Simulator
Kim Larsen [ 37]
FM Forum -- Model Checking in Action -- Kim G Larsen
Verifier Performance Analyses
Discrete Control Concurrency Continuous Aspects Stochasticity Timing Constraints Resources
T este r IU T
A d a p t e r A d a p t e r
input
“input” “output”
T est gen
IU T
A d a p t e r A d a p t e r
input
“input” “output”
mode l mode l verdi ct verdi ct T est suite T est suite mode l mode l
Executio n and evaluatio n
verdi ct verdi ct nline testing: Pros: Abstract system-level behavior Realistic setup, many components Adaptive, explores only relevant states Allows concurrency, non-determinism Long and intricate interactions Automatic check against model Cons: Does not guarantee coverage Interpreting model can be slow Can be diffjcult to replicate Does not replace offmine testing Offmine testing: Real-time systems are inherently non-determinis Non-determinism yields exponentially large tes Few or no concurrent components Short and specifjc interactions Evaluation requires careful assertion programm
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 39]
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 40]
MBAT Daimler Case (2014)
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 41]
G O A L : C
e r a l l a s p e c s ( l
a t i
s , t r a n s i t i
s , … )
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 42]
testing a module 30 days 30 days 2 days
20% (80% for unit test)
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 43]
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 44]
setLevel(L)
A d a p t e r
handleGrasp() “grasp” “level(L)” “release” handleRelease() verdi ct verdi ct grasp level(L) release TCP/IP socket streams Java method calls
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 45]
Cooling Control for Industrial Fridges
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 46]
Controllers (PLC)
Outcome 4 instances of discrepancy between model and actual behavior, also involving timing errors. Danfoss has adopted MBT in development
level of abstraction
advanced technique by industry
give
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim G. Larsen [47]
Testing
implementation
executions checked
direct method Model Checking
errors
How to effectively combine the different model checking and testing techniques?
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim G. Larsen [48]
FM Forum -- Model Checking in Action -- Kim G Larsen
Kim Larsen [ 49]