В этом примере показано, как создавать назначения системных Composer™ и управлять ими. Используйте назначения для установления направленного отношения между элементами архитектуры (компонентами, портами и соединителями) в одной модели и элементами архитектуры в другой модели. Одним из распространенных примеров использования распределений является установление связей между компонентами программного обеспечения и компонентами аппаратного обеспечения для указания стратегии развертывания.
В этом примере используется проект системы мониторинга давления в шинах (СКДШ). Чтобы открыть проект, используйте следующую команду:
scExampleTirePressureMonitorSystem
Набор соотнесений можно создать с помощью редактора соотнесений. Набор распределения - это набор взаимосвязей распределения между двумя моделями: исходной моделью и целевой моделью. Набор распределения сохраняется как .mldatx файл.
В этом примере: TPMS_FunctionalArchitecture.slx является исходной моделью и TPMS_LogicalArchitecture.slx является целевой моделью.
Чтобы создать набор распределения для этих моделей, используйте эту команду.
allocSet = systemcomposer.allocation.createAllocationSet(... 'Functional2Logical', ...% Name of the allocation set 'TPMS_FunctionalArchitecture', ... % Source model 'TPMS_LogicalArchitecture' ... % Target model );
Для просмотра набора распределения откройте редактор распределения с помощью следующей команды.
systemcomposer.allocation.editor;
Редактор распределения состоит из трех частей: панели инструментов, панели браузера и матрицы распределения.
Используйте панель инструментов для создания наборов назначений и управления ими. Например, можно использовать кнопку Новый набор распределения (New Allocation Set), чтобы создать новый набор распределения между двумя моделями.
Используйте панель «Обозреватель наборов распределения» для просмотра и открытия существующих наборов распределения.
Используйте матрицу распределения, чтобы указать распределения между элементами исходной модели в первом столбце и элементами целевой модели в первой строке. Можно создать соотнесения программным путем или двойным щелчком по ячейке в матрице.

В этом примере показано, как программно создавать распределения между двумя моделями в проекте TPMS.
Получите дескрипторы функций отчетности в модели функциональной архитектуры.
functionalArch = systemcomposer.loadModel('TPMS_FunctionalArchitecture'); reportLevels = functionalArch.lookup('Path', 'TPMS_FunctionalArchitecture/Report Tire Pressure Levels'); reportLow = functionalArch.lookup('Path', 'TPMS_FunctionalArchitecture/Report Low Tire Pressure');
Получите дескриптор компонента системы отчетов TPMS в модели логической архитектуры.
logicalArch = systemcomposer.loadModel('TPMS_LogicalArchitecture'); reportingSystem = logicalArch.lookup('Path', 'TPMS_LogicalArchitecture/TPMS Reporting System');
Создайте соотнесения в созданном сценарии по умолчанию.\
defaultScenario = allocSet.getScenario('Scenario 1');
defaultScenario.allocate(reportLevels, reportingSystem);
defaultScenario.allocate(reportLow, reportingSystem);Сохраните набор распределения.
allocSet.save;
Дополнительно можно удалить распределение между сообщением о низком давлении в шинах и системой отчетов.
defaultScenario.deallocate(reportLow, reportingSystem);
allocate | editor | getScenario | systemcomposer.allocation.AllocationScenario | systemcomposer.allocation.AllocationSet