Skip to content

Architecture

High-Level Architecture

LoopCheck intentionally separates GUI, simulation core, and evaluation to keep tests reproducible and maintainable.

Modules and Responsibilities

GUI Layer

  • File: sim_worker.py
  • Responsibilities: user interaction, signal display, scenario start, live interaction

Simulation Layer

  • Files: sim_process.py, sim_helper.py
  • Responsibilities: time-step processing, signal data flow, history generation

Runner Layer

  • Files: xprt_runner.py, xprt_serial_runner.py
  • Responsibilities: connection to local runtime and serial execution

Scenario and Assertion Layer

  • Files: scenario_builder.py, assertion_evaluator.py, scenario_report_generator.py
  • Responsibilities: scenario definition, result validation, report output

Data Flow

  1. GUI creates runtime configuration
  2. Simulation process handles inputs and model execution
  3. Measurements and status are sent back to the GUI
  4. Assertions are evaluated offline or during execution
  5. Results are persisted in reports

Extension Points

  • New scenario blocks in the Scenario Builder
  • Additional assertion types in the evaluator
  • Alternative runners for new target systems
  • Additional report export formats