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

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

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

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

Загрузите профиль модели архитектуры

Загрузите профиль, чтобы сделать стереотипы доступными для элементов модели.

  1. На вкладке Model и в разделе Profiles, выберите Manage и затем от выпадающего, выберите Import .

  2. Просмотрите к папке в качестве примера. <matlabroot>\toolbox\systemcomposer\examples.

  3. Выберите simpleProfile.xml.

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

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

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

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

sysComponentкомпоненты

weight (дважды, kg)

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

sysConnectorконнекторы

length (дважды, m)

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

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

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

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

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

  • sysConnector стереотип применяется к коннекторам и включает цену и свойства веса, заданные на метр длины. Эти свойства помогают вычислить общую массу и стоимость проекта в этом конкретном примере.

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

Добавьте пользовательские свойства в элемент модели путем применения стереотипа от загруженного профиля. Эта процедура использует модель ex_RobotArch.slx.

  1. Откройте модель робота в качестве примера с командой MATALB open_system ('ex_RobotArch_props.slx').

  2. Откройте компонент Sensors.

  3. На вкладке Modeling и в разделе Profiles, выберите Apply Stereotypes.

  4. В диалоговом окне Apply Stereotypes и из списка Apply to, выберите All elements. Из списка in выберите This layer.

    В списке доступных стереотипов выберите simpleProfile.sysGeneral. Стереотип sysGeneral полезно для отслеживания.

  5. Нажмите Apply.

  6. В компоненте Датчиков выберите компонент GPS. Щелкните правой кнопкой и выберите Apply Stereotype > simpleProfile.sysComponent.

    Стереотип sysComponent полезно для физических свойств и стоимости. sysGeneral был выбран на предыдущем шаге.

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

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

SetProperties

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

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

  2. Откройте Property Inspector. На вкладке Modeling и в разделе Design , выберите Property Editor.

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

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

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

  6. Завершите модель с помощью значений в этой таблице. Если свойство не находится в таблице, можно оставить его незаполненный, когда это не оказывает влияния на анализ. Прикрепите 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
  7. Сохраните модель как ex_RobotArch_props.slx.

Выполните анализ

Анализируйте общую стоимость на все компоненты в модели робота.

  1. На вкладке Modeling и в разделе Views, выберите Analysis Model, и затем из выпадающего списка выбирают Analysis Model.

  2. Добавьте аналитическую функцию. В Аналитическом поле функции введите имя функции 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
  3. Возвратитесь к экрану Analysis и нажмите Instantiate. Аналитическое средство просмотра показывает свойства каждого элемента модели.

  4. Выберите Bottomup как метод итерации и нажимают Analyze.

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

Похожие темы

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