变异是什么以及何时使用它们
变异是什么?
在基于模型的设计流程,创建多个设计系统组件的变化是必要的,以满足不同的需求。这些需求可以满足多样化的市场需求,顾客喜好,或地理特征。在整个开发生命周期,从需求到部署,您可能需要在这些设计选择之间进行切换。
金宝app®变异功能允许你代表所有在一个单一的系统模型的设计方案。每个设计选择纳入模型作为一种变体选择。这种模式有一个固定的普遍结构和一组有限的变量被激活的组件根据变量的选择。这个模型显示了如何变异来源块帮助您实现变体选择系统的输入信号。不活跃的选择似乎消失了。
例如,看到的使用变量创建一个模型对于许多系统。
使用变量的优点
在基于模型的设计提供了几个优势:使用变体
变量允许你为许多系统设计一个模型。
你可以快速原型设计的可能性变异而无需注释掉部分的模型。
变异帮助您开发模块化设计平台重用和定制。这种方法提高了工作流的速度通过减少复杂性。
如果一个模型组件有几种不同的配置,您可以探索替代不改变固定组件。
您可以使用不同的变体配置模拟从相同的模型或代码生成。
你可以模拟每一个设计可能对于一个给定的测试套件。
如果你正在与大规模的设计,你可以分发的过程中测试这些设计多核计算机集群上。或者,您可以映射不同的测试套件为高效管理的专门设计测试设计方案。
您可以生成减少模型的一个子集变体配置从一个模型有很多变种。
何时使用变体
这里有三个场景中,您可以使用变体。
模型代表多个仿真、代码生成或测试工作流。 |
|
模型包含多个组件级别的设计选择。 |
|
模型大多相似但有细微变化,如在这种情况下,你想单独的测试模型调试模式。左边的测试模型有一个固定的设计。在右边,相同的测试模型包含一个变种,介绍了用于调试目的。 |
|
类型的变体金宝app
变体块帮助你代表多个结构或算法实现系统的组件在一个模型,允许你切换他们按要求。概述的块类型的变体在仿真软件中,看到的金宝app变体在仿真软件金宝app。
变异参数帮助您实现设计需要块参数的不同值的变化。有关更多信息,请参见使用变量参数重用块参数不同的值。
变体的转换让你多个设计配置在同一个Stateflow过渡®图表。有关更多信息,请参见代码生成过渡使用变体(Stateflow)。
维变异允许您指定符号维度基于变异条件不同。看到在生成的代码实现维度变体数组的大小(嵌入式编码)。
AUTOSAR变体使您能够使用变体块来实现AUTOSAR软件组件与可变点。看到模型AUTOSAR变体(AUTOSAR Blockset)。
变体块金宝app
使用这些变体块根据模型设计:
分层变体块创建多个实现的组件在一个单独的层次结构模型。
内联变体块代表所有变体实现模型在同一水平。
基于事件的变体使用变体模型上下文相关的系统行为。
类型的变体 | 变体块 | 使用 |
---|---|---|
分层变体块 | 不同的子系统 | 的不同的子系统块是一个预配置模板子系统块来表示变量的选择。 的不同的子系统块允许的组合子系统块,模型块,或子系统的参考块是不同的选择。 |
变体模型 | 的变体模型预配置两块是一个模板模型块来表示变量的选择。 的变体模型块允许的组合子系统块,模型块,或子系统的参考块是不同的选择。 |
|
内联变体块 | 变异来源 | 的变异来源块允许您定义变体选择的块区域连接到每个港口。块变异的来源提供了一个信号。 |
变体水槽 | 的变体水槽块允许您定义变体选择的块区域连接到每个输出港。块提供目的地的信号变化。 | |
手动变异来源 | 的手动变异来源块是一个拨动开关,允许您定义多个变体选择的港口。 | |
手动变体水槽 | 的手动变体水槽块是一个拨动开关,允许您定义多个变体选择输出港。 | |
不同的连接器(Simscape) | 的不同的连接器块允许您定义变量的选择在一个物理网络。你可以在模拟网络中开关组件之间无需物理删除组件或排除他们从模拟。 | |
基于事件的变体 | 金宝app仿真软件的功能 | 的功能变体金宝app仿真软件的功能允许有条件的可用块。您可以指定条件变体在函数调用端口块或块可以继承的条件函数调用者。 |
初始化函数,重置功能,终止函数块 | 的功能变体初始化,重置,终止阻塞允许有条件的可用。您可以指定条件变体的事件监听器。 |
比较不同块
这个表提供了一个比较层次和内联块变体。
功能 | 变异来源和变体水槽块 |
不同的子系统和变体模型块 |
---|---|---|
变体的选择表示 |
数量的端口 |
子系统,模型,或子系统的参考块 |
允许实现变体的选择在一个单独的层次结构 |
没有 |
是的 |
金宝app支持灵活的输入和输出之间变异的选择(选择没有类似的接口) |
没有 |
是的,如果传播条件子系统之外的变体参数设置为 |
选项指定默认的变体 |
是的 |
是的 |
金宝app支持控制端口 |
没有 |
是的 |
可以保存为独立的文件吗 |
没有 |
没有 |
金宝app支持连接端口用于建模的物理连接线路 |
没有 |
只有当变体激活时间参数设置为 |
评论一个变体的选择(通过添加 |
没有 |
是的 |
使用变量创建一个模型对于许多系统
这个例子展示了变体设计仿真软件模型。金宝app考虑模型系统,代表了汽车的要求与几个配置。虽然在几个方面类似,这些配置可以在燃料消耗等属性不同,电动机类型,或排放标准。
而不是为每个配置设计单独的模型,你可以代表配置变量的选择在一个模型。你可以选择激活任何一个变体的选择根据你的要求。这种方法使通用组件固定。
这个模型包含一个不同的子系统块,电动机变体子系统
,代表了汽车的发动机。马达有两个可能的配置,气体
和电
选择中,表示为变体不同的子系统块。一个不同的子系统块调整界面根据底层模块的状态。在这里,电
汽车没有排气温度
输入。当你激活电
变体,仿真软件自动金宝app禁用相应的端口上电动机变体子系统
和任何其他相关的模型组件的输入。
为排气温度
传感器模型,考虑到需要两个供应商提供的五种不同传感器之间切换。您可以使用变异来源块来表示所有的选项在同一模型和激活一次只有一个选择。
使用变量
视觉元素在变体模型
视觉元素 | 使用 |
---|---|
变异条件传奇 | 变异条件传奇对话框可以帮助您可视化变量条件应用于模型。金宝app动态仿真模块注释条件变体模型组件,和变异条件传说显示每个注释的条件。看到可视化传播条件使用变异条件变体传奇。 |
变体徽章 | 每个变体块显示一个徽章,改变不同的参数值设定。看到变体徽章。 |
变体和信号突出消退 | 默认不活跃的变体选择的颜色褪色。你可以选择禁用使用淡入淡出效果变体衰落选项信息覆盖菜单上的调试模型编辑器的选项卡。金宝app 高亮显示的信号经过变体块突出活跃变体的路径选择。看到系统信号突出变体。 |
变体徽章
每个变体块显示一个徽章。变体徽章的颜色和图标的变化根据这些参数的值设置块:
变体激活时间
变量控制方式
允许控制零活跃的变体(变异来源和变体水槽块)
传播条件子系统之外的变体(不同的子系统块)
变体徽章还提供快速访问一些变体命令。右键单击变体徽章来访问这些命令。
定义和控制变量的选择
你必须把每一个变体的选择在一个模型版本控制用于确定是否选择积极或不活跃。变体的街区,你可以选择你想要指定的模式变体控制使用变量控制方式参数。有关更多信息,请参见介绍了版本控制。
自动识别不同地区使用变异传播条件
金宝app活跃在仿真模型确定模型组件的过程变异条件下传播。这个过程评估变体上指定的变量控制块和自动传播的变异条件连接块。变异条件可以通过信号传播线,公交车,和函数调用。失活过程与活动相关联的模型组件的选择,他们不包括在模拟。你可以停止条件传播模型中定义区域变体。看到变异条件下传播概述。
选择一个变体激活时间
你也可以选择当活跃的变体的选择是决定使用变体激活时间参数。这个参数也决定了活跃的和不活跃的选择参与模拟和代码生成工作流。看到激活变体在不同阶段的模拟和代码生成工作流。
请注意
你可以选择变体激活时间块只有一个变体变量控制方式被设置为表达式
。
手动变异来源和手动变体水槽块不支持版本控制和变体激活时金宝app间。他们决定活跃变体选择基于港口和外港活跃,分别。
不同的连接器块不支持变体激活时间。金宝app
经理管理所有变体使用变体
变量管理器是一个核心工具,允许您管理所有可变点在一个模型。这个工具帮助您可视化模型层次结构和各级变异的使用。看到变体经理概述。
创建并激活变体配置:
模型层次结构可以包含几个变种块,每个都有许多不同的选择。这些变体选择对应于特定的组合系统的配置。手动切换这些配置和验证可以复杂,可以引入错误。您可以使用变量管理器创建预定义的配置模型和运行模式下的任何配置。你也可以对一组约束验证配置。
分析和减少变异的配置:
您可以使用变体配置分析工具变量管理器为模型,比较不同配置,以确定哪些块是用于每个配置。模型验证和验证工作流的工具帮助因为它可以识别模型中未使用的区域。
您可以使用变异减速机工具变量管理器自动生成减少模型的一个子集变体配置和分析模型在一个详细的报告。减少过程中不活跃的组件配置指定的变体。变异减速机减少了相关的模型引用,子系统的引用和库在模型中。该工具还可以减少任何相关的工件,如垫或.sldd
文件和包中的所有减少工件指定输出文件夹。一个示例用例的工具是一个vendor-supplier工作流。
从变异模型生成代码
您可以使用金宝app仿真软件编码器™或者嵌入式编码器®从变异模型生成代码。看到准备Variant-Containing模型代码生成。
例子表明变异代码生成功能,请参阅不同的系统(嵌入式编码)。
相关的例子
- 变体模型示例
- 创建一个简单的变体模型
- 创建一个简单的变异参数模型
- 创建和配置验证变体
- 不同的子系统
- 沉块变异源和变体
- 代码生成过渡使用变体(Stateflow)
- 系统变量变换模型(金宝app仿真软件检查)
- 创建自定义检查路径从一个模型评估活跃的和不活跃的变体(金宝app仿真软件检查)