Skip to content

Dictionary Construction

Justine West edited this page Jan 3, 2024 · 29 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 component instance map. Traverse the component instance map and for each component instance

    1. Get the base ID and component and add to mapping from base ID to component

  2. Resolve identifiers and construct maps of resolved identifiers to commands, telemetry channels, events, parameters, records, and collections: Traverse base ID to component map and for each entry

    1. Build the resolved identifier to command map:

      1. Get command map from the component and for each command

        1. Retrieve the opcode from the command and add it to the base ID to create the resolved ID

        2. Add the resolved ID to mapping from resolved ID to command

    2. Build the resolved identifier to telemetry channel map:

      1. Get telemetry channel map from the component and for each telemetry channel

        1. Retrieve the identifier from the telemetry channel and add it to the base ID to create the resolved ID

        2. Add the resolved ID to mapping from resolved ID to telemetry channel

    3. Build the resolved identifier to telemetry event map:

      1. Get event map from the component and for each event

        1. Retrieve the identifier from the event and add it to the base ID to create the resolved ID

        2. Add the resolved ID to mapping from resolved ID to event

    4. Build the resolved identifier to parameter map:

      1. Get parameter map from the component and for each parameter

        1. Retrieve the identifier from the parameter and add it to the base ID to create the resolved ID

        2. Add the resolved ID to mapping from resolved ID to parameter

    5. Build the resolved identifier to record map:

      1. Get record map from the component and for each record

        1. Retrieve the identifier from the record and add it to the base ID to create the resolved ID

        2. Add the resolved ID to mapping from resolved ID to record

    6. Build the resolved identifier to collection map:

      1. Get collection map from the component and for each collection

        1. Retrieve the identifier from the collection and add it to the base ID to create the resolved ID

        2. Add the resolved ID to mapping from resolved ID to collection

Clone this wiki locally