唐家强 王星皓 安品臣 胡宾洋
摘 要:在分布式综合航空电子信息流时延分析的过程中,时间触发(TT)流量可以直接在体系结构分析与设计语言的流时延分析框架下进行分析,而对速率约束(RC)流量的分析必须借助其他专用的分析模型,即实时演算(RTC)模型。因此,必须实现基于模型意义一致性的从AADL模型向RTC模型的转换,并且使转换后的模型可以利用RTC分析工具快速获取必要的时延参数,文章对此进行了研究。
关键词:综合模块化航电;信息流;建模;体系结构分析和设计语言
体系结构分析和设计语言(Architecture Analysis and Design Language,AADL)[1]是SAE标准定义的一种兼有文本和图形形式的体系结构描述语言,特别适用于性能关键性实时系统的软件和硬件体系结构的描述、设计和分析。在分布式综合航空电子信息流时延分析的过程中,时间触发(Time Trigger,TT)流量可以直接在AADL的流时延分析框架下进行分析,而对速率约束(Rate Constraints,RC)流量的分析必须借助其他专用的分析模型,即实时演算(Real-Time Clock,RTC)模型。
1 与RTC分析相关的AADL构件属性
由于需要借助RTC模型对RC流量在具体互连情况下的时延进行分析,因此,系统AADL模型中必须包含足够的、构建相应的RTC模型所需的,主要用以描述输入网络节点的事件流的到达曲线、服务曲线以及通信和处理过程的历时等的参数信息。下面,将从不同构件的角度分析AADL模型中应当包含的用于RTC分析的参数。
1.1 处理器构件
每个有线程绑定的处理器都应当定义其调度方式,标准AADL中定义了属性“调度协议(Scheduling_Protocol)”来描述处理器对线程的调度方式。
这里遇到的一个主要挑战是,AADL标准允许对一个处理器构件定义多种调度方式,但未对绑定在其上的线程具体采用的调度方式进行说明[2],因此,有必要为线程增加相关的属性,描述其能够接受的调度方式。
1.2 线程构件
对于线程构件,依据AADL标准中定义的“派发协议”属性的不同取值,可以分为4种类型:周期线程、非周期线程、偶发线程以及背景线程。
周期线程和偶发线程必须定义“周期”属性的参数值,如果在此时间间隔内有多于一个的偶发消息到达时,后到达的消息必须等待前一消息,经过此时间间隔之后方能接受调度并执行。
针对不同的调度策略,线程需要提供不同的属性值:对于FPS调度,线程必须提供“优先级”属性值(该属性未在标准AADL中给出定义);对于EDF调度,线程必须提供“截止期限”属性值;对于RMS调度,线程同样需要给出“周期”属性的参数值。
1.3 总线构件
参考RTC资源模型中服务曲线的定义方式可知,总线的带宽是刻画其服务特性所必须的参数;此外,由于分布式综合航空电子系统采用时间触发以太网(Time Triggered Ethernet,TTE)实现构件互连,因此,系统中总线采取时分多址(TDMA)的复用方式,故TDMA循环周期的长度也是必须给出的参数值,上述两个属性均未在标准AADL中给出。
1.4 端口
由于“端口”是某一特定构件的特性以及流量进入节点的入口,因此,RTC模型中刻画输入事件流特性的到达曲线所包含的参数均应当由端口的相关属性来提供。RTC分析采用周期抖动延迟(Period Jitter Delay,PJD)模型來描述输入事件流的特性,对此,可自定义适用于端口的两个属性来提供上述3个参数:输入速率“Input_Rate”属性值以范围[s,p]表示,其中,s表示在到达的事件流中相邻两个到达事件所应具有的最小时间间隔(即参数D),p表示该事件流的长期(long-term)周期(即参数P);输入抖动“Input_Jitter”属性值表征PJD模型中的参数J。
2 AADL语言扩展支持RTC模型
从对TT流量进行时延分析的过程中不难看出,AADL时延分析框架为分析提供了很大便利,使得在基于AADL描述的系统模型中[3],只需给出构件的相关属性的参数值即可用于时延分析。这里的“相关属性”,在AADL标准中均有相应的定义。
AADL语言主要用于系统体系结构的顶层架构设计、开发与验证,并未深入考虑系统中具体的网络互连情况,仅定义了个别属性(如总线构件的“Transmission_Time”和“Propagation_Delay”属性),而且,这些属性的参数值是需要系统设计者预先设定的,因此,设计者需要围绕所使用的分析方法,结合系统中构件的具体互连情况来修改和完善AADL模型,使之包含后续分析所必需的参数信息。在考虑系统中网络互连的情况下,本课题主要采用RTC模型开展信息流时延分析。RTC通过PJD模型刻画到达曲线,而这3个参数都没有在AADL信息流模型的标准属性中给出定义。再如,RTC模型中刻画资源模型所需的参数包括处理器的延迟确界、总线的复用方式等,这些参数也没有体现在AADL流模型的定义中。因此,有必要借助AADL可扩展的特性,对其进行扩展,增加适于表征具体互连特征的构件属性,以用于RTC分析。
SAE AS5506标准中明确规定,“可以通过‘属性集(property set)‘附件子句以及‘附件库对AADL语言进行用户自定义扩展”。可见,系统设计者依据开发需要,通过自定义属性集增加相应的属性,实现对符合特定要求的系统功能的描述,正是AADL语言的一种合理扩展。
只用于特定的AADL工程的自定义属性集,建议存储在相应工程文件目录中的“propertysets”文件夹下,此类属性集不会对其他AADL工程造成影响,当然,也不能为其他工程所用;如果希望所定义的属性集在不同AADL工程之间能够实现共享,则可以将属性集文件存储在OSATE中构建所有AADL工程所使用的根路径下的“Plugin_Resources\aadl”文件夹中。在自定义的属性集中,可以定义适用于特定构件类型的新的属性,也可以定义新的单位类型,如下例所示。需要注意的是,除标准AADL定义的两个属性集“AADL_Project”和“AADL_Properties”之外,使用其他属性集中定义的属性时,必须在属性名称前通过“::”符号冠以属性集的名称,如“SEI::NetWeight”。
3 结语
论文通过分析AADL语言的结构特征,采用扩展模式支持了RTC模型的分析,为后续开展实时网络系统的分析提供了基础。
[参考文献]
[1]Society of Automotive Engineers.SAE aerospace standard:SAE architecture analysis & design language[EB/OL].(2006-06-01)[2020-02-25].http://www.so.com/s?src=lm&ls=sm2162189&lm_extend=ctype%3A31&q=SAE+AS5506%2F1%2C+2006.06.
[2]FEILER P,HANSSON J.Flow latency analysis with the architecture analysis and design language(AADL)[R].CMU/SEI-2007-TN-010,2007.
[3]FEILER P,GLUCH D,HUDAK J,et al.Embedded system architecture analysis using SAE AADL[R].CMU/SEI-2004-TN-005,Carnegie Mellon University & Software Engineering Institute,2004.