We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byBraeden Apling
Modified about 1 year ago
© S. Ramesh / Kavi Arya / Krithi Ramamritham IT-606 Embedded Systems (Software) S. Ramesh Kavi Arya Krithi Ramamritham KReSIT/ IIT Bombay
© S. Ramesh / Kavi Arya / Krithi Ramamritham Esterel: Advanced Features S. Ramesh
© S. Ramesh / Kavi Arya / Krithi Ramamritham Multiform notion of time Belt Controller Specification: " Five seconds after the key is turned on, if the belt has not been fastened, an alarm will beep for five seconds or until the key is turned off"
© S. Ramesh / Kavi Arya / Krithi Ramamritham Declaration module belt_control: input reset, key_on, key_off, belt_on, end_5, end_10; output alarm(boolean), start_timer;
© S. Ramesh / Kavi Arya / Krithi Ramamritham Module body loop abort emit alarm(false); every key_on do abort emit start_timer; await end_5; emit alarm(true); await end_10; when [key_off or belt_on]; emit alarm(false); end when reset end
© S. Ramesh / Kavi Arya / Krithi Ramamritham module timer : constant count_5 : integer ; input msec, start_timer ; output end_5, end_10 ; every start_timer do await count_5 msec ; emit end_5 ; await count_5 msec ; emit end_10 ; end.
© S. Ramesh / Kavi Arya / Krithi Ramamritham Instantaneous dialogue module inst_dialogue: input I; output S; signal Q, Y in [ await tick; present I then emit Q end; present Y then emit S end every Q do emit Y end ] end module
© S. Ramesh / Kavi Arya / Krithi Ramamritham Input I triggers local Q Q triggers Y Y triggers S all happen instantaneously in the same reaction
© S. Ramesh / Kavi Arya / Krithi Ramamritham Another example P: [ emit are_u_ready; present I_am_ready then emit success; stat1 else emit fail; stat2 ]
© S. Ramesh / Kavi Arya / Krithi Ramamritham Q: loop do [ loop emit I_am_ready; each are_u_ready || stat3; ]; upto change; do stat4 upto change end
© S. Ramesh / Kavi Arya / Krithi Ramamritham Use of Broadcasting Simplifies communication among concurrent modules Sender does not wait for the receiver Receiver does not care who the sender is Essentially like a shared variable but without associated problems Works because of synchrony hypothesis! Other problems creep in, of course!
© S. Ramesh / Kavi Arya / Krithi Ramamritham Causality Problems Non-reactive: signal S in present S then nothing else emit S end What is the behavior of this program? S is present iff it is not present
© S. Ramesh / Kavi Arya / Krithi Ramamritham Nondeterminism signal S in present S then emit S else nothing end S is emitted and is present or it is not emitted and it is not present both status are possible!
© S. Ramesh / Kavi Arya / Krithi Ramamritham Logical Correctness A program is logically correct if it is deterministic and reactive. Accepted programs should be logically correct The above programs are not logically correct and rejected by the compiler Some more additional restrictions They have to be acyclic
© S. Ramesh / Kavi Arya / Krithi Ramamritham Dependency Cycles [ present O1 then emit O2 end || present O2 else emit O1 end ] O2 is emitted if O1 is present O1 is emitted if O2 is not present cyclic dependency rejected by the compiler!
© S. Ramesh / Kavi Arya / Krithi Ramamritham More Acyclic programs Is the following program logically correct? input I; signal O1,O2 in present I then present O1 then emit O2 end else present O2 then emit O1 end end
© S. Ramesh / Kavi Arya / Krithi Ramamritham Cycles What about this? present O1 then emit O2; pause; present O2 then emit O1 They are accepted by the compiler! Compile-time cycles does not matter No run-time cycles allowed. Programs should be Constructively causal
© S. Ramesh / Kavi Arya / Krithi Ramamritham Constructive Causality [ present O1 then emit O1 end || present [O1 and not O2] then emit O2 end ] logically correct program but rejected It is not causal
© S. Ramesh / Kavi Arya / Krithi Ramamritham O1 O2 O1 = O1 O2 = O1 and not O2 O1 = 0 O1 = 1 ?
© S. Ramesh / Kavi Arya / Krithi Ramamritham Causality present S then emit S else emit S Is this equivalent to emit S? The former is rejected! The causality notion non trivial, More restrictive than logical correctness – Status of local signals should have unique values at every reaction step – Status determinable by a constructive deduction process
While loops. Iteration We’ve seen many places where repetition is necessary in a problem. We’ve been using the for loop for that purpose For loops are.
While Loops and If-Else Structures ROBOTC Software.
Operating Systems Semaphores II. Producer/Consumer Problem Consumer must wait for producer to fill buffers, if none full –(scheduling constraint) Producer.
© S. Ramesh / Kavi Arya / Krithi Ramamritham 1 IT-606 Embedded Systems (Software ) S. Ramesh Kavi Arya Krithi Ramamritham KReSIT/ IIT Bombay.
William Stallings Data and Computer Communications 7 th Edition Chapter 7 Data Link Control Protocols.
MapReduce Simplified Data Processing on Large Clusters by Jeffrey Dean and Sanjay Ghemawa Presented by Jon Logan.
Unit 4 - I Said Stop!. Introduction New Topics Timing Parallelism Sequence of Operations New Features NXT terminals New Functions Wait For.
Algorithm Analysis. Assignment #8 Submit in PDF format ONLY !!! Assignment will NOT be accepted in format other than pdf. See and blackboard announcements.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 14: Simulations 1.
CST8177 bash Scripting Chapters 13 and 14 in Quigley's "UNIX Shells by Example"
Computer Architecture Interrupts and Polling. Interrupts Nearly all modern processors of any size allow interruption by external devices. An interrupt.
1 l Basics of Recursion l Programming with Recursion Recursion.
COMPILER CONSTRUCTION WEEK- 4: INTRODUCTION TO COMPILER & INTERPRETER.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
Of. and a to the in is you that it at be.
© Alan Burns and Andy Wellings, 2001 MESSAGE-BASED SYNCHRONISATION AND COMMUNICATION Goals n To understand the requirements for communication and synchronisation.
Model Checking and Testing combined Doron Peled, University of Warwick.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 7, 2006 Chapter 3: Processes Process Concept.
Virtual Time Virtual Time and Global States of Distributed Systems Friedmann Mattern, 1989 The Model: An asynchronous distributed system = a set of processes.
Algorithms 10 IST – Topic 6. What is an algorithm? a series of detailed instructions or steps that will solve a problem in a set amount of time.
CS0007: Introduction to Computer Programming The for Loop, Accumulator Variables, Seninel Values, and The Random Class.
Types and Programming Languages Lecture 1 Simon Gay Department of Computing Science University of Glasgow 2006/07.
Java ArrayLists Why not just use Arrays?. shrink when you remove somethin g. Tell you if it contains what youre looking for instead of looping through.
BD05/06 PL/SQL Introduction Structure of a block Variables and types Accessing the database Control flow Cursors Exceptions Procedures.
State Machines An approach to assembler coding. Intro State Machines are an integral part of software programming. State machines make code more efficient,
MPI Message Passing Interface. Outline Background Message Passing MPI Group and Context Communication Modes Blocking/Non-blocking Features Programming.
More Advanced Topics DARS Phases in Depth. The Phases of DARS Course Matching and Movement Among Requirements and Sub- requirements.
technische universität dortmund fakultät für informatik informatik 12 Communicating finite state machines Peter Marwedel TU Dortmund Informatik
Components of an Information System By Ciaran Gallagher Covered in this presentation: Input, Processing, Output, Storage and Feedback… Covered in this.
Compiler Construction A Compulsory Module for Students in Computer Science Department Faculty of IT / Al – Al Bayt University Second Semester 2010/2011.
© 2016 SlidePlayer.com Inc. All rights reserved.