intersector(1) - combine multiple torx primers
Table of Contents
intersector - combine multiple torx primers
intersector [ options
... ] configuration-file ...
intersector is an experimental program
to integrate the menu's received from multiple torx-primer(5). It presents
itself as a single Primer to the Driver. One way to see it, is as a kind
of multiplexer. So, on the one hand, it interfaces with each primer, using
the primer-driver interface, playing the role of the driver. On the other
hand, it interfaces with the driver, playing the role of the primer.
is called intersector because it (sort of) computes the (mathematical)
intersection of the menu's that it receives.
In addition, for execution of
test cases generated with the tool TGV intersector can be configured to
interpret action (event) labels as verdicts: the presence of a particular
action in the menu then means that a particular verdict has been given.
intersector takes the command line options as given in torx-primer(5). Most
of these it just passes on to the Primers that it invokes. On start-up, the
intersector reads its configuration-file which is similar to the torx-config(4)
configuration file, and the configuration file of the partitioner(1). It
then starts the torx-primer(5) that are specified in its configuration file,
and asks them for their inputs and outputs, after which it waits for Primer-Driver
interface commands on its standard input.
In the interaction with a test-purpose
explorer/primer program, the intersector assumes that the test-purpose explorer/primer
program knows about suspension (quiescense) actions: in C_OUTPUT interface
commands it will use suspension=1 where appropriate. Note that this has
been changed in TorX version 3.2; in earlier versions of TorX, it would
always send suspension=0 in the interactions with a test-purpose explorer/primer
intersector supports the following commandline options,
which are all just passed to the torx-primer(5) that it invokes.
The configuration file consists of a number of single-line entries as
in torx-config(4). Several entries have a field id. An id is just an arbitrary
name, that is intended to group together entries that describe information
about the same Primer: these entries should contain the same value for
- -s number
- the seed for the random number generator
- -i gates1,gate2,gate3,...
- the list
of input gates. Note there are no spaces between the gates!
- -o gates1,gate2,gate3,...
- the list of output gates. Note there are no spaces between the gates!
- the algorithm which can be ioco, traces or simulation.
- -d delta-event-tag
- the delta-event-tag is used for quiescense in the interface.
combines the STATS adn STATEID of the primers that it invokes. Each STATS
and STATEID line of a primer is prefixed with four space-separated words,
followed by a space, resulting in something like:
- SPEC id filename [ args ]
- The filename of explorer/primer program id,
and its (optional) arguments. The explorer/primer program will be started
from the directory given with the RUNDIR entry for id. Note that the default
value for RUNDIR is not the current working directory!
- TEST id filename
[ args ]
- The filename of test-case explorer/primer program id, and its (optional)
arguments, for execution a already generated test case. The explorer/primer
program will be started from the directory given with the RUNDIR entry
for id. Note that the default value for RUNDIR is not the current working
- GUIDE id filename [ args ]
- The filename of test-purpose explorer/primer
program id, and its (optional) arguments. The explorer/primer program will
be started from the directory given with the RUNDIR entry for id. Note that
the default value for RUNDIR is not the current working directory!
- The directory from which the explorer/primer program of id
will be started. Default value: the directory containing the explorer/primer
program as specified in the SPEC, TEST, or GUIDE entry for id.
id label ...
- The action (label) that represents quiescense (suspension) for
sub-primer id. This value should be parseable as a LOTOS event. Default value:
- LABEL-HIT id label ...
- The action (label) that represents ``hitting'' the
test-purpose for sub-primer id.
- LABEL-MISS id label ...
- The action (label) that
represents ``missing'' the test-purpose for sub-primer id.
- LABEL-PASS id label
- The action (label) that represents ``passing'' the test for sub-primer id.
- specifies the seed for the random number generator, and is also
passed down the the invoked Primer. Note: it is better to not specify this
in the configuration file, but to just use the value given with the --seed
- CHOOSEINPUTS number
- Indicate whether or not the intersector should
select inputs from the menu, if the user does not choose. This is needed
if an iochooser is used to choose values for ``symbolic'' events in the Promela
specification. Allowed values: 0 (false), 1 (true). Default value: 0
- Specify how long to wait for the spec to respond. This value should
not be configured by the user. Default value: -1 (indicating: infinity)
id id role role stats
line from primer
with id the id used for the primer in the intersector
configuration file, and role the role of that primer, i.e. one of spec,
guide, or test.
The following example starts a primer together with
a test purpose. The ``hit'' label is set to ``epsilon'', which is the right value
for jararaca(1) (when invoked with the right flag).
SPEC spec ../LOTOS/primer.sh
GUIDE tp ../TP/primer.sh
LABEL-HIT tp epsilon
LABEL-DELTA tp Delta
torx-intro(1), torx-primer(5), partitioner(1), torx-log(4)
implementation is built reusing parts of already existing programs, and
thus may contain some ``dead'' code.
By Email: <email@example.com>
This manual page documents version 3.9.0 of torx.
Table of Contents
Table of Contents
Appendix D: TorX Manual Pages: instantiator(1) - instantiate free variables for torx
Appendix D: TorX Manual Pages: iochooser(1) - suggest by probabilities to stimulate or observe