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 are inappropriate for virtual laboratories. Domain-specific simulation toolkits (e.g. SPICE) are generative, but lack the explanation and reasoning facilities needed to scaffold 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 which use explicit representations of the expert's concepts of the domain to write efficient numerical programs. The fact that the qualitative model which 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 which provided deeper background information.
Self-explanatory simulators can generate numerical data, just like traditional simulators
Between 0.0 and 14400.0 seconds:
In Styrofoam cup in Chicago,
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
- Implemented a C++ runtime system, for creating small executables.
- Created a client/server version that can operate over networks
- Created a client/server version that uses an open communication protocol to enable coaches and other software to join the interaction between a student and a simulator
- Implemented a Java runtime system, for cross-platform executables and to facilitate the embedding of simulators in hypermedia.
We are also
- Developing several runtime shells for different types of education and training, including training simulators and gaming environments
- Creating new domain theories, intended to be useful on their own and to serve as examples that other simulation authors can use
- Developing an authoring environment, so that developers of education and training materials can create their own self-explanatory simulators more easily.
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.