CN114638085A - 用于利用仿真评估模块开发系统模型的计算装置和方法 - Google Patents

用于利用仿真评估模块开发系统模型的计算装置和方法 Download PDF

Info

Publication number
CN114638085A
CN114638085A CN202111539191.5A CN202111539191A CN114638085A CN 114638085 A CN114638085 A CN 114638085A CN 202111539191 A CN202111539191 A CN 202111539191A CN 114638085 A CN114638085 A CN 114638085A
Authority
CN
China
Prior art keywords
simulation
model
evaluation module
simulation model
signals
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111539191.5A
Other languages
English (en)
Inventor
布鲁诺·豪尔赫·科雷亚·格拉西奥
丹尼尔·拉米罗·雷沃略
彼得·范·吉尔斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boeing Co
Original Assignee
Boeing Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Boeing Co filed Critical Boeing Co
Publication of CN114638085A publication Critical patent/CN114638085A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/333Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

提供了用于利用仿真评估模块开发系统模型的计算装置和方法。在该方法中,设计了被配置为数字仿真系统的对应部分的仿真模型。该方法还包括将仿真评估模块与仿真模型相关联。仿真评估模块被配置为验证在仿真模型内传播的一个或多个信号。在仿真评估模块已经验证了一个或多个信号的情况下,该方法包括对仿真模型执行单元测试以确认仿真模型的正确操作。在单元测试成功的情况下,该方法包括集成多个仿真模型以形成系统模型。

Description

用于利用仿真评估模块开发系统模型的计算装置和方法
技术领域
示例实施例总体上涉及用于开发系统模型的计算装置和方法,并且更具体地,涉及用于开发包括被配置为验证在仿真模型内传播的一个或多个信号的仿真评估模块的系统模型的计算装置和方法。开发了各种系统的数字模型以仿真对应系统,并在制造对应系统之前验证系统在各种操作条件下的正确操作。此外,在数字模型指示对应系统在至少某些操作条件下可能不能按预期执行的情况下,可以识别可能产生与期望操作性能偏差的系统的部分,从而允许系统被重新配置,以便以有效和及时的方式实现期望操作性能。
背景技术
基于系统模型的设计(sysMBD)开发的模型可以数字化地复制对应系统,同时保证模型符合对应系统的要求。在基于模型的系统设计过程中,低级模型最初是在单个基础上开发的,并且此后集成以形成系统模型。一旦开发出模型,就对单个模型进行单元测试以验证模型是否满足相关的低级需求。在开发了多个模型并成功地通过了相应的单元测试之后,集成模型组,并利用一个或多个集成测试在上层验证所得到的模型组的执行。一旦所有的单个模型已经被开发并在单个基础上成功测试,并且然后在较高级别上进行集成和分组测试,就可以执行系统级测试来验证整个系统模型满足预期的要求。如果满足系统级测试,则所得到的系统模型已经成功验证并且可以尤其用于仿真对应系统的执行。
在测试过程期间,可以向模型、模型组或系统模型提供一个或多个输入,并且可以从模型、模型组或系统模型接收一个或多个输出。在获得响应于输入的期望输出的情况下,可以验证模型、模型组或系统模型。然而,在某些情况下,输出并不满足,并且相反,与响应于输入的预期输出不同。在这种情况下,模型、模型组或系统模型未被成功验证,并且开始故障排除过程以调试模型、模型组或系统模型。该故障排除过程不仅可能导致对一个或多个模型的修改,而且还可能导致必须在对应系统中进行类似的修改,以确保对应系统也正常操作。系统级的重新设计可能复杂且昂贵,因为系统已经建成。
模型、模型组或系统模型通常通过应用一组输入并且然后分析模型的输出和/或一个或多个内部信号来测试。模型的输出和/或一个或多个内部信号可以以各种方式呈现,包括例如通过使用示波器或对应的数字范围以视觉方式呈现。验证最终集成以形成系统模型的模型的操作的过程可能是耗时的过程,因为系统模型通常是由数百个甚至数千个模型形成的,在将模型集成到系统模型中并且然后进一步验证系统模型的操作之前,每个模型必须单独验证,并且在某些情况下调试。该验证过程不仅通常耗时,而且该过程可能还需要由模型开发人员的一个或多个团队对系统和模型之间的低级信号和接口的广泛了解,以便任何特定模型的模型开发人员了解特定低级模型表现的方式并执行验证模型的正确操作所需的特定仿真。这些与单个模型的验证有关的挑战可能导致模型被集成到尚未经过充分测试和验证的系统模型中,从而潜在地导致在执行集成测试或系统测试期间的不一致。由于多个模型的集成,在集成测试和系统测试期间的这些不一致对于故障排除甚至更具有挑战性,并且对于调试更耗时,这些模型中的任何一个模型可能已经导致集成测试或系统测试所注意到的不一致。
发明内容
根据示例实施例提供了计算装置、方法和计算机程序产品以便开发系统模型,该系统模型的操作可以以有效的方式验证。就这一点而言,示例实施例的计算装置、方法和计算机程序产品利用仿真评估模块来验证在构建系统模型的仿真模型内传播的一个或多个信号。因此,在与其他仿真模型集成之前,可以在低级别验证仿真模型的执行,并且未按预期执行的仿真模型可以在集成之前经历故障排除过程以有效的方式调试仿真模型。因此,由于在集成之前已经识别并校正了关于仿真模型的任何问题,因此可以在更多的实例中成功地验证在集成多个仿真模型之后随后执行的集成测试和系统测试,从而提高了可以开发系统模型的效率。
在示例实施例中,提供了用于开发系统模型的方法。该方法包括设计被配置为数字仿真系统的对应部分的仿真模型。该方法还包括将仿真评估模块与仿真模型相关联。仿真评估模块被配置为验证在仿真模型内传播的一个或多个信号。在仿真评估模块已经验证了一个或多个信号的情况下,该方法包括使用测试用具(test harness)对仿真模型执行单元测试以确认仿真模型的正确操作。在单元测试成功的情况下,该方法包括集成多个仿真模型以形成系统模型。
示例实施例的仿真模型具有一个或多个输入和一个或多个输出。在该示例实施例中,该方法通过响应于一个或多个输入来评估仿真模型的一个或多个输出来执行单元测试。在该示例实施例中,仿真评估模块还可以被配置为验证在仿真模型内传播并且不同于仿真模型的一个或多个输出的一个或多个内部信号。
示例实施例的方法通过定义由仿真评估模块实现的验证逻辑、通过定义对未能验证在仿真模型内传播的一个或多个信号的响应和/或通过定义是否将记录与在仿真模型内传播的一个或多个信号的验证相关联的数据,将仿真评估模块与仿真模型相关联。在示例实施例中,该方法将多个仿真评估模块与仿真模型相关联。本示例实施例的每个仿真评估模块被配置为验证在仿真模型内传播的信号之间的不同关系或一个或多个不同信号。在示例实施例中,该方法通过至少部分地基于仿真评估模块的验证结果创建单元测试来对仿真模型执行单元测试。示例实施例的仿真评估模块被配置为验证两个或多个信号的关系或一个或多个信号的值。
在另一示例实施例中,提供了被配置为开发系统模型的计算装置。该计算装置包括处理电路,该处理电路被配置为接收输入以设计被配置为数字仿真系统的对应部分的仿真模型。处理电路还被配置为将仿真评估模块与仿真模型相关联。仿真评估模块被配置为验证在仿真模型内传播的一个或多个信号。在仿真评估模块已经验证了一个或多个信号的情况下,处理电路还被配置为使用测试用具对仿真模型执行单元测试以确认仿真模型的正确操作。在单元测试成功的情况下,处理电路还被配置为集成多个仿真模型以形成系统模型。
示例实施例的仿真模型具有一个或多个输入和一个或多个输出。在该示例实施例中,处理电路被配置为通过响应于一个或多个输入评估仿真模型的一个或多个输出来执行单元测试。在该示例实施例中,仿真评估模块还可以被配置为验证在仿真模型内传播并且不同于仿真模型的一个或多个输出的一个或多个内部信号。
示例实施例的处理电路被配置为通过定义由仿真评估模块实现的验证逻辑、通过定义对未能验证在仿真模型内传播的一个或多个信号的响应和/或通过定义是否将记录与在仿真模型内传播的一个或多个信号的验证相关联的数据来将仿真评估模块与仿真模型相关联。在示例实施例中,处理电路被配置为将多个仿真评估模块与仿真模型相关联。本示例实施例的每个仿真评估模块被配置为验证在仿真模型内传播的信号之间的不同关系或一个或多个不同信号。在示例实施例中,处理电路被配置为通过至少部分地基于仿真评估模块的验证结果创建单元测试来对仿真模型执行单元测试。示例实施例的仿真评估模块被配置为验证两个或多个信号的关系或一个或多个信号的值。
在进一步的示例实施例中,提供了被配置为开发系统模型的计算机程序产品。该计算机程序产品包括具有存储在其上的程序代码的非暂时性计算机可读介质,其中,该程序代码包括被配置为在执行时接收输入以设计被配置为数字仿真系统的对应部分的仿真模型的程序代码指令。程序代码还包括被配置为将仿真评估模块与仿真模型相关联的程序代码指令。仿真评估模块被配置为验证在仿真模型内传播的一个或多个信号。在仿真评估模块已经验证了一个或多个信号的情况下,程序代码还包括被配置为使用测试用具对仿真模型创建和执行单元测试以确认仿真模型的正确操作的程序代码指令。在单元测试成功的情况下,程序代码还包括被配置为集成多个仿真模型以形成系统模型的程序代码指令。
示例实施例的仿真模型具有一个或多个输入和一个或多个输出。在该示例实施例中,程序代码指令被配置为通过响应于一个或多个输入评估仿真模型的一个或多个输出来执行单元测试。在该示例实施例中,仿真评估模块还可以被配置为验证在仿真模型内传播并且不同于仿真模型的一个或多个输出的一个或多个内部信号。
示例实施例的程序代码指令被配置为通过定义由仿真评估模块实现的验证逻辑、通过定义对未能验证在仿真模型内传播的一个或多个信号的响应和/或通过定义是否将记录与在仿真模型内传播的一个或多个信号的验证相关联的数据,将仿真评估模块与仿真模型相关联。在示例实施例中,程序代码指令被配置为将多个仿真评估模块与仿真模型相关联。本示例实施例的每个仿真评估模块被配置为验证在仿真模型内传播的信号之间的不同关系或一个或多个不同信号。在示例实施例中,程序代码指令被配置为通过至少部分地基于仿真评估模块的验证结果创建单元测试来对仿真模型执行单元测试。示例实施例的仿真评估模块被配置为验证两个或多个信号的关系或一个或多个信号的值。
附图说明
已经如此以一般术语描述了本公开的某些示例实施例,下文将参考附图,附图不必按比例绘制,并且在附图中:
图1是根据本公开的示例实施例的仿真模型和仿真评估模块的示例;
图2示出了根据本公开的另一示例实施例的另一仿真模型和相关联的仿真评估模块;
图3是示出根据本公开的示例实施例的可以具体配置的计算装置的框图;
图4是示出根据本公开的示例实施例的诸如由图3的计算装置执行的操作的流程图;
图5示出了根据本公开的示例实施例的可以诸如由图3的计算装置呈现以便配置仿真评估模块的图形用户界面;
图6示出了根据本公开的示例实施例的与两个不同的仿真评估模块相关联的仿真模型;
图7是示出根据本公开的示例实施例在仿真期间诸如由图3的计算装置执行的操作的流程图;以及
图8是示出根据本公开的示例实施例的诸如由图3的计算装置为了至少部分地基于仿真评估模块的验证结果创建单元测试而执行的操作的流程图。
具体实施方式
现在将在下文中参考附图更全面地描述本公开,其中,示出了一些但不是所有方面。实际上,本公开可以以许多不同的形式体现并且不应被解释为限于本文所阐述的方面。相反,提供这些方面使得本公开将满足适用的法律要求。在全文中,相同的标号是指相同的元件。
提供了计算装置、方法和计算机程序产品以便利用仿真评估模块来开发系统模型以验证在构建系统模型的仿真模型10内传播的一个或多个信号。系统模型是对应系统的数字模型。该系统模型允许对应系统的执行进行数字仿真以便确定系统模型以及因此对应系统在所有各种操作条件下是否按预期操作。系统模型可以对应于包括通信系统、控制系统等的各种不同类型的系统中的任何一个。系统模型所对应的系统不仅可以是各种不同类型以便服务于不同的应用,而且还可以以各种方式构建,包括例如基于软件的系统。
通过利用系统模型仿真对应系统的执行,可以识别系统模型以及因此对应系统不能正确执行的实例,并且可以制定故障排除过程以调试系统模型。基于故障排除过程的结果和对系统模型的修改,可以类似地修改对应系统,使得对应系统在修改之后也将正确地操作。通过利用系统模型仿真系统的执行,并且然后在必要时实施与系统模型相关的故障排除过程,相对于系统本身经历故障排除过程而没有对系统模型执行的仿真的益处的过程,对应系统也可以以有效且及时的方式调试。
尽管可以以各种方式配置系统模型,但是示例实施例的系统模型包括一个或多个单元,每个单元包括被集成以形成系统模型的一个或多个仿真模型。每个仿真模型10执行对应系统的相应部分的功能。在一个实施例中,每个单元包括被集成以形成相应单元的多个仿真模型。在一些实施例中,可以将多个单元集成到一组单元中,并且可以进而将多组单元集成以形成系统模型。
仿真模型10可以被配置为根据由仿真模型10表示的对应系统的相应部分来执行各种不同的功能。在图1和图2中示出了仿真模型10的两个示例。然而,图1和图2的仿真模型10是作为示例而不是作为限制而呈现的,因为其他仿真模型可以被配置为执行多种其他功能。在图1中,仿真模型10接收输入12,并且仿真模型10生成指定为X、Y和Z的三个输出。仿真模型10包括将输入加倍的放大器14和将由放大器生成的结果值限制为等于或位于上限与下限之间的限制器16。输出X表示限制器的输出,输出Y表示放大器的输出,并且输出Z表示到放大器的输入。如图1所示,仿真评估模块18与仿真模型10相关联,并用于验证通过仿真模型10传播的一个或多个信号满足预定义要求。例如,与图1的仿真模型10相关联的仿真评估模块接收输出X和Y,并且可以被配置为针对每个时间实例验证输出X的绝对值小于或等于输出Y的绝对值。如果仿真模型10要正确地操作,则在所有条件下都必须满足由仿真评估模块验证的这种关系。
作为另一示例,图2描绘了另一仿真模型10。图2的仿真模型10包括指定为1、2和3的三个输入。输入1和3分别限定范围的上限和下限,并且输入2是输入信号,该输入2分别由比较器电路20和比较器电路21以及与电路22与上限和下限进行比较以确定输入信号是处于范围内还是范围外。就这一点而言,比较器电路20将输入信号与上限进行比较,在输入信号小于或等于(LT.EQ.UPPER LIMIT)的情况下,比较器电路20提供正输出。比较器电路21还将输入信号与下限进行比较,在输入信号大于或等于(GT.EQ.LOWER LIMIT)的情况下,比较器电路21提供正输出。仿真模型10生成指定为有效的输出信号24,该输出信号24在输入信号落在由上限和下限限定的范围内的情况下为真,否则为假。该范围的上限和下限可以是恒定的,或者可以基于输入1和3随时间变化。
在图2的示例实施例中,仿真评估模块18与仿真模型10相关联以验证在所有时间实例中,由输入1定义的范围的上限的值超过由输入3定义的范围的下限的值。因此,即使在仿真模型10由未开发仿真模型10的设计者利用的情况下,并且因此可能不熟悉仿真模型10的操作和仿真模型10操作所依据的假设,诸如在仿真模型10被包括在任何数量的设计者引用的仿真模型库中的情况下,仿真评估模块确保仿真模型10被其他设计者适当地利用。如图2所示,与仅验证输出而不考虑提供输出的内部逻辑的常规测试相比,示例实施例的仿真评估模块验证提供输出的逻辑的正确操作。
为了验证由多个仿真模型组成的系统模型的操作,示例实施例的计算装置30、方法和计算机程序产品利用与相应仿真模型相关联的仿真评估模块以便基于通过相应仿真模型传播的一个或多个信号来验证相应仿真模型的正确操作。仿真评估模块能够在将仿真模型集成到单元之前,以及在将单元集成到一组单元之前以及进而在将单元集成到系统模型之前,在低级别验证仿真模型的至少某些操作方面。因此,对仿真评估模块的结果的评估允许识别仿真模型10在某些操作条件下不能按预期执行的情况,并允许制定故障排除过程以便在仿真模型10集成之前调试仿真模型10。通过在仿真模型的低级别识别操作中的错误,与在仿真模型10与其他仿真模型集成之后执行故障排除和调试相比,故障排除和调试过程可以在sysMBD开发生命周期中更有效和更早地执行。作为由仿真评估模块提供的验证的结果,与在集成多个仿真模型后首先结合系统模型执行故障排除和调试过程相比,仿真模型的正确操作的置信度以及整体系统模型正确操作的置信度更高。
被配置为根据示例实施例开发系统模型的计算装置30可以由多种不同类型的计算机或计算机系统中的任何一种来实现。例如,计算装置30可以由服务器、计算机工作站、分布式计算装置的网络、个人计算机等实现。然而,无论以何种方式实现计算装置30,计算装置30可以包括处理电路32、存储装置34和可选的通信接口36和/或用户界面38、与处理电路32、存储装置34和可选的通信接口36和/或用户界面38相关联或通信,如图3所示。
处理电路32例如可以体现为各种装置(means),包括一个或多个微处理器、一个或多个协处理器、一个或多个多核处理器、一个或多个控制器、一个或多个计算机、包括诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)的集成电路的各种其他处理元件或其一些组合。在一些示例实施例中,处理电路32被配置为执行存储在存储装置34中的指令或处理电路32以其他方式可访问的指令。当由处理电路32执行时,这些指令可以使计算装置30执行本文描述的一个或多个功能。因此,计算装置30可以包括能够在被相应地配置的同时执行根据本公开的实施例的操作的实体。因此,例如,当处理电路32被体现为ASIC、FPGA等时,处理电路32以及相应地计算装置30可以包括用于执行本文描述的一个或多个操作的特定配置的硬件。可选地,作为另一示例,当处理电路32被体现为诸如可以存储在存储装置34中的指令的执行器时,指令可以具体配置处理电路32并进而配置计算装置30以执行本文描述的一个或多个算法和操作。
存储装置34可以例如包括非易失性存储器。存储装置34可以例如包括硬盘、随机存取存储器、高速缓存存储器、闪存、光盘(例如,光盘只读存储器(CD-ROM)、数字多功能盘只读存储器(DVD-ROM)等)、被配置为存储信息的电路或其一些组合。就这一点而言,存储装置34可以包括任何非暂时计算机可读存储介质。根据本公开的示例实施例,存储装置34可以被配置为存储信息、数据、应用程序、指令等,以使计算装置30(诸如处理电路32)能够执行各种功能。例如,存储装置34可以被配置为存储由处理电路32执行的程序指令。
诸如如下所述,通信接口36可以与处理电路32和存储装置34通信,并且可以被配置为接收和/或发送数据。通信接口36可以例如包括一个或多个天线以及支持硬件和/或软件,用于实现与无线通信网络的通信。另外或可选地,通信接口36可以包括用于与天线交互以引起经由天线的信号的发送或处理经由天线接收的信号的接收的电路。在一些环境中,通信接口36可以可选地或也支持有线通信。
如果计算装置30包括用户界面38,则用户界面38可以与处理电路32和存储装置34通信,以接收用户输入的指示和/或向用户提供听觉、视觉、机械或其他输出。因此,用户界面38可以例如包括用于向用户提供视觉和听觉输出的显示器和一个或多个扬声器。用户界面38的其他示例包括键盘、鼠标、操纵杆、麦克风和/或其他输入/输出机构。
图4中描绘了根据示例实施例的诸如由计算装置30执行的操作。如图4的块40所示,计算装置30包括用于接收输入以设计被配置为数字仿真系统的对应部分的仿真模型10的装置,诸如处理电路32、通信接口36等。在一些实施例中,被配置为数字仿真系统的不同对应部分的多个仿真模型先前已经被开发了并且被计算装置30与之通信的存储装置34或数据库所容纳的库存储和检索。在该示例实施例中,被接收以设计仿真模型10的输入可以是识别要选择的库内的仿真模型10的输入。可选地,该示例实施例的输入可以是提供仿真模型10本身的输入,诸如定义仿真模型的软件代码或伪代码。在另一实施例中,仿真模型10可能先前没有被开发并且可用于选择。在这种情况下,被接收以设计仿真模型10的输入可以定义仿真模型10本身,诸如仿真模型10的不同元件以及这些元件互连的顺序和方式。
不管仿真模型10的设计方式如何,示例实施例的计算装置30还包括用于将仿真评估模块18与仿真模型10相关联的装置,诸如处理电路32等。参见图4的块42。仿真评估模块被配置为验证在仿真模型内传播的一个或多个信号。就这一点而言,仿真模型10通常具有一个或多个输入和一个或多个输出。与响应于预定义输入评估系统模型的输出的常规验证过程相反,一个示例实施例的仿真评估模块被配置为验证在仿真模型10内传播并且不同于仿真模型的一个或多个输出的一个或多个内部信号。对一个或多个内部信号的验证可以是对仿真模型的一个或多个输出的验证的补充或替代。就这一点而言,一些仿真评估模块评估仿真模型的内部信号,即,仿真模型10内既不是仿真模型的输入也不是仿真模型的输出的信号。可选地,仿真评估模块可以评估两个或多个输出,诸如两个或多个输出的关系,而不考虑输入。此外,另一示例实施例的仿真评估模块可以评估两个或多个输入,诸如与图2所示的两个或多个输入的关系,而不考虑仿真模型的输出。诸如图1所示,其他实施例评估内部信号和仿真模型的一个或多个输入或输出的组合。
在示例实施例中,处理电路32被配置为通过定义将由仿真评估模块实现的验证逻辑来将仿真评估模块18与仿真模型10相关联。验证逻辑定义将由仿真评估模块执行的在仿真模型10内传播的一个或多个信号的评估。如上面结合图1和图2所描述的,由仿真评估模块实现的验证逻辑可以定义两个或多个信号之间的关系,诸如通过要求一个信号具有比另一信号更大的值。结合仿真评估模块与仿真模型10的关联而定义的验证逻辑可以指定信号之间的各种关系中的任一种和/或可以定义独立于信号之间的任何关系的各个信号必须满足的其他条件,诸如具有恒定值的信号、信号为正、信号随时间减少等。
示例实施例的处理电路32还可以被配置为通过定义对未能验证在仿真模型内传播的一个或多个信号的响应来将仿真评估模块18与仿真模型10相关联。就这一点而言,所定义的响应规定仿真评估模块对未能验证在仿真模型内传播的一个或多个信号做出反应的方式。虽然可以定义各种类型的响应,但是对未能验证在仿真模型10内传播的一个或多个信号的一个响应可以是警告,在该警告中,识别了未能验证在仿真模型10内传播的一个或多个信号,但是系统模型的操作继续。警告可以由用户界面38呈现或经由通信接口36发送到一个或多个接收者。响应于警告,仿真模型10可以继续操作,尽管警告诸如由模型设计者标记以供考虑。可选地,对未能验证在仿真模型10内传播的一个或多个信号的响应可以是导致仿真模型10的操作停止的错误。所定义的响应类型(例如,警告或错误)可以取决于故障的严重程度,其中,较严重的故障被识别为错误,并且较不重要的故障被识别为警告。
另外或可选地,示例实施例的处理电路32可以被配置为通过定义是否将记录与在仿真模型10内传播的一个或多个信号的验证相关联的数据来将仿真评估模块18与仿真模型10相关联。在将记录数据的情况下,处理电路32被配置为存储数据,诸如存储在计算装置30与之通信的存储装置34或数据库中。可选地,如果不记录数据,则不存储与在仿真模型10内传播的一个或多个信号的验证相关联的数据。在将记录数据的情况下,可以记录各种不同类型的数据,包括例如执行验证的时间、在验证时(和/或在验证时间之前或之后)的一个或多个信号的相应值和/或在验证时与仿真模型10相关的其他条件。
因此,在记录数据的情况下,因此建立了在仿真模型10内传播的一个或多个信号的验证结果的记录。就这一点而言,在仿真模型10被验证为以预期方式执行的情况下,记录数据以证明仿真模型的正确执行。然而,在仿真模型10未按预期执行的情况下,记录的数据可以用于促进故障排除过程和调试仿真模型。
仿真评估模块18与仿真模型10的关联可以以各种方式执行。然而,在示例实施例中,计算装置30(诸如处理电路32)被配置为使图形用户界面诸如在用户界面38上被呈现,该图形用户界面请求来自模型设计者的关于与仿真模型相关联的仿真评估模块的输入。尽管可以呈现请求各种不同类型信息的各种不同图形用户界面,但是在图5中呈现图形用户界面60的一个示例。
如图所示,图形用户界面60提示模型设计者将对未能验证在仿真模型10内传播的一个或多个信号的响应定义为警告或错误。另外,所示实施例的图形用户界面提示模型设计者选择是否记录与在仿真模型10内传播的一个或多个信号的验证相关联的数据。此外,该示例实施例的图形用户界面提示模型设计者定义将由仿真评估模块18实现的验证逻辑。就这一点而言,验证逻辑定义诸如通过参考由仿真模型提供的信号的指定的诸如1、2、3、X、Y、Z等的待验证的特定信号以及待验证的单个信号的任何条件或状态和/或两个或多个信号之间的任何待验证关系。
尽管图1和图2描绘了与相应仿真模型10相关联的单个仿真评估模块18,但是另一示例实施例的处理电路32被配置为将多个仿真评估模块与相同的仿真模型相关联。图6中描绘了与两个仿真评估模块相关联的仿真模型10的示例。如图6所示,每个仿真评估模块被配置为验证在仿真模型内传播的信号之间的不同关系或一个或多个不同信号。
如图4的块44所示,计算装置30(诸如处理电路32)被配置为运行仿真模型10的仿真。在仿真评估模块18未能验证通过仿真模型传播的一个或多个信号的情况下,仿真模型10可以经受故障排除过程以便调试仿真模型10并确保所得到的仿真模型如调试的那样在所有操作场景下按预期执行。参见块46和48。在一些实施例中,计算装置30包括用于诸如在仿真评估模块已经提供警告和/或错误的情况下例如与模型设计者合作来执行故障排除过程的装置,诸如处理电路32等。可选地,故障排除过程可以诸如由模型设计者手动执行。根据仿真评估模块与仿真模型相关联的方式,可以记录与仿真模型10的验证相关联的数据。因此,可以引用已记录的数据以便于故障排除过程。
相反,在仿真评估模块18已经验证了在仿真模型10内传播的一个或多个信号的情况下,计算装置30包括用于使用测试用具对仿真模型10执行单元测试以确认仿真模型的正确操作的装置,诸如处理电路32等。参见图4的块50。如上所述,可以通过响应于对仿真模型的一个或多个输入来评估由仿真模型10提供的输出来对仿真模型10执行单元测试。如块52所示,在单元测试被确定为不成功的情况下,仿真模型10也可以经受作为块48的故障排除过程以便调试仿真模型。
然而,如块52所示,在确定单元测试成功的情况下,并且更具体地,在确定要集成的所有仿真模型都成功的情况下,计算装置30包括用于集成多个仿真模型以形成系统模型的装置,诸如处理电路32等。参见块54。尽管未在图4中描绘,但是系统模型也可以接受集成测试和/或系统测试,以确保正确操作或识别所得到的系统模型未按预期执行的情况以及应执行故障排除过程的情况。在一些实施例中,在将仿真模型组(但小于形成系统模型的所有仿真模型)集成到系统模型中并对所得到的系统模型进行系统测试之前,可以集成仿真模型组并进行集成测试(对于未通过集成测试的任何仿真模型组进行故障排除过程)。
通过使仿真模型10经受仿真评估模块18的仿真评估以验证通过仿真模型10传播的一个或多个信号(或识别应该执行故障排除过程的实例),可以减少单元测试、集成测试和/或系统测试未能验证相应仿真模型10或系统模型的实例的数量。因此,设计和验证系统模型的效率将提高,因为在集成之前对单个仿真模型进行故障排除和调试将比在集成之后对系统模型或仿真模型组进行故障排除更有效。
作为由仿真评估模块18支持的仿真模型10的仿真的示例,图7结合示例实施例描绘了诸如由图3的计算装置30执行的操作。如块70所示,计算装置30包括用于执行仿真模型的仿真从而执行仿真运行的装置,诸如处理电路32等。仿真的执行例如可以响应于由仿真模型10的设计者提供的执行仿真的指令。该示例实施例的计算装置30还包括用于诸如响应于设计者经由配置了仿真评估模块的图形用户界面60进行的选择来确定是否启用仿真评估模块的装置,诸如处理电路32等。参见块72。在尚未启用仿真评估模块的情况下,仿真评估模块将在仿真模型的仿真期间不操作。参见块74。
然而,在已经启用仿真评估模块18的情况下,计算装置30包括用于在仿真评估模块的入口端口处识别信号的装置,诸如处理电路32。参见块76。关于图1的仿真评估模块,仿真评估模块的入口端口的信号是分别表示限制器16和放大器14的输出的输出X和Y。作为另一示例,关于图2的仿真评估模块,仿真评估模块的入口端口的信号是分别定义范围的上限和下限的输入1和3。本示例实施例的计算装置30还包括用于解析仿真评估模块的验证逻辑以便将由验证逻辑定义的变量与识别仿真评估模块的入口端口的信号匹配的装置,诸如处理电路32。参见块78。
在图7所示的示例实施例中,计算装置30还包括用于确定由验证逻辑定义的变量是否与仿真评估模块18的入口端口匹配的装置,诸如处理电路32。参见块80。例如,计算装置30(诸如处理电路32)可以被配置为确定与模型设计者经由图形用户界面60提供的验证逻辑相关联而定义的变量是否对应于定义为通过仿真模型10传播并与仿真评估模块的入口端口相关联的信号。在验证逻辑被计算装置30(诸如处理电路32)确定为无效的情况下,诸如在验证逻辑识别不通过仿真模型10传播或不与仿真评估模块的输入端口相关联的信号的情况下,仿真评估模块的操作可以终止,例如退出,并且可以提供指示验证逻辑无效的消息。
然而,在通过块80确定验证逻辑有效的情况下,所示实施例的计算装置30包括用于确定在仿真运行的当前时间实例期间是否满足仿真评估模块18的验证逻辑的装置,诸如处理电路32。参见块82。在至少一些实施例中,由仿真评估模块执行的仿真针对多个顺序时间实例中的每一个执行,使得可以监视仿真模型10响应于各种输入信号在时间过程中的操作。在仿真运行的特定实例不满足验证逻辑的情况下,仿真评估模块确定要提供的响应类型,例如,警告或错误,如块84所示。在相对于图1的示例实施例中,其中,验证逻辑针对每个时间实例确定输出X的绝对值是否小于或等于输出Y的绝对值,计算装置30(诸如处理电路32)可以被配置为在某些情况下在输出X的绝对值超过输出Y的绝对值的情况下确定不满足验证逻辑。作为关于图2的另一示例,其中,验证逻辑要求由输入1定义的范围的上限的值超过由输入3定义的范围的下限的值,处理电路32可以被配置为在某些情况下在输入3大于输入1的情况下确定不满足验证逻辑。
关于要由仿真评估模块18提供的响应,在图形用户界面60允许配置仿真评估模块的模型设计者将响应定义为错误或警告的示例实施例中,计算装置30包括用于确定要提供的响应是否已被选择为警告的装置,诸如处理电路32。在响应未被选择为警告并且因此被认为是错误的情况下,该示例实施例的计算装置30包括用于停止仿真的装置(诸如处理电路32)和用于提供错误指示(即,违反与仿真评估模块相关联的验证逻辑)的装置(诸如处理电路32、通信接口36、用户界面38等)。参见块86。然而,在不满足验证逻辑的情况下提供的响应是警告的情况下,计算装置30包括用于提供警告的装置(诸如处理电路32、通信接口36、用户界面38等),诸如通过经由用户界面38向模型设计者呈现警告和/或通过记录警告诸如通过记录警告以诸如通过计算装置30与之通信的存储装置34或数据库进行存储。参见块88。
在记录警告的情况下,诸如在故障排除期间,还可以记录与违规或验证逻辑相关联的信息以用于分析违规。尽管可以记录各种信息,但是可以记录的信息的示例包括违反验证逻辑的时间、不满足验证逻辑的时间处仿真评估模块18的入口端口处的信号的值,以及在一些实施例中,在违反验证逻辑的时间实例之前的一个或多个时间实例处仿真评估模块的入口端口处的信号的值。在记录数据之后,计算装置30(诸如处理电路32)可以进行到仿真的下一个时间步骤。
然而,在满足验证逻辑的情况下,示例实施例的计算装置30包括用于确定仿真评估模块18是否被配置为记录与仿真评估模块的操作相关联的数据的装置,诸如处理电路32。参见块90。在仿真评估模块已被配置为记录与仿真评估模块的操作相关联的数据的情况下,计算装置30包括用于记录数据的装置(诸如处理电路32、存储装置34等),诸如通过提供数据诸如通过计算装置30与之通信的存储装置34或数据库进行存储。参见块92。虽然可以记录各种数据,但是可以记录的信息的示例包括在多个不同时间实例中的每一个的仿真评估模块18的入口端口处的信号的值。
在所示的实施例中,无论验证逻辑是否满足,也无论是否要记录数据,计算装置30包括用于诸如通过针对最终时间实例执行确定仿真评估模块18的评估是否已经完成的装置,诸如处理电路32。参见块94。在计算装置30(诸如处理电路32)确定针对最终时间实例(例如,最终时间步骤)已经执行了仿真评估模块的操作的情况下,停止仿真。参见块98。然而,在计算装置30(诸如处理电路32)确定针对最终时间实例尚未执行仿真评估模块的操作的情况下,计算装置30(诸如处理电路32)被配置为通过进行到下一个时间步骤来重复针对每个后续时间实例顺序地确定是否满足验证逻辑的处理。参见块96。然而,如图7的示例实施例所示,计算装置30(诸如处理电路32)不需要确定是否已经启用仿真评估模块,不需要识别仿真评估模块的入口端口处的信号,不需要解析验证逻辑以识别要由验证逻辑考虑的信号,并且不需要针对每个后续时间实例验证验证逻辑,而是仅针对初始时间实例验证逻辑,从而提高仿真评估模块在时间上针对多个顺序实例执行仿真的效率。
如上所述,在仿真评估模块18成功验证通过仿真模型10传播的信号之后,可以相对于仿真模型10或已经集成的一组仿真模型执行单元测试。当不同组的输入被提供给仿真评估模块时,单元测试通常考虑仿真模型10在时间过程中的输出,以便确定仿真模型10是否按预期执行。在示例实施例中,计算装置30(诸如处理电路32)被配置为至少部分地基于仿真评估模块的结果结合通过仿真模型传播的信号的验证来执行单元测试。
尽管单元测试可以基于以各种方式通过仿真模型10传播的一个或多个信号的验证结果,但是图8描绘了仿真评估模块18提供的结果可以与单元测试的执行结合使用的方式的示例实施例。如本文所述,单元测试与满足模型需求所必需的正式测试相关联。如图8所示,仿真评估模块最初被添加到仿真模型10中,并且被启用用于操作和用于记录与仿真评估模块的操作相关联的数据。参见块100和102。此后,运行一个或多个仿真,并且由仿真评估模块记录与这些仿真相关联的数据。参见块104。然后诸如由模型设计者选择访问已经记录的数据,并选择一个或多个仿真运行。参见块106和108。在将利用与仿真评估模块的一个或多个仿真运行结合记录的数据来支持(例如,转换的)单元测试的执行的情况下,诸如在存储装置34中创建将成为测试用具的空模型,并且仿真评估模块通过复制将输入连接到仿真评估模块的逻辑来自动识别被测试的单元。参见块110。关于图1的示例仿真模型10,连接到仿真评估模块的输入的逻辑向仿真评估模块提供输出X和Y,以便将输出Y的绝对值与输出X的绝对值进行比较,以确定输出X的绝对值是否小于或等于输出Y的绝对值。
然后识别被测试的单元并将其添加到空模型中。参见块112。然后选择已经结合由仿真评估模块18进行的仿真记录的输入数据作为输入的全部或至少一部分提供给测试用具。参见块114。然后相应地选择由仿真评估模块响应于对输入数据的验证逻辑的应用而提供的输出数据,并且然后将其添加为单元测试的预期输出的全部或至少一部分。参见块116。计算装置30(诸如处理电路32)然后可以被配置为基于已经提供的输入数据来确定已经选择的输出数据是否满足单元测试。因此,可以通过依赖于由仿真评估模块执行的验证结果以更有效的方式执行单元测试。
就这一点而言,如果仿真评估模块18处理了作为模型的输入集合的一部分的信号,则在创建模型的单元测试时可以利用这些信号及其对应的评估和注销,因为仿真评估模块已经评估了模型输入的一部分(或者甚至模型输入的全部)。这同样适用于模型输出。因此,示例实施例的计算装置30能够在模型开发人员创建单元测试时部分地(或完全地)自动添加输入和/或预期输出。单元测试将提供的结果可以不同于由仿真评估模块提供的结果,因为单元测试的结果将包括模型的输入和预期输出的整个集合,而由仿真评估模块提供的结果可能仅处理模型的输入和预期输出的总体的子集。在仿真评估模块仅处理仿真模型内部的信号(即,既不是模型输入也不是模型输出的信号)的实施例中,则仿真评估模块的验证逻辑的结果在单元测试失败的情况下仍可以用于调试和故障排除模型,因为由仿真评估模块验证的模型部分不会导致单元测试失败,使得开发人员可以在调试时专注于模型的其他部分,因此节省了时间。
尽管并非由仿真评估模块18执行的所有验证都与由单元测试处理的形式要求相关联,但是由仿真评估模块执行的一些验证可以与形式要求相关联并满足形式要求,从而避免创建用于验证相同形式要求的单元测试。此外,由仿真评估模块执行的验证可以添加到正式测试文档中,这些正式测试文档用于证明系统的验证,并且作为系统按照其预期用途操作的证据被提供给利益相关者。
因此,提供了计算装置30、方法和计算机程序产品以促进系统模型的开发,该系统模型的操作可以以有效的方式验证。就这一点而言,示例实施例的计算装置30、方法和计算机程序产品利用仿真评估模块18来验证在构建系统模型的仿真模型10内传播的一个或多个信号。因此,在与其他仿真模型集成之前,可以在低级别验证仿真模型10的执行,并且未按预期执行的仿真模型可以在集成之前经历故障排除过程以有效的方式调试仿真模型10。因此,由于在集成之前已经识别并校正了关于仿真模型的任何问题,因此可以在更多的实例中成功地验证在集成多个仿真模型之后随后执行的集成测试和系统测试,从而提高了可以开发系统模型的效率。
如上所述,图4、图7和图8示出了根据本公开的示例实施例的计算装置30、方法和计算机程序产品的流程图。应当理解,流程图的每个块和流程图中的块的组合可以通过各种装置(诸如硬件和/或包括其上存储有计算机可读程序指令的一个或多个计算机可读存储介质的计算机程序产品)来实现。例如,本文描述的一个或多个过程可以通过计算机程序产品的计算机程序指令来实现。就这一点而言,体现本文描述的过程的计算机程序产品可以由计算装置30的一个或多个存储装置34存储,并由计算装置30的处理电路32执行。在一些实施例中,包括体现上述过程的计算机程序产品的计算机程序指令可以由多个存储装置34存储。如将理解的,任何这样的计算机程序产品可以加载到计算机或其他可编程设备上以生产机器,使得包括在计算机或其他可编程设备上执行的指令的计算机程序产品创建用于实现流程图块中指定的功能的装置。此外,计算机程序产品可以包括一个或多个计算机可读存储器,计算机程序指令可以存储在一个或多个计算机可读存储器上,使得一个或多个计算机可读存储器可以引导计算机或其他可编程设备以特定方式运行,使得计算机程序产品包括实现流程图块中指定的功能的制品。还可以将一个或多个计算机程序产品的计算机程序指令加载到计算系统或其他可编程设备上,以使在计算系统或其他可编程设备上执行一系列操作,以产生计算机实现的过程,使得在计算系统或其他可编程设备上执行的指令实现流程图块中指定的功能。
因此,流程图的块或步骤支持用于执行指定功能的装置的组合和用于执行指定功能的步骤的组合。还应当理解,流程图中的一个或多个块以及流程图中的块的组合可以由执行指定功能或步骤的基于专用硬件的计算机系统或专用硬件和计算机程序产品的组合来实现。
根据本公开的进一步说明性和非排他性示例在以下段落中描述:
在根据本公开的示例中,用于开发系统模型的方法,该方法包括:设计被配置为数字仿真系统的对应部分的仿真模型10;将仿真评估模块18与仿真模型10相关联,其中,仿真评估模块18被配置为验证在仿真模型10内传播的一个或多个信号;在仿真评估模块18已经验证了一个或多个信号的情况下,使用测试用具对仿真模型10执行单元测试以确认仿真模型10的正确操作;操作在单元测试成功的情况下,集成多个仿真模型10以形成系统模型。
可选地,在前面段落的方法中,其中,仿真模型10具有一个或多个输入和一个或多个输出,其中,执行单元测试包括响应于一个或多个输入来评估仿真模型10的一个或多个输出,并且其中,仿真评估模块18被配置为验证在仿真模型10内传播并且不同于仿真模型10的一个或多个输出的一个或多个内部信号。
可选地,在前面段落中的一个的方法中,其中,将仿真评估模块18与仿真模型10相关联包括定义由仿真评估模块18实现的验证逻辑。
可选地,在前面段落中的一个的方法中,其中,将仿真评估模块18与仿真模型10相关联包括定义对未能验证在仿真模型10内传播的一个或多个信号的响应。
可选地,在前面段落中的一个的方法中,其中,将仿真评估模块18与仿真模型10相关联包括定义是否将记录与在仿真模型10内传播的一个或多个信号的验证相关联的数据。
可选地,在前面段落中的一个的方法中,其中,将仿真评估模块18与仿真模型10相关联包括将多个仿真评估模块与仿真模型10相关联,其中,每个仿真评估模块18被配置为验证在仿真模型10内传播的信号之间的不同关系或一个或多个不同信号。
可选地,在前面段落中的一个的方法中,其中,对仿真模型10执行单元测试包括至少部分地基于仿真评估模块18的验证结果创建单元测试。
可选地,在前面段落中的一个的方法中,其中,仿真评估模块18被配置为验证两个或多个信号的关系或一个或多个信号的值。
此外,本公开包括根据以下项的实施例:
在根据本公开的示例中,计算装置30被配置为开发系统模型,该计算装置30包括处理电路32,该处理电路32被配置为:接收输入以设计被配置为数字仿真系统的对应部分的仿真模型10;将仿真评估模块18与仿真模型10相关联,其中,仿真评估模块18被配置为验证在仿真模型10内传播的一个或多个信号;在仿真评估模块18已经验证了一个或多个信号的情况下,使用测试用具对仿真模型10执行单元测试以确认仿真模型10的正确操作;并且在单元测试成功的情况下,集成多个仿真模型以形成系统模型。
可选地,在前面段落的计算装置30中,其中,仿真模型10具有一个或多个输入和一个或多个输出,其中,处理电路32被配置为通过响应于一个或多个输入评估仿真模型10的一个或多个输出来执行单元测试,并且其中,仿真评估模块18被配置为验证在仿真模型10内传播并且不同于仿真模型10的一个或多个输出的一个或多个内部信号。
可选地,在前面段落中的任何一个的计算装置30中,其中,处理电路32被配置为通过定义由仿真评估模块18实现的验证逻辑来将仿真评估模块18与仿真模型10相关联。
可选地,在前面段落中的任何一个的计算装置30中,其中,处理电路32被配置为通过定义对未能验证在仿真模型10内传播的一个或多个信号的响应来将仿真评估模块18与仿真模型10相关联。
可选地,在前面段落中的任何一个的计算装置30中,其中,处理电路32被配置为通过定义是否将记录与在仿真模型10内传播的一个或多个信号的验证相关联的数据来将仿真评估模块18与仿真模型10相关联。
可选地,在前面段落中的任何一个的计算装置30中,其中,处理电路32被配置为通过将多个仿真评估模块与仿真模型10相关联来将仿真评估模块18与仿真模型10相关联,其中,每个仿真评估模块18被配置为验证在仿真模型10内传播的信号之间的不同关系或一个或多个不同信号。
可选地,在前面段落中的任何一个的计算装置30中,其中,处理电路32被配置为通过至少部分地基于仿真评估模块18的验证结果创建单元测试来对仿真模型10执行单元测试。
可选地,在前面段落中的任何一个的计算装置30中,其中,仿真评估模块18被配置为验证两个或多个信号的关系或一个或多个信号的值。
此外,本公开包括根据以下项的实施例:
在根据本公开的示例中,计算机程序产品被配置为开发系统模型,该计算机程序产品包括具有存储在其上的程序代码的非暂时性计算机可读介质,其中,该程序代码包括程序代码指令,该程序代码指令被配置为在执行时:接收输入以设计被配置为数字仿真系统的对应部分的仿真模型10;将仿真评估模块18与仿真模型10相关联,其中,仿真评估模块18被配置为验证在仿真模型10内传播的一个或多个信号;在仿真评估模块18已经验证了一个或多个信号的情况下,使用测试用具对仿真模型10执行单元测试以确认仿真模型10的正确操作;并且在单元测试成功的情况下,集成多个仿真模型以形成系统模型。
可选地,在前面段落的计算机程序产品中,其中,仿真模型10具有一个或多个输入12和一个或多个输出,其中,被配置为执行单元测试的程序代码指令包括被配置为响应于一个或多个输入12评估仿真模型10的一个或多个输出的程序代码指令,并且其中,仿真评估模块18被配置为验证在仿真模型10内传播并且不同于仿真模型10的一个或多个输出的一个或多个内部信号。
可选地,根据前面段落中的一个的计算机程序产品,其中,被配置为将仿真评估模块18与仿真模型10相关联的程序代码指令包括被配置为定义由仿真评估模块18实现的验证逻辑的程序代码指令。
可选地,根据前面段落中的一个的计算机程序产品,其中,被配置为将仿真评估模块18与仿真模型10相关联的程序代码指令包括被配置为定义对未能验证在仿真模型10内传播的一个或多个信号的响应的程序代码指令。
可以以多种方式执行上述功能。例如,用于执行上述功能中的每一个的任何合适的装置可以用于执行本公开的实施例。在一个实施例中,适当配置的计算装置30可以提供本公开的全部或部分元件。在另一实施例中,全部或部分元件可以由计算机程序产品配置并在其控制下操作。用于执行本公开的实施例的方法的计算机程序产品包括计算机可读存储介质(诸如非易失性存储介质)以及包含在计算机可读存储介质中的计算机可读程序代码部分(诸如一系列计算机指令)。
受益于前述描述和相关附图中提出的教导,本公开所属领域的技术人员将想到本文所阐述的本公开的许多修改和其他方面。因此,应当理解,本公开不限于所公开的特定方面,并且修改和其他方面旨在包括在所附权利要求的范围内。尽管本文采用了特定术语,但是这些特定术语仅在一般性和描述性意义上使用,而不是出于限制目的。

Claims (15)

1.一种用于开发系统模型的方法,所述方法包括:
设计被配置为数字仿真系统的对应部分的仿真模型(10);
将仿真评估模块(18)与所述仿真模型(10)相关联,其中,所述仿真评估模块(18)被配置为验证在所述仿真模型(10)内传播的一个或多个信号;
在所述仿真评估模块(18)已经验证了所述一个或多个信号的情况下,使用测试用具对所述仿真模型(10)执行单元测试以确认所述仿真模型(10)的正确操作;并且
在所述单元测试成功的情况下,集成多个所述仿真模型(10)以形成所述系统模型。
2.根据权利要求1所述的方法,其中,所述仿真模型(10)具有一个或多个输入(12)和一个或多个输出,其中,执行所述单元测试包括响应于所述一个或多个输入(12)来评估所述仿真模型(10)的所述一个或多个输出,并且其中,所述仿真评估模块(18)被配置为验证在所述仿真模型(10)内传播并且不同于所述仿真模型(10)的所述一个或多个输出的一个或多个内部信号。
3.根据权利要求1或2所述的方法,其中,将所述仿真评估模块(18)与所述仿真模型(10)相关联包括定义由所述仿真评估模块(18)实现的验证逻辑。
4.根据权利要求1或2所述的方法,其中,将所述仿真评估模块(18)与所述仿真模型(10)相关联包括定义对未能验证在所述仿真模型(10)内传播的所述一个或多个信号的响应。
5.根据权利要求1或2所述的方法,其中,将所述仿真评估模块(18)与所述仿真模型(10)相关联包括定义是否将记录与在所述仿真模型(10)内传播的所述一个或多个信号的验证相关联的数据。
6.根据权利要求1或2所述的方法,其中,将所述仿真评估模块(18)与所述仿真模型(10)相关联包括将多个所述仿真评估模块与所述仿真模型(10)相关联,其中,每个所述仿真评估模块(18)被配置为验证在所述仿真模型(10)内传播的信号之间的不同关系或一个或多个不同信号。
7.根据权利要求1或2所述的方法,其中,对所述仿真模型(10)执行所述单元测试包括至少部分地基于所述仿真评估模块(18)的验证结果创建所述单元测试。
8.根据权利要求1或2所述的方法,其中,所述仿真评估模块(18)被配置为验证两个或多个信号的关系或一个或多个信号的值。
9.一种计算装置(30),被配置为开发系统模型,所述计算装置(30)包括处理电路(32),所述处理电路(32)被配置为:
接收输入(12)以设计被配置为数字仿真系统的对应部分的仿真模型(10);
将仿真评估模块(18)与所述仿真模型(10)相关联,其中,所述仿真评估模块(18)被配置为验证在所述仿真模型(10)内传播的一个或多个信号;
在所述仿真评估模块(18)已经验证了所述一个或多个信号的情况下,使用测试用具对所述仿真模型(10)执行单元测试以确认所述仿真模型(10)的正确操作;并且
在所述单元测试成功的情况下,集成多个所述仿真模型(10)以形成所述系统模型。
10.根据权利要求9所述的计算装置(30),其中,所述仿真模型(10)具有一个或多个输入(12)和一个或多个输出,其中,所述处理电路(32)被配置为通过响应于所述一个或多个输入(12)评估所述仿真模型(10)的所述一个或多个输出来执行所述单元测试,并且其中,所述仿真评估模块(18)被配置为验证在所述仿真模型(10)内传播并且不同于所述仿真模型(10)的所述一个或多个输出的一个或多个内部信号。
11.根据权利要求9或10所述的计算装置(30),其中,所述处理电路(32)被配置为通过定义由所述仿真评估模块(18)实现的验证逻辑来将所述仿真评估模块(18)与所述仿真模型(10)相关联。
12.根据权利要求9或10所述的计算装置(30),其中,所述处理电路(32)被配置为通过定义对未能验证在所述仿真模型(10)内传播的所述一个或多个信号的响应来将所述仿真评估模块(18)与所述仿真模型(10)相关联。
13.根据权利要求9或10所述的计算装置(30),其中,所述处理电路(32)被配置为通过定义是否将记录与在所述仿真模型(10)内传播的所述一个或多个信号的验证相关联的数据来将所述仿真评估模块(18)与所述仿真模型(10)相关联。
14.根据权利要求9或10所述的计算装置(30),其中,所述处理电路(32)被配置为通过将多个所述仿真评估模块与所述仿真模型(10)相关联来将所述仿真评估模块(18)与所述仿真模型(10)相关联,其中,每个所述仿真评估模块(18)被配置为验证在所述仿真模型(10)内传播的信号之间的不同关系或一个或多个不同信号。
15.根据权利要求9或10所述的计算装置(30),其中,以下至少一个:
所述处理电路(32)被配置为通过至少部分地基于所述仿真评估模块(18)的验证结果创建所述单元测试来对所述仿真模型(10)执行所述单元测试,以及
所述仿真评估模块(18)被配置为验证两个或多个信号的关系或一个或多个信号的值。
CN202111539191.5A 2020-12-16 2021-12-15 用于利用仿真评估模块开发系统模型的计算装置和方法 Pending CN114638085A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20383103.7A EP4016364A1 (en) 2020-12-16 2020-12-16 Computing device and method for developing a system model utilizing a simulation assessment module
EP20383103.7 2020-12-16

Publications (1)

Publication Number Publication Date
CN114638085A true CN114638085A (zh) 2022-06-17

Family

ID=74103903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111539191.5A Pending CN114638085A (zh) 2020-12-16 2021-12-15 用于利用仿真评估模块开发系统模型的计算装置和方法

Country Status (3)

Country Link
US (1) US11847393B2 (zh)
EP (1) EP4016364A1 (zh)
CN (1) CN114638085A (zh)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6090728A (en) 1998-05-01 2000-07-18 3M Innovative Properties Company EMI shielding enclosures
US6265466B1 (en) 1999-02-12 2001-07-24 Eikos, Inc. Electromagnetic shielding composite comprising nanotubes
US6741019B1 (en) 1999-10-18 2004-05-25 Agere Systems, Inc. Article comprising aligned nanowires
US7363600B1 (en) * 2003-10-21 2008-04-22 Xilinx, Inc. Method of simulating bidirectional signals in a modeling system
US7430498B2 (en) 2004-09-07 2008-09-30 The Boeing Company System, method and computer program product for developing a system-of-systems architecture model
TWI273260B (en) * 2005-11-18 2007-02-11 Inventec Corp Method and system of detecting routing of sectional line
US8014371B1 (en) 2009-05-14 2011-09-06 The Boeing Company System, model and method for evaluating a network
US8418093B2 (en) * 2009-05-15 2013-04-09 International Business Machines Corporation Method and system for design simplification through implication-based analysis
WO2015120429A1 (en) 2014-02-10 2015-08-13 President And Fellows Of Harvard College Three-dimensional (3d) printed composite structure and 3d printable composite ink formulation
US10318653B1 (en) * 2015-02-26 2019-06-11 The Mathworks, Inc. Systems and methods for creating harness models for model verification
US10346140B2 (en) * 2015-08-05 2019-07-09 General Electric Company System and method for model based technology and process for safety-critical software development
US9824243B2 (en) * 2015-09-11 2017-11-21 Nxp Usa, Inc. Model-based runtime detection of insecure behavior for system on chip with security requirements
US10592623B2 (en) * 2015-12-04 2020-03-17 Mentor Graphics Corporation Assertion statement check and debug
US10481969B2 (en) * 2017-02-07 2019-11-19 Microsoft Technology Licensing, Llc Configurable system wide tests
US10592703B1 (en) * 2018-12-01 2020-03-17 Cadence Design Systems, Inc. Method and system for processing verification tests for testing a design under test
EP3832517A1 (de) * 2019-12-02 2021-06-09 dspace digital signal processing and control engineering GmbH Computerimplementiertes verfahren zur einbindung mindestens eines signalwerts in einem virtuellen steuergerät

Also Published As

Publication number Publication date
US20220188494A1 (en) 2022-06-16
EP4016364A1 (en) 2022-06-22
US11847393B2 (en) 2023-12-19

Similar Documents

Publication Publication Date Title
US8418093B2 (en) Method and system for design simplification through implication-based analysis
JP2017033562A (ja) 安全重視ソフトウェア開発のためのモデルベース技術および過程のためのシステムおよび方法
JP7562011B2 (ja) プログラムコード欠陥及び使用の許容可能性の判定のためのシステム及び方法
CN112052172B (zh) 第三方通道的快速测试方法、装置和电子设备
Lachmann et al. Delta-oriented test case prioritization for integration testing of software product lines
US10592703B1 (en) Method and system for processing verification tests for testing a design under test
Bierig et al. Essentials of Software Testing
CN110990289B (zh) 一种自动提交bug的方法、装置、电子设备及存储介质
CN115544604A (zh) 应用软件层模型的生成方法、生成装置与电子设备
US9612944B2 (en) Method and system for verifying scenario based test selection, execution and reporting
US10592623B2 (en) Assertion statement check and debug
US8479169B1 (en) Code analysis via ranged values
US9404972B2 (en) Diagnosis and debug with truncated simulation
CN116090380B (zh) 数字集成电路验证的自动化方法及装置、存储介质和终端
US20070220338A1 (en) Method and system for generating checkpoints of hardware description language simulations that include a specific model state together with a software testcase state
JP2009099111A (ja) 規則検査プログラム、規則検査方法および規則検査装置
US11847393B2 (en) Computing device and method for developing a system model utilizing a simulation assessment module
CN115176233B (zh) 以确定性顺序执行测试
CN115934559A (zh) 表单智能测试系统的测试方法
JP2022166154A (ja) フォーマルフォールト伝搬分析のためのシステム及び方法
CN111782553B (zh) 一种基于故障注入的软件反应缺陷分析方法
CN109800155B (zh) 一种基于Probe的QTE联锁应用软件测试方法及装置
EP4287027A1 (en) Method and system for generating test cases for an engineering program
CN117034824B (zh) 复用测试用例和验证环境的仿真验证系统、方法、终端及介质
CN118672925A (zh) 单元测试代码的生成方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination