1 前言
随着嵌入式系统越来越多的应用在工业控制、车载电子、航天航空电子等任务关键和实时系统,它的复杂度和性能要求也越来越高。传统的以代码为核心的开发方法逐步从代码为中心的开发提前到以模型驱动开发为核心。以供在早期对系统进行设计验证,减少不必要的损失。为此,美国汽车工程师协会在2004 年提出了体系结构建模语言AADL(architecturalanalysis and design language, AADL),并发布为SAE AS5506 标准,目的是提供一种标准而又足够精确的方式,设计与分析嵌入式实时系统的软、硬件体系结构及功能和非功能性质。由于AADL 具有语法简单、功能强大、可扩展等优点,他已经逐步成为工业界事实上的标准。根据现有的形式化验证工具的应用情况,本文通过制定映射规则,将AADL 行为模型直接转换成BIP 模型。并且利用已有的BIP 模型工具对准换后的BIP 模型进行验证。提供一种形式化的验证AADL 行为模型的新途径,如图1 所示。
2 BIP构件模型
BIP(Behavior,Interaction,Priority) 是Verimag 提出的实时系统建模语言,采用自动机的方式描述行为,并且支持异构构件之间的组合。BIP 模型工具能够用来分析模型和可执行代码。BIP 语言对系统的形式化描述主要由下面三部分组成:
原子构件:即带有行为描述的构件,这些行为包含了迁移,空交互和优先级。触发的迁移包括端口,这些端口带有动作名称,可用于端口同步。
连接件:用于描述原子构件端口之间可能的交互模式。
优先级关系:用于在几种可能的交互方式中做选择,这种选择需要根据条件来判断。条件和原子构件整体的状态有关。下面详细阐述这个语言的主要特征。
2.1 优先权
在包含多个构件交互的系统里,优先权可以根据条件来确定所有执行交互的优先级。因此优先权可以通过设置执行迁移约束条件来减少系统的非确定性。这些条件是一套规则,每条规则都由和条件交互有关的命令对组成。条件是一个与构件交互变量有关的布尔表达式。当条件满足,所有交互都可执行,则优先级高的先执行。对于静态优先级,条件可以忽略。规则也可以扩展为交互组合。例如规则P1< 的优先权高于p 有着比p1|q更高的优先权。此外,优先权和交互是兼容的,p|q>
3 AADL行为模型到BIP模型的转换规则
AADL 模型转换主要是建立AADL 模型与目标模型元素的转换规则。本文从AADL模型的行为模型出发,建立其到BIP 模型的转换规则。AADL 行为模型用于描述构件内部的详细行为模式,与其他构件通过端口连接等方式形成的流(包括数据流和时间流)进行交互。AADL 模型中每个构件内的行为模型相对对立,可以直接映射成BIP 描述的原子构件,多个构件交互的行为可以映射为BIP 复合构件里多个原子构件的交互,从而避免了构造自动机的`积的复杂过程。
4 关键系统的任务转换实例
对于实时的关键系统,系统里具有更高优先级的任务必须能够抢占正在执行的任务,并且在任务执行完成后恢复被抢占任务的执行。这既是系统的实时要求,又是系统的安全性要求。对于以汽车电子,航空电子,航空控制系统等为代表的实施关键系统,必须建立能够描述任务执行的所有可能状态,正确的描述系统任务状态的迁移过程,对系统执行进行分析。
4.1 关键系统任务的AADL行为描述
本文首先用AADL 行为模型附件语法来为一个可抢占实时任务进行建模,然后将这个实时模型的可抢占执行模型转换成BIP 行为模型的状态迁移过程,并对BIP 模型进行验证。因为迁移的条件比较复发,对于研究实时任务的抢占执行不具有普遍一起,所以本文简化的描述了AADL 状态的可抢占执行到BIP 模型的转换过程。
4.2 BIP模型验证
对于转换而成的BIP 模型,我们可以用验证工具Aldebaran 进行死锁检测。这个工具主要是对BIP 模型的结构进行分析,它的原理是首先它使用前端引擎来探索BIP 模型的所有运行状态,并将这些状态转换成一个带标记的迁移系统,然后将这个带标记的迁移系统作为作为检测工具的后端输入,然后对系统进行死锁检测。
如果对于具有并发执行或者对执行时间严格的状态转换,我们可以通过设置状态转化的优先级或者在模型端口里加入时间变量。通过其他的BIP 模型检测器来验证。文献举例验证了构件之间通过端口的同步交互,这种方法可以扩展到对AADL 行为模型的状态迁移转换上。
5 结论
目前AADL 已经广泛应用到嵌入式系统的开发中,基于AADL 模型的形式化研究已经成为了验证模型可靠性的主要途径。本文在研究AADL 行为附件的基础上,建立了AADL 行为模型到BIP 模型的转换规则。但是由于两种模型针对的主要描述对象并不完全相同,因此两者之间有一定差异。在转换中也可能将一些语义,性质丢失。例如这种转换对任务执行协议,执行的条件变量等描述不够。这还需要一些辅助的形式化分析进行补充。因此,在对AADL 行为的形式化描述中我们还需要进一步完善。这将对提高实时关键系统开发效率,保证系统安全具有重大意义。
【浅析基于BIP 的AADL 行为模型验证方法的论文】相关文章: