基于AADL的汽车防滑控制系统可调度性分析
摘要:在设计阶段对汽车防滑控制系统进行可调度性分析是一难题。用结构分析与设计语言AADL为系统建模 。根据实时调度理论的调度可行性条件和任务调度与线程、计算时间、处理器性能之间的关系,在任务数不变的情况下选取不同性能的处理器,通过工具软件OSATE对该系统模型进行分析,结果表明可有效解决这一问题。该建模方法为系统的可调度性分析和优化设计提供了一条新的途径。
关键词:汽车防滑控制系统;AADL;可调度性;OSATE;模型分析
中图法分类号: TP311 文献标识码:A
Schedulability Analysis of Automobile Anti-Skid Control
System Based on AADL
YU Huang-jing1,2,LI Ren-fa1,HUANG Li-da1
(1.School of Computer and Communication, Hunan University, Changsha 410082,China ;
2. Department of Mathematics and Computer ,Sanming College ,Sanming 365004 ,China ;)
Abstract:Automotive anti-skid control system schedulability analysis is a difficult issue in the design stage. In this paper the Structural Analysis and Design Language AADL techniques are used for ABS and ASR control system modelling. According to the feasibility conditions of scheduling real-time scheduling theory and task scheduling with thread, computation time, the relationship between processor performance, by selecting different performance processor without change in the tasks number, by using tools OSATE to analyse of the system model,a method to solve the problem effectively has been demonstrated. This modelling method provides of a new approach for the system schedulability analysis and optimal design in the area.
Key words: automobile anti-skid control system;AADL;schedulability;OSATE;model analysis
汽车防滑控制系统由制动防抱死系统ABS(Anti-Lock Brake System)及驱动防滑系统ASR(acceleration slip regulation)两部分组成,是典型的嵌入式实时控制系统。电子控制单元ECU(Electronic Control Unit)是控制系统的核心,所有信号采集、分析、处理及信号输出都由ECU调度完成。对于汽车防滑控制系统,任务调度不当,轻则影响产品性能,重则会带来灾难后果[1]。如何在系统设计阶段就能对系统的实时性、安全性、可调度性等关键性能进行分析和验证,并有效控制开发时间和成本,是学术界和工业界共同面临的难题。
传统的汽车电子设计方法严格遵循从需求、设计、实现再到测试的过程,产品的设计周期长,成本高。模型驱动开发方法MDD(Model-Driven Development)能在早期阶段对系统进行分析和验证,保证系统的质量属性,控制开发时间和成本。统一建模语言UML[2] (unified model language)是其中主要代表。但是UML侧重描述系统的软件体系结构,难以对系统中的硬件及实时性、可调度性和安全性等性能关键特性进行描述。2004年11月美国汽车工程师协会SAE在模型驱动设计语言的基础上,提出嵌入式实时系统体系结构分析与设计语言 AADL(architecture analysis & design language),并发布为 SAE AS5506 标准。AADL是一个专门用于设计与分析复杂嵌入式实时系统的软、硬件体系结构的建模语言。这个语言支持在设计阶段对系统性能关键特性(如,实时性、安全性及可调度性等)进行分析与验证,能及时发现体系结构潜在问题,确保最终的产品达到预期的要求[3,4]。目前,已广泛用于航空电子、机器人、汽车电子等领域。
本文首先介绍AADL,然后描述汽车防滑控制系统功能,用AADL对汽车防滑控制系统建模,并论述了实时调度算法理论,利用任务调度与进程、线程、计算时间和处理器性能之间的关系,选取不同性能的处理器,在任务数不变情况下选取不同性能的处理器,用支持AADL的分析工具OSATE[5] (open source AADL tool environment)对系统模型的可调度性进行分析。
1 AADL概述
AADL建模语言具有精确的语义和严格的语法规范,可用于描述嵌入式实时系统的软、硬件体系结构,并能分析系统的功能及非功能属性。AADL使用单一模型支持多种分析方式,可将系统设计、分析、验证、自动代码生成集成在一个框架中。AADL在国外已逐渐成为主流的体系结构建模方式,在国内还属于研究起步阶段。
构件是AADL中最重要的概念。构件分为软件构件、执行平台构件以及系统构件三类:软件构件包括进程、线程、线程组、子程序和数据五种用于软件体系结构建模;执行平台构件包括设备、处理器、存储器和总线四种用于硬件体系结构建模;系统构件是软件、执行平台、或者系统构件的组合[3]。在AADL中,构件通过类型(Type)和实现(Implementation)声明来定义,构件类型描述对外的功能接口(端口、子程序等)。构件实现则描述构件的内部结构(子构件、属性、连接等)。端口是构件之间交换数据和事件的接口,是构件之间的逻辑关联点。端口种类主要有数据端口、事件端口和事件数据端口。属性用于描述体系结构中的约束条件,即非功能属性约束,如截止时限、周期、时延、主频等,进而支持验证与分析系统的可靠性、可调度性等性质。
线程和处理器是同可调度性有关的AADL中两个重要构件。线程根据任务性质的不同可分为周期(periodic)、非周期(aperiodic)、偶发 (sporadic)及后台(background)四种。处理器构件是执行平台上可计算资源,是操作系统的抽象。AADL通过映射关系使软件构件绑定到硬件执行平台上;通过定义构件的属性,用于描述系统的关键性能。
目前基于AADL模型进行分析与验证的工具很多,其中大部分是开源的。典型工具有OSATE、Cheddar和AdeS 。本文中使用的AADL建模工具OSATE,是作为Eclipse平台上的一套插件,用于AADL建模、编译和分析。OSATE支持可调度性、端到端的流延迟、安全性、系统资源与能耗等分析[5]。
2 汽车防滑控制系统的功能结构
汽车防滑控制系统由ABS和ASR这两个子系统组成。ABS的作用是防止汽车在急刹过程中车轮过快抱死;ASR的作用是防止汽车在起步、加速过程中驱动轮打滑。ABS通过调节制动轮缸的制动压力来控制制动力矩,进而达到在制动时防止车轮抱死的目的。而ASR则主要通过改变节气门的开度去改变发动机输出扭矩,同时也通过ABS调节制动压力,防止在加速时产生车轮滑转[6]。两个子系统即有区别又有联系。防滑控制系统主要由传感器、电子控制单元(ECU)和执行器三个部分组成。汽车防滑控制系统功能结构图如图1所示[7]。 图1 汽车防滑控制系统功能结构图
Fig.1 The Anti-slip control system function block diagram
防滑控制系统定时采集车辆传感器上的轮速信号、刹车踏板信号、油门踏板位置信号,接收汽车巡航控制系统ACC(Adaptive Cruise Control)通过CAN总线传来的车速信号、节气门开度信号以及CAN总线上其它控制信息。这些信号与数据经不同的ECU处理后得到汽车当前运行状态与轮速状态。
汽车防滑控制系统是实时控制系统,为保证ECU控制的实时性,必须使信号采集、计算、控制等任务协调工作、及时完成。因此任务的可调度及调度优化是汽车防滑控制系统性能的重要指标。
3汽车防滑控制系统的AADL建模
AADL使用文本、图形方式建模,两者之间可以互相转化。AADL采用分层建模逐步精化的建模方法,先对底层的设备构件与线程构件建模,声明构件类型与构件实现,定义构件的特征、属性、连接等;然后是执行平台建模,通过映射关系将软件构件绑定到硬件执行平台上;最后是顶层集成系统设计,将各子系统作为顶层系统的子构件建模。汽车防滑控制系统的AADL模型如图2所示。在图中进程Abs_process有三个线程:线程Brake_status用于采集刹车踏板传感器的刹车信号,线程Compute_velocity将轮速传感器的脉冲信号转化为轮速数据。线程Abs_decision_making根据收到的刹车信号、车速、轮速进行综合分析决策。三个线程具有相同地址空间,它们被绑定到处理器CPU1上;在进程Asr_process中有两个线程:线程Acclerator_status负责采集油门踏板传感器传送的油门状态信号。线程Asr_decision_making根据收到的节气门开度信号、车速和油门状态信号进行综合分析决策。这两个线程具有相同地址空间,它们被绑定到处理器CPU2上。两个处理器之间使用CAN总线连接。根据系统任务的特性及需要,这五个任务都被建模为周期线程。汽车防滑控制系统在OSATE中的模型图如图3所示。
构件的属性及其属性值是AADL分析与验证的依据。与线程有关的属性主要有Dispatch Protocol属性、Period属性、Compute_Execution_Time属性和Deadline属性。 Dispatch Protocol 属性的属性值是四种任务类型;Period属性的属性值是周期任务的周期;Compute_Execution_Time属性的属性值是任务的执行时间;Deadline属性的属性值是任务的截止时限。处理器是硬件执行平台上可计算构件。通过设置cycle_time属性规定处理器的主频;通过设置属性Scheduling_Protocol来关联任务的调度算法。
AADL支持单处理器与多处理器实时调度,支持抢占与非抢占式调度策略及多种固定优先级、动态优先级调度算法,如单调速率RM(rate monotonic), 截止期单调DM(deadline monotonic), 最早截止期优先EDF(earliest deadline first)等[8]。
表1是五个线程构件的属性及属性参考值,参考值是根据文献[9]和文献[10]中给出的例子而得到的。表中T、C、D分别代表周期、计算时间和截止时限,时间单位为毫秒(ms)。
4 模型可调度性分析
4.1实时调度算法理论
可调度性是指系统中的各任务都能在其截止时限内完成。任务调度是实时系统内核的关键部分。由于汽车防滑控制系统中的任务被建模为周期任务,因此本部分主要论述周期性任务的实时调度算法理论。
在任务间可抢占的实时运行环境中,对于硬实时系统周期任务的调度已经有一些很成熟的调度算法,比较出名的有单调速率优先RM算法和截止期最早优先EDF算法。同时这些算法也是AADL所支持的。
为便于问题描述,首先建立周期任务集TS = ({ti},{Ti},{Ci},{Di})模型。集合中的ti为周期任务, Ti为任务周期, Ci为任务计算时间,Di为截止时限且为周期终点。任务在周期起点释放,任务可抢占。
定理1给出RM算法可调度判定条件。
定理1:TS由n个独立的周期任务组成且每个任务的截止时限等于周期,则TS可以被RM调度,如果 (1)
当任务数趋于无穷大时有(2)
RMS已被证明是静态最优调度算法, 开销小, 灵活性好。缺点是当某些任务的截止时限不等于周期时,RM算法不是最优算法,另外,当n→∞时, 处理器利用率不超过0.69。
最早截止时间优先算法(EDF)是一种动态调度算法。任务模型与RM 调度算法相同,优先级动态分配,截止时限越短,优先级越高。定理2给出EDF算法可调度判定条件。
定理2:如果一个任务集按EDF算法调度,当且仅当 (3)
EDF 调度算法已被证明是动态最优调度算法。用EDF调度算法,处理器利用率最大可达100% 。缺点是在系统超载时,为了能让其它作业能够及时完成,一些作业会被抛弃,导致系统行为不可预测。另外, 它的在线调度开销比RM大。
4.2模型可调度性分析
对于安全关键的汽车电子系统而言,时间的正确性就等于功能的正确性。为了支持系统的实时性和稳定性,需要在系统设计阶段对实时系统进行可调度分析,并结合实际运行平台进行验证。
模型的可调度性分析有助于及时发现系统潜在问题:如任务时限、周期安排是否合理,调度策略选择是否正确;处理器选型是否妥当等。如果分析结果超过设计要求很多,应重新设计系统的软、硬件体系结构[7]。针对系统特点选择一种合适的算法是实时系统重要问题。因为汽车防滑控制系统建模时将ABS子系统和ASR子系统中的任务静态的分配并绑定到不同的处理器上,不存在一个任务被抢占后在另一个处理器上执行情况 ,因此系统是单处理实时调度。根据4.1节实时调度算法特点,并结合系统安全关键的特性, 选择RMS算法与处理器关联是最佳选择。
ABS子系统有三个线程,根据4.1节中公式1可得CPU1利用率应小于78%;ASR子系统有两个线程,同理可得CPU2的利用率应小于82.8%。
在AADL中可调度性分析不仅与调度算法有关且与线程构件中的线程处理时间、周期、截止时间和处理器构件中的处理器主频高低等属性有关,借助OSATE的线程绑定与调度分析插件可对实例化后的系统模型进行验证分析,得到处理器1和处理器2的性能与处理器利用率之间对应表,结果如图4、图5所示。
Fig.5The processor 2 performance and load diagram
由图4和图5可以看出,处理器性能与负载成线性关系,处理器CPU1利用率是78%时,处理器的主频为550ps;CPU2的利用率是82.8%.处理器的主频为900ps。由于实时系统处理器需要一定冗余,故在实际选择处理器时, 应选择主频更快一些的处理器。通过分析验证可以使设计人员在系统性能、软硬件实现成本之间进行优化。
5 结束语
本文主要论述了汽车防滑控制系统AADL建模过程以及根据实时调度理论利用工具软件QSATE对模型进行可调度性分析过程。通过分析可以有效地对系统的可调度性进行早期预测,能使设计人员在设计初期阶段就能对产品性能进行分析与验证,及时发现设计中潜在的问题,以便重新调整设计方案,以满足系统设计要求。该方法对降低系统开发成本和缩短系统开发周期具有积极的意义。下一步工作是对车身电子稳定控制系统ESP(Electronic Stability Program)进行分布式系统建模,该系统可以进一步提高汽车行驶安全性与舒适性。
参考文献
[1]TEEPE G, REMBOSKI D, BAKER R. Towards information centric automotive system architecture[R]. SAE Convergence 2002, Transportation Electronics, Detroit, 2002.
[2] OMG. UML profile for modeling and analysis of real-time and embedded systems[EB/OL]. http://www.omgmarte.org/,2008.
[3]SAE standard : AS5006.Architecture analysis&design language[S].2004
[4]SAE Aerospace. SAE Architecture Analysis and Design Language Annex Volume 1,Society of Automotive Engineers[EB/OL].www.aadl.info,2006.
[5]SEI.Open source AADL tool environment[EB/OL].http://la.sei.cmu.edu/aadlinfosite/Open Source AADL Tool Environment.html.
[6]LIU Zhao-du,LU Jiang,SHI Kai-bin.Integrated ABS/ASR/ACC System for the Car[J].Journal of Beijing Institute of Technology,2001,V01.10,No.3.
[7]王伟达,丁能根.ABS/ASR集成控制系统ECU开发与验证[J].工业控制计算机,2008,11(21):49-52.
WANG Wei-da, DING Xiong-geng. ECU Software and Hardware of the ABS/ASR Integral Control System [J].
Industrial Control computer,2008,11(21):49-52.
[8] SOKOLSKY O, LEE I. Schedulability Analysis of AADL Models [M].[S.I.]:IEEE,2006
[9] HUDAK J,FEILER P. Developing AADL models for control systems:a practitienor’s guide[C] .SEI,Carnegie Mellon University,2007.
[10] IRFAN H, BECHIR Z, ELIE N. Automatic framework generation for hard real-time applications[J]. Innovations Syst Softw Eng 2008, 4:107–122