专利名称:执行顺序决定装置的制作方法
技术领域:
本发明涉及对执行相互存在依存关系的多个处理模块的顺序进行决定的执行顺序决定装置。
背景技术:
在监视、控制的领域中,在数字计算机上执行以往以硬件嵌入的处理模块的情形逐渐增加。在该情况下,通过将处理模块安装为软件并在数字计算机上周期性地反复执行, 从而实现与硬件等同的处理。在存在多个应通过一台计算机执行的处理模块的情况下,通过周期性地进行按整套顺序执行这样的动作,来实现了处理。关于在表示软件的图面上画出的逻辑元件的执行顺序的决定方法,例如,记载于专利文献1中。在专利文献1中,图示信息提取部提取来自图面的逻辑元件和它们的连接关系,逻辑信息群生成部在其中分割为唯一地决定执行顺序的逻辑信息群,进而执行顺序决定部对逻辑信息群附加优先位次,从而决定逻辑元件的执行顺序。如果将逻辑元件置换为处理模块、将连接关系置换为(输入输出)依存关系,则专利文献1可以用于决定执行存在依存关系的多个处理模块的顺序。专利文献1 日本特开平5-88869号公报
发明内容
但是,在逻辑电路具有反馈的情况下,专利文献1公开的逻辑信息群生成部无法提取唯一地决定执行顺序的逻辑信息群,因此,无法决定执行顺序。同样地,对于依存关系具有闭路的处理模块,在专利文献1中不能提供执行顺序。 作为最简单的例子,在两个处理模块相互依存时,具有依存关系的闭路。这在交换信号的两个处理模块之间等经常出现。本发明是为了解决上述那样的问题而完成的,其目的在于得到一种执行顺序决定装置,在执行存在依存关系的处理模块时,即使在该依存关系包括闭路的情况下,也可以高效并且适当地决定处理模块的执行顺序。本发明提供一种执行顺序决定装置,针对各自具有数据输入以及数据输出中的至少一方的功能的多个处理模块,决定所述多个处理模块的执行顺序,该执行顺序决定装置具备处理模块存储单元,存储规定了所述多个处理模块的内容的处理模块群数据;输入输出依存关系提取单元,从所述处理模块群数据,提取所述多个处理模块之间的输入输出依存关系;以及执行顺序分配单元,根据所述多个处理模块之间的输入输出依存关系,求出所述多个处理模块各自针对其他处理模块的依存度以及被依存度,根据该依存度以及被依存度,决定所述多个处理模块的执行顺序。根据本发明,执行顺序分配单元根据多个处理模块各自的针对其他处理模块的依存度以及被依存度,来决定多个处理模块的执行顺序。其结果,本发明的执行顺序决定装置起到如下效果通过考虑输入输出依存关系,即使在上述输入输出依存关系包括闭路的情况下也可以决定高效且可靠的多个处理模块的执行顺序。
图1是示出本发明的实施方式1的执行顺序决定装置的结构的框图。图2是以表形式示出图1所示的处理模块存储装置中存储的处理模块群的例子的说明图。图3是以表形式示出由图1所示的依存关系提取装置提取的依存关系的说明图。图4是示意地示出由图1所示的处理模块存储装置中存储的处理模块群数据规定的多个处理模块的输入输出依存关系的说明图。图5是以表形式示出由图1所示的依存度评价部以及被依存度评价部得到的依存度以及被依存度的评价结果的说明图。图6是以表形式示出由图1所示的优先级评价部以及执行顺序分配部得到的优先级决定以及执行顺序分配处理结果例的说明图。图7是以表形式示出针对一部分的处理模块被排除的处理模块群的执行顺序分配装置的执行顺序分配结果的说明图。图8是以表形式示出由图1所示的执行顺序分配装置最终决定了执行顺序的各处理模块的执行顺序、和依存于未决定的处理模块的数量的说明图。图9是示出实施方式2的执行顺序决定装置的结构的框图。图10是示意地示出由图9所示的逆执行顺序分配部得到的最终执行顺序分配内容的说明图。图11是以表形式示出针对一部分的处理模块被排除的处理模块群的执行顺序分配装置的执行顺序分配结果的说明图。图12是以表形式示出由图9所示的执行顺序分配装置最终决定了执行顺序的处理模块A F的执行顺序、和依存于未决定的处理模块的数量的说明图。图13是示意地示出由图9所示的处理模块存储装置中存储的其他处理模块群数据规定的多个处理模块的输入输出依存关系的说明图。图14是示出针对图13所示的处理模块群,通过实施方式1最终决定了执行顺序的处理模块的执行顺序等的说明图。图15是示出针对图13所示的处理模块群,通过实施方式2最终决定了执行顺序的处理模块的执行顺序等的说明图。图16是示出实施方式3的执行顺序决定装置的结构的框图。图17是以表形式示出由图16所示的优先级评价部得到的优先级决定例的说明图。图18是示出实施方式4的执行顺序决定装置的结构的框图。图19是示意地示出处理模块之间的输入输出依存关系等的说明图。图20是示意地示出其他处理模块之间的输入输出依存关系等的说明图。
具体实施方式
〈前提技术〉一般情况下,在针对输入输出依存关系具有闭路的多个处理模块决定执行顺序那样的情况下,关于一部分的处理模块,不得不以在前面的周期决定的输出为输入而进行处理。另一方面,在忽略输入输出依存关系而决定了执行顺序的情况下,产生如下那样的问题。一个是延迟的问题。如果使使用某处理模块的输出的其他处理模块先执行,则由于该某处理模块的输出使用前面的周期的信号来进行处理,所以在进行正确的处理之前会产生延迟。图19是示意地示出处理模块30A 30C之间的输入输出依存关系以及执行顺序的说明图。如该图所示,处理模块30B的输出依存于处理模块30A的输出,处理模块30C的输出数据Y依存于处理模块30B的输出。并且,如图19所示,假设执行顺序按照处理模块 30C、30B、30A的顺序被决定。另外,假设处理模块30A 30C分别具有将输入数据保持1个循环期间而作为输出数据输出的功能。另外,处理模块30A输入输入数据X。在这样的处理模块30A 30C的情况下,产生如下的延迟输入到处理模块30A中的数据X的变化传播到从处理模块30C输出的数据Y的变化为止,会花费3个周期。图20是示意地示出处理模块31A 31D之间的输入输出依存关系以及执行顺序的说明图。如该图所示,处理模块31B的输出数据Xl依存于处理模块31A的输出,处理模块31C的输出数据X2依存于处理模块31A的输出,处理模块31D的输出数据Y依存于处理模块31B的数据Xl以及处理模块31C的数据X2。并且,假设执行顺序按照处理模块31A、 31B、31D、31C的顺序被决定。另外,处理模块31A 31C分别具有将输入数据保持1个循环期间而输出的功能, 处理模块31D具有将数据Xl以及数据X2的异或作为数据Y输出的功能。另外,处理模块 31A输入输入数据X。在这样的处理模块31A 31D的情况下,即使X变化,数据Xl以及数据X2也取相同的值,所以乍一看被认为Y仍为“0”,但实际上有可能在1个循环期间输出“1”。这是因为,在执行了处理模块31D时,数据Xl等于其循环的X,但X2等于前面的循环的X。这样,在没有适当地决定处理模块31A 31D之间的执行顺序的情况下,有时导致产生违反可通过直观等级理解的逻辑判断(以下,称为“直观等级的逻辑判断”)的结果。本发明的执行顺序决定装置可以抑制产生以上在前提技术中叙述的延迟以及违反直观等级的逻辑判断的结果,高效并且适当地决定相互存在依存关系的多个处理模块的执行顺序。〈实施方式1>图1是示出本发明的实施方式1的执行顺序决定装置的结构的框图。如该图所示, 实施方式1的执行顺序决定装置包括处理模块存储单元11、依存关系提取单元12、执行顺序分配单元13以及执行顺序记录单元18。处理模块存储单元11存储处理模块群数据,该处理模块群数据规定了成为执行顺序决定对象的多个处理模块之间的输入输出依存关系、多个处理模块各自的处理内容等。另外,此处叙述的处理模块是指,例如硬件等级意味着逻辑元件等,软件等级意味着具有数据输入以及数据输出中的至少一方的功能的子程序等。以后,有时将多个处理模块全体记载为处理模块群。图2是以表形式示出处理模块存储单元11中存储的处理模块群数据的例子的说明图。在该图所示的例子中,作为处理模块群数据存储了 A F这6个处理模块之间的输入输出关系。用紐(11= 1、2...)表示了处理模块具有的输入、输出。作为输入具有数据紐(输入数据紐)的处理模块依存于作为输出具有该数据)(n(输出数据紐)的处理模块。例如,处理模块A作为输入具有处理模块C的输出数据)(6和处理模块D的输出数据X4,所以依存于处理模块C、D。相反地,以输出数据Xl为处理模块B的输入数据,所以对于处理模块B使得依存(被依存)。依存关系提取单元12从处理模块存储单元11中存储的处理模块群数据,提取多个处理模块之间的输入输出依存关系。图3是以表形式示出由依存关系提取单元12提取出的多个处理模块之间的输入输出依存关系的说明图。如该图所示,多个处理模块之间的依存关系是通过如下方法得到 如上所述,针对各数据= 1、2...),求出作为输入具有的处理模块、和作为输出具有的处理模块,并组合它们。在该图所示的例子中,规定了处理模块A相对处理模块B是被依存侧(使得依存的侧),相对处理模块C、D是依存侧(依存的侧)。以下,为便于说明,有时将处于依存侧简称为“依存”、将处于被依存侧简称为“被依存”。图4是示意地示出由处理模块存储单元11中存储的处理模块群数据规定的多个处理模块之间的输入输出依存关系的说明图。如该图所示,存在处理模块IOA IOF(与图2、图3的处理模块A F对应)的输入输出依存关系。具体而言,处理模块IOA通过从处理模块10C、IOD输入数据X6、X4而依存于处理模块10C、10D,通过将数据Xl输出到处理模块IOB而被依存于处理模块10B。处理模块IOB通过从处理模块10A、10C、IOF输入数据XI、X5、X8而依存于处理模块10A、10C、10F,通过将数据X2输出到处理模块IOC而被依存于处理模块10C。同样地,处理模块IOC依存于处理模块10B,被依存于处理模块10A、10B、10D,处理模块IOD依存于处理模块10C,被依存于处理模块10A、IOE0另外,处理模块IOE依存于处理模块10D,处理模块IOF被依存于处理模块10B。这样,在图4中,用从被依存的处理模块向依存的处理模块的箭头,示出了多个处理模块之间的输入输出依存关系。执行顺序分配单元13包括依存度评价部14、被依存度评价部15、优先级评价部 16、以及执行顺序分配部17。依存度评价部14将处理模块群中的各处理模块依存于其他处理模块的程度评价为依存度。另外,被依存度评价部15将各处理模块被依存于其他处理模块的程度评价为被依存度。图5是以表形式示出基于依存度评价部14以及被依存度评价部15得到的依存度以及被依存度的评价结果的说明图。在图5所示的例子中,将依存的其他处理模块的数量设为依存度,将被依存的其他处理模块的数量设为被依存度。
在图5中,例如,处理模块A依存于处理模块C、D且依存度是“2”,被依存于处理模块B且被依存度是“1”。优先级评价部16根据由依存度评价部14以及被依存度评价部15得到的依存度以及被依存度,决定处理模块群中的各处理模块的优先级。执行顺序分配部17将由优先级评价部16得到的优先级最高的一个处理模块分配为最先的执行顺序。图6是以表形式示出基于优先级评价部16得到的优先级决定以及基于执行顺序分配部17得到的执行顺序的分配处理结果例的说明图。在图6所示的例子中,优先级评价部16将依存度越小的处理模块评价(一次评价)为优先级越高(大)的处理模块。然后,对于依存度相同的处理模块,将被依存度大的处理模块的优先级评价(二次评价)得更高(大)。其结果,按照处理模块F、C、D、E、A、B 的顺序,决定优先级。另外,作为二次评价使被依存度大的处理模块优先的理由是因为通过执行这样的处理模块,可以期待不依存于未执行的处理模块的处理模块进一步增加。如果得到了图6所示的优先级,则执行顺序分配部17将优先级最高的处理模块F 决定为执行顺序“1”。执行顺序分配单元13每当决定一个处理模块的执行顺序时,使得反复执行基于依存度评价部14、被依存度评价部15、优先级评价部16、执行顺序分配部17的上述处理,依次分配各处理模块的执行顺序。此时,对于决定了执行顺序的处理模块,从对象中排除。例如,在根据图6所示的优先级,处理模块F的执行顺序决定为“ 1,,之后,从处理模块群,从对象中排除处理模块F。这样,在初始状态下,6个处理模块A F是评价对象的规定数量的处理模块,但在该定时,执行顺序分配单元13进行将5个处理模块A E再设定为评价对象的规定数量的处理模块的对象处理模块再设定处理。以下,说明针对处理模块F被排除的处理模块群(规定数量的处理模块)的处理。图7是以表形式示出针对处理模块F被排除的处理模块群的执行顺序分配单元13 的执行顺序分配结果的说明图。依存度评价部14以及被依存度评价部15除了已经分配了执行顺序的处理模块F 以外,再次评价依存度以及被依存度。由于处理模块F从评价对象被排除,所以处理模块B 的依存度从“3”降低为“2”。之后,优先级评价部16根据重新由依存度评价部14以及被依存度评价部15得到的依存度、被依存度,再次评价优先级。处理模块B的依存度从“3”降低为“2”的结果,处理模块B的优先级成为与处理模块A相同的级别“_3”。接下来,执行顺序分配部17根据由优先级评价部16重新得到的优先级,分配应第 2个执行的处理模块、评价对象的规定数量的处理模块之间的分配为最先位次的处理模块。 在图7所示的例子中,处理模块C的执行顺序被决定为“2”。以后,同样地,在执行顺序分配单元13的控制下,一边将决定了执行顺序的处理模块从对象中排除(一边执行对象处理模块再设定处理),一边反复执行利用依存度评价部14、被依存度评价部15、优先级评价部16的评价、利用执行顺序分配部17的分配,从而对处理模块群中的处理模块一个一个地分配执行顺序。另外,在图7中,依存于未决定的处理模块的数量是指,已经决定了执行顺序的处理模块依存于执行顺序未决定的处理模块的数量。例如,处理模块F由于不存在本来依存的处理模块,所以是“0”,处理模块C由于依存的处理模块B的执行顺序未决定,所以成为 “1”。图8是以表形式示出由执行顺序分配单元13最终决定了执行顺序的处理模块 A F的执行顺序、和依存于未决定的处理模块的数量的说明图。如该图所示,最终按照处理模块F、C、D、A、B、E的顺序决定执行顺序。并且,将依存于未决定的处理模块的数量仅抑制为处理模块C的“ 1 ”,使其他处理模块A、B、D F成为 “0”。执行顺序记录单元18记录由执行顺序分配单元13得到的处理模块群中的各处理模块的执行顺序。这样,实施方式1的执行顺序决定装置一边考虑依存度一边依次决定多个处理模块的执行顺序,所以作为结果,起到如下效果可以得到执行延迟少、不易产生违反直观等级的逻辑判断的结果的、高效并且可靠的执行顺序。在图2 图8所示的例子中,通过按照由实施方式1的执行顺序决定装置决定的执行顺序执行处理模块群,从而成为依存于未决定的处理模块的数量、即依存于前面的周期的处理模块的结果的数量抑制为只有执行处理模块C时的1个部位的高效的执行顺序。 因此,在处理模块是软件的情况下,可以抑制产生错误并提高生产效率。另外,在本实施方式中,依存度评价部14、被依存度评价部15、优先级评价部16、 执行顺序分配部17的处理内容不限于上述内容。例如,关于依存度评价部14、被依存度评价部15,也可以考虑对限制一部分的处理模块之间的执行顺序等(例在处理模块A、B中必须连续执行)的依存关系进行了加权的情况,并考虑它们的权重来进行评价。另外,关于优先级评价部16,既可以使用某些评价式,也可以考虑其他指标来进行评价,也可以切换使用多个评价方法。另外,执行顺序分配部17在优先级评价部16评价的优先级中不出现差异的情况下,也可以通过某些手段(从随机数、最初、最后等)来选出一个处理模块。这样,在实施方式1的执行顺序决定装置中,执行顺序分配单元13根据多个处理模块各自针对其他处理模块的依存度以及被依存度,决定了多个处理模块的执行顺序。在本装置中决定执行顺序的处理模块可以是监视控制等的领域中的,以温度、压力、位置等的来自传感器、人机接口的信号等为输入,并以向阀、泵、开闭器等、人机接口的控制信号等为输出的模块。另外,也可以是产业用机器人等的领域中的、以温度、压力、位置等的来自传感器、人机接口的信号等为输入,以向马达、继电器电路等、人机接口的控制信号等为输出的模块。在以后的实施方式中也是同样的。其结果,实施方式1的执行顺序决定装置通过考虑处理模块之间的输入输出依存关系,从而起到如下效果即使在上述输入输出依存关系包括闭路的情况下也可以决定高效且可靠的多个处理模块的执行顺序。除此之外,实施方式1的执行顺序决定装置的执行顺序分配单元13以如下方式进行控制,即,依存度评价部14、被依存度评价部15、优先级评价部16、以及执行顺序分配部 17分别在对象处理模块再设定处理后,再次进行针对重新设定的评价对象的规定数量的处理模块的处理,所以起到如下效果可以总是根据精度高的优先级来决定处理模块的执行顺序。另外,实施方式1的执行顺序决定装置通过具备处理模块存储单元11以及执行顺序记录单元18,从而可以稳定性良好地保持与由依存关系提取单元12以及执行顺序分配单元13处理前的多个处理模块以及由执行顺序分配单元13决定后的执行顺序相关的数据。<实施方式2>图9是示出本发明的实施方式2的执行顺序决定装置的结构的框图。如该图所示, 实施方式2的执行顺序决定装置包括处理模块存储单元11、依存关系提取单元12、执行顺序分配单元23以及执行顺序记录单元18。执行顺序分配单元23包括依存度评价部14、被依存度评价部15、优先级评价部 16、执行顺序分配部17以及逆执行顺序分配部19。逆执行顺序分配部19根据从被依存度评价部15得到的被依存度,对处理模块从最后分配执行顺序。在本实施方式中,提取被依存度是“0”的处理模块来分配。此时,利用逆执行顺序分配部19的处理优先于利用优先级评价部16以及执行顺序分配部17的处理而进行。另外,处理模块存储单元11、依存关系提取单元12、以及执行顺序记录单元18的处理、以及执行顺序分配单元23内的依存度评价部14、被依存度评价部15、优先级评价部 16、以及执行顺序分配部17的处理内容基本上与实施方式1相同,所以附加相同符号而适宜地省略说明。图10是示意地示出由逆执行顺序分配部19进行的最终执行顺序分配内容的说明图。另外,作为对象的处理模块群与具有图2 图4所示的输入输出依存关系的处理模块群相同。如该图所示,依存度评价部14以及被依存度评价部15与实施方式1同样地,评价处理模块A F的依存度以及被依存度。其结果,如图10所示,存在被依存度是“0”的处理模块E,所以逆执行顺序分配部 19优先于利用优先级评价部16以及执行顺序分配部17的处理,将处理模块E分配为表示在最终位次执行的“_1”。执行顺序分配单元23每当决定一个处理模块的执行顺序时,使得反复执行利用依存度评价部14、被依存度评价部15、优先级评价部16、执行顺序分配部17以及逆执行顺序分配部19的上述处理,依次分配各处理模块的执行顺序。此时,与实施方式1同样地,对于决定了执行顺序的处理模块,从对象中排除。例如,如图0所示,在通过逆执行顺序分配部19将处理模块E的执行顺序决定为“-1 ”(最终) 之后,从处理模块群,从对象中排除处理模块E。以下,说明针对处理模块E被排除的处理模块群(规定数量的处理模块)的处理。图11是以表形式示出针对处理模块E被排除的处理模块群的执行顺序分配单元 23的执行顺序分配结果的说明图。
依存度评价部14以及被依存度评价部15除了已经分配了执行顺序的处理模块E 以外,再次评价依存度以及被依存度。处理模块E从评价对象被排除,所以处理模块D的被依存度从“2”降低为“1”。此时,由于不存在被依存度“0”的处理模块,所以不进行利用逆执行顺序分配部 19的分配处理,而与实施方式1同样地,执行利用优先级评价部16以及执行顺序分配部17 的执行顺序决定处理。优先级评价部16根据重新从依存度评价部14以及被依存度评价部15得到的依存度、被依存度,再次评价优先级。然后,将依存度最小的“0”的处理模块F的优先级评价
为最高等级。接下来,执行顺序分配部17根据由优先级评价部16得到的优先级,决定应第1个执行的处理模块。在图11所示的例子中,处理模块F的执行顺序被决定为“1”。以后,同样地,从对象中排除决定了执行顺序的处理模块的同时,执行顺序分配单元23通过反复执行利用依存度评价部14、被依存度评价部15、优先级评价部16的评价、利用执行顺序分配部17以及逆执行顺序分配部19的分配,从而对处理模块群中的处理模块一个一个地分配执行顺序。图12是以表形式示出由执行顺序分配单元23最终决定了执行顺序的处理模块 A F的执行顺序、和依存于未决定的处理模块的数量的说明图。另外,在图12中,在负数的情况下,执行顺序成为-4、-3、-2、-1的顺序。如该图所示,执行顺序最终按照处理模块F、C、D、A、B、E的顺序被决定。并且,将依存于未决定的处理模块的数量仅抑制为处理模块C的“1”,使其他处理模块A、B、D F 成为“0”。这样,实施方式2的执行顺序决定装置与实施方式1同样地,原则上一边考虑依存度一边决定处理模块的执行顺序,所以作为结果起到如下效果可以得到执行延迟少、不易产生违反直观等级的逻辑判断的结果的执行顺序。这样,通过按照由实施方式2的执行顺序决定装置决定的执行顺序执行处理模块群,从而成为依存于未决定的处理模块的数量、即依存于前面的周期的处理模块的结果的数量抑制为只有执行处理模块C时的1个部位的高效的执行顺序。在具有图2 图4所示的输入输出依存关系的处理模块群中,在实施方式1以及实施方式2之间会得到相同的执行顺序。但是,实施方式2针对处理模块之间具有更复杂的输入输出依存关系的处理模块群发挥效果。图13是示意地示出处理模块存储单元11中存储的其他处理模块群数据的输入输出依存关系的说明图。如该图所示,在其他处理模块群中的处理模块A H之间,存在以下的输入输出依
存关系。处理模块20A依存于处理模块20C、20D,被依存于处理模块20B。处理模块20B依存于处理模块20A、20C、20F,被依存于处理模块20C。同样地,处理模块20C依存于处理模块20B,被依存于处理模块20A、20B、20D,处理模块20D依存于处理模块20C,被依存于处理模块20A、20E、20G、20H。另外,处理模块20E 依存于处理模块20D,处理模块20F被依存于处理模块20B。
另外,处理模块20G依存于处理模块20D,处理模块20H依存于处理模块20D。图14是以表形式示出针对具有图13所示的输入输出依存关系的处理模块群,通过实施方式1最终决定了执行顺序的处理模块A H的执行顺序、和依存于未决定的处理模块的数量的说明图。另外,在相同条件时,将以字母顺序在前的处理模块的执行顺序决定为在前。图15是以表形式示出针对具有图13所示的输入输出依存关系的处理模块群,通过实施方式2最终决定了执行顺序的处理模块A H的执行顺序、和依存于未决定的处理模块的数量的说明图。另外,在图15中,在负数的情况下,执行顺序成为-6、-5、-4、-3、-2、-1的顺序。另外,在相同条件时,将以字母顺序在前的处理模块的执行顺序决定为在前。如图14以及图15所示,相对于在通过实施方式1决定的执行顺序中依存于未决定的处理模块的数之和为“2”,在通过实施方式2决定的执行顺序中依存于未决定的处理模块的数之和为“1”。该差的效果是通过以下而得到的通过逆执行顺序分配部19,预先依次从最终起决定即使轮到最后也不会有障碍的处理模块E、G、H的顺序,并从基于优先级评价部16的优先级评价和基于执行顺序分配部17的执行顺序分配的候补中删除。这样,实施方式2的执行顺序决定装置可以针对被依存度是“0”的处理模块优先地从最终顺序决定执行顺序,所以起到如下效果针对具有复杂的输入输出依存关系的处理模块群可以决定比实施方式1更高效的执行顺序。S卩,执行顺序分配单元23内的逆执行顺序分配部19在满足被依存度是“0”这样的条件(规定的条件)时,优先于利用优先级评价部16以及执行顺序分配部17的分配,将被依存度是“0”的处理模块在评价对象的规定数量的处理模块之间分配为最终位次,所以起到如下效果针对具有复杂的输入输出依存关系的多个处理模块也可以决定高效的执行顺序。〈实施方式3>图16是示出本发明的实施方式3的执行顺序决定装置的结构的框图。如该图所示,实施方式3的执行顺序决定装置包括处理模块存储单元11、依存关系提取单元12、执行顺序分配单元33以及执行顺序记录单元18。执行顺序分配单元33包括依存度评价部14、被依存度评价部15、优先级评价部 36、以及执行顺序分配部17。另外,处理模块存储单元11、依存关系提取单元12、以及执行顺序记录单元18的处理、以及执行顺序分配单元33内的依存度评价部14、被依存度评价部15、以及执行顺序分配部17的处理内容基本上与实施方式1相同,所以附加相同符号而适宜地省略说明。优先级评价部36根据依存度评价部14评价的依存度、被依存度评价部15评价的被依存度,使用以依存度以及被依存度的多项式表示的评价式来进行优先级的评价。评价式的一个例子是用“(优先级)=α X(依存度)+ β X(被依存度)...(1)”表示的式(1)。 在式⑴中,“α ”是“依存度”用的(第1)参数,“β”是“被依存度”用的(第2)参数。如果选择依存度大的处理模块,则存在依存于未决定的处理模块的数量变大的倾向。另一方面,如果选择被依存度大的处理模块,则存在在剩余的处理模块中依存的总数减少的倾向,所以可以期待在此后的分配中依存于未决定的处理模块的数量减少。因此,在式 (1)中,α优选为负的数、β优选为正的数。在式(1)中,如果将K设成充分大的正的值,并设成α =-Κβ (β为正的数),则优先级评价部36的处理内容与实施方式1的优先级评价部16的处理内容等价。图17是以表形式示出利用优先级评价部36的优先级决定例的说明图。图17所示的例子示出了 在式(1)中,例如在设成K= 100、β = 1时,针对图2 图4所示的处理模块群进行的情况的优先级。图17所示的优先级成为处理模块F、C、D、E、A、B的顺序,该优先级顺序成为与图6所示的实施方式1的利用优先级评价部16的优先级顺序相同的顺序。这样,实施方式3的执行顺序决定装置中,优先级评价部36可以使用可根据依存度以及被依存度变更参数(α、β)的值的评价式(式(1)),来决定处理模块群内的各处理模块的优先级,所以起到如下效果可以比实施方式1以及实施方式2更灵活性良好地决定执行顺序。S卩,实施方式3的执行顺序决定装置的执行顺序分配单元33中的优先级评价部36 根据包括依存度以及被依存度、和依存度以及被依存度用的参数α以及β (第1以及第2 参数)的式(1)(规定的多项式),求出评价对象的规定数量的处理模块之间的优先级,所以可以求出灵活且高精度的优先级。其结果,实施方式3的执行顺序决定装置起到可以针对多个处理模块决定高效的执行步骤的效果。另外,通过适当地变更式(1)的α、β并通过实施方式3的执行顺序决定装置决定执行顺序,可以得到多个执行顺序。然后,针对各个比较依存于未决定的处理模块的总数,并根据其比较结果,设定参数α、β的值,由此可以决定高效并且可靠的执行顺序。另外,还考虑在实施方式3中的执行顺序分配单元33内加上与实施方式2的逆执行顺序分配部19相当的构成部的方式。〈实施方式4>图18是示出本发明的实施方式4的执行顺序决定装置的结构的框图。如该图所示,实施方式4的执行顺序决定装置包括处理模块存储单元11、依存关系提取单元12、执行顺序分配单元43以及执行顺序记录单元18。执行顺序分配单元43包括依存度评价部14、被依存度评价部15、优先级评价部 46、以及执行顺序分配部17。另外,处理模块存储单元11、依存关系提取单元12、以及执行顺序记录单元18的处理、以及执行顺序分配单元43内的依存度评价部14、被依存度评价部15、以及执行顺序分配部17的处理内容基本上与实施方式1相同,所以附加相同符号而适宜地省略说明。优先级评价部46与实施方式3的优先级评价部36同样地,使用以依存度以及被依存度的多项式表示的评价式(式(1))来进行优先级的评价。此时,执行顺序分配单元43使用通过在优先级评价部46中将式(1)的参数α、 β中的至少一方变更多次而得到的多种评价式的各个,对依存度评价部14、被依存度评价部15、优先级评价部46以及执行顺序分配部17进行控制,从而针对处理模块群临时决定基于多种评价式的多种执行顺序候补。然后,执行顺序分配单元43从临时决定的多种执行顺序候补中,将“异存于未决定的处理步骤的数量”最少的候补采用为最终决定的执行顺序。另外,也可以将临时决定的多种执行顺序候补暂时记录于执行顺序记录单元18中。这样,实施方式4的执行顺序决定装置的执行顺序分配单元43使用可根据依存度以及被依存度变更参数(α、β)的评价式(式(1)),从根据多种评价式(多项式)临时决定的多种执行顺序候补中,将“异存于未决定的处理步骤的数量”最少的候补采用为最终决定的执行顺序。其结果,实施方式4的执行顺序决定装置起到可以决定更高效的执行顺序的效果。S卩,实施方式4的执行顺序决定装置的执行顺序分配单元43将临时决定的多种执行顺序候补中的、“异存于未决定的处理步骤的数量”最少的候补(判断为最高效的执行顺序的候补)最终决定为多个处理模块的执行顺序,所以起到可以决定更高效的执行步骤的效果。另外,作为变更基于优先级评价部46得到的评价基准并通过执行顺序分配单元 43得到多种执行顺序候补的方法,还考虑以下那样的方法。与处理模块群的规格(处理模块数、平均输入输出数)对应地,针对评价式(式(1)),将由多个组构成的参数组(各组分别具有多种α、β的组合)预先准备为集合数据库。然后,从集合数据库中的多个参数组,读出适合于处理模块群的规格的参数组,并一边根据所读出的参数组变更评价式,一边临时决定多种执行顺序候补。另外,关于期望执行顺序的决定的处理模块群,在知道输入输出依存关系的密度 (平均输入输出数)、处理模块的数量等倾向的情况下,如果预先生成与其相似的处理模块群的集合模型,并将对集合模型最佳的参数组作为集合数据库而设定到优先级评价部46, 则可以期待决定高效且可靠的执行顺序。另外,在为了迅速地决定执行顺序而希望预先设定一个评价式的情况下,还可以通过以下的事先处理对优先级评价部46设定具有最佳的参数的一个评价式。S卩,可以针对处理模块群的集合中的处理模块群的各个,使用多种评价式来取得执行顺序,在多种评价式中,将通过多数决定等处理进行平均而决定了最佳的执行位次的一个评价式预先设定为优先级评价部46用的一个评价式。另外,还考虑在实施方式4中的执行顺序分配单元43内添加与实施方式2的逆执行顺序分配部19相当的构成部的方式。〈其他〉另外,实施方式1 实施方式4中叙述的执行顺序决定装置例如包括主存储装置、 运算装置、输入装置、二次存储装置以及输出装置等,这些装置问如可以通过经由共通总线共通地连接这样的结构的计算机装置来实现。在这样的计算机装置中,依存关系提取单元12以及执行顺序分配单元13、23、33、 43例如可以通过运算装置根据使计算机发挥功能的程序进行动作来实现。上述程序可以储存于主存储装置或者二次存储装置中。另外,处理模块存储单元11以及执行顺序记录单元18可以通过主存储装置或者二次存储装置实现。以上详细说明了本发明,但上述说明是全部状况中的例示,本发明并不限于此。没有例示的无数的变形例解释为不会脱离本发明的范围就能够想到且得到。
权利要求
1.一种执行顺序决定装置,针对各自具有数据输入以及数据输出中的至少一方的功能的多个处理模块,决定所述多个处理模块的执行顺序,该执行顺序决定装置的特征在于,具备处理模块存储单元(11),存储规定了所述多个处理模块的内容的处理模块群数据; 输入输出依存关系提取单元(12),从所述处理模块群数据提取所述多个处理模块之间的输入输出依存关系;以及执行顺序分配单元(13、23、33、43),根据所述多个处理模块之间的输入输出依存关系, 求出所述多个处理模块各个针对其他处理模块的依存度以及被依存度,根据该依存度以及被依存度,决定所述多个处理模块的执行顺序。
2.根据权利要求1所述的执行顺序决定装置,其特征在于,所述执行顺序分配单元(13、23、33、们)针对规定数量的处理模块依次决定执行顺序, 所述规定数量的处理模块在初始状态时包括所述多个处理模块,所述执行顺序分配单元如果分配了所述处理模块的执行顺序,则进行对象处理模块再设定处理,在该对象处理模块再设定处理中,排除执行顺序决定完毕的处理模块,再设定为新的所述规定数量的处理模块, 所述执行顺序分配单元包括依存度评价部(14),根据所述规定数量的处理模块之间的输入输出依存关系,求出所述规定数量的处理模块各个针对其他处理模块的依存度;被依存度评价部(15),根据所述规定数量的处理模块之间的输入输出依存关系,求出所述规定数量的处理模块各个针对其他处理模块的被依存度;优先级评价部(16、36、46),根据由所述依存度评价部以及所述被依存度评价部求出的所述依存度以及所述被依存度,求出所述规定数量的处理模块之间的优先级;以及执行顺序分配部(17),针对所述规定数量的处理模块,将优先级最高的一个处理模块的执行顺序在所述规定数量的处理模块之间分配为最先位次,所述执行顺序分配单元进行控制,以使所述依存度评价部、所述被依存度评价部、所述优先级评价部以及所述执行顺序分配部分别在所述对象处理模块再设定处理后,进行针对重新设定的所述规定数量的处理模块的处理。
3.根据权利要求2所述的执行顺序决定装置,其特征在于,所述执行顺序分配单元还包括逆执行顺序分配部(19),该逆执行顺序分配部 (19)根据由所述被依存度评价部求出的所述被依存度,在所述被依存度满足规定的条件时,优先于利用所述执行顺序分配部的分配,将所述被依存度满足所述规定的条件的处理模块在所述规定数量的处理模块之间分配为最终位次。
4.根据权利要求2或者3所述的执行顺序决定装置,其特征在于,所述优先级评价部(36、46)根据规定的多项式,求出所述规定数量的处理模块之间的优先级,所述规定的多项式包括由所述依存度评价部以及所述被依存度评价部求出的所述依存度以及所述被依存度、和所述依存度以及所述被依存度用的第1以及第2参数。
5.根据权利要求4所述的执行顺序决定装置,其特征在于,所述规定的多项式包括改变了所述第1以及第2参数的值的至少一方的多种多项式, 所述执行顺序分配单元^幻通过一边使所述优先级评价部G6)根据所述多种多项式的各个求出所述规定数量的处理模块之间的优先级,一边使得执行所述依存度评价部、所述被依存度评价部、以及所述执行顺序分配部的处理,从而临时决定所述多个处理模块中的多种执行顺序候补,并将所述多种执行顺序候补中的、判断为最高效的执行顺序的候补决定为所述多个处理模块的执行顺序。
6.根据权利要求1 5中的任意一项所述的执行顺序决定装置,其特征在于, 还具备执行顺序记录单元(18),该执行顺序记录单元(18)记录由所述执行顺序分配单元决定的所述多个处理模块的执行顺序。
全文摘要
本发明涉及即使在输入输出依存关系包括闭路的情况下也可以高效并且适当地决定处理模块的执行顺序的执行顺序决定装置。依存度评价部(14)以及被依存度评价部(15)评价处理模块群中的各处理模块的依存度以及被依存度。优先级评价部(16)根据上述依存度以及被依存度,决定处理模块群中的各处理模块的优先级。执行顺序分配部(17)将由优先级评价部(16)得到的优先级最高的一个处理模块分配为最先的执行顺序。执行顺序分配单元(13)每当决定一个处理模块的执行顺序时,反复执行利用各部(14~17)的上述处理,依次分配各处理模块的执行顺序。
文档编号G06F9/48GK102334101SQ200980157508
公开日2012年1月25日 申请日期2009年3月31日 优先权日2009年3月31日
发明者中田秀男, 津高新一郎 申请人:三菱电机株式会社