STM_domain.Makeval check_obs :
(Spec.cmd * STM.res) list ->
(Spec.cmd * STM.res) list ->
(Spec.cmd * STM.res) list ->
Spec.state ->
boolcheck_obs pref cs1 cs2 s tests whether the observations from the sequential prefix pref and the parallel traces cs1 cs2 agree with the model started in state s.
val arb_cmds_triple :
int ->
int ->
(Spec.cmd list * Spec.cmd list * Spec.cmd list) QCheck.arbitraryarb_cmds_triple seq_len par_len generates a cmd triple with at most seq_len sequential commands and at most par_len parallel commands each. All cmds are generated with Spec.arb_cmd.
val arb_triple :
int ->
int ->
( Spec.state -> Spec.cmd QCheck.arbitrary ) ->
( Spec.state -> Spec.cmd QCheck.arbitrary ) ->
( Spec.state -> Spec.cmd QCheck.arbitrary ) ->
(Spec.cmd list * Spec.cmd list * Spec.cmd list) QCheck.arbitraryarb_triple seq_len par_len arb0 arb1 arb2 generates a cmd triple with at most seq_len sequential commands and at most par_len parallel commands each. The three Spec.cmd components are generated with arb0, arb1, and arb2, respectively. Each of these take the model state as a parameter.
Parallel agreement property based on Stdlib.Domain
Parallel agreement test based on Stdlib.Domain which combines repeat and ~retries