Self-Explanatory Simulators

Simulation can be a powerful technique for education and training, as demonstrated by systems such as SOPHIE, STEAMER, and RBT. But building simulators can be difficult. Using preexisting simulators rules out the possibility of using a student's design, and hence is inappropriate for virtual laboratories. Domain-specific simulation toolkits (e.g. SPICE) are generative, but lack the explanation and reasoning facilities needed to provide scaffolding for students in analyzing their design. For example, the choice of models for components is left entirely to the user.

We developed the technology of self-explanatory simulators to overcome these problems. A self-explanatory simulator includes a numerical component that provides all the accuracy and speed of traditional numerical simulators. It also includes a qualitative component that provides explanations of the simulator's results in intuitive, causal terms. Such simulators can be built automatically by compilers that use explicit representations of the expert's concepts of the domain to write efficient numerical programs. The fact that the qualitative model that forms the basis for the simulator's explanations was used in the construction of the simulator itself helps ensure that the qualitative and numerical components of the simulator are mutually coherent. The causal explanations provided by a self-explanatory simulator suffice for many questions about the system's behavior, and could be used as an entry point for multimedia systems that provide deeper background information.

Self-explanatory simulators can generate numerical data, just like traditional simulators

Between 0.0 and 14400.0 seconds:
evaporation from Cup occurs
flow of heat from Atmosphere to water
in Cup occurs
there is water in liquid form in Cup
water in Cup touches the atmosphere
In Styrofoam cup in Chicago,
mass of water in Cup can be affected by:
water loss via evaporation from Cup

In Styrofoam cup in Chicago,
water loss via evaporation from Cup can
be affected by:
vapor pressure of Atmosphere
saturation pressure of Atmosphere
surface area of water in Cup
temperature of water in Cup

Self-explanatory simulators can also generate conceptual explanations of the behavior.

We believe that self-explanatory simulators will have many applications in educational settings. Our original motivation for developing self-explanatory simulators was our work on the STEAMER project, an early CBT system for training Navy personnel in propulsion plant operations. Integrating explanation facilities into STEAMER's black-box simulation model was almost impossible. Self-explanatory simulators avoid this problem because they are constructed by a compiler that mimics what human programmers do: Physical knowledge is used to identify what mathematical models are relevant, from which simulation code is written. Since the qualitative understanding is explicitly represented in the compiler, it can be output as part of the finished simulator, which is arranged to allow easy inspection of both qualitative and mathematical models used in the simulator's construction. In addition to being useful outputs, these explanations enable the simulator to monitor its own performance and detect when the expectations for a simulator's behavior (expressed through qualitative representations) are violated. The qualitative summary of a behavior can also be used as a retrieval cue in building coaches. A final advantage of this compilation technique is that all sophisticated qualitative reasoning occurs at compile time, rather than run time. This means that self-explanatory simulators can be compiled to run efficiently even on very small computers, making them excellent candidates for a wide variety of classroom situations and for embedding in larger software systems.

Self-explanatory simulators differ from mixed numerical/qualitative simulation techniques based on discrete event simulation techniques, which involve estimating many system parameters that are not easily available, such as lags for thermal changes. By using standard continuous system simulation techniques we minimize the amount of system-specific information required. Self-explanatory simulators also differ from animation-based systems, which allow modelers to specify arbitrary (even non-local) discrete behaviors within components. Such simulators are optimized for producing appropriate displays for training tasks, but do not provide an accurate simulation of the physical system itself.


Self-explanatory simulators can be automatically compiled.

Our compiler technology for self-explanatory simulators is ready to move out of the laboratory. Our earlier compiler was used to build a variety of large simulators, including a simulator of a twenty-stage distillation column containing over 300 parameters (details here). Recently we improved our compiler so that it operates in polynomial time. Our new compiler has produced simulators with over 2,500 parameters, which is more than many training simulators contain (e.g., the STEAMER engine room model was roughly 800 parameters). Both the new compiler and the simulators it produces can run on microcomputers, even in the current Common Lisp implementation. This breakthrough means we can use self-explanatory simulators and compilers for them as robust components in educational software. On the kinds of computers that will be common in classrooms soon, a student should be able to receive a simulator based on their design within a few minutes (or less), and be able to test it in a simulated environment complete with data recording and analysis facilities.

We are taking several steps to make the technology very practical for educational applications. So far we have

We are also

Selected Relevant Papers

Forbus, K. and Falkenhainer, B. (August, 1990). Self-explanatory simulations: An integration of qualitative and quantitative knowledge. Proceedings of the American Association for Artificial Intelligence (AAAI-90).

Forbus, K. and Falkenhainer, B. (1995). Scaling up Self-Explanatory Simulators: Polynomial-time Compilation. Proceedings of IJCAI-95, Montreal, Canada.

Relevant Projects

Qualitative Reasoning for Engineering Problem Solving

Articulate Software for Teaching Science and Engineering

Back to Ideas page | Back to Self-Explanatory Simulators: Java runtimes | Back to QRG Home Page