Why Use Reference Dictionaries?

Separate Design Data for Collaboration

One way you can separate design data for different parts of a model is to adopt a naming convention, because the approach simplifies searching for and grouping related design data.

For example, consider an automotive model that contains three components: the engine, the transmission, and the chassis. Each component relies on a set of design data. You can classify variables representing velocity as belonging to the component transmission by naming the variables Velocity1_Transmission, Velocity2_Transmission, Velocity3_Transmission, and so on.

Despite following a naming convention, all your design data remain in a single location. This location is either the base workspace or one or more MAT-files. This approach can result long variable names. More importantly, to collaborate on a design, each component team requires access to the entire data set, even if a specific component uses only a part of the stored design data.

By partitioning data into reference dictionaries, you can define a scope for a dictionary entry. Then, you can reference several dictionaries from the parent dictionary. For example, you can create a parent dictionary named Auto with nested subdictionaries added as references:

Auto
	Engine
	Transmission
	Chassis

Each reference dictionary can contain design data specific to a particular component. Further, the parent dictionary can contain shared design data that are used by one or more model components.

You can assign the reference dictionaries to specific component teams. Rather than working on a small portion of a single large data set, teams can focus on their specific components.

Create Design Data Variants

You can create several reference dictionaries that contain copies of the same data set but with different attributes such as Value, Min, Max, or Data Type. Then you can simulate your model, switching reference dictionaries to switch between data variants.

For example, consider a top-level dictionary Auto that references a subdictionary DriveTrain. If you want to simulate several variants of DriveTrain, depending on the model of the vehicle, you can create variants of DriveTrain, naming them DriveTrainVariant1, DriveTrainVariant2, DriveTrainVariant3, and so on. Then set one of these variants as the reference dictionary of Auto and simulate your model to observe the different results.

Was this topic helpful?