Skip to content

iskorini/CTLModelChecker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CTLModelChecker

A simple model checking program for CTL developed for the course of Metodi Formali Per la Verifica di Sistemi.

run

cd src
./script.sh

The Transition System in the image below is defined with XML file

<nodes>
	<node id="S1" label="a, b"/>
	<node id="0" label="a, b, c"/>
	<node id="2" label="b, c"/>
	<node id="3" label="a"/>
	<node id="4" label="b"/>
	<node id="5" label="a, c"/>
	<node id="6" label="c"/>
	<node id="7" label=""/>
</nodes>
<edges>
	<edge id="0" source="0" target="2"/>
	<edge id="1" source="S1" target="3"/>
	<edge id="2" source="2" target="S1"/>
	<edge id="3" source="2" target="0"/>
	<edge id="4" source="3" target="0"/>
	<edge id="5" source="4" target="0"/>
	<edge id="6" source="4" target="S1"/>
	<edge id="7" source="5" target="S1"/>
	<edge id="8" source="5" target="7"/>
	<edge id="9" source="6" target="4"/>
	<edge id="10" source="7" target="3"/>
	<edge id="11" source="7" target="6"/>
</edges>

In terminal you can run CTL properties like:

Exists Always b

with

python CTLModelChecker.py "[] b" PATH/FILE.XML

The output of CTLModelChecker can be used to create the visualization of the result as shown below.

About

A simple model checking program for CTL developed for the course of Metodi Formali Per la Verifica di Sistemi.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors