180 likes | 273 Views
Tray allocation for a sortation system Real-time version Iteration III. TI-VDM2 Project by José Antonio Esparza and Kim Bjerge. Today’s presentation. Status Deployment models (UML) Update on real-time model (VDM) Optimized real-time model (VDM). Status for RT model.
E N D
Tray allocation for a sortation systemReal-time versionIteration III TI-VDM2 Project by José Antonio Esparza and Kim Bjerge Sortation System, TrayAllocation
Today’spresentation • Status • Deployment models (UML) • Updateon real-time model (VDM) • Optimized real-time model (VDM) Sortation System, Tray Allocation
Status for RT model • RT model now working but very slow • Feeding items based on time • Changed sorter environment to convert time units to ms • Fixed problem reading logrt by removing calls to static’s • Induction separation implemented with a busy wait • Optimized RT model fast but not able to fill sorter • Changed design to minimize interaction between CPU´s • Separated Induction and InductionController • Found that objects allocated in TrayAllocator is deployed on vCPU Sortation System, TrayAllocation
Object diagram concurrent version Sortation System, Tray Allocation
#1 Deployment RT Sortation System, Tray Allocation
#2 Deployment RT Sortation System, Tray Allocation
#1 Deployment VDM Architecture overview Sortation System, Tray Allocation
#1 Deployment RT version of SC – system Sortation System, Tray Allocation
RT version of TrayAllocatorperiodicthread Sortation System, Tray Allocation
RT version of InductionControllerthread Sortation System, Tray Allocation
RT version of SorterEnviromentthread Sortation System, Tray Allocation
Async operation FeedItem in InductionController Sortation System, Tray Allocation
Simulation Result *Induction id 1 -> Item id 16 size 100 on tray id 1 *Induction id 3 -> Item id 20 size 300 on tray id 5 < 18 >< 19 >< 20 >< 21 >*Induction id 2 -> Item id 19 size 200 on tray id 7 < 22 >--------------------------------------------- Simulation completed for sorter configuration --------------------------------------------- Specifiedthroughput [items/hour]: 10000 Sorter speed [mm/sec]: 2000 Item max size [mm]: 1500 Item min size [mm]: 100 Tray size [mm]: 600 Number of trays : 20 Number of inductions : 3 Induction rate : 2 Induction separation [trays]: 2 ---------------------------------------------- Number of trays with items : 19 Two tray items on sorter : 0 Number of tray steps : 23 Number of inducted items : 19 Calculatedthroughput[items/hour]: 9913 ---------------------------------------------- **** Sorter is not full **** ---------------------------------------------- new World().Run() = () Sortation System, Tray Allocation
Optimized RT version Analyses • Slow RT version due to heavy interaction between CPUs • Log files shows lots of traffic - operation calls Solution • Minimized the number of calls between TrayAllocatorInductionController (IC) - RequestTray (IC -> TA) • Separated InductionController into 2 classes • Priority handling moved to TrayAllocator • Use of icid to synchronize TrayAllocator and IC • Creating objects on TrayAllocator - CPU • Periodic thread on TrayAllocator reduced from 30000 to 6000 VDM time units Sortation System, Tray Allocation
Original sequential class diagrams Sortation System, Tray Allocation
InductionController CPU1 Sortation System, Tray Allocation
Environment vCPU FixedTrays allocated onvCPU Sortation System, Tray Allocation
Demonstration of optimized RT model DEMO Sortation System, Tray Allocation