APP下载

基于AADL的汽车防滑控制系统可调度性分析*

2012-07-13余晃晶李仁发黄丽达

关键词:线程处理器构件

余晃晶,李仁发,黄丽达

(1.湖南大学 信息科学与工程学院,湖南 长沙 410082;2.三明学院 数学与计算机科学系,福建 三明 365001)

汽车防滑控制系统由制动防抱死系统ABS(Anti-Lock Brake System)及驱动防滑系统 ASR(Acceleration Slip Regulation)2部分组成,是典型的嵌入式实时控制系统.电子控制单元ECU(Electronic Control Unit)是控制系统的核心,所有信号采集、分析、处理及信号输出都由ECU调度完成.对于汽车防滑控制系统,任务调度不当,轻则影响产品性能,重则会带来灾难性后果[1].如何在系统设计阶段就能对系统的实时性、安全性、可调度性等关键性能进行分析和验证,并有效控制开发时间和成本,是学术界和工业界共同面临的难题.

传统的汽车电子设计方法严格遵循从需求、设计、实现再到测试的过程,产品的设计周期长,成本高.模型驱动开发方法 MDD(Model-Driven Development)能在早期阶段对系统进行分析和验证,保证系统的质量属性,控制开发时间和成本.统一建模语言 UML[2](Unified Model Language)是其中主要代表,但是UML侧重描述系统的软件体系结构,难以对系统中的硬件及实时性、可调度性和安全性等性能关键特性进行描述.2004年11月美国汽车工程师协会SAE在模型驱动设计语言的基础上,提出嵌入式实时系统体系结构分析与设计语言AADL,并发布为SAE AS5506标准.AADL是一种专门用于设计与分析复杂嵌入式实时系统的软、硬件体系结构的建模语言,这个语言支持在设计阶段对系统性能关键特性(如实时性、安全性及可调度性等)进行分析与验证,能及时发现体系结构潜在问题,确保最终的产品达到预期要求[3-4].目前,已广泛用于航空电子、机器人、汽车电子等领域.

本文首先介绍AADL,然后描述汽车防滑控制系统功能,用AADL对汽车防滑控制系统建模,并论述了实时调度算法理论,利用任务调度与进程、线程、计算时间和处理器性能之间的关系,选取不同性能的处理器,在任务数不变情况下选取不同性能的处理器,用支持AADL的分析工具OSATE[5]对系统模型的可调度性进行分析.

1 AADL概述

AADL建模语言具有精确的语义和严格的语法规范,可用于描述嵌入式实时系统的软、硬件体系结构,并能分析系统的功能及非功能属性.AADL使用单一模型支持多种分析方式,可将系统设计、分析、验证、自动代码生成集成在一个框架中.AADL在国外已逐渐成为主流的体系结构建模方式,在国内还属于研究起步阶段.

构件是AADL中最重要的概念.构件分为软件构件、执行平台构件以及系统构件3类 .软件构件包括进程、线程、线程组、子程序和数据5种用于软件体系结构建模;执行平台构件包括设备、处理器、存储器和总线4种用于硬件体系结构建模;系统构件是软件、执行平台、或者系统构件的组合[3].在AADL中,构件通过类型(Type)和实现(Implementation)来定义,构件类型描述对外的功能接口(端口、子程序等);构件实现则描述构件的内部结构(子构件、属性、连接等).端口是构件之间交换数据和事件的接口,是构件之间的逻辑关联点,端口种类主要有数据端口、事件端口和事件数据端口.属性用于描述体系结构中的约束条件,即非功能属性约束,如截止时限、周期、时延、主频等,进而支持验证与分析系统的可靠性、可调度性等性质.

线程和处理器是跟可调度性有关的AADL中2个重要构件.线程根据任务性质的不同可分为周期(periodic)、非周期(aperiodic)、偶发 (sporadic)及后台(background)4种;处理器构件是执行平台上可计算资源,是操作系统的抽象.AADL通过映射关系使软件构件绑定到硬件执行平台上,通过定义构件的属性,用于描述系统的关键性能.

目前基于AADL模型进行分析与验证的工具很多,其中大部分是开源的,典型工具有OSATE,Cheddar和AdeS.本文使用的AADL建模工具OSATE是作为Eclipse平台上的一套插件,用于AADL建模、编译和分析,OSATE支持可调度性、端到端的流延迟、安全性、系统资源与能耗等分析[5].

2 汽车防滑控制系统的功能结构

汽车防滑控制系统由ABS和ASR这2个子系统组成.ABS的作用是防止汽车在急刹过程中车轮过快抱死;ASR的作用是防止汽车在起步、加速过程中驱动轮打滑.ABS通过调节制动轮缸的制动压力来控制制动力矩,进而达到在制动时防止车轮抱死的目的.而ASR则主要通过改变节气门的开度去改变发动机输出扭矩,同时也通过ABS调节制动压力,防止在加速时产生车轮滑转[6],2个子系统既有区别又有联系.防滑控制系统主要由传感器、电子控制单元(ECU)和执行器3部分组成,汽车防滑控制系统功能结构如图1所示[7].

防滑控制系统定时采集车辆传感器上的轮速信号、刹车踏板信号、油门踏板位置信号,接收汽车巡航控制系统 ACC(Adaptive Cruise Control)通过CAN总线传来的车速信号、节气门开度信号以及CAN总线上其他控制信息,这些信号与数据经不同ECU处理后得到汽车当前运行状态与轮速状态.

汽车防滑控制系统是实时控制系统,为保证ECU控制的实时性,必须使信号采集、计算、控制等任务协调工作、及时完成.因此任务的可调度及调度优化是汽车防滑控制系统性能的重要指标.

图1 汽车防滑控制系统功能结构图Fig.1 The anti-slip control system function block diagram

3 汽车防滑控制系统的AADL建模

AADL使用文本、图形方式建模,两者之间可以互相转化.AADL采用分层建模逐步精化的建模方法,先对底层的设备构件与线程构件建模,声明构件类型与构件实现,定义构件的特征、属性、连接等;然后是执行平台建模,通过映射关系将软件构件绑定到硬件执行平台上;最后是顶层集成系统设计,将各子系统作为顶层系统的子构件建模.汽车防滑控制系统的AADL模型如图2所示,在图中进程Abs_process有3个线程:线程Brake_status用于采集刹车踏板传感器的刹车信号,线程Compute_velocity将轮速传感器的脉冲信号转化为轮速数据,线程Abs_decision_making根据收到的刹车信号、车速、轮速进行综合分析决策,3个线程具有相同地址空间,它们被绑定到处理器CPU1上 .在进程Asr_process中有2个线程:线程Acclerator_status负责采集油门踏板传感器传送的油门状态信号.线程Asr_decision_making根据收到的节气门开度信号、车速和油门状态信号进行综合分析决策,这2个线程具有相同地址空间,它们被绑定到处理器CPU2上.2个处理器之间使用CAN总线连接,根据系统任务的特性及需要,这5项任务都被建模为周期线程.汽车防滑控制系统在OSATE中的模型如图3所示.

图2 汽车防滑控制系统的AADL模型Fig.2 The anti-slip control system AADL model

图3 系统在OSATE中的模型图Fig.3 The model diagram of system in OSATE

构件的属性及其属性值是AADL分析与验证的依据,与线程有关的属性主要有Dispatch Protocol属性、Period属性、Compute_Execution_Time属性和Deadline属性.Dispatch Protocol属性的属性值是4种任务类型;Period属性的属性值是周期任务的周期;Compute_Execution_Time属性的属性值是任务的执行时间;Deadline属性的属性值是任务的截止时限.处理器是硬件执行平台上可计算构件,通过设置cycle_time属性规定处理器的主频;通过设置属性Scheduling_Protocol来关联任务的调度算法.

AADL支持单处理器与多处理器实时调度,支持抢占与非抢占式调度策略及多种固定优先级、动态优先级调度算法,如单调速率RM(rate monotonic),截止期单调DM(deadline monotonic),最早截止期优先 EDF(earliest deadline first)等[8].

表1是5个线程构件的属性及属性参考值,参考值是根据文献[9-10]中给出的例子而得到的.

表1 线程任务的属性及属性参考值Tabl.1 The thread task attributes and reference values

4 模型可调度性分析

4.1 实时调度算法理论

可调度性是指系统中的各任务都能在其截止时限内完成,任务调度是实时系统内核的关键部分.由于汽车防滑控制系统中的任务被建模为周期任务,故本部分主要论述周期性任务的实时调度算法理论.

在任务间可抢占的实时运行环境中,对于硬实时系统周期任务的调度已经有一些很成熟的调度算法,比较通用的有单调速率优先RMS算法和截止期最早优先EDF算法,同时这些算法也是AADL所支持的.

为便于问题描述,首先建立周期任务集TS=({ti},{Ti},{Ci},{Di})模型.集合中的ti为周期任务,Ti为任务周期,Ci为任务计算时间,Di为截止时限且为周期终点.任务在周期起点释放,任务可抢占.定理1给出RMS算法可调度判定条件.

定理1TS由n个独立的周期任务组成且每个任务的截止时限等于周期,则TS可以被RMS调度,如果

当任务数趋于无穷大时有:

RMS算法已被证明是静态最优调度算法,开销小,灵活性好,缺点是当某些任务的截止时限不等于周期时,RMS算法不是最优算法 .另外,当n→∞时,处理器利用率不超过0.69.

最早截止时间优先算法(EDF)是一种动态调度算法.任务模型与RMS调度算法相同,优先级动态分配,截止时限越短,优先级越高.定理2给出EDF算法可调度判定条件.

定理2 一个任务集可按EDF算法调度的充要条件为:

EDF调度算法已被证明是动态最优调度算法,使用EDF调度算法,处理器利用率最大可达100%,缺点是在系统超载时,为了能让其他作业能够及时完成,一些作业会被抛弃,导致系统行为不可预测.另外,它的在线调度开销比RMS算法大.

4.2 模型可调度性分析

对于安全关键的汽车电子系统而言,时间的正确性就等于功能的正确性.为了支持系统的实时性和稳定性,需要在系统设计阶段对实时系统进行可调度分析,并结合实际运行平台进行验证.

模型的可调度性分析有助于及时发现系统潜在问题:如任务时限、周期安排是否合理,调度策略选择是否正确,处理器选型是否妥当等.如果分析结果超过设计要求很多,应重新设计系统的软、硬件体系结构[7].针对系统特点选择一种合适的算法是实时系统重要问题,因为汽车防滑控制系统建模时将ABS子系统和ASR子系统中的任务静态地分配并绑定到不同的处理器上,不存在一个任务被抢占后在另一个处理器上执行情况,因此系统是单处理实时调度.根据4.1节实时调度算法特点,并结合系统安全关键的特性,选择RMS算法与处理器关联是最佳选择.

ABS子系统有3个线程,根据公式(1)可得CPU1利用率应小于78%;ASR子系统有2个线程,同理可得CPU2的利用率应小于82.8%.

在AADL中可调度性分析不仅与调度算法有关且与线程构件中的线程处理时间、周期、截止时间和处理器构件中的处理器主频高低等属性有关,借助OSATE的线程绑定与调度分析插件可对实例化后的系统模型进行验证分析,得到处理器1和处理器2的性能与处理器利用率之间对应表,结果如图4和图5所示.

图4 处理器1性能与负荷图Fig.4 The processor 1performance and load diagram

图5 处理器2性能与负荷图Fig.5 The processor 2performance and load diagram

由图4和图5可以看出,处理器性能与负载成线性关系,当处理器CPU1利用率为78%时,处理器的主频为550MHz;当处理器CPU2的利用率为82.8%时,处理器的主频为900MHz.由于实时系统处理器需要一定冗余,故在实际选择处理器时,应选择主频更快一些的处理器.

5 结束语

本文主要论述了汽车防滑控制系统AADL建模过程以及根据实时调度理论利用工具软件QSATE对模型进行可调度性分析.通过分析可以有效地对系统的可调度性进行早期预测,使设计人员在设计初期就能对产品性能进行分析与验证,及时发现设计中潜在的问题,以便重新调整设计方案,以满足系统设计要求.该方法对降低系统开发成本和缩短系统开发周期具有积极的意义.

[1]TEEPE G,REMBOSKI D,BAKER R.Towards information centric automotive system architecture[R].SAE Convergence 2002,Transportation Electronics,Detroit:MI,2002.

[2]OMG.UML profile for modeling and analysis of real-time and embedded systems[EB/OL].[2008].http://www.omgmarte.org/.

[3]SAE Aerospace.SAE AS5006,architecture analysis and design language[EB/OL].[2004].http://www.aadl.info/aadl/currentsite.

[4]SAE Aerospace.SAE architecture analysis and design language annex volume 1,society of automotive engineers[EB/OL].[2006].http://www.aadl.info,2006.

[5]SEI.Open source AADL tool environment[EB/OL].[2006].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,10(3):249-254.

[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.(In Chinese)

[8]SOKOLSKY O,LEE I.Schedulability analysis of AADL models[M].[S.I.]:IEEE,2006:164-172.

[9]HUDAK J,FEILER P.Developing AADL models for control systems:apractitienor’s guide[C].Pittsburgh: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.

猜你喜欢

线程处理器构件
基于C#线程实验探究
基于国产化环境的线程池模型研究与实现
浅谈linux多线程协作
建筑构件
建筑构件
建筑构件
建筑构件
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
Java的多线程技术探讨