排他控制检查装置、排他控制检查方法、排他控制检查程序制造方法及图纸

技术编号:11989686 阅读:53 留言:0更新日期:2015-09-02 18:16
排他控制检查装置确定出作为检查对象的计算机程序中所包含的语句的执行顺序以及执行路径(S02),基于语句的执行顺序以及执行路径确定锁定区间(S03),提取出锁定区间的暂停时间(S04)。而且,对于各执行路径,计算出锁定区间的执行所需要的时钟数(S05、S06),对于各锁定区间,计算出时钟数的最大值(S07),并输出(S11)。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种排他控制检查装置、排他控制检查方法、排他控制检查程序
技术介绍
已知一种锁定动作测定方法(参照专利文献I),其为了计算出在计算机程序内的锁定区间中使用的信号量的繁忙率以及冲突率,利用实际时间分别对作为测定对象而指定出的信号量的从锁定获取到锁定释放为止的锁定时间、以及信号量的从等待锁定获取到锁定获取为止的等待锁定解除时间进行测定。专利文献1:日本特开平11 - 085574号公报
技术实现思路
在专利文献I中所公开的锁定动作测定方法,是使系统动作而测定上述时间这样的动态检查方法,因此仅将实际执行的锁定区间、等待锁定解除处理作为对象。因此不能将实际未执行的锁定区间、分支路径作为测定对象。因此,不能针对可执行的各个锁定区间,分别把握锁定时间的最大值,因此不能确定出系统的响应性恶化的锁定区间。即,专利文献I所公开的锁定动作测定方法具有如下述的课题,即:无法充分实现对在计算机程序中所使用的锁定区间的执行所需的时间(锁定时间)、发生冲突关系、暂停的情况进行把握,对是否满足施加于系统的要求进行检验这样的目的。本专利技术是鉴于上述课题而提出的,其目的在于提供一种排他控制检查装置、排他控制检查方法、排他控制检查程序,其能够针对在计算机程序中可执行的锁定区间,使用户注意到系统的响应性有可能恶化的部分。本专利技术的一个方式所涉及的排他控制检查装置,确定作为检查对象的计算机程序中所包含的语句的执行顺序以及执行路径,基于确定出的语句的执行顺序以及执行路径,确定下述锁定区间,其中,该锁定区间由对计算机程序中所包含的多个任务能够利用的共享资源执行排他控制的一组语句构成。而且,对于确定出的锁定区间中所包含的各执行路径,计算锁定区间的执行所需要的时钟数。而且将确定出的执行顺序以及执行路径、锁定区间、计算出的时钟数等的信息作为检查结果而输出。优选本专利技术的一个方式所涉及的排他控制检查装置针对各锁定区间,提取出能够等待对共享资源的访问限制解除的暂停时间,将属于与锁定区间所属于的任务不同的其他任务的其他锁定区间确定为产生冲突的任务,在锁定区间的时钟数的最大值大于其他锁定区间的暂停时间的情况下,判断为其他锁定区间有可能被跳过。【附图说明】图1是表示本专利技术的实施方式所涉及的排他控制检查装置的硬件结构的框图。图2是表示CPUll的功能的构成的框图。图3是表示利用本专利技术的实施方式所涉及的排他控制检查装置执行的信息处理的流程的流程图。图4(a)、图4(b)、图4(c)是作为利用源代码输入部21读入的源代码D01,表示出利用C语言编写的计算机程序的一个例子的图。图5是表示在将图4(a)的函数“Taskl”作为入口点的情况下的语句(代码)的执行顺序以及执行路径的表(执行顺序/执行路径表T01)。图6是表不入口点一览D02的一个例子的表。图7是表示锁定开始命令/解除命令列表D03的一个例子的表。图8是表示所需时钟数一览D04的一个例子的表。图9是表示图3的步骤S03?S05所示的信息处理R)1的详细的处理流程的一个例子的流程图。图10是作为图9的流程图的执行结果的一个例子,表示出针对图4(a)的函数“Taskl”的执行结果的表(锁定区间确定表T02)。图11是作为图3的步骤S06以及S07的执行结果的一个例子,表示出执行路径的各自的时钟数、以及在锁定区间的执行中所需要的时钟数的最大值的表(时钟数合计管理表 T03)ο图12是作为图3的步骤S08的执行结果的一个例子,表示出存在冲突关系的程序块区间的组合的表(排他控制结构管理表T04)。图13是表示排他控制检查结果D05的一个例子的表。【具体实施方式】参照【附图说明】本专利技术的实施方式。在附图的记载中,对于相同部分标注相同标号并省略说明。【排他控制检查装置的硬件结构】本专利技术的实施方式所涉及的排他控制检查装置例如能够应用在下述处理中,即:对在利用搭载于车辆的电子控制装置(ECU)而执行的计算机程序中所包含的排他控制进行检查的处理。在计算机程序的执行中,对于多个任务(包含应用程序)能够利用的共享资源(包含数据、文件、数据库),在由于来自多个任务的同时访问而导致产生冲突的情况下,为了确保共享资源的一致性,设为在一方的任务独占地利用共享资源的期间,另一方的任务不能利用共享资源。将此称为排他控制。具体而言,在一方的任务使用共享资源的一定区间,锁定另一方的任务的启动。被锁定的另一方的任务在锁定的一方的任务释放信号量之后被启动,执行向共享资源的访问。本专利技术的实施方式所涉及的排他控制检查装置,是对排他控制进行检查的装置,该排他控制是针对从在计算机程序中所包含的多个任务能够利用的共享资源执行的。参照图1,对本专利技术的实施方式所涉及的排他控制检查装置的硬件结构进行说明。作为排他控制检查装置的硬件结构,能够使用通用计算机。例如,排他控制检查装置具有:输入输出装置12,其从存储介质读入作为检查对象的计算机程序(源代码D01)以及检查中所必需的数据(包含入口点一览D02、锁定开始命令/解除命令列表D03、所需时钟数一览D04);存储装置14,其对利用输入输出装置12读入的源代码D01、解析的中间数据进行存储;CPU(中央处理装置)11,其执行各种运算而对源代码DOl进行解析;输入装置13,其用于使用户输入解析中所必需的信息;以及显示装置15,其对从CPUll输出的检查结果(包含排他控制检查结果D05)进行显示。检查结果也能够使用输入输出装置12而写入到存储介质中。作为存储装置14,能够列举出存储器、硬盘等,在存储装置14和CPU (中央处理装置)11之间进行数据的输入输出。在存储装置14中存储的中间数据利用CPUll进行更新。作为中间数据,能够列举出:后述的执行顺序/执行路径表T01、锁定区间确定表T02、时钟数合计管理表T03、排他控制结构管理表T04等。此外,排他控制检查装置也能够作为客户端服务器模型而实现。例如,经由计算机网络而将通用个人计算机(客户端)连接到服务器上。由此,能够将具有图1中所示的CPUll的置于远程环境中的服务器经由计算机网络,而连接到客户端所具有的输入输出装置12、输入装置13、存储装置14、或者显示装置15上。在该情况下,排他控制检查装置主要通过CPU11(服务器)构成,输入输出装置12、输入装置13、存储装置14、或者显示装置15未包含在排他控制检查装置中。参照图2说明CPUll的功能的构成。将用于使具有CPUll的计算机作为排他控制检查装置而起作用的计算机程序(排他控制检查程序)安装到具有CPUll的计算机上并执行。由此,CPUll作为以下所示的各信息处理部而起作用。另外,此处表示出利用软件实现排他控制检查装置的例子,当然,也可以准备用于执行以下所示的各信息处理的专用的硬件,而构成排他控制检查装置。CPUll作为源代码输入部21、顺序路径确定部22、锁定区间确定部23、时钟数计算部24、最大时钟数计算部25、以及检查结果输出部29而起作用。源代码输入部21从输入输出装置12或输入装置13读取作为检查对象的计算机程序(源代码D01),并存储至存储装置14中。顺序路径确定部22对利用源代码输入部21所读取的计算机程序中所包含的语句的执行顺序以及执行路径进行确定。具体而言,使用从输入本文档来自技高网...

【技术保护点】
一种排他控制检查装置,其对计算机程序中所包含的排他控制进行检查,该排他控制检查装置的特征在于,具有:顺序路径确定部,其确定作为检查对象的所述计算机程序中所包含的语句的执行顺序以及执行路径;锁定区间确定部,其基于利用所述顺序路径确定部确定出的所述语句的执行顺序以及执行路径,确定下述锁定区间,其中,该锁定区间由对所述计算机程序中所包含的多个任务能够利用的共享资源执行排他控制的一组语句构成;时钟数计算部,其对于利用所述锁定区间确定部确定出的所述锁定区间中所包含的各执行路径,计算所述锁定区间的执行所需要的时钟数;最大时钟数计算部,其对于各所述锁定区间,计算利用所述时钟数计算部计算出的所述时钟数的最大值;以及检查结果输出部,其输出利用所述最大时钟数计算部计算出的所述时钟数的最大值。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:长谷川美和子
申请(专利权)人:日产自动车株式会社
类型:发明
国别省市:日本;JP

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

1