cubesatlab / cubedos

A flight software framework in SPARK/Ada

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Need to Make a Decision about Name resolution

Eric-Edlund opened this issue · comments

The docs discuss the idea of assigning modules string names which resolve at runtime to module IDs instead of just giving them IDs. I believe that #43 addressed all the concerns this idea aims to solve and that we can safely remove it from the documentation.

In the current implementation, there are two ways to send a message to a module.

  1. Use the module's ID which is specified in name_resolver by a named constant.
  2. Use the module's Mail_Target which is specified in the generated API file.

In both cases, neither the sender or receiver are directly aware of their module ID number. The module name (the name of the constant) is used in the name_resolver and provides API stability. It is required that for any CubedOS application that uses the Time_Server module, the entry Time_Server : constant Module_ID_Type := ? appears in name_resolver.ads. If that isn't present, the generated API files won't compile.