External Header File for simulation package: simulation package provides a set of utilities for traces generation (a trace is a possible execution of the model). It performs initial state picking, trace inspection, simulation according to different policies (deterministic, random, interactive) and with the possibility to specify constraints.

int 
CommandPickState(
  int  argc, 
  char ** argv 
)
Picks a state from the set of initial states

Side Effects The state chosen is stored in the traces_hash table as the first state of a new trace

See Also goto_state simulate
Defined in simulateCmd.c

int 
CommandShowTraces(
  int  argc, 
  char ** argv 
)
Shows the traces generated in a NuSMV session

See Also pick_state goto_state simulate
Defined in simulateCmd.c

int 
CommandSimulate(
  int  argc, 
  char ** argv 
)
Performs a simulation from the current selected state

Side Effects Generated referenced states traces are stored to be analyzed by the user in a second time

See Also pick_state goto_state
Defined in simulateCmd.c

bdd_ptr 
Simulate_ChooseOneState(
  bdd_ptr  next_set, 
  Simulation_Mode  mode, 
  int  display_all 
)
Chooses a state among future states depending on the given simulation policy (random, deterministic or interactive). In case of interactive simulation, the system stops and allows the user to pick a state from a list of possible items. If the number of future states is too high, the system requires some further constraints to limit that number and will asks for them until the number of states is lower than an internal threshold. Entered expressions are accumulated in one big constraint used only in the actual step of the simulation. It will be discarded after a state will be chosen.

Side Effects A referenced state (BDD) is returned. NULL if failed.

See Also Simulate_MultipleStep
Defined in simulate.c

int 
Simulate_CmdPickOneState(
  Fsm_BddPtr  fsm, 
  Simulation_Mode  mode, 
  int  display_all, 
  char * strConstr 
)
optional

Side Effects required

See Also optional
Defined in simulate.c

int 
Simulate_CmdShowTraces(
  int  trace, 
  int  verbose, 
  boolean  all, 
  char * dbgFileName 
)
optional

Side Effects required

See Also optional
Defined in simulate.c

void 
Simulate_End(
    
)
Quits the simulate package

Defined in simulateCmd.c

void 
Simulate_Init(
    
)
Initializes the simulate package.

Defined in simulateCmd.c

node_ptr 
Simulate_MultipleSteps(
  Fsm_BddPtr  fsm, 
  bdd_ptr  constraint, 
  Simulation_Mode  mode, 
  int  n, 
  int  display_all 
)
Multiple step simulation: loops n times over the choice of a state according to the picking policy given at command line. It returns a list of at least n+1 referenced states (the first one is always the "current state" from which any simulation must start). The obtained list can contain a minor number of states if there are no future states at some point.

See Also Simulate_ChooseOneState
Defined in simulate.c

static bdd_ptr 
pick_state_rnd_or_det(
  bdd_ptr  s, 
  Simulation_Mode  mode 
)
Picks a state from a set according to the Simulation_Mode (only Random or Deterministic: Interactive mode is not supported) entered: the first one sets to true those boolean variables which are indifferent for the actual BDD; the second one chooses those boolean values non deterministically. This is necessary in order to have unambiguous assignments for BDDs boolean variables.

See Also bdd_pick_one_state_rand bdd_pick_one_state
Defined in simulate.c

static void 
print_trace(
  int  trace, 
  int  verbose, 
  int  flag 
)
optional

Side Effects required

See Also optional
Defined in simulate.c

void 
show_next_states(
  bdd_ptr * array, 
  int  size, 
  int  changes_only 
)
Prints an array of states on nusmv_stdout. If changes_only is 1, then only state variables which assume a different value from the previous printed one will be printed out.

Defined in simulate.c

void 
simulate_sigterm(
  int  sig 
)
SIGINT signal handler inside the simulator.

Defined in simulate.c

void 
store_and_print_trace(
  node_ptr  p, 
  boolean  printyesno, 
  int  verbose 
)
Stores a trace in the hash table and prints it if the variable printyesno is true (this is set by the user via the command simulate options -p or -v).

Defined in simulate.c

Last updated on 1020327 15h41