Back | Next |
To facilitate building a peri-operative process discrete event simulation model, Phil designed and built TroySim, a Java based high performance enterprise discrete event simulation platform. While Phil was aware of and had been teaching the use of other excellent commercially available simulation packages, some of the reasons Phil decided to develop this platform included:
Most of today's commercial simulation platforms use flow chart drawing capabilities to build simulation models, an approach that is very convenient for many small to medium-sized models. However, as evidenced by the move by information systems analysts from using flow charts to the use of the Unified Modeling Language, Phil knew that it can be very hard, if not impossible, to model processes with complex interactions between entities using a single diagram. Perhaps even more importantly, Phil could not identify a systematic and repeatable methodology for building simulation models with the existing commercial simulation platforms.
Today's commercial simulation platforms are fast. But since Phil was contemplating using simulation based optimization to optimize surgery schedules, which could easily entail evaluating tens of thousands of individual schedules, and since evaluating a single schedule could easily require fifty to one hundred simulation runs that could easily take ten or more seconds per run, Phil realized that even faster performance was required.
Today's commercial simulation platforms also have excellent two and/or three dimensional animation capabilities. Nonetheless, Phil realized that for process improvement, while hospitals only need two dimensional animation, they also need for that animation to work for each level of the hospital. Phil also realized that it might be necessary to simultaneously animate different parts of the hospital on different pcs, so that management could interactively evaluate process changes both visually and quantitatively.
Particularly when dealing with complex models, making sure that the model is appropriately accurate, and that it performs as designed, is critical. Thus Phil was particularly concerned with his perception that most commercial simulation platforms lack built-in capabilities for supporting verification and validation.
To address these limitations, Phil designed TroySim to:
Phil identified three benefits of using an object oriented methodology. The first benefit is that simulation models can be readily modeled using objects for simulation entities, objects for simulation events, object attributes for entity attributes, and object methods for the activities that entities perform. The second benefit is that using an object oriented approach would make it possible for analysts to take advantage of their experience doing object oriented analysis. The third benefit is that using object oriented methodology makes it possible to directly build simulation models as part of the analysis process.
Phil initially used Java and the Java Virtual Machine to develop TroySm because they are object oriented, because their performance nears that of the best programming languages, because they can be easily distributed for parallel processing and animation via web pages, and because they could, at the time, be used on almost all major operating systems. Phil is currently developing a second version of TroySim that is expected to work with the Java Virtual Machine, .Net, and natively on most phones, laptops and desktops.
Phil implemented the first version of TroySim so that it animates each floor two dimensionally and so that it is easy to change the floor currently being animated. Phil is planning on upgrading the animation capability so that users can zoom in or out, so that multiple pcs can animate different parts of a single simulation run, and so that different types of animations can be accessed simultaneously.
To do so, Phil added state variables to each entity, which in turn makes it easy to ensure that all entities are in the appropriate state before performing specific activities.
Phil's TroySim Conference Presentations With Proceedings:
Phil's TroySim Invited Presentations: