Time-Portable Real-Time Programming with Exotasksck/content/talks/UCB07-Exotasks.pdfTime-Portable...

27
Time-Portable Real-Time Programming with Exotasks Christoph Kirsch Universität Salzburg Joint work with J. Auerbach, D. Bacon, D. Iercan, V.T. Rajan, H. Röck, and R. Trummer CHESS Seminar, UC Berkeley, February 2007

Transcript of Time-Portable Real-Time Programming with Exotasksck/content/talks/UCB07-Exotasks.pdfTime-Portable...

  • Time-Portable Real-TimeProgramming with Exotasks

    Christoph KirschUniversität Salzburg

    Joint work with J. Auerbach, D. Bacon, D. Iercan,V.T. Rajan, H. Röck, and R. Trummer

    CHESS Seminar, UC Berkeley, February 2007

  • © C. Kirsch 2007 2

    Exotask Eclipse PluginExotaskGraph

    Specification

  • © C. Kirsch 2007 2

    Exotask Eclipse Plugin

    Exotask

    Exotask

    Exotask

  • © C. Kirsch 2007 2

    Exotask Eclipse Plugin

    Connection Connection

  • © C. Kirsch 2007 2

    Exotask Eclipse PluginTiming

    Grammar

  • © C. Kirsch 2007

    Exotasks in Java

    3

    public class Controller implements Runnable { // Code generated from the specification: private ExotaskInputPort in0; private ExotaskOutputPort out0; public Controller(ExotaskInputPort in0, ExotaskOutputPort out0) { this.in0 = in0; this.out0 = out0; } // Code written by the user: public void run() { double[] sensorData = (double[]) in0.getValue(); out0.setValue( new Double(control(sensorData))); } private double control(double[] sensors) { ... the actual control algorithm ... }}

  • © C. Kirsch 2007

    TT Grammar

    4

    0 1 2 3 4 5 6 7 8 9 10

  • © C. Kirsch 2007

    TT Grammar

    4

    0 1 2 3 4 5 6 7 8 9 10

    Period

  • © C. Kirsch 2007

    TT Grammar

    4

    0 1 2 3 4 5 6 7 8 9 10

    TimeOffset

    TimeOffset

  • © C. Kirsch 2007

    Logical Execution Time

    0 1 2 3 4 5 6 7 8 9 10

    Plant

    Control System

    SensorTask

    Actuator

    Logical Execution Time

    5

  • © C. Kirsch 2007

    Actual Execution Time

    0 1 2 3 4 5 6 7 8 9 10

    Plant

    Control System

    Sensor

    Deadline

    ActuatorTask

    6

  • © C. Kirsch 2007

    Actual Execution Time

    0 1 2 3 4 5 6 7 8 9 10

    Plant

    Control System

    Sensor

    Deadline

    ActuatorTask

    6

  • © C. Kirsch 2007

    Time PortabilityPlant

    Control System

    A system’s I/O behavior is input-determined if,for all sequences I of input values and times,

    the system always producesunique sequences f(I) of output values and times.

    7

  • © C. Kirsch 2007

    Exotask Isolation

    8

    Private Heaps

  • © C. Kirsch 2007

    1. Validate, 2. Instantiate,3. Schedule & Execute

    9

    Exotask Runtime System

    public class Controller implements Runnable { // Code generated from the specification: private ExotaskInputPort in0; private ExotaskOutputPort out0; public Controller(ExotaskInputPort in0, ExotaskOutputPort out0) { this.in0 = in0; this.out0 = out0; } // Code written by the user: public void run() { double[] sensorData = (double[]) in0.getValue(); out0.setValue( new Double(control(sensorData))); } private double control(double[] sensors) { ... the actual control algorithm ... }}Exotask Graph

    Exotask CodeExotask GraphSpecification

    schedule execute

    instantiatevalidate

    invokes

  • The JAviator

  • © C. Kirsch 2007 11

    50Hz Hard Real Time

  • © C. Kirsch 2007 12

    JAviator Controller

  • © C. Kirsch 2007

    Control Terminal

    13

  • © C. Kirsch 2007 14

    Control Terminal Exotask Controller

    Demo

    Mock JAviator

  • © C. Kirsch 2007

    IBM’s TuningFork

    15

  • © C. Kirsch 2007 16

    TuningFork InstrumentedExotask System

    Experiments

  • © C. Kirsch 2007

    No GC in Progress

    17~3ms

  • © C. Kirsch 2007

    During GC

    18

  • © C. Kirsch 2007

    1.4GHz Laptop

    19~4ms

  • © C. Kirsch 2007

    Clamp-free Hover

    20

  • Thank you