Hierarchical reasoning: simulating complex processes over multiple levels of abstraction

This thesis describes a method for simulating processes over multiple levels of abstraction. There has been recent work with respect to data, object, and problem-solving abstraction, however, abstraction in simulation has not been adequately explored. We define a process as a hierarchy of distinct production rule sets that interface to each other so that abstraction levels may be bridged where desired. In this way, the process may be studied at abstraction levels that are appropriate for the specific task:notions of qualitative and quantitative simulation are integrated to form a complete process description. The advantages to such a description are increased control, computational efficiency and selective reporting of simulation results. Within the framework of hierarchical reasoning, we will concentrate on presenting the primary concept of process abstraction. A Common Lisp implementation of the hierarchical reasoning theory called HIRES is presented. HIRES allows the user to reason in a hierarchical fashion by relating certain facets of the simulation to levels of abstraction specified in terms of actions, objects, reports, and time. The user is free to reason about a process over multiple levels by weaving through the levels either manually or via automatically controlled specifications. Capabilities exist in HIRES to facilitate the creation of graph-based abstraction levels. For instance, the analyst can create continuous system models (CSMP), petri net models, scripts, or generic graph models that define the process model at a given level. We present a four-level elevator system and a two-level "dining philosophers" simulation to demonstrate the efficacy of process abstraction.