CN101901186B - 一种嵌入式系统可靠性分析与评估方法 - Google Patents

一种嵌入式系统可靠性分析与评估方法 Download PDF

Info

Publication number
CN101901186B
CN101901186B CN2010102218135A CN201010221813A CN101901186B CN 101901186 B CN101901186 B CN 101901186B CN 2010102218135 A CN2010102218135 A CN 2010102218135A CN 201010221813 A CN201010221813 A CN 201010221813A CN 101901186 B CN101901186 B CN 101901186B
Authority
CN
China
Prior art keywords
model
mode
gspn
reliability
aadl
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2010102218135A
Other languages
English (en)
Other versions
CN101901186A (zh
Inventor
张凡
董云卫
高磊
王广仁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN2010102218135A priority Critical patent/CN101901186B/zh
Publication of CN101901186A publication Critical patent/CN101901186A/zh
Application granted granted Critical
Publication of CN101901186B publication Critical patent/CN101901186B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种嵌入式系统可靠性分析与评估方法,技术特征在于:基于AADL架构模型文件和AADL错误模型文件,形成AADL可靠性模型文件,然后将AADL可靠性模型转换到广义随机Petri网(General Stochastic Petri Net,GSPN)可靠性模型,利用现有的GSPN可靠性评估方法,对AADL可靠性模型进行量化分析。本发明方便软件架构可靠性分析自动化,方便用户在软件设计的早期对嵌入式软件的可靠性进行分析评估,在架构级别对软件的可靠性进行评估,如果模型架构不能满足要求,那么就可以提前修改软件架构,这样不仅可以节约开发成本,而且可以缩短开发周期。

Description

一种嵌入式系统可靠性分析与评估方法
技术领域
本发明涉及一种系统可靠性分析与评估方法,主要涉及嵌入式系统可靠性分析与评估方法。
背景技术
随着嵌入式系统的发展,嵌入式系统结构越来越复杂,规模越来越大,对系统的开发成本、开发周期及非功能属性(可调度性、可靠性、安全性)要求也越来越高,早期的嵌入式系统开发方法已经不能满足当前需求,为此,业界引入了模型驱动结构方法(Model Driven Architecture,MDA),系统开发被提升到更高的级别——模型级,针对特定计算平台的编码工作由机器自动完成,模型成为开发过程中的核心。因此,传统的基于代码的系统评估已经不能满足需求,需要从模型级别对系统的非功能属性进行分析,从而可以在模型级别就对系统的可调度性、可靠性、安全性进行分析,如果系统的非功能属性不能满足需求,那么就可以从模型级别对系统架构进行修改,这样就可以大大的缩短系统的开发周期,节约开发成本。
美国自动化工程师协会(Society of Automotive Engineers,SAE)针对这样的应用需求和技术发展趋势,发布了航空标准AS5506——架构分析与设计语言(ArchitectureAnalysis and Design Language,AADL),AADL很好的支持了基于模型的分析和复杂的实时嵌入式系统描述。AADL通过构件以及构件间的交互对系统架构进行描述与分析,不关心构件的具体实现,通过软件构件、硬件构件和系统构件,对实时嵌入式系统以及高可靠性系统进行了描述与分析。因此,可以通过对系统的AADL模型进行分析与评估,如果AADL模型不能满足需求,那么可以在架构这一级别对系统进行重构。
现在已经有很多基于AADL模型进行设计与分析的工具,其中,软件工程协会(Software Engineering Institute,SEI)开发了基于Eclipse平台的开源工具OSATE,OSATE是一个很好支持AADL开源环境,OSATE提供了一套从前到后对AADL模型进行处理的工具集,AADL模型可以以文本的AADL文件或者基于XML AADL模型文件,可以对AADL模型文件进行语法和语义的检查,同时还可以对AADL模型进行流分析以及到MetaH模型的转换等,OSATE可以将一个系统构件进行实例化,通过实例化,不需要完整的声明模型就可以对AADL模型进行处理,而且OSATE是开源的,为其他的基于AADL模型的分析提供了环境。基于OSATE的开发工具已经出现了很多,如AADS(AADL Simulation and Performance Analysis in SystemC)实现了从AADL到SystemC的转换,对AADL模型进行仿真和性能分析。
虽然人们开展了一系列针对AADL软件架构模型的可靠性建模方法研究,例如,采用广义随机Petri网、马尔可夫链、故障树等,对AADL架构模型以及AADL错误模型进行很好的描述,然而,基于AADL软件架构的可靠性分析评估方法,工作量大、任务繁琐,需要有较好的方法支持才能实现对软件架构模型的可靠性分析评估、有利于在软件设计的早期对软件的可靠性需求进行分析和验证,提高软件的质量。
发明内容
要解决的技术问题
为了避免现有技术的不足之处,本发明提出一种嵌入式系统可靠性分析与评估方法,对AADL可靠性模型进行量化分析。
本发明的思想在于:基于AADL架构模型文件和AADL错误模型文件,形成AADL可靠性模型文件,然后将AADL可靠性模型转换到广义随机Petri网(General StochasticPetri Net,GSPN)可靠性模型,利用现有的GSPN可靠性评估方法,对AADL可靠性模型进行量化分析。
技术方案
一种嵌入式系统可靠性分析与评估方法,其特征在于步骤如下:
步骤1:利用Eclipse平台的OSTAE工具对需要评估的AADL系统进行实例化操作,将AADL系统逐层展开得到系统模态之间的变迁;
步骤2:利用步骤1中实例化操作得到的系统模态之间的变迁,将模态元素转换到对应的GSPN模型元素,转换方法如下:
将模态转换为GSPN中的位置;
将初始模态转换为GSPN中带有一个标识的位置;
将模态迁移条件转换为GSPN中的瞬时变迁;
将模态间的转换转换为GSPN中用弧连接的从位置到变迁到位置的位置变迁网;
步骤3:对于AADL系统构件内部的所有子构件,根据每一个子构件处于的系统模态寻找到每个模态下面的所有子构件;
步骤4:利用步骤1中实例化操作得到的系统层次结构关系,确认子构件内部是否有更低层子构件;当子构件内部有更低层子构件时转向步骤2;
步骤5:首先,对于每一个子构件,根据基本AADL错误模型到GSPN模型转换规则,将AADL错误模型元素转换到对应的GSPN模型元素,生成每一个子构件的GSPN模型;接着,利用步骤3中得到的系统底层模态下面的所有构件,便得到该系统内处于同一个模态下所有构件的GSPN模型;
步骤6处理构件之间的错误传播规则:根据这些构件之间的连接关系和软硬件之间的绑定关系,将同一模态下各个子构件的GSPN模型连接在一起,得到在该模态下上层构件的GSPN模型,利用GSPN模型计算工具PIPE2(Platform Independent Petri netEditor2,Petri网编辑工具)量化分析与评估在这个模态下的构件可靠性;
步骤7:根据步骤6中得到的单一模态下构件可靠性以及步骤2中模态转换的GSPN模型中每个模态的发生概率,利用PIPE2工具计算出上层构件的可靠性,如果该构件为所要评估的系统构件,则结束可靠性评估;如果该构件不是所要评估的系统构件,则转向步骤6;采用由底层构件向上层构件的逐层迭代计算得出整个系统的可靠性。
有益效果
本发明提出的嵌入式系统可靠性分析和评估方法,为方便软件架构可靠性分析自动化,方便用户在软件设计的早期对嵌入式软件的可靠性进行分析评估,在架构级别对软件的可靠性进行评估,如果模型架构不能满足要求,那么就可以提前修改软件架构,这样不仅可以节约开发成本,而且可以缩短开发周期。
附图说明
图1:系统架构层次模态图;
图2:本发明方法流程图;
图3:本发明实施例的备份系统架构图;
图4:模态变迁的GSPN模型;
a:R1mode向R2mode变迁;b:R2mode向R1mode变迁;
图5:子构件R1的GSPN模型;
图6:Hotstandby系统GSPN模型
具体实施方式
现结合实施例、附图对本发明作进一步描述:
该实例描述了一个备份系统HotStandby,系统内有3个子构件分别为R1、R2、Decide,构件R1、R2各有一个数据接口与构件Decide相连。该系统有两个模态,分别为初始模态R1mode和模态R2mode,这两个模态间的转换是由子构件Decide的两个事件接口prim1和prim2控制的,当接口prim1发出事件时,系统会从模态R1mode转换到R2mode,当接口平日m发出事件时,系统会从模态R2mode转换到R1mode。对于子构件Decide,prim1和prim2两个事件接口发出事件是由接收自子构件R1和R2的数据控制的。图3为系统架构图:
下面为该系统的AADL架构模型代码
system HotStandby
end HotStandby;
system Replica
  features
    toDecider:out data port;
end Replica;
system Decider
  features
    fromR1:in data port;
    fromR2:in data port;
    prim1:out event port;
    prim2:out event port;
end Decider;
system implementation HotStandby.impl
  subcomponents
    R1:system Replica.impl in modes(R1mode);
    R2:system Replica.impl in modes(R2mode);
    Decide:system Decider.impl;
  connections
     DataConnection1:data port R1.toDecider->Decide.fromR1;
     DataConnection2:data port R2.toDecider->Decide.fromR2;
   modes
    R1mode:initial mode;
    R2mode:mode;
    R1mode-[Decide.prim2]->R2mode;
    R2mode-[Decide.prim1]->R1mode;
end HotStandby.impl;
system implementation Replica.impl
annex Error_Model{**
  Model=>errormodels::replicaEM.impl;
**};
end Replica.impl;
system implementation Decider.impl
annex Error_Model{**
  Model=>errormodels::deciderEM.impl;
  Guard_Event=>fromR1[FailedVisible]and fromR2[Error_Free]
      and self[Error_Free]applies to Prim2;
  Guard_Event=>fromR2[FailedVisible]and fromR1[Error_Free]and
      self[Error_Free]applies to Prim1;
**};
end Decider.impl;
下面为对应的错误模型代码
package errormodels
public
  annex Error_Model{**
    error model deciderEM
  features
       Error_Free:initial error state;
       Failed:error state;
       Fail:error event{Occurrence=>poisson 0.01};
       Repair:error event{Occurrence=>poisson 0.99};
  end deciderEM;
  error model implementation deciderEM.impl
  transitions
       Error_Free-[Fail]->Failed;
       Failed-[Repair]->Error_Free;
  end deciderEM.impl;
  error model replicaEM
  features
       Error_Free:initial error state;
       Failed:error state;
       Fail:error event{Occurrence=>poisson 0.01};
       Repair:error event{Occurrence=>poisson 0.99};
       FailedVisible:out error propagation{Occurrence=>poisson 0.8};
  end replicaEM;
  error modelimplementation replicaEM.impl
  transitions
       Error_Free-[Fail]->Failed;
       Failed-[Repair]->Error_Free;
       Failed-[out FailedVisible]->Failed;
   end replicaEM.impl;
**};
end errormodels;
按步骤1将系统进行实例化,利用Eclipse平台的OSTAE工具对需要评估的AADL系统进行实例化操作,将AADL系统逐层展开,可得到系统模态之间的变迁;
按步骤2,根据架构模型描述,该系统存在两个模态R1mode和R2mode,模态间的转换为:
R1mode-[Decide.prim2]->R2mode;
R2mode-[Decide.prim1]->R1mode;
将它们转换为GSPN模型,如图4所示:
按步骤3,在模态R1mode下运行的子构件为R1和Decide,在模态R2mode下运行的子构件为R2和Decide,利用各个子构件自身的错误模型,便可以对系统在不用模态下的可靠性进行评估。
按步骤4,子构件内部不包含其它子构件,转向步骤5。
按步骤5,首先实现子构件的错误模型向GSPN模型转换,以子构件R1为例,它有两个错误状态分别为Error_Free和Failed,有两个错误事件为Fail和Repair,还有一个向外传播的错误FailedVisible,将其转换为GSPN模型,如图5所示;接着,分别找出系统在R1mode模态下运行的子构件R1和Decide的GSPN模型以及系统在R2mode模态下运行的子构件R2和Decide的GSPN模型。
按步骤6和步骤7,首先在单一模态下根据构件间的连接关系和错误传播规则(本实例中没有软硬件绑定关系),将各个子构件的GSPN模型组合成为系统在单一模态下的GSPN模型;接着,将系统的两个模态下的GSPN模型进行整合,形成系统完整的GSPN模型,如图6所示:
至此,方法已完成对系统的可靠性模型转化,利用相关GSPN模型计算工具便可以完成对该系统的可靠性行分析与评估。

Claims (1)

1.一种嵌入式系统可靠性分析与评估方法,其特征在于步骤如下:
步骤1:利用Eclipse平台的OSTAE工具对需要评估的AADL系统进行实例化操作,将AADL系统逐层展开得到系统模态之间的变迁;所述OSTAE工具为软件工程协会开发的基于Eclipse平台的开源工具,提供一套从前到后对AADL模型进行处理的工具集;所述AADL为美国自动化工程师协会发布的航空标准AS5506——架构分析与设计语言;
步骤2:利用步骤1中实例化操作得到的系统模态之间的变迁,将模态元素转换到对应的GSPN模型元素,转换方法如下:
将模态转换为GSPN中的位置;
将初始模态转换为GSPN中带有一个标识的位置;
将模态迁移条件转换为GSPN中的瞬时变迁;
将模态间的转换转换为GSPN中用弧连接的从位置到变迁到位置的位置变迁网;
所述GSPN为广义随机Petri网的可靠性模型;
步骤3:对于AADL系统构件内部的所有子构件,根据每一个子构件处于的系统模态寻找到每个模态下面的所有子构件;
步骤4:利用步骤1中实例化操作得到的系统层次结构关系,确认子构件内部是否有更低层子构件;当子构件内部有更低层子构件时转向步骤2;
步骤5:首先,对于每一个子构件,根据基本AADL错误模型到GSPN模型转换规则,将AADL错误模型元素转换到对应的GSPN模型元素,生成每一个子构件的GSPN模型;接着,利用步骤3中得到的系统底层模态下面的所有构件,便得到该系统内处于同一个模态下所有构件的GSPN模型;
步骤6 处理构件之间的错误传播规则:根据这些构件之间的连接关系和软硬件之 间的绑定关系,将同一模态下各个子构件的GSPN模型连接在一起,得到在该模态下上层构件的GSPN模型,利用GSPN模型计算工具PIPE2(Platform Independent Petri net Editor2,Petri网编辑工具)量化分析与评估在这个模态下的构件可靠性;
步骤7:根据步骤6中得到的同一模态下构件可靠性以及步骤2中模态转换的GSPN模型中每个模态的发生概率,利用PIPE2工具计算出上层构件的可靠性,如果该构件为所要评估的系统构件,则结束可靠性评估;如果该构件不是所要评估的系统构件,则转向步骤6;采用由底层构件向上层构件的逐层迭代计算得出整个系统的可靠性。 
CN2010102218135A 2010-07-08 2010-07-08 一种嵌入式系统可靠性分析与评估方法 Expired - Fee Related CN101901186B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102218135A CN101901186B (zh) 2010-07-08 2010-07-08 一种嵌入式系统可靠性分析与评估方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102218135A CN101901186B (zh) 2010-07-08 2010-07-08 一种嵌入式系统可靠性分析与评估方法

Publications (2)

Publication Number Publication Date
CN101901186A CN101901186A (zh) 2010-12-01
CN101901186B true CN101901186B (zh) 2012-06-06

Family

ID=43226735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102218135A Expired - Fee Related CN101901186B (zh) 2010-07-08 2010-07-08 一种嵌入式系统可靠性分析与评估方法

Country Status (1)

Country Link
CN (1) CN101901186B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063369B (zh) * 2010-12-23 2014-03-12 西北工业大学 一种基于aadl模态时间自动机模型的嵌入式软件测试方法
CN102184136B (zh) * 2011-04-29 2014-04-02 中国航天科技集团公司第七一〇研究所 一种验证aadl模型运行状态与需求一致性的方法
CN102393832A (zh) * 2011-10-14 2012-03-28 哈尔滨工业大学 基于改进的可加模型的构件软件可靠性分析方法
CN102393833B (zh) * 2011-10-17 2014-03-26 哈尔滨工业大学 基于hfsqm排队模型考虑排错资源局限性的构件软件可靠性分析方法
CN102566443A (zh) * 2011-12-29 2012-07-11 中国航空工业集团公司第六三一研究所 基于addl的综合化航电系统模型仿真验证系统及方法
CN103019903B (zh) * 2013-01-18 2014-11-26 哈尔滨工业大学 嵌入式设备能耗仿真评测系统
CN105095065A (zh) * 2014-05-16 2015-11-25 中国航空工业第六一八研究所 一种形式化建模的优化方法
CN104679945B (zh) * 2015-01-30 2017-10-31 南京航空航天大学 基于有色Petri网的系统综合评估方法
CN105046061A (zh) * 2015-06-26 2015-11-11 北京交通大学 基于概率petri网的列车车门系统隐患定位的方法
CN105373650B (zh) * 2015-10-15 2018-09-28 北京航空航天大学 基于aadl的ima动态重构建模方法
CN105553745B (zh) * 2016-01-07 2018-07-24 烽火通信科技股份有限公司 一种通信设备复杂组网的自动化测试方法及装置
CN106325855B (zh) * 2016-08-11 2019-07-23 南京航空航天大学 基于Prolog的AADL行为模型时间一致性验证方法
CN108376221B (zh) * 2018-02-27 2021-07-13 哈尔滨工业大学 一种基于aadl模型扩展的软件系统安全性验证与评估方法
CN108595959B (zh) * 2018-03-27 2021-10-22 西北工业大学 基于确定性随机Petri网的AADL模型安全性评估方法
CN109508260B (zh) * 2018-10-31 2021-11-12 西北工业大学 一种自修复处理器对锁步系统的可靠性建模与分析方法
CN111309626B (zh) * 2020-03-08 2021-07-02 山西大学 基于giss分布故障引进的开源软件可靠性建模方法
CN112069649B (zh) * 2020-07-21 2023-08-18 武汉交通职业学院 一种基于mda的电动汽车eps系统可靠性评估方法
CN112100062B (zh) * 2020-08-31 2023-01-17 西北工业大学 基于广义随机Petri网的软硬件综合的AADL模型可靠性评估方法
CN115858380A (zh) * 2022-03-07 2023-03-28 乐鑫信息科技(上海)股份有限公司 使用网页浏览器评估嵌入式项目的方法、系统以及开发机

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101013384A (zh) * 2007-02-08 2007-08-08 浙江大学 一种基于模型的实时系统的可调度性分析方法
CN101334754A (zh) * 2008-08-05 2008-12-31 浙江大学 基于故障注入的嵌入式系统测评方法
CN101739258A (zh) * 2010-01-13 2010-06-16 电子科技大学 Aadl模型的自动代码生成方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101013384A (zh) * 2007-02-08 2007-08-08 浙江大学 一种基于模型的实时系统的可调度性分析方法
CN101334754A (zh) * 2008-08-05 2008-12-31 浙江大学 基于故障注入的嵌入式系统测评方法
CN101739258A (zh) * 2010-01-13 2010-06-16 电子科技大学 Aadl模型的自动代码生成方法

Also Published As

Publication number Publication date
CN101901186A (zh) 2010-12-01

Similar Documents

Publication Publication Date Title
CN101901186B (zh) 一种嵌入式系统可靠性分析与评估方法
CN103019928B (zh) 一种自动化测试方法和系统
CN101673198A (zh) 一种验证uml模型中动态行为与时序契约的一致性的方法
CN110262794A (zh) 一种基于规范与描述语言的aadl功能行为拓展方法及工具
CN106325860B (zh) 一种航天嵌入式软件接口数据的自动化维护方法
CN102184136B (zh) 一种验证aadl模型运行状态与需求一致性的方法
Bhattacharjee et al. Activity diagrams: A formal framework to model business processes and code generation
Yoo et al. Verification of PLC programs written in FBD with VIS
CN112416336A (zh) 一种面向航天嵌入式系统的软件架构设计方法
Tang et al. Towards adaptive framework of keyword driven automation testing
Porter et al. Towards model-based integration of tools and techniques for embedded control system design, verification, and implementation
Pitakrat Hora: Online Failure Prediction Framework for Component-based Software Systems Based on Kieker and Palladio.
CN110286902A (zh) SysML安全性扩展及其到AADL故障模型的自动转换方法
Lee et al. Fault tree construction of hybrid system requirements using qualitative formal method
CN112559359A (zh) 一种基于s2ml的安全攸关系统分析与验证方法
Yuan et al. An automatic transformation method from AADL reliability model to CTMC
Insaurralde Model-merged development for analysis and design of dependable software systems
CN111274699A (zh) 一种基于smartIflow的AADL模型的安全性分析方法
Garro et al. RAMSAS4Modelica: a Simulation-driven Method for System Dependability Analysis centered on the Modelica language and related tools
Li et al. A metamodeling level transformation from UML sequence diagrams to Coq.
Guiotto et al. MaTeLo: automated testing suite for software validation
CN103810088A (zh) 一种业务管道的业务阀门测试方法和装置
CN105488259B (zh) 一种抗辐照电路的加固方法
CN105335289A (zh) 一种配置驱动的测试平台软件系统的快速定制方法
Alzahrani et al. Derivation of stochastic reward net for compatibility and conformance verification of component erroneous behavior model

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120606

Termination date: 20150708

EXPY Termination of patent right or utility model