What Is a Data Dictionary?

A data dictionary is a persistent repository of data that are relevant to your model. You can also use the base workspace to store design data that are used by your model during simulation. However, a data dictionary provides more capabilities.

The dictionary stores design data, which define parameters and signals, and include data that define the behavior of the model. The dictionary does not store simulation data, which are inputs or outputs of model simulation that enter and exit Inport and Outport blocks.

Dictionary Capabilities

Dictionary CapabilityBenefit
Dictionary as data sourceEntries in a dictionary are persistent. You do not need to reload data during development.
Explicit data-model linkageYou can define a data dictionary as the data source for a model. During model simulation and code generation, the model retrieves data from the data dictionary.
Version handling

You can:

  • Link a model to a data dictionary that includes model data saved in a previous version of Simulink®.

  • Continue using the data dictionary of a model saved in a previous version of Simulink with versions of the model saved in later versions of Simulink.

  • Export (save) a data dictionary for use in models created with a previous version of Simulink.

Change trackingWhen you modify an entry, its status is updated in the dictionary and stored as metadata that can be tracked. The dictionary also tracks who made the changes and when. You can also view or revert changes.
Entry comparisonCompare values of entries in two dictionaries.
Data grouping into reference dictionariesPartition and organize data items into reference dictionaries.
Model-data dependencyDiscover how entries are used in the model.
Additional options to remedy a missing variableWhen a workspace variable that a model needs is not available, you have additional options for remediation. For example, if you renamed the variable in a dictionary, you can create a new variable by copying the old one.
Store and partition reference dataStore and partition data that are relevant to a model, such as equipment specifications, but not used by the model during simulation.
Unified interface for defining dataUse the Model Explorer to work with design data in a dictionary.
Incremental update in memoryImproved performance and scalability with minimal memory footprint.
Requirements traceability linkingNavigate from a data dictionary entry to a location in a requirements document.

Sections of a Dictionary

A Simulink data dictionary consists of four sections:

  • Design Data: Contains the variables and data types that define parameters, signals, and design data that determine the behavior of the model. Design data created or imported in a dictionary are stored in this section.

    This section can store only certain classes and data types. See Valid Design Data Classes for more information.

  • Configurations: Contains configuration sets, which are objects of the Simulink.ConfigSet class, that determine how the model is configured during simulation. These objects control attributes such as sample time and simulation start time.

    When you store configuration sets in a data dictionary, you use configuration references to access the configuration sets. Models that are linked to a dictionary resolve configuration references to configuration sets in the dictionary. For more information about configuration references, see About Configuration References.

    This section can also store variant configuration objects, which belong to the Simulink.VariantConfigurationData class. These objects store information about variant configurations, active and default variant settings, and definitions of the control variable associated with each configuration.

    Note

    If you load a configuration set from the data dictionary that contains a component that is not available on your system, the parameters in the missing component are reset to their default values.

  • Embedded Coder Dictionary: Contains code generation definitions for use with Embedded Coder®. To inspect and modify code definitions stored in a data dictionary, use the Embedded Coder Dictionary not the Model Explorer.

  • Other Data: Contains information that is relevant to your model but not used by the model during simulation. Use this section to store reference information such as data that describe physical equipment and processes that are represented by your model.

    This section can store almost any built-in or custom class or data type. See Invalid Other Data Classes for more information.

Dictionary Usage for Models Created with Different Versions of Simulink

Simulink provides version handling for data dictionaries. When these events occur, Simulink synchronizes data in a dictionary for use with a model regardless of the Simulink version used to create the model:

  • You link a model to a data dictionary that was saved in a previous version of Simulink–-for example, you link a model that you develop in R2018b with a dictionary saved in R2018a.

  • You open a model, which has a local data dictionary, in a version of Simulink that is older than the current version–-for example, you developed a model that uses a local data dictionary in R2018a and you open that model in R2018b to continue development.

You can view the Simulink version in which a data dictionary is saved in the Details pane of the MATLAB® editor. You also have the option to export (save) a data dictionary for use with models created with a different version of Simulink.

To export a data dictionary:

  1. In the Current Folder pane of the MATLAB Command Window, navigate to the location of the data dictionary.

  2. Double-click the name of the dictionary.

  3. In the Model Explorer, right-click the name of the data dictionary. If you have made changes to the dictionary, in the context menu, select Save Changes.

  4. Right-click the name of the data dictionary. In the context menu, select Export to Previous Version.

  5. In the Export Data Dictionary to Previous Version dialog box, specify the previous version of Simulink in which you want to save the model. Specify the folder into which you want Simulink to place the new version of the dictionary. The folder that you specify cannot contain dictionaries that are part of the existing dictionary hierarchy. Then, click OK.

  6. Verify that the new version of the data dictionary exists in the folder that you specified.

Manage and Edit Entries in a Dictionary

To create, modify, and view the entries in a data dictionary, use the Model Explorer. For more information, see Create, Edit, and Manage Workspace Variables and View and Revert Changes to Dictionary Data.

To manage entries in a dictionary programmatically, see Store Data in Dictionary Programmatically.

Dictionary Referencing

You can reference one or more dictionaries in a parent dictionary. The data in the referenced dictionaries are visible in the parent dictionary. Use this technique to meaningfully partition data, especially for model reference hierarchies. For more information, see Partition Dictionary Data Using Referenced Dictionaries and Partition Data for Model Reference Hierarchy Using Data Dictionaries.

Import and Export File Formats

File FormatImport to DictionaryExport from Dictionary
MAT-file
MATLAB script

Allow Access to Base Workspace

For information about the Enable access to base workspace property, see Continue to Use Shared Data in the Base Workspace.

Related Topics