Checks

Validation checks

The tool automatically performs the following validation checks on the input YAML.

Validations can be performed on individual input files.

IDMeaning
V01All IDs must either start with a known prefix or a node_type must explicitly set.
V02All Goals and Strategies must be either marked with undeveloped: true or have supporting Goals, Strategies or Solutions.
V03Goals and Strategies marked as undeveloped, must have no supporting arguments.
V04All elements listed under supportedBy and inContextOf must be known elements types and semantically sensible (e.g. a Justification cannot be listed under supportedBy).
V05All referenced elements in supportedBy and inContextOf must be unique i.e., no duplicates in the list.
V06All referenced elements in supportedBy and inContextOf must not refer to the element itself.
V07All elements listed as extending other elements must be known elements of the current module and semantically sensible (see V04).
V08 The IDs start contradicts the type of the element set with node_type.
V09Element has an assurance claim point that references another element, that this is neither its own ID nor any of the connected elements.

The following checks apply to the complete set of input files.

IDMeaning
C01There should be only one but must be at least one top-level element (G,S,C,J,A,Sn) unreferenced.
C02The top-level element must be a Goal. A top-level element is an element that is not referenced by any other element.
C03All referenced elements in supportedBy and inContextOf must exist.
C04There must be no circular supportedBy references.
C06All module names must be unique.
C07All IDs must be unique across all modules.
C08All elements must be reachable from the root elements. This message can e.g. happen if there are multiple independent graphs where one contains circular references only.
C09All extended modules must exist.
C10All extended elements must exist in the named module and must be undeveloped.

Uniqueness of keys (i.e. element IDs) is automatically enforced by the YAML format.

If called with option -c or --check the input file is only checked for validity, but the resulting graph is not written. The checks for references (Cxx) can be skipped for individual files by using the -x option.

Format of messages

Error messages and warnings are printed to stderr.

The following format is used:

(Warning|Error): \((?<module>.+)\) \((?<num>[CV][0-9][0-9])\): (?<msg>.+)