Можно создать представление архитектуры программно. Этот раздел ограничивает два примера для создания представлений программно от createArchitectureViews.m
скрипта MATLAB.
Импортируйте пакет, где запросы так, вы не должны всегда использовать systemcomposer.query
.
import systemcomposer.query.*;
Откройте файл проекта Simulink.
scKeylessEntrySystem
Загрузите модель в качестве примера в Simulink.
zcModel = systemcomposer.loadModel('KeylessEntryArchitecture');
Создайте отфильтрованное представление, которое выбирает все аппаратные компоненты в модели архитектуры и группирует их использующий ReviewStatus
свойство.
Создайте запрос, чтобы выбрать все аппаратные компоненты.
hwCompQuery = HasStereotype(IsStereotypeDerivedFrom("AutoProfile.HardwareComponent")) hwCompQuery = HasStereotype with properties: AllowedParentConstraints: {[1×1 meta.class]} SubConstraint: [1×1 systemcomposer.query.IsStereotypeDerivedFrom] SkipValidation: 0
Используйте запрос, чтобы создать представление.
zcModel.createViewArchitecture("Hardware Component Review Status", ... hwCompQuery, ... % The query to use for the selection "AutoProfile.BaseComponent.ReviewStatus", ... % The stereotype property to qualify by "IncludeReferenceModels", true, ... % Include components in referenced models "Color", "purple"); zcModel.openViews;
Этот пример показывает горячий, чтобы создать представление свободной формы, которое вручную вытягивает компоненты от системы Локатора FOB и затем группирует их использующий существующие и новые компоненты представления в поставщиках.
Создайте архитектуру представления.
fobSupplierView = zcModel.createViewArchitecture("FOB Locator System Supplier Breakdown", ... "Color", "lightblue");
Создайте новый компонент представления для поставщика Д и добавьте модуль Локатора FOB в него.
supplierD = fobSupplierView.createViewComponent("Supplier D", fobSupplierView); supplierD.Architecture.addComponent("KeylessEntryArchitecture/FOB Locator System/FOB Locator Module", fobSupplierView);
Создайте новый компонент представления для поставщика А.
supplierA = fobSupplierView.createViewComponent("Supplier A", fobSupplierView);
Добавьте каждый из получателей FOB, чтобы просмотреть компонент.
FOBLocatorSystem = zcModel.lookup("Path", "KeylessEntryArchitecture/FOB Locator System"); receiverCompPaths = zcModel.find( ... contains(systemcomposer.query.Property("Name"), "Receiver"), ... % Find all the components which contain the name "Receiver" FOBLocatorSystem.Architecture); for i = 1:numel(receiverCompPaths) % Add each of the components to supplier A supplierA.Architecture.addComponent(receiverCompPaths{i}, fobSupplierView); end
Откройте редактор представлений.
zcModel.openViews;
Закройте модель.
zcModel.close('Force');
В этом примере показано, как найти компоненты в системной модели компоновщика использующими запросами.
Откройте скрипт MATLAB.
open('scExampleModelFind')
Рассмотрите 6 запросов в качестве примера.