|
|
|
@ -4,299 +4,57 @@ README |
|
|
|
|
|
|
|
This is PRISM (Probabilistic Symbolic Model Checker), version 3.0.beta1 |
|
|
|
|
|
|
|
This document contains information about installing and running PRISM. |
|
|
|
------------ |
|
|
|
INSTALLATION |
|
|
|
------------ |
|
|
|
|
|
|
|
If you downloaded a source code version, please start at section "1. Compiling PRISM from source code". |
|
|
|
For detailed installation instructions, check the online manual at: |
|
|
|
|
|
|
|
If you downloaded a precompiled binary version, please start at section "2. Installing a binary version of PRISM". |
|
|
|
http://www.cs.bham.ac.uk/~dxp/prism/manual/InstallingPRISM/Instructions |
|
|
|
|
|
|
|
or look in the local copies included in this distribution: |
|
|
|
|
|
|
|
If you experience problems, please see section "4. Common problems and questions". |
|
|
|
doc/manual/InstallingPRISM/Instructions.html |
|
|
|
doc/manual.pdf |
|
|
|
|
|
|
|
For information on how to use the tool itself, please refer to the PRISM Users' Guide |
|
|
|
in doc/manual.pdf. For more information about the tool and some of the case studies |
|
|
|
which it has already been applied to, please visit the PRISM web site at: |
|
|
|
Very abbreviated instructions for installing/running PRISM are as follows: |
|
|
|
|
|
|
|
http://www.cs.bham.ac.uk/~dxp/prism/ |
|
|
|
|
|
|
|
-------- |
|
|
|
Contents |
|
|
|
-------- |
|
|
|
|
|
|
|
1. Compiling PRISM from source code |
|
|
|
2. Installing a binary version of PRISM |
|
|
|
3. Running PRISM |
|
|
|
4. Common problems and questions |
|
|
|
5. Licensing details |
|
|
|
6. Acknowledgements |
|
|
|
7. Contact |
|
|
|
|
|
|
|
|
|
|
|
----------------------------------- |
|
|
|
1. Compiling PRISM from source code |
|
|
|
----------------------------------- |
|
|
|
|
|
|
|
------------------------------------ |
|
|
|
1.1 What operating system can I use? |
|
|
|
------------------------------------ |
|
|
|
|
|
|
|
To date, PRISM has been successfully compiled on the following platforms: |
|
|
|
|
|
|
|
* Linux |
|
|
|
* Solaris |
|
|
|
* Windows (using Cygwin and MingW) |
|
|
|
* Mac OS X |
|
|
|
|
|
|
|
There is more information about compiling on other platforms in section 4. |
|
|
|
|
|
|
|
------------------------------------ |
|
|
|
1.2 What do I need to compile PRISM? |
|
|
|
------------------------------------ |
|
|
|
|
|
|
|
The compilation of PRISM relies on a Unix-like environment. For Windows, |
|
|
|
we use the the Cygwin development environment (www.cygwin.com). However, |
|
|
|
we actually use the MingW libraries (www.mingw.org) so that the final result |
|
|
|
is independent of Cygwin at run-time. |
|
|
|
|
|
|
|
You will need: |
|
|
|
|
|
|
|
* GNU make (sometimes called gmake) |
|
|
|
|
|
|
|
* A C/C++ compiler (e.g. gcc/g++) |
|
|
|
|
|
|
|
* Java 2, Standard Edition (J2SE) version 1.4 or higher: |
|
|
|
the Java development kit (JDK), including javac, javah, java, etc. |
|
|
|
|
|
|
|
If you don't know what version of Java you have, try typing the following at |
|
|
|
the command prompt: |
|
|
|
|
|
|
|
java -version |
|
|
|
For Windows binary distributions: |
|
|
|
|
|
|
|
The version information should be displayed. If you don't know whether you have |
|
|
|
the JDK, checking that javac, the Java compiler is present by typing: |
|
|
|
- there is no installation; just double-click bin/xprism.bat |
|
|
|
|
|
|
|
javac |
|
|
|
For other binary distributions: |
|
|
|
|
|
|
|
If you see information about javac displayed, this is fine. If you get an error |
|
|
|
message that javac cannot be found, you probably do not have the JDK installed. |
|
|
|
You can download the Sun Java JDK from java.sun.com. Alternatively, you may have |
|
|
|
Java installed, but your path may not be set up correctly. |
|
|
|
- enter the PRISM directory, type "./install.sh" and then execute bin/xprism or bin/prism |
|
|
|
|
|
|
|
--------------------------- |
|
|
|
1.3 How do I compile PRISM? |
|
|
|
--------------------------- |
|
|
|
For source code distributions: |
|
|
|
|
|
|
|
1. Enter the PRISM directory, e.g.: |
|
|
|
|
|
|
|
cd prism-3.0.beta1-src |
|
|
|
|
|
|
|
2. Hopefully, you can build PRISM simply by typing: |
|
|
|
|
|
|
|
make |
|
|
|
|
|
|
|
For this process to complete correctly, PRISM needs to be able to determine |
|
|
|
both the operating system you are using and the location of your Java distribution. |
|
|
|
If there is a problem with either of these, you will be given instructions |
|
|
|
telling you how to resolve this. You will be advised to specify one or both of |
|
|
|
these manually, such as in these examples: |
|
|
|
|
|
|
|
make OSTYPE=linux |
|
|
|
make JAVA_DIR=/usr/java/j2sdk1.4.2 |
|
|
|
make OSTYPE=linux JAVA_DIR=/usr/java/j2sdk1.4.2 |
|
|
|
|
|
|
|
Note that it is also possible to achieve this by setting the environment variables |
|
|
|
OSTYPE and JAVA_DIR yourself or by editing the values in the Makefile directly. |
|
|
|
|
|
|
|
If you have any other problems, see section "4. Common problems and questions". |
|
|
|
- enter the PRISM directory, type "make", then "./install.sh" and then execute bin/xprism or bin/prism |
|
|
|
|
|
|
|
3. Run the PRISM installation script: |
|
|
|
|
|
|
|
./install.sh |
|
|
|
|
|
|
|
This script simply sets a few parameters in the scripts to run PRISM. |
|
|
|
Note that if you later move or rename the PRISM directory, you will |
|
|
|
need to repeat this step. |
|
|
|
If you have problems check the manual, especially the section "Common Problems And Questions". |
|
|
|
|
|
|
|
Installation is complete. Now see section "3. Running PRISM". |
|
|
|
|
|
|
|
------------- |
|
|
|
DOCUMENTATION |
|
|
|
------------- |
|
|
|
|
|
|
|
--------------------------------------- |
|
|
|
2. Installing a binary version of PRISM |
|
|
|
--------------------------------------- |
|
|
|
The best source of information about using PRISM is the online manual: |
|
|
|
|
|
|
|
---------------------------------- |
|
|
|
2.1 What will I need to run PRISM? |
|
|
|
---------------------------------- |
|
|
|
http://www.cs.bham.ac.uk/~dxp/prism/manual/ |
|
|
|
|
|
|
|
To run a binary version of PRISM, you will need: |
|
|
|
You can also view the local copies included in this distribution: |
|
|
|
|
|
|
|
* Java 2, Standard Edition (J2SE) version 1.4 or higher |
|
|
|
Note that the Java runtime environment (JRE) is sufficient: |
|
|
|
you do not need the Java development kit (JDK). |
|
|
|
|
|
|
|
If you don't know what version of Java you have, try typing the following at |
|
|
|
the command prompt: |
|
|
|
|
|
|
|
java -version |
|
|
|
|
|
|
|
The version information should be displayed. If you get an error message that |
|
|
|
java cannot be found, you probably do not have Java installed. You can download |
|
|
|
the Sun Java JRE/JDK from java.sun.com. Alternatively, you may have Java |
|
|
|
installed, but your path may not be set up correctly. |
|
|
|
|
|
|
|
----------------------------------------------- |
|
|
|
2.2 How do I install a binary version of PRISM? |
|
|
|
----------------------------------------------- |
|
|
|
|
|
|
|
For Linux/Solaris/OS X: |
|
|
|
|
|
|
|
1. Unpack the PRISM distribution into a suitable location, e.g.: |
|
|
|
|
|
|
|
tar xfz prism-3.0.beta1-linux.tar.gz |
|
|
|
|
|
|
|
2. Enter the prism directory and run the installation script |
|
|
|
|
|
|
|
cd prism-3.0.beta1-linux |
|
|
|
./install.sh |
|
|
|
|
|
|
|
Please note that if your move or rename the PRISM directory after |
|
|
|
this point, you will need to repeat this step. |
|
|
|
|
|
|
|
For Windows: |
|
|
|
|
|
|
|
1. Unpack the PRISM directory into a suitable location using WinZip |
|
|
|
or a similar application. |
|
|
|
|
|
|
|
Now see section "3. Running PRISM". |
|
|
|
|
|
|
|
|
|
|
|
---------------- |
|
|
|
3. Running PRISM |
|
|
|
---------------- |
|
|
|
doc/manual/index.html |
|
|
|
doc/manual.pdf |
|
|
|
|
|
|
|
There are two versions of PRISM: the graphical user interface (GUI) version |
|
|
|
and the command-line version. To run the GUI version, see section 3.1, To run |
|
|
|
the command-line version, see section 3.2. |
|
|
|
|
|
|
|
If you experience any problems, see section "4. Common problems and questions". |
|
|
|
|
|
|
|
------------------------------------------ |
|
|
|
3.1 How do I run the GUI version of PRISM? |
|
|
|
------------------------------------------ |
|
|
|
|
|
|
|
For Linux/Solaris/OS X: |
|
|
|
|
|
|
|
1. Run the executable file xprism in the bin directory of the PRISM distribution. |
|
|
|
Alternatively, add the bin directory to your path and just type xprism. |
|
|
|
|
|
|
|
For Windows: |
|
|
|
|
|
|
|
1. Double click on the file xprism.bat in the bin directory. |
|
|
|
|
|
|
|
If you want to create shortcuts to PRISM on your desktop, you can find a selection |
|
|
|
of icons in the etc directory. |
|
|
|
For other PRISM-related information, see the website: |
|
|
|
|
|
|
|
--------------------------------------------------- |
|
|
|
3.2 How do I run the command-line version of PRISM? |
|
|
|
--------------------------------------------------- |
|
|
|
|
|
|
|
For Linux/Solaris/OS X: |
|
|
|
|
|
|
|
1. Run the executable file prism in the bin directory of the PRISM distribution. |
|
|
|
Alternatively, add the bin directory to your path and just type prism. |
|
|
|
|
|
|
|
For Windows: |
|
|
|
|
|
|
|
1. Run the command prompt and go into the PRISM bin directory, e.g.: |
|
|
|
|
|
|
|
cd "c:\Program Files\prism-3.0.beta1-win\bin" |
|
|
|
|
|
|
|
2. Execute the prism.bat batch file, passing a PRISM example file as an argument, e.g.: |
|
|
|
|
|
|
|
prism ..\examples\dice\dice.pm |
|
|
|
|
|
|
|
3. Alternatively, edit the file prism.bat to allow it to be run from any location. |
|
|
|
The instructions inside the file explain this procedure. |
|
|
|
|
|
|
|
To get a full list of options and switches for the command-line version, |
|
|
|
please refer to the PRISM Users' Guide in doc/manual.pdf. |
|
|
|
|
|
|
|
|
|
|
|
-------------------------------- |
|
|
|
4. Common problems and questions |
|
|
|
-------------------------------- |
|
|
|
|
|
|
|
1. Compilation (i.e. running make) seems to do nothing |
|
|
|
|
|
|
|
Perhaps you are not using the GNU version of make. Try typing "make -v" |
|
|
|
to find out. On some systems, GNU make is called gmake. See also point 3. |
|
|
|
|
|
|
|
|
|
|
|
2. Compilation (i.e. running make) gives errors of the form: |
|
|
|
"Unexpected end of line seen..." |
|
|
|
or |
|
|
|
"make: Fatal error in reader: Makefile, line 58: Unexpected end of line seen" |
|
|
|
|
|
|
|
See answer to previous question. |
|
|
|
|
|
|
|
|
|
|
|
3. Do I have to use GNU make? |
|
|
|
|
|
|
|
No, but you will have to modify the PRISM Makefile manually to overcome this. |
|
|
|
All places where a dependency occurs are marked with a comment "requires GNU make". |
|
|
|
|
|
|
|
|
|
|
|
4. When I run PRISM, I get an error of the form: |
|
|
|
"Exception in thread "main" java.lang.NoClassDefFoundError: ..." |
|
|
|
|
|
|
|
(a) If you are on Linux/Solaris/OS X, make sure that you ran the installation script |
|
|
|
install.sh from the PRISM directory. |
|
|
|
|
|
|
|
(b) If you are on Windows, make sure that you followed the instructions in |
|
|
|
section 3.2 correctly. |
|
|
|
|
|
|
|
(c) If you compiled the PRISM distribution from source code, make sure that no errors |
|
|
|
occurred during the process. To recompile, go into the PRISM directory, type |
|
|
|
"make clean_all" and then follow the instructions in section 1.3 again. |
|
|
|
|
|
|
|
|
|
|
|
5. When I run PRISM, I get an error of the form: |
|
|
|
"java.lang.UnsatisfiedLinkError: ..." |
|
|
|
|
|
|
|
See answer to previous question. |
|
|
|
http://www.cs.bham.ac.uk/~dxp/prism/ |
|
|
|
|
|
|
|
|
|
|
|
6. Can I build PRISM on operating systems other than those currently supported? |
|
|
|
|
|
|
|
PRISM should be suitable for any Unix/Linux variant. |
|
|
|
|
|
|
|
The first thing you will need to do is compile CUDD on that platform. |
|
|
|
Fortunately, CUDD has already been successfully built on a large number of |
|
|
|
operating systems. Have a look at the sample makefiles we provide (i.e. the |
|
|
|
files cudd/Makefile.*) which are slight variants of the original makefile |
|
|
|
provided with cudd (found here: cudd/modified/orig/Makefile). They contain |
|
|
|
instructions on how to modify it for various platforms. You can then call |
|
|
|
your new modified makefile something appropriate (cudd/Makefile.$OSTYPE) and |
|
|
|
proceed to build PRISM as usual. To just build CUDD, not PRISM, type |
|
|
|
"make cuddpackage" instead of make". |
|
|
|
|
|
|
|
Next, look at the main PRISM Makefile, in particular, each place where the |
|
|
|
variable $OSTYPE is referred to. Most lines include comments and further |
|
|
|
instructions. Once you have done this, proceed as usual. |
|
|
|
|
|
|
|
If you do successfully build PRISM on other platforms, please let us know |
|
|
|
so we can include this information in future releases. Thanks. |
|
|
|
|
|
|
|
|
|
|
|
7. I still have a problem. What can I do? |
|
|
|
|
|
|
|
Please feel free to email us for advice: |
|
|
|
|
|
|
|
Dave Parker: dxp@cs.bham.ac.uk |
|
|
|
|
|
|
|
|
|
|
|
-------------------- |
|
|
|
5. Licensing details |
|
|
|
-------------------- |
|
|
|
--------- |
|
|
|
LICENSING |
|
|
|
--------- |
|
|
|
|
|
|
|
PRISM is distributed under the GNU General Public License (GPL). |
|
|
|
A copy of this license can be found in the file COPYING.txt. |
|
|
|
@ -311,33 +69,40 @@ library, see: |
|
|
|
http://vlsi.colorado.edu/~fabio/CUDD/ |
|
|
|
|
|
|
|
|
|
|
|
------------------- |
|
|
|
6. Acknowledgements |
|
|
|
------------------- |
|
|
|
---------------- |
|
|
|
ACKNOWLEDGEMENTS |
|
|
|
---------------- |
|
|
|
|
|
|
|
PRISM has been principally developed in the School of Computer Science at the University of Birmingham by: |
|
|
|
|
|
|
|
- Dave Parker |
|
|
|
- Gethin Norman |
|
|
|
- Marta Kwiatkowska |
|
|
|
- Andrew Hinton |
|
|
|
|
|
|
|
PRISM has been developed at the University of Birmingham by: |
|
|
|
We also gratefully acknowledge contributions by: |
|
|
|
|
|
|
|
- Dave Parker |
|
|
|
- Gethin Norman |
|
|
|
- Marta Kwiatkowska |
|
|
|
- Paolo Ballarini |
|
|
|
- Kenneth Chan |
|
|
|
- Stephen Gilmore |
|
|
|
- Rashid Mehmood |
|
|
|
- Joachim Meyer-Kayser |
|
|
|
- Fabio Somenzi |
|
|
|
|
|
|
|
The PRISM graphical user interface and the port to Windows were developed by: |
|
|
|
For more details see: |
|
|
|
|
|
|
|
- Andrew Hinton |
|
|
|
http://www.cs.bham.ac.uk/~dxp/prism/people.php |
|
|
|
|
|
|
|
We also gratefully acknowledge contributions by: |
|
|
|
|
|
|
|
- Joachim Meyer-Kayser ("Fox-Glynn" algorithm) |
|
|
|
- Stephen Gilmore (PEPA support) |
|
|
|
- Rashid Mehmood (low-level data structure/algorithm improvements) |
|
|
|
------- |
|
|
|
CONTACT |
|
|
|
------- |
|
|
|
|
|
|
|
If you have problems or questions regarding PRISM, please use the help forum provided. See: |
|
|
|
|
|
|
|
---------- |
|
|
|
7. Contact |
|
|
|
---------- |
|
|
|
http://www.cs.bham.ac.uk/~dxp/prism/support.php |
|
|
|
|
|
|
|
All comments and feedback about any aspect of PRISM are very welcome. |
|
|
|
Please contact: |
|
|
|
Other comments and feedback about any aspect of PRISM are also very welcome. Please contact: |
|
|
|
|
|
|
|
Dave Parker |
|
|
|
(dxp@cs.bham.ac.uk) |
|
|
|
@ -347,9 +112,3 @@ Please contact: |
|
|
|
Birmingham |
|
|
|
B15 2TT |
|
|
|
ENGLAND |
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------- |
|
|
|
|
|
|
|
Dave Parker |
|
|
|
8/9/2004 |