architecture:start

This is an old revision of the document!


System Architecture Overview

This page defines the AOFS system architecture, including all layers, their responsibilities, interactions, and data flows. It establishes authority boundaries, offline operation rules, and federation/synchronization requirements for AOFS controllers.

All AOFS-compliant systems must conform to the rules specified here.

1. Architecture Layers

AOFS defines three core layers:

All controller layers expose a human interface appropriate to their authority and audience, while never bypassing Field Controller safety rules.

2. Authority & Data Flow Diagram

                ┌───────────────────────┐
                │   HQ / Federated      │
                │      Controller       │
                │  Dashboards & Reports │
                └─────────┬─────────────┘
                          │ Push/Pull Config & Logs
                          ▼
                ┌───────────────────────┐
                │  Farm Controller      │
                │  Local UI & Monitoring│
                │  Federation & Sync    │
                └─────────┬─────────────┘
                          │ Telemetry & Commands
                          ▼
                ┌───────────────────────┐
                │  Field Controller     │
                │  Autonomous Safety    │
                │  Irrigation Control   │
                │  Sensor Monitoring    │
                └───────────────────────┘

Legend:

  • Field Controller: authoritative for safety-critical irrigation.
  • Farm Controller: local supervision, configuration, and federation; respects Field Controller authority.
  • HQ Controller: multi-farm oversight, reporting, analytics; may propose updates but cannot override Field Controller safety logic.

3. Controller Responsibilities

Layer Primary Role Human Interface Connectivity Authority
——-————-—————-————-———-
Field Controller Execute irrigation & safety Embedded UI for monitoring / non-critical overrides None (offline) Authoritative locally
Farm Controller Local supervision & federation Full UI: monitoring, configuration Optional (for federation) Supervisory (non-critical only)
HQ Controller Multi-farm oversight & analytics Dashboards, reporting, config proposals Required for federation Supervisory (proposals only)

4. Federation / Sync Model

  • Push/Pull: Farm Controllers sync with HQ and/or peer farms.
  • Conflict Resolution:
    • Timestamp precedence
    • Operator approval for schedule/config conflicts
    • Field Controller safety rules always take priority
  • Offline First:
    • Controllers continue autonomous operation if disconnected
    • Logs and changes queue for synchronization once connectivity is restored

5. Human Interface Rules

  • All controllers expose interfaces appropriate to their role:
    • Field Controller: embedded status UI, safety alerts, non-critical operator overrides
    • Farm Controller: full local UI for monitoring, configuration, and federation
    • HQ Controller: multi-farm dashboards, analytics, authorized configuration proposals
  • No interface may bypass Field Controller safety rules.

X. Communication Model & Protocol Independence

  • Controller layers may communicate using one or more standardized protocols (see Communication Protocols & Standards)
  • Protocol choice does not define authority
  • Communication transport is strictly separated from control authority
  • Field Controller authority is defined by architectural rules, not by message origin
  • Remote commands received via MQTT, AMQP, or other protocols must always be validated locally
  • Loss of connectivity must never affect safety-critical irrigation execution
  • Communication failure must default to safe autonomous operation
  • AOFS architecture is protocol-agnostic
  • Multiple protocols may coexist within a deployment
  • Implementations must ensure auditability of all received and transmitted messages

6. Compliance Notes

  • AOFS-compliant deployments must implement all three layers as defined.
  • Field Controller safety rules cannot be overridden by higher layers.
  • All push/pull, configuration changes, and operator actions must be logged.
  • Offline operation must not compromise irrigation or safety.
  • Failure to respect authority boundaries invalidates AOFS compliance.

7. References

architecture/start.1771809023.txt.gz · Last modified: by bsamuel