Shanna-Shaye Forbes Ben Lickly Man-Kit Leung

Slides:



Advertisements
Similar presentations
Undoing the Task: Moving Timing Analysis back to Functional Models Marco Di Natale, Haibo Zeng Scuola Superiore S. Anna – Pisa, Italy McGill University.
Advertisements

Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Event Driven Real-Time Programming CHESS Review University of California, Berkeley, USA May 10, 2004 Arkadeb Ghosal Joint work with Marco A. Sanvido, Christoph.
Page 1 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Chapter 13 Components in Real-Time Systems.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
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.
April 16, 2009 Center for Hybrid and Embedded Software Systems PtidyOS: An Operating System based on the PTIDES Programming.
8th Biennial Ptolemy Miniconference Berkeley, CA April 16, 2009 Precision Timed (PRET) Architecture Hiren D. Patel, Ben Lickly, Isaac Liu and Edward A.
Chess Review May 11, 2005 Berkeley, CA Composable Code Generation for Distributed Giotto Tom Henzinger Christoph Kirsch Slobodan Matic.
February 12, 2009 Center for Hybrid and Embedded Software Systems Encapsulated Model Transformation Rule A transformation.
Chapter 13 Embedded Systems
Mixing Models of Computation Jie Liu Palo Alto Research Center (PARC) 3333 Coyote Hill Rd., Palo Alto, CA joint work with Prof. Edward.
Expressing Giotto in xGiotto and related schedulability problems Class Project Presentation Concurrent Models of Computation for Embedded Software University.
February 21, 2008 Center for Hybrid and Embedded Software Systems Mapping A Timed Functional Specification to a Precision.
SEC PI Meeting Annapolis, May 8-9, 2001 Component-Based Design of Embedded Control Systems Edward A. Lee & Jie Liu UC Berkeley with thanks to the entire.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 PTIDES: A Programming Model for Time- Synchronized Distributed Real-time Systems Yang.
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
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 MESCAL Application Modeling and Mapping: Warpath Andrew Mihal and the MESCAL team UC Berkeley.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
An Introduction to Rational Rose Real-Time
EMBEDDED SOFTWARE Team victorious Team Victorious.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Advances in Language Design
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Research & Development Roadmap 1. Outline A New Communication Framework Giving Bro Control over the Network Security Monitoring for Industrial Control.
Giotto A tool-supported design methodology for developing hard real-time applications Cyber Physical Systems Lab Ramtin Raji Kermani.
1 LiSyC ENSIETA/DTN 02/04/2008 AADL execution semantics transformation for formal verification Joel Champeau, Thomas Abdoul, Pierre Yves Pillain, Philippe.
Model-Based Embedded Real- Time Software Development Dionisio de Niz and Raj Rajkumar Real-Time and Multimedia Sys Lab Carnegie Mellon University.
Handling Mixed-Criticality in SoC- based Real-Time Embedded Systems Rodolfo Pellizzoni, Patrick Meredith, Min-Young Nam, Mu Sun, Marco Caccamo, Lui Sha.
> Power Supervison Desired Output level Source Diesel Valve Sink Diesel Valve > Valve Regulator Sink T = 40 ms Air Valve CBSE Course The SaveComp Component.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Incremental Checkpointing with Application to Distributed Discrete Event Simulation Thomas Huining Feng and Edward A. Lee {tfeng,
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Architecture Analysis and Design Language: An Overview Drew Gardner.
February 12, 2009 Center for Hybrid and Embedded Software Systems Timing-aware Exceptions for a Precision Timed (PRET)
Real-time Software Design
Elaine Cheong Yang Zhao December 8, 2001
CPE555A: Real-Time Embedded Systems
Mobile Operating System
Morgan Kaufmann Publishers
Some Simple Definitions for Testing
Real-time Software Design
Event Relation Graphs and Extensions in Ptolemy II
Introduction to Realtime Systems (& Embedded Systems)
CSCI/CMPE 3334 Systems Programming
Code Generation for Ptolemy II
A Precision Timed Architecture for Predictable and Repeatable Timing
Foundations of Computer Science
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Precision Timed Machine (PRET)
Hiren D. Patel Isaac Liu Ben Lickly Edward A. Lee
Retargetable Model-Based Code Generation in Ptolemy II
Logical architecture refinement
Timing-aware Exceptions for a Precision Timed (PRET) Target
Instructions to get MAX PLUS running
Spring CS 599. Instructor: Jyo Deshmukh
Automated Analysis and Code Generation for Domain-Specific Models
Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003
Design Yaodong Bi.
Programming with Shared Memory Specifying parallelism
COMP3221: Microprocessors and Embedded Systems
STATE MACHINE AND CONCURRENT
Abstractions for Fault Tolerance
Software Development Process Using UML Recap
Prof. Onur Mutlu Carnegie Mellon University
Presentation transcript:

C Code Generation from the Giotto Model of Computation to the PRET Architecture Shanna-Shaye Forbes Ben Lickly Man-Kit Leung EE290N Course Project, Spring 2009 May 15, 2009

Overview Why is real-time important? PRET/Giotto Overview Code Generation Infrastructure Approach Limitations/Future Work Elevator Controller Example

Motivation Timing as important as functionality Traditional languages and architectures do not support timing on the same level as functionality. PRET and Giotto together support timing specifications and guarantees. *In real-time embedded systems it is important to guarantee correct functionality as well as timing constraints *C, the de facto programming language lacks constructs to precise timing *Most embedded processors used lack constructs to provide deterministic and precise timing *This project maps the Giotto timing semantics to a processor with direct hardware support instead of best effort attempts at timing.

Precision Timed Architecture Architectural features support timing predictability Instruction set architecture includes instructions to manage timing Exception mechanism for missed deadlines

Giotto Giotto is a time-triggered language for embedded programming. Ideal for hard real-time applications with time- periodic and multimodal behavior. It specifies time-triggered sensor readings, task invocations, actuator updates, and mode switches independent of any implementation platform. Unit delay in task communication Tasks communicate through ports Drivers move input values from ports to inputs at the beginning of a task’s execution Drivers move input values from outputs to ports at the end of a task’s execution

Giotto in Ptolemy II Each actor is a separate task. Period/frequency specified with attributes. Models can be composed hierarchically, with modes represented through modal models. - Each actor is a separate task. This means unit delays between all actors - Period/frequency is the logical execution time of a task -Models can be composed hierarchically, with modal models. Both Giotto and heterogeneous models Actors at the same level of hierarchy are executing concurrently. The modal model contains the tasks that are to be swapped out in a given mode switch.

Extending the Ptolemy II CodeGenration Framework Continued extension

Ptolemy II Code Generation Ptolemy II has an adapter based extensible code generation framework. We have continued this extension to support Giotto and PRET. * Adapters are component code generators so that we can easily custimize our own.

Mapping from Giotto to PRET Each Giotto task is mapped to a separate hardware thread. Threads communicate through shared memory. Input and output drivers are responsible for moving data. PRET’s timing instructions detect errors when deadlines are missed. - Each actor governed by a Giotto director is mapped to it’s own hardware thread on PRET. - We use shared memory as port locations to communicate between hardware threads - Drivers read a value from a port at the beginning of a period and write output values to ports at the end of the period. - Period/frequency is the logical execution time of a task - We use PRET’s Try in instruction to determine when an overrun of the specified deadline occurs - Currently the try In exception mechanism forces all threads to halt their execution and exits with the interpretation that a fatal error has occurred.

Limitations/Future Work Giotto does not specify error behavior. We assume errors are fatal. This approach is tied to a PRET architecture. Fixed number of hardware threads in PRET. ** In pacemaker or other realtime examples, graceful failure behavior is very important. Hierarchy in Ptolemy II enables expressiveness the code generator adapter must also replicate. --- can’t support Giotto inside a modal model right now(move this to the notes slide though… in case someone asks)

Elevator Controller Example Run in the PRET simulator so we provided inputs/elevator requests as sequences to the elevator controller.

The composite actor on the left provides a top level shell for the sequence inputs provided to the elevator controller. Elevator Controller is for a simple two story elevator. We will show the refinement on the next slide

Generated Code Example Actor -> task

Summary Ptolemy II allows simulation of timed models of computation. Generated code uses timing instructions of the target architecture to preserve these timing semantics. Provided a possible programming model for a new timed architecture. Code Generation support for a model of computation with timing specifications. Ptolemy II allows you to simulate your model, our project allows you to generate C code from the model and run in on a processor with direct support for timing in its ISA. Provided a possible programming model for a new timed architecture.

Questions? Comments? Suggestions?