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

Со свойствами, заданными на элементах модели, можно использовать MATLAB® выполнить анализ и вычислить общую стоимость на все элементы в рамках проекта. Можно затем создать дополнительные выведенные требования для разработчиков отдельных компонентов в системе, таких как Trajectory Planning или Sensors.

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

Мобильная модель архитектуры робота со свойствами

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

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

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

  1. Перейдите к Modeling> Views> Analysis Model, чтобы открыть Инстанцировать диалоговое окно Модели Архитектуры.

  2. Добавьте аналитическую функцию. В поле Analysis function введите имя функции ex_RobotArch_analysis без расширения, и затем нажимаютadd analysis function кнопку. Файл функции MATLAB создается и сохранен с именем ex_RobotArch_analysis.m.

    Instantiate architecture model screen with all stereotypes selected. Configure analysis to use iteration order pre-order.

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

    function ex_RobotArch_analysis(instance,varargin)
    
    if instance.isComponent()
         if instance.hasValue("sysComponent.unitPrice") % Check if price is defined
             sysComponent_unitPrice = instance.getValue("sysComponent.unitPrice");
             for child = instance.Components % Iterate through all components
                 if child.hasValue("sysComponent.unitPrice")
                     comp_price = child.getValue("sysComponent.unitPrice");
                     sysComponent_unitPrice = sysComponent_unitPrice + comp_price;
                 end
             end
             for child = instance.Connectors % Connectors are priced by length
                 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) % Set totals
         end
    end
  3. Возвратитесь к экрану Instantiate Architecture Model и нажмите Instantiate. Аналитическое Средство просмотра открывает и показывает свойства каждого элемента модели. Значения по умолчанию для запуска анализа взяты из значений свойств, которые вы ввели, когда вы присоединили стереотип к модели и отредактировали их значения.

  4. В разделе Analysis выберите BottomUp как метод итерации, затем нажмите Analyze.

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

    Analysis viewer with data.

    Общая стоимость подсвечена в желтом как вычисленное значение на верхней строке, представляющей ex_RobotArch_props архитектура.

Похожие темы