主权项 |
一种基于行为描述的AADL可靠性模型生成方法,其特征在于步骤如下:步骤1:遍历系统基于AADL描述的架构模型,对定义了行为说明的构件进行标记;并在与架构模型相同的工程目录下,构造一个空的错误附录库;步骤2:构造一个通用错误模型并加入到步骤1构造的错误附录库中,得到一个仅含通用错误模型的附录库;步骤3:针对步骤1中被标记的构件分别生成空的错误模型类型error model type和空的错误模型实现error model implementation,并存放到步骤1生成的错误附录库中;所述错误模型类型和错误模型实现的命名匹配方式符合AADL错误附录中的要求;步骤4:将系统内AADL描述的架构模型中、构件行为模型中定义的状态作为错误状态全部添加到错误模型类型中;若状态在构件行为模型中被标记为初始状态,则在错误模型中也将其标记为初始错误状态initial error state,其他的直接定义为一般错误状态error state;步骤5:将系统的AADL描述的架构模型中、构件行为模型中transitions部分中定义的每一个transition,在构件对应的错误模型类型和错误模型实现中进行如下操作:在错误模型类型中添加错误事件free;当构件行为模型中状态迁移中初始状态和目的状态是不同的状态时,找出错误模型类型中经过步骤4已生成的错误状态,并以事件free作为驱动事件,建立错误状态迁移,并添加到错误模型实现中;步骤6:查看构件行为模型中transitions部分中定义的每一个transition转换条件guard和依附其的操作部分action,若在所有的transition中二者都为空,直接进入步骤7;否则,在错误模型类型中添加错误状态failed;然后在构件对应的错误模型类型和错误模型实现中进行如下操作:步骤(1)当transition的转换的条件guard不为空时,根据错误分类表提取里面发生的错误,并生成错误事件,添加到错误模型类型中;步骤(2)当依附于transition的操作action部分不为空时,对其中构件执行的动作语句参照错误分类表,提取构件在操作的过程中可能出现的错误或故障,生成错误事件error event,添加到错误模型类型中;步骤(3)根据构件行为模型中该迁移的源状态,找出对应错误模型类型中的错误状态并作为源状态,目的状态为failed状态,以步骤(1)和步骤(2)中生成的错误事件为驱动事件,生成错误状态迁移,并添加到构件的错误模型实现中;所述步骤3‑6对在步骤1中被标记的构件都要执行一遍:步骤7:利用osate提供的系统实例化功能,对最外层的系统进行实例化;步骤8:找到实例化后的系统中连接的最初的源构件和最终的目的构件,在最初的源构件的错误模型中添加向外错误传播,在最终的目的构件的错误模型中添加接收错误传播;所述向外错误传播和接收错误传播的命名方式遵循AADL约束要求;若在上述给错误模型添加错误传播的过程中,构件不存在错误模型,则查看其所在的上层构件是否存在错误模型,存在的话,则直接在上层构件的错误模型中添加错误传播;如果一直找不到错误模型,则将通用错误模型作为该构件的错误模型,并且向错误模型类型中添加命名相匹配的错误传播;步骤9:以初始错误状态和failed分别为源状态和目的状态,以错误传播为驱动事件,在错误模型实现中,添加错误状态迁移;步骤10:将原来架构模型里构件实现中定义的行为附录子库去掉,并添加错误附录子库annex error_model;在附录子库中添加Model属性,将生成的错误模型实例化给架构模型中的构件;所述错误分类表为:<img file="FDA0000671034270000021.GIF" wi="1630" he="199" /><img file="FDA0000671034270000031.GIF" wi="1660" he="3031" /><img file="FDA0000671034270000041.GIF" wi="1666" he="1908" /> |