Профиль содержит набор стереотипов элемента модели с пользовательскими свойствами. Стереотип может быть применим к компонентам, портам, связям, интерфейсам и архитектурам, или он может сделанный применимым только к определенному типу элемента, такому как компоненты. Когда элементу модели применились к стереотипу это, можно задать значения свойств как часть его архитектурного определения. В дополнение к разрешению вам управлять свойствами, относящимися к системной спецификации в модели архитектуры, стереотипы и сопоставленные свойства также упрощают анализ модели архитектуры.
Каждый профиль содержит набор стереотипов, и каждый стереотип содержит набор свойств.
Цель этого примера состоит в том, чтобы вычислить общую стоимость системы, учитывая стоимость ее составных частей. Профиль в качестве примера ограничивается этой целью.
Загрузите профиль, чтобы сделать стереотипы доступными для элементов модели.
Запустите System Composer. Введите systemcomposer
в командной строке MATLAB.
Во вкладке Modeling выберите Import и затем от выпадающего, выберите Import .
Просмотрите к папке в качестве примера. <matlabroot>\toolbox\systemcomposer\examples
.
Выберите simpleProfile
.
От панели инструментов нажмите Import и выберите Edit, чтобы открыть Редактор Профиля.
В профиле наблюдайте эти стереотипы.
Стереотип | Приложение | Свойства |
---|---|---|
sysGeneral | компоненты, порты, коннекторы |
|
| ||
sysComponent | компоненты |
|
| ||
sysConnector | коннекторы |
|
| ||
|
Импорт профиля делает стереотипы доступными для их применимых элементов.
sysGeneral
общий стереотип, применимый ко всем типам элемента, который позволяет добавить типовые свойства, такие как Note
, который члены проекта могут использовать, чтобы отследить любые проблемы с элементом.
sysComponent
применяется только к компонентам и включает свойства, такие как вес и стоимость, которые способствуют общей массе и стоимости спецификаций системы робота.
sysConnector
стереотип применяется к коннекторам и включает цену и свойства веса, заданные на метр длины (принимающий физический коннектор как провод). Эти свойства помогают вычислить общую массу и стоимость проекта в этом конкретном примере.
sysPort
стереотип применяется к портам и не включает свойств.
Примечание
Можно добавить стереотипный значок во все стереотипы уровня компонента. Это ваш выбор:
Добавьте пользовательские свойства в элемент модели путем применения стереотипа от загруженного профиля. Эта процедура использует модель ex_RobotArch
.
open_system('ex_RobotArch')
Во вкладке Modeling выберите Import и затем от выпадающего, выберите Import .
Выберите simpleProfile
.
Откройте Sensors
компонент.
На вкладке Modeling выберите Apply Stereotypes.
В диалоговом окне Apply Stereotypes и из списка Apply stereotype(s) to, выберите All elements
. Из списка Scope выберите This layer
.
В списке доступных стереотипов выберите simpleProfile.sysGeneral
.
Нажмите Apply и закройте окно, чтобы выйти из диалогового окна.
Выберите GPS
компонент. Щелкните правой кнопкой и выберите Apply Stereotype. Выберите simpleProfile.sysComponent
стереотип.
Примечание
sysComponent
стереотип используется для управления физические свойства и стоится.
Повторитесь для GyroData
и DataProcessing
компоненты.
Перейдите к верхней части модели. Примените sysComponent
стереотипируйте к Sensors
и Trajectory Planning
компоненты и модель архитектуры верхнего уровня. Щелкните правой кнопкой по каждому компоненту или пробелу на верхнем уровне, и выберите Apply Stereotype, чтобы гарантировать simpleProfile.sysComponent
выбран.
Примените sysConnector
стереотип применяется ко всем коннекторам в Sensors
слой, Trajectory Planning
слой и слой топ-модели. Нажмите и содержите Shift, чтобы выбрать несколько коннекторов. Щелкните правой кнопкой по выбору, нажмите Apply Stereotype и выберите sysConnector
стереотип.
Установите значения свойств включать анализ затрат. Последуйте этому примеру для GPS
модуль.
В Sensors
компонент, выберите GPS
компонент.
Откройте Property Inspector. Кликните по выпадающему в разделе Design панели инструментов и выберите Property Inspector.
Расширьте sysComponent
стереотипируйте, чтобы видеть свойства.
Установите unitPrice
к 5
и нажмите Enter.
Выберите GPSData
разъем порта. Проверяйте тот length
установлен в 0.05
и unitPrice
к 0.1
.
Завершите модель с помощью значений в этой таблице. Если свойство не находится в таблице, можно оставить его незаполненный, когда это не оказывает влияния на анализ. Прикрепите Property Inspector к редактору, чтобы сделать его постоянно видимым во время этой операции.
Слой | Элемент | Свойство | Значение |
---|---|---|---|
Верхний слой | 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 | |
Слой 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
. Откройте модель, чтобы выполнить анализ.
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. Аналитическое Средство просмотра показывает свойства каждого элемента модели. Значения по умолчанию для запуска Анализа взяты из значений свойств, которые вы ввели, когда вы присоединили стереотип к модели и отредактировали их значения.
В разделе Analysis выберите BottomUp
как метод итерации и нажимают Analyze.
Стоимость каждого элемента добавляется восходящим способом, чтобы найти стоимость системы. Результат записан в аналитический экземпляр и отображается в Analysis Viewer.
applyProfile
| applyStereotype
| getValue
| hasValue
| instantiate
| iterate
| setProperty
| setValue