cfs-tools / cfs-basecamp

Provides a framework and tools for developing, downloading, and integrating core Flight System (cFS) applications into an operational system.
Other
25 stars 3 forks source link

Create strategy for inter-app dependencies #12

Closed dmccomas closed 5 months ago

dmccomas commented 1 year ago

Apps and libraries can have dependencies. Basecamp needs strategies for specifying and automating workflows. Here are some current examples that care not currently supported.

  1. Symbolic dependencies: Typically occurs between an app and a library. E.g., PL_MGR and PL_SIM depend on PL_SIM_LIB. This requires the app/lib package specs to define the relationships and the integration tool to manage/enforce the relationships.
  2. Topic ID dependencies: Basecamp uses JSON initialization files to define app topic IDs. KIT_SCH and KIT_TO use a strategy that allows the topicid tool to resolve dependencies. A new situation arose between MQTT_GW and KIT_TO where KIT_TO can route packets to MQTT_GW. This relationship was created to take advantage of the existing KIT_TO message filter table and subscription. The solution may be an app redesign. MQTT_GW and KIT_TO both serve as an external interface app. The filter table design could be a library that could serve multiple apps.