ristal
play

RIStAL Centre de Recherche en Informatique, Signal et Automatique - PowerPoint PPT Presentation

Temporal Interfaces for Adaptive Real-Time Components Giuseppe Lipari, University of Lille CRTS Workshop @ RTSS, 5 december 2017 RIStAL Centre de Recherche en Informatique, Signal et Automatique de Lille 1 Outline Introduction 1 2


  1. Temporal Interfaces for Adaptive Real-Time Components Giuseppe Lipari, University of Lille CRTS Workshop @ RTSS, 5 december 2017 RIStAL Centre de Recherche en Informatique, Signal et Automatique de Lille 1

  2. Outline Introduction 1 2 Activation Parameters Execution Time Parameters 3 Conclusions 4 2

  3. 1 Introduction Activation Parameters 2 Execution Time Parameters 3 Conclusions 4 3

  4. Introduction Component-based design System = set of simpler components, interacting with each other Compositional analysis Each component is analysed independently Its behaviour is abstracted into an interface Real-Time Interface = functional interface + timed interface 4

  5. Real-Time component Component A A component consists of a set of tasks, a list of provided functions, and a list of required functions Tasks are activated by internal or external requests (through the provided interface) Tasks can invoke external services (through the required interface) 5

  6. Real-Time component Component A Provided Interface Required Interface A component consists of a set of tasks, a list of provided functions, and a list of required functions Tasks are activated by internal or external requests (through the provided interface) Tasks can invoke external services (through the required interface) 5

  7. Real-Time component Component A call activation Provided Interface Required Interface call activation call periodic task A component consists of a set of tasks, a list of provided functions, and a list of required functions Tasks are activated by internal or external requests (through the provided interface) Tasks can invoke external services (through the required interface) 5

  8. Temporal interface What is a temporal interface ? Amount of computational resources assigned to the component Set of constraints on how to use the component’s functional interface How to specify the interface ? When analysing a component in isolation, we do not know : the activation patterns of the provided services the maximum delay of required services Timed interfaces : we will consider all of them as parameters , and compute the schedulability region in the space of such parameters the obtained region is the parametric timed interface of our component 6

  9. Component connection Component B Component A Component D Component C Integration the overall system is correct if the intersection of all component interfaces is non-empty the intersection contains all valid values for the parameters 7

  10. Temporal interfaces How to compute the temporal interface of a component ? when considering only periodic independent tasks, (no provided/required methods) many solutions in the literature (Lipari & Bini, Shih & Lee, etc.) However, not so much in the general case of interacting tasks The resource requirements of a component depend on the rate at which interface methods are called the delay of required methods the internal resource requirements (execution times) Moreover : components can have configuration parameters ! 8

  11. Configuration parameters Example : Image recognition component the execution time to process an image depends on its resolution the image resolution is a configuration parameter Configuration parameters may impact on the execution times how to express this variation in the interface ? 9

  12. We compute parametric interfaces 1 the temporal requirements and the constraints are parametric in the configuration of the component, and in the way it is used (worst-case activation rate, configuration parameters, etc.) more difficult, but truly component-based Solutions The interface is computed only once the system is deployed 1 at that time, we know all the components, their activation rates, the configuration parameters, therefore, we can compute the all the interfaces however, we are going back to big monolithic systems ! 10

  13. Solutions The interface is computed only once the system is deployed 1 at that time, we know all the components, their activation rates, the configuration parameters, therefore, we can compute the all the interfaces however, we are going back to big monolithic systems ! We compute parametric interfaces 1 the temporal requirements and the constraints are parametric in the configuration of the component, and in the way it is used (worst-case activation rate, configuration parameters, etc.) more difficult, but truly component-based 10

  14. This presentation I am going to present on-going research on two related problems : Activation parameters 1 How to compute the temporal interface of a component when tasks are activated by remote procedure calls with unknown activation rates ? Y. Sun, G. Lipari, É. André, L. Fribourg, Toward Parametric Timed Interfaces for Real-Time Components , SynCoP 2014 WCET parameters 2 Compute parametric resource requirements when the WCET of tasks depends on the parameters C. Ballabriga, J. Forget, G. Lipari, Symbolic WCET Computation , to appear on ACM TECS 11

  15. 1 Introduction Activation Parameters 2 Execution Time Parameters 3 Conclusions 4 12

  16. Parametric Timed Automata Finite state automaton (sets of locations and actions) augmented with A set X of clocks (i.e., real-valued variables evolving linearly at the same rate [Alur and Dill, 1994]) A set P of parameters (i.e., unknown constants), used in guards and invariants [Alur et al., 1993] Features Location invariant : property to be verified to stay at a location Transition guard : property to be verified to enable a transition Clock reset : some of the clocks can be set to 0 at each transition 13

  17. Inverse Method Algorithm for the synthesis of parameters in PTA [André, Chatain, Encrenaz, Fribourg, 2009] Takes as input a reference parameter valuation π 0 , and outputs a constraint K generalizing this reference valuation p 2 K · π 0 p 1 For all π | = K , the trace set is the same as for π 0 14

  18. Cartography Principle : Tiling of the parametric space by iteratively calling the analysis [A. and Fribourg, 2010] Each tile has the same trace set Good or bad depending on the presence or not of deadline misses Good values for the parameters : union of all regions 15

  19. Model of a task ActEvent Idle arrival_event d := 0 , c := 0 , N := 1 end arrival c = N ∗ C preemption arrival_event arrival_event c < N ∗ C Waiting Running stop { c } c ≤ N ∗ C ∧ d ≤ D d ≤ D dispatch arrival_event arrival_event d < D d < D c < N ∗ C ∧ d = D d := 0 , N := N + 1 d := 0 , N := N + 1 d = D Deadline Missed 16

  20. Activations Modelled by a periodic arrival curve (from Real-Time Calculus) � t � α ( t ) = N + P arrival_event arrival_event arrival_event n < N u − 1 n = N u − 1 p = P n := n + 1 p := 0 p := 0 ArrEvent n :=0 Bursting p ≤ P 17

  21. However, the analysis does not converge ! why ? Inverse Method finds all values for which we have trace equivalence with the initial valuation For periodic tasks, the trace repeats identically every hyperperiod H lcm T T Changing one parameter, even for a small amount, yields very different hyperperiods, so completely different traces ! Analysis Now we have all the pieces A parametric model, with parametric arrival curves In particular, our parameter is the period P A tool to find all good values of parameters Example with 2 periodic tasks τ 1 = (31 , T 1 , T 1 ) , τ 2 = (49 , T 2 , T 2 ) initial values T 1 = 60 and T 2 = 120 , 18

  22. Inverse Method finds all values for which we have trace equivalence with the initial valuation For periodic tasks, the trace repeats identically every hyperperiod H lcm T T Changing one parameter, even for a small amount, yields very different hyperperiods, so completely different traces ! Analysis Now we have all the pieces A parametric model, with parametric arrival curves In particular, our parameter is the period P A tool to find all good values of parameters Example with 2 periodic tasks τ 1 = (31 , T 1 , T 1 ) , τ 2 = (49 , T 2 , T 2 ) initial values T 1 = 60 and T 2 = 120 , However, the analysis does not converge ! why ? 18

  23. Analysis Now we have all the pieces A parametric model, with parametric arrival curves In particular, our parameter is the period P A tool to find all good values of parameters Example with 2 periodic tasks τ 1 = (31 , T 1 , T 1 ) , τ 2 = (49 , T 2 , T 2 ) initial values T 1 = 60 and T 2 = 120 , However, the analysis does not converge ! why ? Inverse Method finds all values for which we have trace equivalence with the initial valuation For periodic tasks, the trace repeats identically every hyperperiod H = lcm ( T 1 , T 2 ) Changing one parameter, even for a small amount, yields very different hyperperiods, so completely different traces ! 18

  24. Solution In this work, we are not interested in trace equivalence, we want to make sure that a deadline miss never happens Therefore, we want to reduce the length of the analysed trace We stop analysis when we reach a safe condition, in which we know that no deadline miss will happen Since we are dealing with independent tasks, scheduled by fixed priority, we can use the Critical Instant and stop at the first idle time. in this way, traces have bounded length, and the method easily converges 19

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend