Skip to content

Dictionary Construction

Justine West edited this page Dec 19, 2023 · 27 revisions

Input

  1. An analysis data structure

Output

  1. Dictionary data structure consisting of dictionary contents

  2. If dictionary construction fails, an error and no output

Procedure

  1. Build the base identifier to component instance map: From the analysis, retrieve the componentInstanceMap. Traverse the componentInstance map and for each ComponentInstance

    1. Get the baseId and component and add to mapping from baseId to component

  2. Resolve identifiers and construct dictionary content maps (for commands, telemetry channels, events, parameters, records, and collections): Traverse baseId to component map and for each entry

    1. Build the resolved identifier to command map:

      1. Get commandMap from the component

      2. Retrieve the opcode from the command and add it to the baseId to create the resolvedId

      3. Add the resolvedId to mapping from resolvedId to command

    2. Build the resolved identifier to telemetry channel map:

      1. Get tlmChannelMap from the component

      2. Retrieve the identifier from the telemetry channel and add it to the baseId to create the resolvedId

      3. Add the resolvedId to mapping from resolvedId to tlmChannel

    3. Build the resolved identifier to telemetry event map:

      1. Get eventMap from the component

      2. Retrieve the identifier from the event and add it to the baseId to create the resolvedId

      3. Add the resolvedId to mapping from resolvedId to event

    4. Build the resolved identifier to parameter map:

      1. Get paramMap from the component

      2. Retrieve the identifier from the parameter and add it to the baseId to create the resolvedId

      3. Add the resolvedId to mapping from resolvedId to param

    5. Build the resolved identifier to record map:

      1. Get recordMap from the component

      2. Retrieve the identifier from the parameter and add it to the baseId to create the resolvedId

      3. Add the resolvedId to mapping from resolvedId to record

    6. Build the resolved identifier to collection map:

      1. Get collectionMap from the component

      2. Retrieve the identifier from the parameter and add it to the baseId to create the resolvedId

      3. Add the resolvedId to mapping from resolvedId to collection

Clone this wiki locally