系统开发的v模型金宝app变体
金宝app®常被用来代表一个产品线的模型系统。系统产品线,尽管基于相同的定义,可以在几个方面有所不同。例如,考虑一个产品线的客车,每个变量都有不同的特性。而不是设计多个模型来表示所有可能的变体,可以使用仿真软件变异模型所有产品线在单个模型的变化。金宝app金宝app仿真软件版本功能允许您创建灵活的模型来更有效地管理内置可变性,配置和重用你的设计。模型变异基础信息,请参阅金宝app变异是什么以及何时使用它们。
v模型代表一个开发过程。模型演示了开发周期的每个阶段之间的关系在左边右边及其相关的验证阶段。金宝app仿真软件版本支持v模型开发金宝app过程提供不同功能的系统级建模阶段,代码生成,互动和测试阶段。在系统级模型和组件阶段,您可以使用变异和变异参数捕获结构和数据块的变化。您可以使用仿真软件,防止无效的变体经理变体组合,减少变异模型只包含所选的金宝app变体。生成的代码包含在模型中定义的变化和组件。在测试阶段,您可以使用金宝app仿真软件设计校验™生成测试用例识别隐藏的设计错误和使用金宝app仿真软件测试™执行用户定义的测试。同时,您可以使用金宝app仿真软件覆盖™覆盖所有的变异。
取决于您的应用程序和它的角色在这个过程中,你可能会专注于一个或多个步骤称为在v模型或重复步骤在v模型的几个阶段。
这些表的目标列表,你可能当你应用的变化模型,指导你如何满足这些目标。你可以打开下面链接和运行示例应用变异和生成代码。的模型显示仿真软件功能变体,明白了金宝app金宝app模型变量的例子。
系统级模型
可以为任何组件模型的变化在系统体系结构模型。一个组件可能有两个或两个以上变量选择代表交替结构分解。您还可以定义的行为(定义在一个仿真软件模型)和结构(系统作曲家™架构模型中定义)作为变量的选择。金宝app系统作曲家架构模型的更多信息,请参阅组成结构可视化(系统作曲家)。
目标 | 能力 | 例子 |
---|---|---|
添加组件与替代结构设计在建筑模型。 | 不同的组件(系统作曲家) | 创建变体(系统作曲家) |
管理系统与结构组成的变化。 | 仿真软件的变体经理金宝app | 创建和配置激活变体 |
组件——创建模型和结构变化
一旦你了解您的建模需求,你可以开始确定系统的不同组件。确定组件和它们之间的关系在一个顶级结构帮助建立一个潜在的复杂系统模型。与变体在仿真软件可以设计多个设计方案的系统在一金宝app个单一的模型。每个设计选择纳入模型作为一种变体选择。你可以选择激活或停用变体的选择根据你的要求在模拟。有关更多信息,请参见变异是什么以及何时使用它们。
本节将介绍:
实现组件结构可变性
您可以实现结构在所有领域,包括控制逻辑、状态机、流程图和物理植物通过使用变体块在你的模型。有关变量的更多信息块,明白了变体在仿真软件金宝app。
目标 | 能力 | 例子 |
---|---|---|
封装变化的组件在一个单独的模型。你可以封装子系统(虚拟和非虚拟)块,模型模块和子系统参考块有条件地执行它们。 |
变体子系统,变体模型 | 使用变体子系统实现变化在不同的层次结构 |
|
变异来源和变体水槽 | |
表示组件,有固定的常见结构,但不同的输入和输出接口。 | 变体子系统,变体模型 | 变体自适应用户界面子系统 |
在您的模型中表示同级的变化和变体之间的切换选择使用一个简单的拨动开关机制。 | 手动变异来源和手动变体水槽 | 在源和目标提供变化的信号使用手工变异源和手动变体沉块 |
有条件地执行事件驱动模型初始化功能,重置,并终止事件。 |
初始化函数,重置功能,终止函数 | 变异条件与初始化传播,重置,并终止 |
有条件地执行trigger-driven函数(由外部信号控制执行)。 |
启用子系统,触发子系统,启用并触发子系统 | |
使用函数调用子系统 | ||
有条件地执行仿真软件功能(类似于一个函数在程金宝app序编程语言)。 | 金宝app仿真软件的功能 | |
合并的输出信号,有条件地执行仿真软件功能。金宝app | 使用函数调用子系统 | 变异函数调用信号变异子系统输出港 |
封装模型模型变量的选择和金宝app有条件地执行它们。 | 变体子系统,变体模型 | 模型参考变异体 |
添加或删除变量选择无需修改模型。 | 变体装配子系统 | 添加或删除变量的选择变体装配子系统模块使用外部文件 |
实现真正的物理组件的变化。 |
不同的连接器(Simscape) |
|
|
使用标签模式的变体 | 选择在变体使用标签之间切换 |
在模型中创建分支,仅适用于模拟或代码生成。 | 块使用sim codegen切换模式的变体 | 仿真和代码生成工作流之间切换选择不使用控制变量变异块 |
上游和下游传播条件变体块
你可以扩大可变性控制模型通过自动传播到任何地区的变异条件变体阻塞其他上游和下游。变异条件可以通过信号线路传播、公共汽车、和函数调用实现块模型中受到变体选择的影响。有关更多信息,请参见变异条件下传播概述。
目标 | 能力 | 例子 |
---|---|---|
提高模型的准确性,避免手工计算变异条件分配依赖阻塞通过传播状态的底层外的父块变体。 | 变体子系统,变体模型 | 传播变异条件变体以外的子系统 |
提高模型的准确性,避免手工计算变异条件分配依赖阻塞通过传播的状态变量对所有连接块。 | 源和汇变异条件下传播与变体 | |
消除不同地区完全从模型执行时不活跃的变体。 | 允许控制零活跃的变体 | 传播变异条件变体以外的子系统 |
停止传播变体上游和下游的状态。 | 地面和《终结者》 | 控制变异条件下传播 |
视觉复杂性降低传播变体元素复合信号。 |
|
|
控制变量的可见性区域
你可以控制不同地区的能见度定义变量控制在适当的工作区根据您的需求。限制范围有助于避免名称冲突,建立明确的所有权之间的变异控制块。它还使您能够使用相同名称的变体在不同的范围控制。有关更多信息,请参见存储位置变异控制变量(操作数)的变体和类型的运营商不同活化时间的变体块。
目标 | 能力 | 例子 |
---|---|---|
|
屏蔽原理 | |
|
本地数据:模型工作区 | 方法控制活跃变体选择的一个变体块工作区使用面具或模型 |
存储全局变量控制。 | 创建一个简单的变体模型 | |
设置不同的积极的变异定制锁库的多个实例。 | 方法控制活跃变体选择的一个变体块工作区使用面具或模型 | 控制活动选择子系统使用掩码参数锁定自定义库的变体 |
定义全局变量控制多个不同区域在不同级别的一个模型。 | 数据存储内存 | 变异条件和数据存储(模型) |
变体结构不同的系统的控制
模型中的每个变体的选择与控制的一个变体。变异控制确定哪些变量选择是活跃。通过改变变量的值控制,可以切换活动变体的选择。您可以使用不同类型的变体控制变量在模型中而实现不同地区。有关更多信息,请参见控制变量类型的变体(操作数)的变体和存储位置变异控制变量(操作数)的变体。
目标 | 能力 | 例子 |
---|---|---|
开关变量前后一致地选择在相关模块和参数。 | 金宝appSimulink.VariantControl |
金宝appSimulink.VariantControlVariables for Coherent Switching of Choices in Variant Blocks |
快速控制原型变体当你还构建模型。 |
标量变量 | 标量变量控制变量快速原型的变体 |
降低复杂性变异的控制都是通过封装。 |
金宝appSimulink.Variant |
金宝appSimulink.VariantObjects for Variant Condition Reuse of Variant Blocks |
改善可读性的代表变量控制作为有意义的名字,而不是整数。 |
金宝app仿真软件枚举 | |
提高可读性分组相关变异控制结构。 |
结构体 |
结构组相关变量控制变量的变异 |
控制激活变体结构不同时期系统
前仿真或代码生成,您可以检查不兼容,如变量的数据类型和尺寸不匹配。设计变量可以被激活在不同阶段的模拟和代码生成工作流。在代码生成,您可以选择包括在生成的代码中,可变性和激活它们在不同阶段根据需求和目标平台。你也可以检查不兼容,如变量的数据类型和尺寸不匹配。有关更多信息,请参见激活变体在不同阶段的模拟和代码生成工作流。
目标 | 能力 | 例子 |
---|---|---|
保持积极的变异和删除不活跃的变体早期模型中编译阶段,因此,不兼容的信号属性共存的变异模拟工作流。 |
更新图 | 只考虑一个场景:你想模拟活跃的变体。您已经安装了所需的所有产品模拟活跃的变种,但你没有许可下载188bet金宝搏证,需要模拟不活跃的变体。在这种情况下,您可以使用更新图 激活时间从执行删除不活跃的变体在仿真工作流程的开始。 |
分析活跃的和不活跃的变异信号不兼容的属性,如尺寸和数据类型simulation-loop前阶段。 | 更新图分析所有的选择 | 激活变体在不同阶段的模拟和代码生成工作流 |
执行迭代模拟,提高仿真速度,而无需重新编译模型或终止仿真每次你改变了活跃的变体。 |
启动 |
组件——创建模型参数值的变化
你可能有一组需求的结构模型是相同的,但是每个要求的参数的值是不同的。您可以创建一个模型与固定结构和创建参数有限集的值,每个值对应于不同的需求。然后您可以选择激活或停用变体选择在模拟。价值变化的更多信息,请参阅使用变量参数重用块参数不同的值。
本节将介绍:
实现在参数值
您可以实现价值在所有领域,包括控制逻辑、状态机、流程图、物理植物通过使用变量参数模型。
目标 | 能力 | 例子 |
---|---|---|
设计变量参数值 | 使用变量参数重用块参数不同的值 | 创建一个简单的变异参数模型 |
创建参数变异有不同的维度。 | 允许象征性的尺寸规格 | 编译代码有条件地对所有变量参数的值相同和不同的维度 |
变异控制不同的参数值
变量控制金宝appSimulink.VariantControl
对象相关联价值
的控制的一个变体ActivationTime
。使用不同控制对象确定一个变种的活跃值参数在不同阶段的模拟和代码生成工作流。您可以指定不同类型的值变异控制对象模型而实现不同地区。有关更多信息,请参见存储位置变异控制变量参数(操作数)的变体和类型的变量控制变量参数(操作数)的变体。
目标 | 能力 | 例子 |
---|---|---|
快速控制原型变体当你还构建模型。 |
数值 | 数值变量控制参数值快速原型的变体 |
|
金宝appSimulink.Variant |
金宝appSimulink.VariantObjects for Variant Condition Reuse of Variant Parameters |
改善可读性的代表变量控制作为有意义的名字,而不是整数。 |
金宝app仿真软件枚举 | 枚举类型来改善代码的可读性变异控制变量的变量参数 |
提高可读性变异参数值表示为有意义的名字,而不是整数。 |
金宝app仿真软件枚举 | 提高代码的可读性变体使用枚举类型参数 |
控制变量激活乘以不同的参数值
前仿真或代码生成,您可以检查不兼容,如变量的数据类型和尺寸不匹配。设计变量可以被激活在不同阶段的模拟和代码生成工作流。在代码生成,您可以选择包括在生成的代码中,可变性和激活它们在不同阶段根据需求和目标平台。你也可以检查不兼容,如变量的数据类型和尺寸不匹配。有关更多信息,请参见激活变体在不同阶段的模拟和代码生成工作流。
目标 | 能力 | 例子 |
---|---|---|
保持积极的变异和删除不活跃的变体早期模型中编译阶段,因此,不兼容的信号属性共存的变异模拟工作流。 |
更新图 | 积极的价值观和激活时间变化的变量参数 |
分析活跃的和不活跃的变异信号不兼容的属性,如尺寸和数据类型simulation-loop前阶段。 | 更新图分析所有的选择 | |
执行迭代模拟而不用重新编译模型或终止模拟每次你改变了活跃的变体。 | 启动 | 运行迭代模拟不重新编译模型变体使用快速重启系统 |
组件——创建模型与转型路径的变化
你可以控制过渡到Stateflow内的多个设计配置®使用变量转换图表。
目标 | 能力 | 例子 |
---|---|---|
有条件地执行路径从源对象过渡到目标对象。 | 条件(Stateflow)和条件的行为(Stateflow) | 创建变量配置在Stateflow图表(Stateflow) |
组件——创建模型尺寸的变化
您可以使用符号维度来模拟各种维度的选择不重新生成代码集每集。这些符号传播整个模型在仿真,然后进入生成的代码。
目标 | 能力 | 例子 |
---|---|---|
存储在符号维度之间灵活切换变体的选择。 | 允许象征性的尺寸规格 | 生成代码与孩子子系统的不同变体子系统输出信号维度(嵌入式编码) |
创建参数变异有不同的维度。 | 象征性的维度在生成的代码(嵌入式编码) | 编译代码有条件地对所有变量参数的值相同和不同的维度 |
组件——创建模型与AUTOSAR接口的变化
你可以启用或禁用AUTOSAR接口或实现的执行路径中使用可变点AUTOSAR软件组件。在仿真金宝app软件,AUTOSAR系统常量作为输入来控制组件可变点。可变点存在两个或两个以上变量之间的选择。有关更多信息,请参见模型AUTOSAR变体(AUTOSAR Blockset)。
目标 | 能力 | 例子 |
---|---|---|
启用或禁用AUTOSAR港口和可运行。 | 变异的港口和可运行(AUTOSAR Blockset) | 为AUTOSAR港口和可配置变量(AUTOSAR Blockset) |
改变AUTOSAR的实现runnable通过指定变量在运行的条件。 | 变异可实现(AUTOSAR Blockset) | 为AUTOSAR Runnable实现配置变量(AUTOSAR Blockset) |
模型AUTOSAR校准数据结合不同类型的变异情况。 | 出口可变点AUTOSAR校准数据(AUTOSAR Blockset) | |
进口可变点AUTOSAR软件组件。 | 预定义的变量和系统常量值集(AUTOSAR Blockset) | 控制AUTOSAR变体使用预定义的值的组合(AUTOSAR Blockset) |
存储维度AUTOSAR的元素,如港口,在符号之间灵活切换代码编译过程中可变点。 | 变体数组的大小(AUTOSAR Blockset) | 配置维度AUTOSAR数组大小的变异(AUTOSAR Blockset) |
AUTOSAR组件之间灵活切换后的代码编译和部署在一个电子控制单元(ECU)。 | AUTOSAR软件组件配置Postbuild变异条件(AUTOSAR Blockset) | |
AUTOSAR元素之间灵活切换值组合代码编译之前,或之后的代码被编译和部署在一个ECU。 | 配置不同的参数值对AUTOSAR元素(AUTOSAR Blockset) |
组件,管理结构模型的变化
变体经理允许您可视化跟踪变化,同时管理可变性,防止无效的变体组合系统模型或变体Stateflow图转换。你也可以简化变体模型通过自动减少到只包含所选的变体。有关更多信息,请参见仿真软件的变体经理金宝app。
目标 | 能力 | 例子 |
---|---|---|
可视化树视图的一个变体模型层次结构和编辑属性元素的变体。 |
管理不同的元素 | |
创建变量配置来表示模型层次结构变体选择的组合。 |
仿真软件的变体经理金宝app | 创建和配置激活变体 |
定义变量的约束组合配置,防止无效的变体。 |
限制变量配置 | 定义变量配置的约束 |
创建一个变量配置数据对象存储、分发、配置模型和重用变体。 |
变体配置数据对象 | 保存配置使用变量配置数据对象和重用变体 |
验证和配置一个变体应用到一个模型在更新图的早期阶段。 |
激活一个变种的配置 | 创建和配置激活变体 |
自动生成一个简化模型,从父母模型只包含所选变量配置有许多变体。 |
减少变异模型使用变异减速机 | 减少模型包含变种 |
可视化并比较不同配置来定位和诊断潜在的错误或不一致的配置。 |
分析不同配置模型中包含变种块 |
生成的代码
您可以包括在生成的代码重用和配置不同的发展阶段的代码,如测试不同的实现或为第三方提供多功能的代码。
结构不同系统的生成代码
您可以指定的可变性变体被包括在生成的代码块。还可以控制外观、位置,定义和声明的变量控制在生成的代码中。
目标 | 能力 | 例子 |
---|---|---|
生成的代码包含活跃的和不活跃的变体,并允许您之前的变体之间切换代码编译。 | 代码编译 |
|
生成一个可执行文件,其中包含活跃的和不活跃的变体,并允许您之间切换的变异模式启动。 | 启动 | |
之间共享变量控制多个块,单独从他们的数据类型和其他属性值,控制外观、位置,定义和声明的变量控制在生成的代码中。 | 金宝appSimulink.Parameter |
金宝appSimulink.ParameterType of Variant Control Variables for Code Generation in Variant Blocks |
提高代码可读性代表变量控制生成的代码有意义的名字,而不是整数。 |
金宝app仿真软件枚举 |
为不同参数值生成代码
您可以指定变量参数的可变性是包括在生成的代码中。还可以控制外观、位置,定义和声明的变量控制和变异参数在生成的代码中。有关更多信息,请参见选项代表变异参数生成的代码(嵌入式编码)。
目标 | 能力 | 例子 |
---|---|---|
代码生成一个包含所有变体之间的变异,并使您切换之前代码编译。 | 代码编译 | 编译代码有条件地对所有变量参数的值相同和不同的维度 |
生成一个可执行文件,其中包含所有变异,并使您的变体之间的切换模式启动。 | 启动 | 运行可执行不同的变异参数值而无需重新编译代码 |
之间共享变量控制多个块,单独从他们的数据类型和其他属性值,控制外观、位置,定义和声明的变量控制在生成的代码中。 | 金宝appSimulink.ParameterType of Variant Control Variables for Code Generation of Variant Parameters | |
提高代码可读性代表变量控制作为有意义的名字,而不是整数。 |
金宝app仿真软件枚举 | 枚举类型来改善代码的可读性变异控制变量的变量参数 |
提高代码可读性变异参数值表示为有意义的名字,而不是整数。 |
金宝app仿真软件枚举 | 提高代码的可读性变体使用枚举类型参数 |
为不同过渡路径生成代码
您可以使用变量转换在仿真软件中创建Stateflow图表模型生成代码中使用各种不同的软件的情况。金宝app变体转换允许你模型的变化在一个Stateflow图表的一个完整的子集,这样你可以选择哪些变异生成代码时或者当你编译生成的代码。
目标 | 能力 | 例子 |
---|---|---|
生成的代码只包含数据成员需要执行当前选中的软件配置。 | 从Stateflow生成C或c++代码块(Stateflow) | 创建变量配置在Stateflow图表(Stateflow) |
生成代码的不同维度
您可以使用符号维度来模拟各种维度的选择不重新生成代码集每集。这些符号传播整个模型在仿真,然后进入生成的代码。
目标 | 能力 | 例子 |
---|---|---|
维存储在代码编译期间符号变体之间灵活切换。 | 允许象征性的尺寸规格 | 生成代码与孩子子系统的不同变体子系统输出信号维度(嵌入式编码) |
维存储在自动生成符号变体之间灵活切换参数值在代码编译。 | 象征性的维度在生成的代码(嵌入式编码) | 编译代码有条件地对所有变量参数的值相同和不同的维度 |
存储维度AUTOSAR的元素,如港口,在符号之间灵活切换代码编译过程中可变点。 | 变体数组的大小(AUTOSAR Blockset) | 配置维度AUTOSAR数组大小的变异(AUTOSAR Blockset) |
组件测试和系统级测试
您可以识别隐藏的设计错误和检测模型结构的变异导致整数溢出,死去的逻辑,数组访问违规,除零使用通过生成测试用例金宝app仿真软件设计验证器。有关更多信息,请参见使用仿真软件对系统模型验证设计验证器金宝app(金宝app仿真软件设计验证器)。
您可以进一步执行用户定义的测试在两个活跃的和不活跃的变体在模型中使用金宝app仿真软件测试。
目标 | 能力 | 例子 |
---|---|---|
分析积极变异检测的设计错误,违反要求通过生成测试用例进行调试。 | 代码编译 | 看到SLDV运行工作流在验证和验证变体模型与代码编译激活时间 |
分析活跃的和不活跃的变异检测违反设计错误和需求通过生成测试用例进行调试。 |
启动 | 看到SLDV运行工作流在验证和验证变体模型启动激活时间 |
分析只有积极的变异和重新运行测试来分析所有变体。 |
代码编译 | 看到金宝app仿真软件测试经理工作流在验证和验证变体模型与代码编译激活时间 |
迭代测试运行在活跃的和不活跃的变异不重新编译模型为每一个变体。 |
启动 | 看到金宝app仿真软件测试经理工作流在验证和验证变体模型启动激活时间 |