Design · Variable Data Structure

Aug 21, 2023 | Tech Software

System Variables - Statically Configured

  • They allow external sources to
    • create variables that link to system internal data
    • read internal system data via created variables
    • write to internal system data via created variables
    • compare two variables
  • Characteristics
    • the variables to system internal data mapping is known at compile time, so they have to be statically configured and linked by fixed rules

Concurrent Variables - Dynamically Configured

  • They allow external sources to
    • create variables that are independent of system internal data
    • record System Parameter values in the created variables
    • do math and logic operations (in a concurrent program) using created variables and system internal data (via created System Variables)
    • assign values of the variables value, before or after parameter operations, to System Variables
  • Characteristics
    • these variables do not have fixed mapping to system internal data, so they can be dynamically created
    • the concurrent program can create them in the system, the system owns them
    • the concurrent program operates and updates them, the system does not
  • Caveat
    • if not running a concurrent program, then, the parameters themselves have to support math and logic operations
    • available tools supporting math and logic operations in the form of scripts include:
      • ChaiScript, Lua, PyBind11, MuParser, AngleScript, etc.