Your First KOS App
Build your first KOS app! Learn how to create, configure, build, run, and debug a KOS application from start to finish.
Build your first KOS app! Learn how to create, configure, build, run, and debug a KOS application from start to finish.
A common pattern when developing with KOS is the use of services, which act as managers or coordinators responsible for specific functionality. Services are generally singletons
KOS’s ready protocol ensures services are only used once they are fully initialized, even when setup happens asynchronously. Readiness can work in and outside a BeanContext, and ReadyIndicators let developers coordinate complex, multi-stage initialization.
Move your device to production by verifying KAB artifacts, managing production keys, and transitioning from test mode to a locked production state.
KOS enables decoupled, topic-based communication between components using the MessageBroker, allowing publishers to send messages and subscribers to receive them reliably without direct references
KOS simplifies event-driven programming by automatically managing listener registration, unregistration, and context hierarchy, allowing developers to focus on implementing listener behavior without manual bookkeeping.
KOS provides a built-in lightweight data store, `KeyValService`, for simple, reliable persistence between boot cycles, without the overhead of a full database.
Handle paths provide a deterministic, universal, and human-readable identity for objects. They allow us to reliably locate equivalent objects across restarts.
KOS’s `FutureWork` is an event-driven framework that simplifies the lifecycle management, real-time monitoring, and orchestration of complex, long-running physical operations.
The `CriticalDataService` ensures a device's identity persists by redundantly storing data across hardware, and using a voting system to maintain accuracy.