Component
| Field | Type | Required | Notes |
|---|---|---|---|
id | str (slug) | yes | Stable identifier, e.g. RCS. |
name | str | yes | Display name. |
modes | list[Mode] | no | Vendor-owned canonical mode definitions for this component. Functions may only reference a subset of these mode IDs. |
modules | list[Module] | no | Physical/logical subdivisions. |
ports | list[Port] | no | Dedicated interface endpoints for connection edges and ontology predicates. |
vendor | str | no | Vendor metadata. |
notes | str | no |
Ownership boundary. Component vendors provide component-level interfaces and behavior (ports, signals,
functions, mode catalogs). System integrators compose component data into cross-component architecture using Connection
and SysML v2.
Module
A physical controller, software component, or functional partition inside a Component.
| Field | Type | Required | Notes |
|---|---|---|---|
id | str (slug) | yes | Unique within the parent component. |
name | str | no | e.g. Main, Backup, ACU, HPS. |
description | str | no | Free text — e.g. Primary controller. |
Port
| Field | Type | Required | Notes |
|---|---|---|---|
id | str (slug) | yes | Unique within parent component. |
direction | enum | yes | in, out, undefined. |
module_id | str (slug) | no | Optional owning module. If set, it must exist in Component.modules[*].id. |
terminals | list[str] | no | Physical terminal mapping. |
port_type | enum | conditional | Required when direction=out; optional for in and undefined.
Values: signal, can_tc, analog, resistor, 4-20mA, 0-10V, serial, network. |
protocol | enum/string | conditional | Required when direction=out; optional for in and undefined. |
attributes | object | no | Extensible key-value metadata (e.g. actUpon). |
Mode
| Field | Type | Required | Notes |
|---|---|---|---|
id | str (slug) | yes | Stable mode key such as remote or power. |
name | str | no | Display label. |
description | str | yes | Required free-text semantics for the mode. |
Ontology semantics.
Port connectedTo Port and Port actUpon Signal are modeled
through Connection and Ontology views.components.yaml
YAMLcomponents:
- id: RCS
name: Remote Control Component
modes:
- id: remote
name: Remote
description: Remote command ownership active.
- id: local
name: Local
description: Local panel ownership active.
vendor: Vendor A
modules:
- { id: Main, name: "Main Controller", description: "Primary" }
- { id: Backup, name: "Backup Controller", description: "Redundant" }
ports:
- id: DO01
module_id: Main
direction: out
port_type: signal
protocol: hardwired
- id: DI02
direction: in
terminals: [X1-02]
- id: TCS
name: Thruster Control Component
modes:
- id: remote
name: Remote
description: Accept command from remote bridge source.
- id: power
name: Power
description: Thruster control target is power.
vendor: Vendor B
modules:
- { id: ACU, name: "ACU", description: "Azimuth Thruster Control Unit" }
- { id: HPS, name: "HPS", description: "Hydraulic Pump Starter" }
ports:
- id: cmd_in
module_id: ACU
direction: in
terminals: [X2-11]
- id: ready_out
direction: out
port_type: signal
protocol: hardwired