Словари-ссылки могут быть полезны, когда нескольким моделям необходимо совместно использовать некоторые, но не все определения интерфейсов. и разрешить связь между моделями. Словарь данных может ссылаться на один или несколько других словарей данных. Определения интерфейсов в словарях-ссылках видны в родительском словаре и могут использоваться моделью, которая связана с родительским словарем. Чтобы добавить ссылку на словарь, откройте Model Explorer, нажав или выбрав Model Explorer на вкладке в Design разделе вкладки Modeling.
В правой части окна Model Explorer щелкните Add, затем выберите имя файла словаря данных для добавления в качестве словаря-ссылки. Чтобы удалить ссылку на словарь, выделите ссылку на словарь, а затем нажмите Remove.
Редактор интерфейсов показывает все интерфейсы, доступные для модели, сгруппированные на основе их файлов словаря данных. В этом примере myDictionary.sldd
- словарь данных, связанный с моделью, и otherDictionary.sldd
- словарь, на который ссылается.
Модель может использовать любой из перечисленных интерфейсов. Однако вы не можете редактировать содержимое ссылочных словарей из модели.
Обратите внимание, что словари-ссылки могут ссылаться на другие словари данных. Модель, которая ссылается на словарь, имеет доступ ко всем определениям интерфейсов в словарях-ссылках, включая словари с косвенными ссылками.
Проект может содержать несколько моделей, и для моделей может быть полезно делиться определениями интерфейсов, которые имеют отношение к потокам данных и другим коммуникациям между моделями. В то же время каждая модель может иметь определения интерфейсов, которые релевантны только ее внутренним операциям. Например, различные компоненты системы могут быть представлены различными моделями, с различными командами или различными поставщиками, работающими над каждой моделью, с системным интегратором, работающим над «верхней» моделью, которая включает различные компоненты. Словари данных, на которые ссылаются, обеспечивают для моделей способ совместного использования некоторых, но не всех определений интерфейса.
В таком проекте с несколькими командами настройте словарь данных «общие программные продукты», чтобы хранить определения интерфейсов, которые будут использоваться различными командами, затем настройте словарь данных для каждой модели в проекте, чтобы хранить свои собственные определения интерфейсов. Затем каждый словарь данных может добавить разделяемые данные в качестве словаря данных-ссылок. Кроме того, если модели не нужны собственные определения интерфейсов, эта модель может связываться непосредственно со словарем разделяемых данных.
Вышеописанная схема изображает проект с тремя моделями. Модель mSystem.slx
представляет модель интегрирования, и mSupplierA.slx
и mSuppierB.slx
представлять модели поставщиков. Словарь данных dShared.sldd
содержит определения интерфейсов, общие для всех моделей. Модель интегрирования системы связана со словарем данных dSystem.sldd
, и модель поставщика A связана со словарем данных dSupplierA.sldd
; каждый словарь данных содержит определения интерфейсов, относящиеся к внутреннему рабочему процессу соответствующей модели. Словари данных dSystem.sldd
и dSupplierA.sldd
оба ссылаются на общий словарь dShared.sldd
. Модель поставщика B, напротив, связана непосредственно с общим словарем dShared.sldd
. Таким образом, все три модели имеют доступ к определениям интерфейса в dShared.sldd
.
Следующие схемы показывают модель системного интегрирования mSystem
, наряду с редактором интерфейсов. Определения интерфейсов, содержащиеся в указанном словаре dShared
связаны с портами, используемыми для связи между моделями mSupplierA
и mSupplierB
и остальная часть модели интегрирования.
Следующие схемы показывают модель поставщика mSupplierA
, наряду с редактором интерфейсов. Определения интерфейсов, содержащиеся в указанном словаре dShared
связаны с портами, используемыми для внешнего обмена данными, в то время как определения интерфейсов в частном словаре dSupplierA
связаны с портами, использование которых является внутренним по отношению к mSupplierA
модель.
addReference
| removeReference