1 / 60

Giotto

Giotto. www.eecs.berkeley.edu/~fresco/giotto. Embedded Control Systems Development with. Thomas A. Henzinger Ben Horowitz Christoph M. Kirsch University of California, Berkeley. (presented by Marius Minea). Embedded Systems Development. Application. models derives simulates.

vidor
Télécharger la présentation

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. Giotto www.eecs.berkeley.edu/~fresco/giotto Embedded Control Systems Development with Thomas A. Henzinger Ben Horowitz Christoph M. Kirsch University of California, Berkeley (presented by Marius Minea)

  2. Embedded Systems Development Application models derives simulates Control Engineer Control Design Matlab Functionality & Timing Giotto Program decomposes implements tests Software Engineer Distributed Platform Giotto!

  3. Our Approach The Time-Triggered Paradigm [Kopetz]: -all communication activities triggered by clock -predictability (i.e., verifiability) -safety-critical applications (e.g., automotive) TTA: hardware & protocol realization Giotto: programming language realization

  4. Motivating Example: Flight Control (DARPA SEC Program)

  5. INU task pitch control aileron 1 task GPS task aileron 2 task air data task tailplane task throttle control pilot task rudder task thrust task Periodic Tasks roll control Sensor tasks Control tasks Actuator tasks

  6. 200 Hz 1 kHz 200 Hz 1 kHz

  7. Modes • Control system of airplane is designed to operate in different modes. In each mode a particular set of controllers is deployed. There are switches between modes. • For example: • Navigational modes (taxi, takeoff, cruise). • Maneuver modes (dive, roll). • Fault tolerance modes (track which hardware is working).

  8. Giotto • Giotto is a tool-supported methodology for embedded control systems design • Giotto consists of • a time-triggered and platform-independent programming language • a compiler • a runtime library • Giotto provides an abstract programmer’s model

  9. The Giotto Methodology Functionality & Timing Giotto Program Compilation Scheduling & Communication Giotto Executable Giotto Runtime Library RTOS, e.g., VxWorks Distributed Platform

  10. Task Definition: Abstract Syntax State Input ports f Output ports Period

  11. Task Invocation:Time-Deterministic Semantics Task State Input ports f Output ports Period 10ms Time Read @ time t Write @ time t+10ms

  12. Task Invocation:Time-Deterministic Semantics Actual time the task uses the CPU (may be preempted) Task State Input ports f Output ports Period 10ms Don’t care Time Read @ time t Write @ time t+10ms

  13. Input/Output:Sensors-Control Law-Actuators State Sensors f Actuators

  14. Inter-task Communication: Connections P Q

  15. Different Periods Task P Q Q Time t t t+5ms t+5ms t+10ms

  16. Q-to-Q Connection P Q

  17. Zero-Delay Semantics Task P Q Q Time t t

  18. P-to-Q Connection P Q

  19. Zero-Delay Semantics Task P Q Q Time t t

  20. Time-Deterministic Semantics Task P Perhaps on same CPU Q Q Don’t care Time t t+5ms t+5ms

  21. Time-Deterministic Semantics Task P Q Q Time t t+5ms t+5ms

  22. Time-Deterministic Semantics Task P Most recent value guaranteed to be available (may have to be buffered) Q Q Time t t+5ms t+5ms

  23. Time-Deterministic Semantics Task P Q Q t t+5ms t+5ms t+10ms t+10ms

  24. An Abstract Programmer’s Model High-Level Programming Giotto Functionality Input/Output Ports Time-Determ. Computation Zero-Delay Communication Timing

  25. Giotto Modes • Multi-modal control • Fault tolerance • Event modeling • Resource sharing • Uncertain environments Some Motivations:

  26. Giotto Modes • A mode is a parameterized set of tasks. • A Giotto program consists of a set of modes and mode switches. • A Giotto system is in a single mode at any given time.

  27. Abstract Syntax of a Mode Entry Port P 1 Q 2 Period 10ms Frequencies

  28. Abstract Syntax of a Mode Switch Connection M M’ Frequency2: evaluation of trigger predicate every 5ms Trigger predicate

  29. Mode M P 1 Connection Q 2 Period 10ms

  30. Mode M’ P 1 R 4 Connection Period 10ms

  31. Concrete Syntax startm ( ) { modem ( )period10 ms{ taskfreq1doP ( ) ; taskfreq2doQ ( x, y ) ; exitfreq2ify = 5thenm’ ( y ) ; } modem’ ( int z )period10 ms{ taskfreq1doP ( ) ; taskfreq4doR ( x, z ) ; } } Tasks are C procedures

  32. Semantics of the Mode Switch Task P P Q Q R Easy Case: Mode Switch @ t+10ms t+10ms

  33. Semantics of the Mode Switch Task P Q Time Interesting Case: Mode Switch @ t+5ms

  34. Semantics of the Mode Switch Task P P Q R R R t+5ms t+5ms t+7.5ms t+10ms

  35. Mode M P 1 Connection Q 2

  36. Semantics of the Mode Switch Task P Mode switch already finished! Q R R Time t+5ms t+5ms

  37. Mode M’ P 1 R 4 Connection

  38. Semantics of the Mode Switch Task P Q R R Time t+5ms t+5ms

  39. Mode M’ P 1 R 4 Connection

  40. Semantics of the Mode Switch Task P Q R R Time t+5ms t+5ms

  41. Mode M’ P 1 R 4 Connection

  42. Semantics of the Mode Switch Task P Initial value Q R R Time t+5ms t+5ms

  43. Semantics of the Mode Switch Task P Q R R Time

  44. The Abstract Programmer’s Model High-Level Programming Giotto Functionality Input/Output Ports Time-Determ. Computation Zero-Delay Communication Timing Decomposition Modes

  45. The Giotto Compiler • Automatic code generation • Compilation directives in the form of Giotto annotations for distributed platforms

  46. The Giotto Compiler Giotto Program • Two possible answers: • Giotto executable • “Not schedulable” Giotto Compiler (either because program overconstrained, or because compiler not smart enough) Giotto Executable

  47. Closing the Gap:Giotto-Architecture Annotations Giotto Program Hosts (CPUs), Nets, Worst-case execution / transmission times Giotto-A Program Giotto Compiler Distributed Platform

  48. Closing the Gap:Giotto-Mapping Annotations Giotto Program Giotto-A Program Hosts, Nets, Performance Tasks to Hosts, Connections to Nets Giotto-AM Program Giotto Compiler Distributed Platform

  49. Closing the Gap:Giotto-Schedule Annotations Giotto Program Giotto-A Program Hosts, Nets, Performance Tasks to Hosts, Connections to Nets Giotto-AM Program Tasks to Priorities (say), Connections to TDMA (say) Giotto-AMS Program Giotto Compiler Distributed Platform

  50. Platform Dependency Computation Task P Q Q Time

More Related