This page holds some answers to frequently asked questions about QSIM and its extensions.
This list is undoubtedly incomplete. Please send any additional
information we should
include to email@example.com.
Questions and answers are organized in following categories:
Q1.1: On what platforms has QSIM been tested ?
A: The latest version of QSIM has been tested on the following platforms
There are a lot of examples included in the distribution package. These examples require just a basic experience in Lisp. You can easily expand these examples or develop new simulation models using these examples as templates.Q1.4: Are there any QSIM-related mailing lists available ?
However, if you wish to explore the source code or even extend it, programming experience is obviously required.
The Lisp FAQ is a good starting point to learn more about Lisp.
To subscribe or unsubcribe from either mailing list please send your request to firstname.lastname@example.org.
While there have been a number of applications using QSIM developed within industrial research labs, to our knowledge there is not an industrial application of QSIM that is in use today. We are very interested in any potential applications. If you are familiar with an industrial application or interested in developing one, please contact us.Q1.6: Where can I get further information about qualitative simulation and QSIM in special ?
There are some industrial applications which use qualitative reasoning techniques.
The European Network of Excellence MONET is a good starting point to find out more about such applications.
You can get a lot of information about QSIM from our web server. There are also a lot of papers are available.
A definitely excellent source is the Qualitative Reasoning book by Ben Kuipers.
An overview of the various users of QSIM and their work can be found at our user's page.
Q2.2: I want to use QSIM on platform on a different
platform or I am using a different Lisp. Can I do it?
In general, QSIM should run on any CLTL compatible common lisp. In practice, there are usually a few issues that must be addressed when installing QSIM on a new lisp, but in general these issues are quite manageable. The biggest issue is the mechanism used to display the results. The current QSIM distribution uses the X windows system to display the results of the simulation. Thus, if you are installing QSIM under Unix running X windows, you should be able to get QSIM to run without any real problem. If, however, you are not using X-windows, then getting the results to display can be a little tricky. This problem, however, can be solved by using ghostview to display the results of a simulation. This is the technique that is used when running QSIM under ACL on Windows 95. Basically, you need to save the display results of a simulation to a postscript file and then you need to view the file using ghostscript.
QSIM displays the results of a simulation by writing the information for a requested display to a file and then invoking an X-windows program that reads the file and displays the results. One of the issues that must be addressed when installing QSIM on a new Lisp is that the installer must find out how to make a foreign function call from within Lisp and must add the appropriate call to the X-windows program. The function that must be modified is called QPLOT-END-DISPLAY and it is in the file xpos/qplot-primitives.lisp. At the end of the file, you will see a bunch of statements preceeded by the symbols "#+". This symbol is a read-time conditional. It causes the form that follows to be executed if and only if the string that follows the "#+" string is contained within a list maintained on the special variable *features*. Execute *features* from the main package and you will see the contents of this list. You must add the command for your Lisp version and then find the string in *features* that is unique to your version of Lisp. Currently, we have already included the command for most of the publicly available Lisp implementations.
More information is contained in the installation manual.
If you do install QSIM on a new version of LISP, please contact us with information about your experiences.
Q2.3: Can I install and run QSIM on my PC ?
Yes, QSIM can be installed and executed on a PC. The two most common possibilities are:Q2.4: How can I test whether the installation was successful ?
1. Install Allegro Common Lisp on a PC running Windows 95
2. Install Allegro Common Lisp on a PC running Linux (ACL is free for Linux)
For the QSIM installation, please refer to the installation instructions.
There are two measures you can use to determine whether the installation is successful. First, you can try to run an example model using the function Q. Execute the following Lisp commands once you have completed the installation:
You will receive a menu. Select the EXAMPLES option and try to run an example.
If you receive an error at this point, you may still be able to use QSIM. The problem may just be in the mechanism used to load the example files from the menu since this can be a little flaky.
Alternatively, you can manually load a model and try to run it. Load the file nq/source/examples/bathtub.lisp and then execute the function (fill-a-bathtub) while in the QSIM package.Q2.5: Has QSIM been ported to C/C++ or another language ?
After executing a model, you will receive a menu that you can use to display the results. Use this menu and see whether the results are displayed on your machine.
The core of QSIM has been implemented in various languages by various students and researchers around the world.Q2.6: Where can I get a free Lisp to run QSIM ?
A rather old C implementation of the basic QSIM functionality is included in the distribution package, i.e., in the
If you know of available ports of QSIM or parts of it, please contact us.
Q2.7: Does QSIM run under ACL5.0?
QSIM can be installed under Allegro Common Lisp (ACL) version 5.0.
Extract the latest QSIM distribution and extend the read-time conditional in the files nq/start-nq.lisp and c-code/defsystem-patches.lisp by "#+:allegro-v5.0" or simply replace these files by
Q3.1: How can I start a simulation ?
A: To perform a simulation you must perform the following steps:
Q3.2: How can I view the results of a simulation
The results of a simulation are displayed using the qsim-display function. This function provides a menu that you can use to look at the behavior tree as well as individual behaviors. The menu also provides a number of other options that can be very useful when evaluating the results of the simulation. Some of these additions are explained in the qsim-extensions manual.
Q3.3: QSIM predicts (too) many behaviors.
What can I do to reduce the number of behaviors ?
A: The number of behaviors generated by QSIM can be quite large and may be due to a number of reasons.