-
Notifications
You must be signed in to change notification settings - Fork 32
Dictionary Construction
-
Dictionary data structure consisting of dictionary contents
-
If dictionary construction fails, an error and no output
-
Populate used symbols: Traverse component instance map and for each component
-
For all command, event, telemetry channel, parameter, record, and container maps:
-
Get all used symbols for all entries in the map
-
Check to see if a valid analysis is returned, if not then raise an error
-
If the analysis is valid, return the analysis' used symbol set
-
-
Flatten list of sets into a single set consisting of used symbols
-
For each entry in the used symbol, create 3 subsets consisting of only array symbols, enumeration symbols, and struct symbols
-
-
Resolve identifiers and construct maps of resolved identifiers to commands, telemetry channels, events, parameters, records, and collections: Traverse component instance map and for each dictionary element in the component (ie: command map, telemetry channel map, event map, parameter map, record map, collection map):
-
Build the resolved identifier to dictionary element map:
-
Get map from the component and for each element in the map
-
Retrieve the identifier from the element and add it to the base ID of the component instance to create the resolved ID
-
Add the resolved ID to mapping from resolved ID to dictionary element
-
Return a ResolvedComponentInstance intermediate data structure consisting of resolved ID maps for commands, telemetry channels, events, parameters, records, and collections
-
-
-
Merge list of ResolvedComponentInstance maps into a single map
-
Traverse list of ResolvedComponentInstance data structure and merge each resolved map type (ie: command map, telemetry channel map, event map, parameter map, record map, collection map) into one
-
Return Dictionary data structure consisting of all resolved command, telemetry channel, event, parameter, record, and collection maps for all component instances in the topology
-