一种嵌入式软件可信属性建模与验证方法

文档序号:6514273阅读:190来源:国知局
一种嵌入式软件可信属性建模与验证方法
【专利摘要】本发明属于可信计算领域,涉及一种嵌入式软件可信属性建模与验证方法,包括下列步骤:(1)建立半形式化模型;(2)将半形式化模型转换为有限域上的可信嵌入式软件模型ZAM,包括时间模型、静态模型与动态模型三部分;(3)给出描述嵌入式软件可信性质的ZMTL时序逻辑公式,并采用FZMCA算法对ZAM模型进行可信性质的验证。基于上述方法的可信嵌入式软件建模与验证框架分为UML/MARTE图形层、模型转换层、ZAM模型层与模型验证层。本发明能够针对嵌入式软件的可信属性进行建模与验证,减少嵌入式软件在开发过程中出现的可信性缺陷、降低软件失效的概率。
【专利说明】一种嵌入式软件可信属性建模与验证方法
【技术领域】
[0001]本发明属于可信计算领域,特别是一种嵌入式软件可信属性建模与验证方法。
【背景技术】
[0002]可信软件是指软件的运行行为及其结果总是符合人们的预期,即使在受到攻击和干扰的恶劣环境下仍能提供可靠的运算结果和连续的服务。嵌入式软件已经在航空、航天、船舶、汽车、工农业生产等许多领域中得到了广泛的应用,并不断向复杂化、规模化与开放化的趋势发展。未来的嵌入式软件具有软件规模庞大、通信环境复杂、与硬件紧密耦合等特点。在其发展趋势和应用场景下,嵌入式软件对实时性、安全性、可靠性等可信属性提出了更高的需求。因此,在嵌入式软件的需求分析、设计、实现等阶段均面临着新的困难和挑战。传统的测试方法要在软件实现阶段才能发现部分软件代码中的错误,不仅需要付出很大的时间与资源代价,而且难以完全排除其潜在的逻辑缺陷。因此,研究在设计阶段针对嵌入式软件可信属性建模与验证的方法具有重要的理论意义和实用价值,通过对嵌入式软件模型的可信性质的验证,可减少其在设计和编码过程中的可信性缺陷,从而降低软件失效的概率。
[0003]针对嵌入式软件可信属性的建模与验证主要围绕两个问题:可信属性的建模方法以及可信性质的验证方法。由于可信属性是软件的非功能属性,无法在功能模型中体现出来,需要通过软件静态结构及动态行为中的约束来进行描述。为了验证软件在每个可能的状态中都满足这些约束,就需要建立软件的结构和行为模型,并描述软件操作在软件行为中的作用。因此,针对嵌入式软件可信属性的建模方法应该能够描述嵌入式软件的操作规约,即操作对软件状态的改变,以及这种改变对软件可信性质的影响。
[0004]由于半形式化模型中缺少操作规约,并且采用对象约束语言(Object ConstraintLanguage,OCL)来描述软件中的约束,不具备精确的语义,因此无法直接进行严格的分析验证。而形式化模型能够避免半形式化模型的歧义性和不精确性,且模型精化技术可保证软件的抽象模型与实施模型满足相同的性质。因此,更适用于设计和验证具有高可信需求的嵌入式软件。目前,嵌入式软件建模所采用的形式化语言主要包括有限自动机、Petri网、AADL、C0RBA等。由于这些方法缺乏针对嵌入式特征与可信属性的形式化建模元素,因此现有的研究工作成果无法满足我们对嵌入式软件可信属性的建模需求。另一方面,目前常用的软件行为模型并不能很好地与软件功能模型相融合,无法描述软件操作对软件状态的改变,导致现有的模型验证方法无法对功能模型中的数据约束进行验证,从而无法完整地评估软件操作对可信性质的影响。因此,在现有模型的基础上加强对嵌入式软件操作规约与数据约束的表达能力,将嵌入式软件行为与功能模型进行深度融合,是解决嵌入式软件可信属性的建模与验证问题的有效途径。但是,现有技术中尚无相关描述。

【发明内容】

[0005]本发明所解决的技术问题在于提供一种嵌入式软件可信属性建模与验证方法。[0006]实现本发明目的的技术解决方案为:一种嵌入式软件可信属性建模与验证方法,将嵌入式软件建模规范MARTE与Z语言、时间自动机的建模过程相结合,并基于模型检测算法进行模型可信性质的验证,具体包括以下步骤:
[0007]步骤1、建立半形式化模型,具体是建立UML/MARTE类图和状态图;
[0008]步骤2、建立有限域上的可信嵌入式软件模型ZAM,具体是将半形式化模型向形式化模型转换,并补充其操作规约和可信约束,所述可信嵌入式软件模型ZAM分为时间模型、静态模型与动态模型三部分,用于对嵌入式软件的结构、行为及其可信约束进行描述,其中:
[0009](a) ZAM时间模型ZMtime包括时钟类型、时钟实例、时间构造型建模元素,所述时间构造型建模元素包括时间事件、时间过程两种;
[0010](b)ZAM静态模型ZMstati。包括:数据类型、全局变量、类状态、可信构造型、类、类关联、操作规约建模元素;
[0011](C) ZAM动态模型ZMdynami。包括:状态、转移动作、时钟、状态转移建模元素,以及这些建模元素分别与ZMtinre和ZMstati。中各类元素之间的二元关系。
[0012]建立有限域上的可信嵌入式软件模型ZAM主要包括如下子步骤:
[0013]步骤2-1、将MARTE所定义的时钟类型与实例映射至ZAM时间模型ZMtime中的ClockType与Clock集合元素,所述ClockType集合元素的属性包括时钟性质、单位、是否逻辑时钟和最大值,Clock集合元素的属性包括单位、时钟类型、被参考时钟、分辨率和偏移量;之后定义相应的时间事件类型集合TimedEvent与时间过程类型集合TimedProcess,所述TimedEvent集合元素的属性包括事件发生的时间点,TimedProcess集合元素的属性包括开始和结束时间点、以及它们之间的持续时间;
[0014]步骤2-2、将UML/MARTE类图中的数据类型、全局变量、类、类关联、类操作元素映射至 ZAM 静态模型 ZMstatic 中的 DataType、GlobalVariable、State/Cl ass、Asso 与 Operation集合元素;之后根据软件的可信需求定义可信构造型,所述的可信需求包括安全性、可靠性、实时性与可用性,所述的可信构造型包括用于描述可信需求的属性及其约束,以ZMstati。中State集合元素的形式给出;最后补充软件的操作规约,描述操作前后软件状态中变量的改变方式及约束,以ZMstatie中Operation集合元素的形式给出;
[0015]步骤2-3、将UML/MARTE状态图中的状态节点、转移动作、时钟实例、状态转移元素映射至ZAM动态模型ZMdynami。中的S、Σ、C与T集合元素,将软件操作的前置/后置条件映射至相关状态的转移条件,并在ZMdynami。中添加可信约束,所述的可信约束为ZMtinre和ZMstati。中与可信需求相关的谓词约束,包括时间约束与数据约束;
[0016]步骤3、在ZAM模型的基础上对可信性质进行验证,具体是对有限域上的ZAM动态模型ZMdynamie中的可信约束进行验证,模型检测算法FZMCA的验证方法是在有限域ZMdynami。的一次计算的所有状态中,计算ZMTL时序逻辑公式-的可满足状态集合,若该集合包括这次计算中的所有状态,则验证通过,否则返回不满足-的状态集合;具体包括以下步骤:
[0017]步骤3-1、根据嵌入式软件的可信需求,给出描述其可信性质的ZMTL时序逻辑公式P;
[0018]步骤3-2、采用模型检测算法FZMCA,判定ZAMdynamic是否满足若满足则结束验证,否则给出不满足#的状态集合。[0019]所述ZMdynami。的一次计算表示为一个有限状态序列Π =(S(I, S1,..., sn) ,n e N,其中每一对相邻状态Si与si+1之间都存在状态转移,i e N,i < η ;令ji [k] = sk,k e N,k≤η ;
[0020]所述的ZMTL时序逻辑公式有以下七种形式:
[0021]
【权利要求】
1.一种嵌入式软件可信属性建模与验证方法,其特征在于,将嵌入式软件建模规范MARTE与Z语言、时间自动机的建模过程相结合,并基于模型检测算法进行模型可信性质的验证,具体包括以下步骤: 步骤1、建立半形式化模型,具体是建立UML/MARTE类图和状态图; 步骤2、建立有限域上的可信嵌入式软件模型ZAM,具体是将半形式化模型向形式化模型转换,并补充其操作规约和可信约束,主要包括如下子步骤: 步骤2-1 UfMARTE所定义的时钟类型与实例映射至ZAM时间模型ZMtime中的ClockType与Clock集合元素,所述ClockType集合元素的属性包括时钟性质、单位、是否逻辑时钟和最大值,Clock集合元素的属性包括单位、时钟类型、被参考时钟、分辨率和偏移量;之后定义相应的时间事件类型集合TimedEvent与时间过程类型集合TimedProcess,所述TimedEvent集合元素的属性包括事件发生的时间点,TimedProcess集合元素的属性包括开始和结束时间点、以及它们之间的持续时间; 步骤2-2、将UML/MARTE类图中的数据类型、全局变量、类、类关联、类操作元素映射至ZAM 静态模型 ZMstatic 中的 DataType、GlobalVariable、State/Class、Asso 与 Operation 集合元素;之后根据软件的可信需求定义可信构造型,所述的可信需求包括安全性、可靠性、实时性与可用性,所述的可信构造型包括用于描述可信需求的属性及其约束,以ZMstati。中State集合元素的形式给出;最后补充软件的操作规约,描述操作前后软件状态中变量的改变方式及约束,以ZMstatie中Operation集合元素的形式给出; 步骤2-3、将UML/MARTE状态图中的状态节点、转移动作、时钟实例、状态转移元素映射至ZAM动态模型ZMdynami。中的S、Σ、C与T集合元素,将软件操作的前置/后置条件映射至相关状态的转移条件,并在ZMdyna mi。中添加可信约束,所述的可信约束为ZMtinre和ZMstati。中与可信需求相关的谓词约束,包括时间约束与数据约束; 步骤3、在ZAM模型的基础上对可信性质进行验证,具体是对有限域上的ZAM动态模型ZMdynafflic中的可信约束进行验证,具体包括以下步骤: 步骤3-1、根据嵌入式软件的可信需求,给出描述其可信性质的ZMTL时序逻辑公式-5步骤3-2、采用模型检测算法FZMCA,判定ZAMdynami。是否满足,若满足则结束验证,否则给出不满足的状态集合。
2.根据权利要求1所述的嵌入式软件可信属性建模与验证方法,其特征在于,步骤2中可信嵌入式软件模型ZAM分为时间模型、静态模型与动态模型三部分,用于对嵌入式软件的结构、行为及其可信约束进行描述,其中: (a)ZAM时间模型ZMtime包括时钟类型、时钟实例、时间构造型建模元素,所述时间构造型建模元素包括时间事件、时间过程两种; (b)ZAM静态模型ZMstati。包括:数据类型、全局变量、类状态、可信构造型、类、类关联、操作规约建模元素; (c)ZAM动态模型ZAMdynami。包括:状态、转移动作、时钟、状态转移建模元素,以及这些建模元素分别与ZMtime和ZMstati。中各类元素之间的二元关系。
3.根据权利要求1所述的嵌入式软件可信属性建模与验证方法,其特征在于,步骤3中模型检测算法FZMCA的验证方法是在有限域ZMdynamie的一次计算的所有状态中,计算ZMTL时序逻辑公式Ψ的可满足状态集合,若该集合包括这次计算中的所有状态,则验证通过,否则返回不满足-的状态集合; 所述ZMdynaniie的一次计算表示为一个有限状态序列n =(S(I, S1,...,sn),n e N,其中每一对相邻状态Si与si+1之间都存在状态转移,i e N, i〈n ;令ji [k]=sk, k e N,k≤η ;所述的ZMTL时序逻辑公式f有以下七种形式:
4.一种基于权利要求1所述嵌入式软件可信属性建模与验证方法的框架,其特征在于,该框架包括UML/MARTE图形层、模型转换层、ZAM模型层与可信验证层四个层次,其中: (a)UML/MARTE图形层由UML/MARTE模型构成,提供嵌入式软件的图形化建模功能,由UML/MARTE的各种元模型库支持; (b)模型转换层由模型转换器与模型映射规则库构成,可进行UML/MARTE图形层与ZAM模型层的交互与转换; (c) ZAM模型层由ZAM模型构成,提供嵌入式软件结构、行为及其可信约束的形式化建模功能,由ZAM元模型支持; Cd)模型验证层由时序逻辑公式ZMTL与模型检测算法FZMCA构成,提供对ZAM动态模型的形式化验证功能。
【文档编号】G06F11/36GK103488568SQ201310459533
【公开日】2014年1月1日 申请日期:2013年9月30日 优先权日:2013年9月30日
【发明者】庄毅, 倪思如, 顾晶晶, 霍瑛, 许海洋 申请人:南京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1