基于IPO功能分解的嵌入式软件故障树分层构建方法
- 格式:doc
- 大小:24.00 KB
- 文档页数:5
嵌入式软件架构设计之分层设计嵌入式软件分层设计是一种常用的软件架构设计方法,它将整个软件系统分为不同的层次,每个层次有各自的职责和功能,层之间通过接口进行通信和协作。
分层设计的优点是提高了软件系统的可维护性、可扩展性和可重用性,降低了软件模块之间的耦合度。
1.应用层:应用层是整个软件系统的最高层,负责处理用户界面和应用逻辑。
它接收用户的输入,并根据用户的操作来调用下一层的功能模块。
在分层设计中,应用层通常只包含少量的代码,主要是调用下一层的接口函数,并将结果返回给用户。
这样可以保持应用层的简洁和灵活性。
2.业务逻辑层:业务逻辑层是整个软件系统的核心层,负责实现系统的核心功能和业务逻辑。
它包含了系统的主要算法和数据处理逻辑,通过调用下一层的接口函数来实现具体的功能。
业务逻辑层的设计应该尽量遵循高内聚、低耦合的原则,将复杂的业务逻辑拆分成独立的模块或函数,提高系统的可维护性和可扩展性。
3.数据访问层:数据访问层负责与外部设备或数据库进行数据的读写操作。
它提供了统一的接口函数,隐藏了底层硬件或数据库的细节,使上层模块可以方便地访问和操作数据。
数据访问层的设计要考虑到数据的安全性和一致性,同时还要注意性能和效率的问题。
4.设备驱动层:设备驱动层负责与硬件设备进行通信和控制。
它提供了统一的接口函数,使上层模块可以方便地调用设备的功能和服务。
设备驱动层的设计要考虑到硬件设备的特性和接口规范,同时还要保证设备的稳定性和可靠性。
在嵌入式软件分层设计中,每个层次都有自己的职责和功能,层之间通过接口进行通信和协作。
这种分层结构可以将软件系统的复杂性降低到可控制的范围内,提高软件的可维护性和可扩展性。
此外,分层设计还可以促进模块的重用和共享,提高开发效率和软件质量。
但是,在进行嵌入式软件分层设计时,需要注意以下几点:1.合理划分层次:层次划分要合理,避免层次之间的功能重复或交叉。
每个层次应该具有清晰的职责和功能,遵循单一职责原则和层次内聚原则。
故障树的建立步骤嘿,朋友们!今天咱来聊聊故障树的建立步骤。
这可真是个有趣又实用的玩意儿呢!咱先得搞清楚,啥是故障树呀?就好比一棵树,各种故障就是它的枝枝叶叶,通过分析这些枝枝叶叶,咱就能找到问题的根源啦!那怎么建立故障树呢?第一步,得明确顶事件。
这就像给树找个“脑袋”呀!顶事件就是咱最关心的那个故障后果。
比如说,机器突然不动了,这就是个顶事件呀!你想想,要是连这个最主要的目标都不明确,那不就像无头苍蝇一样乱撞啦?然后呢,就是找各种中间事件和底事件啦!这就像给树添上枝干和叶子。
中间事件就是导致顶事件发生的那些环节,底事件就是最最基本的原因啦!就像你生病发烧了,可能是因为着凉了,这着凉就是底事件,而中间可能还有抵抗力下降啥的环节呢。
找这些事件的时候,可得仔细咯!不能马马虎虎的,得像侦探一样,不放过任何一个蛛丝马迹。
这可不是闹着玩的,要是找错了,那可就白费功夫啦!接下来,要把这些事件用逻辑门连接起来。
这逻辑门就像是树的关节一样,把各个部分连接起来,让它们形成一个整体。
有了这些逻辑门,咱就能清楚地看到各个事件之间的关系啦!在建立的过程中,咱还得注意一些事儿呢。
比如说,要尽可能全面地考虑各种情况,不能只想到常见的,那些稀奇古怪的情况也得想想呀!不然到时候出了问题都不知道咋回事。
还有啊,得不断地检查和完善。
就像盖房子一样,不能盖到一半发现歪了才去调整呀!得随时看看有没有漏洞,有没有不合理的地方。
你说,这故障树建立起来是不是挺有意思的?就像搭积木一样,一块一块地往上堆,最后搭成一个漂亮的“故障树大厦”!它能帮我们快速找到问题的根源,解决那些让人头疼的故障。
总之,建立故障树可不是一件简单的事儿,但只要咱用心去做,就一定能做好。
它就像是我们的好帮手,能在关键时刻发挥大作用呢!所以呀,大家可别小瞧了它哟!。
故障树分析法(Fault Tree Analysis简称FTA)什么是故障树分析法故障树分析(FTA)技术是美国贝尔电报公司的电话实验室于1962年开发的,它采用逻辑的方法,形象地进行危险的分析工作,特点是直观、明了,思路淸晰,逻辑性强,可以做左性分析,也可以做泄量分析。
体现了以系统工程方法研究安全问题的系统性、准确性和预测性,它是安全系统工程的主要分析方法之一。
一般来讲,安全系统工程的发展也是以故障树分析为主要标志的。
1974年美国原子能委员会发表了关于核电站危险性评价报告,即“拉姆森报告”,大量、有效地应用了FTA,从而迅速推动了它的发展。
目前,故障树分析法虽还处在不断完善的发展阶段,但其应用范围正在不断扩大,是一种很有前途的故障分析法。
故障树分析(Fault Tree Analysis)是以故障树作为模型对系统进行可靠性分析的一种方法,是系统安全分析方法中应用最广泛的一种自上而下逐层展开的图形演绎的分析方法。
在系统设计过程中通过对可能适成系统失效的各种因素(包括硬件、软件、环境、人为因素)进行分析,画出逻辑框图(失效树),从而确左系统失效原因的各种可能组合方式或其发生概率,以讣算的系统失效概率,采取相应的纠正措施,以提髙系统可靠性的一种设计分析方法。
故障树分析方法在系统可靠性分析、安全性分析和风险评价中具有重要作用和地位。
是系统可靠性研究中常用的一种重要方法。
它是在弄淸基本失效模式的基础上,通过建立故障树的方法,找出故障原因,分析系统薄弱环节,以改进原有设备,指导运行和维修,防止事故的产生。
故障树分析法是对复杂动态系统失效形式进行可靠性分析的有效工具。
近年来, 随着计算机辅助故障树分析的岀现,故障树分析法在航天、核能、电力、电子、化工等领域得到了广泛的应用。
既可用于定性分析又可定量分析。
故障树分析(Fai山Tree Analysis)是一种适用于复杂系统可靠性和安全性分析的有效工具,是一种在提髙系统可靠性的同时又最有效的提高系统安全性的方法。
(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 201910299292.6(22)申请日 2019.04.15(71)申请人 上海微小卫星工程中心地址 201203 上海市浦东新区海科路99号4号楼(72)发明人 王明亮 徐元旭 王永 许永建 尤志坚 施敏华 (74)专利代理机构 上海智晟知识产权代理事务所(特殊普通合伙) 31313代理人 陆黎明(51)Int.Cl.G06F 11/36(2006.01)(54)发明名称一种基于动态故障树的嵌入式星载软件测试用例生成方法(57)摘要本发明提出一种基于动态故障树的嵌入式星载软件测试用例生成方法,包括如下步骤:(1)确定被测软件在轨实际动态运行剖面及输入空间;(2)建立运行剖面的故障模式传播路径以及故障模式集合;(3)建立动态故障树;(4)构建动态故障树相应的割序集,并确定割序集中的最小割序集;(5)建立最小割序等价类的测试用例输入及其预期输出,产生一个测试用例;(6)加载测试用例并运行被测软件,把输入数据作为执行输入,得到实际输出;(7)检查实际输出集合是否与预期输出集合一致。
利用上述方法生成的测试用例具有耦合度低、效率高、颗粒度高和可复用性高的优点。
权利要求书1页 说明书4页 附图2页CN 110069410 A 2019.07.30C N 110069410A权 利 要 求 书1/1页CN 110069410 A1.一种嵌入式星载软件测试用例生成方法,其特征在于,包括如下步骤:步骤1,确定被测软件在轨实际动态运行剖面及输入空间;步骤2,建立所述运行剖面的故障模式传播路径以及故障模式集合;步骤3,建立动态故障树;步骤4,构建所述动态故障树相应的割序集,并确定所述割序集中的最小割序集;步骤5,建立最小割序等价类的测试用例输入及其预期输出,产生一个测试用例;步骤6,加载所述测试用例并运行所述被测软件,把输入数据作为执行输入,得到实际输出;步骤7,检查实际输出集合是否与预期输出集合一致。
基于IPO功能分解的嵌入式软件故障树分层构建方法
黄百乔; 赖婧; 张虹; 陆民燕
【期刊名称】《《沈阳工业大学学报(社会科学版)》》
【年(卷),期】2013(035)002
【摘要】针对嵌入式软件需求阶段的安全性分析方法中故障树分析缺少构建方法的问题,结合嵌入式系统的特点,提出了一种故障树分层构建方法.为构建各功能层内部的故障树,提出了基于IPO的功能分解法,采用失效模式与影响分析方法对分解的各部分功能进行影响分析,以确定构建故障树的建树元素,并提出了功能层内部故障树构建的框架模型与各功能层故障树的层次关系,实现了部分故障树构建的自动化,提高了故障树构建的完整性、准确性与效率.在某型号发动机控制软件的安全性分析中,应用上述方法指导该嵌入式软件故障树的构建与分析,验证了该方法的可行性和有效性.
【总页数】8页(P204-211)
【作者】黄百乔; 赖婧; 张虹; 陆民燕
【作者单位】北京航空航天大学可靠性与系统工程学院北京100191; 中国船舶工业集团公司船舶系统工程部北京100094
【正文语种】中文
【中图分类】TP311.5
【相关文献】
1.基于规则和故障树的故障案例库构建方法研究 [J], 陈瑞勋;李青;解海涛
2.基于故障树分析GNSS接收机伪距分层方法研究 [J], 乐四海;马瑞
3.基于"结构FMEA"的故障树自动构建方法研究 [J], 费胜巍;孙宇
4.基于系统分层与故障树的故障诊断方法 [J], 刘宝赋;张科;廖志忠;李言俊
5.基于IPO功能分解的嵌入式软件故障树分层构建方法 [J], 黄百乔; 赖婧; 张虹; 陆民燕
因版权原因,仅展示原文概要,查看原文内容请购买。
专利名称:一种基于嵌入式操作系统的软件分层架构专利类型:发明专利
发明人:王雨龙
申请号:CN201911032058.3
申请日:20191028
公开号:CN110780858A
公开日:
20200211
专利内容由知识产权出版社提供
摘要:本发明属于计算机技术领域,公开了一种基于嵌入式操作系统的软件分层架构,将整个系统分为操作系统移植层,操作系统封装层,硬件驱动层,中间层,应用层。
加入了控制台功能系统,系统运行状态log记录功能等,动态内存管理功能。
本发明解决了传统嵌入式软件设计中,操作系统、底层驱动以及业务逻辑与应用算法多个软件层次功能一并设计开发的不足,采用面向对象语言C++语言开发,最大限度地将不同功能的软件分层区分开,提高软件的模块化操作,使软件开发高效简洁,增加软件的可维护性,减少出错率。
申请人:天津津航计算技术研究所
地址:300308 天津市东丽区空港经济区保税路357号
国籍:CN
代理机构:中国兵器工业集团公司专利中心
代理人:刘二格
更多信息请下载全文后查看。
浅谈基于IPO功能分解的嵌入式软件故障树分层构建方法
关键词:嵌入式软件故障树分层构建
由于嵌入式软件具有功能层次的特点,因此,采用分层构建的方法来逐层构建软件故障树。
首先明确嵌入式系统及软件功能之间的层次关系,然后逐层分析构建,在功能层次内部,则依据基于ipo 功能分解的故障树构建框架模型来指导构建,最终构建出完整的软件故障树。
一、嵌入式软件的层次关系
嵌入式软件存在着软、硬件边界层、直接输出控制功能层、若干前序功能层及信号采集功能层等层次。
嵌入式系统由软件输出来控制硬件执行机构,因此在嵌入式系统中存在着一个软、硬件边界层,由软件通过i/o接口向硬件输出控制数据。
而软件的输出,是由软件中的输出控制功能来实现的,因此,存在着一个直接输出控制功能层,嵌入式软件是经过了一系列前序功能后才到达直接输出控制功能层的,因此,在嵌入式软件中还存在着若干的前序功能层,在数据流图中,每一个功能都是一个功能层,随着数据流逆流而上,最终到达信号采集功能层。
二、分层构建方法
2.1 软、硬件边界层
在嵌入式软件故障树分析中,纯软件的故障树分析以软件的输出失效为顶事件,因此首先需将故障树分析到软、硬件的边界层次,找出软件输出失效的中间事件,作为下一步构建纯软件故障树的依
据。
对软、硬件边界层的故障树构建主要依据顶事件所代表的系统失效机理。
失效机理是指导致系统失效发生的直接软、硬件状态条件。
故障树分析是一种由结果到原因的分析,因此失效机理直接影响着故障树构建的结果。
2.2 直接输出功能层
在构建完软、硬件边界的故障树后,选取其中的软件输出失效作为纯软件故障树分析的顶事件进行故障树构建。
“软件输出”失效其实就是软件的直接“输出控制功能”失效,因此,进一步构建故障树时首先分析的是软件的直接输出功能层。
2.3 若干前序功能层
在嵌入式软件系统中,软件的输入通常需经过信号采集、故障诊断、信号处理、控制计算等多层功能传递之后,最终到达输出控制功能。
在构建嵌入式软件故障树时需遵循这种功能层次关系。
由软件的直接输出控制功能层往前逐层分析。
功能间传递关系信息可由需求中的数据流图获得。
2.4 信号采集功能层
信号采集功能层是嵌入式系统中接受外界输入的功能层次,也是软件功能执行的起始层次,在沿着数据流图逆流而上逐层构建故障树时,最终将会到达信号采集功能层。
在构建该层故障树时,除考虑软件处理错误的原因外,还应考虑输入数据本身的错误。
三、基于ipo功能分解的故障树构建框架模型
3.1 软件功能的ipo分解
软件系统大到整个系统,小到一个子函数,都可以看成是由ipo 三个逻辑部分组成。
其中“输入”负责接收外部的输入;“处理过程”负责对输入进行特定的算法处理;“输出”负责将结果传递给后序功能或者执行机构。
3.2 故障树构建框架模型
故障树的构建是一个由结果找原因的过程,导致该功能失效的原因即可能来自于“输入处理”,也可能来自于“过程处理”及“输出处理”,三者之间是“或”的逻辑关系。
在功能内部,分解的i、p、o之间也存在着先后的层次关系,需要由“输出处理”往前分析到“输入处理”。
构建功能内部故障树的中间事件包括输出处理失效、处理过程失效与若干输入数据的处理失效,它们之间是“或”的逻辑关系。
功能层内部故障树的构建过程分为如下三个步骤:1)对该功能进行ipo分解,在软件需求文档中找出三部分的描述。
2)对功能分解得出的i、p、o过程分别进行fmea,将影响与顶事件失效一致的失效模式作为构建故障树的建树元素。
3)将fmea表中选定为建树元素的失效模式,构建完成该功能内部的故障树。
3.3 组织各功能层的故障树
嵌入式软件故障树的构建过程是一个由软件的直接输出功能层
逐层往前,直到软件输入信号采集功能层的过程,后序功能层的输入失效便是该功能的前序功能层的输出失效,即将后序功能层的输
入失效作为前序功能层内部故障树分析的顶事件,如此便将层与层各自的故障树连接起来,最终形成一颗完整的软件故障树。
结束语
本文提出了一套在软件开发的需求阶段系统地构建嵌入式软件故障树的方法。
根据型号嵌入式软件功能层次关系的特点,在构建软件故障树时采用分层分析的方法:
1)在慢车状态下,对vsv闭环控制输出进行限值处理
2)在慢车状态下,对vsv闭环控制结果进行限值处理
3)在慢车状态下,对vsv_d插值结果进行限值处理
4)①检验极值诊断和斜率诊断的逻辑;②在vsv_d计算前,对n2的异常大值进行判断限值处理
5)①检验极值诊断和斜率诊断的逻辑;②在vsv_d计算前,对t25的异常小值进行判断限值处理系的依据;在构建功能层内部故障树时则采用基于ipo的功能分解法,并对分解出的软件功能的各部分进行 fmea,将失效影响与该功能层故障树顶事件一致的失效模式作为建树元素,并给出了功能层次内部故障树构建的框架模型,部分实现了故障树构建的自动化.该方法与传统故障树构建方法相比具有如下特点:
1)故障树分层构建方法,能够指导分析人员从软、硬件边界层一直分析到软件信号采集功能层,从而构建出完整的软件故障树,避免故障树构建时功能上的遗漏;
2)通过对功能分解的ipo过程进行fmea,并从结果中选择建树
元素,使得构建的故障树更加完整,避免了分析人员经验不足时造成的底事件遗漏;
3)功能层内部故障树构建的框架模型与各功能层故障树的层次关系符合嵌入式软件功能自身的逻辑规律,部分实现了故障树构建的自动化,提高了故障树构建的准确性与效率.在对某型号发动机控制软件的安全性分析中,运用该方法对发动机控制系统的4个系统失效顶事件进行了软件故障树的构建和分析。
参考文献:
[1]宫义山,高媛媛.基于故障树和贝叶斯网络的故障诊断模型[j].沈阳工业大学学报,2009,31(4).。