分析架构

编写基于元素属性的分析,以执行数据驱动的交易研究并验证系统需求。考虑一个机电系统,在成本和重量之间需要权衡,更轻的组件往往成本更高。决策过程包括根据系统元素的属性分析系统的总成本和权重,并对这些属性进行迭代,以获得从成本和权重两方面都可接受的解决方案。

分析工作流包括以下步骤:

  • 定义一个包含一个组描述一些可分析的属性(例如,成本和重量)属性集的简档

  • 将概要文件应用到体系结构模型,并将该概要文件中的属性集添加到模型的元素(组件、端口或连接器)

  • 指定这些元素的属性值

  • 创建架构模型的一个实例,它是一个元素树,与扩展了所有共享架构并应用了变体配置的模型层次结构相对应

  • 写一个分析函数来计算必要的值,为研究

  • 运行分析功能

设置标签和属性分析

通过标记模型元素和设置属性值来启用分析。

负荷模型

打开systemWithProps模型

systemWithProps

导入配置文件

通过首先导入一个概要文件来启用属性分析。在简介部分的工具条,单击管理>进口并浏览到配置文件。

对模型元素应用构造型

应用定型是分析的一部分所有的模型元素。使用适用定型某一类型的所有元素的菜单项。选择应用的刻板印象>适用于然后组件>该层。确保你申请的刻板印象的顶级组件,如果累计值来计算。

设置属性值

每个模型元素的属性值。

  1. 选择模型元素。

  2. 在Property Inspector中,展开型名称和类型的属性值。

创建模型实例的分析

创建一个架构模型的实例,您可以使用它进行分析。在查看部分选择分析模型>分析模型。在此对话框中,指定所有创建所需的参数和查看分析模型。

构造型树列出了在当前会话中加载的所有概要文件的构造型,并允许您选择那些在实例模型中应该可用的属性。您可以浏览一个分析函数,创建一个新的函数,或者在这里跳过分析。如果分析功能需要模型中的其他元素以外的输入(例如计算成本的汇率),请输入它函数参数。选择迭代模型元素的模式,例如,自底向上从树的根叶移动。

要查看实例,请单击实例化

分析查看器显示的所有组件,港口,并在第一列连接器。其他列是选择的这个实例的所有定型性能。如果属性是不应用到的元素的铅板的一部分,该字段显示为灰色。您可以使用过滤器按钮,某些成见隐藏属性。当您选择一个元素,实例属性显示其定型和属性值。您可以在MAT-文件保存一个实例,并在分析浏览器再次打开它。如果您在模型中的变化,而一个实例是开放的,你可以将实例与通过单击更新模型同步。未同步的变化示于不同的颜色。

写分析功能

编写一个使用实例API分析架构模型的函数。分析函数是MATLAB函数,使用模型实例中每个元素的属性计算评估架构所需的值。

您可以根据您设置的分析实例添加分析功能。您选择感兴趣的定型后,通过点击创建一个模板函数按钮旁边的分析功能领域。将所生成的M-文件包括代码以从受分析定型所有获得的所有的属性值。该分析功能的单个元素进行操作 - 通过当您从分析查看分析迭代模型中的所有元素这个函数生成汇总值。

if instance. iscomponent () sysComponent_unitPrice = instance. getvalue ("PhysicalElement.unitCost");for child = instance。组件comp_price = child.getValue("PhysicalElement.unitCost"); sysComponent_unitPrice = sysComponent_unitPrice + comp_price; end instance.setValue("PhysicalElement.unitCost",sysComponent_unitPrice); end

在生成的文件,实例是在其上分析功能目前运行的元件的实例。您可以对分析这些操作:

  • 访问实例的属性:instance.getValue(“<刻板印象>。< >属性”)

  • 设置一个实例的属性:instance.setValue( “<铅板> <属性>”,值)

  • 访问组件的子组件:instance.Components

  • 访问组件的连接器:instance.Connectors

getValue如果属性不存在,函数将生成错误。您必须使用错误处理函数,如试着抓如果语句可能是在模型中某些元素不使用定型。

作为示例,此代码将组件的权重计算为其子组件权重的总和。

如果instance.isComponent()重量= 0;儿童= instance.Components subcomp_weight = child.getValue( “PhysicalElement.weight”);重量=重量+ subcomp_weight;结束instance.setValue( “PhysicalElement.weight”,重量)端

一旦分析功能齐全,将其添加到分析。分析功能可以采取附加的输入参数,例如,一个变换常数如果权重是在不同的定型不同的单元。当该代码为所有组件递归地运行,从最深部件在层次结构中的顶级开始,系统的整体重量被分配到重量属性的顶级组件。

运行分析功能

使用分析查看器运行分析功能。

  1. 属性选择或更改分析功能分析菜单。

  2. 选择迭代法。

    • 预订-从顶层开始,移动到子组件,在移动到兄弟组件之前递归处理该组件的子组件。

    • 自顶向下- 像预购,但移动到其子前处理所有的兄弟姐妹组成部分。

    • 后根次序- 开始从没有子组件,处理每一个兄弟姐妹,然后移动到父。

    • 自下而上-类似于post-order,但是在移动到它们的父组件之前以相同的深度处理所有子组件。

    迭代方法取决于什么样的分析是要运行。例如,用于分析,其中组分重量是其成分的重量的总和,必须确保副成分的权重首先计算,因此迭代方法必须是自下而上。

  3. 单击分析按钮。

System Composer在每个模型元素上运行分析功能并计算结果。计算出来的属性在分析查看器中以不同的颜色显示。

也可以看看

相关的话题