Schema reference

Function

Component-level function entity authored by vendors. Each function has one allocated component_id and one free-text description that SI later maps into system-level functions.

FieldTypeRequiredNotes
idstr (slug)yesStable function identifier.
namestryese.g. VFD Start/Stop (Remote).
component_idstryesID of the component this function is allocated to, if already allocated.
modeslist[str]yesReferences to Component.modes[*].id where this function is allowed to execute.
input_signalslist[Signal]noSignals consumed by the function.
output_signalslist[Signal]noSignals produced by the function.
parameterslist[Parameter]noTyped function parameters with name and type.
function_descriptionstryesRequired vendor free text describing function behavior for SI mapping. Include applicable standards and references (e.g., DNV-RP-0684 Annex A, SysML v2, or domain-specific standards) with version, section, and relevant constraints.
Vendor input focus. Keep function_description practical and operational: purpose, trigger/preconditions, outputs, dependencies, and failure/degraded behavior. Use function_description to include standards references (DNV-RP-0684 Annex A, SysML v2, domain specs) when applicable.

Mode References

FieldTypeRequiredNotes
mode_idstr (slug)yesMust match one value from Component.modes[*].id on the same component.
functions.yaml
YAML
functions:
	- id: fn.vfd_start
		name: VFD Start
		component_id: VFD
    modes:
			- local_start
    input_signals:
			- id: vfd_ready
			  name: VFD READY
			  signal_type: digital
			  category: feedback
    output_signals:
			- id: start_cmd
			  name: START COMMAND
			  signal_type: digital
			  category: command
    parameters:
			- name: start_pulse_ms
			  type: int
    function_description: |
			SysML v2 (simple):
			action def VFDStart {
				in start_cmd: StartCommand;
				out vfd_ready: Boolean;
			}
			If vfd_ready is true, send one start_cmd pulse to VFD.