Skip to content

LOT Syntax Reference

This page provides an overview of the LOT (Language of Things) syntax categories, aligning with the concepts presented in the LOT-Samples Repository.

LOT is designed to be human-readable with a near-English syntax that makes IoT system definitions more accessible. The language differentiates between Entities (subjects or data) and Functional Keywords (imperative actions performed by the MQTT broker).

Syntax Categories

The LOT syntax is organized based on this distinction:

Entities (Subjects/Data)

Entities represent the subjects or objects within the system, such as payloads, topics, timestamps, and structured data types. They are always described in an affirmative form.

Examples include: * PAYLOAD * TOPIC * TIMESTAMP * EMPTY

View All Entities Documentation

Functional Keywords (Imperative Actions)

Functional keywords are commands that instruct the broker to perform specific operations. They use an imperative form because the broker itself is the actor performing these actions.

Examples include: * PUBLISH TOPIC * GET TOPIC * KEEP TOPIC (if applicable) * SET (if applicable)

View All Functional Keywords Documentation

Defining Constructs

These keywords define the main structural components of LOT: * DEFINE ACTION - Event-triggered operations * DEFINE MODEL - Data transformation components * DEFINE RULE - Access control and permissions * DEFINE ROUTE - System interconnections

Operators & Expressions

The operators and expressions that can be used within LOT statements:

LOT Version Compatibility

LOT keywords and features are supported by different versions of the Coreflux platform. Throughout the documentation, compatibility information is provided for each keyword in the following format:

Feature Since Version Notes
DEFINE ACTION ??? Core feature
TIMESTAMP "ISO" ??? Added additional time formats
ROUTE ??? Added broker bridging functionality

For the most up-to-date compatibility information, please consult the Coreflux release notes.

LOT Samples Repository

For practical examples of these syntax elements in action, explore the LOT Samples Repository, which contains: