DEV Community

Matias Meza
Matias Meza

Posted on

Arca Sophia Open-Core: Building Air-Gapped Local AI Inference for Industrial SCADA/PLC Systems

Arca Sophia Open-Core: Building Air-Gapped Local AI Inference for Industrial SCADA/PLC Systems

Integrating Artificial Intelligence into Operational Technology (OT) and Industrial Control Systems (ICS) presents a fundamental engineering trade-off: Cloud latency vs. Plant Security.

In continuous industrial processing, sending telemetry to public cloud LLMs breaks air-gapped network designs and introduces non-deterministic network delays.

To solve this, we designed Arca Sophia Open-Coreβ€”an open-source (AGPLv3) reference architecture for executing quantized LLMs directly at the edge, fully containerized and bound by physical safety rules.


Key Architectural Challenges in Industrial Edge AI

  1. Strict Air-Gap Requirements: OT networks cannot expose open WAN ports or send raw telemetry to third-party endpoints.
  2. Resource Constraints: Edge nodes in industrial cabinets operate with capped hardware specifications (e.g., 4 vCPUs, 8GB RAM).
  3. Non-Deterministic Risk: Raw LLM output cannot directly trigger PLC actuators without a deterministic safety layer.

The Stack & System Architecture

Arca Sophia Open-Core resolves these constraints through a modular Docker setup:

  • Inference Engine: Runs 4-bit quantized GGUF models (e.g., Qwen3-8B-Instruct) via local backends without internet access.
  • PLC Simulation Layer: Isolated container simulating real-time SCADA telemetry and register reads.
  • Deterministic Shield (SILIC-ETHIC): A rules-based containment layer that sanitizes model inferences against physical operational thresholds before any output is passed down the pipeline.

yaml
services:
  ics-core-sophia:
    build: .
    ports:
      - "8080:8000"
    environment:
      - SINTROPIC_SHIELD=active
      - NODE_ROLE=Architect
      - MODEL_PATH=/models/Qwen3-8B-Instruct-MTP-Q4_K_M.gguf
      - SPEC_TYPE=mtp
      - SPEC_DRAFT_N_MAX=2
      - CTX_SIZE=65536
    deploy:
      resources:
        limits:
          cpus: '4.0'
          memory: 8192M
    restart: unless-stopped
Enter fullscreen mode Exit fullscreen mode

Top comments (0)