Анализируйте архитектуру

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

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

Аналитический рабочий процесс состоит из этих шагов:

  1. Задайте профиль, содержащий набор стереотипов, которые описывают некоторые анализируемые свойства (например, стойте и вес).

  2. Примените профиль к модели архитектуры и добавьте стереотипы от того профиля до элементов модели (компоненты, порты или коннекторы).

  3. Задайте значения для свойств на тех элементах.

  4. Создайте экземпляр модели архитектуры, которая является деревом элементов, соответствуя иерархии модели со всеми разделяемыми расширенными архитектурами и различная примененная настройка.

  5. Запишите аналитическую функцию, чтобы вычислить значения, необходимые для исследования. Это - статический ограничительный решатель для параметрик и значений связанных свойств, полученных в системной модели.

  6. Запустите аналитическую функцию.

Установите свойства для анализа

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

Загрузите модель

Откройте systemWithProps модель.

systemWithProps

Импортируйте профиль

Включите анализ свойств первым импортом профиля. В разделе Profiles панели инструментов нажмите Manage> Import и обзор к профилю.

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

Примените стереотипы ко всем элементам модели, которые являются частью анализа. Используйте пункты меню, которые применяют стереотипы ко всем элементам определенного типа. Выберите Apply Stereotypes> Apply to и затем Components> This layer. Убедитесь, что вы применяете стереотип к компоненту верхнего уровня, если совокупное значение должно быть вычислено.

Установите значения свойств

Установите значения свойств для каждого элемента модели.

  1. Выберите элемент модели.

  2. В Property Inspector расширьте стереотипное имя и введите значения для свойств.

Robot component stereotype displayed from the property inspector called Physical Component with properties named: unit cost 5000 dollars, volume 0 meters cubed, and weight 3 kilograms.

Создайте экземпляр модели для анализа

Создайте экземпляр модели архитектуры, которую можно использовать для анализа. instance является вхождением модели архитектуры в данном моменте времени. Можно обновить экземпляр с изменениями в модели, но экземпляр не обновится с изменениями в активных вариантах или моделях - ссылках. Можно использовать экземпляр, сохраненный в .MAT файл, модели архитектуры System Composer для анализа.

В разделе Views выберите Analysis Model> Analysis Model. В этом диалоговом окне задайте все параметры, требуемые создать и просмотреть аналитическую модель.

Instantiate Architecture Model window with stereotypes listed on the left and configure analysis on the right with analysis function, iteration order bottom-up, and instance model name system with props. Options are to cancel or instantiate.

Стереотипное дерево перечисляет стереотипы всех профилей, которые загрузились на текущем сеансе, и позволяет вам выбирать тех, свойства которых должны быть доступными в модели экземпляра. Можно просмотреть аналитическую функцию, создать новую или пропустить анализ в этой точке. Если аналитическая функция требует, чтобы входные параметры кроме элементов в модели (таких как обменный курс, чтобы вычислить стоимость) ввели ее в Function arguments. Выберите режим для итерации через элементы модели, например, Bottom-up перемещаться от листов дерева к корню.

Примечание

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

Чтобы просмотреть экземпляр, нажмите Instantiate.

Analysis output chart.

Аналитическое Средство просмотра показывает все компоненты в первом столбце. Другие столбцы являются свойствами для всех стереотипов, выбранных для этого экземпляра. Если свойство не является частью стереотипа, применился к элементу, то поле отображается серым. Можно использовать кнопку Filter, чтобы скрыть свойства для определенных стереотипов. Когда вы выбираете элемент, Instance Properties показывает свои стереотипы и значения свойств. Можно сохранить экземпляр в MAT-файле и открыть его снова в Аналитическом Средстве просмотра.

Select an interface element in the analysis viewer to see the drop down option under Update to Update Element.

Если вы вносите изменения в модели, в то время как экземпляр открыт, можно синхронизировать экземпляр с моделью. Update продвигает изменения от экземпляра до модели. Refresh обновляет экземпляр из модели. Несинхронизируемые изменения отображают различным цветом. Выбор одного элемента включает опцию к Update Element.

Запишите аналитическую функцию

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

Можно добавить аналитическую функцию, когда вы настраиваете аналитический экземпляр. После того, как вы выбираете стереотипы интереса, создаете функцию шаблона путем нажатия рядом с полем Analysis function. Сгенерированный M-файл включает код, чтобы получить все значения свойств из всех стереотипов, которые подвергаются анализу. Аналитическая функция работает с одним элементом — итоговые значения сгенерированы путем итерации этой функции по всем элементам в модели, когда вы запускаете анализ от Аналитического Средства просмотра.

function systemWithProps_1(instance,varargin)

if instance.isComponent()
    if instance.hasValue('SystemProfile.PhysicalElement.unitCost')
        sysComponent_unitPrice = instance.getValue('SystemProfile.PhysicalElement.unitCost');
    end
    for child = instance.Components
        comp_price = child.getValue('SystemProfile.PhysicalElement.unitCost');
        sysComponent_unitPrice = sysComponent_unitPrice + comp_price;
    end
   instance.setValue('SystemProfile.PhysicalElement.unitCost',sysComponent_unitPrice);
end

В сгенерированном файле, instance экземпляр элемента, на котором анализ функционируют запуски в настоящее время. Можно выполнить эти операции для анализа:

  • Доступ к свойству экземпляра: instance.getValue('<profile>.<stereotype>.<property>')

  • Установите свойство экземпляра: instance.setValue('<profile>.<stereotype>.<property>',value)

  • Доступ к субкомпонентам компонента: instance.Components

  • Доступ к коннекторам в компоненте: instance.Connectors

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

Как пример, этот код вычисляет вес компонента как сумма весов ее субкомпонентов.

if instance.isComponent()
    if instance.hasValue('SystemProfile.PhysicalElement.weight')
        weight = instance.getValue('SystemProfile.PhysicalElement.weight');
    end
  for child = instance.Components
    subcomp_weight = child.getValue('SystemProfile.PhysicalElement.weight');
    weight = weight + subcomp_weight;
  end
  instance.setValue('SystemProfile.PhysicalElement.weight',weight)
end

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

Запустите аналитическую функцию

Запустите аналитическую функцию использование Аналитического Средства просмотра.

  1. Выберите или измените аналитическую функцию использование меню Analyze.

  2. Выберите метод итерации.

    • Pre-order — Запустите с верхнего уровня, переместитесь в дочерний компонент, обработайте субкомпоненты того компонента рекурсивно прежде, чем переместиться в одноуровневый компонент.

    • Top-Down — Как предзаказ, но процесс все одноуровневые компоненты прежде, чем переместиться в их субкомпоненты.

    • Post-order — Запустите с компонентов без субкомпонентов, процесс каждый одноуровневый элемент и затем переместитесь в родительский элемент.

    • Bottom-up — Как постпорядок, но процесс все субкомпоненты на той же глубине прежде, чем переместиться в их родительские элементы.

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

  3. Нажмите кнопку Analyze.

System Composer запускает аналитическую функцию по каждому элементу модели и вычисляет результаты. Вычисленные свойства показывают в различном цвете в Аналитическом Средстве просмотра.

The unit cost is computed and shown in yellow.

Смотрите также

| | | | | | | | | | |

Похожие темы