C. Dennis Pegden Simio LLC 504 Beaver St. Sewickley, PA 15143, U.S.A.
This paper describes a new modeling system -- SimioTM that is designed to simplify model building by promoting a modeling paradigm shift from the process orientation to an object orientation. Simio is a simulation modeling framework based on intelligent objects. The intelligent objects are built by modelers and then may be reused in multiple modeling projects. Although the Simio framework is focused on object-based modeling, it also supports a seamless use of multiple modeling paradigms including event, process, object, and agent-based modeling.
In the early days of discrete event simulation the dominant modeling paradigm was the event orientation implemented by tools such as Simscript (Markowitz, et .al 1962.) and GASP (Pritsker, 1967). In this modeling paradigm the system is viewed as a series of instantaneous events that change the state of the system. The modeler defines the events in the system and models the state changes that take place when those events occur. This approach to modeling is very flexible and efficient, but is also a relatively abstract representation of the system. As a result many people found modeling using an event orientation to be difficult.
In the 80's the process orientation displaced the event orientation as the dominant approach to discrete event simulation. In the process view we describe the movement of passive entities through the system as a process flow. The process flow is described by a series of process steps (e.g. Seize, Delay, Release) that model the state changes that take place in the system. This approach dates back to the 1960's with the introduction of GPSS (Gordon, 1960) and provided a more natural way to describe the system. However because of many practical issues with the original GPSS (e.g. an integer clock and slow execution) it did not become the dominant approach until improved versions of GPSS (Henriksen, 76) along with newer process languages such as SLAM( Pegden/Pritsker, 79) and SIMAN (Pegden, 82) became widely used in the 80's. During the 80's and 90's graphical modeling and animation also emerged as key features in simulation modeling tools. Graphical model building simplified the process of building process models, and graphical animation dramatically improved the viewing and validation of simulation results. The introduction of Microsoft Windows made it possible to build improved graphical user interfaces and a number of new graphically based tools emerged (e.g. ProModel and Witness).
Another conceptual advance that occurred during this time was the introduction of hierarchical process modeling tools that supported the notion of domain specific process libraries. The basic concept here is to allow users to create new process steps by combining existing process steps. The widely used Arena modeling system (Pegden/ Davis, 1992) is a good example of this capability.
Since the wide spread shift to a graphics-based process orientation there have been refinements and improvements in the tools, but no real advances in the underlying framework. The vast majority of discrete event models continue to be built using the same process orientation that has been widely used for the past 25 years.
Although a process orientation has proven to be very effective in practice, an object orientation provides an attractive alternative modeling paradigm that has the potential to be more natural and easier to use. In an object orientation we model the system by describing the objects that make up the system. For example we model a factory by describing the workers, machines, conveyors, robots, and other objects that make up the system. The system behavior emerges from the interaction of these objects.
Although a number of products have been introduced to support an object orientation, to date many practitioners who have elected to stick with the process orientation. A big reason for this is that while the underlying modeling paradigm might be simpler and less abstract, the specific implementation may be difficult to learn and use (e.g. require programming), or slow in execution. This is no different than the challenges faced by the process orientation in unseating the event orientation. Although the first process modeling tool (GPSS) was introduced in 1961, it took 25 years before the process orientation was developed to the point that practitioners were persuaded to make the paradigm shift. This paper describes Simio -- a new simulation modeling tool that is designed to make the object orientation easy to use and efficient to execute. Although Simio incorporates a number of innovative features in pursuit of this goal, only time will tell if this tool has bridged the many practical issues that must be addressed to trigger a widespread paradigm shift in the way practitioners build models.
The tool is designed from the ground up to support the object modeling paradigm; however it also supports the seamless use of multiple modeling paradigms including a process orientation and event orientation. It also fully supports both discrete and continuous systems, along with large scale applications based on agent-based modeling. These modeling paradigms can be freely mixed within a single model.