int
CommandCheckLtlSpec(
int argc,
char ** argv
)
- Performs LTL model checking
- Side Effects None
- Defined in
ltlCmd.c
static bdd_ptr
GetTrans(
Fsm_BddPtr fsm
)
- Gets the bdd corresponding to the monolothic
version of the transition relation of a given fsm.
- Defined in
ltlCompassion.c
void
Ltl_CheckLtlSpec(
Prop_Ptr prop
)
- The main routine to perform LTL model checking. It
first takes the LTL formula, prints it in a file. It calls the LTL2SMV
translator on it an reads in the generated tableau. The tableau is
instantiated, compiled and then conjoined with the original model
(both the set of fairness conditions and the transition relation are
affected by this operation, for this reason we save the current
model, and after the verification of the property we restore the
original one).
- Defined in
ltl.c
void
Ltl_Init(
)
- Initializes the ltl package.
- Side Effects None
- Defined in
ltlCmd.c
bdd_ptr
feasible(
Fsm_BddPtr fsm
)
- Checks whether the model has a fair path and returns
the initial state of the path.
- Defined in
ltlCompassion.c
static int
ltlBuildTableauAndPropFsm(
Prop_Ptr prop
)
- Creates the tableau for a LTL property. The FSM of the
property contains the tableau. Returns 1 if an error is encountered
during the tableau generation.
- Defined in
ltl.c
static void
ltlInsertModuleHashReadModule(
node_ptr parse_tree
)
- Add the tableau module to the list of know modules
- Defined in
ltl.c
static char *
ltlMakeTempFileName(
)
- Return a string to be used as temporary file
- Defined in
ltl.c
static void
ltlPopStatus(
)
- Restore the status of global variables previously saved
- Defined in
ltl.c
static void
ltlPropAddTableau(
Prop_Ptr prop,
node_ptr trans_expr,
node_ptr init_expr,
node_ptr invar_expr,
node_ptr justice_expr,
node_ptr compassion_expr
)
- Main routine to add the tableau to the FSM
- Defined in
ltl.c
static void
ltlPushStatus(
)
- Save the status of global variables
- Defined in
ltl.c
static node_ptr
path(
bdd_ptr source,
bdd_ptr dest,
bdd_ptr R
)
- Computes a path given the bdds representind the source
states, the target states, and the transition relation.
- Defined in
ltlCompassion.c
static bdd_ptr
predecessors(
bdd_ptr relation,
bdd_ptr to
)
- Given a state to and a transition relation, compute the
direct and indirect predecessor states (transitive closure of
predecessor).
- Defined in
ltlCompassion.c
static bdd_ptr
predecessor(
bdd_ptr relation,
bdd_ptr to
)
- Given a state to and a transition relation, compute the
direct predecessor state.
- Defined in
ltlCompassion.c
void
print_ltlspec(
FILE * file,
node_ptr n
)
- Print the LTL specification.
- Defined in
ltl.c
static bdd_ptr
successors(
bdd_ptr from,
bdd_ptr relation
)
- Given a state from and transition relation, compute the
direct and indirect successor states (transitive closure of
successor).
- Defined in
ltlCompassion.c
static bdd_ptr
successor(
bdd_ptr from,
bdd_ptr relation
)
- Given a state from and transition relation, compute the
direct successor state.
- Defined in
ltlCompassion.c
node_ptr
witness(
Fsm_BddPtr fsm,
bdd_ptr feasib
)
- Computes fair path from one of the states
passed as parameter.
- Defined in
ltlCompassion.c
(
)
- The name of the external program that performs
translation of a LTL formula to the NuSMV code that represents the
corresponding tableau.
- Defined in
ltl.c