200 likes | 266 Views
ICS - Intelligent Collaboration system Simulator. DSL lab, computer science faculty Technion – Israel institute of technology Supervisor: Uri Shani Michal Hashavit Naty Leiser Submission: November 2006. Overview.
E N D
ICS - Intelligent Collaboration system Simulator DSL lab, computer science faculty Technion – Israel institute of technology Supervisor: Uri Shani Michal Hashavit Naty Leiser Submission: November 2006
Overview • Event notification processing and handling system, operating in the medical domain. • Simulation of 5 basic scenarios • Notification Feedback • Spontaneous virtual meetings • Emergency meetings • Casting by skills • Paramedic personnel allocation • Project full details, design and implementation can be found at:http://t2.technion.ac.il/~smichalh/ICSProject/
Design summary • Implementation in Java programming language • Integrated with AMiT as the rules based engine • Several packages with minimal dependencies forming the entire system • Multi-threaded synchronized environment
Components • AMiT • Communication • Hospital modeling • Runtime • Location • GUI
AMiT • Rules based system running as a separate thread, needed in order to run the simulation. • 5 lifespans (corresponding to the 5 simulated scenarios) • 12 situation types • 18 event types
Communication • Middle tier between AMiT and the other components, abstracting the messages and alerts transmission • Centralized communication between AMiT and Clients of the Hospital package, using Publish-Subscribe mechanism • Currently support execution on a single host • Extending scalability of the simulation to run on several hosts requires upgrading this package
Hospital • Collection of hierarchical classes, modeling real-world entities operating in a hospital • Major classes: • Hospital, Floor • StaffMember: Doctor, Nurse • Room: BedRoom, OperatingRoom, Elevator, Lounge…
Runtime • Simulation bootstrap • Marshalling hospital entities objects to act repeatedly • 3 major threads • God • AMiT • StaffLocator • Temporary short-term threads for handling situation alerts
Location • Modeling coordinators system suitable for hospital layout • Defines distance between locations • Modeling of the LocationService device, assumed to be present at the hospital, which monitors mobile devices location.
GUI • Showing graphical representation of the simulation using 2.5D view • Presenting real-time counters and informative messages during simulation • Handling input from the user during simulation, in order to change simulation parameters or inspect objects’ state
Running the simulation • Execute “ics.bat” within the project folder • Simulation initial parameters saved in a configuration XML file. 3 preliminary files supplied with the simulator: • RoutineHospital.xml • UrgentHospital.xml • BigHospital.xml
Simulation configuration file <Config> <Initialization> <Param name="SIMULATION_DIM_X" value="950" type="int" /> <Param name="SIMULATION_DIM_Y" value="615" type="int" /> <Param name="NUMBER_OF_FLOORS" value="3" type="int" /> <Param name="NUM_OF_DOCTORS" value="12" type="int" /> <Param name="NUM_OF_NURSES" value="6" type="int" /> <Param name="BEDS_LOAD_PRECENTAGE" value="60" type="byte" /> <Param name="DOCTOR_INITIAL_NUM_BEDS" value="8" type="int" /> … <Param name="OPERATING_ROOM_CAPACITY" value="4" type="int" /> <Param name="ELEVATOR_CAPACITY" value="4" type="int" /> </Initialization> <RunTimeConfig> … (RunTime parameters) </RunTimeConfig> </Config>
Summary • We strived to design an easily extendible object model, to allow a simulation of more scenarios in the future. • Extending the communication package to support networking, with some changes of the Hospital main container, will allow the simulation to be distributed over several machines. • Special thanks to Alexander Kofman and Yonit Magid for helping us with the AMiT system.