分析系统的实时能力的方法

文档序号:6348318阅读:172来源:国知局
专利名称:分析系统的实时能力的方法
技术领域
本发明涉及一种用于分析包括程序模块(任务)和/或电子电路模块的复杂分布式系统的时间响应的计算机实现方法。
背景技术
这样的系统包括以程序模块(任务)和/或电子电路模块形式的多个组件。所述组件互相通信并处理或转换数据。而且,这样的系统可以包括用于检测数据的传感器、用于与用户交互的模块、用于物理地影响环境或其他系统的致动器以及用于将信息发送给用户或环境的输出媒介。接着,某些组件(执行资源)可以部分地执行一个或多个程序模块。如果执行较多模块,则可以利用序列规划方法或排程方法为单个模块指定执行时间的顺序或分配。执行的排程方法可能是静态排程方法以及动态排程方法,在静态排程方法中,静态地确定待执行的模块的执行顺序和执行时间的分配,在动态排程方法中,根据与以下有关的预定策略来确定顺序和执行时间分配取决于待处理的数据的运行时间、其他模块的执行、环境和/或用户交互。这样的系统和组件可能对时间要求严格,因为它们不仅对正确地确定结果和控制决策有要求,还对检测时间段以及提供结果的时间点有要求。这样的要求的示例为确定结果的最大延迟时段或者对值、传感器或输入数据的变化保证的响应时间。然而,这样的要求还可能在定期的时间延迟中或固定的时间范围内提供新的计算结果。模块可以通过通信线路互相激活和/或同时交换数据。为了模拟所述通信线路或激活线路,已开发出大量事件模型。这样的关系可以通过例如仅单一周期、一个周期和抖动、事件流[Gresser :Echtzeitnachweis Ereignisgesteueter RealzeitsystemeiM Uchen 1993,(通过引用方式并入本文)]或者分层事件流(参见W02008/003427)来模拟。很多其他的事件模型也是可能的。就实时系统的分析而论,重要的是尽可能地接近真实系统中的变化过程。在实际嵌入系统中,各种组件和任务在很大程度上是隐含地互相联系的,其并不包括执行场景,但在实时分析中,执行场景不能被排除在外,而不必考虑这些相关性。因此,实时分析可能产生更保守的结果,比如最大反应时间(响应时间)比真实系统所需的最大反应时间长。在目前的实时分析中,考虑一系列的相关性。然而,这总是需要具体地扩展用于精确考虑所需的相关性的类型的分析算法。因此,在分析中考虑新类型的相关性是复杂的。而且,目前的实时分析方法仅涵盖部分相关性。因此,有利的是将相关性的确定和模拟与实际的实时分析分开的机制。因此,在实时分析中,仅需要考虑此抽象相关性模型以考虑可以确定所述抽象模型的所有相依关系。

发明内容
根据本发明,建议了限制串件流这样的机制。
根据第一方面,本发明提供了一种用于分析系统的实时能力的计算机实现方法, 所述系统具体而言是计算机系统,在该系统上提供各种任务,其中所述任务被重复执行,以及其中任务的执行是由该任务的启动触发的,这表示所述任务的事件,其中提供多个描述性要素以将事件的时间关联描述为事件流,其中所述事件流可以检测事件的最大时间密度和/或事件的最小时间密度,且其中有至少另一描述性要素,许多事件流分配给所述至少另一描述性要素,且该至少另一描述性要素描述由至少两个事件流获取的全部事件的时间关联。所述至少另一描述性要素描述限制事件流。优选的是,所述至少另一描述性要素或限制事件流中的至少一个描述由至少两个事件流获取的全部事件的最大时间关联,其中对于至少一时间区间(dt),所述限制事件流在dt中所允许的事件的数量小于非限制事件流在dt中所允许的事件的和。所述至少另一描述性要素或限制事件流的至少一个优选地描述由至少两个事件流获取的全部事件的最小时间关联,其中对于至少一时间区间(dt),所述限制事件流在dt 中所允许的事件的数量大于所述非限制事件流在dt中所允许的事件之和。所述系统优选地被分配有至少一个组件或资源,所述组件中的至少一个被分配有至少两个任务。 优选地,至少两个任务组成一个组,一组中的任务分配给一资源,所述任务为所述资源竞争或者此组的任务仅可以在不同的时间处理所述资源,所述系统包括用以确定所述资源被分配给所述组中的某一任务的时间点的方法。根据优选实施方式,所述限制事件流中的至少一个被分配至少两个受限事件流, 所述受限事件流分别启动不同的任务,其中这些任务被分配给至少一个联合组,其中费用 (cost)分别分配给所述任务,所述费用分别针对一个事件获取所述任务对所述资源的暂时使用,所述方法还包括以下步骤确定所述任务共同需要的费用,这包括以下步骤将限制事件流的事件分配给具有最高费用的任务,其中被分配的串件的量是受启动所述任务的事件流限制的,考虑被分配的事件的量,确定限制事件流的其余结果,将所述限制事件流的其余事件分配给具有次最高费用的任务,其中,所述被分配事件的量是受启动所述任务的事件流限制的,重复所述步骤,直到限制事件流的所有事件被分配,以及自各个任务的费用以及分别分配的事件的量检测全部费用。根据第二方面,本发明提供了一种用于分析系统的实时能力的计算机实现方法, 所述系统具体而言是计算机系统,在该系统上提供多个不同的任务,其中所述任务被重复执行,以及其中任务的执行由所述任务的启动触发,这表示所述任务的事件,其中提供一个或多个描述性要素以将事件的时间关联描述为事件流,
其中所述事件流可以获取事件的最大时间密度和/或事件的最小时间密度,有至少另一描述性要素,许多事件流分配给所述至少另一描述性要素,且所述至少另一描述性要素描述由至少两个事件流获取的全部事件的时间关联,其中所述限制事件流中的至少一个被分配至少两个受限事件流,所述受限事件流分别启动不同的任务,其中所述任务被分配给至少一个联合组,其中费用分别分配给所述任务,所述费用分别针对各自的一个事件检测所述任务对所述资源的暂时使用,所述方法还包括以下步骤确定所述任务共同需要的费用,这包括以下步骤将限制事件流的事件分配给具有最高费用的任务,其中被分配的事件的量是受启动所述任务的事件流限制的,考虑被分配的事件的量,确定限制事件流的其余结果,将所述限制事件流的其余事件分配给具有次最高费用的任务,其中,所述被分配事件的量是受启动所述任务的事件流限制的,重复所述步骤,直到限制事件流的所有事件被分配,以及自各个任务的费用以及分别分配的事件的量检测全部费用。根据本发明的两个方面,至少两个事件流被分配两个不同的限制事件流,所述方法还包括以下步骤确定所述任务共同需要的费用,这包括以下步骤将限制事件流的事件分配给具有最高费用的任务,其中被分配的事件的量是受启动所述任务的事件流以及限制事件流所分别允许的事件的量的最小值限制的,确定限制事件流的其余事件,其中考虑实际分配的事件的量,将所述限制事件流的其余事件分配给具有次最高费用的任务,其中,所述被分配事件的量是受启动所述任务的事件流以及分配给所述任务的其他限制事件流限制的,重复所述步骤,直到限制事件流的所有事件被分配或者事件量被分配给所述组的所有任务,自各个任务的费用以及分别分配给各个任务的事件的量检测全部费用。优选地,所述限制事件流被分配给许多点以描述所述事件在时间区间中的密度, 所述限制事件流被分配至少两个受限事件流,所述受限事件流对事件要求不同量的点。第一任务的启动可以由第二任务执行,其中这些启动的时间关联还可以由事件流获取(第一任务的输出事件流、第二任务的输入事件流)。优选地,至少两个资源分配给所述系统,其中第一组任务被分配给第一资源,第二组任务被分配给第二资源,其中所述第一组的至少两个任务分别直接或通过多个任务来启动所述第二组的任务,这包括以下步骤为所述第一任务的输出事件流确定至少一限制事件流,除非至少一第二任务的启动是由第一任务直接执行之外,否则为所述第二任务的输入事件流确定至少一限制事件流,
考虑所述第二任务的输入事件流的限制事件流,检测所述第二任务共同需要的费用。为了确定所述第二任务的限制事件流中的至少一个,使用所述第一任务的限制事件流。所述任务优选是可以由CPU或电子电路模块执行的单元。通常,系统中的许多事件流可以分配给另一描述性要素,该描述性要素优选地为限制事件流。利用此限制事件流,分配给限制事件流的所有受限事件流的关联要求得到描述。例如,针对区间10ms,如果最大量为5个的事件分配给受限制事件流ES_AB,该ES_AB 被分配事件流ES_A和ES_B且描述事件的最大量,这意味着在实时系统中,ES_A和ES_B下的启动在IOms区间中一共产生的事件不能超过5个。具体而言,这在发生以下情况时也是正确的例如,ES_A在任一 IOms区间中可以被分配6个事件,ES_B在任一(其他)IOms区间中可以被分配7个事件,即ES_A和ES_B在一区间中的和超出了限制事件流ES_AB的值。 限制事件流仅在至少一个这样的区间存在时才有帮助。如果分配给限制事件流的和在任一区间都不超过同一区间的限制事件流的值,所述限制事件流与分析无关。与用于最大事件流的限制事件流相对应,还可以设定用于最小事件流的限制事件流。如果最小限制事件流就至少一个区间而言超出了分配给该最小限制事件流的事件流的和,则该最小限制事件流有意义。可以由限制事件流描述的相关性的示例起因于两个或更多任务之间为了例如共同执行资源的竞争。对于每一单独的任务,对该区间而言(在该区间中,任务被分配排程方法的最高可能比例的共同执行资源),产生从所述任务输出的事件的最大可能密度,即从所述任务输出的事件流的最大值。然而,通常情况是第二任务无法被分配这样高比例的共同执行资源,这意味着就这些区间而言,第二任务的输出事件流的最大值不发生。因此,通常,第一任务的输出事件流的最大值和第二任务的输出事件流的最大值不能同时发生。此关系可以由限制事件流描述,限制事件流根据竞争情况描述各个输出事件流的最大可能同时性。还可以针对事件的量或能量而非时间区间来设定限制事件流。在这一点上是重要的限制事件流和分配给所述限制事件流的多个限制事件流基于同种类型的值。在限制事件流中,大量点(即权重系数)也可以分配给时间区间,其中根据受限事件流确定限制事件流的一个或多个事件需要使用多少点。要使用的点的所述量可以针对分配给限制事件流的不同受限事件流变化。因此,例如,不同地排列所述不同受限事件流或按事件模拟可变复杂性是可能的。在有利的实施方式中,所述机制应用于具体的相关性类型。在此,第一组任务分配给第一资源,第二组任务分配给第二资源。其中,第一组的至少两个任务分别直接或通过多个任务来启动第二组的第一任务。需要以下步骤为第一任务的输出事件流确定至少一限制事件流,如果至少一第二任务的启动不由第一任务直接执行,为所述第二任务的输入事件流确定至少一限制事件流,考虑所述第二任务的输入事件流的限制事件流,检测所述第二任务共同需要的费用。限制事件流可以由考虑相关性的分析方法自动检测或者还可以由实时分析的使用者设定。如果任务仅可以被选择性地启动,则可以由限制事件流描述另一种相关性。这可以例如取决于某数据或处理结果发生,所述处理结果需要在与数据处理或各种致动器的控制有关的选择之间作决定。这样的选择的另一示例是引擎控制单元,其中在各种范围的速度中,各个其他任务被启动,例如以计算最佳的下一点火点。利用这些供选择的任务的限制事件流可以确保在实时分析的每一步骤中,每一情况下将仅考虑一个供选择的任务,即最复杂的任务。


下文给出了详细描述图1示出了具有几个不同的相关性的分布式系统的示例;图2示出了描述竞争相关性的限制事件流的示例;图3示出了用于竞争任务的限制事件流的区间的计算;图4示出了利用限制事件流计算最坏情况响应时间的较高优先级任务的功劳的计算;以及图5以百分比示出了事件流 F、ΘΗ以及θ:的区间的提高。
具体实施例方式嵌入式系统的要求逐代提高。例如,每一代的汽车实现更多的软件功能,这引起嵌入式系统更复杂。新型汽车具有多达70个通过若干总线连接的ECU。大多数功能具有实时限制,比如引擎管理系统以及ABS系统。为了使工业软件开发商普遍认同实时分析,任务的实际最坏情况响应时间的紧密边界是重要的。成功的方法是考虑成链的任务集的相关性。本发明提供了结合实时分析中的不同类型的相关性的新型整体性模型。根据本发明的此大体模型可以集成到优先级固定的系统的可调度分析中。图1示出了典型的分布式系统。该系统包括两个CPU和一个总线。针对此示例, 假定每一资源上的调度优先级是固定的。该系统具有在处理器和总线上执行的八个任务。 如图中所示指定优先级。任务的启动由事件流 表示。为了分析图1的系统,需要计算每一任务的最坏情况响应时间。常见的方式是假定系统的所有任务和描述启动的事件流是独立的。这意味着在最坏情况响应时间分析中, 事件可以以其最大密度发生,因为并未考虑系统的背景。实时分析的结果是任务之间的干扰总是最大且导致非常悲观的结果。为了获得更紧密的响应时间边界,本发明引入了两种相关性第一相关性是基于竞争的相关性,其描述由同一组件执行的任务为此组件竞争的情况。这样的竞争具有以下效果当假定任务不独立时某些事件不会以同样的密度发生。例如,图1中的和Θη。第二种相关性是基于偏移的相关性,其描述来自不同事件流的事件必须互相以时间顺序发生。例如,如果考虑图1中的事件流 。,则认为所述事件流之间存在相关性。这对连续的任务和事件流有直接影响。引入此相关性的目的是示出根据本发明的方法的普遍性。这两个引入的相关性引起了实时系统的边界更紧密。期望将两种相关性都计入实时分析中。在之前的研究中,不存在作为用以描述任务之间的相关性的普遍方法的整体模型。下文中,描述以下讨论的实时分析所需的模型。任务模型Γ是一个资源Γ = { τ ρ . . .,τ η}上的任务a。任务是4元组,τ = (C+,C-,Φ,Θ)。C+是最坏情况执行时间,c_是最佳情况执行时间,Φ是用于调度的优先级 (数越小,优先级越高)以及 定义事件流对任务的启动。使τ u为任务τ i的第j次工作/执行。假定任务的每一次工作在其执行结束时产生一事件以通知其他任务。事件流模型事件流模型为事件界函数给出了有效的通用符号。就本发明而言,定义了关于每一区间At,事件界函数η (At, Θ)给出了在长度为At的任一区间中自事件流θ发生的事件的数目的上界。因此,事件界函数是次加性函数,意味着对于每一区间八U At',以下条件(1)适合n(At+At'Θ)+η(Δ ' ,Θ) (1)η (At, Θ), η (At',θ)返回在任一 At或At'内可能发生的事件的最大数目。在At+At'中的事件必须在At或At'中发生。因此该条件成立。就本发明而言,还定义了 事件流θ是事件元素θ的集合。每一事件元素由时间段P和偏移a( = (ρ, a))给出。在不了解具体系统的事件的最坏情况密度的情况下,可以用密度的上限来描述事件流。模拟任一事件序列是可能的。只有次加性的条件成立的那些时间序列是有效的事件流。关于事件序列θ和区间At的事件约束函数由以下给出
权利要求
1.一种用于分析系统的实时能力的计算机实现的方法,所述系统具体而言是计算机系统,在所述系统上提供各种任务,其中所述任务被重复执行,以及其中任务的执行是由该任务的启动触发的,这表示所述任务的事件, 其中提供多个描述性要素以将事件的时间关联描述为事件流, 其中所述事件流能够检测事件的最大时间密度和/或事件的最小时间密度, 其特征在于,提供至少另一描述性要素,许多事件流分配给所述至少另一描述性要素,且所述至少另一描述性要素描述由至少两个事件流获取的全部事件的时间关联。
2.如权利要求1所述的方法,其中所述至少另一描述性要素描述限制事件流。
3.如权利要求1或2所述的方法,其中所述至少另一描述性要素或限制事件流中的至少一个描述由至少两个事件流获取的全部事件的最大时间关联,其中对于至少一时间区间 (dt),所述限制事件流在dt中所允许的事件的量小于非限制事件流在dt中所允许的事件之和。
4.如权利要求1、2或3所述的方法,其中所述至少另一描述性要素或限制事件流中的至少一个描述由至少两个事件流获取的全部事件的最小时间关联,其中对于至少一时间区间(dt),所述限制事件流在dt中所允许的事件的量大于所述非限制事件流在dt中所允许的事件之和。
5.如前述权利要求中任一项所述的方法,其中所述系统被分配有至少一个组件或资源,所述组件中的至少一个被分配有至少两个任务。
6.如前述权利要求中任一项所述的方法,其中至少两个任务组成一组,一组中的任务分配给一资源,所述任务为所述资源竞争或者此组的任务仅能够在不同的时间处理所述资源,所述系统包括用以确定所述资源被分配给所述组中的某一任务的时间点的方法。
7.如前述权利要求中任一项所述的方法,其中所述限制事件流中的至少一个被分配至少两个受限事件流,所述受限事件流分别启动不同的任务,其中这些任务被分配给至少一个联合组,其中费用分别分配给所述任务,所述费用分别针对一个事件获取所述任务对所述资源的暂时使用,所述方法还包括确定所述任务共同需要的费用的步骤,该步骤包括以下步骤 将限制事件流的事件分配给具有最高费用的任务,其中被分配的事件的量是受启动所述任务的事件流限制的,考虑被分配的事件的量,确定限制事件流的其余结果,将所述限制事件流的其余事件分配给具有次最高费用的任务,其中,所述被分配的事件的量是受启动所述任务的事件流限制的,重复所述步骤,直到限制事件流的所有事件被分配, 自各个任务的费用以及分别被分配的事件的量检测全部费用。
8.一种用于分析系统的实时能力的计算机实现的方法,所述系统具体而言是计算机系统,在所述系统上提供多个不同的任务,其中所述任务被重复执行,以及其中任务的执行由所述任务的启动触发,这表示所述任务的事件,其中提供一个或多个描述性要素以将事件的时间关联描述为事件流, 其中所述事件流能够获取事件的最大时间密度和/或事件的最小时间密度, 其特征在于,提供至少另一描述性要素,许多事件流分配给所述至少另一描述性要素,且所述至少另一描述性要素描述由至少两个事件流获取的全部事件的时间关联,其中所述限制事件流中的至少一个被分配至少两个受限事件流,所述受限事件流分别启动不同的任务,其中所述任务被分配给至少一个联合组,其中费用分别分配给所述任务, 所述费用分别针对一个事件检测所述任务对所述资源的暂时使用,所述方法还包括确定所述任务共同需要的费用的步骤,该步骤包括以下步骤 将限制事件流的事件分配给具有最高费用的任务,其中被分配的事件的量是受启动所述任务的事件流限制的,考虑被分配的事件的量,确定限制事件流的其余结果,将所述限制事件流的其余事件分配给具有次最高费用的任务,其中所述被分配的事件的量是受启动所述任务的事件流限制的,重复所述步骤,直到限制事件流的所有事件被分配, 自各个任务的费用以及分别分配的事件的量检测全部费用。
9.如权利要求7或8所述的方法,其中至少两个事件流被分配两个不同的限制事件流, 所述方法还包括确定所述任务共同需要的费用的步骤,该步骤包括以下步骤将限制事件流的事件分配给具有最高费用的任务,其中被分配的事件的量是受启动所述任务的事件流以及限制事件流所分别允许的事件的量的最小值限制的, 确定限制事件流的其余事件,其中考虑实际被分配的事件的量, 将所述限制事件流的其余事件分配给具有次最高费用的任务,其中所述被分配事件的量是受启动所述任务的事件流以及分配给所述任务的其他限制事件流限制的,重复所述步骤,直到限制事件流的所有事件被分配或者事件量被分配给所述组的所有任务,自各个任务的费用以及分别分配给各个任务的事件的量确定全部费用。
10.如前述权利要求中任一项所述的方法,其中所述限制事件流被分配给许多点以描述所述事件在时间区间中的密度,所述限制事件流被分配至少两个受限事件流,所述受限事件流对事件要求不同量的点。
11.如前述权利要求中任一项所述的方法,其中第一任务的启动能够由第二任务执行, 其中这些启动的时间关联还能够由事件流获取(第一任务的输出事件流、第二任务的输入事件流)。
12.如前述权利要求中任一项所述的方法,其中至少两个资源分配给所述系统, 其中第一组任务被分配给第一资源,第二组任务被分配给第二资源,其中所述第一组的至少两个任务分别直接或通过多个任务来启动所述第二组的任务, 这包括以下步骤为所述第一任务的输出事件流确定至少一限制事件流,除非至少一第二任务的启动是由第一任务直接执行,否则为所述第二任务的输入事件流确定至少一限制事件流,考虑所述第二任务的输入事件流的限制事件流,检测所述第二任务共同需要的费用。
13.如权利要求12所述的方法,其中为了确定所述第二任务的限制事件流中的至少一个,使用所述第一任务的限制事件流。
14.如前述权利要求中任一项所述的方法,其中所述任务是能够由CPU或电子电路模块执行的单元。
全文摘要
本发明提供了一种用于分析系统的实时能力的方法,所述系统具体而言是计算机系统,在所述系统上提供各种任务,其中所述任务被重复执行,以及其中任务的执行是由该任务的启动触发的,这表示所述任务的事件,其中提供多个描述性要素以将事件的时间关联描述为事件流,其中所述事件流可以检测事件的最大时间密度和/或事件的最小时间密度,且其中有至少另一描述性要素,许多事件流分配给所述至少另一描述性要素,且所述至少另一描述性要素描述由至少两个事件流获取的全部事件的时间关联。
文档编号G06F9/48GK102317915SQ201080008079
公开日2012年1月11日 申请日期2010年2月12日 优先权日2009年2月16日
发明者卡斯滕·阿伯斯, 弗兰克·斯洛姆卡, 斯特芬·科尔曼 申请人:英科伦有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1