L.O.B.S.T.E.R.

Lightweight Open BMW Software Traceability Evidence Report
✔ !

Overview

Coverage

Category Ratio Coverage OK Items Total Items
System Requirements 100.0% 100.00% 77 77
Software Requirements 44.7% 44.68% 63 141
Code 100.0% 100.00% 494 494
Unit Tests 91.1% 91.14% 144 158

Tracing policy

LOBSTER Tracing Policy n_419cfc02b324dc7d8faefa90ed608fb0 System Requirements n_9d273bd32c1fceb91b7d6a4d40e98bdd Software Requirements n_419cfc02b324dc7d8faefa90ed608fb0->n_9d273bd32c1fceb91b7d6a4d40e98bdd n_ca0dbad92a874b2f69b549293387925e Code n_9d273bd32c1fceb91b7d6a4d40e98bdd->n_ca0dbad92a874b2f69b549293387925e n_d6a712b8912b88fc5654b52032b40f5b Unit Tests n_9d273bd32c1fceb91b7d6a4d40e98bdd->n_d6a712b8912b88fc5654b52032b40f5b

Filtering

Item Filters

Show Issues

Filter

Issues

Detailed report

Requirements and Specification

System Requirements

requirements/system_requirements.trlc
TRLC System_requirement HSMCPP.SYS_HSM_001
The hsmcpp system SHALL compile and function correctly with C++11.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_002
The hsmcpp system SHALL provide type-safe state, event, and timer identifiers that allow users to define domain-specific identifier sets distinguishable at compile time.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_003
The hsmcpp system SHALL support integration with application-specific execution environments.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_004
The hsmcpp system SHALL provide an explicit mechanism to transition a configured state machine into execution.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_005
The hsmcpp system SHALL require the state-machine structure to be fully established before execution begins.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_006
The hsmcpp system SHALL support validation of hierarchical state-machine configurations to detect and report invalid configurations.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_007
The hsmcpp system SHALL execute application-defined state and transition callbacks for a given state machine within a single execution context.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_008
The hsmcpp system SHALL support multiple state machine instances sharing a single execution context.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_009
The hsmcpp system SHALL support releasing a state machine from execution and returning it to a state that allows re-initialization.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_010
The hsmcpp system SHALL provide an explicit mechanism to query the execution status of the state machine.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_076
The hsmcpp system SHALL allow a running state machine to be destroyed safely, without producing undefined behavior.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_011
The hsmcpp system SHALL support definition of uniquely identified states.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_012
The hsmcpp system SHALL allow the user to designate one state as the initial state, which becomes active upon initialization.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_013
The hsmcpp system SHALL support final states. When a final state is entered, the system SHALL stop processing further events.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_014
The hsmcpp system SHALL provide the ability to determine which states are currently active and whether a specific state is active.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_015
The hsmcpp system SHALL support hierarchical parent-child relationships between states, forming a nested state structure.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_016
The hsmcpp system SHALL support entry points that determine which child state becomes active when a parent state is entered.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_017
The hsmcpp system SHALL support exit points that determine which outgoing transition from a parent state is taken based on the exit path selected by a child state.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_018
The hsmcpp system SHALL support conditional entry points where the entry substate is selected based on an application-defined condition.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_019
The hsmcpp system SHALL support transition resolution across hierarchical state relationships.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_020
The hsmcpp system SHALL execute state lifecycle callbacks according to the hierarchical relationships of the active state configuration when entering or exiting hierarchical states.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_021
The hsmcpp system SHALL support configurations in which multiple states are simultaneously active, arising from executing all satisfied transitions for an event and from activating multiple entry points.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_022
The hsmcpp system SHALL evaluate an event against all concurrently active states, allowing each to independently process or ignore the event according to its own transitions.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_023
When a transition targets a state that is already part of the active state configuration, the hsmcpp system SHALL keep that state, together with its entire active substate configuration, active and unchanged, and SHALL NOT treat the target as newly activated.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_024
The hsmcpp system SHALL support shallow history states that remember and restore all active direct child states of the parent when re-entering via the history state.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_025
The hsmcpp system SHALL support deep history states that remember and restore the entire substate hierarchy that was active when the parent was last deactivated, including all concurrently active substates across parallel regions.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_026
The hsmcpp system SHALL allow a default target state to be specified for a history state. When no history has been recorded, the system SHALL transition to the default target.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_027
The hsmcpp system SHALL support execution of application-defined callbacks when a state is entered via history restoration.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_028
The hsmcpp system SHALL support transitions between states triggered by uniquely identified events.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_029
The hsmcpp system SHALL support guarded transitions whose execution depends on runtime condition evaluation.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_030
The hsmcpp system SHALL support self-transitions in two modes: internal (no state exit/entry) and external (full exit and re-entry of the state).
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_031
When multiple transitions match the same event from the same state, the hsmcpp system SHALL evaluate them in a deterministic order and execute all transitions whose guard condition is satisfied.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_032
The hsmcpp system SHALL allow arbitrary application data to be associated with a transition request and delivered to all application-defined callbacks triggered by that transition.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_033
The hsmcpp system SHALL maintain a valid active state configuration after every transition request, including transition requests that do not complete successfully.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_034
The hsmcpp system SHALL support cancellation of an in-progress transition by application-defined callbacks.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_035
The hsmcpp system SHALL support execution of application-defined callbacks associated with state lifecycle events and state transitions.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_036
The hsmcpp system SHALL support declarative actions associated with state lifecycle events and transitions. Supported actions include timer control, event generation.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_037
The hsmcpp system SHALL provide event processing without requiring applications to integrate a specific external event-processing framework or runtime.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_038
The hsmcpp system SHALL support asynchronous event processing where the caller submitting an event returns immediately and the event is processed independently.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_039
The hsmcpp system SHALL support synchronous event processing where the caller submitting an event blocks until the transition completes or fails and receives the result.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_040
The hsmcpp system SHALL process queued events in FIFO order unless pending events are explicitly discarded or a higher-priority internal processing rule applies.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_041
The hsmcpp system SHALL prevent re-entrant event processing, ensuring that events generated during an active processing cycle are deferred for later processing.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_042
The hsmcpp system SHALL report asynchronous event submission failure when the event cannot be accepted for processing.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_043
The hsmcpp system SHALL provide defined error handling for operations that cannot be completed due to invalid parameters, invalid state-machine configuration, or the current state-machine lifecycle state.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_044
The hsmcpp system SHALL provide the ability to discard all pending events.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_045
The hsmcpp system SHALL provide the ability to determine whether a specified event can trigger a successful transition from the current state without changing state machine state.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_046
The hsmcpp system SHALL provide notification to the application when a transition request does not complete successfully.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_047
The hsmcpp system SHALL support receiving events from execution contexts other than the context performing state-machine processing.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_048
The hsmcpp system SHALL support concurrency-safe timer control operations.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_049
The hsmcpp system SHALL support transition requests from execution contexts where dynamic memory allocation is not permitted.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_050
The hsmcpp system SHALL support operation without thread-safety overhead in single-threaded or cooperative execution environments.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_051
The hsmcpp system SHALL support timers that generate a specified event upon expiration.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_052
The hsmcpp system SHALL support single-shot timers that fire once after the specified interval and then stop automatically.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_053
The hsmcpp system SHALL support repeating timers that fire periodically at the specified interval until explicitly stopped.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_054
The hsmcpp system SHALL provide the ability to start, stop, and restart timers.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_055
The hsmcpp system SHALL provide the ability to query whether a specific timer is currently running.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_056
The hsmcpp system's timer expiration precision SHALL be bounded by the timing facilities of the underlying platform. Guaranteed timer precision SHALL be defined as that provided by the platform's timing facilities.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_077
The hsmcpp system SHALL support multiple timers running concurrently, each identified by a distinct timer identifier and controlled independently of the others.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_057
The hsmcpp system SHALL accept SCXML models as an input format for defining state-machine structure. The system SHALL support the subset of W3C SCXML constructs required to express state-machine structure: state, parallel, initial, final, transition (with event, cond, target, type), onentry, onexit, and history (with type).
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_058
The hsmcpp system SHALL ignore SCXML constructs that describe executable content, data model, and external communication (including raise, if, foreach, log, datamodel, data, assign, send, cancel, invoke, and finalize) without failing model processing.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_059
The hsmcpp system SHALL support hsmcpp-specific interpretation of the following SCXML constructs: the script element to name application callbacks for state entry, exit, and transition; the invoke element (via srcexpr) to name a state-changed callback; and the state src attribute to compose a model from an external file.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_060
The hsmcpp system SHALL provide automated generation of source code implementing a state machine defined by a supported SCXML model.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_061
The hsmcpp system SHALL provide validation of state-machine models and SHALL report structural or configuration errors that prevent valid state-machine execution or generation.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_062
The hsmcpp system SHALL provide generation of state diagram visualizations from SCXML models.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_063
The hsmcpp system SHALL support composition of state machine models from multiple source files.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_064
The hsmcpp system SHALL support automatic regeneration of generated artifacts when their source models change.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_065
The hsmcpp system SHALL support emitting human-readable diagnostic trace messages describing state machine activity. Trace output SHALL be deliverable to an application-provided output, and a default platform-specific output SHALL be provided.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_066
The hsmcpp system SHALL support recording a structured execution log capturing state transitions, events, and timer operations in a replayable format.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_067
The hsmcpp system SHALL produce structured execution logs in a format that supports replay and analysis of state-machine execution by compatible diagnostic tools.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_068
The hsmcpp system SHALL allow trace logging and structured execution logging to be independently enabled or disabled at build time.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_069
The hsmcpp system SHALL provide the ability to enable and disable recording of the structured execution log at runtime without rebuilding.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_070
The hsmcpp system SHALL provide build-time configuration options to enable or disable optional capabilities, including diagnostic trace logging, structured execution logging, structure validation, and thread-safety mechanisms.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_071
The hsmcpp system SHALL support execution on Linux.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_072
The hsmcpp system SHALL support execution on QNX.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_073
The hsmcpp system SHALL support execution on Windows.
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_074
The hsmcpp system SHALL support execution on FreeRTOS (V10.3.1 and later).
Traces to:
TRLC System_requirement HSMCPP.SYS_HSM_075
The hsmcpp system SHALL support execution on Arduino.
Traces to:

Software Requirements

requirements/software_requirements.trlc
TRLC Software_requirement HSMCPP.SWR_HSM_001
The library SHALL compile and function correctly with C++11 and supported later C++ standard revisions.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_002
The library SHALL provide a type-safe state identifier type that the compiler can distinguish from unrelated integer or enumeration types. The library SHALL allow users to define domain-specific state identifier sets.
Traces to:
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_003
The library SHALL provide a type-safe event identifier type that the compiler can distinguish from unrelated integer or enumeration types. The library SHALL allow users to define domain-specific event identifier sets.
Traces to:
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_004
The library SHALL provide a type-safe timer identifier type that the compiler can distinguish from unrelated integer or enumeration types. The library SHALL allow users to define domain-specific timer identifier sets.
Traces to:
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_005
The library SHALL provide a software interface allowing an application-provided event-processing implementation. Adding a custom event-processing implementation SHALL be possible without modifying library source code.
Traces to:
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_140
The event-processing implementation SHALL provide an operation to start event delivery, after which it processes queued events and delivers them to the state machines bound to it. A custom application-provided event-processing implementation SHALL be able to supply this operation without modifying library source code.
Traces to:
Derived from:
Issues:
  • missing reference to Code
TRLC Software_requirement HSMCPP.SWR_HSM_141
The event-processing implementation SHALL provide an operation to stop event delivery, after which no further queued events are delivered until it is started again. Stopping SHALL leave the implementation in a state from which it can be started again. A custom application-provided event-processing implementation SHALL be able to supply this operation without modifying library source code.
Traces to:
Derived from:
Issues:
  • missing reference to Code
TRLC Software_requirement HSMCPP.SWR_HSM_006
The library SHALL provide an explicit initialization operation that transitions a configured state machine into an executing state. The operation SHALL require a working event-processing implementation to be provided, and SHALL fail if none is provided. After successful initialization, the state machine SHALL be in its designated initial state.
TRLC Software_requirement HSMCPP.SWR_HSM_007
Event processing SHALL begin only after initialization completes successfully.
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_125
The library SHALL NOT allow the event-processing implementation of a state machine to be changed after that state machine has been initialized.
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_126
The library SHALL provide an interface to obtain the event-processing implementation currently associated with an initialized state machine.
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_008
The library SHALL require that the complete state machine structure (states, transitions, and actions) is fully configured before initialization. The library SHALL reject structural modifications attempted after initialization with a defined error indication.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_009
The library SHALL serialize execution of application-defined callbacks for a given state machine instance, ensuring at most one callback executes at any time.
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_010
The library SHALL support multiple state machine instances sharing a single event-processing context. Each state machine instance SHALL process events independently while sharing the underlying event-processing infrastructure.
TRLC Software_requirement HSMCPP.SWR_HSM_011
The library SHALL provide a release operation that terminates execution of a state machine and returns it to a state in which re-initialization is possible. After release, event processing SHALL resume only after successful re-initialization.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_127
The library SHALL allow a state machine instance to be destroyed while it is running, without producing undefined behavior. Destruction SHALL release the instance's resources and SHALL ensure that no queued events or callbacks continue to act on the destroyed instance.
TRLC Software_requirement HSMCPP.SWR_HSM_012
The library SHALL support registration of uniquely identified states. Each state SHALL be identifiable by its type-safe state identifier.
TRLC Software_requirement HSMCPP.SWR_HSM_013
The library SHALL allow the user to designate one state as the initial state during configuration. The designated initial state SHALL become active upon successful initialization of the state machine.
TRLC Software_requirement HSMCPP.SWR_HSM_014
The library SHALL support designating one or multiple states as a final state. When a final state becomes active, the library SHALL stop processing further events and transition the state machine to a terminated lifecycle state.
TRLC Software_requirement HSMCPP.SWR_HSM_015
The library SHALL provide the ability to query which states are currently active. The library SHALL provide the ability to query whether a specified state identifier is currently active.
TRLC Software_requirement HSMCPP.SWR_HSM_016
The library SHALL support registration of hierarchical parent-child relationships between states. A child state SHALL be active only when its parent state is active.
TRLC Software_requirement HSMCPP.SWR_HSM_017
The library SHALL, when structure validation is enabled, detect and reject invalid parent-child configurations. Validated conditions SHALL include: circular parent-child dependencies, assignment of a child state to multiple parents, and definition of a state as its own parent.
TRLC Software_requirement HSMCPP.SWR_HSM_018
The library SHALL, when structure validation is enabled, reject composite states that do not designate an initial substate.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_019
The library SHALL, when structure validation is enabled, reject transitions whose source and target states do not share a common parent scope, transitions whose target is a substate nested within a composite state, and transitions that name an entry point as the target. A history state MAY be named as a transition target.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_020
The library SHALL support registration of entry point substates. When an entry point is defined for a parent state, the library SHALL activate the designated child state upon entry to the parent.
TRLC Software_requirement HSMCPP.SWR_HSM_021
The library SHALL support conditional entry points where the entry point is activated based on a runtime condition callback evaluated at the time of parent state entry. The condition callback SHALL take no event argument; it evaluates only application-defined state.
TRLC Software_requirement HSMCPP.SWR_HSM_022
The library SHALL support entry points filtered by event, where an entry point is eligible for activation only when the event that triggered the transition into the parent state matches the entry point's configured event.
TRLC Software_requirement HSMCPP.SWR_HSM_023
The library SHALL support entry points that define both an event filter and a condition callback. Such an entry point SHALL be eligible for activation only when both the event matches and the condition callback returns its expected value.
TRLC Software_requirement HSMCPP.SWR_HSM_024
An entry point that defines neither an event filter nor a condition callback SHALL always be eligible for activation when its parent state is entered.
TRLC Software_requirement HSMCPP.SWR_HSM_025
When a parent state defines multiple entry points, the library SHALL resolve activation as follows: (1) evaluate entry points that define an event filter and/or a condition, and activate all whose filters are satisfied, without activating entry points that define neither; (2) if no filtered entry point is satisfied, activate all entry points that define neither an event filter nor a condition; (3) if no entry point defines an event filter or condition, activate all entry points. Within each case, eligible entry points SHALL be activated in registration order.
TRLC Software_requirement HSMCPP.SWR_HSM_131
When a transition enters a parent state that defines entry points but none of them is eligible for activation, the library SHALL cancel the transition and leave the active state configuration unchanged.
TRLC Software_requirement HSMCPP.SWR_HSM_026
When no applicable transition for an event can be executed in the active substate, the library SHALL evaluate applicable transitions in successive ancestor states until a transition can be executed or the topmost state is reached.
TRLC Software_requirement HSMCPP.SWR_HSM_027
When entering a hierarchical state configuration, the library SHALL execute entry callbacks in top-down order (ancestor before descendant). When exiting, the library SHALL execute exit callbacks in bottom-up order (descendant before ancestor).
TRLC Software_requirement HSMCPP.SWR_HSM_028
The library SHALL allow multiple states to be simultaneously active as a result of executing all satisfied transitions for a single event and of activating multiple eligible entry points. The library SHALL maintain the active state of each concurrently active branch independently.
TRLC Software_requirement HSMCPP.SWR_HSM_029
The library SHALL evaluate each event against all concurrently active states in a deterministic order (registration order). Each active state SHALL evaluate the event according to its own transition definitions independently of the others. A transition executed by one active state SHALL leave the other active states free to evaluate the same event.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_030
When a transition targets a state that is already part of the active state configuration, the library SHALL execute that transition's guard condition, source-state exit callback, and transition callback, but SHALL NOT execute the target state's entry callback or its state-changed callback. The target state SHALL remain active and its active substate configuration SHALL be left unchanged.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_031
When a transition targets an already-active composite state, the library SHALL leave the composite state and its entire active substate configuration active and unchanged, and SHALL NOT re-enter, re-initialize, or reset any state within that subtree. This requirement does not govern an external self-transition, which resets the target by performing a full exit and re-entry.
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_032
The library SHALL support registration of shallow history states for a composite state.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_136
When re-entering a composite state via a shallow history state, the library SHALL restore all direct child states of that composite that were active immediately before its most recent deactivation.
TRLC Software_requirement HSMCPP.SWR_HSM_033
The recorded shallow history of a parent state SHALL always reflect all direct child states that were active immediately before the most recent deactivation of those children, independently of whether the parent itself was exited. The recorded children SHALL be used for subsequent shallow history restoration.
Traces to:
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_034
The library SHALL clear all recorded shallow history upon state machine release or re-initialization.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_035
The library SHALL support registration of deep history states for a composite state.
TRLC Software_requirement HSMCPP.SWR_HSM_137
When re-entering a composite state via a deep history state, the library SHALL restore the entire substate hierarchy that was active when the composite was last deactivated, including all concurrently active substates across parallel regions.
TRLC Software_requirement HSMCPP.SWR_HSM_036
The recorded deep history of a parent state SHALL always reflect the complete active substate hierarchy that was active immediately before the most recent deactivation of that hierarchy, independently of whether the parent itself was exited. The recorded hierarchy SHALL be used for subsequent deep history restoration.
Traces to:
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_037
The library SHALL clear all recorded deep history upon state machine release or re-initialization.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_038
The library SHALL allow a default target state to be specified for a history state. When a transition targets a history state and no history has been recorded, the library SHALL activate the default target state instead.
TRLC Software_requirement HSMCPP.SWR_HSM_134
When a transition targets a history state for which no history has been recorded and no default target state has been defined, the library SHALL enter the history state's parent and resolve its active child through the parent's entry point.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_039
The library SHALL support an optional application-defined callback associated with a history state. The callback SHALL execute whenever the history state is activated, regardless of whether it activates a recorded target or its default target. The callback SHALL execute before the normal entry callback for the activated state.
TRLC Software_requirement HSMCPP.SWR_HSM_040
The library SHALL support registration of transitions between states triggered by type-safe event identifiers. Each transition SHALL specify a source state, a target state, and a triggering event.
TRLC Software_requirement HSMCPP.SWR_HSM_041
The library SHALL support associating a guard condition callback with a transition. The guard callback SHALL return a boolean result. The transition SHALL execute only when the guard result matches the configured expected value.
TRLC Software_requirement HSMCPP.SWR_HSM_042
The library SHALL support registration of otherwise transitions that execute when no guarded transition for the same event from the same source state is satisfied. Otherwise transitions SHALL be evaluated after all guarded transitions have been evaluated and rejected.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_043
The library SHALL support internal self-transitions that do not trigger state exit or entry callbacks.
TRLC Software_requirement HSMCPP.SWR_HSM_044
The library SHALL support external self-transitions that perform full exit and re-entry of the state, including execution of exit and entry callbacks.
TRLC Software_requirement HSMCPP.SWR_HSM_045
When multiple transitions from the same state match the same event, the library SHALL evaluate guard conditions in registration order and SHALL execute the first transition whose guard condition is satisfied. Registration order SHALL be the defined priority mechanism.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_133
When a state has multiple transitions that match the same event, including a combination of self-transitions and a regular (non-self) transition, the library SHALL execute them in the following priority order: internal self-transitions first, then external self-transitions, then regular transitions.
TRLC Software_requirement HSMCPP.SWR_HSM_046
The library SHALL provide a synchronous transition operation that blocks the caller until the transition completes or fails. If the transition does not complete within a configurable timeout period, the operation SHALL return a timeout indication. A timeout indication SHALL indicate that the transition outcome is not available to the caller at the time the operation returns.
TRLC Software_requirement HSMCPP.SWR_HSM_047
The library SHALL provide the ability to discard all pending events (both externally submitted and internally generated) before processing a newly requested transition.
TRLC Software_requirement HSMCPP.SWR_HSM_048
The library SHALL provide an operation to determine whether a specified event can cause a successful transition from the current active state configuration without changing state machine state. The operation SHALL evaluate guard conditions only and SHALL be side-effect-free with respect to callbacks, active state configuration, and conditional entry points.
TRLC Software_requirement HSMCPP.SWR_HSM_049
The library SHALL invoke an application-defined callback when a transition request does not result in a successful state change. The callback SHALL distinguish between transition rejection (no transition matched the event from the current state after guard evaluation) and transition cancellation (a matching transition was selected but cancelled by application-defined callback behavior).
TRLC Software_requirement HSMCPP.SWR_HSM_050
The library SHALL support associating application-defined data with a transition request. The associated data SHALL be delivered to every callback executed as part of that transition - including the guard condition, exit, transition, entry, and state-changed callbacks - and SHALL retain the value provided at submission time.
TRLC Software_requirement HSMCPP.SWR_HSM_124
The library SHALL support associating transition data of the following types: signed integers of 1, 2, 4 and 8 bytes; unsigned integers of 1, 2, 4 and 8 bytes; double-precision floating-point values; boolean values; character strings; byte arrays; and the composite types list, vector, map and pair whose elements are themselves supported data values. The library SHALL additionally support an opaque application-defined (custom) type that is carried through the transition without interpretation.
Traces to:
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_139
The library SHALL provide its own type-erased value container (the Variant type) for storing transition-associated data, and SHALL use this container to carry that data through transitions. The container SHALL store a single value together with its data type, allow the stored type to be queried at run time, and provide retrieval of the stored value.
TRLC Software_requirement HSMCPP.SWR_HSM_051
When a transition is cancelled by application-defined behavior after the source state has been exited, the library SHALL restore the source state as active by re-entering it, executing its entry callback and state-changed callback as if it had been entered by a normal transition. When cancellation occurs before the source state is exited, the source state SHALL remain active with no additional callbacks. When the source state is still active because a concurrent branch shares it, restoration SHALL NOT re-enter it. Externally visible side effects performed by callbacks that executed before the cancellation SHALL remain in effect (the library does not undo them).
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_052
The library SHALL return an error indication when an asynchronous event submission cannot be accepted because the event queue has reached its capacity limit.
Traces to:
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_130
The library SHALL use a default event queue capacity of 10 pending events when the application does not configure a capacity.
TRLC Software_requirement HSMCPP.SWR_HSM_053
The library SHALL allow the event queue capacity to be configured per dispatcher.
TRLC Software_requirement HSMCPP.SWR_HSM_054
For a non-hierarchical transition from source state S to target state T, the library SHALL execute applicable steps in the following order: (1) evaluate the transition guard condition, (2) source state exit callback, (3) transition callback, (4) target state entry callback, (5) target state state-changed callback. Guard evaluation SHALL complete before the source state exit callback executes; when the guard is not satisfied, no exit, transition, entry, or state-changed callback SHALL execute for that transition.
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_055
The library SHALL allow a state exit callback to cancel the in-progress transition by returning a cancellation indication. When an exit callback cancels, no further callbacks in the transition sequence SHALL execute, the source state SHALL remain active, and no compensating callbacks SHALL be invoked for the cancellation.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_056
The library SHALL allow a state entry callback to cancel the in-progress transition by returning a cancellation indication. When an entry callback cancels, the library SHALL stop the remaining callback sequence and restore the source state as active by re-entering it. Side effects of callbacks already executed before the cancellation are not undone.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_057
When a single event triggers execution of multiple transitions, cancellation of one transition by application-defined callback behavior SHALL affect only that transition. The remaining transitions SHALL continue to be executed independently.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_135
When a transition that restores a history state is cancelled before completion, the library SHALL apply the same cancellation strategy as for a regular transition and restore the source state as active.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_058
The library SHALL execute an application-defined entry callback when a state is entered as part of a transition. The entry callback SHALL receive any data associated with the triggering transition.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_059
The library SHALL execute an application-defined exit callback when a state is exited as part of a transition.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_060
The library SHALL execute an application-defined state-changed callback after a state has become fully active. The state-changed callback SHALL receive any data associated with the triggering transition.
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_061
The library SHALL support an application-defined callback associated with a transition. The transition callback SHALL receive any data associated with the triggering transition. The transition callback is non-cancellable.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_062
The library SHALL treat application-defined behavior as actions. An application-defined callback SHALL be one action type; declarative timer control and declarative event generation SHALL be additional action types. The library SHALL support binding callback actions using at least: class member function pointers, free function pointers, and lambda/functor objects.
TRLC Software_requirement HSMCPP.SWR_HSM_063
The library SHALL support timer control actions (start, stop, restart of a specified timer) that can be attached to state entry, state exit, and transitions.
TRLC Software_requirement HSMCPP.SWR_HSM_064
The library SHALL support event generation actions that generate a specified event and can be attached to state entry, state exit, and transitions.
TRLC Software_requirement HSMCPP.SWR_HSM_065
The library SHALL support attaching multiple actions to a single state entry, state exit, or transition. Multiple actions attached to the same point SHALL be executed in their defined order.
TRLC Software_requirement HSMCPP.SWR_HSM_066
The library SHALL provide at least one event-processing implementation sufficient to execute a state machine without requiring integration with an external event-processing framework.
TRLC Software_requirement HSMCPP.SWR_HSM_067
The library SHALL provide an asynchronous event submission operation where the caller returns immediately without waiting for the event to be processed. The submitted event SHALL be queued for later processing by the event-processing context.
TRLC Software_requirement HSMCPP.SWR_HSM_068
The library SHALL process externally submitted events in first-in-first-out order within the external event queue. The library SHALL maintain FIFO ordering unless pending events are explicitly discarded by the application.
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_069
The library SHALL process internally generated events before the next externally submitted event. Internally generated events include events produced by declarative actions, timer expirations processed during a transition, and events generated as a result of entering a final state. All pending internally generated events, including those generated recursively, SHALL be processed before the next externally submitted event. Internally generated events SHALL be processed in generation order.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_070
When application-defined behavior triggered by an event submits additional events, the library SHALL defer those events for later processing rather than executing them immediately within the current processing cycle.
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_132
When a synchronous transition is requested from within the state machine's own execution context, such as from inside a state or transition callback, the library SHALL NOT block waiting for that transition to complete; it SHALL cancel the synchronous request and report failure to the caller.
TRLC Software_requirement HSMCPP.SWR_HSM_071
The library SHALL report an error when a transition or event submission is requested on a state machine that has not been successfully initialized.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_072
The library SHALL report an error when a structural modification is attempted after initialization.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_073
The library SHALL report an error when an operation is invoked with an invalid or unregistered identifier parameter.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_074
The library SHALL provide a uniform mechanism for reporting operation failures to the caller. All operations capable of failing SHALL use this common mechanism to communicate failure to the caller.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_075
The library SHALL guarantee that timer control operations (start, stop, restart, and status query) preserve timer state consistency when invoked concurrently from multiple threads. Each operation SHALL produce a valid timer state upon completion.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_076
The library SHALL guarantee that externally submitted transition requests and event submissions operate correctly when invoked concurrently from multiple execution contexts. The library SHALL preserve data integrity and state configuration consistency throughout concurrent access.
TRLC Software_requirement HSMCPP.SWR_HSM_077
The library SHALL provide a transition mechanism suitable for execution from restricted contexts in which dynamic memory allocation is not permitted. The mechanism SHALL use only pre-allocated resources at invocation time.
TRLC Software_requirement HSMCPP.SWR_HSM_078
The library SHALL support a compile-time configuration option to enable or disable thread-safety mechanisms. When thread safety is disabled, the library SHALL omit synchronization operations from event submission, timer operations, and transition operations. When disabled, the application is responsible for ensuring single-threaded access.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_079
Structural configuration operations (registration of states, transitions, and actions) SHALL be performed from a single execution context. This constraint applies only during the configuration phase preceding initialization and does not restrict runtime operation.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_080
The library SHALL support registration of timers identified by type-safe timer identifiers. Each timer SHALL be associated with a specified event identifier. When a timer expires, the library SHALL deliver the associated event to the state machine for processing.
TRLC Software_requirement HSMCPP.SWR_HSM_081
The library SHALL support single-shot timers that fire once after the specified interval elapses and then stop automatically without further intervention.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_082
The library SHALL support repeating timers that fire periodically at the specified interval until explicitly stopped. Each firing SHALL deliver the associated event to the state machine.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_083
The library SHALL provide an operation to start a timer with a specified interval and mode (single-shot or repeating).
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_084
The library SHALL provide an operation to stop a currently running timer. Stopping a timer that is not running SHALL have no adverse effect. After a timer stop operation completes, the timer SHALL generate no further expiration events. Any expiration event already queued but not yet processed at the time of stop SHALL be discarded.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_085
The library SHALL provide an operation to restart a timer with its original parameters, resetting the countdown from zero. Restart SHALL be equivalent to stop followed by start: any previously queued expiration event SHALL be discarded before the new countdown begins.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_086
The library SHALL provide an operation to determine whether a specific timer is currently running. The query SHALL return a definitive running or not-running indication.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_138
The library SHALL support multiple timers running concurrently. Each timer SHALL be identified by a distinct type-safe timer identifier, and start, stop, restart, and status-query operations on one timer SHALL affect only the timer named by that identifier and SHALL NOT disturb any other running timer.
Derived from:
TRLC Software_requirement HSMCPP.SWR_HSM_087
The code generation tool SHALL parse W3C SCXML format files as input for defining state machine structure. The tool SHALL support the hsmcpp-relevant subset of SCXML elements including states, transitions, parallel regions, and history states.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_088
The code generation tool SHALL support assembling a state machine definition from multiple SCXML source files.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_089
The code generation tool SHALL produce C++ source and header files that implement the state machine defined by the input SCXML model. The generated artifacts SHALL include all state, event, and timer identifier definitions and the complete structural configuration (state registration, transition registration, timer bindings).
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_090
The generated code SHALL use a base class pattern where the generated class provides structure registration and declares virtual callback methods. Applications SHALL derive from the generated class to implement callback behavior. Regeneration of the base class SHALL preserve application-derived code without requiring changes to it.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_091
The code generation tool SHALL validate the input SCXML model before generating code. The tool SHALL report errors for structural and semantic violations that would prevent valid state machine execution. Minimum validated conditions SHALL include: undefined state references in transitions, circular hierarchies, and missing initial states in composite states.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_092
The code generation tool SHALL produce PlantUML state diagram files from SCXML input. The generated diagrams SHALL represent states, transitions, guards, hierarchical relationships, and parallel regions.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_093
The project SHALL provide CMake integration that automatically invokes the code generation tool when source SCXML files change, ensuring generated artifacts are regenerated during the build.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_094
When trace logging is enabled, the library SHALL emit human-readable trace messages describing state machine activity, including state transitions, event processing, and timer operations.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_095
The library SHALL allow the application to provide a callback that is invoked for each trace message with the message text as a string argument. When no callback is provided, the library SHALL use a default platform-specific trace output.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_096
When structured execution logging is enabled, the library SHALL record state machine execution information in a defined structured format. The log SHALL capture state transitions (source, target, event), event submissions, and timer operations (start, stop, expire), with sufficient ordering information to reconstruct the execution sequence.
Derived from:
Issues:
  • missing reference to Code
TRLC Software_requirement HSMCPP.SWR_HSM_097
The structured execution log format SHALL be documented and parseable, enabling compatible diagnostic tools to replay and inspect state machine execution sequences.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_098
The library SHALL provide independent CMake configuration options that enable or disable trace logging and structured execution logging at build time. When a logging type is disabled, its implementation SHALL be excluded from the built binary.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_099
The library SHALL provide an API to enable and disable recording of the structured execution log at runtime without rebuilding. When enabled, the library SHALL begin recording to the configured log destination; when disabled, it SHALL stop recording and close the log. Changes SHALL take effect for the next logged event.
TRLC Software_requirement HSMCPP.SWR_HSM_100
The library SHALL support registering human-readable string names for state and event identifiers. When logging is active, the library SHALL include registered names in log output.
TRLC Software_requirement HSMCPP.SWR_HSM_101
The library SHALL compile and execute correctly on Linux.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_102
The library SHALL provide an event-processing dispatcher for Linux based on the C++ standard library (std::thread, std::condition_variable).
TRLC Software_requirement HSMCPP.SWR_HSM_103
The library SHALL compile and execute correctly on QNX.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_104
The library SHALL provide an event-processing dispatcher for QNX based on the C++ standard library.
TRLC Software_requirement HSMCPP.SWR_HSM_105
The library SHALL compile and execute correctly on Windows.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_106
The library SHALL provide an event-processing dispatcher for Windows based on the C++ standard library.
TRLC Software_requirement HSMCPP.SWR_HSM_107
The library SHALL compile and execute correctly on FreeRTOS (V10.3.1 and later).
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_108
The library SHALL provide an event-processing dispatcher for FreeRTOS based on FreeRTOS tasks and queues.
TRLC Software_requirement HSMCPP.SWR_HSM_109
The library SHALL compile and execute correctly on Arduino.
Traces to:
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_110
The library SHALL provide an event-processing dispatcher for Arduino that operates cooperatively within a single-threaded execution model.
TRLC Software_requirement HSMCPP.SWR_HSM_111
The Arduino configuration SHALL support the restricted-context transition mechanism. The Arduino configuration SHALL operate without thread-safety overhead.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_112
The library SHALL provide an event-processing implementation that integrates with the GLib main event loop.
Traces to:
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_113
The library SHALL provide an event-processing implementation that integrates with the Qt event loop.
TRLC Software_requirement HSMCPP.SWR_HSM_114
The library SHALL support independently enabling or disabling the following capabilities via CMake configuration: trace logging, structured execution logging, structure validation, and thread safety.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_115
The library SHALL support exit point pseudo-states within a composite state. Activation of a specific exit point by a child state SHALL select the corresponding outgoing transition from the parent state.
TRLC Software_requirement HSMCPP.SWR_HSM_128
When an exit point is activated and no event was registered for it, the library SHALL exit the parent state using the same event that activated the exit point.
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_129
When an exit point is activated and an event was registered for it, the library SHALL exit the parent state using the registered event instead of the event that activated the exit point.
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_116
The code generation tool SHALL parse and interpret the following SCXML constructs: scxml (initial, xmlns), state (id, initial), parallel (id), transition (event, cond, target, type), initial, final (id), onentry, onexit, and history (id, type).
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_117
The code generation tool SHALL ignore SCXML executable-content, data-model, and external-communication constructs (including raise, if, elseif, else, foreach, log, datamodel, data, assign, donedata, content, param, send, cancel, invoke type/typeexpr, and finalize) without failing model processing.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_118
The code generation tool SHALL interpret the following constructs with hsmcpp-specific meaning: the script element (within onentry, onexit, and transition) as a named application callback; the invoke element srcexpr attribute as a named state-changed callback; and the state src attribute (and xi:include) as external-file composition.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_119
Timer expiration precision SHALL be bounded by the timing facilities of the platform dispatcher in use. The delivered precision SHALL be that provided by the underlying platform timing facility.
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_120
The library SHALL provide an operation to query the current execution status of the state machine, distinguishing at least the uninitialized, running, and terminated conditions.
Derived from:
Issues:
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_121
The default trace output on Linux SHALL write to the standard console output (stdout).
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_122
The default trace output on Windows SHALL write to the standard console output (stdout).
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests
TRLC Software_requirement HSMCPP.SWR_HSM_123
The default trace output on QNX SHALL write to the QNX system logging facility (slog).
Derived from:
Issues:
  • missing reference to Code
  • missing reference to Unit Tests

Implementation

Code

include/hsmcpp/HsmEventDispatcherArduino.hpp
C++ Function HsmEventDispatcherArduino::HsmEventDispatcherArduino
Derived from:
C++ Class HsmEventDispatcherArduino
Derived from:
C++ Function HsmEventDispatcherArduino::~HsmEventDispatcherArduino
Derived from:
C++ Class HsmEventDispatcherArduino::RunningTimerInfo
Derived from:
C++ Function HsmEventDispatcherArduino::create
Derived from:
C++ Function HsmEventDispatcherArduino::deleteSafe
Derived from:
C++ Function HsmEventDispatcherArduino::start
Derived from:
C++ Function HsmEventDispatcherArduino::emitEvent
Derived from:
C++ Function HsmEventDispatcherArduino::dispatchEvents
Derived from:
C++ Function HsmEventDispatcherArduino::notifyDispatcherAboutEvent
Derived from:
C++ Function HsmEventDispatcherArduino::startTimerImpl
Derived from:
C++ Function HsmEventDispatcherArduino::stopTimerImpl
Derived from:
C++ Function HsmEventDispatcherArduino::handleTimers
Derived from:
include/hsmcpp/HsmEventDispatcherBase.hpp
C++ Function HsmEventDispatcherBase::EnqueuedEventInfo::EnqueuedEventInfo
Derived from:
C++ Function HsmEventDispatcherBase::HsmEventDispatcherBase
Derived from:
C++ Function HsmEventDispatcherBase::handleDelete
Derived from:
C++ Class HsmEventDispatcherBase
Derived from:
C++ Class HsmEventDispatcherBase::TimerInfo
Derived from:
C++ Function HsmEventDispatcherBase::stop
Derived from:
C++ Class HsmEventDispatcherBase::EnqueuedEventInfo
Derived from:
C++ Function HsmEventDispatcherBase::registerEventHandler
Derived from:
C++ Function HsmEventDispatcherBase::unregisterEventHandler
Derived from:
C++ Function HsmEventDispatcherBase::emitEvent
Derived from:
C++ Function HsmEventDispatcherBase::enqueueEvent
Derived from:
C++ Function HsmEventDispatcherBase::enqueueAction
Derived from:
C++ Function HsmEventDispatcherBase::registerEnqueuedEventHandler
Derived from:
C++ Function HsmEventDispatcherBase::unregisterEnqueuedEventHandler
Derived from:
C++ Function HsmEventDispatcherBase::registerTimerHandler
Derived from:
C++ Function HsmEventDispatcherBase::unregisterTimerHandler
Derived from:
C++ Function HsmEventDispatcherBase::startTimer
Derived from:
C++ Function HsmEventDispatcherBase::~HsmEventDispatcherBase
Derived from:
C++ Function HsmEventDispatcherBase::deleteSafe
Derived from:
C++ Function HsmEventDispatcherBase::restartTimer
Derived from:
C++ Function HsmEventDispatcherBase::stopTimer
Derived from:
C++ Function HsmEventDispatcherBase::isTimerRunning
Derived from:
C++ Function HsmEventDispatcherBase::getNextHandlerID
Derived from:
C++ Function HsmEventDispatcherBase::unregisterAllEventHandlers
Derived from:
C++ Function HsmEventDispatcherBase::getEnqueuedEventHandlerFunc
Derived from:
C++ Function HsmEventDispatcherBase::getTimerHandlerFunc
Derived from:
C++ Function HsmEventDispatcherBase::notifyDispatcherAboutEvent
Derived from:
C++ Function HsmEventDispatcherBase::startTimerImpl
Derived from:
C++ Function HsmEventDispatcherBase::stopTimerImpl
Derived from:
C++ Function HsmEventDispatcherBase::handleTimerEvent
Derived from:
C++ Function HsmEventDispatcherBase::dispatchEnqueuedEvents
Derived from:
C++ Function HsmEventDispatcherBase::dispatchPendingActions
Derived from:
C++ Function HsmEventDispatcherBase::dispatchPendingEvents
Derived from:
C++ Function HsmEventDispatcherBase::dispatchPendingEventsImpl
Derived from:
include/hsmcpp/HsmEventDispatcherFreeRTOS.hpp
C++ Class HsmEventDispatcherFreeRTOS
Derived from:
C++ Function HsmEventDispatcherFreeRTOS::HsmEventDispatcherFreeRTOS
Derived from:
C++ Function HsmEventDispatcherFreeRTOS::~HsmEventDispatcherFreeRTOS
Derived from:
C++ Function HsmEventDispatcherFreeRTOS::deleteSafe
Derived from:
C++ Function HsmEventDispatcherFreeRTOS::create
Derived from:
C++ Function HsmEventDispatcherFreeRTOS::emitEvent
Derived from:
C++ Function HsmEventDispatcherFreeRTOS::start
Derived from:
C++ Function HsmEventDispatcherFreeRTOS::stop
Derived from:
C++ Function HsmEventDispatcherFreeRTOS::join
Derived from:
C++ Function HsmEventDispatcherFreeRTOS::startTimerImpl
Derived from:
C++ Function HsmEventDispatcherFreeRTOS::stopTimerImpl
Derived from:
C++ Function HsmEventDispatcherFreeRTOS::notifyDispatcherAboutEvent
Derived from:
C++ Function HsmEventDispatcherFreeRTOS::doDispatching
Derived from:
C++ Function HsmEventDispatcherFreeRTOS::onTimerEvent
Derived from:
include/hsmcpp/HsmEventDispatcherGLib.hpp
C++ Function HsmEventDispatcherGLib::HsmEventDispatcherGLib
Derived from:
C++ Function HsmEventDispatcherGLib::HsmEventDispatcherGLib
Derived from:
C++ Class HsmEventDispatcherGLib
Derived from:
C++ Function HsmEventDispatcherGLib::~HsmEventDispatcherGLib
Derived from:
C++ Function HsmEventDispatcherGLib::create
Derived from:
C++ Function HsmEventDispatcherGLib::create
Derived from:
C++ Function HsmEventDispatcherGLib::deleteSafe
Derived from:
C++ Function HsmEventDispatcherGLib::start
Derived from:
C++ Function HsmEventDispatcherGLib::stop
Derived from:
C++ Function HsmEventDispatcherGLib::emitEvent
Derived from:
C++ Function HsmEventDispatcherGLib::unregisterAllTimerHandlers
Derived from:
C++ Function HsmEventDispatcherGLib::startTimerImpl
Derived from:
C++ Function HsmEventDispatcherGLib::stopTimerImpl
Derived from:
C++ Function HsmEventDispatcherGLib::onTimerEvent
Derived from:
C++ Function HsmEventDispatcherGLib::onFreeTimerData
Derived from:
C++ Function HsmEventDispatcherGLib::notifyDispatcherAboutEvent
Derived from:
C++ Function HsmEventDispatcherGLib::onPipeDataAvailable
Derived from:
include/hsmcpp/HsmEventDispatcherGLibmm.hpp
C++ Function HsmEventDispatcherGLibmm::HsmEventDispatcherGLibmm
Derived from:
C++ Function HsmEventDispatcherGLibmm::HsmEventDispatcherGLibmm
Derived from:
C++ Function HsmEventDispatcherGLibmm::~HsmEventDispatcherGLibmm
Derived from:
C++ Class HsmEventDispatcherGLibmm
Derived from:
C++ Function HsmEventDispatcherGLibmm::create
Derived from:
C++ Function HsmEventDispatcherGLibmm::create
Derived from:
C++ Function HsmEventDispatcherGLibmm::deleteSafe
Derived from:
C++ Function HsmEventDispatcherGLibmm::emitEvent
Derived from:
C++ Function HsmEventDispatcherGLibmm::start
Derived from:
C++ Function HsmEventDispatcherGLibmm::stop
Derived from:
C++ Function HsmEventDispatcherGLibmm::unregisterAllTimerHandlers
Derived from:
C++ Function HsmEventDispatcherGLibmm::startTimerImpl
Derived from:
C++ Function HsmEventDispatcherGLibmm::stopTimerImpl
Derived from:
C++ Function HsmEventDispatcherGLibmm::notifyDispatcherAboutEvent
Derived from:
C++ Function HsmEventDispatcherGLibmm::onTimerEvent
Derived from:
include/hsmcpp/HsmEventDispatcherQt.hpp
C++ Class HsmEventDispatcherQt
Derived from:
C++ Function HsmEventDispatcherQt::HsmEventDispatcherQt
Derived from:
C++ Function HsmEventDispatcherQt::~HsmEventDispatcherQt
Derived from:
C++ Function HsmEventDispatcherQt::create
Derived from:
C++ Function HsmEventDispatcherQt::deleteSafe
Derived from:
C++ Function HsmEventDispatcherQt::start
Derived from:
C++ Function HsmEventDispatcherQt::stop
Derived from:
C++ Function HsmEventDispatcherQt::emitEvent
Derived from:
C++ Function HsmEventDispatcherQt::unregisterAllTimerHandlers
Derived from:
C++ Function HsmEventDispatcherQt::startTimerImpl
Derived from:
C++ Function HsmEventDispatcherQt::stopTimerImpl
Derived from:
C++ Function HsmEventDispatcherQt::notifyDispatcherAboutEvent
Derived from:
C++ Function HsmEventDispatcherQt::customEvent
Derived from:
include/hsmcpp/HsmEventDispatcherSTD.hpp
C++ Function HsmEventDispatcherSTD::HsmEventDispatcherSTD
Derived from:
C++ Function HsmEventDispatcherSTD::~HsmEventDispatcherSTD
Derived from:
C++ Class HsmEventDispatcherSTD
Derived from:
C++ Class HsmEventDispatcherSTD::RunningTimerInfo
Derived from:
C++ Function HsmEventDispatcherSTD::create
Derived from:
C++ Function HsmEventDispatcherSTD::deleteSafe
Derived from:
C++ Function HsmEventDispatcherSTD::emitEvent
Derived from:
C++ Function HsmEventDispatcherSTD::start
Derived from:
C++ Function HsmEventDispatcherSTD::stop
Derived from:
C++ Function HsmEventDispatcherSTD::join
Derived from:
C++ Function HsmEventDispatcherSTD::startTimerImpl
Derived from:
C++ Function HsmEventDispatcherSTD::stopTimerImpl
Derived from:
C++ Function HsmEventDispatcherSTD::notifyDispatcherAboutEvent
Derived from:
C++ Function HsmEventDispatcherSTD::doDispatching
Derived from:
C++ Function HsmEventDispatcherSTD::notifyTimersThread
Derived from:
C++ Function HsmEventDispatcherSTD::handleTimers
Derived from:
include/hsmcpp/HsmTypes.hpp
C++ Type TimerID_t
Derived from:
C++ Type EventID_t
Derived from:
C++ Type StateID_t
Derived from:
include/hsmcpp/IHsmEventDispatcher.hpp
C++ Class IHsmEventDispatcher
Derived from:
C++ Function IHsmEventDispatcher::~IHsmEventDispatcher
Derived from:
C++ Function IHsmEventDispatcher::start
Derived from:
C++ Function IHsmEventDispatcher::stop
Derived from:
C++ Function IHsmEventDispatcher::registerEventHandler
Derived from:
C++ Function IHsmEventDispatcher::unregisterEventHandler
Derived from:
C++ Function IHsmEventDispatcher::registerEnqueuedEventHandler
Derived from:
C++ Function IHsmEventDispatcher::unregisterEnqueuedEventHandler
Derived from:
C++ Function IHsmEventDispatcher::emitEvent
Derived from:
C++ Function IHsmEventDispatcher::enqueueEvent
Derived from:
C++ Function IHsmEventDispatcher::enqueueAction
Derived from:
C++ Function IHsmEventDispatcher::registerTimerHandler
Derived from:
C++ Function IHsmEventDispatcher::unregisterTimerHandler
Derived from:
C++ Function IHsmEventDispatcher::startTimer
Derived from:
C++ Function IHsmEventDispatcher::restartTimer
Derived from:
C++ Function IHsmEventDispatcher::stopTimer
Derived from:
C++ Function IHsmEventDispatcher::isTimerRunning
Derived from:
include/hsmcpp/hsm.hpp
C++ Function HierarchicalStateMachine::HierarchicalStateMachine
Derived from:
C++ Function HierarchicalStateMachine::~HierarchicalStateMachine
Derived from:
C++ Function HierarchicalStateMachine::setInitialState
Derived from:
C++ Function HierarchicalStateMachine::initialize
Derived from:
C++ Function HierarchicalStateMachine::dispatcher
Derived from:
C++ Function HierarchicalStateMachine::isInitialized
Derived from:
C++ Function HierarchicalStateMachine::release
Derived from:
C++ Function HierarchicalStateMachine::registerFailedTransitionCallback
Derived from:
C++ Function HierarchicalStateMachine::registerState
Derived from:
C++ Function HierarchicalStateMachine::registerFinalState
Derived from:
C++ Function HierarchicalStateMachine::registerHistory
Derived from:
C++ Function HierarchicalStateMachine::registerSubstate
Derived from:
C++ Function HierarchicalStateMachine::registerSubstateEntryPoint
Derived from:
C++ Function HierarchicalStateMachine::registerTimer
Derived from:
C++ Function HierarchicalStateMachine::registerTransition
Derived from:
C++ Function HierarchicalStateMachine::registerSelfTransition
Derived from:
C++ Function HierarchicalStateMachine::getLastActiveState
Derived from:
C++ Function HierarchicalStateMachine::getActiveStates
Derived from:
C++ Function HierarchicalStateMachine::isStateActive
Derived from:
C++ Function HierarchicalStateMachine::transitionWithArgsArray
Derived from:
C++ Function HierarchicalStateMachine::transitionExWithArgsArray
Derived from:
C++ Function HierarchicalStateMachine::transitionInterruptSafe
Derived from:
C++ Function HierarchicalStateMachine::startTimer
Derived from:
C++ Function HierarchicalStateMachine::restartTimer
Derived from:
C++ Function HierarchicalStateMachine::stopTimer
Derived from:
C++ Function HierarchicalStateMachine::isTimerRunning
Derived from:
C++ Function HierarchicalStateMachine::enableHsmDebugging
Derived from:
C++ Function HierarchicalStateMachine::enableHsmDebugging
Derived from:
C++ Function HierarchicalStateMachine::disableHsmDebugging
Derived from:
C++ Function HierarchicalStateMachine::getStateName
Derived from:
C++ Function HierarchicalStateMachine::getEventName
Derived from:
C++ Function HierarchicalStateMachine::isTransitionPossibleImpl
Derived from:
C++ Function HierarchicalStateMachine::registerStateActionImpl
Derived from:
C++ Function HierarchicalStateMachine::registerFailedTransitionCallback
Derived from:
C++ Function HierarchicalStateMachine::registerState
Derived from:
C++ Function HierarchicalStateMachine::registerFinalState
Derived from:
C++ Function HierarchicalStateMachine::registerHistory
Derived from:
C++ Function HierarchicalStateMachine::registerSubstateEntryPoint
Derived from:
C++ Function HierarchicalStateMachine::registerStateAction
Derived from:
C++ Function HierarchicalStateMachine::registerTransition
Derived from:
C++ Function HierarchicalStateMachine::registerSelfTransition
Derived from:
C++ Function HierarchicalStateMachine::transition
Derived from:
C++ Function HierarchicalStateMachine::transitionEx
Derived from:
C++ Function HierarchicalStateMachine::transitionSync
Derived from:
C++ Function HierarchicalStateMachine::transitionWithQueueClear
Derived from:
C++ Function HierarchicalStateMachine::isTransitionPossible
Derived from:
C++ Function HierarchicalStateMachine::makeVariantList
Derived from:
include/hsmcpp/os/arduino/AtomicFlag.hpp
C++ Function AtomicFlag::test_and_set
Derived from:
C++ Function AtomicFlag::AtomicFlag
Derived from:
C++ Function AtomicFlag::clear
Derived from:
C++ Class AtomicFlag
Derived from:
C++ Function AtomicFlag::~AtomicFlag
Derived from:
C++ Function AtomicFlag::test
Derived from:
C++ Function AtomicFlag::AtomicFlag
Derived from:
C++ Function AtomicFlag::operator=
Derived from:
C++ Function AtomicFlag::operator=
Derived from:
C++ Function AtomicFlag::lock
Derived from:
C++ Function AtomicFlag::wait
Derived from:
C++ Function AtomicFlag::notify
Derived from:
include/hsmcpp/os/arduino/ConditionVariable.hpp
C++ Function ConditionVariable::~ConditionVariable
Derived from:
C++ Function ConditionVariable::ConditionVariable
Derived from:
C++ Function ConditionVariable::wait
Derived from:
C++ Class ConditionVariable
Derived from:
C++ Function ConditionVariable::ConditionVariable
Derived from:
C++ Function ConditionVariable::operator=
Derived from:
C++ Function ConditionVariable::notify
Derived from:
C++ Function ConditionVariable::wait_for
Derived from:
include/hsmcpp/os/arduino/Mutex.hpp
C++ Function Mutex::Mutex
Derived from:
C++ Class Mutex
Derived from:
C++ Function Mutex::~Mutex
Derived from:
C++ Function Mutex::lock
Derived from:
C++ Function Mutex::unlock
Derived from:
C++ Function Mutex::Mutex
Derived from:
C++ Function Mutex::operator=
Derived from:
include/hsmcpp/os/common/CriticalSection.hpp
C++ Function CriticalSection::CriticalSection
Justifications:
  • Common platform abstraction primitive.
C++ Class CriticalSection
Justifications:
  • Common platform abstraction primitive.
C++ Function CriticalSection::~CriticalSection
Justifications:
  • Common platform abstraction primitive.
C++ Function CriticalSection::CriticalSection
Justifications:
  • Common platform abstraction primitive.
C++ Function CriticalSection::operator=
Justifications:
  • Common platform abstraction primitive.
C++ Function CriticalSection::CriticalSection
Justifications:
  • Common platform abstraction primitive.
C++ Function CriticalSection::operator=
Justifications:
  • Common platform abstraction primitive.
include/hsmcpp/os/common/InterruptsFreeSection.hpp
C++ Function InterruptsFreeSection::InterruptsFreeSection
Justifications:
  • Common platform abstraction primitive.
C++ Class InterruptsFreeSection
Justifications:
  • Common platform abstraction primitive.
C++ Function InterruptsFreeSection::~InterruptsFreeSection
Justifications:
  • Common platform abstraction primitive.
C++ Function InterruptsFreeSection::InterruptsFreeSection
Justifications:
  • Common platform abstraction primitive.
C++ Function InterruptsFreeSection::operator=
Justifications:
  • Common platform abstraction primitive.
C++ Function InterruptsFreeSection::InterruptsFreeSection
Justifications:
  • Common platform abstraction primitive.
C++ Function InterruptsFreeSection::operator=
Justifications:
  • Common platform abstraction primitive.
include/hsmcpp/os/common/LockGuard.hpp
C++ Function LockGuard::LockGuard
Justifications:
  • Common platform abstraction primitive.
C++ Class LockGuard
Justifications:
  • Common platform abstraction primitive.
C++ Function LockGuard::~LockGuard
Justifications:
  • Common platform abstraction primitive.
C++ Function LockGuard::LockGuard
Justifications:
  • Common platform abstraction primitive.
C++ Function LockGuard::operator=
Justifications:
  • Common platform abstraction primitive.
C++ Function LockGuard::LockGuard
Justifications:
  • Common platform abstraction primitive.
C++ Function LockGuard::operator=
Justifications:
  • Common platform abstraction primitive.
include/hsmcpp/os/common/UniqueLock.hpp
C++ Function UniqueLock::UniqueLock
Justifications:
  • Common platform abstraction primitive.
C++ Class UniqueLock
Justifications:
  • Common platform abstraction primitive.
C++ Function UniqueLock::~UniqueLock
Justifications:
  • Common platform abstraction primitive.
C++ Function UniqueLock::UniqueLock
Justifications:
  • Common platform abstraction primitive.
C++ Function UniqueLock::UniqueLock
Justifications:
  • Common platform abstraction primitive.
C++ Function UniqueLock::owns_lock
Justifications:
  • Common platform abstraction primitive.
C++ Function UniqueLock::operator=
Justifications:
  • Common platform abstraction primitive.
C++ Function UniqueLock::operator bool
Justifications:
  • Common platform abstraction primitive.
C++ Function UniqueLock::mutex
Justifications:
  • Common platform abstraction primitive.
C++ Function UniqueLock::UniqueLock
Justifications:
  • Common platform abstraction primitive.
C++ Function UniqueLock::operator=
Justifications:
  • Common platform abstraction primitive.
C++ Function UniqueLock::lock
Justifications:
  • Common platform abstraction primitive.
C++ Function UniqueLock::unlock
Justifications:
  • Common platform abstraction primitive.
C++ Function UniqueLock::release
Justifications:
  • Common platform abstraction primitive.
include/hsmcpp/os/freertos/AtomicFlag.hpp
C++ Function AtomicFlag::AtomicFlag
Derived from:
C++ Function AtomicFlag::~AtomicFlag
Derived from:
C++ Function AtomicFlag::AtomicFlag
Derived from:
C++ Function AtomicFlag::operator=
Derived from:
C++ Function AtomicFlag::operator=
Derived from:
C++ Function AtomicFlag::test_and_set
Derived from:
C++ Function AtomicFlag::clear
Derived from:
C++ Function AtomicFlag::test
Derived from:
C++ Function AtomicFlag::lock
Derived from:
C++ Function AtomicFlag::notify
Derived from:
C++ Function AtomicFlag::wait
Derived from:
include/hsmcpp/os/freertos/ConditionVariable.hpp
C++ Function ConditionVariable::ConditionVariable
Derived from:
C++ Function ConditionVariable::~ConditionVariable
Derived from:
C++ Function ConditionVariable::wait
Derived from:
C++ Function ConditionVariable::wait_for
Derived from:
C++ Function ConditionVariable::notify
Derived from:
C++ Function ConditionVariable::ConditionVariable
Derived from:
C++ Function ConditionVariable::operator=
Derived from:
include/hsmcpp/os/freertos/FreeRTOSConfig.h
C++ Function FreeRTOSConfig.h::vConfigureTimerForRunTimeStats
Justifications:
  • FreeRTOS callback
C++ Function FreeRTOSConfig.h::vAssertCalled
Justifications:
  • FreeRTOS callback
C++ Function FreeRTOSConfig.h::vLoggingPrintf
Justifications:
  • FreeRTOS callback
include/hsmcpp/os/freertos/InterruptsFreeSection.hpp
C++ Function InterruptsFreeSection::InterruptsFreeSection
Justifications:
  • Common platform abstraction primitive.
C++ Function InterruptsFreeSection::InterruptsFreeSection
Justifications:
  • Common platform abstraction primitive.
C++ Function InterruptsFreeSection::operator=
Justifications:
  • Common platform abstraction primitive.
C++ Function InterruptsFreeSection::InterruptsFreeSection
Justifications:
  • Common platform abstraction primitive.
C++ Function InterruptsFreeSection::operator=
Justifications:
  • Common platform abstraction primitive.
include/hsmcpp/os/freertos/Mutex.hpp
C++ Function Mutex::Mutex
Derived from:
C++ Function Mutex::~Mutex
Derived from:
C++ Function Mutex::lock
Derived from:
C++ Function Mutex::unlock
Derived from:
C++ Function Mutex::Mutex
Derived from:
C++ Function Mutex::operator=
Derived from:
include/hsmcpp/os/posix/InterruptsFreeSection.hpp
C++ Function InterruptsFreeSection::InterruptsFreeSection
Justifications:
  • Common platform abstraction primitive.
C++ Function InterruptsFreeSection::~InterruptsFreeSection
Justifications:
  • Common platform abstraction primitive.
C++ Function InterruptsFreeSection::InterruptsFreeSection
Justifications:
  • Common platform abstraction primitive.
C++ Function InterruptsFreeSection::operator=
Justifications:
  • Common platform abstraction primitive.
include/hsmcpp/os/stl/AtomicFlag.hpp
C++ Function AtomicFlag::wait
Derived from:
include/hsmcpp/os/stl/ConditionVariable.hpp
C++ Function ConditionVariable::ConditionVariable
Derived from:
C++ Function ConditionVariable::~ConditionVariable
Derived from:
C++ Function ConditionVariable::notify
Derived from:
C++ Function ConditionVariable::operator=
Derived from:
C++ Function ConditionVariable::wait_for
Derived from:
include/hsmcpp/os/stl/Mutex.hpp
C++ Function Mutex::Mutex
Derived from:
C++ Function Mutex::lock
Derived from:
C++ Function Mutex::unlock
Derived from:
C++ Function Mutex::nativeHandle
Derived from:
C++ Function Mutex::Mutex
Derived from:
C++ Function Mutex::operator=
Derived from:
include/hsmcpp/variant.hpp
C++ Function Variant::make
Derived from:
C++ Function Variant::~Variant
Derived from:
C++ Function Variant::Variant
Derived from:
C++ Function Variant::Variant
Derived from:
C++ Class Variant
Derived from:
C++ Function Variant::Variant
Derived from:
C++ Function Variant::Variant
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::operator=
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::operator=
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::operator bool
Derived from:
C++ Function Variant::operator!=
Derived from:
C++ Function Variant::DEF_MAKE
Derived from:
C++ Function Variant::operator>
Derived from:
C++ Function Variant::operator>=
Derived from:
C++ Function Variant::operator<
Derived from:
C++ Function Variant::make
Derived from:
C++ Function Variant::operator<=
Derived from:
C++ Function Variant::Variant
Derived from:
C++ Function Variant::operator==
Derived from:
C++ Function Variant::clear
Derived from:
C++ Function Variant::isEmpty
Derived from:
C++ Function Variant::isString
Derived from:
C++ Function Variant::isByteArray
Derived from:
C++ Function Variant::DEF_CONSTRUCTOR
Derived from:
C++ Function Variant::DEF_CONSTRUCTOR
Derived from:
C++ Function Variant::isVector
Derived from:
C++ Function Variant::isList
Derived from:
C++ Function Variant::isMap
Derived from:
C++ Function Variant::isPair
Derived from:
C++ Function Variant::isCustomType
Derived from:
C++ Function Variant::isNumeric
Derived from:
C++ Function Variant::isSignedNumeric
Derived from:
C++ Function Variant::isUnsignedNumeric
Derived from:
C++ Function Variant::isBool
Derived from:
C++ Function Variant::toString
Derived from:
C++ Function Variant::toInt64
Derived from:
C++ Function Variant::toUInt64
Derived from:
C++ Function Variant::toDouble
Derived from:
C++ Function Variant::toBool
Derived from:
C++ Function Variant::toByteArray
Derived from:
C++ Function Variant::make
Derived from:
C++ Function Variant::make
Derived from:
C++ Function Variant::make
Derived from:
C++ Function Variant::make
Derived from:
C++ Function Variant::make
Derived from:
C++ Function Variant::makeCustom
Derived from:
C++ Function Variant::Variant
Derived from:
C++ Function Variant::getByteArray
Derived from:
C++ Function Variant::Variant
Derived from:
C++ Function Variant::getVector
Derived from:
C++ Function Variant::Variant
Derived from:
C++ Function Variant::getList
Derived from:
C++ Function Variant::getMap
Derived from:
C++ Function Variant::Variant
Derived from:
C++ Function Variant::Variant
Derived from:
C++ Function Variant::getPair
Derived from:
C++ Function Variant::getType
Derived from:
C++ Function Variant::isSameObject
Derived from:
C++ Function Variant::getCustomType
Derived from:
C++ Function Variant::freeMemory
Derived from:
C++ Function Variant::toVector
Derived from:
C++ Function Variant::toList
Derived from:
C++ Function Variant::toMap
Derived from:
C++ Function Variant::toPair
Derived from:
C++ Function Variant::Variant
Derived from:
C++ Function Variant::assign
Derived from:
C++ Function Variant::value
Derived from:
C++ Function Variant::createMemoryAllocator
Derived from:
src/HsmImpl.hpp
C++ Function HierarchicalStateMachine::Impl::Impl
Derived from:
C++ Function HierarchicalStateMachine::Impl::~Impl
Derived from:
C++ Function HierarchicalStateMachine::Impl::resetParent
Derived from:
C++ Function HierarchicalStateMachine::Impl::setInitialState
Derived from:
C++ Function HierarchicalStateMachine::Impl::initialize
Derived from:
C++ Function HierarchicalStateMachine::Impl::dispatcher
Derived from:
C++ Function HierarchicalStateMachine::Impl::isInitialized
Derived from:
C++ Function HierarchicalStateMachine::Impl::release
Derived from:
C++ Function HierarchicalStateMachine::Impl::registerFailedTransitionCallback
Derived from:
C++ Function HierarchicalStateMachine::Impl::registerState
Derived from:
C++ Function HierarchicalStateMachine::Impl::registerFinalState
Derived from:
C++ Function HierarchicalStateMachine::Impl::registerHistory
Derived from:
C++ Function HierarchicalStateMachine::Impl::registerSubstate
Derived from:
C++ Function HierarchicalStateMachine::Impl::registerSubstateEntryPoint
Derived from:
C++ Function HierarchicalStateMachine::Impl::registerTimer
Derived from:
C++ Function HierarchicalStateMachine::Impl::registerSubstate
Derived from:
C++ Function HierarchicalStateMachine::Impl::registerStateAction
Derived from:
C++ Function HierarchicalStateMachine::Impl::registerStateAction
Derived from:
C++ Function HierarchicalStateMachine::Impl::registerTransition
Derived from:
C++ Function HierarchicalStateMachine::Impl::registerSelfTransition
Derived from:
C++ Function HierarchicalStateMachine::Impl::getLastActiveState
Derived from:
C++ Function HierarchicalStateMachine::Impl::getActiveStates
Derived from:
C++ Function HierarchicalStateMachine::Impl::isStateActive
Derived from:
C++ Function HierarchicalStateMachine::Impl::transitionWithArgsArray
Derived from:
C++ Function HierarchicalStateMachine::Impl::transitionWithArgsArray
Derived from:
C++ Function HierarchicalStateMachine::Impl::transitionExWithArgsArray
Derived from:
C++ Function HierarchicalStateMachine::Impl::transitionInterruptSafe
Derived from:
C++ Function HierarchicalStateMachine::Impl::isTransitionPossible
Derived from:
C++ Function HierarchicalStateMachine::Impl::startTimer
Derived from:
C++ Function HierarchicalStateMachine::Impl::restartTimer
Derived from:
C++ Function HierarchicalStateMachine::Impl::stopTimer
Derived from:
C++ Function HierarchicalStateMachine::Impl::isTimerRunning
Derived from:
C++ Function HierarchicalStateMachine::Impl::createEventHandler
Derived from:
C++ Function HierarchicalStateMachine::Impl::createTimerHandler
Derived from:
C++ Function HierarchicalStateMachine::Impl::createEnqueuedEventHandler
Derived from:
C++ Function HierarchicalStateMachine::Impl::handleStartup
Derived from:
C++ Function HierarchicalStateMachine::Impl::transitionSimple
Derived from:
C++ Function HierarchicalStateMachine::Impl::dispatchEvents
Derived from:
C++ Function HierarchicalStateMachine::Impl::dispatchTimerEvent
Derived from:
C++ Function HierarchicalStateMachine::Impl::onStateExiting
Derived from:
C++ Function HierarchicalStateMachine::Impl::onStateEntering
Derived from:
C++ Function HierarchicalStateMachine::Impl::onStateChanged
Derived from:
C++ Function HierarchicalStateMachine::Impl::executeStateAction
Derived from:
C++ Function HierarchicalStateMachine::Impl::getParentState
Justifications:
  • Internal state-tree query helper (no observable behavior).
C++ Function HierarchicalStateMachine::Impl::isSubstateOf
Justifications:
  • Internal state-tree query helper (no observable behavior).
C++ Function HierarchicalStateMachine::Impl::isFinalState
Justifications:
  • Internal state-tree query helper (no observable behavior).
C++ Function HierarchicalStateMachine::Impl::hasActiveChildren
Justifications:
  • Internal state-tree query helper (no observable behavior).
C++ Function HierarchicalStateMachine::Impl::getHistoryParent
Justifications:
  • Internal history-tree query helper (no observable behavior).
C++ Function HierarchicalStateMachine::Impl::updateHistory
Derived from:
C++ Function HierarchicalStateMachine::Impl::checkTransitionPossibility
Derived from:
C++ Function HierarchicalStateMachine::Impl::findTransitionTarget
Derived from:
C++ Function HierarchicalStateMachine::Impl::doTransition
Derived from:
C++ Function HierarchicalStateMachine::Impl::processExternalTransition
Derived from:
C++ Function HierarchicalStateMachine::Impl::determineTargetState
Justifications:
  • internal method. realizes transition target selection.
C++ Function HierarchicalStateMachine::Impl::executeSelfTransitions
Derived from:
C++ Function HierarchicalStateMachine::Impl::executeExitTransition
Derived from:
C++ Function HierarchicalStateMachine::Impl::processHistoryTransition
Derived from:
C++ Function HierarchicalStateMachine::Impl::transitionToPreviousActiveStates
Derived from:
C++ Function HierarchicalStateMachine::Impl::transitionToDefaultHistoryState
Derived from:
C++ Function HierarchicalStateMachine::Impl::processFinalStateTransition
Derived from:
C++ Function HierarchicalStateMachine::Impl::handleSingleTransition
Derived from:
C++ Function HierarchicalStateMachine::Impl::clearPendingEvents
Derived from:
C++ Function HierarchicalStateMachine::Impl::hasSubstates
Justifications:
  • Internal state-tree query helper (no observable behavior).
C++ Function HierarchicalStateMachine::Impl::hasEntryPoint
Justifications:
  • Internal state-tree query helper (no observable behavior).
C++ Function HierarchicalStateMachine::Impl::getEntryPoints
Derived from:
C++ Function HierarchicalStateMachine::Impl::replaceActiveState
Derived from:
C++ Function HierarchicalStateMachine::Impl::addActiveState
Derived from:
C++ Function HierarchicalStateMachine::Impl::enableHsmDebugging
Derived from:
C++ Function HierarchicalStateMachine::Impl::enableHsmDebugging
Derived from:
C++ Function HierarchicalStateMachine::Impl::disableHsmDebugging
Derived from:
C++ Function HierarchicalStateMachine::Impl::logHsmAction
Derived from:
C++ Function HierarchicalStateMachine::Impl::dumpActiveStates
Justifications:
  • Debug-trace-only diagnostic dump (compiled out in release).
C++ Function HierarchicalStateMachine::Impl::getStateName
Derived from:
C++ Function HierarchicalStateMachine::Impl::getEventName
Derived from:
src/HsmImplTypes.hpp
C++ Function StateCallbacks::StateCallbacks
Justifications:
  • internal data structure
C++ Function StateCallbacks::StateCallbacks
Justifications:
  • internal data structure
C++ Function StateCallbacks::operator=
Justifications:
  • internal data structure
C++ Class StateCallbacks
Justifications:
  • internal data structure
C++ Function TransitionInfo::TransitionInfo
Justifications:
  • internal data structure
C++ Function StateCallbacks::StateCallbacks
Justifications:
  • internal data structure
C++ Function StateCallbacks::~StateCallbacks
Justifications:
  • internal data structure
C++ Function StateCallbacks::StateCallbacks
Justifications:
  • internal data structure
C++ Function StateCallbacks::operator=
Justifications:
  • internal data structure
C++ Function TransitionInfo::TransitionInfo
Justifications:
  • internal data structure
C++ Class StateEntryPoint
Justifications:
  • internal data structure
C++ Class TransitionInfo
Justifications:
  • internal data structure
C++ Function HistoryInfo::HistoryInfo
Justifications:
  • internal data structure
C++ Function TransitionInfo::TransitionInfo
Justifications:
  • internal data structure
C++ Function HistoryInfo::HistoryInfo
Justifications:
  • internal data structure
C++ Function HistoryInfo::operator=
Justifications:
  • internal data structure
C++ Class PendingEventInfo
Justifications:
  • internal data structure
C++ Function PendingEventInfo::PendingEventInfo
Justifications:
  • internal data structure
C++ Function PendingEventInfo::PendingEventInfo
Justifications:
  • internal data structure
C++ Function PendingEventInfo::PendingEventInfo
Justifications:
  • internal data structure
C++ Function PendingEventInfo::~PendingEventInfo
Justifications:
  • internal data structure
C++ Function PendingEventInfo::operator=
Justifications:
  • internal data structure
C++ Function PendingEventInfo::operator=
Justifications:
  • internal data structure
C++ Class HistoryInfo
Justifications:
  • internal data structure
C++ Function HistoryInfo::HistoryInfo
Justifications:
  • internal data structure
C++ Function HistoryInfo::~HistoryInfo
Justifications:
  • internal data structure
C++ Function HistoryInfo::HistoryInfo
Justifications:
  • internal data structure
C++ Function HistoryInfo::operator=
Justifications:
  • internal data structure
C++ Function PendingEventInfo::initLock
Justifications:
  • internal data structure
C++ Class StateActionInfo
Justifications:
  • internal data structure
C++ Function PendingEventInfo::releaseLock
Justifications:
  • internal data structure
C++ Function PendingEventInfo::isSync
Justifications:
  • internal data structure
C++ Function PendingEventInfo::wait
Justifications:
  • internal data structure
C++ Function PendingEventInfo::unlock
Justifications:
  • internal data structure
C++ Function PendingEventInfo::getArgs
Justifications:
  • internal data structure

Verification and Validation

Unit Tests

Unknown
GoogleTest Test ABCHsm.DISABLED_substate_entrypoints_registration_order
Source: <unknown location>
Dispatchers: GLib, GLibmm, Qt, STD
Issues:
  • missing up reference
GoogleTest Test ABCHsm.DISABLED_substate_entrypoints_all_unfiltered
Source: <unknown location>
Dispatchers: GLib, GLibmm, Qt, STD
Issues:
  • missing up reference
GoogleTest Test ABCHsm.DISABLED_substate_error_no_entrypoint
Source: <unknown location>
Dispatchers: GLib, GLibmm, Qt, STD
Issues:
  • missing up reference
GoogleTest Test ABCHsm.DISABLED_parallel_transition_05
Source: <unknown location>
Dispatchers: GLib, GLibmm, Qt, STD
Issues:
  • missing up reference
GoogleTest Test ABCHsm.DISABLED_parallel_transition_07
Source: <unknown location>
Dispatchers: GLib, GLibmm, Qt, STD
Issues:
  • missing up reference
GoogleTest Test ABCHsm.parallel_transition_mult2one_01
Source: <unknown location>
Dispatchers: GLib, GLibmm, Qt, STD
Issues:
  • missing up reference
GoogleTest Test ABCHsm.DISABLED_parallel_transition_mult2one_idempotent_entry
Source: <unknown location>
Dispatchers: GLib, GLibmm, Qt, STD
Issues:
  • missing up reference
GoogleTest Test ABCHsm.DISABLED_parallel_transition_mult2one_preserve_substates
Source: <unknown location>
Dispatchers: GLib, GLibmm, Qt, STD
Issues:
  • missing up reference
GoogleTest Test ABCHsm.DISABLED_parallel_selftransition_priority_02
Source: <unknown location>
Dispatchers: GLib, GLibmm, Qt, STD
Issues:
  • missing up reference
GoogleTest Test ABCHsm.DISABLED_history_parallel_deep
Source: <unknown location>
Dispatchers: GLib, GLibmm, Qt, STD
Issues:
  • missing up reference
GoogleTest Test ABCHsm.public_dispatcher_accessor
Source: <unknown location>
Dispatchers: GLib, GLibmm, Qt, STD
Issues:
  • missing up reference
GoogleTest Test ABCHsm.public_isinitialized_accessor
Source: <unknown location>
Dispatchers: GLib, GLibmm, Qt, STD
Issues:
  • missing up reference
GoogleTest Test ABCHsm.public_isstateactive_accessor
Source: <unknown location>
Dispatchers: GLib, GLibmm, Qt, STD
Issues:
  • missing up reference
GoogleTest Test dispatchers.base_start_stop_timer_impl_bodies
Source: <unknown location>
Dispatchers: GLib, GLibmm, Qt, STD
Issues:
  • missing up reference
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/01_states.cpp
GoogleTest Test TrafficLightHsm.initial_state
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.register_states
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.register_state_without_action
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.register_same_state_twice
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.err_register_without_handler
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.state_args_test
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/02_substates.cpp
GoogleTest Test ABCHsm.substate_entrypoint
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.substate_entrypoints_multiple_behavioral
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.substate_entrypoints_multiple_various
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.substate_entrypoints_behavioral_with_conditions
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.substate_entrypoints_conditional
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.substate_entrypoints_block_conditional_transition
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.substate_entrypoints_substate
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.substate_exit_single
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.substate_exit_multiple_layers
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.substate_safe_registration
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.substate_parent_as_initial
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/03_transitions.cpp
GoogleTest Test TrafficLightHsm.simple_transition
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.transition_check
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.transition_with_args
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.transition_failed_notification
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.transition_non_existent
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.transition_cancel_on_exit
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.transition_cancel_on_enter
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.transition_self_internal
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.transition_self_internal_multiple
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.transition_self_external
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.transition_self_external_deep
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.transition_entrypoint_raicecondition
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.transition_conditional_simple_true
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.transition_conditional_simple_false
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test TrafficLightHsm.transition_conditional_multiple
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.transition_sync_deadlock
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.public_transition_with_args_array
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/04_multithreaded.cpp
GoogleTest Test ABCHsm.multithreaded_entrypoint_cancelation
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.multithreaded_transition_from_interrupt
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/05_callbacks.cpp
GoogleTest Test ABCHsm.callbacks_class_pointers
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.callbacks_lambdas
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.callbacks_entering_substates
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.callbacks_exiting_substates
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.callbacks_initial_state
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/06_dispatchers.cpp
GoogleTest Test dispatchers.release_sync
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test dispatchers.stresstest_create_destroy_hsm_later
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test dispatchers.stresstest_create_destroy_dispatcher
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test dispatchers.destroy_without_starting
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test dispatchers.stop
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test dispatchers.create_hsm_from_callback
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test dispatchers.instance_ownership
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/07_parallel.cpp
GoogleTest Test ABCHsm.parallel_transition_01
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.parallel_transition_02
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.parallel_transition_03
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.parallel_transition_04
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.parallel_transition_outer
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.parallel_transition_06
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.parallel_transition_08
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.parallel_transition_09
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.parallel_transition_10_internal_priority
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.parallel_transition_canceled_01
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.parallel_transition_canceled_02
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.parallel_transition_mult2one_02
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test parallel/ParamFixtureParallel1.parallel_substate_final/0
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test parallel/ParamFixtureParallel2.parallel_substate_final_multiple/0
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.parallel_callbacks
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.parallel_selftransition_priority_01
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.parallel_selftransition_multiple
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/08_history.cpp
GoogleTest Test ABCHsm.history_simple
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.history_default_shallow
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.history_default_deep
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.history_no_default
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.history_deep
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.history_shallow
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.history_multiple
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.history_callbacks
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.history_parallel_shallow
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/09_timers.cpp
GoogleTest Test ABCHsm.timers_onentry
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_onexit
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_multiple_actions
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_singleshot
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_repeating
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_repeating_delay
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_stop
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_restart
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_delete_running
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_start_from_code
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_start_higher_priority
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_stop_from_code
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_restart_from_code
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_is_running
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_singleshot_is_running
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.timers_restart_update_branch
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/10_state_actions.cpp
GoogleTest Test state_actions/ParamFixtureStateActions1.state_actions_simple/0
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.state_actions_args
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/11_finalstate.cpp
GoogleTest Test ABCHsm.finalstate_simple_exitpoint
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.finalstate_forward_event
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test finalstate/ParamFixtureFinalState1.finalstate_multiple_final/0
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test finalstate/ParamFixtureFinalState1.finalstate_multiple_exitpoints/0
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.finalstate_blocked_final
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.finalstate_blocked_exitpoint
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.finalstate_transition_args
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.finalstate_no_transition
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.finalstate_toplevel
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test finalstate/ParamFixtureFinalState2.finalstate_exitpoint_multiple_path/0
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test finalstate/ParamFixtureFinalState3.finalstate_both_types/0
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/12_debugging.cpp
GoogleTest Test ABCHsm.debug_enable_default_path
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.debug_enable_explicit_path
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.debug_enable_env_path
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.debug_record_preserves_args_and_metadata
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test ABCHsm.public_enable_disable_toggle
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/13_public_api.cpp
GoogleTest Test HsmPublicApi.public_base_name_mapping
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/20_variant.cpp
GoogleTest Test variant/FixtureVariantAllTypes.constructors/int8_t
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant/FixtureVariantAllTypes.make/int8_t
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant/FixtureVariantAllTypes.copy/int8_t
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.copy_constructor
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant/FixtureVariantAllTypes.move/int8_t
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.move_ownership
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant/FixtureVariantAllTypes.assign/int8_t
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant/FixtureVariantAllTypes.compare/int8_t
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.compare_different_types
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.variadic_arguments
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.empty
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.copy_unknown
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.compare_self
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant/FixtureVariantTypeConversion.convert/toInt64
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant/FixtureVariantTypeConversion.convert_invalid_string/toInt64
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant/FixtureVariantTypeCheck.isXXX/isNumeric
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.bytearray
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.vector
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.list
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.map
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.pair_conversion
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.pair_constructors
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.customtype_copy
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.customtype_memory_management
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.customtype_move
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test variant.variant_converter_fallthrough_defaults
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/21_uniquelock.cpp
GoogleTest Test uniquelock.uniquelock_move_construct
Dispatchers: GLib, GLibmm, Qt, STD
Justifications:
  • platform abstraction primitive
GoogleTest Test uniquelock.uniquelock_move_assign_dest_owns
Dispatchers: GLib, GLibmm, Qt, STD
Justifications:
  • platform abstraction primitive
GoogleTest Test uniquelock.uniquelock_release
Dispatchers: GLib, GLibmm, Qt, STD
Justifications:
  • platform abstraction primitive
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/22_hsmimpltypes.cpp
GoogleTest Test HsmImplTypes.statecallbacks_move_construct
Dispatchers: GLib, GLibmm, Qt, STD
Justifications:
  • internal HsmImpl type move helper
GoogleTest Test HsmImplTypes.historyinfo_move_construct
Dispatchers: GLib, GLibmm, Qt, STD
Justifications:
  • internal HsmImpl type move helper
GoogleTest Test HsmImplTypes.pendingeventinfo_releaselock
Dispatchers: GLib, GLibmm, Qt, STD
Justifications:
  • internal HsmImpl type lock helper
GoogleTest Test HsmImplTypes.sync_wait_path_public_transitionsync
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
GoogleTest Test HsmImplTypes.sync_wait_path_direct
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:
/home/runner/work/hsmcpp/hsmcpp/tests/testcases/99_regression_tests.cpp
GoogleTest Test ABCHsm.issue_pr_8__invalid_std_timers
Dispatchers: GLib, GLibmm, Qt, STD
Derived from:

LOBSTER Version: 1.0.6