基于UML MARTE处理AADL的端到端流延迟

2015-05-30 10:48杨夏
软件工程 2015年11期

杨夏

摘 要:AADL和MARTE都支持对实时嵌入式系统形式化建模的分析。利用MARTE的时间模型设备,研究MARTE是如何对实时嵌入式系统的建模和分析的,能够比较准确的通过事件或者数据端口的端到端流延迟分析,表达AADL周期性或非周期性任务。

关键词:AADL;MARTE;流延迟

中图分类号:TP202 文献标识码:A

1 引言(Introduction)

现代嵌入式系统必须支持在异构架构上部署异构应用。因此,根据所施加的实时限制,对配对早期性能进行估计,非常必要。这就要求设计一个即是应用程序也是系统结构的模型,该模型是定义应用性功能映射到体系结构的资源和服务的有效手段。

AADL和MARTE是具备这样功能的两个的模型框架。虽然他们有许多相似的功能,但MARTE在建模方面更为详细。可不可用MARTE模型框架代替AADL模型框架进行嵌入式系统建模呢?前提是MARTE必须解决的一个问题是:如何表现AADL提供的任务之间的特定通信方案。AADL在原来的谐波或者独立期情况下,任务可以是周期性的或非周期性的,任务之间的通信可以使用事件数据或纯数据端口进行。

让MARTE代表所有周期性与非周期性,事件触发与采样数据等类型的通信虽然是挑战,但同时也有机会提供建模框架内的实时语义。使用MARTE时间模型构建语义[1]结构的目的是,以一种正式的方式为计算和通信定义一个新的计时领域。本文的主要目的是,AADL在终端到终端的流量延时分析中,MARTE具体如何实现,这种实现是否可纳入正式的标准附件。

2 AADL的MoCC与 MARTE.(AADL MoCC with

MARTE)

MoCC(Model of Computation & Communication)即计算和通信模型。在MARTE中除了模型元素,时间语义元素也必须被定义。一方面是计算模型中的时间语义,即计算的开始、完成或中止时的时间语义。另一方面是通信模型中的时间语义,即什么样的通信被使用。MARTE的时间语义子信息,从标签系统的原理中得到启发,提供了一组通用的机制来定义MoCC。可以使用原型时钟约束作为MARTE的约束,它派生自UML的约束元类。使用在时钟约束上的语言叫做时钟约束规范语言CCSL,它被定义为MARTE规格的附件。

在AADL中两种通信都是可能的:其一是数据驱动的通信,是指给定任务的执行是通过前面的多个任务所产生的数据的可用性而触发的。这里的前面是指在控制流定义的顺序中处于前面。其二是采样通信,其中的纯数据仅被作为采样和用来表示任务是否被激活时使用。数据驱动的通信存在于链中,这个链可以通过两种方式存在:其一,通过事件或事件的数据端口连接的非周期的任务、设备或线程组成。其二,通过一个即时连接的数据端口将同步的周期性任务连接起来。在第二种情况下,耗时的任务变为非周期性,同时,它的执行是通过在完成生产任务时被触发的。CCSL时钟关系与数据驱动通信模型交替更迭。

step1.finishalternatesWithstep2.start (1)

式(1)说明了从第1步到第2步的数据驱动通信。注意,该约束是不对称的,步骤1的完成可能导致步骤2的执行,反之不一定成立。

采样通信发生在不同的情况下。例如,当两个异步的任务通信时,或者是当两个同步周期性任务通过一个延迟连接的数据端口而被连接时都可能发生采样通信。

step2.start = step1.finish sampledTo^step2 (2)

式(2)显示了从第一步到第二步的采样通信。^step2表示步骤2的激活条件。如果步骤2是一个周期性的线程,那么它的激活条件可以使用CCSL中的isPeriodicOn关系来定义,见式(3)和式(4)。

C100=idealClkdiscretizedBy 0.01 (3)

^step2 isPeriodicOn C100 period=10 (4)

idealClk在MARTE中被定义为时间库,代表一个有密集计时功能的(有关物理时间)完美(没有抖动或其他任何瑕疵)时钟。式(3)由离散idealClk定义C100。idealClk的默认单位是秒,所以C100是一个100Hz的离散计时时钟。第二步对C100定义周期为10,见式(4),这使得第二步是一个10Hz的离散计时时钟。另外,第二步是一个非周期性线程,它的激活状态不会一直绑定在逻辑时钟上。

3 举例(An example)

3.1 AADL的描述

选取了一个系统进行说明[2]。该系统由一个传感器装置的Ds,两个进程P1和P2,以及执行设备Da组成。进程P1包含一个单独的线程T1,进程P2包含两个线程T2和T3。端到端的流从Ds开始,流经T1、T2和T3,最后再Da结束[3]。如图1所示。

图1 一个AADL模型(从传感器经过三个线程到达执行器)

的流示例图

Fig.1 Flow extracted from an AADL model

将上述AADL模型部署在基于AADL的OSATE Eclipse插件的环境中,如图2所示。流从一个传感器开始,经过三个进程,最后汇集在执行器。传感器和执行器都是非周期性装置,是执行平台的一部分。每个进程执行一个线程。另外,通过总线(DB1)通信的有两个处理器(CPU1和CPU2),该主机有三个进程,这些进程带有一些约束。这三个进程可以由任何一个处理器处理,也可以是组合执行。

图2 系统实例在OSATE平台上的部署图

Fig.2 The system in OSATE

3.2 用MARTE表示同步采样流

用UML的活动图描述模型算法,如图3的上半部分所示。所有的通信都通过无限队列的事件数据端口进行。与图1相比,把获取和释放两个动作看作设备的行为。

在图3的中间部分和下部,利用类组合结构图,对AADL软件和执行平台组件进行建模。从MARTE的stereotypes提取的信息,可以确定适当的时钟约束,如图4所示。

图3 用MARTE模型描述所有周期情况图

Fig.3 All periodic case MARTE model

图4 所有周期情况的CCSL约束图

Fig.4 All periodic case of CCSL constraints

由于示例中的所有线程都有周期性和同步性,所以,前三次通信:从获取到第一步,从步骤1至步骤2,从步骤2到步骤3,将被进行采样通信。最后的通信,即从步骤3到释放,是数据驱动的,这是因为设备是非周期性的。

式5声明了所有周期性线程的共同时钟。图4用等效图形表示CCSL约束。绿色箭头表示通信。虚线箭头表示即时关系。平原箭头表示严格的优先级,而空箭头表示没有严格的优先级。用式(6)和式(7)可以解释。

获取(Ds)完成(Ds.finish)动作的瞬间被置于两个任务的时钟之间[4],这个瞬间称为clki(第6式)这意味着,操作步骤1必须紧跟在任务clki+1,如式(7)。

clk≡idealClkdiscretizedBy P (5)

(i∈N*)(Ds.finish∈[clki,clki+1]) (6)

step1.start [clki+1,clki+2]) (7)

这是一个异步采样的定义。异步设备Ds发出的数据通过同步线程T1取样,这个过程遵循它自己的时钟clk。

AADL的绑定机制等价于MARTE的配置包。首先,行为和对象节点以软件组件的形式被分配,如图4的虚线箭头。第二,软件组件被分配给执行平台的模型元素。

所有这些注释,都可以用模型驱动工程技术提取,并送入实时分析工具,包括AADL延时分析工具。图5所示是UML和MARTE的时序图,加粗的水平线表示执行时间,它等于设备的延迟加上最小执行时间和线程的截止时间之间的值域。两条水平线之间的斜线代表通信和采样延迟。对于采样通信,相当于等待接收时钟的下一个时钟滴答的时间总和。最大采样延迟出现在为了完整的采样周期而进行的通信等待时,因为有可能前面滴答刚好错过。从图中的分析结果来看,MARTE比AADL有一些优势。

以下的这些公式可以作为AADL延迟分析工具。

End-to-End Flow Latency=Ds.latency+flow latency+Da.latency

Flow Latencyworst-case=t1.period+t2.period+t3.period +ts.deadline

Flow LatencyBest-case=t1.period+t2.period+t3.period+t3.MinExecTime

Latency jitter=t3.deadline-t3.MinExecTime

图5 所有周期情况的时序图

Fig.5 All periodic case of timing diagrams

4 结论(Conclusion)

本文中,我们展示了如何将MARTE用于模拟具有周期性和非周期性任务的混合系统中,这对嵌入式系统建模来说,是一个比较重要的问题。另外,还比较了MARTE与AADL,得出的结论是:MARTE可以用公式计算流延迟。更为重要的是,MARTE及其时间模型可以用于模拟计算和通信的各种定时模型。

参考文献(References)

[1] André C,Mallet F,de Simone R(2007):ModelingTime(s).

Springer LNCS 4735:559-573.

[2] Faugère M,Bourbeau T,de Simone R,Gérard S(2007):

MARTE:Also an UML Profile for Modeling AADLApplications.

ICECCS:359-364.

[3] Feiler P.H,Hansson J:Flow Latency Analysis with the

Architecture Analysis and Design Language(AADL).Carnegie

Mellon University,Technical Note CMU/SEI-2007-TN-

010,June 2007.

[4] André C,Mallet F,de Simone R(2007):Modeling ofImmediate

vs.Delayed Data Communications:from AADLto UML

MARTE". ECSI FDL 2007.

作者简介:

杨 夏(1976-),女,硕士,副教授.研究领域:嵌入式系统与

编译优化.