Signaling on the CCR Tyler Raulin. Overview of Signals Rules: – Red Light There is a train in the next section of track The turnout is not turned correctly.

Slides:



Advertisements
Similar presentations
CDMP Patient Management Help
Advertisements

Working with Profiles in IX1D v 3 – A Tutorial © 2006 Interpex Limited All rights reserved Version 1.0.
Chapter 3 Basic Input/Output
Training Course: Task List. Agenda Overview of the Task List Screen Icons across the top Making Appointments Viewing Appointments & Filters Working Your.
Deadlock and Starvation
Operating Systems Lecture Notes Deadlocks Matthew Dailey Some material © Silberschatz, Galvin, and Gagne, 2002.
Concurrency: Deadlock and Starvation Chapter 6. Deadlock Permanent blocking of a set of processes that either compete for system resources or communicate.
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Operating Systems: Sync
UPLOAD YOUR S2 SCANNER. To upload your Scanner means: Sending the data of the scans you made from your Scanner to the worldwide Nu Skin server. Benefits:
1 of : Multi-Currency Payments / DA0813 Last updated: Project Walkthrough: Multi-Currency Payments Multi-Currency Payments.
Enlighten V2.2 Manual – User Level Access
Effective Digital Imaging using Basic Composition and Adobe Photoshop Paul S. Marley Instructional Technology Specialist Department of Art Wake Forest.
LAB 3 – Review of the Assignment. -- Clarifications Vikram Murali. TA : CSE 140L Prof. CK Cheng.
Review: Process Management Objective: –Enable fair multi-user, multiprocess computing on limited physical resources –Security and efficiency Process: running.
1 Data Analysis Framework for DHC Tower Update - 07/28/2003 Kurt Francis - Northern Illinois University.
5.6 Semaphores Semaphores –Software construct that can be used to enforce mutual exclusion –Contains a protected variable Can be accessed only via wait.
Concurrent Processes Lecture 5. Introduction Modern operating systems can handle more than one process at a time System scheduler manages processes and.
Memory Management CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han.
Synchronization Principles. Race Conditions Race Conditions: An Example spooler directory out in 4 7 somefile.txt list.c scores.txt Process.
CPSC 4650 Operating Systems Chapter 6 Deadlock and Starvation
1 Concurrency: Deadlock and Starvation Chapter 6.
7: Deadlocks1 DEADLOCKS EXAMPLES: "It takes money to make money". You can't get a job without experience; you can't get experience without a job. BACKGROUND:
Silent Dismissal Dismissal Staff Quick Start Guide.
Graphical Tree-Based Scientific Calculator: CalcuWiz Will Ryan Christian Braunlich.
Distributed Deadlocks and Transaction Recovery.
HHS Enterprise Portal Redesign Training for CASA Users.
by Chris Brown under Prof. Susan Rodger Duke University June 2012
CPSC 171 Introduction to Computer Science 3 Levels of Understanding Algorithms More Algorithm Discovery and Design.
AS (ATJ) Specifications and testing requirements for passing iterations 1A, 1B, 2, 3A and 3B.
By: Adam Hebert.  Why Sudoku?  Attempts at an App  MATLAB Implementation - Use of webcam - Algorithm  Problems with method  Demonstration  Questions.
Teacher/Mentor Institute Using easyC Joel Kirkland July 30-31, 2015.
InteractiveMedia’s Imagine Software Platform When user clicks on the Imagine desktop icon or installed app. This is the first thing the user will see full.
Engineering Matrix Megatec 2011.
FireRMS NEMSIS (Part 2) Presented by Laura Small FireRMS Quality Assurance.
In the next step you will enter some data records into the table. This can be done easily using the ‘Data Browser’. The data browser can be accessed via.
Cpr E 308 Spring 2004 Real-time Scheduling Provide time guarantees Upper bound on response times –Programmer’s job! –Every level of the system Soft versus.
1 Project 5: New Venue. 2 New Venue Based on the posted New Venue scenario 077_Ticket_Booth_Scenarios.pdf.
360 Control Manager & Cardholder Training Commercial Card Payment Solutions 1.
Operating Systems Part III: Process Management (Deadlocks)
South Dakota Library Network Aleph Tables Training ~ Aleph Administration © South Dakota Library Network, 2008 ©Ex Libris (USA), 2004 Modified for SDLN.
Moodle (Course Management Systems). Surveys and Choices.
EGR101-34R "lecture on hardware- software" FB 7/10/2004 Digital Electronics Logic Gates Logic gates work with the voltage level of the signals. They are.
11 Version Control Systems Mauro Jaskelioff (originally by Gail Hopkins)
Chapter 3: Operating Systems
Grade Book Database Presentation Jeanne Winstead CINS 137.
1 Installation Training Everything you need to know to get up and running.
CCR Deadlock By: Laura Weiland April 30, Project Description Implement a module to the Train Operating System (TOS) that manages the deadlock problem.
CIS Operating Systems Deadlock Professor Qiang Zeng Fall 2015.
Intermediate 2 Computing Unit 2 - Software Development.
Computer-Controlled Railroad Simulator Adrian Anderson
Deadlock cs550 Operating Systems David Monismith.
Dr Nick Mitchell (Room CM 224)
CSE 153 Design of Operating Systems Winter 2015 Midterm Review.
Chapter 6 Concurrency: Deadlock and Starvation Operating Systems: Internals and Design Principles, 6/E William Stallings.
SMART Tip Sheets Maryland February 2008 IGSR Technical Support: Client Referral Consent Referral Accepting Referrals This tip sheet focuses.
Quizzes by Clickers David Dahlquist. Definition and Requirements Project Description: Develop a system where students respond to questions using clickers.
Lecture Notes for Revisiting Use Case Descriptions.
BEGINNER FLL PROGRAMMING WORKSHOP BY DROIDS ROBOTICS & EV3LESSONS.
Software Narrative Autonomous Targeting Vehicle (ATV) Daniel Barrett Sebastian Hening Sandunmalee Abeyratne Anthony Myers.
CS3771 Today: Distributed Coordination  Previous class: Distributed File Systems Issues: Naming Strategies: Absolute Names, Mount Points (logical connection.
This tip sheet focuses on how to share client records and make client referrals using SMART. Total Pages: 6 Client Consent and Referral Consent Referral.
Using Zappers in a Common Learning Space A guide for tutors Created by Adam Warren Learning and Teaching Enhancement Unit.
Lecture 6 Deadlock 1. Deadlock and Starvation Let S and Q be two semaphores initialized to 1 P 0 P 1 wait (S); wait (Q); wait (Q); wait (S);. signal (S);
Emdeon Office Batch Management Services This document provides detailed information on Batch Import Services and other Batch features.
LAN Bridge Spanning Tree Animation Simon Arlott. Broadcast Networks ● In a broadcast LAN, all packets are sent to all hosts – even if they are not the.
Production Maestro Training
Building with Numbers Module 4: Investigation 3
OPERATING SYSTEMS DEADLOCKS.
CSE 153 Design of Operating Systems Winter 2019
Presentation transcript:

Signaling on the CCR Tyler Raulin

Overview of Signals Rules: – Red Light There is a train in the next section of track The turnout is not turned correctly for the train to continue – Yellow Light There is a train two sections away from the train – Green Light The next two sections of track are clear There are no turnouts blocking us from continuing

Requirements Implement virtual signals in each cab to reflect what each train would see Redesign the CAB’s human interface so that it is useful Implement existing deadlock avoidance, detection, and removal algorithms for trains controlled interactively Allow User to toggle turnouts instead of controlled by the operating system

Solutions Create Data Structures to store the values of the Next Photocell, Next Turnout, and Light Status Create a Light Manager Class which checks and updates these data structures Tie the Light Manager Class into the existing Resource Manager Class and Train Control Class

Creating Data Structures Next Photocell – Clockwise/Counterclockwise Direction – Straight/Curved Track Next Turnout – Clockwise/Counterclockwise Direction Light Status – Clockwise/Counterclockwise Direction – Straight/Curved Track

Setting Lights for a train All Lights are initialized to Green Red Lights are placed outside the section for trains that wish to enter Yellow Lights are placed in the next section after the Red Lights

Setting Lights for Turnouts Scroll Through Next Photocell Data Structure – If value == NEEDSTURNOUT Check the status of the turnout If we don’t have the turnout –Set the Light to RED

Setting Lights for Turnout in other Direction Scroll Through Next Turnout Data Structure – If value != HASNOTURNOUT (there is a turnout) If Turnout is Straight –Set Curved Light to RED Else –Set Straight Light to RED

Resource Manager Functions used or adjusted: – OnTimer Calls the UpdateLights function – HandleArrival Called when direction is changed in the Train Control – UpdateResources changes the values for each train instead of AllocateResources

Train Control Graphical interface that displays information about each train Connected to a train and its values Displays the lights that the train sees as it’s moving down the track Change Direction Button Modified to recover from deadlock Toggle Turnout Button Added

Train Control…cont.

Change Direction When Button is clicked – The train becomes active – The direction and the next and previous photocells are switched – We handle an arrival with the new previous photocell

Toggle Turnout Giving the user control over the turnouts causes many issues: – When can the turnout be adjusted – Who can adjust the turnout – When do we no longer have possession of the Turnout

Toggle Turnout…cont. Use an array of semaphors to not allow a turnout to be toggled while a train is in that section of track This is a critical section of code that must not be interrupted

Exceptions Change direction will cause issues if reversed out of deadlock, then reversed again If train1 is blocked at a turnout and train2 goes through the turnout the other way, we are unable to toggle it back once train2 has left

Methodology Dive right into the code, make adjustments and see results Draw up ideas on paper before writing code of my own Test my results with as many scenarios as I can think of Use Log file to determine values at each point in the process

Demonstration One Train Two Trains

Questions? HASNOTURNOUT NEEDSTURNOUT NextPhotocell NextPC Data Structure NextTurnout NextTO Data Structure Photocell Status PC Status Data Structure Light with Two Trains Deadlock Issue Deadlock Issue Resolution PC Manager Issue Semaphors

Strategies Logic Diagrams Pseudo-code Testing

Knowledge Designing and coding data structures Creation and Relation of classes Allocation of Resources Deadlocking and recovery from it Event programming and the use of interrupts and polling

Extensions Combine the Batch and Interactive file modes, implement record and playback Work out issues with direction changes or toggling turnouts

Advice Come up with a strategy and stick to it Keep the professor in the loop of your project Try to devote large chunks of time

THANK YOU!!!

HASNOTURNOUT In this case (in the clockwise matrix): – Photocell 2 would have value of 7 in the straight column – Photocell 2 would have a value of HASNOTURNOUT in the curved column back

NEEDSTURNOUT In this case (in the counterclockwise matrix) – Photocell 13 would have a value of 15 in the straight column – Photocell 13 would have a value of NEEDSTURNOUT in the curved column – Photocell 14 would have a value of NEEDSTURNOUT in the straight column – Photocell 14 would have a value of 15 in the curved column back

Next Photocell Initialize all memory locations to HASNOTURNOUT Individually assign values for whichever is the next photocell Two 2-dimensional matrices 2 x MAXPHOTOCELLS – One for Clockwise, one for Counterclockwise – Column one is straight, column two is curved Never adjusted after values are first assigned back

Next Turnout Initialize all memory locations to HASNOTURNOUT Assign the turnout number to each location One 2-dimensional matrix 2 x MAXPHOTOCELLS Column 1 is for Clockwise Column 2 is for Counterclockwise back

Photocell Status Initialize all memory locations to HASNOTURNOUT Initialize all lights to be GREEN Two 2-dimensional matrices 2 x MAXPHOTOCELLS – One for Clockwise, one for Counterclockwise – Column one is straight, column two is curved UpdateTrackLights( ) changes the values on a timer in the Resource Manager back

Setting Lights with Two Trains back

Deadlock Issue These two trains are technically seen as being in the same section They look to the next light and see GREEN We need to check if blocked during UpdateLights() – If BLOCKED Set the photocell you are blocked at to RED back

Deadlock Issue Resolved back

Train Resources vs. PC Manager Train Resources were updated in AllocateResources UpdateResources calls AllocateResources AllocateResources is not always called if BLOCKED back

Toggle Turnout…cont. When Train Arrives at photocell and is BLOCKED by a turnout – It will toggle the turnout if able – Then Set the semaphor to 0 to prevent toggling – Semaphor is 1 when train leaves back