Back to Ruview

Domain-Driven Design: WiFi-DensePose Domain Model

rust-port/wifi-densepose-rs/docs/ddd/domain-model.md

0.7.05.0 KB
Original Source

Domain-Driven Design: WiFi-DensePose Domain Model

Bounded Contexts

1. Signal Domain

Purpose: Raw CSI data acquisition and preprocessing

Aggregates:

  • CsiFrame: Raw CSI measurement from WiFi hardware
  • ProcessedSignal: Cleaned and feature-extracted signal

Value Objects:

  • Amplitude: Signal strength measurements
  • Phase: Phase angle measurements
  • SubcarrierData: Per-subcarrier information
  • Timestamp: Measurement timing

Domain Services:

  • CsiProcessor: Preprocesses raw CSI data
  • PhaseSanitizer: Unwraps and cleans phase data
  • FeatureExtractor: Extracts signal features

2. Pose Domain

Purpose: Human pose estimation from processed signals

Aggregates:

  • PoseEstimate: Complete DensePose output
  • InferenceSession: Neural network session state

Value Objects:

  • BodyPart: Labeled body segment (torso, arms, legs, etc.)
  • UVCoordinate: Surface mapping coordinate
  • Keypoint: Body joint position
  • Confidence: Prediction confidence score

Domain Services:

  • ModalityTranslator: CSI → visual feature translation
  • DensePoseHead: Body part segmentation and UV regression

3. Streaming Domain

Purpose: Real-time data delivery to clients

Aggregates:

  • Session: Client connection with history
  • StreamConfig: Client streaming preferences

Value Objects:

  • WebSocketMessage: Typed message payload
  • ConnectionState: Active/idle/disconnected

Domain Services:

  • StreamManager: Manages client connections
  • BroadcastService: Pushes updates to subscribers

4. Storage Domain

Purpose: Persistence and retrieval

Aggregates:

  • Recording: Captured CSI session
  • ModelArtifact: Neural network weights

Repositories:

  • SessionRepository: Session CRUD operations
  • RecordingRepository: Recording storage
  • ModelRepository: Model management

5. Hardware Domain

Purpose: Physical device management

Aggregates:

  • Device: WiFi router/receiver
  • Antenna: Individual antenna configuration

Domain Services:

  • DeviceManager: Device discovery and control
  • CsiExtractor: Raw CSI extraction

Context Map

┌─────────────────────────────────────────────────────────────┐
│                      WiFi-DensePose                         │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ┌──────────────┐     ┌──────────────┐     ┌─────────────┐ │
│  │   Hardware   │────▶│    Signal    │────▶│    Pose     │ │
│  │   Domain     │     │    Domain    │     │   Domain    │ │
│  └──────────────┘     └──────────────┘     └─────────────┘ │
│         │                    │                    │        │
│         │                    │                    │        │
│         ▼                    ▼                    ▼        │
│  ┌──────────────────────────────────────────────────────┐  │
│  │                   Storage Domain                      │  │
│  └──────────────────────────────────────────────────────┘  │
│         │                    │                    │        │
│         ▼                    ▼                    ▼        │
│  ┌──────────────────────────────────────────────────────┐  │
│  │                  Streaming Domain                     │  │
│  └──────────────────────────────────────────────────────┘  │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Ubiquitous Language

TermDefinition
CSIChannel State Information - WiFi signal properties
SubcarrierIndividual frequency component in OFDM
Phase UnwrappingCorrecting 2π phase discontinuities
DensePoseDense human pose estimation with UV mapping
Modality TranslationConverting CSI features to visual features
Body PartOne of 15 labeled human body segments
UV Mapping2D surface parameterization of 3D body