From e65283a492ed207c779509a2d6abbd58575ef97a Mon Sep 17 00:00:00 2001 From: "Lavji, Fareen (Flo)" Date: Sat, 14 Mar 2026 09:25:24 -0400 Subject: [PATCH 1/3] Fixed Git signature-auth --- assignment02/assignment02/Protocol.java | 0 .../SYSC3303_A03_W26_Starting_code/README.pdf | Bin 0 -> 64914 bytes .../SYSC3303_A03_W26_Starting_code/README.txt | 166 ++++++ .../SYSC3303_A03_W26_Starting_code/.DS_Store | Bin 0 -> 6148 bytes .../PelicanCrossing.java | 471 ++++++++++++++++++ .../PelicanCrossingPublicTest.java | 96 ++++ .../._.DS_Store | Bin 0 -> 120 bytes .../._PelicanCrossing.java | Bin 0 -> 227 bytes assignment03/sysc3303aw26_a03_lavjiF543.zip | Bin 0 -> 71888 bytes assignment04/Agent.java | 48 ++ assignment04/AssemblyTable.java | 145 ++++++ assignment04/Components.java | 26 + assignment04/Technician.java | 45 ++ 13 files changed, 997 insertions(+) create mode 100644 assignment02/assignment02/Protocol.java create mode 100644 assignment03/SYSC3303_A03_W26_Starting_code/README.pdf create mode 100644 assignment03/SYSC3303_A03_W26_Starting_code/README.txt create mode 100644 assignment03/SYSC3303_A03_W26_Starting_code/SYSC3303_A03_W26_Starting_code/.DS_Store create mode 100644 assignment03/SYSC3303_A03_W26_Starting_code/SYSC3303_A03_W26_Starting_code/PelicanCrossing.java create mode 100644 assignment03/SYSC3303_A03_W26_Starting_code/SYSC3303_A03_W26_Starting_code/PelicanCrossingPublicTest.java create mode 100644 assignment03/SYSC3303_A03_W26_Starting_code/__MACOSX/SYSC3303_A03_W26_Starting_code/._.DS_Store create mode 100644 assignment03/SYSC3303_A03_W26_Starting_code/__MACOSX/SYSC3303_A03_W26_Starting_code/._PelicanCrossing.java create mode 100644 assignment03/sysc3303aw26_a03_lavjiF543.zip create mode 100644 assignment04/Agent.java create mode 100644 assignment04/AssemblyTable.java create mode 100644 assignment04/Components.java create mode 100644 assignment04/Technician.java diff --git a/assignment02/assignment02/Protocol.java b/assignment02/assignment02/Protocol.java new file mode 100644 index 0000000..e69de29 diff --git a/assignment03/SYSC3303_A03_W26_Starting_code/README.pdf b/assignment03/SYSC3303_A03_W26_Starting_code/README.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5cf1a4d57ff5da881145748bac4d9afcb9dd1f3e GIT binary patch literal 64914 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

=G|-<$hR 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 + * Pelican Crossing Controller + *

+ * STUDENT STARTER CODE + *

+ * You MUST NOT: + * - Rename this class + * - Rename enums or enum values + * - Change method signatures + * - Remove required fields + *

+ * You MAY: + * - Add private helper methods + * - Add private classes (State Pattern) + * - Add private variables + *

+ * The TA JUnit harness depends on the exact names below. + * + * @author Dr. Rami Sabouni, + * Systems and Computer Engineering, + * Carleton University + * @version 1.0, February 8, 2026 + *

+ * IMPLEMENTATION: Object-Oriented State Pattern with Inner Classes + *

+ * This implementation uses the State Pattern with private inner classes to encapsulate state-specific behaviour. + * Each state class handles its own event dispatching and transitions, resulting in clean, maintainable code. + * This version uses ONLY the State enum variable provided in the starter code. No redundant state objects. + * + * @author Lavji, Fareen XXXXXX543 + * @version 1.2, February 28, 2026 + */ +public class PelicanCrossing { + + /* ========================================================= + * ENUMS — DO NOT MODIFY NAMES OR VALUES + * ========================================================= */ + + /** Events injected into the state machine */ + public enum Event { + INIT, + PEDS_WAITING, + Q_TIMEOUT, + OFF, + ON + } + + /** Leaf states used for grading and testing */ + public enum State { + OPERATIONAL_CARS_GREEN_NO_PED, + OPERATIONAL_CARS_GREEN_PED_WAIT, + OPERATIONAL_CARS_GREEN_INT, + OPERATIONAL_CARS_YELLOW, + OPERATIONAL_PEDS_WALK, + OPERATIONAL_PEDS_FLASH, + + OFFLINE_FLASH_ON, + OFFLINE_FLASH_OFF + } + + /** Output signal for cars */ + public enum CarSignal { + RED, + GREEN, + YELLOW, + FLASHING_AMBER_ON, + FLASHING_AMBER_OFF + } + + /** Output signal for pedestrians */ + public enum PedSignal { + DONT_WALK_ON, + DONT_WALK_OFF, + WALK + } + + /* ========================================================= + * TIMING CONSTANTS (ticks) + * DO NOT RENAME — values may be changed if justified + * ========================================================= */ + + public static final int GREEN_TOUT = 3; // minimum green duration + public static final int YELLOW_TOUT = 2; // yellow duration + public static final int WALK_TOUT = 3; // walk duration + public static final int PED_FLASH_N = 6; // number of flashing ticks + + /* ========================================================= + * REQUIRED INTERNAL STATE + * ========================================================= */ + + /** Current leaf state (used by TA tests) */ + private State state; + + /** Output signals (used by TA tests) */ + private CarSignal carSignal; + private PedSignal pedSignal; + + // Private helper timers and flags + private int greenTimer; // Countdown timer for green phase + private int yellowTimer; // Countdown timer for the yellow phase + private int walkTimer; // Countdown timer for walk phase + private int flashCounter; // Counter for pedestrian flashing + private boolean pedsWaiting; // Flag: are pedestrians waiting? + + /* ========================================================= + * CONSTRUCTOR + * ========================================================= */ + + public PelicanCrossing() { + state = State.OPERATIONAL_CARS_GREEN_NO_PED; // safety + // Initialize to initial state + dispatch(Event.INIT); + } + + /* ========================================================= + * REQUIRED PUBLIC API — DO NOT CHANGE SIGNATURES + * ========================================================= */ + + /** + * Inject an event into the state machine. + */ + public void dispatch(Event e) { + // Route by current state to the appropriate handler + try { + switch (state != null ? state : null) { + case OPERATIONAL_CARS_GREEN_NO_PED, null: + dispatchOperationalCarsGreenNoPed(e); + break; + case OPERATIONAL_CARS_GREEN_PED_WAIT: + dispatchOperationalCarsGreenPedWait(e); + break; + case OPERATIONAL_CARS_GREEN_INT: + dispatchOperationalCarsGreenInt(e); + break; + case OPERATIONAL_CARS_YELLOW: + dispatchOperationalCarsYellow(e); + break; + case OPERATIONAL_PEDS_WALK: + dispatchOperationalPedsWalk(e); + break; + case OPERATIONAL_PEDS_FLASH: + dispatchOperationalPedsFlash(e); + break; + case OFFLINE_FLASH_ON: + dispatchOfflineFlashOn(e); + break; + case OFFLINE_FLASH_OFF: + dispatchOfflineFlashOff(e); + break; + case default: + break; + } + } catch (NullPointerException ex) { System.out.println("ERROR: Null state transition"); } + } + + /** + * Convenience method: advance the clock by n ticks. + * Each tick corresponds to one Q_TIMEOUT event. + */ + public void tick(int n) { + for (int i = 0; i < n; i++) { + dispatch(Event.Q_TIMEOUT); + } + } + + /** + * Return the current leaf state. + * Used directly by the TA JUnit harness. + */ + public State getState() { return state; } + + /** + * Return the current car signal. + */ + public CarSignal getCarSignal() { return carSignal; } + + /** + * Return the current pedestrian signal. + */ + public PedSignal getPedSignal() { return pedSignal; } + + /* ========================================================= + * PRIVATE DISPATCH HANDLERS (One per state) + * ========================================================= */ + /** + * Handle events in the OPERATIONAL_CARS_GREEN_NO_PED state. + * Initial state: vehicles have green light, no pedestrians waiting. + */ + private void dispatchOperationalCarsGreenNoPed(Event e) { + switch (e) { + case INIT: + state = State.OPERATIONAL_CARS_GREEN_NO_PED; + carSignal = CarSignal.GREEN; + pedSignal = PedSignal.DONT_WALK_ON; + greenTimer = GREEN_TOUT; + pedsWaiting = false; + break; + + case PEDS_WAITING: + // Pedestrian button pressed during green + state = State.OPERATIONAL_CARS_GREEN_PED_WAIT; + pedsWaiting = true; + // Signals stay the same (still GREEN, DONT_WALK) + break; + + case Q_TIMEOUT: + greenTimer--; + if (greenTimer <= 0) { + // Min green reached, transition to interruptible green + state = State.OPERATIONAL_CARS_GREEN_INT; + // Signal stays GREEN, but now interruptible by pedestrians + } + break; + + case OFF: + // Enter offline mode from any state + state = State.OFFLINE_FLASH_ON; + carSignal = CarSignal.FLASHING_AMBER_ON; + pedSignal = PedSignal.DONT_WALK_ON; + break; + + case ON: + // Already operational, ignore + break; + + default: + break; + } + } + + /** + * Handle events in the OPERATIONAL_CARS_GREEN_PED_WAIT state. + * Vehicles have green, but pedestrians are waiting. + */ + private void dispatchOperationalCarsGreenPedWait(Event e) { + switch (e) { + case Q_TIMEOUT: + greenTimer--; + if (greenTimer <= 0) { + // Min green ended and pedestrians waiting: transition to yellow + state = State.OPERATIONAL_CARS_YELLOW; + carSignal = CarSignal.YELLOW; + yellowTimer = YELLOW_TOUT; + } + break; + + case OFF: + // Enter offline mode + state = State.OFFLINE_FLASH_ON; + carSignal = CarSignal.FLASHING_AMBER_ON; + pedSignal = PedSignal.DONT_WALK_ON; + break; + + case ON: + // Already operational, ignore + break; + + default: + break; + } + } + + /** + * Handle events in the OPERATIONAL_CARS_GREEN_INT state. + * Interruptible green: vehicles green; can be interrupted by pedestrians. + */ + private void dispatchOperationalCarsGreenInt(Event e) { + switch (e) { + case PEDS_WAITING: + // Pedestrian arrived during interruptible green: go to yellow + state = State.OPERATIONAL_CARS_YELLOW; + carSignal = CarSignal.YELLOW; + yellowTimer = YELLOW_TOUT; + break; + + case Q_TIMEOUT: + // Stay in interruptible green (wait for pedestrian) + // Signal stays GREEN + break; + + case OFF: + // Enter offline mode + state = State.OFFLINE_FLASH_ON; + carSignal = CarSignal.FLASHING_AMBER_ON; + pedSignal = PedSignal.DONT_WALK_ON; + break; + + case ON: + // Already operational, ignore + break; + + default: + break; + } + } + + /** + * Handle events in the OPERATIONAL_CARS_YELLOW state. + * Yellow transition between car and pedestrian phases. + */ + private void dispatchOperationalCarsYellow(Event e) { + switch (e) { + case Q_TIMEOUT: + yellowTimer--; + if (yellowTimer <= 0) { + // Yellow timeout: transition to pedestrian walk phase + state = State.OPERATIONAL_PEDS_WALK; + carSignal = CarSignal.RED; + pedSignal = PedSignal.WALK; + walkTimer = WALK_TOUT; + pedsWaiting = false; // Reset flag + } + break; + + case OFF: + // Enter offline mode + state = State.OFFLINE_FLASH_ON; + carSignal = CarSignal.FLASHING_AMBER_ON; + pedSignal = PedSignal.DONT_WALK_ON; + break; + + case ON: + // Already operational, ignore + break; + + default: + break; + } + } + + /** + * Handle events in the OPERATIONAL_PEDS_WALK state. + * Pedestrians have WALK signal, vehicles are RED. + */ + private void dispatchOperationalPedsWalk(Event e) { + switch (e) { + case Q_TIMEOUT: + walkTimer--; + if (walkTimer <= 0) { + // Walk phase timeout: transition to pedestrian flashing + state = State.OPERATIONAL_PEDS_FLASH; + pedSignal = PedSignal.DONT_WALK_ON; + flashCounter = PED_FLASH_N; + // Car signal stays RED + } + break; + + case OFF: + // Enter offline mode + state = State.OFFLINE_FLASH_ON; + carSignal = CarSignal.FLASHING_AMBER_ON; + pedSignal = PedSignal.DONT_WALK_ON; + break; + + case ON: + // Already operational, ignore + break; + + default: + break; + } + } + + /** + * Handle events in the OPERATIONAL_PEDS_FLASH state. + * Pedestrians see flashing "Don't Walk", then cycle back to vehicles. + */ + private void dispatchOperationalPedsFlash(Event e) { + switch (e) { + case Q_TIMEOUT: + flashCounter--; + if (flashCounter <= 0) { + // Flash phase complete: back to vehicle green phase + state = State.OPERATIONAL_CARS_GREEN_NO_PED; + carSignal = CarSignal.GREEN; + pedSignal = PedSignal.DONT_WALK_ON; + greenTimer = GREEN_TOUT; + pedsWaiting = false; + } else { + // Toggle pedestrian signal: even/odd toggle between ON/OFF + if (flashCounter % 2 == 0) { + pedSignal = PedSignal.DONT_WALK_ON; + } else { + pedSignal = PedSignal.DONT_WALK_OFF; + } + } + break; + + case OFF: + // Enter offline mode + state = State.OFFLINE_FLASH_ON; + carSignal = CarSignal.FLASHING_AMBER_ON; + pedSignal = PedSignal.DONT_WALK_ON; + break; + + case ON: + // Already operational, ignore + break; + + default: + break; + } + } + + /** + * Handle events in the OFFLINE_FLASH_ON state. + * System offline: flashing amber lights, safe pedestrian signal. + */ + private void dispatchOfflineFlashOn(Event e) { + switch (e) { + case Q_TIMEOUT: + // Toggle to flash OFF on the next tick + state = State.OFFLINE_FLASH_OFF; + carSignal = CarSignal.FLASHING_AMBER_OFF; + pedSignal = PedSignal.DONT_WALK_OFF; + break; + + case ON: + // Return to operational mode + state = State.OPERATIONAL_CARS_GREEN_NO_PED; + carSignal = CarSignal.GREEN; + pedSignal = PedSignal.DONT_WALK_ON; + greenTimer = GREEN_TOUT; + pedsWaiting = false; + break; + + case OFF: + // Already offline, ignore + break; + + default: + break; + } + } + + /** + * Handle events in the OFFLINE_FLASH_OFF state. + * System offline: flashing amber lights (off phase), safe pedestrian signal. + */ + private void dispatchOfflineFlashOff(Event e) { + switch (e) { + case Q_TIMEOUT: + // Toggle back to flash ON the next tick + state = State.OFFLINE_FLASH_ON; + carSignal = CarSignal.FLASHING_AMBER_ON; + pedSignal = PedSignal.DONT_WALK_ON; + break; + + case ON: + // Return to operational mode + state = State.OPERATIONAL_CARS_GREEN_NO_PED; + carSignal = CarSignal.GREEN; + pedSignal = PedSignal.DONT_WALK_ON; + greenTimer = GREEN_TOUT; + pedsWaiting = false; + break; + + case OFF: + // Already offline, ignore + break; + + default: + break; + } + } +} \ No newline at end of file diff --git a/assignment03/SYSC3303_A03_W26_Starting_code/SYSC3303_A03_W26_Starting_code/PelicanCrossingPublicTest.java b/assignment03/SYSC3303_A03_W26_Starting_code/SYSC3303_A03_W26_Starting_code/PelicanCrossingPublicTest.java new file mode 100644 index 0000000..ba84e3a --- /dev/null +++ b/assignment03/SYSC3303_A03_W26_Starting_code/SYSC3303_A03_W26_Starting_code/PelicanCrossingPublicTest.java @@ -0,0 +1,96 @@ +package SYSC3303_A03_W26_Starting_code.SYSC3303_A03_W26_Starting_code; +/** + * ============================================================ + * Pelican Crossing State Machine - Test Harness - Students + * ============================================================ + + * @author Dr. Rami Sabouni, + * Systems and Computer Engineering, + * Carleton University + * @version 1.0, February 8, 2026 + */ + +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + +public class PelicanCrossingPublicTest { + + @Test + void init_entersOperationalCarsGreenNoPed() { + PelicanCrossing fsm = new PelicanCrossing(); + assertEquals(PelicanCrossing.State.OPERATIONAL_CARS_GREEN_NO_PED, fsm.getState()); + assertEquals(PelicanCrossing.CarSignal.GREEN, fsm.getCarSignal()); + assertEquals(PelicanCrossing.PedSignal.DONT_WALK_ON, fsm.getPedSignal()); + } + + @Test + void pedsWaiting_beforeMinGreen_remembersWaitingButStaysInCarsGreen() { + PelicanCrossing fsm = new PelicanCrossing(); + + fsm.dispatch(PelicanCrossing.Event.PEDS_WAITING); + + assertEquals(PelicanCrossing.State.OPERATIONAL_CARS_GREEN_PED_WAIT, fsm.getState()); + assertEquals(PelicanCrossing.CarSignal.GREEN, fsm.getCarSignal()); + assertEquals(PelicanCrossing.PedSignal.DONT_WALK_ON, fsm.getPedSignal()); + } + + + @Test + void pedWaiting_duringMinGreen_thenAutoYellow_whenMinGreenEnds() { + PelicanCrossing fsm = new PelicanCrossing(); + fsm.dispatch(PelicanCrossing.Event.PEDS_WAITING); + assertEquals(PelicanCrossing.State.OPERATIONAL_CARS_GREEN_PED_WAIT, fsm.getState()); + + // Finish remaining green ticks + fsm.tick(PelicanCrossing.GREEN_TOUT); + + // Student solution goes straight to yellow when green min ends in a ped-wait path + assertEquals(PelicanCrossing.State.OPERATIONAL_CARS_YELLOW, fsm.getState()); + assertEquals(PelicanCrossing.CarSignal.YELLOW, fsm.getCarSignal()); + } + + @Test + void walkTimesOut_thenFlash() { + PelicanCrossing fsm = new PelicanCrossing(); + fsm.tick(PelicanCrossing.GREEN_TOUT); + fsm.dispatch(PelicanCrossing.Event.PEDS_WAITING); + fsm.tick(PelicanCrossing.YELLOW_TOUT); + + fsm.tick(PelicanCrossing.WALK_TOUT); + + assertEquals(PelicanCrossing.State.OPERATIONAL_PEDS_FLASH, fsm.getState()); + assertEquals(PelicanCrossing.CarSignal.RED, fsm.getCarSignal()); + assertTrue( + fsm.getPedSignal() == PelicanCrossing.PedSignal.DONT_WALK_ON || + fsm.getPedSignal() == PelicanCrossing.PedSignal.DONT_WALK_OFF + ); + } + + @Test + void offlineMode_offFromAnyOperationalState_setsSafeAndFlashes() { + PelicanCrossing fsm = new PelicanCrossing(); + + // Move to another operational state + fsm.dispatch(PelicanCrossing.Event.PEDS_WAITING); + assertTrue(fsm.getState().name().startsWith("OPERATIONAL_")); + + // OFF should work from here + fsm.dispatch(PelicanCrossing.Event.OFF); + + assertTrue(fsm.getState().name().startsWith("OFFLINE_")); + // Safe outputs in offline are flashing amber + dont-walk flashing + assertTrue( + fsm.getCarSignal() == PelicanCrossing.CarSignal.FLASHING_AMBER_ON || + fsm.getCarSignal() == PelicanCrossing.CarSignal.FLASHING_AMBER_OFF + ); + assertTrue( + fsm.getPedSignal() == PelicanCrossing.PedSignal.DONT_WALK_ON || + fsm.getPedSignal() == PelicanCrossing.PedSignal.DONT_WALK_OFF + ); + + PelicanCrossing.State s1 = fsm.getState(); + fsm.dispatch(PelicanCrossing.Event.Q_TIMEOUT); + PelicanCrossing.State s2 = fsm.getState(); + assertNotEquals(s1, s2, "Offline should toggle between flash states on each tick"); + } +} \ No newline at end of file diff --git a/assignment03/SYSC3303_A03_W26_Starting_code/__MACOSX/SYSC3303_A03_W26_Starting_code/._.DS_Store b/assignment03/SYSC3303_A03_W26_Starting_code/__MACOSX/SYSC3303_A03_W26_Starting_code/._.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..a5b28df1cbc6e15bd0d35cdadd0c2e65d5131c7d GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R08`;00ODZ-jv*mIP;rnB Iur73U08|YJ=l}o! literal 0 HcmV?d00001 diff --git a/assignment03/SYSC3303_A03_W26_Starting_code/__MACOSX/SYSC3303_A03_W26_Starting_code/._PelicanCrossing.java b/assignment03/SYSC3303_A03_W26_Starting_code/__MACOSX/SYSC3303_A03_W26_Starting_code/._PelicanCrossing.java new file mode 100644 index 0000000000000000000000000000000000000000..f5b04e9548e567097e98ed23b69a076c8e9fca4d GIT binary patch literal 227 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@kSs9@gD;*5x_AdBnYYuq~iz>%cE%n znFbQ)XJ8Od&d=3LEGWoH)eA|jC~?h8&QHnAONVH<45S1Y7^DztauSP6N{drdQW8s2 kl>>r7%0ffjbS literal 0 HcmV?d00001 diff --git a/assignment03/sysc3303aw26_a03_lavjiF543.zip b/assignment03/sysc3303aw26_a03_lavjiF543.zip new file mode 100644 index 0000000000000000000000000000000000000000..4d4c524d11fc7dc0dca020d8ea31bb4066c8a3c7 GIT binary patch literal 71888 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

IK`d8Jm5#IjCatC7?GTSfxAeD=IYMMo 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 literal 0 HcmV?d00001 diff --git a/assignment04/Agent.java b/assignment04/Agent.java new file mode 100644 index 0000000..26ccb27 --- /dev/null +++ b/assignment04/Agent.java @@ -0,0 +1,48 @@ +/** + * This class is for the Agent in this drone assembly system. + * The Agent selects two random components and places them on the common table. + * The Agent will repeat this procedure until 20 drones are assembled in total + * + * @author Dr. Rami Sabouni, + * Systems and Computer Engineering, + * Carleton University + * @version 1.0, January 07th, 2025 + * @version 2.0, January 10th, 2026 + */ + +public class Agent implements Runnable { + + private AssemblyTable assemblyTable; //The common table between Agent and Technicians + + /** + * Constructor for Agent + * + * @param t The common table between Agent and Technicians + */ + public Agent(AssemblyTable t){ + this.assemblyTable = t; + } + + /** + * Method used when Agent thread is ran + */ + public void run(){ + Components components1, components2; + System.out.println("[" + Thread.currentThread().getName() + "] Waiting to place first components on the table..."); + while (this.assemblyTable.getDronesAssembled() != 20){ //Will loop until 20 drones have been assembled + //Randomly selects two different components + components1 = Components.getRandomComponent(); + components2 = Components.getRandomComponent(); + while (components1 == components2){ //If components are the same, select and new second component + components2 = Components.getRandomComponent(); + } + this.assemblyTable.addComponents(components1, components2); //Places the two selected components on the table + // Sleep for between 0 and 5 seconds before calculating n! + try { + Thread.sleep((int)(Math.random() * 3000)); + } catch (InterruptedException e) {} + } + //All drones have been assembled + System.out.println("[" + Thread.currentThread().getName() + "] 20 drones assembled, ending..."); + } +} diff --git a/assignment04/AssemblyTable.java b/assignment04/AssemblyTable.java new file mode 100644 index 0000000..a9baf37 --- /dev/null +++ b/assignment04/AssemblyTable.java @@ -0,0 +1,145 @@ +/** + * This class is for the assembly table in this Autonomous Drone Assembly Line. + * The table serves as a common place where components are placed by the agent and taken by the technician. + * The table accepts components from the Agent and notifies all technicians that they are available. + * The table determines when each technician is allowed to take the components, based on what their missing components are. + * The table lets the right Technician assemble a drone, then notifies the Agent that the table is empty. + * The table will allow components to be placed and taken until 20 drones are assembled. + * + * + * @author Dr. Rami Sabouni, + * Systems and Computer Engineering, + * Carleton University + * @version 1.0, January 07th, 2025 + * @version 2.0, January 10th, 2026 + */ +public class AssemblyTable { + private final int SIZE = 2; //Capacity of table + private Components[] components = new Components[SIZE]; //List of components on the table + private boolean tableFull = false; //True if there is at least 1 component on the table + private int dronesMade = 0; //Running total of drones assembled + + /** + * Method used to allow an Agent to place components on the table when table is empty + * @param components1 First component to be placed by Agent + * @param components2 Second component to be placed by Agent + */ + public synchronized void addComponents(Components components1, Components components2) { + while (tableFull) { //Makes agent wait until table is empty to place components + if (this.dronesMade == 20){ //Will exit if no more drones are required to be assembled + return; + } + try { + wait(); //Tells agent to wait until notified + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + if (this.dronesMade == 20){ //Will exit if no more drones are required to be assembled + return; + } + + //Components are placed on table + components[0] = components1; + components[1] = components2; + + // Random delay to simulate real scenario + try { + Thread.sleep((int)(Math.random() * 1000)); + } catch (InterruptedException e) {} + + tableFull = true; //Table is now full + System.out.println("[" + Thread.currentThread().getName() + "] " + components1.toString() + " and " + components2.toString() + " placed on the table."); + notifyAll(); //Notify all Technicians that table is full + } + + /** + * Method used by Technicians to obtain components on table and assemble a drone + * + * @param components The component the Technician has an infinite supply of (Used to determine if Technician is eligible to take the components on the table) + */ + public synchronized void getComponents(Components components) + { + while (!tableFull || componentsContains(components)) { //Makes Technician wait until the table is full and until the two required components from the Agent is available + if (this.dronesMade == 20){ //If 20 drones have been assembled, do not assemble another + return; + } + try { + wait(); //Make the Technician wait until notified that new components are available + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + System.out.println("[" + Thread.currentThread().getName() + "] Drone assembled."); + System.out.println("[" + Thread.currentThread().getName() + "] Waiting for remaining components..."); + this.dronesMade++; //Increase running total of drones assembled + System.out.println("[Counter] Drones assembled: " + this.dronesMade); + System.out.println("--------------------------------------------------------------"); + //Clear components and set table to empty + this.components[0] = null; + this.components[1] = null; + tableFull = false; + + // Random delay to simulate real scenario + try { + Thread.sleep((int)(Math.random() * 1000)); + } catch (InterruptedException e) {} + + notifyAll(); //Notify Technicians and Agent that components have changed + } + + /** + * Method used to check if the component given is one of the two components on the table + * + * @param components Component from Technician (used to check if Technician can accept the components on the table) + * @return True if component is on the table, false otherwise + */ + private boolean componentsContains (Components components){ + //If there are no components on the table, or one of the components on the table is the same as the component given from the Technician, return True; false otherwise + return (this.components[0] == null || this.components[1] == null || (this.components[0] == components || this.components[1] == components)); + } + + /** + * Getter method for getDronesMade. + * + * @return dronesMade + */ + public int getDronesAssembled(){ + return this.dronesMade; + } + + /** + * Method used to create new Technician threads; keeps consistency of naming conventions between threads + * + * @param t Common table between Technicians and Agent + * @param i Component that Technician will have an infinite supply of + * @return Created Technician thread + */ + private static Thread makeNewTechnician(AssemblyTable t, Components i){ + return new Thread(new Technician(t, i), "Technician-" + i.toString()); + } + + /** + * Method used to run the program. The program creates all threads and starts them + * + * @param args + */ + public static void main (String[] args){ + + Thread TechnicianFrame, TechnicianPropulsion, TechnicianControl, agent; //Threads for each Technician and the Agent + AssemblyTable assemblyTable; //Table + + assemblyTable = new AssemblyTable(); //Common Table for all Technicians and Agent + agent = new Thread(new Agent(assemblyTable), "Agent"); //Agent thread created + TechnicianFrame = makeNewTechnician(assemblyTable, Components.Frame); //Beans Technician created + TechnicianPropulsion = makeNewTechnician(assemblyTable, Components.PropulsionUnit); //Water Technician created + TechnicianControl = makeNewTechnician(assemblyTable, Components.ControlFirmware); //Sugar Technician created + + //Start all Technician and Agent threads + TechnicianFrame.start(); + TechnicianPropulsion.start(); + TechnicianControl.start(); + agent.start(); + } +} diff --git a/assignment04/Components.java b/assignment04/Components.java new file mode 100644 index 0000000..1dbe3a9 --- /dev/null +++ b/assignment04/Components.java @@ -0,0 +1,26 @@ +/** + * Components enums + * + * @author Dr. Rami Sabouni, + * Systems and Computer Engineering, + * Carleton University + * @version 1.0, January 07th, 2025 + * @version 2.0, January 10th, 2026 + */ + +import java.util.Random; + +public enum Components { + Frame, + PropulsionUnit, + ControlFirmware; + + /** + * Pick a random value of the Components enum. + * @return a random Component. + */ + public static Components getRandomComponent() { + Random random = new Random(); + return values()[random.nextInt(values().length)]; + } +} diff --git a/assignment04/Technician.java b/assignment04/Technician.java new file mode 100644 index 0000000..1ed3052 --- /dev/null +++ b/assignment04/Technician.java @@ -0,0 +1,45 @@ +/** + * This class is for the Technicians in this drone making system. + * The Technician has an infinite supply of one of the three components. + * The Technician will wait at the table until the other two components are placed, and will then make a drone and assemble it. + * The Technician will repeat this procedure until 20 drones are assembled in total between all Technicians + * + * @author Dr. Rami Sabouni, + * Systems and Computer Engineering, + * Carleton University + * @version 1.0, January 07th, 2025 + * @version 2.0, January 10th, 2026 + */ + +public class Technician implements Runnable { + private AssemblyTable assemblyTable; //The common table between Agent and Technicians + private Components components; //The only component each instance of Technician has an infinite supply of (this component is different between all three Technicians) + + /** + * Constructor for Technician + * + * @param t //The common table between Agent and Technicians + * @param i //The component this Technician has an infinite supply of + */ + public Technician(AssemblyTable t, Components i){ + this.assemblyTable = t; + this.components = i; + } + + /** + * Method used for each Technician thread when ran + */ + public void run(){ + System.out.println("[" + Thread.currentThread().getName() + "] Waiting for remaining components..."); + while (this.assemblyTable.getDronesAssembled() != 20){ //Will loop until 20 drones have been assembled + this.assemblyTable.getComponents(this.components); //Attempts to obtain the missing components for the Technician (if obtained, drone is assembled) + // Sleep for between 0 and 5 seconds before calculating n! + try { + Thread.sleep((int)(Math.random() * 5000)); + } catch (InterruptedException e) {} + } + + //All drones have been assembled + System.out.println("[" + Thread.currentThread().getName() + "] 20 drones assembled, ending..."); + } +} From 37be72e7404631df8ba1fc7e26b5b2b127c196f8 Mon Sep 17 00:00:00 2001 From: "Lavji, Fareen" Date: Sat, 14 Mar 2026 09:48:14 -0400 Subject: [PATCH 2/3] Cleanup for PR Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- assignment03/SYSC3303_A03_W26_Starting_code/README.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assignment03/SYSC3303_A03_W26_Starting_code/README.txt b/assignment03/SYSC3303_A03_W26_Starting_code/README.txt index 2bffd5d..a668bb6 100644 --- a/assignment03/SYSC3303_A03_W26_Starting_code/README.txt +++ b/assignment03/SYSC3303_A03_W26_Starting_code/README.txt @@ -107,7 +107,7 @@ Yellow Phase (2 ticks): Walk Phase (3 ticks): • Pedestrians receive WALK signal • Vehicles receive RED signal -Pedestrian Flashing (6 ticks): +Pedestrian Flashing (7 ticks): • Pedestrian signal alternates between DONT_WALK_ON and DONT_WALK_OFF • Vehicles receive RED signal • After flashing completes, cycle returns to vehicle green From 56c4f61a4124ff775043fd8e674d9d43b0881a66 Mon Sep 17 00:00:00 2001 From: "Lavji, Fareen" Date: Sat, 14 Mar 2026 09:50:43 -0400 Subject: [PATCH 3/3] Cleanup for PR Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- assignment04/Technician.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assignment04/Technician.java b/assignment04/Technician.java index 1ed3052..7f4eec1 100644 --- a/assignment04/Technician.java +++ b/assignment04/Technician.java @@ -33,7 +33,7 @@ public void run(){ System.out.println("[" + Thread.currentThread().getName() + "] Waiting for remaining components..."); while (this.assemblyTable.getDronesAssembled() != 20){ //Will loop until 20 drones have been assembled this.assemblyTable.getComponents(this.components); //Attempts to obtain the missing components for the Technician (if obtained, drone is assembled) - // Sleep for between 0 and 5 seconds before calculating n! + // Sleep for a random time between 0 and 5 seconds to simulate assembly time try { Thread.sleep((int)(Math.random() * 5000)); } catch (InterruptedException e) {}