Профиль содержит набор стереотипов элементов модели с пользовательскими свойствами. Стереотип может быть применим к компонентам, портам, соединениям, интерфейсам и архитектурам, или он может быть применим только к определенному типу элемента, например к компонентам. Если к элементу модели применен стереотип, можно задать значения свойств как часть его архитектурного определения. В дополнение к управлению свойствами, относящимися к спецификации системы в рамках архитектурной модели, стереотипы и связанные с ними свойства также облегчают анализ архитектурной модели.

Каждый профиль содержит набор стереотипов, а каждый стереотип содержит набор свойств.
Целью этого примера является вычисление общей стоимости системы с учетом стоимости ее составных частей. Профиль примера ограничен этой целью.
Загрузите профиль, чтобы сделать стереотипы доступными для элементов модели.
Запустите программу System Composer. Войти systemcomposer в командной строке MATLAB.
На вкладке Моделирование (Modeling) выберите Импорт (Import), а затем в раскрывающемся списке выберите Импорт (Import).
![]()
Перейдите к папке примеров. <matlabroot>\toolbox\systemcomposer\examples.
Выбрать simpleProfile.
На панели инструментов нажмите «Импорт» и выберите «Редактировать» для открытия редактора профилей.

В профиле соблюдайте эти стереотипы.
| Стереотип | Приложение | Свойства |
|---|---|---|
sysGeneral | компоненты, порты, разъемы |
|
| ||
sysComponent | компоненты |
|
| ||
sysConnector | соединители |
|
| ||
|
Импорт профиля делает стереотипы доступными для соответствующих элементов.
sysGeneral является общим стереотипом, применимым ко всем типам элементов, который позволяет добавлять общие свойства, такие как Note, которые участники проекта могут использовать для отслеживания любых проблем с элементом.
sysComponent применяется только к компонентам и включает такие свойства, как вес и стоимость, которые вносят вклад в общие характеристики веса и стоимости роботизированной системы.
sysConnector стереотип относится к соединителям и включает свойства цены и веса, определяемые на метр длины (при условии, что физический соединитель подобен проводу). Эти свойства помогают вычислить общий вес и стоимость конструкции в данном конкретном примере.
sysPort стереотип относится к портам и не содержит свойств.
Примечание
Можно добавить значок стереотипа ко всем стереотипам на уровне компонентов. Вот ваши варианты:
![]()
Добавление пользовательских свойств к элементу модели путем применения стереотипа из загруженного профиля. В этой процедуре используется модель ex_RobotArch.
open_system('ex_RobotArch')На вкладке Моделирование (Modeling) выберите Импорт (Import), а затем в раскрывающемся списке выберите Импорт (Import).
![]()
Выбрать simpleProfile.
Откройте окно Sensors компонент.
На вкладке Моделирование выберите Применить стереотипы.
В диалоговом окне «Применить стереотипы» и в списке «Применить стереотипы» выберитеAll elements. В списке «Область» выберите This layer.
В списке доступных стереотипов выберите simpleProfile.sysGeneral.

Нажмите кнопку Применить (Apply) и закройте окно для выхода из диалогового окна.
Выберите GPS компонент. Щелкните правой кнопкой мыши и выберите «Применить стереотип». Выберите simpleProfile.sysComponent стереотипа.
Примечание
sysComponent используется для управления физическими свойствами и стоимостью.
Повторить для GyroData и DataProcessing компоненты.
Перейдите в верхнюю часть модели. Применить sysComponent стереотипа к Sensors и Trajectory Planning компоненты и модель архитектуры верхнего уровня. Щелкните правой кнопкой мыши каждый компонент или помещение на верхнем уровне и выберите «Применить стереотип» для обеспечения simpleProfile.sysComponent выбран.
Применить sysConnector стереотипа применяется ко всем соединителям в Sensors слой, Trajectory Planning слой и верхний слой модели. Нажмите и удерживайте клавишу Shift, чтобы выбрать несколько соединителей. Щелкните правой кнопкой мыши на выделенном фрагменте, выберите «Применить стереотип» и выберите sysConnector стереотипа.

Задайте значения свойств, чтобы включить анализ затрат. Следуйте этому примеру для GPS модуль.
В Sensors выберите компонент, GPS компонент.
Откройте инспектор свойств. Щелкните раскрывающийся список в разделе «Проектирование» панели инструментов и выберите «Инспектор свойств».
Разверните окно sysComponent стереотипа для просмотра свойств.
Набор unitPrice кому 5 и нажмите Enter.
Выберите GPSData разъем порта. Проверьте, что length имеет значение 0.05 и unitPrice кому 0.1.

Заполните модель, используя значения в этой таблице. Если свойство отсутствует в таблице, его можно оставить пустым, так как оно не влияет на анализ. Прикрепите инспектор свойств к редактору, чтобы сделать его постоянно видимым во время этой операции.
| Слой | Элемент | Собственность | Стоимость |
|---|---|---|---|
| Верхний слой | Encoder соединитель | длина | 0.5 |
| unitPrice | 0.1 | ||
SensorData соединитель | длина | 0.6 | |
| unitPrice | 0.2 | ||
MotionCommand соединитель | длина | 0.5 | |
| unitPrice | 0.2 | ||
Sensors компонент | unitPrice | 5 | |
Trajectory Planning компонент | unitPrice | 500 | |
Motion компонент | unitPrice | 750 | |
| Уровень датчиков | GyroData компонент | unitPrice | 50 |
DataProcessing компонент | unitPrice | 500 | |
GPS компонент | unitPrice | 100 | |
GPSData соединитель | длина | 0.05 | |
| unitPrice | 0.1 | ||
MotionData соединитель | длина | 0.05 | |
| unitPrice | 0.1 | ||
RawData соединитель | длина | 0.05 | |
| unitPrice | 0.1 |
Свойства уже заданы в ex_RobotArch_props.slx. Откройте модель для выполнения анализа.
open_system('ex_RobotArch_props')Анализ общей стоимости для всех компонентов модели робота.
На вкладке Моделирование (Modeling) и в разделе Виды (Views) выберите Анализ (Analysis) Модель (Model), а затем в раскрывающемся списке выберите Анализ (Analysis) Модель (Model).
Добавьте функцию анализа. В поле Функция анализа введите имя функции. ex_RobotArch_analysis без расширения и нажмите
кнопку. Создается и сохраняется файл функции MATLAB с именем ex_RobotArch_analysis.m.

Функция анализа включает в себя конструкции, которые получают свойства из элементов модели, заданные как шаблон. Измените этот шаблон, чтобы добавить стоимость отдельных элементов для получения общей стоимости родительской архитектуры. Эта функция вычисляет затраты для одного элемента модели как сумму собственных затрат и затрат для всех его дочерних компонентов.
function ex_RobotArch_analysis(instance,varargin) if instance.isComponent() if instance.hasValue("sysComponent.unitPrice") sysComponent_unitPrice = instance.getValue("sysComponent.unitPrice"); for child = instance.Components if child.hasValue("sysComponent.unitPrice") comp_price = child.getValue("sysComponent.unitPrice"); sysComponent_unitPrice = sysComponent_unitPrice + comp_price; end end for child = instance.Connectors if child.hasValue("sysConnector.unitPrice") unitPrice = child.getValue("sysConnector.unitPrice"); length = child.getValue("sysConnector.length"); sysComponent_unitPrice = unitPrice*length + sysComponent_unitPrice; end end instance.setValue("sysComponent.unitPrice",sysComponent_unitPrice) end end
Вернитесь к экрану «Instantiate Architecture Model» и нажмите кнопку «Instantiate». В окне «Просмотр анализа» отображаются свойства каждого элемента модели. Значения по умолчанию для начала анализа берутся из значений свойств, введенных при привязке стереотипа к модели и редактировании их значений.
В разделе «Анализ» выберите BottomUp в качестве метода итерации и щелкните Анализ (Analyze).
Стоимость каждого элемента добавляется снизу вверх для определения стоимости системы. Результат записывается в экземпляр анализа и отображается в средстве просмотра анализа.

applyProfile | applyStereotype | getValue | hasValue | instantiate | iterate | setProperty | setValue