4.2. Input/Output Formats

The input files of the solver are .bow model files as created by the model editor. The model files use the text based JSON (JavaScript Object Notation) format. JSON is a very common exchange format for hierarchical data in the form of objects, arrays, strings, numbers and more. Since the format is text based, it is easy to inspect and modify with a text editor.

The output files of the solver are .res result files that can be opened with the result viewer. The result files use the binary MessagePack format. MessagePack is very similar to JSON (see [input files](input_files.md)) in the kind of data it can represent, but more space efficient due to being a binary format. Unlike the input files, the output files cannot be inspected with a text editor.

For use cases like scripting (see Section 4.3) that require reading and writing .bow or .res files , the exact contents are specified in [_file_specifications].