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 >
Introduction RTC Lustre Lustre+MPA Conclusion Summary Introduction : Modular Performance Analysis 1 Real-Time Calculus 2 Lustre 3 Using Lustre inside MPA 4 Conclusion 5 Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 2 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Motivations The goal: performance analysis ◮ Timing ◮ Energy (?) The tools: Formal methods ◮ Will it scale? The context: ◮ Background in simulation, synchronous systems ◮ ... trying to work with performance models Who: ◮ 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 Modular Performance Analysis (MPA): The Big Picture Module Module events events events (Transformer) (Transformer) Module events events (Transformer) Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 4 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Modular Performance Analysis (MPA): The Big Picture timed timed timed Module Module behavior behavior behavior (Transformer) (Transformer) Module timed timed behavior (Transformer) behavior Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 4 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Modular Performance Analysis (MPA): The Big Picture Modelling timed timed timed Module Module behavior behavior behavior (Transformer) (Transformer) Module timed timed behavior (Transformer) behavior Computed Abstractions Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 4 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Modular Performance Analysis: Content Modelling timed timed timed Module Module behavior behavior behavior (Transformer) (Transformer) Module timed timed behavior (Transformer) behavior Computed Abstractions What can “timed behavior” be? ◮ 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 Modular Performance Analysis: Content Modelling timed timed timed Module Module behavior behavior behavior (Transformer) (Transformer) Module timed timed behavior (Transformer) behavior Computed Abstractions What can “timed behavior” be? ◮ 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 Modular Performance Analysis: Content Modelling timed timed timed Module Module behavior behavior behavior (Transformer) (Transformer) Module timed timed behavior (Transformer) behavior Computed Abstractions What can “Modules” be? ◮ FIFO + processing element? ◮ “Service curve” Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 6 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Modular Performance Analysis: Content Modelling timed timed timed Module Module behavior behavior behavior (Transformer) (Transformer) Module timed timed behavior (Transformer) behavior Computed Abstractions What can “Modules” be? ◮ 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 The Question... Modelling timed timed timed Module Module behavior behavior behavior (Transformer) (Transformer) Module timed timed behavior (Transformer) behavior Computed Abstractions Can we put Lustre in the modules? Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 7 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Summary Introduction : Modular Performance Analysis 1 Real-Time Calculus 2 Lustre 3 Using Lustre inside MPA 4 Conclusion 5 Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 8 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Arrival Curves events time α u ( t ) : max number of events in any window of size t . α l ( t ) : min number of events in any window of size t . Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 9 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Arrival Curves events time #events α u ( t ) : max number of 7 events in any window of 6 size t . α u 5 α l ( t ) : min number of 4 events in any window of α l 3 size t . 2 1 0 0 1 2 3 4 5 6 7 ∆ t Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 9 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Arrival Curves events time ∆ t = 2 #events α u ( t ) : max number of 7 events in any window of 6 size t . α u 5 α l ( t ) : min number of 4 events in any window of α l 3 size t . 2 1 0 0 1 2 2 3 4 5 6 7 ∆ t Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 9 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Arrival Curves ∆ t = 4 events time ∆ t = 2 #events α u ( t ) : max number of 7 events in any window of 6 size t . α u 5 α l ( t ) : min number of 4 events in any window of α l 3 size t . 2 1 0 0 1 2 2 3 4 4 5 6 7 ∆ t Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 9 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Service Curves β u β l α u ′ α u Processing α l α l ′ Element β u ′ β l ′ Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 10 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Service Curves β u β l α u ′ α u Processing α l α l ′ Element β u ′ β l ′ Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 10 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Service Curves β u α u ′ = (( α u ⊕ β u ) ⊕ β l ) ∧ β u β l α l ′ = (( α l ⊗ β u ) ⊗ β l ) ∧ β l β u ′ = ( β u − α l ) ⊗ 0 β l ′ = ( β l − α u ) ⊗ 0 α u ′ α u Processing α l α l ′ Element β u ′ β l ′ Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 10 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion RTC: pros and cons Nice things with RTC ◮ Can model: event flows, simple scheduling policies ◮ Scales up nicely ◮ Library of common behaviors available ◮ Exact hard bounds Less nice things with RTC ◮ 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 Allowing more complex behaviors in MPA α u α u ′ X α l ′ α l adapter back-adapter (Generator?) (Observer?) Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 12 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Allowing more complex behaviors in MPA α u α u ′ X α l ′ α l adapter back-adapter (Generator?) (Observer?) X = Arbitrary program ⇒ testing (ETHZ) Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 12 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Allowing more complex behaviors in MPA α u α u ′ X α l ′ α l adapter back-adapter (Generator?) (Observer?) X = Arbitrary program ⇒ testing (ETHZ) X = Timed automata ⇒ model-checking (Y. Liu in Verimag, K. Lampka in ETHZ, CATS tool by Uppsala). Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 12 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Allowing more complex behaviors in MPA α u α u ′ X α l ′ α l adapter back-adapter (Generator?) (Observer?) X = Arbitrary program ⇒ testing (ETHZ) X = Timed automata ⇒ model-checking (Y. Liu in Verimag, K. Lampka in ETHZ, CATS tool by Uppsala). X = Lustre ⇒ why we’re here now. Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 12 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Allowing more complex behaviors in MPA α u α u ′ X α l α l ′ adapter back-adapter (Generator?) (Observer?) Adapted for systems where the complex behavior is local Scales nicely if the complex behavior “islands” are small enough. But: loss of information on the way back to RTC! Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 13 / 32 >
Introduction RTC Lustre Lustre+MPA Conclusion Summary Introduction : Modular Performance Analysis 1 Real-Time Calculus 2 Lustre 3 Using Lustre inside MPA 4 Conclusion 5 Matthieu Moy (VerimagGrenobleFrance) RTC/Lustre December 1, 2008 < 14 / 32 >
Recommend
More recommend