主要内容

什么是规范模型?

当根据需求系统地验证设计模型时,开发过程涉及为每个需求生成测试用例。这些测试验证用于生产代码生成的设计模型,并帮助获得设计模型满足需求的信心。规格型号是一个可执行实体,允许您通过利用万博1manbetx®设计验证器™能力。

如果您有一组以自然语言文本编写的需求,则可以使用Simulink将其转换为正式(可执行)规范。然后这些就变成了一个万博1manbetx规格型号。与设计模型不同,规范模型仅指定应该做什么,而不是如何做。它捕获较高级别的需求,隐藏较低级别的详细信息。

使用规范模型的优点是:

  • 它以系统的方式验证需求集。

  • 它自动化了基于需求的测试。

  • 它有助于在开发阶段的早期识别需求和设计模型中缺少的需求、设计错误或不一致。

使用规范模型进行基于需求的测试

对于基于需求的测试,从规范模型生成的测试用例用于根据需求验证设计模型。对于使用规范模型的基于需求的测试,请遵循以下步骤:

  1. 在需求编辑器中编写需求。用自然语言编写需求,描述所设计系统的行为。

  2. 构建一个规范模型。将规范模型设计为需求的可执行表示。此活动可能会揭示导致需求细化的问题。

  3. 链接要求。将单个需求或子需求链接到规范模型的各个部分。

  4. 为规范模型生成测试。每个需求至少生成一个测试,以证明其符合该需求。

  5. 创建一个测试转换子系统。规范和设计模型可能不使用相同的输入输出接口。使用测试转换系统转换步骤4中生成的测试用例。

  6. 开发设计模型。使用需求文档独立开发设计模型。将需求链接到设计模型。

  7. 验证设计并分析覆盖范围。在步骤6中开发的设计模型上运行步骤5中生成的测试,并验证结果是否符合规范模型和要求。生成设计模型覆盖率报告,以确定缺失的覆盖率,并根据需要细化需求。

规范模型工作流

创建规范模型

考虑自动驾驶仪控制器模型使用规范模型进行基于需求的测试.对于本演示,需求包括逻辑和时间开环条件。

按照以下步骤为需求创建规范模型:

确定规范模型接口

列出与需求相关的规范模型的输入和输出信号。您可以忽略与当前需求无关的信号。

这些是基于要求的自动驾驶仪控制器的输入信号:

  1. 自动驾驶仪接合开关:启用/禁用自动驾驶仪控制器

  2. 航向接合开关:接合时,启用航向保持模式否则滚动保持模式是活跃的

  3. 滚动参考目标旋钮:向自动驾驶仪控制器提供所需横滚角值的刻度盘

  4. 航向基准旋钮:给出航向模式的设定值

  5. 飞机侧倾角:飞机当前瞬时横滚角

这些是输出信号:

  1. 副翼指令:副翼执行器的输出

  2. 滚动参考指令:显示窗口上的输出,指示副翼执行器的设定值

对信号值使用高级表示

某些信号在规范中以更高级别表示。建议在规范模型中使用类似范围的高级表示来表示信号。

考虑输入信号飞机侧倾角,它代表飞机的当前侧倾角,并且在间隔180到180度之间取任何值。

这些要求描述了自动驾驶仪控制器在区域方面的行为。这些区域使用枚举进行建模范围.

下图显示了这五个区域。

确定高级操作模式

这些要求规定了高级AP控制器模式及其激活条件,如下所示:

自动驾驶模式 自动驾驶仪接合开关 航向接合开关
不在乎
滚动保持模式 在…上
航向保持模式 在…上 在…上

确定每个需求的前提条件、影响和预期输出

考虑以下要求:

“只要转动旋钮滚动参考目标旋钮(滚动参考)在正常范围内指挥(在[-30,-3]或[+3,+30]度之间),滚动参考(滚动参考指令)应设置为滚动参考."

确定前提条件和效果。上述要求包括两个条款:

  1. 前提条件:滚动参考处于负正常范围[-30,-3]或正正常范围[+3,+30]。

    此前提条件是一个简单的逻辑OR表达式,因此使用真值表来表示逻辑前提条件。

  2. 效果:设置滚动参考指令滚动参考。effect子句指定预期范围内的输出信号值。

需求的前提条件子句确定其何时激活,而效果子句确定其激活后将执行的操作。

上述要求对本合同无影响副翼指令艾尔·库姆输出,因此它被视为射程,全部表示所有可能值的集合。

为需求创建真值表

  • 将需求的前提条款编码到真值表的条件表部分,将效果条款编码到动作表部分。

  • 要单独跟踪每个需求,请将局部变量REQ_ID设置为相应的需求ID 2.1。

  • 使用以下语句万博1manbetx添加Simulink Design Verifier objective in Action表sldv试验(请求ID==2.1)。万博1manbetxSimulink设计验证程序在满足REQ_ID 2.1时查找测试。

最终规格型号

使用上述工作流获得的最终规范模型如下所示:

另见