Introduction RTC Lustre Lustre+MPA Conclusion
An Experiment With Lustre and Real-Time Calculus
Introduction du cours Matthieu Moy
Verimag Grenoble France
December 1, 2008
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 1 / 32 >
An Experiment With Lustre and Real-Time Calculus Introduction du - - PowerPoint PPT Presentation
Introduction RTC Lustre Lustre+MPA Conclusion An Experiment With Lustre and Real-Time Calculus Introduction du cours Matthieu Moy Verimag Grenoble France December 1, 2008 Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1,
Introduction RTC Lustre Lustre+MPA Conclusion
Verimag Grenoble France
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 1 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
1
2
3
4
5
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 2 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
◮ Timing ◮ Energy (?)
◮ Will it scale?
◮ Background in simulation, synchronous systems ◮ ... trying to work with performance models
◮ Verimag, “synchronous team” ◮ ETHZ, Lothar Thiele and his team ◮ (Combest project) Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 3 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
events events events events events
Module
(Transformer)
Module
(Transformer)
Module
(Transformer)
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 4 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Module
(Transformer)
Module
(Transformer)
Module
(Transformer) behavior timed behavior timed behavior timed behavior timed behavior timed
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 4 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Module
(Transformer)
Module
(Transformer)
Module
(Transformer) behavior timed behavior timed behavior timed behavior timed behavior timed
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 4 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Module
(Transformer)
Module
(Transformer)
Module
(Transformer) behavior timed behavior timed behavior timed behavior timed behavior timed
Computed Abstractions Modelling
◮ Number of events per time unit? ◮ Bounds for number of events? Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 5 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Module
(Transformer)
Module
(Transformer)
Module
(Transformer) behavior timed behavior timed behavior timed behavior timed behavior timed
Computed Abstractions Modelling
◮ Number of events per time unit? ◮ Bounds for number of events? ◮ MPA uses “arrival curves”. Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 5 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Module
(Transformer)
Module
(Transformer)
Module
(Transformer) behavior timed behavior timed behavior timed behavior timed behavior timed
Computed Abstractions Modelling
◮ FIFO + processing element? ◮ “Service curve” Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 6 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Module
(Transformer)
Module
(Transformer)
Module
(Transformer) behavior timed behavior timed behavior timed behavior timed behavior timed
Computed Abstractions Modelling
◮ FIFO + processing element? ◮ “Service curve” ◮ Can also be a “program” Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 6 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Module
(Transformer)
Module
(Transformer)
Module
(Transformer) behavior timed behavior timed behavior timed behavior timed behavior timed
Computed Abstractions Modelling
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 7 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
1
2
3
4
5
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 8 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
time events
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 9 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
time events #events αu αl 1 2 3 4 5 6 7 1 3 5 6 7 ∆t 4 2
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 9 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
time events #events αu αl 1 2 3 4 5 6 7 1 3 5 6 7 ∆t 4 2 ∆t = 2 2
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 9 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
time events #events αu αl 1 2 3 4 5 6 7 1 3 5 6 7 ∆t 4 2 ∆t = 2 2 ∆t = 4 4
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 9 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
βu βl αu αl αu′ αl′ βu′ βl′ Element Processing Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 10 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
βu βl αu αl αu′ αl′ βu′ βl′ Element Processing Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 10 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
βu βl αu αl αu′ αl′ βu′ βl′ Element Processing αu′ = ((αu⊕βu)⊕βl) ∧ βu αl′ = ((αl⊗βu)⊗βl) ∧ βl βu′ = (βu − αl)⊗0 βl′ = (βl − αu)⊗0 Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 10 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
◮ Can model: event flows, simple scheduling policies ◮ Scales up nicely ◮ Library of common behaviors available ◮ Exact hard bounds
◮ Cannot model: state-based behavior, arbitrary scheduling policies. ◮ Hardly models behavior not in the library (“Hire another Ph.D”
approach).
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 11 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
αu′ αl′ αl αu back-adapter adapter (Generator?) (Observer?) X
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 12 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
αu′ αl′ αl αu back-adapter adapter (Generator?) (Observer?) X
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 12 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
αu′ αl′ αl αu back-adapter adapter (Generator?) (Observer?) X
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 12 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
αu′ αl′ αl αu back-adapter adapter (Generator?) (Observer?) X
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 12 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
αu′ αl′ αl αu back-adapter adapter (Generator?) (Observer?) X
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 13 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
1
2
3
4
5
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 14 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 15 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
1
2
3
4
5
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 16 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
αu′ αl′ αl αu back-adapter adapter (Generator?) (Observer?) X
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 17 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 18 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 19 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 19 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
◮ We find the curve using a binary search, point by point, ◮ We need only observers. Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 19 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
◮ Discrete time ◮ Discrete event ◮ Finite arrival curves
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 20 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 21 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
◮ At time t, check time windows [t − ∆, t]. Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 21 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
◮ At time t, check time windows [t − ∆, t]. ◮ At time t + 1, reuse counters for time t. Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 21 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
◮ At time t, check time windows [t − ∆, t]. ◮ At time t + 1, reuse counters for time t. Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 21 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 22 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 23 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 24 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
node queue_transformer (in_seq: int; max_speed: int) returns (out_seq: int) var backlog: int; work: int; empty_queue: bool; let
work = in_seq -> (in_seq + pre(backlog));
empty_queue = (work <= max_speed);
backlog = if (empty_queue) then 0 else work - out_seq; tel
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 25 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 26 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 26 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 27 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 27 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 27 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 27 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 27 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 28 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
1
2
3
4
5
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 29 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 30 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 31 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion
◮ Generators instead of observer ◮ Non-deterministic observer ◮ Specific generator/observers for classes of curves
Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 32 / 32 >