I had a few thoughts on the multi-phase server.
1) This is executing tasks sequentially. What about the cases where there are some tasks in parallel. For example, you go into a server and 4 tasks are done in parallel, once all 4 are complete, you start the next 3 in sequence, followed by the last 4 in parallel.
2) Each task can require an additional resource. How would we structure this to require multiple resources for some tasks, while only requiring 1 or none for others? For example, in healthcare, once you are in the room, maybe you need:
- nurse
- nurse & doctor
- doctor only
- nurse & doctor
- nurse only
Could you utilize lists to pass in these multi-requirement tasks? What about tasks that could be serviced by one of many resource types, could we somehow utilize lists again for that behavior?
Looping through a table to execute sequential delays is not very cumbersome if I need to do it on a project, so I don't see alot of gain with this multi-server. The development time gain is minimal, and there is a cost of adding another layer of complexity to the server object. However, if you address the above complexities, then I could see this multi-task server being powerful in reducing development time on some projects.
Regardless of whether this makes it into a future release as a standard, can we please take advantage of the ability to pass arguments to create smaller, more readable processes in the Simio objects. Some of the processes on Simio objects can get so large, it is hard to modify them when we have a legitimate need to sub-process. Everything in red after the decide block on this candidate server could be put in another process called "ExecuteServerTasks" That alone would minimize the "complexity add" to the server object.
Thanks