1 / 19

Composable Code Generation for Distributed Giotto

Composable Code Generation for Distributed Giotto. Tom Henzinger Christoph Kirsch Slobodan Matic. Motivation. Automotive software Suppliers develop sw components, Manufacturer integrates Mass production : optimality Aircraft software Federated approach replaced by

bertramj
Download Presentation

Composable Code Generation for Distributed Giotto

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Composable Code Generation for Distributed Giotto Tom Henzinger Christoph Kirsch Slobodan Matic

  2. Motivation • Automotive software • Suppliers develop sw components, Manufacturer integrates • Mass production : optimality • Aircraft software • Federated approach replaced by Integrated Modular Avionics • Compositional design • Scale down problem • Reuse components • Preserve desired properties by composition [HKK04]

  3. Real-time + Composability • Distributed platform by distributed compilation • Giotto concurrency abstraction • Logical Execution Time • Verification • Efficient • Automatic • Purely software time-triggered paradigm • Compilation • Program analysis

  4. Distributed Code Generation Model integrator (OEM) hosts (ECUs) suppliers

  5. Distributed Code Generation Model 1 integrator specs

  6. Distributed Code Generation Model 2 suppliers code

  7. Distributed Code Generation Model 3 integrator code vs. specs

  8. Distributed Code Generation Model integrator hosts suppliers

  9. Giotto Framework • Task instance • Start and stop times defined by period • Output available at stop time • Unit delay • Deterministic timing and functional behavior • Easy multi-modal schedulability test • Temporal composability mode m1 () period 8 { actfreq 2 do MixPlayer(); taskfreq 1 do Analyzer (Mixer); taskfreq 2 do Mixer(Generator); taskfreq 1 do Generator(); }

  10. Giotto Abstraction Input Output Task Actuator Driver Sensor Driver A S task period start stop

  11. Giotto Implementation Sensor Driver Actuator Driver S Msg Msg A Task Msg Msg task period start stop

  12. E and S Machine • environment interaction • task release • task execution • communication schedule

  13. Schedule-Carrying Code

  14. System Specification • Supplier s on host h: • Component specification • E code module Es,h • Timing interface: • set of time intervals Ts,h • where smay use h • where smay send • Integrator ensures interface feasibility Es,h(m1,0): call(copy[MixSound]) call(copy[StringSound]) release(1 ; Mixer ; 1) release(1; [MixSound]) future(4,Es,h(m1,1))

  15. Schedulability • With LET assumption • Task dependency and distribution not hard • S code module Ss,h even with interfaces EDF optimal • Latency optimal Ss,h(m1,0): idle(1) call(InDrv2) dispatch(Mixer; 2) idle(3) dispatch([MixSound]; 4) multiple processors intertask communication +  NP-complete

  16. LET and Temporal Partitioning • Add new task t4 • Increase execution time of t1

  17. SCC Properties • SCC module • is time-safe if no driver accesses a released task before completion • complies with timing interface if all tasks are executed in time intervals • Platform dependent properties (wcet) • Deadlines specified in the E code • SCC module - state transition system • Two properties – safety properties

  18. Verification • Giotto program G • n : bound on all numbers in G • gs,h : size of Giotto component implemented by supplier son host h • Correctness To check if a distributed SCC program Pcorrectly implements Giotto program Git is enough to check if each Ps,hcomplies to Ts,h and is time-safe • Complexity If a given Ps,hcomplies to Ts,h and is time-safe can be checked in O(gs,h n) time

  19. Verification • Module modification • task invocation, interaction - Es,h • schedule - Ss,h • execution time - wcet O(gs,h n)

More Related