用于通过使用时序需求来纠正目标计算机系统的操作的方法和系统技术方案

技术编号:39298496 阅读:16 留言:0更新日期:2023-11-07 11:07
本公开涉及一种用于纠正目标计算机系统的操作的方法,该目标计算机系统受约束于不一致的时序需求集合,该时序需求集合包括第一子集和第二子集,该方法包括以下步骤:基于不一致性的见证轨迹来初始化约束集合,并且迭代以下步骤:*

【技术实现步骤摘要】
【国外来华专利技术】用于通过使用时序需求来纠正目标计算机系统的操作的方法和系统


[0001]本公开涉及一种用于计算机系统的需求工程(requirement engineering),并且更具体地涉及一种用于通过使用时序需求来纠正目标计算机系统的操作的方法和系统。

技术介绍

[0002]在开发计算机系统的过程中,需求工程包括定义、文档化并且维护计算机系统所需要遵从的需求(requirement)。需求可以具有不同的特性,但是在计算机系统中,时序需求是重要的。基本上,时序需求(timed requirement)对应于包括计算机系统的输出与向该计算机系统的输入之间的定时约束(timing constraint)的约束。实际上,时序需求将是计算机系统设计和开发的基础。此外,时序需求将在验证活动(validation campaign)中起到一定作用,以便一旦开发完成,实际的计算机系统确实符合这些要求。
[0003]当然,设计一致的时序需求至关重要,即这些需求不应相互矛盾,以确保符合这些时序需求的实现是可行的,并且可以进行设计和开发。
[0004]在科学文献中,为实时系统的时序需求定义了不同的一致性概念。例如,实时一致性(又称RT一致性)[PHP11]要求尚未违反某些时序需求的全部有限执行序列都具有满足所有这些需求的扩展序列。换言之,这意味着如果实现产生了一个有限执行序列,其所有的延续都必然导致了某个时序需求的违反,那么必须存在一个已经被这个有限执行序列违反的时序需求。
[0005]然而,一旦检测到时序需求集合存在不一致性或其他问题,就需要对这组时序需求进行修正,即使对于经验丰富的需求工程师来说,这也可能非常复杂。

技术实现思路

[0006]本公开旨在提出一种由纠错计算机系统自动纠正描述目标计算机系统操作的时序需求集合的不一致性的解决方案。
[0007]根据第一方面,本公开涉及一种用于纠正目标计算机系统的操作的计算机实施的方法。所述目标计算机系统的所述操作受到时序需求集合约束,并且所述目标计算机系统的被称为见证轨迹的执行序列满足用于检测所述时序需求集合的时序需求之间的被称为不一致性的冲突的准则。所述时序需求集合包括时序需求的第一子集和第二子集。所述方法包括基于所述见证轨迹来初始化约束集合,并且迭代以下步骤:
[0008]‑
修改所述时序需求的第二子集以获得满足所述约束集合中的每一个约束的、更新后的时序需求集合;
[0009]‑
搜索所述更新后的时序需求集合的所述不一致性的进一步见证轨迹;
[0010]‑
当找到进一步见证轨迹时,基于所述进一步见证轨迹扩充所述约束集合;
[0011]其中,当对于更新后的时序需求集合没有找到进一步见证轨迹时,认为所述目标计算机系统的操作被纠正。
[0012]目标计算机系统可以是诸如嵌入式电子系统和/或机电系统和/或机械控制系统等的可以对其定义时序需求的任何计算机系统。
[0013]目标计算机系统的操作受到时序需求集合约束。纠正目标计算机系统的操作依赖于通过模拟目标计算机系统在时序需求水平上的行为来评估操作,以便检测例如时序需求和/或空时序需求之间的不一致性。纠正目标计算机系统的操作因此而对应于纠正约束该目标计算机系统的操作的时序需求集合。因此,要强调的是,本纠正方法不是与可能还未设计或开发的实际的目标计算机系统交互,而是通过模拟目标计算机系统在时序需求水平上的行为来评估目标计算机系统的操作。因此,本纠正方法由不同于目标计算机系统的纠正计算机系统执行。
[0014]如上所述,时序需求可以被视为包括目标计算机系统的输出与向该目标计算机系统的输入之间的定时约束的约束。
[0015]本纠正方法利用目标计算机系统的导致时序需求之间的冲突的(即,导致违反至少一个时序需求的)被称为“见证轨迹”的执行序列。执行序列基本上对应于在连续的时间步长中的向目标计算机系统的输入和来自该目标计算机系统的结果输出的序列。当时序需求所定义的约束在某时间点不能被满足时,违反时序需求。见证轨迹本身还不违反时序需求。然而,见证轨迹不因所考虑的时序需求而被阻止发生,但是其达到目标计算机系统的如下配置,从该配置中,将在某时间点必然违反至少一个时序需求。
[0016]当找到证实时序需求集合的不一致性(例如RT不一致性)的此种见证轨迹时,利用其来定义被包括在约束集合中的(基于轨迹的)约束。
[0017]然后,本纠正方法在保持不修改时序需求的第一子集的同时,迭代地修改时序需求的第二子集,以获得使得满足约束集合中的每一个约束的修改后的第二子集。例如,对于见证轨迹σ,包括在约束集合中的约束可以要求:当考虑更新后的集合(结合第一子集和修改后的第二子集)时,阻止该见证轨迹σ发生,或者当考虑更新后的集合时,不再有不一致性见证轨迹。
[0018]一旦找到此种修改后的子集(满足约束集合的所有约束),进一步验证是否对于更新后的集合检测出了进一步的问题。例如,验证是否能够找到更新后的集合的不一致性的进一步见证轨迹。如果能够发现此种进一步见证轨迹,则基于进一步见证轨迹用进一步约束来对约束集合进行增量(即,该约束被添加到约束集合中存在的其他在先约束)。
[0019]因此,用由见证轨迹定义的约束对约束集合进行迭代地增量。当修改时序需求的第二子集时,能够容易地验证此种基于轨迹的约束,使得能够用合理的计算复杂度来搜索满足所有约束的修改后的第二子集。当对于更新后的集合没有发现进一步见证轨迹时,则该更新后的集合能够取代原始集合,从而纠正目标计算机系统的操作。
[0020]在具体实施方式中,本纠正方法还可以包括单独地或者以技术上可行的任何组合来考虑的以下特征中的一个或更多个。
[0021]在具体实施方式中,本纠正方法包括以下迭代步骤:
[0022]‑
搜索所述第一子集中的被称为空时序需求的时序需求,当考虑所述更新后的时序需求集合时所述空时序需求无法被触发;
[0023]‑
当找到空时序需求时:确定被称为触发轨迹的执行序列并且基于所述触发轨迹来扩充所述约束集合,当考虑所述时序需求的第一子集时所述触发轨迹触发所述空时序需
求;
[0024]其中,当对于更新后的时序需求集合没有找到进一步见证轨迹并且没有找到空时序需求时,认为所述目标计算机系统的操作被纠正。
[0025]因此,不仅能够纠正更新后的集合的一致性,还能够纠正其非空性(non

vacuity)。一旦找到修改后的第二子集(使得更新后的集合满足约束集合的所有约束),就进一步验证第一子集的一个或更多个时序需求是否已经由于对第二子集做出的修改而变为空。如果找到此种空时序需求,那么会识别在修改第二子集之前触发了所述时序需求的执行序列,称为“触发轨迹”,并用于向约束集合中添加进一步约束。例如,所添加的约束可以要求后续迭代的修改后的第二子集不阻止所述触发轨迹发生,从而消除空性(vacuity)。再则,能够容易地验证此种基于(触发)轨本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于纠正目标计算机系统的操作的计算机实施的方法,所述目标计算机系统的所述操作受到时序需求集合约束,其中,所述目标计算机系统的被称为见证轨迹的执行序列满足用于检测所述时序需求集合的时序需求之间的被称为不一致性的冲突的准则,其中,所述时序需求集合包括时序需求的第一子集和第二子集,其中,所述方法包括基于所述见证轨迹来初始化约束集合,并且迭代以下步骤:

修改所述时序需求的第二子集以获得满足所述约束集合中的每一个约束的、更新后的时序需求集合;

搜索所述更新后的时序需求集合的所述不一致性的进一步见证轨迹;

当找到进一步见证轨迹时,基于所述进一步见证轨迹扩充所述约束集合;其中,当对于更新后的时序需求集合没有找到进一步见证轨迹时,认为所述目标计算机系统的操作被纠正。2.根据权利要求1所述的方法,所述方法包括以下迭代步骤:

搜索所述第一子集中的被称为空时序需求的时序需求,当考虑所述更新后的时序需求集合时所述空时序需求无法被触发;

当找到空时序需求时:确定被称为触发轨迹的执行序列并且基于所述触发轨迹来扩充所述约束集合,当考虑所述时序需求的第一子集时所述触发轨迹触发所述空时序需求;其中,当对于更新后的时序需求集合没有找到进一步见证轨迹并且没有找到空时序需求时,认为所述目标计算机系统的操作被纠正。3.根据权利要求2所述的方法,其中,基于触发轨迹扩充所述约束集合包括添加这样的约束,该约束要求后续迭代的、修改后的时序需求的第二子集不阻止所述触发轨迹发生。4.根据权利要求1至3中的任一项所述的方法,其中,基于所述时序需求的第一子集的所述不一致性的进一步见证轨迹来扩充所述约束集合包括添加这样的约束,该约束要求后续迭代的、修改后的时序需求的第二子集阻止所述进一步见证轨迹发生。5.根据权利要求1至4中的任一项所述的方法,其中,基于不作为所述时序需求的第一子集的所述不一致性的见证轨迹的、所述更新后的时序需求集合的所述不一致性的进一步见证轨迹来扩充所述约束集合包括添加这样的约束,该约束要求以下任一项:

【专利技术属性】
技术研发人员:野口玲哉T
申请(专利权)人:三菱电机株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1