How dtom-ass/project_mscaba works
MSCABA is a console simulator for an agro-industrial collection center. The operator registers trucks, which the controller queues by priority; processing removes the next truck, assigns warehouse capacity, records weighing in undo/history/audit structures, and advances the quality inspector. The CLI displays queue and warehouse state and provides history, audit, and undo options. The README documents these domain capabilities, and the excerpts show the controller’s calls. Undo currently removes the truck from its stack only; the controller notes that warehouse release is not implemented. The map reflects sampled source and README claims, not unsampled behavior.
Main entry points: Main.java Main controller · TruckPriorityQueue.java Priority queue · ConsoleView.java Console CLI · WarehouseMatrix.java Warehouse grid
Components 10
Console interaction
- Console CLI
src/view/ConsoleView.java
Center operations
- Main controller
src/controller/Main.java - Truck model
src/model/Truck.java - Priority queue
src/model/TruckPriorityQueue.java - Warehouse grid
src/model/WarehouseMatrix.java - Inspector rotation
src/model/InspectorCircularList.java
Operational records
- Undo stack
src/model/UndoStack.java - Processed history
src/model/ProcessedHistoryList.java - Scale audit
src/model/AuditDoubleList.java
Other components
- Operator
Connections 14
- Operator → Console CLI: selects options
src/view/ConsoleView.java - Console CLI → Main controller: returns input
src/controller/Main.java - Main controller → Console CLI: renders status
src/controller/Main.java - Main controller → Truck model: creates trucks
src/controller/Main.java - Main controller → Priority queue: enqueues trucks
src/controller/Main.java - Main controller → Priority queue: takes next truck
src/controller/Main.java - Main controller → Warehouse grid: assigns slot
src/controller/Main.java - Main controller → Priority queue: requeues on full
src/controller/Main.java - Main controller → Undo stack: pushes and pops
src/controller/Main.java - Main controller → Processed history: records and reads
src/controller/Main.java - Main controller → Scale audit: records and reads
src/controller/Main.java - Main controller → Inspector rotation: rotates and reads
src/controller/Main.java - Main controller → Priority queue: reads queue status
src/controller/Main.java - Main controller → Warehouse grid: reads grid
src/controller/Main.java