Exercise I Implement in Java asynchronous communication between threads via unbounded FIFO buffers. Provide also a means to initialize these buffers.

Slides:



Advertisements
Similar presentations
Giving a formal meaning to “Specialization” In these note we try to give a formal meaning to specifications, implementations, their comparisons. We define.
Advertisements

Winter 2007SEG2101 Chapter 41 Chapter 4 SDL – Structure and Behavior.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
AR vs. CFSM Abdallah Tabbara. CFSM Overview 4 CFSM has: –a finite state machine part –a data computation part –a locally synchronous behavior transitions.
I.1 ii.2 iii.3 iv.4 1+1=. i.1 ii.2 iii.3 iv.4 1+1=
I.1 ii.2 iii.3 iv.4 1+1=. i.1 ii.2 iii.3 iv.4 1+1=
Representing Systems Sixth Meeting. Modeling Systems Models block-diagram Used throughout engineering Represents behavior and structure of systems. Only.
An Introduction to Rational Rose Real-Time
Modeling Process CSCE 668Set 14: Simulations 2 May be several algorithms (processes) runs on each processor to simulate the desired communication system.
CSCE 2013L: Lab 1 Overview  Java Basics The JVM Anatomy of a Java Program  Object-Oriented Programming Overview  Example: Payroll.java JDK Tools and.
Paper written by Flavio Oquendo Presented by Ernesto Medina.
JavaScript - A Web Script Language Fred Durao
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
Seminar on Component-based Software Engineering Component Coordination Nadia Ramjiawan LIACS - Leiden University Fall 2005.
Project X Group Y Presenters: (indicate roles). Part I: Project Overview System provides functionality X Motivation for project –Address problem with…
Problem y For the machine element shown, locate the z coordinate
 Numerical Control machine is shortly called as NC machine.  A NC machine is an automation method, in which the machine tool control.
Java Programming: From Problem Analysis to Program Design, Second Edition1 Lecture 5 Objectives  Learn about basic GUI components.  Explore how the GUI.
Chapter 5 Classes and Methods II Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
Homework Assignment #1 J. H. Wang Sep. 22, Homework #1 Chap.2: 2.10 Chap.3: 3.1, 3.4, 3.5* (or 3.6*) Chap.4: 4.6, 4.8* (Optional: End-of-chapter.
Chapter 7 Classes and Methods III: Static Methods and Variables Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition)
Reo A Calculus for Composition of Connectors (taken from slides of Farhad Arbab)
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
HTML Structure II (Form) WEEK 2.2. Contents Table Form.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
Prof. R K Joshi IIT Bombay
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
Protocol Modeling Eng. Ahmed Badr Tutorial 2 Theoretical
EECE 310: Software Engineering
UML Diagrams By Daniel Damaris Novarianto S..
The Movement To Objects
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
EE2E1. JAVA Programming Revision Lecture.
Mobile Operating System
Timing Model Start Simulation Delay Update Signals Execute Processes
First order non linear pde’s
Lecture 14: Iteration and Recursion (Section 6.5 – 6.6)
Lecture 2 Introduction to Programming
Classes, Libraries & Packages
OTHER MODELS OF TURING MACHINES
ECE 4110–5110 Digital System Design
Lecture 9: Asynchronous Network Algorithms
Sequential Circuits: Flip-Flops
Dynamic Modeling: Defining Classes
Code Generation for Ptolemy II
CSCI1600: Embedded and Real Time Software
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
Timing Analysis 11/21/2018.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
IMAT5205 Systems Analysis and Design
Lecture 15 Logistics Last lecture Today HW4 is due today
Software models - Software Architecture Design Patterns
EEC 688/788 Secure and Dependable Computing
Logic Gates.
An Introduction to Software Architecture
EEC 688/788 Secure and Dependable Computing
Paper written by Flavio Oquendo Presented by Ernesto Medina
Review CSE116 2/21/2019 B.Ramamurthy.
CSP-Style Rendezvous Communication Thomas Feng, Edward Lee, Yang Zhao
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
CSCI1600: Embedded and Real Time Software
Introduction to High Performance Computing Lecture 16
ECE 352 Digital System Fundamentals
Java-Assignment #4 (Due, April. 9, 2004)
Presentation transcript:

Exercise I Implement in Java asynchronous communication between threads via unbounded FIFO buffers. Provide also a means to initialize these buffers.

Exercise II Let a Java component be a package with two special static classes IChn and OChn which declare by means of static attributes a collection of input and output channels, respectively. Discuss possible forms of encapsulation and the corresponding techniques to enforce them.

Exercise III Define a Java component Merger with a class IChn declaring two asynchronous input channels in1, in2, and a class OChn declaring a single asynchronous output channel out. The component reads non-deterministically from the input channels in1 and in2 and outputs these values along its output channel out in the original order.

Exercise IV Define a Java component Replicator with a class IChn declaring an asynchronous input channel in, and a class OChn declaring two asynchronous output channels out1 and out2. The component sends the value received from its input channel in to both its output channels out1 and out2.

Exercise V Assume given a Java component Adder that outputs the sum of the values read from its input channels in1 and in2 along its output channel out. Using the above components (except the Merger), construct a component MAIN that builds a network generating the Fibonacci sequence along its output channel fib.

Washing Machine Interface

Behavior of Buttons Successively pressing the Program button (3) cycles through the following choices: Cotton; Color; Synthetic; Delicate; Wool; Quick; Rinse & Spin; Spin Successively pressing the Options button (4) cycles through the following choices: Eco+; Rinse+; Pre-wash; [no-choice] Successively pressing the Spin button (5) cycles through the following choices: No Spin; Rinse & Hold; [no-choice] Successively pressing the Temp button (6) cycles through 5 different choices for the temperature setting. Successively pressing the Delay Start button (7) cycles through 25 different choices (1-24 plus 0) for the delay setting. Pressing the Start (8) button takes the current values of all choices and starts the (Pre-wash, Wash, Rinse, Spin) cycle they specify.

Exercise VI Design the Reo connector network for the interface of the washing machine as described in the previous slides and the lecture. Explicitly describe every component you use in your design. The simpler and more generic your components are, the better the design (and your grade).