Model Overview

This document describes the core model classes in the Transmissions framework, located in src/model/.

App.js

Purpose: Singleton application container that manages global state and RDF datasets.

Responsibilities:

Key Features:

Connector.js

Purpose: Establishes event-driven connections between processors in a transmission pipeline.

Responsibilities:

Key Features:

Datasets.js

Purpose: Manages a collection of labeled RDF datasets with loading and retrieval capabilities.

Responsibilities:

Key Features:

Processor.js

Purpose: Base interface class for all processor implementations in the framework.

Responsibilities:

Key Features:

SlowableProcessor.js

Purpose: Processor variant that introduces configurable delays before processing.

Responsibilities:

Key Features:

Transmission.js

Purpose: Container that orchestrates multiple processors and their connections as a cohesive processing unit.

Responsibilities:

Key Features:

Whiteboard.js

Purpose: Global singleton cache and accumulator for cross-processor data sharing.

Responsibilities:

Key Features:

Architecture Notes

The model classes form a cohesive architecture:

The framework uses RDF extensively for configuration and modeling, with processors operating on messages that flow through event-driven connections.