Профиль содержит набор стереотипов элемента модели с пользовательскими свойствами. Стереотип может быть применим к компонентам, портам, связям и архитектуре; или это может быть применимо к определенному типу элемента, таково как компоненты. Когда элемент модели имеет стереотип, можно задать значения свойств как часть его архитектурного определения. Стереотипы и свойства также делают анализ архитектуры возможным.
Каждый профиль идет с набором стереотипов, и каждый стереотип идет с набором свойств.
Цель этого примера состоит в том, чтобы вычислить общую стоимость системы, учитывая стоимость ее частей, и профиль в качестве примера ограничивается этой целью.
Загрузите профиль, чтобы сделать стереотипы доступными для элементов модели. На модели выберите Architecture > Profile > Import Profile и обзор к профилю в <matlabroot>\toolbox\systemcomposer\examples
.
simpleProfile.xml
Этот профиль содержит эти стереотипы:
Стереотип | Приложение | Свойства |
---|---|---|
sysGeneral | компоненты, порты, коннекторы |
|
| ||
sysComponent | компоненты |
|
| ||
sysConnector | коннекторы |
|
| ||
|
Импорт профиля делает стереотипы доступными для их применимых элементов.
sysGeneral
является общим стереотипом, применимым ко всем типам элемента, который позволяет добавить типичные свойства, такие как ID
, который помогает идентифицировать элемент в течение процесса разработки и реализации и Note
, который участники проекта могут использовать, чтобы отследить любые проблемы с элементом. sysComponent
применяется только к компонентам, и включает свойства, такие как его вес и стоил, которые способствуют общей массе и стоят спецификаций системы робота. Точно так же стереотип sysConnector
применяется к коннекторам и включает цену и свойства веса, заданные на метр длины. Эти свойства помогают вычислить общую массу и стоимость проекта в этом конкретном примере.
Примените стереотип к элементу модели, чтобы добавить пользовательские свойства.
Откройте компонент Датчиков. Выберите Architecture > Apply to all Components in this layer > simpleProfile.sysGeneral. Повторитесь с Architecture > Apply to all Connectors in this layer > simpleProfile.sysGeneral.
Выберите компонент GPS компонента Датчиков.
Щелкните правой кнопкой и выберите Apply Stereotype > simpleProfile.sysComponent. Только два из стереотипов в профиле доступны для компонентов. sysGeneral
полезен для отслеживания, sysComponent
полезен для физических свойств и стоимости. Можно применить оба профиля в этом случае, потому что sysGeneral
применим ко всем элементам.
Примените стереотип sysComponent
ко всем компонентам модели архитектуры на уровне Датчиков и уровне Планирования Траектории.
Примените стереотип sysConnector
ко всем коннекторам в слое Sensors, слое Trajectory Planning и слое топ-модели.
Примените стереотип sysComponent
к архитектуре верхнего уровня.
Установите значение свойств включить анализ затрат. Последуйте этому примеру для модуля GPS.
Выберите Sensors/GPS.
Откройте Property Inspector с помощью View > Property Inspector.
Расширьте стереотип sysComponent, чтобы видеть свойства.
Установите unitPrice на 5
и нажмите Enter.
Точно так же установите свойства length и unitPrice коннектора GPSData
.
Завершите модель со значениями в этой таблице. Если свойство не находится в таблице, можно оставить его незаполненный, когда это не имеет никакого эффекта на анализ. Прикрепите 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
.
Анализируйте общую стоимость на все компоненты в модели робота. Выберите Architecture > Analysis > Analyze Architecture Model. Выберите профиль для модели.
Добавьте аналитическую функцию. Введите новое имя функции без расширения и нажатие кнопки.
Аналитическая функция включает построения, которые получают свойства от элементов модели, данных как шаблон. Измените этот шаблон, чтобы добавить стоимость отдельных элементов, чтобы получить общую стоимость на их родительскую архитектуру. Эта функция вычисляет стоимость для одного элемента модели:
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.
Стоимость каждого элемента добавляется восходящим способом, чтобы найти стоимость системы. Результат записан в аналитический экземпляр и видим в Аналитическом Средстве просмотра.