1 / 93

Giotto

Giotto. A Time-Triggered Language for Embedded Programming. Thomas A. Henzinger, Benjamin Horowitz, Christoph M. Kirsch UC Berkeley. Embedded Programming. Giotto is a time-triggered and platform independent programming language Giotto aims at hard real-time applications

kuper
Download Presentation

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 A Time-Triggered Language for Embedded Programming Thomas A. Henzinger, Benjamin Horowitz, Christoph M. Kirsch UC Berkeley

  2. Embedded Programming • Giotto is a time-triggered and platform independent programming language • Giotto aims at hard real-time applications • Giotto consists of ports, tasks, modes • Giotto works, with VxWorks, Ptolemy

  3. Sneak Preview

  4. Functionality & Timing Application decomposes designs simulates Control Engineer Control Design Matlab! First Challenge Implementation decomposes implements tests Software Engineer Platform Giotto!

  5. Preserving Structure Control Design Control Engineer decomposes Second Challenge Software Engineer decomposes Implementation

  6. Compilation Software Engineer Implementation decomposes implements tests Third Challenge Platform

  7. A Task

  8. Abstract Syntax of a Task f

  9. Abstract Syntax of a Task State f

  10. Abstract Syntax of a Task State Input ports f

  11. Abstract Syntax of a Task State Input ports f Output ports

  12. Abstract Syntax of a Task State Input ports f Output ports Frequency

  13. Semantics of a Task State Input ports f Output ports Frequency 10ms

  14. Semantics of a Task Task State Input ports f Output ports Frequency 10ms Time

  15. Semantics of a Task Task State Input ports f Output ports Frequency 10ms Time Read @ time t

  16. Semantics of a Task Task State Input ports f Output ports Frequency 10ms Time Read @ time t Write @ time t+10ms

  17. Semantics of a Task Task State Input ports f Output ports Frequency 10ms Don’t care Time Read @ time t Write @ time t+10ms

  18. A Connection State Input ports f Output ports

  19. Abstract Syntax of a Connection State Constant f

  20. Abstract Syntax of a Connection State Input port f Output port

  21. Semantics of a Connection Task State State f f Time

  22. Semantics of a Connection Task State State f f Time Write @ time t

  23. Semantics of a Connection Task State State f f Time Write @ time t Read @ time t

  24. Semantics of a Connection Task State State f f 0 time Time Write @ time t Read @ time t

  25. Two Tasks Input ports P Output ports

  26. Two Tasks Input ports P Output ports Input ports Q Output ports

  27. Connections P Q

  28. Connections P Q

  29. Connections P Q

  30. Different Periodicity Task P Q Q Time

  31. Semantics Task P Q Q Time t t+10ms

  32. Semantics Task P Q Q Time t t t+5ms t+5ms t+10ms

  33. Semantics Task P Q Q Time t t

  34. Connections P Q

  35. Semantics Task P Q Q Time t t

  36. Connections P Q

  37. Semantics Task P Q Q Time t t

  38. Semantics Task P Q Q Don’t care Time t t+5ms

  39. Semantics Task P Q Q Time t+5ms t+5ms

  40. Semantics Task P Q Q Time t+5ms t+5ms

  41. Semantics Task P Q Q Time t+5ms t+5ms

  42. Semantics Task P Q Q t+10ms t+10ms

  43. Decomposition • Multi-modal control • Fault tolerance • Events • Resource sharing • Uncertain environments Second Challenge:

  44. A Mode

  45. Abstract Syntax of a Mode P Q

  46. Abstract Syntax of a Mode P Q

  47. Abstract Syntax of a Mode P Q

  48. Abstract Syntax of a Mode Entry Port P Q

  49. Abstract Syntax of a Mode Entry Port P Q Period

  50. Semantics of a Mode Entry Port P 1 Q 2 Period 10ms

More Related