一种基于行为描述的aadl可靠性模型生成方法

文档序号:6609429阅读:419来源:国知局
专利名称:一种基于行为描述的aadl可靠性模型生成方法
技术领域
本发明涉及嵌入式系统,具体涉及一种基于行为描述的AADL可靠性模型生成方法。
背景技术
为了满足开发新型的嵌入式系统的需求,美国自动化工程师协会发布了航空标准
AS5506-架构分析与设计语言(Architecture Analysis and Design Language, AADL) 。
AADL对基于模型的分析和复杂实时嵌入式系统的描述有很好的支持,通过构件以及构件间的交互、软件构件、硬件构件和系统构件的绑定,对实时高可靠嵌入式系统进行描述与分析;并基于系统的交互模型对系统非功能属性进行分析与评估,如果AADL模型不能满足非功能属性的需求,那么可以在架构这一级别对系统进行重新设计和构造,使得最终满足可靠性的要求。AADL架构模型描述了系统层次化的组成结构,从功能实现和分解的角度,将系统逐层分解,将系统的功能逐步分解到系统、子系统和构件级别。在AADL架构模型中可以定义系统中软构件、硬构件以及构件间的交互。构件定义包括构件类型和构件实现,前者呈现了构件对外的接口特征,后者包括了构件内部的实现细节。AADL错误模型以附录库的形式存在,支持AADL对系统可靠性的建模。AADL错误模型定义包括错误模型类型和错误模型实现。错误状态和错误事件或错误传播定义在错误模型类型中,描述了构件可能处于的状态以及可能发生的错误。错误模型实现中定义了错误状态间的迁移,描述了构件或系统的错误行为。基于AADL描述的系统可靠性模型由架构模型和错误模型组成,描述了系统的架构层次和可靠性相关的信息。AADL行为模型也被称为行为说明(behavior-specification),和错误模型类似,AADL行为模型也是通过扩展AADL标准实现的。不同的是,AADL行为模型必须与架构模型定义在一起。在行为模型中,设计者不仅可以对构件的状态进行详细地定义,而且还可以对状态迁移的发生条件(guard)以及伴随着状态转换构件所执行的处理(action)进行详细刻画,较全面准确地描述了构件所实现的功能。构件的错误模型宏观地描述了构件可能处于的状态以及由错误事件驱动的状态间的转换,整体说明了错误导致构件的状态演化过程。但是,对于设计者来说,并不清楚构件的哪些行为可能导致了构件进入错误状态,导致这种错误的原因什么更是不知道,不能将构件的行为与其可能导致的错误联系起来,建模者无法从错误模型中找出影响系统可靠性的重要因素。错误模型间的交互依赖于系统架构模型中构件间的交互,错误如何在错误模型间传播,依赖于系统中构件间的消息传递。但是目前错误模型间的交互仅靠建模者对系统架构模型的理解,不能保证错误模型间交互的准确性和全面性,影响系统可靠性模型的完整性,最终导致可靠性评估不准确。

发明内容
要解决的技术问题为了避免现有技术的不足之处,本发明提出一种基于行为描述的AADL可靠性模型生成方法。技术方案一种基于行为描述的AADL可靠性模型生成方法,其特征在于步骤如下步骤I :遍历系统基于AADL描述的架构模型,对定义了行为说明的构件进行标记;并在与架构模型相同的工程目录下,构造一个空的错误附录库;步骤2 :构造一个通用错误模型并加入到步骤I构造的错误附录库中,得到一个仅含通用错误模型的附录库; 步骤3 :针对步骤I中被标记的构件分别生成空的错误模型类型error modeltype和空的错误模型实现error model implementation,并存放到步骤I生成的错误附录库中;所述错误模型类型和错误模型实现的命名匹配方式符合AADL错误附录中的要求;步骤4 :将系统内AADL描述的架构模型中、行为模型中定义的状态作为错误状态全部添加到错误|旲型类型中;若状态在彳丁为|旲型中被标记为初始状态,则在错误|旲型中也将其标记为初始错误状态initial error state,其他的直接定义为一般错误状态errorstate ;步骤5 :将系统的AADL描述的架构模型中、构件行为模型中transitions部分中定义的每一个transition,在构件对应的错误模型类型和错误模型实现中进行如下操作在错误模型类型中添加错误事件free ;当行为模型中状态迁移中初始状态和目的状态是不同的状态时,找出错误模型类型中经过步骤4已生成的错误状态,并以事件free作为驱动事件,建立错误状态迁移,并添加到错误模型实现中;步骤6 :查看构件行为模型中transitions部分中定义的每一个transition转换条件guard和依附其的操作部分action,若在所有的transition中二者都为空,直接进入步骤7 ;否则,在错误模型类型中添加错误状态failed ;然后在构件对应的错误模型类型和错误模型实现中进行如下操作步骤(I)当transition的转换的条件guard不为空时,根据错误分类表提取里面发生的错误,并生成错误事件,添加到错误模型类型中;步骤(2)当依附于transition的操作action部分不为空时,对其中构件执行的动作语句参照错误分类表,提取构件在操作的过程中可能出现的错误或故障,生成错误事件error event,添加到错误模型类型中;步骤(3)根据行为模型中该迁移的源状态,找出对应错误模型类型中的错误状态并作为源状态,目的状态为failed状态,以步骤(I)和步骤(2)中生成的错误事件为驱动事件,生成错误状态迁移,并添加到构件的错误模型实现中;所述步骤3-6对在步骤I中被标记的构件都要执行一遍步骤7 :利用osate提供的系统实例化功能,对最外层的系统进行实例化;步骤8 :找到实例化后的系统中连接的最初的源构件和最终的目的构件,在最初的源最初源构件的错误模型中添加向外错误传播,在最终的目的构件的错误模型中添加接收错误传播;所述向外错误传播和接收错误传播的命名方式遵循AADL约束要求;若在上述给错误模型添加错误传播的过程中,构件不存在错误模型,则查看其所在的上层构件是否存在错误模型,存在的话,则直接在上层构件的错误模型中添加错误传播;如果一直找不到错误模型,则将通用错误模型作为该构件的错误模型,并且向错误模型类型中添加命名相匹配的错误传播;步骤9 以初始错误状态和“failed “分别为源状态和目的状态,以错误传播为驱动事件,在错误模型实现中,添加错误状态迁移;步骤10 :将原来架构模型里构件实现中定义的行为附录子库去掉,并添加错误附录子库annex error_model ;在附录子库中添加Model属性,将生成的错误模型实例化给架构模型中的构件;
所述错误分类表为
权利要求
1.一种基于行为描述的AADL可靠性模型生成方法,其特征在于步骤如下 步骤I :遍历系统基于AADL描述的架构模型,对定义了行为说明的构件进行标记;并在与架构模型相同的工程目录下,构造一个空的错误附录库; 步骤2 :构造一个通用错误模型并加入到步骤I构造的错误附录库中,得到一个仅含通用错误模型的附录库; 步骤3 :针对步骤I中被标记的构件分别生成空的错误模型类型error model type和空的错误模型实现error model implementation,并存放到步骤I生成的错误附录库中;所述错误模型类型和错误模型实现的命名匹配方式符合AADL错误附录中的要求; 步骤4:将系统内AADL描述的架构模型中、行为模型中定义的状态作为错误状态全部添加到错误|旲型类型中;若状态在彳丁为|旲型中被标记为初始状态,则在错误|旲型中也将其标记为初始错误状态initial error state,其他的直接定义为一般错误状态errorstate ; 步骤5 :将系统的AADL描述的架构模型中、构件行为模型中transitions部分中定义的每一个transition,在构件对应的错误模型类型和错误模型实现中进行如下操作 在错误模型类型中添加错误事件free ; 当行为模型中状态迁移中初始状态和目的状态是不同的状态时,找出错误模型类型中经过步骤4已生成的错误状态,并以事件free作为驱动事件,建立错误状态迁移,并添加到错误I吴型实现中; 步骤6 :查看构件行为模型中transitions部分中定义的每一个transition转换条件guard和依附其的操作部分action,若在所有的transition中二者都为空,直接进入步骤 . 7 ;否则,在错误模型类型中添加错误状态failed ;然后在构件对应的错误模型类型和错误模型实现中进行如下操作 步骤(I)当transition的转换的条件guard不为空时,根据错误分类表提取里面发生的错误,并生成错误事件,添加到错误模型类型中; 步骤(2 )当依附于trans i t ion的操作act ion部分不为空时,对其中构件执行的动作语句参照错误分类表,提取构件在操作的过程中可能出现的错误或故障,生成错误事件errorevent,添加到错误模型类型中; 步骤(3)根据行为模型中该迁移的源状态,找出对应错误模型类型中的错误状态并作为源状态,目的状态为failed状态,以步骤(I)和步骤(2)中生成的错误事件为驱动事件,生成错误状态迁移,并添加到构件的错误模型实现中; 所述步骤3-6对在步骤I中被标记的构件都要执行一遍 步骤7 :利用osate提供的系统实例化功能,对最外层的系统进行实例化; 步骤8 :找到实例化后的系统中连接的最初的源构件和最终的目的构件,在最初的源最初源构件的错误模型中添加向外错误传播,在最终的目的构件的错误模型中添加接收错误传播;所述向外错误传播和接收错误传播的命名方式遵循AADL约束要求; 若在上述给错误模型添加错误传播的过程中,构件不存在错误模型,则查看其所在的上层构件是否存在错误模型,存在的话,则直接在上层构件的错误模型中添加错误传播;如果一直找不到错误模型,则将通用错误模型作为该构件的错误模型,并且向错误模型类型中添加命名相匹配的错误传播;步骤9 以初始错误状态和“failed “分别为源状态和目的状态,以错误传播为驱动事件,在错误模型实现中,添加错误状态迁移; 步骤10 :将原来架构模型里构件实现中定义的行为附录子库去掉,并添加错误附录子库annex error_model ;在附录子库中添加Model属性,将生成的错误模型实例化给架构模型中的构件; 所述错误分类表为 编U 错议类型错议表现I 运ff错误_ 术运兑(*-*/%)_
全文摘要
本发明涉及一种基于行为描述的AADL可靠性模型生成方法,根据行为模型说明了构件的演化过程,若错误模型是基于行为模型产生的,那么每个错误就会明确地与构件的具体行为联系起来。另一方面,错误模型间的交互若能依赖于架构模型自动生成,则可以保证可靠性模型的准确性和全面性。因此,本发明在深入研究AADL架构模型、错误模型和行为模型的基础上,提出在构件层实现错误模型的自动化生成。本发明能够保证错误模型间交互的准确性和全面性,时的系统可靠性模型的完整性,保证可靠性评估的准确性。
文档编号G06F11/36GK102880548SQ201210345740
公开日2013年1月16日 申请日期2012年9月18日 优先权日2012年9月18日
发明者董云为, 畅绍枫, 张凡, 程瑶 申请人:西北工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1