CSP-Style Rendezvous Communication Thomas Feng, Edward Lee, Yang Zhao

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Service Bus Service Bus Access Control.
Sequential Logic Circuits. Set-Reset Latch The Set-Reset latch or bistable is a simple sequential logic circuit that remembers what has happened to the.
Programming in Occam-pi: A Tutorial By: Zain-ul-Abdin
The cardiac pacemaker – SystemJ versus Safety Critical Java Heejong Park, Avinash Malik, Muhammad Nadeem, and Zoran Salcic. University of Auckland, NZ.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
DATAFLOW PROCESS NETWORKS Edward A. Lee Thomas M. Parks.
Neochiron An Architecture Assembly Language. ADL Constructs Architecture description language – provides primitives for composing an architecture Components,
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
Component Technologies for Embedded Systems Johan Eker.
Type System, March 12, Data Types and Behavioral Types Yuhong Xiong Edward A. Lee Department of Electrical Engineering and Computer Sciences University.
Behavioral Types as Interface Definitions for Concurrent Components Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley.
Heterogeneous Modeling and Design in Ptolemy II Johan Eker UC Berkeley with material courtesy of Edward Lee and the Ptolemy group ECE Seminar Series, Carnegie.
February 12, 2009 Center for Hybrid and Embedded Software Systems Encapsulated Model Transformation Rule A transformation.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Causality Interfaces and Compositional Causality Analysis Rachel Zhou UC Berkeley.
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.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley System-Level Types for Component-Based Design Edward A.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Concurrent Component Patterns, Models of Computation, and.
February 12, 2009 Center for Hybrid and Embedded Software Systems Model Transformation Using ERG Controller Thomas H. Feng.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 PTIDES: A Programming Model for Time- Synchronized Distributed Real-time Systems Yang.
Interface-based Design Donald Chai EE249. Outline Orthogonalization of concerns Formalisms Interface-based Design Example Cheetah Simulator Future Inroads.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 The Component Interaction Domain: Modeling Event-Driven and Demand- Driven Applications.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
Models of Computation as Program Transformations Chris Chang
Department of Electrical Engineering and Computer Sciences University of California at Berkeley The Ptolemy II Framework for Visual Languages Xiaojun Liu.
Composing Models of Computation in Kepler/Ptolemy II
Programming Paradigms for Concurrency Pavol Cerny Vasu Singh Thomas Wies Part III – Message Passing Concurrency.
Seminar on Component-based Software Engineering Component Coordination Nadia Ramjiawan LIACS - Leiden University Fall 2005.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
Math – What is a Function? 1. 2 input output function.
I ndustrial Cy ber- Ph ysical Systems October 16, 2015 CyPhySim CyPhySim is an open-source simulator for cyber-physical systems. The.
Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. Presented by: Tim Fleck.
Lecture 4 General-Purpose Input/Output NCHUEE 720A Lab Prof. Jichiang Tsai.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Parallel Programming Models EECC 756 David D. McGann 18 May, 1999.
Coupling and Cohesion Rajni Bhalla.
Elaine Cheong Yang Zhao December 8, 2001
Exercise I Implement in Java asynchronous communication between threads via unbounded FIFO buffers. Provide also a means to initialize these buffers.
SOFTWARE DESIGN AND ARCHITECTURE
Mobile Operating System
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Course Name: Computer Application Topic: Central Processing Unit (CPU)
Event Relation Graphs and Extensions in Ptolemy II
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Code Generation for Ptolemy II
CSCI1600: Embedded and Real Time Software
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
Concurrent Models of Computation
Sarah Diesburg Operating Systems COP 4610
More Loops.
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
= + 1 x x2 - 4 x x x2 x g(x) = f(x) = x2 - 4 g(f(x))
CS703 - Advanced Operating Systems
Parallel execution Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Function Rules and Tables.
Channels.
Paper written by Flavio Oquendo Presented by Ernesto Medina
Concurrency and Immutability
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
A Semantic Type System and Propagation
Channels.
Software Analysis.
Channels.
Concurrent Models of Computation
Parallel execution Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Modeling Event-Based Systems in Ptolemy II EE249 Project Status Report
Concurrency in GO CS240 23/8/2017.
Generic Set Algorithms
Presentation transcript:

CSP-Style Rendezvous Communication Thomas Feng, Edward Lee, Yang Zhao Rendezvous Domain Built based on the understanding and previous implementation of the CSP (Communicating Sequential Processes) domain. No buffer on the communication channels. The processes are implemented as Ptolemy actors running in their own threads. When two or more actors communicate via the communication channels between them, a rendezvous (consensus) must be made. Merge and Barrier Barrier – get from all the input channels at once. Merge – get from any of the input channels, and output to its single output channel. Barrier and Merge are not processes They are primitive coordination operators. There is no delay between input and output. Atomic Operations In addition to the operations for getting from input ports and putting to output ports available in other domains, the Rendezvous domain provides finer-grain operations. 1. getFromAll. Get from all the input channels, and return the array of tokens. Barrier uses this atomic operation. 2. putToAll. Put to all the output channels. 3. getFromAny. Get from any of the input channels, and return a single token. 4. putToAny. Put to any of the output channels. 5. getFromAllPutToAll. Get from all the input channels, and put the tokens directly to the corresponding output channels. 6. getFromAnyPutToAll. Get from any of the input channels, and put the token directly to all the output channels. Merge uses this atomic operation. (Display1 ← Ramp1 OR Ramp2 ) AND (Display2 ← Ramp3 OR Ramp4) More complex logic operations for process coordination. Resource Management The Pool has a shared resource that can be granted to one Sleep actor until it is released. Sequencing Control The outputs of two independent tasks are sequenced before sending to the Display. (Arbab, Farhad. A Behavioral Model for Composition of Software Components. L'Object. 2006.) A Barrier implements the “AND” semantics on its input channels (“get from all”); a Merge implements the “OR” semantics on its input channels (“get from any”).