Component Details
Reading Guide
- First, make sure you’ve read the Architecture Overview
- On this page, learn about each component in detail
- Next, explore the Data Flows to understand how components interact
- After that, check the Getting Started Guide to begin using the components
Core Components
KUKSA Databroker (v0.4.4)
The Databroker is the central component that handles vehicle data management with these key features:
- Maintains the current state of all vehicle signals
- Processes get, set, and subscribe operations
- Validates data against VSS specifications
- Provides a gRPC API for communication
Key Characteristics:
- Protocol: gRPC
- Port: 55555
- Implementation: Written in Rust for performance and safety
- Data Format: Uses Protocol Buffers for efficient data serialization
Kuksa Syncer
The Syncer manages communication between the SDV-Runtime and the playground.digital.auto platform:
- Registers the runtime with the Kit Manager
- Maintains heartbeat monitoring
- Synchronizes configuration between systems
- Forwards events between systems
Key Characteristics:
- Implementation: Python-based synchronization service
- Communication: WebSocket protocol for real-time updates
- Authentication: Uses RUNTIME_NAME as identifier
- Data Flow: Bidirectional sync of vehicle signals
Kit Manager
The Kit Manager handles runtime orchestration and management:
- Provides REST API for external communication
- Manages runtime lifecycle
- Handles configuration updates
- Provides status monitoring
Key Characteristics:
- API: REST API on port 3090 (in local mode)
- Function: Runtime registration and management
- Integration: Connects to playground.digital.auto
Mock Provider
The Mock Provider simulates vehicle systems by providing data to the Databroker:
- Simulates various vehicle signals with configurable parameters
- Updates signals at configurable frequencies (default: 100ms)
- Provides realistic data patterns for testing
Key Characteristics:
- Implementation: Python-based mock data provider
- Configuration: Customizable signal ranges and update frequencies
- Integration: Directly communicates with Databroker
Vehicle Signal Specification (VSS v4.0)
The Vehicle Signal Specification provides a standardized way to describe vehicle signals:
- Hierarchical organization of signals (e.g., Vehicle.Powertrain.Engine.Speed)
- Typed signals with metadata
- Standardized naming conventions
Key Characteristics:
- Format: JSON schema defining vehicle signals
- Organization: Tree structure with branches for different vehicle domains
- Signal Types: Sensors (read), Actuators (write), Attributes (static)
Velocitas SDK (v0.14.1)
The SDK provides a developer-friendly interface for interacting with vehicle signals:
- Object-oriented model of the vehicle based on VSS
- Asynchronous methods for getting and setting values
- Subscription mechanisms for receiving updates
- Batch operations for efficiency
Key Characteristics:
- Language: Python SDK
- Interface: Provides a high-level API for applications
- Implementation: Communicates with Databroker using gRPC
Component Interactions
The components work together through standardized interfaces, primarily:
- gRPC - For communication with the Databroker
- REST - For the Kit Manager’s external API
- WebSockets - For real-time communication with the playground
For details on how these components exchange data, see the Data Flows page.
Navigation
Previous: ← Architecture Overview | Next: Data Flows →