Services

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

Continue ReadingServices

Ready

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.

Continue ReadingReady

Message Broker

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

Continue ReadingMessage Broker

Listeners

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.

Continue ReadingListeners

Handles

Handle paths provide a deterministic, universal, and human-readable identity for objects. They allow us to reliably locate equivalent objects across restarts.

Continue ReadingHandles

Futures

KOS’s `FutureWork` is an event-driven framework that simplifies the lifecycle management, real-time monitoring, and orchestration of complex, long-running physical operations.

Continue ReadingFutures