Профиль содержит набор стереотипов элемента модели с пользовательскими свойствами. Стереотип может быть применим к компонентам, портам, связям и архитектуре, или это может быть применимо к определенному типу элемента, таково как компоненты. Когда элемент модели имеет стереотип, можно задать значения свойств как часть его архитектурного определения. Стереотипы и свойства также делают анализ архитектуры возможным.
Каждый профиль содержит набор стереотипов, и каждый стереотип идет с набором свойств.
Цель этого примера состоит в том, чтобы вычислить общую стоимость системы, учитывая стоимость ее частей. Профиль в качестве примера ограничивается этой целью.
Загрузите профиль, чтобы сделать стереотипы доступными для элементов модели.
На вкладке 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.
Стоимость каждого элемента добавляется восходящим способом, чтобы найти стоимость системы. Результат записан в аналитический экземпляр и отображается в Аналитическом Средстве просмотра.