PRISM stands for Platform for Reasoning with Inconsistency Shapley Measure.
PRISM is a java-based evolutive platform that allows to perform different reasoning tasks such as inference, belief revision or conciliation using MI Shapley inconsistency value. It can for instance be sued for academic purposes.
The idea is to use an inconsistency value for evaluating how much each formula of the belief base is responsible of the inconsistency of the base. Then this evaluation allows us to obtain a stratification (total pre-order) of the base, that can be used as the preferential input for different reasoning tasks, such as inference, belief revision, or conciliation. Obtained operators are interesting and have good logical properties. Several inference, revision and conciliation operators are already implemented in the platform but one can develop its own implementation and add it dynamically.
The platform is available through the following jar : prism.jar.
Note that this jar also includes Sat4j core library (http://www.sat4j.org)
How to execute PRISM
JRE is required.
execute the jar with the following command line “java -jar prism.jar”
PRISM is developed under the GNU GPL license. See LICENSE
have access to the platform sources ?
Go to or create a repository that will be the one where the platform is deployed. Copy prism.jar to this repository and use the command line “jar xf prism.jar”.
add its own implementation of an operator ?
First, deploy the platform sources as it is explained in the previous paragraph. Depending on the operation one wants to write, one needs to extend a specific abstract class. These classes and their respective packages are given in the following table.
The new operator should be in the same class as the abstract class it extends. This means that the package of the new class must be the same and that the java file should be moved to the repository corresponding to the package. Once the class is created, it has to be compiled with javac command : “javac /pathtotheclass/NewClass.java”. Be careful to import all needed classes in order to compile… If the compilation is successful, the repository should contain a new file NewClass.class. In order to launch the platform and take into account the new classes, from the base repository, execute “java gui.TestGUI”.
get the whole documentation
Stéphanie Roussel, Research engineer at CRIL
Please, let us know if you find any bug in the platform or if have suggestions to improve it.