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

Last updated on 1021121 13h59