using cpal to model and validate the timing behaviour of
play

Using CPAL to model and validate the timing behaviour of embedded - PowerPoint PPT Presentation

Using CPAL to model and validate the timing behaviour of embedded systems Sebastian Altmeyer, Nicolas Navet, Lo c Fejoz FMTV Challenge - WATERS 2015 - Lund Cyber Physical Action Language (CPAL) C-like intuitive language (with automata


  1. Using CPAL to model and validate the timing behaviour of embedded systems Sebastian Altmeyer, Nicolas Navet, Lo¨ ıc Fejoz FMTV Challenge - WATERS 2015 - Lund

  2. Cyber Physical Action Language (CPAL) ◮ C-like intuitive language (with automata and real-time abstractions) ◮ model functional and temporal behaviour of CPS ◮ simulate CPS (both types of behaviour) (still under development) 1 / 11

  3. The challenging part of the challenge ◮ not a standard scheduling problem ◮ hidden ambiguity in the model ◮ pen & paper solutions seemed trivial How to solve the challenge with CPAL ◮ low effort to model the challenge ◮ quick simulation results ◮ explicit dis-ambiguity (yet, simulation � formal verification) 2 / 11

  4. CPAL Model of Challenge 1 struct Frame { uint32: id; uint32: emission_time; }; processdef T1_PreProcessor( in channel<Frame>: input, out channel<Frame>: output) { state Main { /* removes reflections normalizes intensity, etc. */ assert(input.notEmpty()); output.push(input.pop()); } } var queue<Frame>: cam_to_t1[1]; var queue<Frame>: t1_to_t2[1]; var Frame: t2_to_t3; var queue<Frame>: t3_to_t4[n]; var queue<Frame>: t4_to_monitor[1]; process T1_PreProcessor: t1[cam_to_t1.notEmpty()](cam_to_t1, t1_to_t2); @cpal:time { t1.execution_time = 28ms; } ... 3 / 11

  5. Explicit Disambiguation ◮ task release times ◮ mutable or immutable clock drifts ◮ clock drift distribution ◮ execution time distribution always the least-favorable configuration chosen 4 / 11

  6. Simulation of Challenge 1A n = 1 n = 3 0.03 0.025 0.025 0.02 0.02 0.015 Frequency Frequency 0.015 0.01 0.01 0.005 0.005 0 0 8 9 1 1 1 1 1 1 8 1 1 1 1 1 2 2 0 0 0 1 2 3 4 5 0 0 2 4 6 8 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 Latency Latency ◮ 10 8 frames in total simulated (in less than 8 hours) ◮ 10 3 release patterns, 10 5 frames per pattern ◮ mutable drifts ◮ normal distributions 5 / 11

  7. Simulation vs. Pen & Paper buffer (n) frame simulation pen & paper 1 1 63 ms 63 ms 1 > 1 89 . 7694 ms 89 . 6656 ms min 3 1 63 ms 63 ms 3 > 1 90 . 0226 ms 89 . 6656 ms 1 - 144 . 9224 ms < 146 ms max 3 - 222 . 9026 ms < 226 ms Error in first pen & paper solution identified using simulation 6 / 11

  8. Simulation of Challenge 1B n = 1 n = 3 0.8 0.7 0.2 0.6 0.15 0.5 Frequency Frequency 0.4 0.1 0.3 0.2 0.05 0.1 0 0 3 3 4 4 5 5 6 0 5 0 5 0 5 0 0 1 2 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 number of frames between two discarded frames number of frames between two discarded frames ◮ 10 8 frames in total simulated (in less than 8 hours) ◮ 10 3 release patterns, 10 5 frames per pattern ◮ immutable drifts, worst-case clock drifts ◮ normal distribution of exec time 7 / 11

  9. Simulation of Challenge 1B: Observations n = 1 n = 3 0.8 0.7 0.2 0.6 0.15 0.5 Frequency Frequency 0.4 0.1 0.3 0.2 0.05 0.1 0 0 3 3 4 4 5 5 6 0 5 0 5 0 5 0 0 1 2 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 number of frames between two discarded frames number of frames between two discarded frames ◮ minimal distance: 2 ◮ minimal distance > 3800 ◮ overload situations ◮ no bursts ◮ lost frames very frequent ◮ two spikes No pen & paper solution to 1B. 8 / 11

  10. CPAL Model of Challenge 2 9 / 11

  11. Simulation of Challenge 2 ◮ CPAL simulation does not yet support pre-emption ◮ taskset T 5 , T 6 , T 7 mutually non-pre-emptive (simulation possible) ◮ taskset T 5 , T 6 , T 7 treated as artificial task Tx : ◮ ⇒ reduction to standard response-time analysis! 10 / 11

  12. Conclusions CPAL doesn’t offer automated formal verification, but: ◮ intuitive modelling ( < 4 hours for the both challenges) ◮ quick simulation ( < 8 hours for all simulations) ◮ unambiguous description Integration with formal verification tool future work.

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