Анализируйте модель архитектуры

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

Каждый профиль идет с набором стереотипов, и каждый стереотип идет с набором свойств.

Цель этого примера состоит в том, чтобы вычислить общую стоимость системы, учитывая стоимость ее частей, и профиль в качестве примера ограничивается этой целью.

Загрузите системный профиль робота

Загрузите профиль, чтобы сделать стереотипы доступными для элементов модели. На модели выберите Architecture > Profile > Import Profile и обзор к профилю в <matlabroot>\toolbox\systemcomposer\examples.

simpleProfile.xml

Этот профиль содержит эти стереотипы:

СтереотипПриложениеСвойства
sysGeneralкомпоненты, порты, коннекторы

ID (целое число, никакие модули)

Note (строка, никакие модули)

sysComponentкомпоненты

weight (дважды, kg)

unitPrice (дважды, доллар США)

sysConnectorконнекторы

length (дважды, m)

weight (дважды, кг/м)

unitPrice (дважды, доллар США/м)

Импорт профиля делает стереотипы доступными для их применимых элементов.

sysGeneral является общим стереотипом, применимым ко всем типам элемента, который позволяет добавить типичные свойства, такие как ID, который помогает идентифицировать элемент в течение процесса разработки и реализации и Note, который участники проекта могут использовать, чтобы отследить любые проблемы с элементом. sysComponent применяется только к компонентам, и включает свойства, такие как его вес и стоил, которые способствуют общей массе и стоят спецификаций системы робота. Точно так же стереотип sysConnector применяется к коннекторам и включает цену и свойства веса, заданные на метр длины. Эти свойства помогают вычислить общую массу и стоимость проекта в этом конкретном примере.

Примените стереотипы к элементам модели

Примените стереотип к элементу модели, чтобы добавить пользовательские свойства.

  1. Откройте компонент Датчиков. Выберите Architecture > Apply to all Components in this layer > simpleProfile.sysGeneral. Повторитесь с Architecture > Apply to all Connectors in this layer > simpleProfile.sysGeneral.

  2. Выберите компонент GPS компонента Датчиков.

  3. Щелкните правой кнопкой и выберите Apply Stereotype > simpleProfile.sysComponent. Только два из стереотипов в профиле доступны для компонентов. sysGeneral полезен для отслеживания, sysComponent полезен для физических свойств и стоимости. Можно применить оба профиля в этом случае, потому что sysGeneral применим ко всем элементам.

  4. Примените стереотип sysComponent ко всем компонентам модели архитектуры на уровне Датчиков и уровне Планирования Траектории.

  5. Примените стереотип sysConnector ко всем коннекторам в слое Sensors, слое Trajectory Planning и слое топ-модели.

  6. Примените стереотип sysComponent к архитектуре верхнего уровня.

SetProperties

Установите значение свойств включить анализ затрат. Последуйте этому примеру для модуля GPS.

  1. Выберите Sensors/GPS.

  2. Откройте Property Inspector с помощью View > Property Inspector.

  3. Расширьте стереотип sysComponent, чтобы видеть свойства.

  4. Установите unitPrice на 5 и нажмите Enter.

  5. Точно так же установите свойства length и unitPrice коннектора GPSData.

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

СлойЭлементСвойствоЗначение
Верхний слойКоннектор энкодерадлина0.5
unitPrice0.1
Коннектор SensorDataдлина0.6
unitPrice0.2
Коннектор MotionCommandдлина0.5
unitPrice0.2
Компонент датчиковunitPrice5
Компонент Планирования траекторииunitPrice500
Компонент движенияunitPrice750
Слой SensorsКомпонент GyrodataunitPrice50
Компонент DataProcessingunitPrice500
Компонент GPSunitPrice100
Коннектор GPSDataдлина0.05
unitPrice0.1
Коннектор MotionDataдлина0.05
unitPrice0.1
Коннектор RawDataдлина0.05
unitPrice0.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.

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

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте