Run and monitor your industrial software modules.
ULTRAMEGA S1 manages module processes, communication, configuration and recovery.
Connect your own software through .NET, gRPC or REST,
and use the built-in MCP endpoint to give AI tools controlled access.
What is ULTRAMEGA S1?
ULTRAMEGA S1 is a runtime platform for engineering teams building modular test, measurement and automation systems. It starts and monitors module processes, routes messages and provides APIs for configuration and diagnostics. Your team develops the application logic; S1 provides the shared runtime services.
Use S1 with independently developed modules or as the runtime for S1 Foundry. Built-in services support multi-step workflows, scheduled execution, message history and communication between S1 instances. Configuration management tracks the difference between the requested settings and those applied by each module. The developer package and NuGet packages provide the tools and binaries needed to integrate S1 into your application.
Runtime capabilities
Process isolation
Each module runs in a separate process and memory space. The hosting layer manages startup, ports and automatic restarts. This isolates process failures; your application still needs to handle unavailable modules and interrupted work.
DetailsReal-time messaging
Exchange events and commands through a low-latency inter-process message bus. Use fire-and-forget messages for events and synchronous commands for request-response operations, with ordered delivery where configured. Typed messages and schema validation help detect incompatible data at module interfaces.
DetailsREST API & event streaming
Manage modules, send messages and commands, and inspect configuration, health and diagnostics through 11 HTTP API groups. Receive events over WebSocket or use SignalR for module-specific message delivery.
DetailsSelf-healing architecture
Circuit breakers stop repeated calls to unresponsive modules, connection handling retries interrupted gRPC links, and process supervision restarts crashed modules. These mechanisms address different failure modes. State recovery uses saved checkpoints where the module supports them.
DetailsConfiguration reconciliation
Apply configuration through a single managed path and compare requested settings with the settings reported by the running module. Instance snapshots and configuration fingerprints show whether the change has taken effect without exposing secret values.
DetailsHealth & observability
Check liveness, readiness, startup status, detailed health and aggregate health. Connect the relevant endpoints to orchestrators and load balancers, and use metrics, audit trails and per-module status to investigate operational problems.
DetailsWorkflow coordination
Define how work moves between modules using typed messages, routing rules, scheduled delivery and checkpoints. Use sagas for multi-step operations that need defined recovery actions when a step fails.
DetailsSaga orchestration
Track progress through a multi-step workflow, limit concurrent execution and identify each operation with a unique correlation ID. If a step fails, registered compensation handlers run the recovery actions defined by your application. These actions are not a general rollback of physical processes.
DetailsFederation
Connect multiple S1 instances into a federated mesh. Messages route transparently across instance boundaries with endpoint validation and SSRF protection. Federation health monitoring tracks peer availability and enforces forwarding timeouts.
DetailsScheduled execution
One-time and recurring scheduled message delivery with persistent storage. Define managed jobs that survive restarts. The scheduler integrates with the feature flag system for runtime kill-switches and supports bounded query pagination across all schedule stores.
DetailsContent routing
Route messages based on headers, message type, or destination prefixes. Define routing rules through the API that match message metadata and direct them to the appropriate modules. Add, remove, and update rules at runtime through the API without module restarts.
DetailsJournal & checkpoint
Persistent message journal with query and replay capabilities. Save and restore module state through the checkpoint API. Journal compaction runs automatically to manage storage growth, with structured metrics for monitoring retention and drop rates.
DetailsSelf-healing architecture
Connection retries, circuit breakers and process supervision provide distinct ways to detect and recover from failures.
Circuit breakers
When a downstream module stops responding, the circuit opens to prevent request pileup and cascading timeouts. Calls fail fast with a clear status while the breaker periodically probes for recovery.
- Protects inter-module communication
- Configurable thresholds per module pair
- State visible through health API
Resilient connections
Interrupted gRPC connections are retried automatically. Increasing delays with random variation prevent clients from all reconnecting at once. Message delivery behaviour depends on the configured delivery and recovery path.
- Protects gRPC and TCP transport links
- Prevents reconnect storms
- Connection state reported in real time
Process supervision
The hosting layer detects crashed processes, cleans up stale state, and restarts modules with their last known configuration. PID tracking and orphan detection prevent zombie processes from consuming resources.
- Protects module process lifecycle
- Rate-limited restarts
- Checkpoint recovery on restart
Model Context Protocol (MCP)
Give AI tools access to S1 operations through explicitly assigned permissions.
MCP endpoint
The built-in MCP server provides 56 Gateway system tools plus tools registered by modules. Authorised clients can manage modules, send messages and inspect health. Access is controlled per session.
DetailsCapability-based access control
Assign capabilities such as system:read, system:module_management, messaging:send and system:admin to each session. Role-based access control determines which tools the session can discover and invoke.
DetailsSession management & audit
Sessions are associated with an identity, and tool calls are recorded in an audit log. Session broadcasting supports coordination between clients connected to the same S1 instance.
DetailsTool schema registry
Describe custom tools using JSON Schema. Clients can discover the available operations and their parameters through the registry rather than relying on a separately maintained list.
Details56 Gateway system tools
Gateway system tools and module-defined tools are available to AI agents and human operators through a single interface
Module management
Register, start, stop, restart, and remove modules. Query state and health.
DetailsMessaging
Send, batch, broadcast, and query-with-response. Typed messages with routing.
DetailsConfiguration
Read and update substrate config. Inspect and toggle feature flags through authorized tool access.
DetailsSystem control
Shutdown, restart, system info, performance stats, and platform metadata.
DetailsCluster
Node management, leader election, service discovery, and distributed state.
DetailsGateway info
Read version, about, runtime status, and performance metadata.
DetailsService discovery
Register service endpoints and resolve them by name.
DetailsType system
Register message types with schemas and query the type registry.
DetailsContent routing
Add, remove, and list content-based routing rules with predicate matching.
DetailsJournal
Query message history, replay sequences, and inspect journal statistics.
DetailsCheckpoint
Save, restore, and list module state checkpoints for crash recovery.
DetailsScheduling
Schedule messages for future or recurring delivery. Cancel and list jobs.
DetailsSagas
Start durable multi-step workflows with compensation. Track and cancel.
DetailsFederation
Register remote substrate peers, manage federation links, and check peer health.
DetailsAdd S1 to your application
Use the .NET client and hosting packages for integration, and the developer package for SDK tools, templates and runtime binaries.
Ultramega.S1.Client
Typed .NET client for the Gateway REST API. Covers authentication, module management, messaging, synchronous commands, discovery, config, health, metrics, and feature flags. Includes WebSocket event streaming and SignalR hub integration with auto-reconnect.
- AddS1GatewayClient() for DI
- AddS1EventStream() for WebSocket
- AddS1HubClient() for SignalR
Ultramega.S1.Hosting
Managed process hosting for the S1 platform. Spawns and monitors Gateway and ModuleHost processes, handles port allocation, readiness detection, graceful shutdown, and crash recovery. Two modes: managed (owns processes) or external (connects to existing).
- AddS1Platform() as IHostedService
- Module registration API
- Self-healing process supervision with circuit breakers
Developer package & runtime binaries
The developer package contains pre-built platform binaries and SDK files. Runtime packages copy the required binaries into your application's output directory.
- Developer package artifacts for Windows, Linux, and macOS
- Zero-dependency self-contained executables
- Drop-in deployment with no separate runtime prerequisite
Module integration
Native and gRPC integration
Native modules (C# / .NET)
Implement modules with the .NET SDK to use S1 messaging, lifecycle management and configuration handling. Register them through the hosting API and declare the capabilities they expose to clients.
- Direct SDK integration via IModule
- Platform-owned module instance identity
- Secret-safe configuration fingerprints
- Capability declaration for MCP/tool access
External modules and clients
Connect existing software through the published APIs and gRPC contracts. External-module v1 supports configuration updates through ApplyConfiguration. Adapter-worker v1 does not support applying configuration in the worker.
- Python and C++ gRPC external-module paths
- Wire-level Gateway clients and adapter-worker templates
- REST API for registration, discovery, and configuration transport
- Clear contracts for module lifecycle, messaging, and configuration
Use cases
Examples of where a shared module runtime can be useful.
Industrial control systems
Connect control software from different vendors through modules and adapters. Coordinate Python, C++ and .NET components while managing their processes and communication through S1.
Test & measurement
High-rate test workflows with real-time data acquisition. Coordinate test fixtures, vision systems, and quality databases through sagas, typed messages, routing rules, and scheduled delivery.
System modernisation
Add API connections to existing PLC and SCADA systems for analysis and remote monitoring. Introduce the integration in stages, with testing and commissioning planned around the operating installation.
HIL & digital twins
Connect physical equipment and simulated components for hardware-in-the-loop testing. Use event streams to inspect their behaviour, and verify the timing requirements for the intended test setup.
Robotics & automation
Exchange messages between modules for robot coordination, sensor processing and path planning. Your application provides the algorithms and must meet the timing and safety requirements of the machinery.
AI-assisted operations
Connect AI tools through the built-in MCP endpoint to inspect system state and assist with diagnostics. Assign write and control permissions explicitly, according to your operational procedures.
Gateway API
11 endpoint groups for authentication, module management, messaging and operational data.
Authentication
JWT login, token refresh, logout, password change, and token verification.
DetailsModules
Full lifecycle: register, start, stop, restart, delete. Plus health, logs, and external module support.
DetailsMessages
Send single, typed, or batch messages. Query delivery status by message ID.
DetailsDiscovery
Register and resolve services. Load-balanced selection with round-robin strategy.
DetailsHealth
Liveness, readiness, and detailed health endpoints for load balancers and orchestrators.
DetailsConfiguration
Read substrate config and apply module configuration with schema/snapshot reads, correlation fields, retry hints, and secret-safe fingerprints.
DetailsFeatures
List all feature flags and check individual flags. Runtime mutation is handled through authorized admin/tool surfaces.
DetailsMetrics
JSON and Prometheus formats. Drain diagnostics and runtime metrics.
DetailsWebSocket
Real-time event and message streams. Connection info endpoint for clients.
DetailsTypes
Register and query message types, module states, and delivery guarantee enums.
DetailsDiagnostics
System info and drain progress for debugging message processing bottlenecks.
DetailsDocumentation
Documentation and packages
Technical whitepaper
Architecture overview, performance characteristics, and the design decisions behind the message-driven microkernel.
Go to DownloadsSDK reference
APIs, data contracts, lifecycle hooks, threading model, resilient connections, and code samples for native module development.
Go to DownloadsHosting packages guide
Step-by-step adoption guide for S1.Client, S1.Hosting, and S1.Runtime NuGet packages. Includes migration checklist and DI patterns.
Go to DownloadsMCP integration guide
Connecting AI agents to S1. Tool registration, capability scanning, RBAC configuration, and session management.
Go to DownloadsIntegration examples
Practical walkthroughs for PLCs, SCADA, enterprise systems, and external module integration via gRPC and WebSocket.
Go to DownloadsGateway API reference
Complete REST API documentation for the Gateway endpoint groups. Request/response schemas, authentication, and WebSocket protocols.
Go to DownloadsDownload ULTRAMEGA S1
The S1 core platform is free, including for commercial use. Download the developer package or use the NuGet packages in your .NET application. Contact us if you need help with integration or system development.