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

Каждый профиль содержит набор стереотипов, и каждый стереотип идет с набором свойств.
Цель этого примера состоит в том, чтобы вычислить общую стоимость системы, учитывая стоимость ее частей. Профиль в качестве примера ограничивается этой целью.
Загрузите профиль, чтобы сделать стереотипы доступными для элементов модели.
На вкладке Model и в разделе Profiles, выберите Manage и затем от выпадающего, выберите Import
.
Просмотрите к папке в качестве примера. <matlabroot>\toolbox\systemcomposer\examples.
Выберите simpleProfile.xml.

Этот профиль содержит эти стереотипы.
| Стереотип | Приложение | Свойства |
|---|---|---|
| sysGeneral | компоненты, порты, коннекторы |
|
| ||
| sysComponent | компоненты |
|
| ||
| sysConnector | коннекторы |
|
| ||
|
Импорт профиля делает стереотипы доступными для их применимых элементов.
sysGeneral общий стереотип, применимый ко всем типам элемента, который позволяет добавить типовые свойства, такие как ID это помогает идентифицировать элемент в течение процесса разработки и реализации и Note тот проект участники может использовать, чтобы отследить любые проблемы с элементом.
sysComponent применяется только к компонентам, и включает свойства, такие как вес и стоит, которые способствуют общей массе и стоят спецификаций системы робота.
sysConnector стереотип применяется к коннекторам и включает цену и свойства веса, заданные на метр длины. Эти свойства помогают вычислить общую массу и стоимость проекта в этом конкретном примере.
Добавьте пользовательские свойства в элемент модели путем применения стереотипа от загруженного профиля. Эта процедура использует модель ex_RobotArch.slx.
Откройте модель робота в качестве примера с командой MATALB open_system ('ex_RobotArch_props.slx').
Откройте компонент Sensors.
На вкладке Modeling и в разделе Profiles, выберите Apply Stereotypes.
В диалоговом окне Apply Stereotypes и из списка Apply to, выберите All elements. Из списка in выберите This layer.
В списке доступных стереотипов выберите simpleProfile.sysGeneral. Стереотип sysGeneral полезно для отслеживания.

Нажмите Apply.
В компоненте Датчиков выберите компонент GPS. Щелкните правой кнопкой и выберите Apply Stereotype > simpleProfile.sysComponent.
Стереотип sysComponent полезно для физических свойств и стоимости. sysGeneral был выбран на предыдущем шаге.

Перейдите к верхней части модели. Примените sysComponent стереотипируйте к Sensors и компонентам Trajectory Planning и модели архитектуры верхнего уровня. Щелкните правой кнопкой по каждому компоненту или пробелу на верхнем уровне, и выберите Apply Stereotype > simpleProfile.sysComponent.
Примените sysConnector стереотипируйте ко всем коннекторам в слое Sensors, слое Trajectory Planning и слое топ-модели.

Установите значения свойств включать анализ затрат. Последуйте этому примеру для модуля GPS.
В компоненте Датчиков выберите компонент GPS.
Откройте Property Inspector. На вкладке Modeling и в разделе Design , выберите Property Editor.
Расширьте стереотип sysComponent, чтобы видеть свойства.
Установите unitPrice на 5 и нажмите Enter.

Точно так же для GPSData свойства коннектора, набор length к 0.05 и unitPrice к 0.1.

Завершите модель с помощью значений в этой таблице. Если свойство не находится в таблице, можно оставить его незаполненный, когда это не оказывает влияния на анализ. Прикрепите Property Inspector к редактору, чтобы сделать его постоянно видимым во время этой операции.
| Слой | Элемент | Свойство | Значение |
|---|---|---|---|
| Верхний слой | Коннектор энкодера | длина | 0.5 |
| unitPrice | 0.1 | ||
| Коннектор SensorData | длина | 0.6 | |
| unitPrice | 0.2 | ||
| Коннектор MotionCommand | длина | 0.5 | |
| unitPrice | 0.2 | ||
| Компонент датчиков | unitPrice | 5 | |
| Компонент Планирования траектории | unitPrice | 500 | |
| Компонент движения | unitPrice | 750 | |
| Слой Sensors | Компонент 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.
Анализируйте общую стоимость на все компоненты в модели робота.
На вкладке Modeling и в разделе Views, выберите Analysis Model, и затем из выпадающего списка выбирают Analysis Model.

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

Выберите Bottomup как метод итерации и нажимают Analyze.
Стоимость каждого элемента добавляется восходящим способом, чтобы найти стоимость системы. Результат записан в аналитический экземпляр и отображается в Аналитическом Средстве просмотра.
![]()