Partial Order Reduction for SE-LTL Code
Brought to you by:
kanshuanglong
| File | Date | Author | Commit |
|---|---|---|---|
| benchmark-e | 2017-05-26 |
|
[317b23] se-por for se-ltlx |
| benchmark-x | 2017-05-26 |
|
[317b23] se-por for se-ltlx |
| srcv0.0 | 2017-05-26 |
|
[317b23] se-por for se-ltlx |
| README | 2017-05-26 |
|
[317b23] se-por for se-ltlx |
This SEX-SPIN model checker only partially supports the techniqe introduced in the paper:
"Partial Order Reduction for the full Class of State/Event Linear Temporal Logic (SE-LTL)".
The file folder "benchmark-e" contains the experiments for SE-LTL without next operator
The file folder "benchmark-x" contains the experiments for SE-LTL with next operator
For a formula $\phi$ to be verified, it is firstly translated into its negation $\neg \phi$.
The tool requires:
1. for any event literal l in a formula $\neg\phi$, which is a negation of an event, the predicate inst(\neg \phi,l)=true
2. all event-transitions are labeled with a conjunction of atomic propositions and events, no disjunction.
3. the generated pan.c file must be compiled with -DNOSTUTTER to disable stutter states.
In order to get sex-spin. in srcv0.0 folder and run make
For the folder benchmark-3:
Benchmark1 : Producer-Consumer
Run the following Commands:
sex-spin -a pc.pr
gcc -DNOSTUTTER -o pan pan.c //SE-LTL with POR
gcc -DNOREDUCE -DNOSTUTTER -o pan pan.c // SE-LTL without POR
./pan -a
You can change the numbers of producers and consumuers in the model "pc.pr"
Benchmark2 : GIOP
There are three models: giop1, giop2, giop3
If we want to run giop1 then run the following Commands:
cd ~/workspace/se-spin/benchmarks/GIOP*/giop1
sex-spin -a giop1.nomig.pr
gcc -DNOSTUTTER -o pan pan.c //SE-LTL with POR
gcc -DNOSTUTTER -DNOREDUCE -o pan pan.c //SE-LTL without POR
./pan -a
In order to run spin model checker instead of se-spin model checker,
you shoud run the following commands:
spin -a giop1.spin.pr
gcc -DNOSTUTTER -o pan pan.c
./pan -a
For giop2 and giop3, they are same as giop1.
For folder benchmark-x:
In each benchmark,
run the following commands:
sex-spin -o3 -a *pr
gcc -DNOSTUTTER -o pan pan.c
./pan -a