A Hierarchical Co-ordination Language for Interacting Real-time Tasks Arkadeb Ghosal, UC Berkeley Thomas A. Henzinger, EPFL Daniel Iercan, "Politehnica"

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Embedded System, A Brief Introduction
Making the System Operational
Simulation of Feedback Scheduling Dan Henriksson, Anton Cervin and Karl-Erik Årzén Department of Automatic Control.
Separate Compilation of Hierarchical Real-Time Programs into Linear-Bounded Embedded Machine Code Arkadeb GHOSAL, UC Berkeley Christoph KIRSCH, University.
Reliable Scripting Using Push Logic Push Logic David Greaves, Daniel Gordon University of Cambridge Computer Laboratory Reliable Scripting.
Flexible Scheduling of Software with Logical Execution Time Constraints* Stefan Resmerita and Patricia Derler University of Salzburg, Austria *UC Berkeley,
Logical Reliability of Interacting Real-Time Tasks Krishnendu Chatterjee, UC Berkeley Arkadeb Ghosal, UC Berkeley Thomas A. Henzinger, EPFL Daniel Iercan,
Undoing the Task: Moving Timing Analysis back to Functional Models Marco Di Natale, Haibo Zeng Scuola Superiore S. Anna – Pisa, Italy McGill University.
Time Safety Checking for Embedded Programs Thomas A. Henzinger, Christoph M. Kirsch, Rupak Majumdar and Slobodan Matic.
Event Driven Real-Time Programming CHESS Review University of California, Berkeley, USA May 10, 2004 Arkadeb Ghosal Joint work with Marco A. Sanvido, Christoph.
Introduction Designing cost-sensitive real-time control systems for safety-critical applications requires a careful analysis of the cost/fault-coverage.
Overview of PTIDES Project
Page 1 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Chapter 13 Components in Real-Time Systems.
Power-Window Control A design exploration using Felix VCC Claudio Pinello EE249 Fall 1998 Prof. Alberto Sangiovanni-Vincentelli Mentor: Dr. Alberto Ferrari.
Architecture Modeling and Analysis for Embedded Systems Oleg Sokolsky CIS700 Fall 2005.
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
IBM WebSphere survey Kristian Bisgaard Lassen. University of AarhusIBM WebSphere survey2 Tools  WebSphere Application Server Portal Studio Business Integration.
Department of Electrical and Computer Engineering Texas A&M University College Station, TX Abstract 4-Level Elevator Controller Lessons Learned.
Chess Review May 11, 2005 Berkeley, CA Composable Code Generation for Distributed Giotto Tom Henzinger Christoph Kirsch Slobodan Matic.
1: Operating Systems Overview
Programming Language Semantics Java Threads and Locks Informal Introduction The Java Specification Language Chapter 17.
Why Behavioral Wait statement Signal Timing Examples of Behavioral Descriptions –ROM.
Expressing Giotto in xGiotto and related schedulability problems Class Project Presentation Concurrent Models of Computation for Embedded Software University.
Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Mahapatra-A&M-Sprong'021 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
Code Generation from CHARON Rajeev Alur, Yerang Hur, Franjo Ivancic, Jesung Kim, Insup Lee, and Oleg Sokolsky University of Pennsylvania.
Problem Background Motivation Design a task and bus scheduling tool that works with the automotive design process and captures the constraints that the.
An Introduction to Rational Rose Real-Time
What is it? A mobile robotics system controls a manned or partially manned vehicle-car, submarine, space vehicle | Website for Students.
OpenCL Introduction A TECHNICAL REVIEW LU OCT
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
PLC introduction1 Discrete Event Control Concept Representation DEC controller design DEC controller implementation.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
IAY 0600 Digitaalsüsteemide disain Event-Driven Simulation Alexander Sudnitson Tallinn University of Technology.
System & Control Control theory is an interdisciplinary branch of engineering and mathematics, that deals with the behavior of dynamical systems. The desired.
Parallel Programming Models Basic question: what is the “right” way to write parallel programs –And deal with the complexity of finding parallelism, coarsening.
1. Introduction 1.1 Background 1.2 Real-time applications 1.3 Misconceptions 1.4 Issues in real-time computing 1.5 Structure of a real-time system.
An efficient active replication scheme that tolerate failures in distributed embedded real-time systems Alain Girault, Hamoudi Kalla and Yves Sorel Pop.
SOFTWARE DESIGN.
Other Chapters From the text by Valvano: Introduction to Embedded Systems: Interfacing to the Freescale 9S12.
Giotto A tool-supported design methodology for developing hard real-time applications Cyber Physical Systems Lab Ramtin Raji Kermani.
Conformance Test Experiments for Distributed Real-Time Systems Rachel Cardell-Oliver Complex Systems Group Department of Computer Science & Software Engineering.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
> Power Supervison Desired Output level Source Diesel Valve Sink Diesel Valve > Valve Regulator Sink T = 40 ms Air Valve CBSE Course The SaveComp Component.
Adaptive Cruise Control
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
IAY 0600 Digital Systems Design Event-Driven Simulation VHDL Discussion Alexander Sudnitson Tallinn University of Technology.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
A hierarchical coordination language for reliable real-time tasks Arkadeb Ghosal University of California, Berkeley Dissertation Talk CHESS Seminar 22.
Giotto Embedded Control Systems Development with Thomas A. Henzinger Ben Horowitz Christoph M. Kirsch University of California, Berkeley
Sensors and Transducers Grant Agreement No LLP UK-LEONARDO-LMP Project acronym: CLEM Project title: Cloud services for E-Learning in Mechatronics.
Embedded Control System Development with Giotto Thomas A. Henzinger, Benjamin Horowitz, Christoph Meyer Kirsch UC Berkeley.
Electromechanical Motor Control 석 사 2기 최 우 영 Systems & control Lab.
Adapted from Krste Asanovic
TrueTime.
IAY 0600 Digitaalsüsteemide disain
COEN 421- Embedded System and Software Design
Period Optimization for Hard Real-time Distributed Automotive Systems
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
Autonomous Cyber-Physical Systems: Synchronous Components: II
Presented By: Darlene Banta
Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003
Presentation transcript:

A Hierarchical Co-ordination Language for Interacting Real-time Tasks Arkadeb Ghosal, UC Berkeley Thomas A. Henzinger, EPFL Daniel Iercan, "Politehnica" U. of Timisoara Christoph Kirsch, University of Salzburg Alberto Sangiovanni-Vincentelli, UC Berkeley

active releasestartpreemptionresumecompletiontermination running Logical Execution Time (LET) completion event { Physical { Logical release eventtermination event The logical and physical execution times are depicted below. The events controlling a task behavior are: Events generated by the platform: start preempt resume completion Event generated by the environment: release termination Logical Execution Time

Communicators,Tasks and LET LET for task t2 t2 reads 2 nd instance of c3 t2 updates 6 th instance of c1 t2 updates 5 th instance of c2 A communicator is a variable (with a fixed data type) and can be accessed (i.e. read from and write to) only at specific time instances (denoted as communicator period). A task is a block of sequential code (without any internal synchronization point) that reads from certain instances of some communicators, performs computation and updates certain instances of the same or other communicators. The read/ write instances of communicators implicitly specify LET for task t1, t c1 c2 c3 c4 Four communicators c1, c2, c3 and c4 with access periodicity 2, 3, 4 and 3 respectively. LET for task t1 t1 reads 2 nd instance of c1 t1 reads 2 nd instance of c4 t1 updates 4 th instance of c2

Ports and Precedence A port is variable with fixed data type but is not bound to time instances i.e. as soon as the evaluation of t1 is complete, task t2 can read the output c1 c2 c3 Direct communication between tasks is allowed for tasks with identical frequencies (tasks with different frequencies can only communicate via communicators); direct communication ensure zero latency. LET for task t2 t2 reads 2 nd instance of c3 LET for task t1 t1 reads 2 nd instance of c1 t1 reads 2 nd instance of c4 LET for task t3 t3 updates 5 th instance of c2 The read/ write instances of communicators and ports implicitly specify LET for a task Task t2 and t3 writes the output to ports; at release t3 reads the ports.

program P Modes, Modules and Programs A mode is a group of task with identical frequency (expressed as mode period). Tasks within a mode may interact through ports; however tasks in different modes can only communicate through communicators. t1 t2 t3 mode m1 t1 t2 t3 mode m1 t4 t5 t6 t7 t8 t9 mode m2 mode m11 mode m12 mode m13 module M1 module M2 module M3 mode m31 mode m32 mode m22 mode m21 mode m23 HTL allows mode switching (possible only at end of mode periods) based on values of communicators and ports. A network of modes switching between themselves is referred as a module. An HTL program is a set of modules and a set of communicators. The modules are composed in parallel while modes in a module are composed sequentially. At any instance, tasks of at most one mode of a module may be executing.

Refinement A mode in a program can be replaced by another HTL program. This does not add expressiveness of the model; in fact a HTL program with arbitrary levels of refinement can be translated into one with no refinement. Refinement allows compact representation without overloading analysis; e.g. for an HTL program (with certain restrictions) schedulability is ensured if the top-level program (without considering any refinement) is schedulable.

Refinement t4 t5 t6 t7 t8 t9 mode m2 t4r t5r t6r t9r mode m2r -- latest communicator read of t5r  latest communicator read of t5, -- earliest communicator write of t5r  earliest communicator write of t5, -- dependencies of t5r  dependencies of t5, and -- wcet (t5r)  wcet (t5) and wctt (t5r)  wctt (t5) mode m2r refines mode m2 period [m2] = period [m2r] ensuring that when m2 switches, all tasks in m2r has terminated execution. every task in m2r maps to an unique task in m2; e.g. t5r to t5. t5 does not execute at run-time but ensures that t5r is accounted for during schedulability analysis of the top level program. Mapping is constrained in such a way that if mode m2 is schedulable, then mode m2 is schedulable as well. Schedulability needs to be checked only for the top level of an HTL program. This avoids a combinatorial explosion, and permits scheduling to be performed by the HTL compiler.

active releasestartcompletiontermination running transmission Logical Execution Time (LET) completion event { Physical { Logical release eventtermination event Distribution running Different modules can run on different hosts. The semantics remain the same as if they were running on a single host; however code generation and analysis take the distribution into account. Communicators shared across hosts are replicated in all hosts. When a task, writing to such a communicator, completes execution, the output is transmitted to all hosts. The transmission time is included in the LET for the task.

Steer-By-Wire Control Architecture Actuators: rack electric motors Sensors: steer angle/ torque, wheel angle, motor torque/ current, friction, power, pitch, yaw, roll MCU FR ECU1 Steering Feedback MCU FL MCU RR MCU RL ECU2 ECU3 ECU4 SENSORS FUNCTIONALITIES ACTUATORS Driver Interface Desired steer Desired Torque Vehicle Interface Wheel Angle Motor Current Motor Torque Speed Rolling Friction Power Pitch/ Yaw/ Roll Vehicle Actuation Wheel Motor Actuation Driver Feedback Steer Feedback Warning Power Coordinator Unit Motor Actuator Controller Steer Feedback Supervisory Control Fault Handling

SBW Implementation sensor_rr control fault diagnosis steer feedback power supervisor1 supervisor2 supervisor3 sensor_rl sensor_fr sensor_fl actuator_rr actuator_rl actuator_fr actuator_fl modules lohi sensor [rr, rl, fl, fr] actuator [rr, rl, fl, fr] steer feedback power lo hi startnml deg control fault diagnosis supervisor [1,2,3] lohi lohilohi nml emg modes idle motion crawl average manual cruise manual cruise over steering under steering fault1 fault2 no fault1 fault2 no fault2 fault1 refinement

CONTROLLER HTL COMPILER HTL Program Functionality Description Timing Description PLANT Host 1 S / A Host 2 S / A Host 3 S / A Inter-host communication Flatten E-code Generator Schedule Generator WCET + WCTT Estimator Well- formed? Well- timed? Schedulable ? E code E machine Functionality Implementation (C code) Implementation