Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.

Slides:



Advertisements
Similar presentations
Requirements on the Execution of Kahn Process Networks Marc Geilen and Twan Basten 11 April 2003 /e.
Advertisements

DATAFLOW PROCESS NETWORKS Edward A. Lee Thomas M. Parks.
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
Synthesis of Embedded Software Using Free-Choice Petri Nets.
2/11/2010 BEARS 2010 On PTIDES Programming Model John Eidson Jeff C. Jensen Edward A. Lee Slobodan Matic Jia Zou PtidyOS.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Causality Interfaces for Actor Networks Ye Zhou and Edward A. Lee University of California,
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
Type System, March 12, Data Types and Behavioral Types Yuhong Xiong Edward A. Lee Department of Electrical Engineering and Computer Sciences University.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Leveraging Synchronous Language Principles for Hybrid System Models Haiyang Zheng and.
A denotational framework for comparing models of computation Daniele Gasperini.
Using Interfaces to Analyze Compositionality Haiyang Zheng and Rachel Zhou EE290N Class Project Presentation Dec. 10, 2004.
April 16, 2009 Center for Hybrid and Embedded Software Systems PtidyOS: An Operating System based on the PTIDES Programming.
Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo.
Causality Interface  Declares the dependency that output events have on input events.  D is an ordered set associated with the min ( ) and plus ( ) operators.
Activity, Collaboration, and Component Diagrams Philip Liew
February 12, 2009 Center for Hybrid and Embedded Software Systems Encapsulated Model Transformation Rule A transformation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
An Extensible Type System for Component-Based Design
1 Quasi-Static Scheduling of Embedded Software Using Free-Choice Petri Nets Marco Sgroi, Alberto Sangiovanni-Vincentelli Luciano Lavagno University of.
Dataflow Process Networks Lee & Parks Synchronous Dataflow Lee & Messerschmitt Abhijit Davare Nathan Kitchen.
Models of Computation for Embedded System Design Alvise Bonivento.
A Denotational Semantics For Dataflow with Firing Edward A. Lee Jike Chong Wei Zheng Paper Discussion for.
Hierarchical Reconfiguration of Dataflow Graphs Stephen Neuendorffer UC Berkeley Poster Preview May 10, 2004.
Heterochronous Dataflow in Ptolemy II Brian K. Vogel EE249 Project Presentation, Dec. 4, 1999.
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.
February 12, 2009 Center for Hybrid and Embedded Software Systems Model Transformation Using ERG Controller Thomas H. Feng.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 11, 2009 Dataflow.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 PTIDES: A Programming Model for Time- Synchronized Distributed Real-time Systems Yang.
CS294-6 Reconfigurable Computing Day 23 November 10, 1998 Stream Processing.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
T F Select … (5, F) (4, F) (3, F) (2, T) (1, T) … (3, ‘Z’) (2, ‘Y’) (1, ‘X’) … (1, ‘A’)
Motivation  Synthesis-based methodology for quick design space exploration enabled by automatic synthesis followed by analysis  Automatic synthesis:
Models of Computation as Program Transformations Chris Chang
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
USE Case Model.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
, A Contract-Based Methodology for Aircraft Electric Power System Design IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS,pp ,ISSN ,9.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS Hardware/Software Codesign of Embedded Systems Voicu Groza SITE Hall, Room.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Software Pipelining for Stream Programs on Resource Constrained Multi-core Architectures IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEM 2012 Authors:
An efficient active replication scheme that tolerate failures in distributed embedded real-time systems Alain Girault, Hamoudi Kalla and Yves Sorel Pop.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
1 Digitally Controlled Converter with Dynamic Change of Control Law and Power Throughput Carsten Nesgaard Michael A. E. Andersen Nils Nielsen Technical.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
1 Advanced Behavioral Model Part 1: Processes and Threads Part 2: Time and Space Chapter22~23 Speaker: 陳 奕 全 Real-time and Embedded System Lab 10 Oct.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Tolerating Communication and Processor Failures in Distributed Real-Time Systems Hamoudi Kalla, Alain Girault and Yves Sorel Grenoble, November 13, 2003.
Royal Institute of Technology System Specification Fundamentals Axel Jantsch, Royal Institute of Technology Stockholm, Sweden.
CS 542: Topics in Distributed Systems Self-Stabilization.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
CPE555A: Real-Time Embedded Systems
Types of Testing Visit to more Learning Resources.
Compositionality in Synchronous Data Flow
Software testing.
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Mark McKelvin EE249 Embedded System Design December 03, 2002
Presentation transcript:

Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project

2 Course 290N, Fall 2004 Motivation Designers of safety critical, cost sensitive applications commonly use block diagrams to model system component interactions –Block diagrams define the topology of the system and data dependencies among components –Components may be distributed across a hardware platform and characterized by redundant software and hardware components to improve reliability Creating design environments and tools based on a precise models of computation to aid formal techniques, Fault Tolerant Data Flow (FTDF) –Examples: Deriving fault trees from a system specification, automatically generating code on a distributed platform

3 Course 290N, Fall 2004 Fault Tolerant Data Flow FTDF is an experimental model of computation amenable to describe periodic feedback control systems, i.e. controlling a plant (Pinello, 2004) –A data flow variant introduced as a formalism for which automatic techniques for formal analysis and validation can be performed A FTDF specification is composed of functional components (actors) and communication media (channel buffers)

4 Course 290N, Fall 2004 FTDF Semantics A data flow process F is computed as a sequence of firings that are enabled by a firing rule f is a (possibly partial) function that must be defined for all firing rules of an actor and is finite We can proceed to find a least fixed point by repeatedly firing the actor based on its firing function such that the firing rules are satisfied, and in doing so, we define the operational semantics of a data flow process In FTDF, an actor can fire on a subset of inputs F, f Actor inputs outputs

5 Course 290N, Fall 2004 Rules of Composition Given a set of actors, A, and a set of communication media, M, connecting actors, a FTDF graph, G = (V, E) where V = A and E= M Legal FTDF Graph Constraints –G contains no causality cycles –A legal graph must start with source actors and complete a cycle with sink actors –All actors in graph G must execute at least once before a new cycle begins FTDF tokens are exchanged on each cycle with synchronous semantics Based on these constraints for composition, we can determine the data dependencies of the Actors in the graph. It determines the order, or schedule, which actors may fire and communication may occur

6 Course 290N, Fall 2004 FTDF Assumptions A fault event in nodes in the FTDF graph assume fail silence –Fail silence: produces correct results or produces no results at all In general, fault events could be generated due to: –Processing element fault –Communication media fault –Actor fault (i.e. may be due to failure or producing invalid outputs) However, I simplify by only assuming an actor fault since the graph is “flattened” and no fault on communication channel

7 Course 290N, Fall 2004 Implementation Requirements –1. For each actor in a graph, a firing function is defined that satisfies each actor’s firing rules –2. Construction of a “legal” FTDF graph Ptolemy II –1. If requirements above are satisfied, all actors are placed in a list and ordered based on functional dependencies –2. Each actor executes according to a schedule known before compile time –3. If an actor cannot fire, an Exception is thrown alerting the designer that an actor cannot fire due to not satisfying its firing rules

8 Course 290N, Fall 2004 Conclusions and Open Issues Scheduler for the FTDF domain is constructed in Ptolemy II –Programming issues and bugs with remainder of the FTDF domain still needs resolving Bounded memory execution? –Yes. Synchronous semantics ensures only one firing per cycle for any upstream actor Is such a domain useful? –Possibly adjusting FTDF behavior to other existing domains What if tokens arrive out of order, “late”? Can FTDF models be statically scheduled as in SSDF (Statically Schedulable Data Flow) –Its possible, but balance equations must be dynamically altered between cycles

9 Course 290N, Fall 2004 References C. Pinello, L. P. Carloni, and A. L. Sangiovanni-Vincentelli. Fault-tolerant deployment of embedded software for cost-sensitive real-time feedback-control applications, Proc. Conf. Design, Automation, and Test in Europe (DATE), S. Edwards, L. Lavagno, E. Lee, A. Sangiovanni-Vincentelli. Design of Embedded Systems: Formal Methods, Validation and Synthesis. Proceedings of the IEEE, vol. 85(n.3) – March 1997, p E. A. Lee and T. M. Parks, ``Dataflow Process Networks,'', Proceedings of the IEEE, vol. 83, no. 5, pp , May, E. A. Lee and D. G. Messerschmitt, ``Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing,'' IEEE Trans. on Computers, January, 1987.

10 Course 290N, Fall 2004 Reliability Block Diagrams RBDs are diagrams for representing how components of a system are arranged and structurally connected in terms of reliability Commercial Tools: Relex RBD (Relex Software Corporation), BlockSim (ReliaSoft) B C D 1/2A