SYNOPSIS

ltsmin-convert [OPTIONS]… input output

DESCRIPTION

This tool copies input to output and changes the archive format on-the-fly. Both input and output format are detected by pattern matching. See the File Formats section for details.

OPTIONS

--copy

Perform a streaming copy from <input> to <output>.

--rdwr

Perform a load/store copy from <input> to <output>.

--index

Transform the vector based <input> to indexed <output>.

--segments=N

Set the number of segments in the output file. If the output format does not support segmentation (BCG) then the default is 1 and specifying any number other than 1 is an error. Otherwise, the default is the same number of segments as the input. Please note that the algorithm used for changing the number of segments is simple. It guarantees that the number of states in the output is balanced, but not much more. E.g., if the input is in BFS order and just one segment then then the output will still be in BFS order. However, if the input has more than one segment then BFS order is lost.

--encode

Encode any LTS as a single edge label LTS during a load/store copy.

--bfs

Change the indexing of the LTS to match BFS exploration order during a load/store copy. Note that the current version cannot reorder the LTS if it has state vectors.

LTS I/O Options

--block-size=BYTES

Size of a block in bytes. Defaults to 32,768.

--cluster-size=BLOCKS

Number of blocks in a cluster. Defaults to 32.

General Options

-v

Increase the level of verbosity

-q

Be quiet; do not print anything to the terminal.

--debug=file

Enable debugging output for file.

--version

Print version string of this tool.

-h, --help

Print help text

--usage

Print short usage summary.

--stats

Enable statistics gathering/printing.

--timeout=INT

Terminate after the given amount of seconds.

--where

Include file and line number in debug messages.

--when

Include the wall time since program start in all messages.

File Formats

The following file formats are supported:

  • Directory format (*.dir, *.dz and *.gcf)

  • Vector format (*.dir, *.gcd, *.gcf)

  • Binary Coded Graphs (*.bcg)

  • Aldebaran Format (*.aut)

  • FSM Format (*.fsm)

  • MRMC/Prism (*.tra+*.lab)

  • PGSolver format (*.pg)

If a tool operates in streaming mode then support for file formats is limited, as can be seen in the following table:

Format Streaming mode Load/Store mode

DIR

R/W

R/W

VEC

R/W

R/W

BCG

W

R/W

AUT

W

R/W

FSM

W

W

TRA

-

R/W

PG

-

W

The directory format uses multiple files to store an LTS. The various extension explain how these files are stored in the underlying file system. The *.dir format uses multiple files in a directory without compression. If the LTS has one edge label, no state labels and does not store state vectors then these files are backwards compatible. Neither the *.dz nor the *.gcf formats are backwards compatible. Both formats use compression. The first uses a directory for the files, second interleaves files into a single file.

If you try to open a *.dir with the old mCRL tools and you get the error message:

wrong file version: 0

then the directory is probably compressed. If that happens then you may convert the directory by typing the command:

ltsmin-convert bad.dir good.dir

EXIT STATUS