|
Tool Documentation for mchfl and mcflc |
License: |
Copyright © 2008 Roland Axelsson The source code in the provided package may be used under the terms of the BSD license. Please read the file 'COPYING' for details. |
|
Overview: |
The programs mchfl and mcflc are model checkers for the first-order fragment of Higher-Order Fixpoint Logic (HFL) and Fixpoint Logic with Chop (FLC) respectively. Behind the scene, there is only one model checking procedure for both logics. mcflc merely translates an FLC formula into HFL and then runs mchfl on it. |
|
Download: |
This distribution comes with no warranty whatsoever and is distributed under the BSD license (see above). Feel free to provide your personal details.
|
|
Installation: |
The following tools and libraries have to be installed on your system:
touch .depend This should result in the two executables mchfl and mcflc in the ./bin directory. |
|
Usage: |
mchfl and mcflc take as input a text file with a string content as specified in the MSL documentation page. In its SPEC section a formula in either HFL or FLC should be provided over which the model is checked. For a FLC formula call mcflc <filename> and for a HFL formula mchfl <filename>.
|
|
Output: |
Depending on the verbosity level in which the tools are executed, there is textual output. Unless sojourning in the highest of these levels, its meaning should be more or less clear, at least if the user has read the papers on which the tools rely. BDD ::= F | T | (v1, BDD, BDD, id) v1 is the least variable (of type integer) in the current BDD according to the variable ordering. The first BDD is the high-branch and the second the low-branch. 'False' and 'True' BDDs are written as F and T. id is a unique integer identifier for this BDD and can be ignored. It is now with a little effort possible to read sets of states from a BDD textual representation, because the translation from the explicit model encodes the integer states as their binary counterpart with variables ordered as the binary digits from left to right. Example: (1,F,(2,F,T,3),5) is the following BDD (generated with the -d option): ![]() and represents the set {0} as the only path to the T-node requires variables 1 and 2 (representing two binary digits) to be set to false. |
|
Bug Reports: |
I am grateful for every report on existing bugs in the software. Please send to: to make mail visible: move mouse over |