
基于DAG的复杂汽车应用的AUTOSAR可运行周期优化
ABSTRACT: 开发汽车控制应用程序时,应仔细优化其调度参数以及控制算法本身,以从给定的计算资源中获得最佳的控制性能。此外,由于广泛采用了AUTOSAR标准,其中使用了较细粒度的调度实体(称为可运行对象)而不是传统的实时任务,因此要优化的调度参数的数量远远大于传统的基于任务的控制系统。因此,由于问题空间很大,因此无法重用现有的耗时的基于搜索的优化方法。出于这种动机,本文提出了一种分析代码符号方法,用于确定可运行周期,从而将给定的控制成本函数降至最低。我们基于拉格朗日乘数法的解决方案方法由于其分析性质,可以在多项式时间内找到优化的可运行周期。此外,我们对具有不同复杂度的合成应用程序的评估结果表明,与最新的进化算法相比,我们的方法性能明显更好(控制成本降低了12%至59%)。据我们所知,本研究是寻找可运行时段以使给定系统的控制性能最大化的首次尝试之一。
1. Introduction
AUTOSAR是汽车控制系统事实上的标准软件架构,涵盖了广泛的应用,如发动机管理,电机驱动的动力转向,以及先进的技术。驾驶辅助系统[1-3]。在AUTOSAR标准中,控制系统被设计成一组的软件组件,是软件打包和部署的单位。通常情况下,多个软件组件通过AUTOSAR运行时环境进行连接和通信。(RTE)。每一个软件组件也是由一组Runnables组成的,这些Runnables是最小的单位。软件开发和调度的功能。Runnables在内部相互通信。每个软件组件和不同的软件组件之间,使用异步消息。通过RTE提供的接口。因此,系统可以被建模为一个有向的无环图。(DAG)的Runnables,数据通过DAG中的Runnables从传感器流向执行器。
对于可运行程序的执行,每个可运行程序都与一个事件源相关联,这个事件源通常是一个周期性定时器,相同周期的可运行任务被归为周期性任务,以便在AUTOSAR实时操作系统RTOS)。应仔细优化可运行周期因为它们是控制旋钮,用于平衡系统的负载和控制之间的权衡。性能。例如,想象一个可运行时间极短的系统。该系统将会有很大的负荷,因此不可调度,因为可运行文件应该在执行时有极高的频率。另一方面,如果实现了较短的可运行周期,就会产生出由于数据流速度快,控制频率高,控制性能高。反之,则是由于数据流速度快,控制频率高,控制性能高。极端,即一个系统的可运行时间极长,它的负荷就会很轻,因此容易可调度;但是,由于数据流速度慢,其控制性能将明显下降。和低控制频率。从这个意义上说,我们需要一种方法来寻找在以下两个频率之间的最佳运行周期这两种极端情况。
然而,在汽车行业,可运行期通常是临时决定的。与耗时的试验和错误[4],难以提取最佳控制性能。出给定的硬件资源。为了应对这一问题,本文制定了一个可运行的周期优化问题,以实现给定系统控制性能的最大化。我们以前的工作的最初方法是使用简单的组合搜索方法来寻找真正的最佳可运行的。期[5]。然而,我们的初步实验表明,即使是对于一个有十几个的小系统可运行,因为优化过程不能在多项式时间内找到解,所以需要太多的时间,使得它对复杂的行业应用不切实际。
为了解决这个可扩展性问题,我们的方法是开发一种分析方法,即可以找到接近最佳的解决方案,而不需要耗时的搜索。为此,首先要选择一个合适的控制性能模型作为优化目标。在各种模型中文献中,我们选择了Bini和Cervin[6]的线性控制成本模型,该模型代表了一个。控制系统的性能作为其控制周期和延迟的近似线性成本函数[6]。该模型已被许多控制调度代码设计研究作为标准工具[7-10]。第二步是定义优化约束,即我们的调度性约束。问题。由于AUTOSAR标准假设了一个优先级驱动的调度算法,我们使用了Liu and Layland(L&L)利用约束法[11],该方法既可以用于速率单调的?(RM)和最早截止日期优先(EDF)调度算法。为便于解释,在此EDF调度算法在本文中大多是假设的,后面我们的方法会被扩展到到RM调度算法。
基于控制成本函数和可调度性约束,我们的具体问题是找到的可运行周期,在保证可调度性约束的前提下,使控制成本最小化。由于控制成本函数是控制周期和延迟的函数,因此应将其转化为变成可运行期的函数。为此,我们仔细研究了可运行期如何影响到控制系统的时间行为,即控制周期和延时,并制定一个通用的。的方法进行变换。
变换后,用拉格朗日乘法求出最佳可运行的期。请注意,拉格朗日乘法是一种著名的优化方法,适用于有约束的优化问题。由于它提供了一种不需要任何问题空间搜索的分析方法。我们的方法可以找到最佳的可运行期,而不考虑大小和复杂程度。目标系统。详细的优化过程分三步解释,从最开始的解释的目的,在一般的DAG模型的不复杂的应用模型。虽然由于在优化过程中应用了启发式方法,我们的方案无法找到真正的最优解。我们对小型系统的评估结果显示,与以下系统相比,性能损失微乎其微的真实最优解。此外,即使是对于大型系统,我们的方法也表现得比与最先进的优化方法。
本文的贡献可以概括为以下几点。
- 我们提出了一个AUTOSAR可运行周期优化问题,并在此基础上对其进行了优化。控制调度码字,我们认为这是最早的此类尝试之一。
- 针对上述问题,我们提出了一种基于拉格朗日乘法的分析方法,对基于DAG的AUTOSAR控制应用,可以在多项式时间内找到接近最优的解。
2. Related Work
期选择问题。控制调度码字方法已在。文献,通过优化调度参数来提高控制系统的性能。在这方面,Seto等人的开创性工作[12]首先提出了一个周期选择问题,假设控制性能可以表示为采样周期的指数衰减函数和即任务是根据动态优先级调度算法进行调度的。期间选择问题扩展到了固定优先级系统,通过使用以下方法寻找可行周期范围的有限集。一种基于分支和边界的整数编程方法[13]。之后,Bini和Di Natale[14]提出了一种更快的算法,它可以找到一个次优的周期分配,它可以用于任务集的实际大小,由于计算要求高,以前的方法无法解决。Du等人[15]。提出了利用拉格朗日乘法和在线算法进行分析求解的方法,以实现过载情况。Fu等人[9]开发了一种针对多核处理器的启发式算法。
延迟感知的方法。上述研究中关于周期选择的一个共同假设是问题是,控制性能只受采样率,即任务周期的影响。控制系统。然而,传感和执行之间的延迟对控制也有很大影响。的性能。在这个动机下,Bini和Cervin[6]将每个任务的延迟纳入到他们的优化成本函数。在他们的工作中,为了寻找最佳时期分配,成本函数是近似为控制周期和延迟的线性函数,延迟也近似为控制周期和延迟的线性函数。假设流体模型调度器。通过近似,他们提出了一种分析解。Xu等人[16]将这种方法扩展到具有谐波周期的系统。
周期和死期选择问题。Wu等人[8]制定了一个优化问题,对同时选择EDF-scheduled系统的任务期和截止日期。他们表明我们可以通过调节每个任务所能经历的延迟和抖动量的上限。任务的相对期限。成本函数被假定为周期的非线性函数,并且是一个非线性函数。每个任务的截止日期。在此基础上,提出了两步走的方法,即首先固定周期和后尝试利用未使用的资源将死机最小化。Tan等人[10]提出了一种算法,即同时调整周期和截止日期,假设EDF-scheduled线性-二次-高斯型的时间。LQG)控制器。他们表明,他们的算法在各种工作负载下比的方法。Cha等人[17]提出了一种启发式算法,对周期和截止日期的由RM调度的系统的任意非线性控制成本函数的选择问题调度算法。
因果链分析。上述研究通常假设独立的实时任务。其中,任务之间不存在数据依赖性,每个任务负责其专用控制目标工厂。处理由复杂任务组成的实际汽车控制应用。的依赖性,基于DAG的控制应用已经在因果链的背景下进行了研究。实时任务的分析[18-21]。尽管他们使用的是任务而不是可运行的任务,但他们的系统中的模型与我们的相似。然而,他们解决的是我们优化问题的相反方向。即分析给定周期的任务DAG的端到端延迟。此外,[22]还分析了发动机管理系统的端到端延迟,以可运行的DAG形式给出。
AUTOSAR系统优化。在汽车控制系统中,基于AUTOSAR标准,每个控制应用都被设计成一个细粒度的可运行的DAG,其中有更多的可运行数据。与传统的基于实时任务的系统相比,复杂的数据依赖性。在这个背景下,Long等人[23]开发了一种可运行的放置和调度方法,考虑了电子控制单元(ECU)中可运行间的通信开销。Monot等人[24]。提出了一种针对多核ECU的可运行程序的排序和调度算法。Saidi等人[25]提出了多核ECU的排序和调度算法。利用整数线性编程(ILP)技术研究了可运行到核的映射问题。Kehr等人[26]开发了一种将传统的AUTOSAR应用迁移到多核的方法处理,同时将能耗降到最低。
AUTOSAR可运行调度。然而,上述关于AUTOSAR应用的研究结果表明通常假设可运行期是先验给出的,这在行业实践中是不成立的。在这种动机下,可运行期优化问题最早是在我们之前提出的Kim等人的研究论文[5],提出了一种组合搜索方法,该方法只对小系统,因为它的计算要求很高。Choi等人[27]部分解决了可扩展性问题使用的分析方法只适用于有限的应用结构。这两篇论文是以下论文的前奏本文将在第4节和第5节中对其进行更深入、更详细的解释。本文的自我完整性。然后,本文进一步扩展了我们之前的工作,提出了一个。更加通用的解决方案,适用于任意形状复杂的基于DAG的AUTOSAR应用。
3. Background and problem description
3.1 System model
本文假设基于AUTOSAR标准的汽车控制应用。图1显示了一个示例系统,其中应用程序由N个软件组件组成
每个软件组件Ci也由| Ci |组成。| Ci | 表示Ci中可运行对象的数量。请注意,可运行对象是AUTOSAR标准中最小的单位功能。如图所示,以ris表示的可运行对象与表示它们之间的数据依存关系的有向边相连。因此,整个系统可以被视为可运行对象的DAG,而无需明确指定每个可运行对象所属的软件组件。DAG G的正式定义为
,其中顶点集合V是一组n个节点或可运行对象{r1,r2,···,rn}其中n = ∑ N i = 1 | Ci |E表示其中一组有向边或链接。当且仅当可运行rk与可运行rj具有数据相关性时,才存在有向边(rj,rk)∈E。然后,每个第i个可运行ri由一个元组定义
其中pi是其周期,ei是最坏情况的执行时间。在可运行变量中,我们假设可运行传感器r1扮演着从传感器收集数据的特殊角色,而可运行执行器rn则负责控制执行器。因此,G仅具有一个源节点r1和一个宿节点rn。
我们的系统模型假定,在ECU中,只有一个CPU运行G所描述的单个控制应用程序,而ECU仅处理单个控制目标工厂,这在汽车行业的联合体系结构中很常见[28,29]。请注意,eis是系统的给定属性,而pis是可控制的参数。因此,可运行的时期
在将可运行对象集成到AUTOSAR平台之前,应先确定。一旦确定了pi,将具有相同pi的可运行对象分组并合并到RTOS任务中,这些任务将根据RTOS的调度策略进行调度。
对于可运行对象之间的通信,使用了异步发送器-接收器通信[30]。在这种通信方法中,可运行的发送器以自己的周期在共享内存缓冲区中定期生成其输出,然后可运行的接收器以自己的周期异步读取存储缓冲区中的数据。当对同一存储单元进行多次写入而没有接收器进行任何读取操作时,最新数据始终会被覆盖在缓冲区中。为了以后的进一步讨论,我们正式介绍以下定义:
图1.我们基于NDA的基于有向无环图(DAG)的系统模型,其中包含N个软件组件和n个可运行对象,其中,每个可运行ri均标有其周期pi和最坏情况的执行时间ei。
定义1.(路径)对于DAG G =(V,E),从源节点r1到宿节点rn的定向路径数量有限。我们假设G中有m条路径,用
然后,路径被正式定义为以r1开头并以rn结束的有序可运行对象集,其中所有可运行对象都是不同的,并且每对相邻的可运行对象都由E中的有向边连接。从现在开始,为了方便起见, 当我们引用路径P∈P(G)时,它可以表示可运行索引的有序集合(1≤i≤n)以及取决于上下文的可运行对象本身。
定义2。(长度)对于路径P∈P(G),其长度定义为
这是沿着特定路径P的可运行时间段的总和。当数据并行流经多个路径时,数据流的速度由数据流经的每个路径中的可运行时间段共同确定,考虑到我们之间的可运行时间 通讯方式。
定义3。(权重)对于路径P∈P(G),其权重定义为
这是遵循特定路径P的可运行执行时间的总和。因此,路径的权重是该路径的计算资源需求量的代表指标。
定义4.(关键路径)给定DAG G及其路径P(G),其关键路径由在中找到的路径定义
这是最长的路径。不失一般性,我们假设每个DAG中只有一条关键路径。
定义5(最重路径)给定DAG G及其路径P(G),其最重路径由在中找到的路径定义
这是使路径中可运行对象的ei s之和最大化的路径。最重的路径背后的直觉是,它表明该路径在单次执行路径时会消耗最大的CPU时间。
在不失一般性的前提下,我们假设每个DAG中只有一条最重的路径。
3.2. Control Performance Model
控制系统的性能可以在许多不同的方面进行定义。例如,它对外部干扰的鲁棒性,控制稳定性和控制错误可以成为此类性能指标。通常,控制系统的性能受其定时行为以及控制算法本身的影响[31]。在本文中,我们假设控制算法作为固定的系统属性给出。因此,我们的控制性能模型是关于系统的时间属性如何影响控制性能的。更具体地说,我们考虑两个截然不同的时间特性:控制周期和目标控制系统的端到端延迟。
在AUTOSAR时序扩展中,定义了两个等待时间约束:(i)数据年龄时序约束和(ii)反应时间约束[20,32,33]。该规范指出,当定期产生执行器命令时,其源输入(传感)值的使用期限应保持在指定的时间限制内。当外部事件(例如按下按钮)应在指定的时间限制内做出反应时,也会考虑反应时间限制。在本文中,由于我们正在考虑周期性的工作负载,因此考虑了数据年龄时序约束。
基于时序模型,有几种方法可以建立控制性能模型。一种是通过人为地控制时间参数来测量系统的最终性能。当我们不能直接测量所研究的系统时,仿真工具[34,35]也可以用来预测控制性能。为了提供更通用的模型,Bini和Cervin [6]引入了线性控制成本函数
其中T是控制周期,而∆是从传感器到执行器的端到端延迟。注意,α和β是定义对照对象植物的特性的常数。图2显示了示例控制成本函数。它的直觉是,如果我们(经常)向执行器发出控制命令,则其控制成本会变小,并且如果我们以较新的(最近的)传感器数据来确定控制命令,并且延迟时间较短,则其控制方式也会相同, 成本又变小了。通常,成本函数J可以是T和∆的非线性函数,但是,可以将其近似为线性函数,如[6-10,16]。在本文中,我们使用此线性近似控制成本函数作为优化目标。
3.3. Schedulability Constraint
可运行对象{r1,r2,···,rn}被实现为RTOS任务,其中,当在CPU上调度任务时,具有相同周期的可运行对象被组合在一起并在任务主体内顺序执行。由于大多数RTOS仅支持隐式截止期限任务,因此应确保其相对截止期限(=周期)满足可运行级别的周期性计时要求,即pis。为此,在本文中,我们使用L&L利用率限制方法,如果每种调度算法的系统利用率均小于或等于特定阈值(即利用率界限),则可以保证给定系统的可调度性。例如,RM调度算法的利用率约为69.3%,而EDF调度算法的利用率约为100%[11]。为了简化起见,我们选择使用EDF,其可调度性条件可以正式表示为:
尽管我们在本文中主要使用EDF调度算法,但是由于大多数调度算法都支持利用边界方法进行可调度性测试,因此我们可以轻松地将优化方法应用于其他调度算法,例如RM调度算法。第6.5节将更详细地处理此问题。
3.4. Problem Description
有了上述系统和控制性能模型以及可调度性约束,我们的问题可以定义如下:对于给定的AUTOSAR控制系统,该系统由DAG结构的可运行对象{r1,r2,···,rn}和线性控制成本组成关于控制目标工厂的函数J(T,∆),找到在满足系统的可调度性约束的同时将控制成本最小化的最佳可运行时间段(p1,p2,...,pn)。更正式地说,我们的问题如下:
在本文中,我们尝试找到理论上最佳的实数可运行周期,而没有明确考虑既不将可运行变量分组为预定义的周期性任务,也不考虑特定RTOS的调度粒度(例如整数约束)。但是,在考虑了特定RTOS的实施细节之后,我们的解决方案可以用作进一步实际应用的基准。
4. Analytical Solution for Linear Path Graphs
4.1. LPG Model
让我们从直接解决DAG模型子集的优化问题开始,而不是直接寻求通用解决方案,然后逐步将解决方案扩展到通用解决方案。本节专门处理线性路径图(LPG)模型,该模型用于具有可运行变量{r1,r2,···,rn}的图,使得边由E = {((ri,ri + 1)| 1)给出≤i≤n − 1}。图3显示了一个示例性LPG,其中包含n个可运行对象以及它们之间的n-1个边缘。
4.2. Transformation of Control Cost Function
在LPG模型范围内解决优化问题时,第一步是根据优化问题的自由变量(即可运行时间段(p1,p2,...,pn))重新定义控制成本函数。为了将等式(10)中的J(T,∆)转换为可运行周期的函数,我们的策略是考虑LPG模型的可运行执行和数据流模式,仅使用可运行周期来定义T和∆。
从工厂的角度来看,控制周期T可以正式定义为连续执行实例之间的规则时间间隔。但是,由于并发可运行对象之间的抢占延迟引起的抖动,间隔可能会因每个驱动实例而异。因此,我们将最长的时间间隔视为最坏情况的周期T。对于基于LPG的应用,T可定义为执行器可运行rn周期pn的两倍。
最坏的情况发生在rn的某个实例被安排在其周期的开始时,而在下一个实例中,rn被安排在其周期的末尾。假设在rn个实例的每次完成时发出启动命令,则在该特定情况下,启动命令之间的时间间隔将尽可能长,即2pn。可以认为应该考虑en,最坏情况下的确切时间间隔应为2pn-en。但是,请注意,由于en是最坏的执行时间,因此实际执行时间可能比en小得多;因此,为简单起见,在定义T时我们不考虑en。端到端延迟Δ定义为新传感器数据通过可运行部件直到到达执行器所需的时间。
根据我们系统模型的数据流体系结构,传感器可运行r1以其自身的周期p1将其输出发送到其相邻的可运行对象。然后,相邻的可运行对象也会以自己的周期发送其输出。通过这些重复的发送,源自源节点r1的新传感器数据通过可运行设备逐渐向宿节点(即致动器可运行设备rn)传播。在rn最终收到更新后,它可以根据新的传感器数据决定其启动命令。在基于LPG的应用中,数据仅流经从r1到rn的单个路径,最坏情况下的端到端延迟Δ可计算为
最坏的情况发生在以下情况中:可运行的ri-1在某个时间t发射ri的输出。但是,不幸的是,ri刚好在t之前开始,读取ri-1的先前(旧)输出。让我们假设ri被安排在那个时期的开始时。然后,再次不幸的是,ri的下一个实例被安排在其周期的最后,读取新数据并在该周期的末尾(即t + 2pi)发出输出。在上述情况下,数据通过ri所需的时间是ri的周期2pi的两倍。假设这种情况发生在路径中的每个可运行节点上,则端到端延迟Δ变为所有可运行周期总和的两倍,如公式(14)所示。通过组合方程式(13)和(14),方程式(10)中的控制成本函数被转换为以下形式:
4.3. Finding the Optimal Runnable Periods
为了直观地理解优化过程,我们选取一个只有两个运行器{r1,r2}的系统为例。然后,控制成本函数的变换如图4所示。
在左手边,描绘了原始控制成本函数,在右手边由公式(15)将其转化为p1和p2的函数。然后,图5展示了优化过程,其中调度性约束和转换后的控制成本函数在p1和p2的二维问题空间上显示。在图中,我们的优化目标是在控制成本平面上找到绿色可调度区域内的最低点。这个概念一般可以扩展到n维问题空间的n个可调度系统。一般来说,我们在式(12)中的原始优化问题可以利用变换后的控制成本函数转化为以下内容。
为了分析求解变换优化问题,采用拉格朗日乘法。应用。第一步,拉格朗日函数的公式如下:
然后,我们分别取L关于p1,p2,---,pn,和λ的偏导数,设将它们化为零,具体如下:
这又扩展为以下内容:
那么,由式(19)中第一项左手边的隔离λ,我们有
可以应用于除最后一个公式外的其余公式(19)。因此,p2, p3, - - - ,和pn是以p1为单位给出的,如下面的第二项至最后一项。
等式(19)与上述第二项至最后一项。然后,由公式(21),我们可以找到实数的为任意基于LPG的应用提供最佳运行周期。
5. Analytical Solution for Linear Multipath Graphs
在第4节解释的LPG模型方法的基础上,本节再进一步说明一个更复杂的应用模型,具有从传感器到执行器的多个独立数据流。
5.1. LMG Model
在设计汽车控制应用时,在某些情况下,可以采用更简单的数据流模型。而不是使用复杂的DAG模型。最常见的情况是当有从传感器到执行器的几个独立的并行数据流。在图6中,r1是传感器的可运行数据。而rn是执行器的可运行状态。在它们之间,有m条路径,中间的每个可运行项部分{r2,r3,----,rn-1}只属于其中的一条特定路径。为了区分这样一个特定的从一般的DAG的应用架构,我们特别将其称为线性多路径图(LMG)。模型。虽然LMG模型可以应用于有限的应用范围,但它的意义在于由于越来越需要整合独立的控制算法,以开发集成的控制系统或多功能ECU[36-38]。在这样的新系统中,传感器数据通过以下方式传播多条独立的可运行路径到执行器。
5.2. Transformation of Control Cost Function
对于优化,应将式(10)中的目标函数J(T, ∆)转化为:1.
可运行周期(p1, p2, - - - , pn)的函数。为此,以4.2节中同样的方式,周期T为
转化为以下内容:
然而,对于端到端延迟∆,我们不能简单地重复使用第4.2节中的方法,因为我们已经有了多条路径的长度可能不同。因此,△应该定义为最长的一条路径的长度。其中的路径代表最坏情况下的端到端延迟。更具体地说,我们要提醒大家,Pi表示m条独立路径{P1, P2, - - - , Pm}中的第i条路径。那么,∆的定义如下。
因此,我们原来的优化问题转化为如下。
与LPG模型不同的是,max算子引入了非线性,使其难以开发出的分析解决方案。但幸运的是,由于LMG模型的工作负荷特性,我们可以通过定义一个平衡状态来简化问题,要想得到最优的LMG模型中的可运行期。LMG的平衡状态可定义如下:
定义6. (平衡状态)对于给定LMG的m条路径的集合,其表示为P(G)={P1,P2,---- ,Pm},如果且仅在以下情况下,G处于其平衡状态
定理1. (平衡态定理)如果G是一个LMG,其最优可运行期,G总是处于其平衡状态。
定理1的证明。如果G在不处于平衡状态时具有最佳可运行周期,我们可以在不影响端到端时延的情况下,增加不属于关键路径的可运行周期,那么,增加的可运行周期将使系统利用率降低,可以通过缩短关键路径的可运行周期来进一步降低端到端时延。那么,增加的可运行周期将使系统利用率降低,可以通过缩短关键路径的可运行周期来进一步降低端到端时延。因此,我们可以得出结论,G不与最佳可运行周期,这是一个矛盾。
根据平衡状态定理,我们可以在不牺牲最优性的前提下缩小问题空间,将非平衡状态从问题空间中排除。为了更有效地表达均衡状态,将△重新表达,将其分解为三个部分,如图所示
附助记号Pˆi = Pi - {1,n}。那么,为了明确表达平衡状态,我们定义一个新的记号p∗如下。
是代表平衡状态下中间部分路径长度的总变量。那么,通过使用p∗,Δ可以从等式(26)和(27)重新表达如下。
最后,将式(10)中的控制成本函数 J(T, ∆)改写为(p1, p∗, pn)的函数。公式(22)和(28)如下:
通过这个变换后的控制成本函数J(p1, p∗, pn),我们原来的n个可运行期的问题就变成了3个自由变量(p1, p∗, pn)的问题。然后,一旦决定了这些变量,就将p∗分配给各路径上的可运行变量。为此,我们使用了一种启发式的方法,即对eis较大的可运行物分配较长的pis。更具体地说,我们分配的pis与eis严格成正比。根据这个分配规则,各Pˆi的可运行周期pjs的决定如下。
5.3. Transformation of Schedulability Constraint Function
本小节将式(11)中的可调度性约束函数转换为(p1, p∗, pn)的函数。首先,将原来的函数 U(p1, p2, -- -- , pn)分解成三部分重新表达,中间的部分根据所属路径对可调度性进行分组。
新的表达式可以简单地理解为m个每条路径的利用量之和,如下图所示。
然后,为了将第i条路径的利用率之和转化为p∗的函数,应用公式(30)消除pj,如下所示。
其中Pˆi表示有序集Pˆi中的元素数。最后,我们的利用率约束转化为如下。
5.4. Finding the Optimal Runnable Periods
经过控制成本函数和可调度性约束函数的转换,我们的LMG模型的可运行期优化问题可以用三个自由变量(p1,p∗,pn)制定如下。
为了解决优化问题,拉格朗日函数的公式如下。
然后,我们分别取L关于p1,p ∗,pn和λ的偏导数,并将它们设为零,如下所示:
依次扩展为以下内容:
然后,通过在每个左侧隔离λ来重新排列方程式(37)的第一,第二和第三部分,如下所示:
然后,通过结合等式(38)的第一和第二,我们具有以下内容:
通过组合方程式(38)的第一个和第三个,我们具有以下内容:
通过用等式(39)和(40)的结果替换等式(37)的最后一个中的1/p ∗和1/pn,我们得到以下信息:
最后,根据等式(39)-(41),我们有以下解决方案:
我们还有一个决定的步骤(p2,p3,...,pn-1)。为此,我们将等式(30)中的p ∗与它们的eis成比例地分配给每个路径中的可运行对象。还要指出的是,即使采用了平衡态定理,我们也找不到真正的最优解,因为在以启发式分布p *的同时失去了最优性。但是,我们可以找到接近实际最佳可运行时间的高质量解决方案。有兴趣的读者可以参考我们以前的工作[27]。
6. Generalized Analytical Method for Directed Acyclic Graphs
本节将针对LPG模型和LMG模型的先前解释的方法概括为通用DAG模型。由于有限的适用性,这两种方法均不适用于基于DAG的常规应用程序。特别地,由于我们用于LMG模型的方法假设不存在同时属于不同路径的此类可运行对象,因此不适用于具有至少一个此类可运行对象的DAG。如果我们强行尝试,公式(30)可能会产生两个不同的结果,因此,此类可运行对象的结果会相互矛盾。因此,我们需要DAG模型的单独方法。
6.1. DAG Model and Its Challenge
DAG模型已在3.1节中进行了说明。因此,本小节仅强调了它与LPG模型和LMG模型的区别,并提出了以前模型中不存在的挑战。如前所述,LPG模型中只有一条路径,因此可以轻松定义系统的端到端延迟。在LMG模型中,即使存在多条路径,我们也可以使用平衡状态定理以它们在中间部分的相同路径长度简单地表示在一起,用p *表示。图7a显示了既不是LPG也不是LMG的简单DAG。在图中,请注意r4属于以下两个不同的路径:<r1,r2,r4,r7>和<r1,r4,r7>。由于可运行周期不能为零,因此前者始终长于后者。因此,与LMG模型不同,在LMG模型中我们总是可以形成平衡状态,而在DAG模型中我们不能总是形成平衡状态。
Figure 7. An example of DAG explaining the concept of the critical path with rc.
6.2. Transformation of Control Cost Function
面对上述挑战,让我们将控制成本函数转换为可运行期间的函数。对于周期T,我们可以使用与LPG模型和LMG模型相同的方法,因为它仅与致动器可运行rn有关。因此,T转换如下:
但是,不幸的是,在转换端到端延迟Δ时,我们不能简单地在5.2节中对LMG模型重用该方法,因为我们不能确定可以达到平衡状态。为了应对这一挑战,让我们从∆的一般定义开始,如下所示,假设有m条路径{P1,P2,···,Pm}:
例如,在图7a中,有四个路径,P1 = <1,2,3,7>,P2 = <1,2,4,7>,P3 = <1,4,7>,P4 = < 1、5、6、7>。在它们当中,很明显,由于P3总是比P2短,因此不能成为关键路径。但是,在P1,P2和P4中,我们不确定哪一个最长,因为根据我们如何确定pis,它们全都是关键路径。
为了克服这一挑战,我们建议采用启发式方法,并明确规定哪条路径应为关键路径。为此,在给定eis的情况下,我们采用以下启发式描述:
当然,使pis与eis成正比,最重要的好处是我们可以根据路径权重(请参阅定义3)简单地确定关键路径,从而可以选择最重的路径(请参阅定义5)作为关键路径。例如,在图7a中,路径权重P1至P4分别计算为15、17、13和10。然后,由红色指定的P2成为最重的路径。通过启发式方法,它被用作关键路径。这种启发式的直觉是,我们给运行时间更长的可运行对象更长的时间,以在各个可运行对象之间平均分配系统利用率,从而消除了可能的瓶颈。注意,在公式(45)中排除了p1和pn,因为它们对决定关键路径没有影响。
为了进一步说明,我们引入了一个新的符号rc,它定义为关键路径中不包括r1和rn的可运行对象的集合。图7b示出了rc = {r2,r4}。然后,让我们认为rc是一个虚拟的复合可运行对象,结合了其成员可运行对象,就像图中覆盖r2和r4的椭圆一样。然后,可以将关键路径视为三个可运行的有序集<r1,rc,rn>。对于rc,让我们还定义ec和pc,如下所示:
基于以上表示,∆可以定义如下:
这使得控制成本的函数如下式(43)所示:
然后,关于如何从pc推导p2,p3,···和pn-1,我们使用根据等式(45)的以下分配规则:
根据上述分配规则,必须确保以下几点:
•pis始终与eis成正比;
•除r1和rn以外的关键路径的长度等于pc;
•任何其他路径的长度始终短于pc。
例如,在图7b中,我们可以找到ec = e2 + e4 = 12且pc = p2 + p4。确定pc之后,可以根据公式(50)如下导出每个pi:
6.3. Transformation of Schedulability Constraint Function
公式(11)中的可调度性约束使用n个可运行周期的函数。因此,遵循等式(50)中的规则,将其转换为三个自由变量(p1,pc,pn)的函数:
现在,利用率函数U(p1,p2,···,pn)可以由(p1,pc,pn)的函数代替,如下所示:
6.4. Finding the Optimal Runnable Periods
基于公式(49)中的控制成本函数和公式(53)中的利用率函数,我们的DAG模型的可运行周期优化问题可以用以下三个自由变量(p1,pc,pn)来表示:
为了解决优化问题,拉格朗日函数的公式如下:
然后,我们分别取L对p1,pc,pn和λ的偏导数,并将它们设为零,如下所示:
依次扩展为以下内容:
然后,通过在每个左侧隔离λ来重新排列方程式(57)的第一,第二和第三部分,如下所示:
然后,通过组合方程式(58)的第一和第二,我们得到以下内容:
通过组合方程式(58)的第一个和第三个,我们具有以下内容:
通过用等式(59)和(60)的结果替换等式(57)的最后一个中的1/ pc和1/pn,我们得到以下内容
找到最佳值(p1,pc,on)之后,还应确定剩余的可运行时间段(p2,p3,...,pn-1)。为此,使用等式(50)中的分配规则。
6.5. Applying Our Method to Other Scheduling Algorithms
到目前为止,我们假设将EDF调度算法用于基础RTOS调度。但是,其他调度算法(例如RM)也广泛用于汽车行业。借助这种动机,本小节将说明如何将我们的方法应用于不同的调度算法。幸运的是,大多数实时调度算法都提供了一种基于L&L利用率界限的可调度性分析方法,其中,如果系统利用率小于或等于称为利用率界限的特定阈值(用UB表示),则可以保证系统可调度的。如前所述,EDF的UB为100%,而RM的UB为69.3%。然后,可调度性条件正式表示为:
然后,在可调度性约束中使用UB将我们的优化问题从等式(54)稍微更改为以下问题:
然后,其Lagrange函数也进行如下修改:
解决上述Lagrange函数产生以下解决方案:
根据以上,(p2,p3,···,pn-1)由式(50)的分配规则决定。注意,我们可以将我们的方法应用于可以通过L&L利用率限制方法进行可调度性分析的任何调度算法。
6.6. Algorithm
算法1显示了通过我们的分析方法找到给定DAG的最佳可运行周期的完整过程。作为输入,该算法接受(i)n个可运行对象的最坏情况执行时间列表,(ii)DAG中m条路径的列表,(iii)给定控制成本函数的α和β,以及(iv)利用率约束的UB。该算法仅需要路径列表,而不是DAG的整个结构。因此,该算法本身不考虑从DAG生成路径。作为输出,该算法返回最佳可运行时段的列表。请注意,该算法的计算复杂度仅为O(n×m),这是在第3行中找到最重路径时引起的。该多项式时间复杂度使我们的分析方法适用于大型系统。
6.7. Applying Our Method to Conventional Task-Based Systems
除汽车行业外,许多控制应用程序仍被设计为一组定期的实时任务。因此,如果我们可以将可运行时间段优化方法应用于此类传统控制系统,将是有益的。为此,我们首先将它们分为两个不同的类别。第一个用于具有多个目标工厂的独立任务的系统[12、14、15],第二个用于由具有基于DAG的数据依赖性的周期性任务组成的系统[18-20]。
请注意,第二类中的应用程序与我们假定的系统模型非常相似。如果仅假设从可运行对象到任务的一对一映射,那么我们用于可运行时间段优化的方法可以应用到具有周期性任务的系统,而无需进行大量修改。但是,由于第一类应用程序与我们的应用程序模型不同,因此无法使用我们的方法。但是,对于那些应用程序,可以代替使用传统的控制调度代码签名方法[9,12–15]。
7. Evaluation
本节专门评估我们针对一般DAG模型的优化方法。对LPG和LMG模型的评估结果感兴趣的读者可以参考[27]。更具体地说,我们通过回答以下问题来评估我们的优化方法:
•问题1:我们的分析方法是否能够找到接近最优的可运行周期?
•问题2:通过穷举搜索方法找到真正的最优解是否可行?
•问题3:优化大型系统时,我们的方法是否具有竞争优势?
7.1. Evaluation Method
对于评估,我们必须考虑以下因素:(i)工作负载综合,(ii)控制成本函数,(iii)优化算法和(iv)性能指标。在本小节的其余部分,将讨论上述主题以解释我们的评估方法。
工作负载综合。作为代表性的AUTOSAR工作负载,总共人工合成了9个DAG。其中,图8中的前六个DAG是相对较小的,具有4至6个可运行对象,而图9中的其余三个DAG具有相对较大的可运行对象,范围在12至25之间。请注意,DAG是手动生成的,但是,请理解,生成的DAG纯粹是随机的,没有任何不公平的偏见。小型DAG用于测试我们方法的最优性,因为我们可以在图8中找到那些小型DAG的真实最优解。另一方面,由于图9中的大型DAG,我们找不到真正的最优解。广阔的问题空间。但是,尽管我们无法使用大型DAG来评估我们方法的最优性,但是与其他启发式优化方法相比,它们在评估我们的方法时仍然很有用。图中的每个DAG均用表示其大小和复杂性的符号(nR,mL)标记,其中nR表示n个可运行对象,mL表示它们之间的m条链接(或边)。基本上,随着n和m的增大,DAG变得越来越复杂。例如,图8a中的DAG被标记为(4R,5L),具有四个可运行对象和五个链接,而图9c中的DAG被标记为(25R,34L),具有25个可运行对象和34个链接。对于每个DAG,我们生成100组随机可运行的执行时间,这些时间均匀地分布在[20 ms,150 ms]的范围内。
控制成本函数。作为我们的优化目标,我们使用公式(10)中的线性控制成本函数,该函数是控制周期(T)和端到端延迟(∆)的函数。除非另有说明,否则作为代表性控制成本函数,我们将以下用作默认控制成本函数:
注意,上述控制成本函数具有两个系数α= 0.01和β= 0.01。但是,在这里,α和β的相对比比它们的绝对值更重要,因为该比代表控制成本函数对控制周期和端到端延迟的相对灵敏度。通过在我们的默认控制成本函数中对α和β使用相同的值,控制成本对控制周期和端到端延迟同样敏感。为了表示具有不同相对灵敏度的其他情况,我们还使用在[0.01,0.05]范围内变化的αs和βs。
优化算法。为了评估我们方法的优化性能,出于比较目的,我们专门考虑以下三种优化方法:
•OUR:通过我们的分析优化方法找到的最佳解决方案;Near-optimal solutions found by our analytical optimization method;
•EXH:通过穷举组合搜索方法找到的实际最优解;
•PSO:通过粒子群优化(PSO)方法优化的解决方案[39]。
更具体地说,EXH方法在每个可运行周期的[1 ms,1000 ms]内搜索离散整数问题空间。我们将我们的方法与EXH方法进行比较,以评估采用小DAG的优化方法的最优性,以回答问题Q1。为了评估使用大型DAG作为问题Q3答案的优化性能,我们将我们的方法与PSO方法进行了比较。
性能指标。我们主要使用两个优化性能指标:(i)绝对控制成本和(ii)标准化控制成本。绝对控制成本是优化过程产生的原始控制成本值,而标准化控制成本用于将我们的方法与另一种算法(即EXH方法和PSO方法)进行比较。规范化的控制成本定义为我们通过将另一种方法的结果设为100%得出的控制成本的相对比率。此外,为了评估每种优化方法的实用性,针对不同的应用程序复杂度来测量优化时间。为了进行优化,我们使用的工作站带有Intel i7-9700k CPU和64 GB RAM(美国德克萨斯州,朗德罗克)
7.2. Evaluation Results and Discussion
问题1:我们的分析方法能否找到接近最佳的可运行周期?对于图8a-f中的六个DAG,在图10中对通过EXH方法和我们的方法归一化的平均控制成本进行了比较。在该图中,与EXH方法相比,我们的方法显示了接近最优的控制成本,但具有边际性能损失。最小的控制成本增长仅为1.1%,最大的为12.3%。有趣的一点是,DAG(a)显示出比其他DAG更好的性能。这是因为我们选择关键路径的试探法在此特定DAG形状中始终有效。请注意,在DAG(a)中,<r1,r2,r3,r4>将被我们的启发式方法正确选择为关键路径,而与它们的执行时间无关,因为其他所有路径都是该路径的子集。另一方面,在其他DAG中,关键路径有多种选择。但是,我们的方法必须基于给定的执行时间在特定路径上下注。但是,如图所示,实际最佳解决方案的性能损失很小。
到目前为止,我们已经假定使用EDF调度算法。但是,在汽车工业中,RM调度算法也广泛用于调度实时任务。在这方面,图11比较了使用率绑定为100%的EDF情况和使用率绑定为69.3%的RM情况。更具体地说,图11a比较了六个DAG的标准化平均控制成本,每个DAG表示与EXH方法相比的相对优化性能。该图表明,我们的方法在两种调度算法中提供的优化结果差异不大。图11b比较了它们的绝对平均控制成本,其中EDF显示出平均控制成本要低得多,因为它可以利用较高的利用率范围有效地调度工作负载。
为了研究变化的控制成本函数如何影响优化性能,图12a,b显示了分别具有变化的αs和βs的标准化平均控制成本。如图所示,我们的方法通过不同的控制成本函数提供了一致的优化性能,这些函数代表了对控制周期和端到端延迟的各种敏感性
问题2:通过穷举搜索方法找到真正的最优解是否可行?
通过查看Q1的结果,可以认为,如果我们可以使用EXH方法来找到实际的最佳可运行周期,那为什么不仅仅使用EXH方法而不是我们的方法呢?但是,该参数不成立,因为当n> 6时,由于搜索空间巨大,EXH方法不适用于大型DAG。要回答此问题,我们根据优化过程所需的时间来评估优化方法。表1显示了我们的方法和EXH方法在不同数量的可运行对象时所需的优化时间。括号内的数字为投影数。当我们的方法通过一种分析方法找到可运行周期时,它显示出的算法1中所预测的计算复杂性可忽略不计。使用EXH方法,当可运行数量为7时,我们可以在大约一个月内找到最佳可运行周期。但是,在运行了七个可运行对象之后,使用EXH方法是不可行的,因为即使对于中小型系统,它也需要一年以上的时间。因此,由于可伸缩性问题,EXH方法不能用于实际工业应用,而我们的分析方法可以用于大型工业应用。
问题3:优化大型系统时,我们的方法是否具有竞争优势?从第一季度和第二季度,我们表明(i)我们的分析方法在小型系统上运行良好,并且(ii)在大型系统上找不到真正的最优解。剩下的一个问题是,我们是否可以将分析方法应用于具有足够优化性能的大型系统。为了回答这个问题,我们使用n = 12、16和25的三个大型DAG,如图9所示。为了进行比较,我们还使用了一种称为粒子群优化(由PSO表示)的进化元启发式算法,该算法搜索一个群智能可有效地解决未知的巨大问题空间。为了实现PSO方法,我们使用PySwarms库[40]。图13显示了我们的方法与PSO方法相比的标准化平均控制成本,以PSO方法得出的控制成本为100%。如图所示,我们的方法显示出比PSO方法更好的结果,尤其是对于最大的DAG情况。我们注意到,随着DAG复杂度的增加,归一化平均控制成本也呈下降趋势。根据以上结果,我们可以断言我们的分析方法比传统的进化优化方法性能更好。
8. Conclusions
本文提出了针对AUTOSAR控制应用的可运行周期优化问题,并提供了基于拉格朗日乘数法的解析解。
无论应用程序的大小和复杂程度如何,我们的方法都能找到使给定系统的控制性能最大化的近乎最佳的解决方案。
由于汽车控制应用程序的复杂性由于各种先进的驾驶员辅助系统和自动驾驶应用程序的最新发展而迅速增长,因此使用传统的临时方法或耗时的基于搜索的优化算法不再可行。
由于我们提出的可运行周期优化方法的分析性质,我们认为在设计复杂的工业规模AUTOSAR控制应用时,我们的解决方案可轻松应用于汽车行业。
尽管我们的方法为优化复杂的应用程序提供了有希望的解决方案,但仅当控制成本以线性函数给出或近似为线性函数时,我们的方法才可用。
由于近似值会导致高估的控制成本,因此我们计划在未来的工作中将优化方法扩展到非线性控制成本函数。
References
1. Kehr, S.; Pani´c, M.; Quiñones, E.; Böddeker, B.; Sandoval, J.B.; Abella, J.; Cazorla, F.J.; Schäfer, G. Supertask: Maximizing runnable-level parallelism in AUTOSAR applications. In Proceedings of the 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE), Dresden, Germany, 14–18 March 2016; pp. 25–30.
2. Kim, J.W.; Lee, K.J.; Ahn, H.S. Development of software component architecture for motor-driven power steering control system using AUTOSAR methodology. In Proceedings of the 2015 15th International Conference on Control, Automation and Systems (ICCAS), Busan, Korea, 13–16 October 2015; pp. 1995–1998.
3. Park, J.; Choi, B.W. Design and implementation procedure for an advanced driver assistance system based on an open source AUTOSAR. Electronics 2019, 8, 1025. [CrossRef]
4. AUTOSAR. Recommended Methods and Practices for Timing Analysis and Design within the AUTOSAR Development Process. AUTOSAR Classic Platform 4.3.1. Available online: www. autosar.org/fileadmin/u (accessed on 13 July 2020).
5. Kim, T.W.; Lee, G.M.; Kim, J.C. AUTOSAR Runnable Scheduling for Optimal Tradeoff between Control Performance and CPU Utilization. In Proceedings of the 2018 18th International Conference on Control, Automation and Systems (ICCAS), PyeongChang, Korea, 17–20 October 2018; pp. 602–605.
6. Bini, E.; Cervin, A. Delay-aware period assignment in control systems. In Proceedings of the 2008 Real-Time Systems Symposium, Barcelona, Spain, 30 November–3 December 2008; pp. 291–300.
7. Wu, Y.; Bini, E.; Buttazzo, G. A framework for designing embedded real-time controllers. In Proceedings of the 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, Kaohisung, Taiwan, 25–27 August 2008; pp. 303–311.
8. Wu, Y.; Buttazzo, G.; Bini, E.; Cervin, A. Parameter selection for real-time controllers in resource-constrained systems. IEEE Trans. Ind. Inform. 2010, 6, 610–620. [CrossRef]
9. Fu, H.; Liu, J.; Han, Z.; Shao, Z. A heuristic task periods selection algorithm for real-time control systems on a multi-core processor. IEEE Access 2017, 5, 24819–24829. [CrossRef]
10. Tan, L.; Du, C.; Dong, Y. Control-performance-driven period and deadline selection for cyber-physical systems. In Proceedings of the 2015 10th Asian Control Conference (ASCC), Kota Kinabalu, Malaysia, 31 May–3 June 2015; pp. 1–6.
11. Liu, C.L.; Layland, J.W. Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM 1973, 20, 46–61. [CrossRef]
12. Seto, D.; Lehoczky, J.P.; Sha, L.; Shin, K.G. On task schedulability in real-time control systems. In Proceedings of the 17th IEEE Real-Time Systems Symposium, Washington, DC, USA, 4–6 December 1996; pp. 13–21.
13. Seto, D.; Lehoczky, J.P.; Sha, L. Task period selection and schedulability in real-time systems. In Proceedings of the 19th IEEE Real-Time Systems Symposium (Cat. No. 98CB36279), Madrid, Spain, 2–4 December 1998; pp. 188–198.
14. Enrico Bini, M.D.N. Optimal task rate selection in fixed priority systems. In Proceedings of the 26th IEEE International Real-Time Systems Symposium (RTSS’05), Miami, FL, USA, 6–8 December 2005; pp. 399–409.
15. Du, C.; Tan, L.; Dong, Y. Period selection for integrated controller tasks in cyber-physical systems. Chin. J. Aeronaut. 2015, 28, 894–902. [CrossRef]
16. Xu, Y.; Cervin, A.; Årzén, K.E. Harmonic scheduling and control co-design. In Proceedings of the 2016 IEEE 22nd International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA), Daegu, Korea, 17–19 August 2016; pp. 182–187.
17. Cha, H.J.; Jeong, W.H.; Kim, J.C. Control-scheduling codesign exploiting trade-off between task periods and deadlines. Mob. Inf. Syst. 2016, 2016, 3414816. [CrossRef] Appl. Sci. 2020, 10, 5829 27 of 28
18. Davare, A.; Zhu, Q.; Di Natale, M.; Pinello, C.; Kanajan, S.; Sangiovanni-Vincentelli, A. Period optimization for hard real-time distributed automotive systems. In Proceedings of the 44th annual Design Automation Conference, San Diego, CA, USA, 4–8 June 2007; pp. 278–283.
19. Feiertag, N.; Richter, K.; Nordlander, J.; Jonsson, J. A compositional framework for end-to-end path delay calculation of automotive systems under different path semantics. In Proceedings of the IEEE Real-Time Systems Symposium, Washington, DC, USA, 30 November–3 December 2009.
20. Schlatow, J.; Mostl, M.; Tobuschat, S.; Ishigooka, T.; Ernst, R. Data-age analysis and optimisation for cause-effect chains in automotive control systems. In Proceedings of the 2018 IEEE 13th International Symposium on Industrial Embedded Systems (SIES), Graz, Austria, 6–8 June 2018; pp. 1–9.
21. Dürr, M.; Brüggen, G.V.D.; Chen, K.H.; Chen, J.J. End-to-End Timing Analysis of Sporadic Cause-Effect Chains in Distributed Systems. ACM Trans. Embed. Comput. Syst. 2019, 18, 1–24. [CrossRef]
22. Choi, J.; Kang, D.; Ha, S. End-to-end latency analysis of cause-effect chains in an engine management system. In Proceedings of the 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE), Dresden, Germany, 19–
23 March 2018; pp. 1195–1198. 23. Long, R.; Li, H.; Peng, W.; Zhang, Y.; Zhao, M. An approach to optimize intra-ecu communication based on mapping of autosar runnable entities. In Proceedings of the 2009 International Conference on Embedded Software and Systems, Hangzhou, China, 25–27 May 2009; pp. 138–143.
24. Monot, A.; Navet, N.; Bavoux, B.; Simonot-Lion, F. Multisource software on multicore automotive ECUs—Combining runnable sequencing with task scheduling. IEEE Trans. Ind. Electron. 2012, 59, 3934–3942. [CrossRef]
25. Saidi, S.E.; Cotard, S.; Chaaban, K.; Marteil, K. An ILP approach for mapping autosar runnables on multi-core architectures. In Proceedings of the 2015 Workshop on Rapid Simulation and Performance Evaluation: Methods and Tools, Amsterdam, The Netherlands, 21 January 2015; p. 6.
26. Kehr, S.; Quiñones, E.; Langen, D.; Böddeker, B.; Schäfer, G. Parcus: Energy-aware and robust parallelization of AUTOSAR legacy applications. In Proceedings of the 2017 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), Pittsburg, PA, USA, 18–21 April 2017; pp. 343–352.
27. Choi, D.; Lee, G.M.; Jeon, W.; Kim, J.C. Control Performance-aware AUTOSAR Runnable Scheduling. Trans. Korean Soc. Automot. Eng. 2020, 28, 9–17. [CrossRef]
28. Obermaisser, R.; El Salloum, C.; Huber, B.; Kopetz, H. From a federated to an integrated automotive architecture. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2009, 28, 956–965. [CrossRef]
29. Di Natale, M.; Sangiovanni-Vincentelli, A.L. Moving from federated to integrated architectures in automotive: The role of standards, methods and tools. Proc. IEEE 2010, 98, 603–620. [CrossRef]
30. AUTOSAR. Virtual Function Bus. AUTOSAR Classic Platform 4.3.1. Available online: autosar. org/fileadmin/user_upload/standards/classic/4-3/AUTOSAR_EXP_VFB.pdf (accessed on 13 July 2020).
31. Cervin, A.; Henriksson, D.; Lincoln, B.; Eker, J.; Arzen, K.E. How does control timing affect performance? Analysis and simulation of timing using Jitterbug and TrueTime. IEEE Control. Syst. Mag. 2003, 23, 16–30.
32. AUTOSAR. Specification of Timing Extensions. AUTOSAR Classic Platform 4.3.1. Available online: autosar.org/fileadmin/u TimingExtensions.pdf (accessed on 13 July 2020).
33. Peraldi-Frati, M.A.; Blom, H.; Karlsson, D.; Kuntz, S. Timing modeling with autosar-current state and future directions. In Proceedings of the 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE), Dresden, Germany, 12–16 March 2012; pp. 805–809.
34. Lincoln, B.; Cervin, A. Jitterbug: A tool for analysis of real-time control performance. In Proceedings of the 41st IEEE Conference on Decision and Control, Las Vegas, NV, USA, 10–13 December 2002; Volume 2, pp. 1319–1324.
35. Henriksson, D.; Cervin, A.; Årzén, K.E. TrueTime: Simulation of control loops under shared computer resources. IFAC Proc. Vol. 2002, 35, 417–422. [CrossRef]
36. Yu, F.; Li, D.F.; Crolla, D. Integrated vehicle dynamics control—State-of-the art review. In Proceedings of the 2008 IEEE Vehicle Power and Propulsion Conference, Harbin, China, 3–5 September 2008; pp. 1–6.
37. Ono, E.; Hattori, Y.; Muragishi, Y.; Koibuchi, K. Vehicle dynamics integrated control for four-wheel-distributed steering and four-wheel-distributed traction/braking systems. Veh. Syst. Dyn. 2006, 44, 139–151. [CrossRef]
38. Akiyama, S.; Tashiro, T. Integrated Vehicle Control System. U.S. Patent 7,047,117, 16 May 2006. Appl. Sci. 2020, 10, 5829 28 of 28
39. Kennedy, J.; Eberhart, R. Particle swarm optimization. In Proceedings of the ICNN’95-International Conference on Neural Networks, Munich, Germany, 17–19 September 1995; Volume 4, pp. 1942–1948.
40. Miranda, L.J.V. PySwarms a Research Toolkit for Particle Swarm Optimization in Python. Available online: pyswarms.readthedocs.io (accessed on 13 July 2020).
文章转载自公众号:汽车电子与软件
