Reference Data Dictionaries
Referenced dictionaries in System Composer™ can be useful when:
Multiple models need to share some, but not all, interface definitions.
Multiple models need to communicate with one another.
A data dictionary can reference one or more other data dictionaries. The interface definitions in the referenced dictionaries are visible in the parent data dictionary and can be used by a model for which the parent data dictionary is linked.
For interfaces terminology, see Define Port Interfaces Between Components.
To create a data dictionary from interfaces in a model dictionary, see Manage Interfaces with Data Dictionaries.
Add Referenced Data Dictionaries
To add a data dictionary reference, open the Model Explorer by clicking , or by navigating to Modeling > Model Explorer.
On the right side of the Model Explorer app, click Add, then select the file name of the data dictionary to add as a referenced data dictionary. To remove a data dictionary reference, highlight the referenced data dictionary, then click Remove.
The Interface
Editor shows all interfaces accessible to a model, grouped based on their
data dictionary files. In this example, myDictionary.sldd
is the data
dictionary linked to the model, and otherDictionary.sldd
is a
referenced data dictionary.
The model can use any of the interfaces listed. You can modify the contents of referenced data dictionaries in the Interface Editor.
Note
Referenced data dictionaries can reference other data dictionaries. A model with a linked data dictionary has access to all interface definitions in referenced data dictionaries, including indirectly referenced data dictionaries.
Use Referenced Data Dictionaries for Projects with Multiple Models
A project may contain multiple models, and it may be useful for the models to share interface definitions that are relevant to data flows and other communications between models. For more information, see Organize System Composer Files in Projects.
At the same time, each model may have interface definitions that are relevant only to its internal operations. For example, different components of a system may be represented by different models, with different teams or different suppliers working on each model, with a system integrator working on the "top" model that incorporates the various components. Referenced data dictionaries provide a way for models to share some but not all interface definitions.
In such a multiple-team project, set up a "shared artifacts" data dictionary to store interface definitions that will be shared by different teams, then set up a data dictionary for each model within the project to store its own interface definitions. Each data dictionary can then add the shared data dictionary as a referenced data dictionary. Alternatively, if a model does not need its own interface definitions, you can link the shared data dictionary to the model.
To generate a dependency graph between models and data dictionaries, use the Dependency Analyzer.
The above diagram depicts a project with three models. The model
mSystem.slx
represents a system integration model, and
mSupplierA.slx
and mSuppierB.slx
represent
supplier models. The data dictionary dShared.sldd
contains interface
definitions shared by all the models. The system integration model is linked to the data
dictionary dSystem.sldd
, and the Supplier A model is linked to the
data dictionary dSupplierA.sldd
; each data dictionary contains
interface definitions relevant to the corresponding model's internal workflow. The data
dictionaries dSystem.sldd
and dSupplierA.sldd
both
reference the shared data dictionary dShared.sldd
. The
mSuppierB.slx
model, by contrast, is linked directly to the
shared data dictionary dShared.sldd
. In this way, all three models
have access to the interface definitions in dShared.sldd
.
The following diagrams show the system integration model mSystem
, along with the Interface Editor. Interface definitions contained in the referenced data dictionary dShared
are associated with the ports used to communicate between the models mSupplierA
and mSupplierB
and the rest of the system integration model.
The following diagrams show the supplier model mSupplierA
, along with the Interface Editor. Interface definitions contained in the referenced data dictionary dShared
are associated with the ports used to communicate externally, while interface definitions in the private data dictionary dSupplierA
are associated with ports whose use is internal to the mSupplierA
model.
See Also
addReference
| removeReference
| moveInterface