Skip to content

Input stream

Everything sent to Spiral travels in one stream of input objects. Each input object carries one or more commands; Spiral processes them in the order they arrive. The commands fall into three natural groups: schedule data (the entities being optimised), configuration (the model and run settings they are optimised against), and stream control (synchronisation and testing).

CommandPurpose
addAdd a schedule object — a resource, project, response point or desk — into Spiral.
updateUpdate an existing schedule object. Spiral re-optimises around the change.
coerceUpdate a schedule object while temporarily forcing specific assignments (a manual override); Spiral answers with its costed alternatives, then returns to optimised positions.
deleteRemove a schedule object, addressed by its id alone.
CommandPurpose
defineEstablish reference data — a define object (stop, resource, customer and contract parameters, topography). Submit before the schedule objects that use it.
setConfigure run properties — a set object affecting the current Spiral run (time, resolution, scheduling).
includeSwitch the input source to a parameter or licence file — an include object — then resume the normal stream.
CommandPurpose
tagAn integer echoed back by Spiral once everything before it has been processed — the synchronisation point between Spiral and the host system (see the input object).
pauseHold processing until stated conditions are met — a pause object, primarily a test-script tool.
checkAssert that schedule-object properties match the given values — a test success criterion.
refuteAssert that schedule-object properties do not match the given values.
commentA free-text string for documenting test scripts; ignored by processing.

A typical session opens with include (licence, domain and map files), define and set commands, then streams the starting position as add commands, and finally flows live changes as add/update/coerce/delete — each batch closed by a tag so the host knows when Spiral has caught up. The results come back on the output stream.