仿真装置、仿真方法

文档序号:8361271阅读:616来源:国知局
仿真装置、仿真方法
【技术领域】
[0001] 本发明涉及仿真装置、仿真方法和程序。
【背景技术】
[0002] 对诸如车辆、机器人和飞机之类的大规模电子控制系统的仿真已经通过使用诸如 MATLAB(注册商标)或者Simulink(注册商标)之类的仿真建模系统生成仿真程序而被执 行,从而不需要使用昂贵的硬件以用于模拟。在这种情况中,待仿真的电子控制系统被建模 为多功能块,这些块被并行执行以改善执行的速度(参见例如,专利文献1以及非专利文献 1 和 2)。
[0003] [专利文献1]国际公开号2013/084654
[0004] [非专利文献l]AloisFerscha,SatishK.Tripathi,"Paralleland DistributedSimulationofDiscreteEventSystems,',theUniversityofMaryland ComputerScienceDepartment;CS_TR-3336, 1998 年 10 月 15 日
[0005] [非专利文献2]VikasJha,RajiveBagrodia,"Simultaneouseventsand lookaheadinsimulationprotocols",JournalACMTransactionsonModelingand ComputerSimulation,第 3 期第 10 卷,2000 年 7 月

【发明内容】

[0006] [技术问题]然而,在此类功能块的并行执行中,除了在有限的条件下之外,很难 生成用于高效地执行并行处理同时最小化在功能块之间的消息的发送的仿真程序。特别 地,当在多个功能块的一些功能块之间存在一个方向上的通信而不存在相反方向上的通信 时,尚不可能生成用于并行处理的高效执行的仿真程序。
[0007] [解决方案]本发明的第一方面提供了一种仿真装置、仿真方法和程序。该仿真装 置执行通过对在待仿真的系统中包括的多个部件建模而获得的多个逻辑过程的并行执行。 该仿真装置包括:条件生成单元,该条件生成单元被配置成基于在多个逻辑过程之间的通 信延迟生成约束条件,该约束条件将由被给予多个逻辑过程的初始时间偏移和各自由从充 当通信源的逻辑过程发送到充当通信目的地的逻辑过程以允许先行(lookahead)的消息 所允许的先行时间满足;以及求解器单元,该求解器单元被配置成求解优化问题,该优化问 题满足约束条件并且最小化在多个逻辑过程之间的消息的通信中的开销,并且被配置成获 得多个逻辑过程的初始时间偏移和在多个逻辑过程之间的先行时间。
[0008] 以上描述的
【发明内容】
并不覆盖本发明的所有特征。这些特征的分组的子组合也可 以构成发明。
【附图说明】
[0009] 图1图示了根据实施例的逻辑过程以及逻辑过程的示例性操作。
[0010] 图2图示了根据实施例的逻辑过程以及具有初始偏移时段的逻辑过程的第一示 例性操作。
[0011] 图3图示了根据实施例的逻辑过程以及具有初始偏移时段的逻辑过程的第二示 例性操作。
[0012] 图4图示了根据实施例的仿真装置100的示例性配置。
[0013] 图5图示了根据实施例的仿真装置100的操作流程。
[0014] 图6图示了根据实施例的具有三个逻辑过程的第一示例性配置。
[0015] 图7图示了根据实施例的具有四个逻辑过程的示例性配置。
[0016] 图8图示了根据实施例的具有三个逻辑过程的第二示例性配置。
[0017] 图9图示了根据实施例的充当仿真装置100的计算机1900的硬件配置。
【具体实施方式】
[0018] 现在将通过使用本发明的实施例来描述本发明。以下实施例并不限制根据权利要 求的本发明。并非在实施例中描述的所有特征组合都是解决本发明的手段所必须的。
[0019] 图1图示了根据实施例的逻辑过程以及逻辑过程的示例性操作。图1图示了其中 通过由A和B表示的两个逻辑过程执行仿真的配置。逻辑过程是通过对在待仿真的系统中 包括的多个部件建模而获得的功能块。仿真建模工具布置此类功能块并且指定处理的流 程。
[0020] 每个逻辑过程具有以下功能:诸如相加和相乘的基本操作、逻辑操作、诸如整合 (integration)、条件分支和软件代码的调用之类的公式处理。例如,逻辑过程表示仿真的 执行单元。例如,逻辑过程A和B各自是对汽车的引擎、传动装置或者电子控制单元的操作 仿真的逻辑过程。逻辑过程A和B以协作方式进行操作,同时向彼此发送消息。
[0021] 由逻辑过程发送的消息包括例如允许在接收侧上的逻辑过程的先行的消息。时间 信息可以被添加到该消息中。在这种情况中,时间信息可以是关于在接收侧上的逻辑过程 的先行将结束的时间的信息,或者可以是关于允许在接收侧上的逻辑过程的先行的时间段 的信息。
[0022] 被添加到消息的时间信息是事先确定的,例如根据在发送侧和接收侧上的逻辑过 程之间的传送延迟。该传送延迟可以根据在由逻辑过程控制的功能之间传播状态、命令/ 控制等所需要的时间而被确定。
[0023] 当逻辑过程使用定时器功能执行处理时,允许在接收侧上的逻辑过程的先行的时 间段可以根据由在发送侧上的逻辑过程设置的定时器所针对的时间和/或在接收侧上的 逻辑过程发出警报的时间而被事先确定。以上描述的时段可以根据由在接收侧上的逻辑过 程允许的延迟时间的范围而被事先确定。
[0024] 在根据本实施例的逻辑过程中,在仿真执行开始时间已经预先开始了处理的逻辑 过程在预定初始偏移时段流逝之后向对应的逻辑过程发送允许先行的消息。在执行开始时 间未处于先行的另一逻辑过程在执行开始时间向对应的逻辑过程发送允许先行的消息。
[0025] 响应于接收到允许先行的消息,逻辑过程预先执行对应的操作。在对应于被添加 到消息的时间信息的时段流逝之后,每个逻辑过程向对应的逻辑过程发送允许先行的消 肩、。
[0026]如果接收到允许先行的下一消息,则每个逻辑过程执行对应的下一操作,而如果 未接收到下一消息,则每个逻辑过程被置于待机状态中,直到接收到下一消息。通过在多个 逻辑过程之间发送消息的同时维持同步来执行仿真的方法是已知的,例如,通过以上描述 的非专利文献1。被发送的消息被称为空消息。
[0027] 图1示意性地将在逻辑过程A和B之间的通信中的发送和接收中的时间差图示为 时间滞后(时间偏移)。在图1中,Lab指示在从A向B发送消息中的时间滞后(例如,先 行时间,其是给予逻辑过程B的用于允许执行的最早时间),并且L'BA指示从B向A发送消 息中的时间滞后。
[0028] 如果L'AB和L'BA两者都为0 (L'AB =L'BA = 0),则两个时间滞后都为零。这意味着 逻辑过程A和B强烈耦合,并且不能被并行执行。在这种情况中,逻辑过程A和B不能被分 离到不同的逻辑过程中,并且作为单个仿真器被计算。
[0029] 如果L'AB和L'BA都不为0 (L'AB尹L'BA尹0),则执行同步处理,例如,以在L' AB和 L'BA2间的最大公约数的时间步长。因此,实现了耦合的仿真的执行,其中以最大公约数的 时间发生并行操作,而没有时间错误。
[0030] 如果L'Afi和L'BA之一(例如,L'BA)为0 (L'AB关0,L'BA = 0),则逻辑过程A保留在 待机状态中,直到从逻辑过程B接收到消息。在这种情况中,逻辑过程A和B交替地执行顺 序执行。
[0031] 图1中的"仿真时间"和"执行时间"示出了这样的顺序操作的示例,其中水平轴表 示时间轴。在图1中的仿真时间中,在逻辑过程A和B之间的消息的交换由箭头指示。例 如,在与水平轴垂直的方向上从逻辑过程B向上指向逻辑过程A的箭头指示逻辑过程B向 逻辑过程A发送具有为0的时间滞后的消息。
[0032] 在与水平轴对角的方向上从逻辑过程A指向逻辑过程B的箭头指示逻辑过程A向 逻辑过程B发送具有为0或者更大的时间滞后(在这一示例中为L'J的消息。每个消息 指示允许逻辑过程执行处理,直到对应的箭头的尖端位置。
[0033] 在图1中沿着实际时间轴的执行时间中,每个逻辑过程执行仿真的时段由矩形表 示,而逻辑过程处于待机状态的时段由箭头表示。也就是说,其
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1