|
tin
1.5.9
|
This glossary defines terms as they are used in tin.
A local component with a small stepping contract: step, drain, empty, and pending_events. Actors expose typed ports and are advanced by caller-owned code. They do not create threads.
A fixed set of actors visited in declaration order. An actor group gives local composition a deterministic execution order.
Code that converts between tin-facing types and an external system such as a board HAL, RTOS API, middleware client, simulator, replay file, or host socket.
A fixed-capacity typed value store. Channels are useful for moving raw samples, driver records, output commands, or intermediate payloads before they become HSM events.
Mutable data owned by a state machine. In compact definitions the machine definition object is also the context. Larger systems can use a separate context_type.
The act of applying one event to an HSM. Direct HSM dispatch happens in handle. Queued runtime dispatch happens when step pops one stored event.
A C++ type that represents something the behavior model can handle. Events can be empty marker types or payload types with fields.
A public include or package surface that names a stable boundary. tin is the top-level facade over runtime, behavior, I/O, and platform surfaces.
Hierarchical state machine. In tin, an HSM is a typed behavior model authored with states, events, transitions, guards, actions, hierarchy, history, and runtime policy.
A portable contract for driver-facing concepts such as ADC samples, GPIO levels, PWM duty, CAN frames, and bus status. These live in tio.
A description of target assumptions such as compiler, architecture, scheduler, storage, tick behavior, or RTOS integration. These live behind thal or platform headers.
The bounded mechanics that move and schedule work: queues, channels, actor links, tasks, timers, event sinks/sources, and HSM runtime queues.
A static cooperative coroutine. Tasks wait on channels, signals, ticks, or runtime operations and resume under an executor controlled by the caller.
Board-specific or OS-specific code that connects vendor APIs to tin-facing types. Target adapters are allowed to include HAL or RTOS headers; shared behavior should not.
An integer unit of framework time. Tick duration is configured by policy or type aliases so tests, simulators, and targets can drive time deterministically.
The intermediate representation used by import/export tools for machine definitions. The IR is validated by schema and feeds generated diagrams, Python simulators, C++ scaffolds, evidence, or trace artifacts.