exponenta event banner

Создание распределений и управление ими

В этом примере показано, как создавать назначения системных 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);

См. также

| | | |

Связанные темы