ODK

Vocabulary

Concepts

The kit assumes you will meet these terms in templates, CI, and loadouts. This page is the first-week glossary — not a substitute for the standards.

Glossary

OMS terms used here

OMS
Open architecture rules for integrating mission software on a shared bus — a platform contract and messaging rules, not a single vendor SDK.
Service
A long-running process with a required lifecycle and health pattern: initialize, tick, heartbeat, BIT, shutdown.
Subsystem
A capability unit in the mission package, often closer to hardware or driver boundaries than a pure software service.
Isolator
A bridge that connects non-OMS code or devices to the OMS bus.
Service Contract
An ICD/IDD that gathers behavior, performance, and integration requirements in one generated document.
CAL
Critical Abstraction Layer — the required messaging API between your Service and the bus.
LA-CAL / OWP
Language-agnostic CAL over a WebSocket pub/sub protocol (OWP). Default transport for services in this kit.
ASB
The shared mission message fabric — the bus itself.
UCI
Government-owned message schemas (XSD). Types are generated at build time; they are not vendored in the kit.
A-GRA / AMS GRA
Related GRA schema families. A-GRA is autonomy; AMS GRA is mission systems. Default builds stay UCI-only unless you opt in.
ServiceStatus
Periodic health / heartbeat message the runtime publishes.
BIT
Built-in test — scheduled self-check hooks the runtime can call.

Conformance

pipelines-oms and cucumber-uci

Service repos do not write pipeline scripts. They include a versioned GitLab CI/CD component and set typed inputs. pipelines-oms owns lint, build, test, and the conformance stage. cucumber-uci owns the Gherkin steps and schema validation.

.gitlab-ci.yml
include:
  - component: gitlab.com/stator-open-labs/oms-developer-kit/pipelines-oms/oms-service@1.4.8
    inputs:
      language: rust
      service_name: stator-my-service
      oms_schema_version: "002.5.0"
      conformance_features: "features/oms-compliance/**/*.feature"

Conformance runs cucumber-uci against Sleet OWP, optionally with the service as a SUT sidecar. Do not mix UCI and A-GRA in one feature file: each scenario declares a profile in Background. Features live under features/oms-compliance/ in a generated service.

pipelines-oms · cucumber-uci

Ready to scaffold? Rust / Python.