Documentation

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.

Dictionary Capabilities

Dictionary CapabilityBenefit
Dictionary as data sourceAll entries 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 design data from the data dictionary.
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.
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 footprint on memory.
Requirements traceability linkingNavigate from a data dictionary entry to a location in a requirements document.

The following table shows a comparison of capabilities in the base workspace and a data dictionary.

CapabilityBase WorkspaceData Dictionary
Data-model linkageimplicit
Unified interface for defining data
Model-data dependency
Data entry persistence 
Data grouping 
Change tracking for data entries 
Change tracking for configuration sets 
Compare and merge data entries 
Store and partition reference data 
Memory management 
Requirements linking 

Sections of a Dictionary

A Simulink® data dictionary is made up of three parts called sections.

  1. 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.

  2. 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.

  3. 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.

Import and Export File Formats

File FormatImport to DictionaryExport from Dictionary
MAT-file
MATLAB® script

Related Examples

More About

Was this topic helpful?