si-schema
A DNV Initiative

An open data structure for vendor-neutral ship System Integration.

System Integrators today re-key the same function, connection and IO data from disparate source documents on every project. si-schema defines a function-based minimum requirement for cross-system IO information — together with the data sharing and integration testing that build on it.

How it works

From documents to a verifiable data structure

si-schema breaks every piece of function and IO data down into a small, stable set of entities. Read them once from existing source documents, and downstream tools generate the rest.

Step 1 · live
SYSTEM0vendors ingestedvendor documents · functional descriptions · IO lists
Philosophy

Not only integration, but lifecycle continuity

si-schema is designed to work at commissioning time and still remain useful after delivery. The adopted direction means integration data should become a durable contract, not a one-off project worksheet.

Turn commissioning output into delivery-grade contracts

Handover is treated as a contract transition. The same model carries lifecycle state, compatibility intent, ownership references, and lineage context.

  • Preserve traceability from source docs to approved interfaces.
  • Expose what changed and what remains compatible over versions.
  • Keep ownership and accountability explicit across organizations.
Why this matters

Delivery packages become explainable and governable, with clear ownership and controlled change across revisions.

Lifecycle flow
1. Commissioning complete
2. Contracted handover
3. Versioned continuity
Release governance

Compatibility is CI-gated before promotion

The contract-promotion-gate workflow validates old vs new contract revisions, runs si-schema diff-contract, and blocks promotion on compatibility violations. When old_path is not provided, the gate auto-resolves the baseline from the base/default branch at the same contract path.

Documentation

Schema reference

The following entities are defined within si-schema. Each plays a specific role in turning a System Integration test sheet into structured data.

Quick linkage map

Define once, reference by id: this is how duplication is avoided across the schema.

ProjectMeta + Artefact
Document identity and lifecycle intent
Party + Component / Module
Party and endpoint registries
Function -> Signal
Typed inputs/outputs and one-signal-per-connection linking
Interface + ProtocolBinding
Boundary contract and Layer 2/3 exchange profile
Lineage
Cross-party transformation chain using signal + party refs
FAQ

Frequently asked questions