利索能及
我要发布
收藏
专利号: 2019109588276
申请人: 江苏科技大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于AltaRica的系统故障树自动生成方法,其特征在于,首先判断当前系统类型,当前系统是单类节点系统,则故障树生成算法分为两个步骤:

第一步是记录从断言中扫描和剪切出的有效的字符串并计算其括号深度,其中包括:

1.1扫描、剪切、记录单类节点断言字符串;

1.2记录每个字符串的括号深度;

1.3添加到CAltaRicaAnalyser类中由函数MakeAssertionToAssertionArray()实现的名为AssertionNodeArray的数组中;

第二步是递归生成表达式的前序位置,用于在故障树中绘制逻辑操作节点,包括:

2.1扫描AssertionNodeArray,由最深的括号深度得到当前根节点的位置,并将第一次得到的根节点前序位置设为-1,其他情况下当前根节点的前序位置为递归算法执行前根节点的位置;

2.2以当前根节点为中心位置将AssertionNodeArray切割成左右两部分;

2.3如果左侧只有一个表达式节点,则获取该节点的位置,并将根节点的位置设置为其前序位置,否则将AssertionNodeArrayLeft数组清空,将左侧部分的所有节点依次加入AssertionNodeArrayLeft数组中,在AssertionNodeArrayLeft数组中递归运行该算法作为步骤2.1;

2.4如果右侧只有一个表达式节点,则获取该节点的位置,并将根节点的位置设置为其前序位置,否则将AssertionNodeArrayRight数组清空,将右侧部分的所有节点依次加入AssertionNodeArrayRight数组中,在AssertionNodeArrayRight数组中递归运行该算法作为步骤2.1;

当前系统是多节点系统或具有子系统的多节点系统,其故障树生成算法可分为以下步骤:

3.1在当前视图中查找“out”节点;

3.2初始化Analyser类,Analyser具有单类节点故障树生成算法中描述的功能;

3.3遍历LinkInfoArray以获取和剪切与当前视图中“out”节点连接的连线绑定的断言;

3.4将断言赋给Analyser进行分析并切割,得到与连线相连的类节点信息;

3.5判断节点类型,如果节点为当前视图的节点,则执行步骤3.6,如果为子系统内的节点,执行步骤3.7;

3.6通过节点输入流信息和视图信息得到线条的前序断言,通过前序断言得到前序节点,执行步骤3.5;

3.7先将视图信息更新为子系统视图信息,然后从步骤3.1重新开始执行;

3.8当前视图内无前序节点时,视图信息更新为上一级视图信息;

3.9在当前视图无前序视图且无前序节点时,生成故障树图。

2.根据权利要求1所述的基于AltaRica的系统故障树自动生成方法,其特征在于,所述步骤3.4中,通过Analyser的函数MakeAssertionToAssertionArray()对断言进行分析和切割,并将切割后的字符串存入AssertionNodeArray数组中,通过GetOutFlowValueFromLinkInfo( )函数获得输出流信息 ,通过GetOutFlowValueFromLinkInfo()函数获得输出事件并根据当前连线获得前序节点信息和视图信息。

3.根据权利要求1所述的基于AltaRica的系统故障树自动生成方法,其特征在于,所述步骤3.5中,通过判断节点是否有前序视图信息来确定此节点是否在子系统中。

4.根据权利要求1所述的基于AltaRica的系统故障树自动生成方法,其特征在于,所述步骤3.6中,通过线条输出流和节点名称得到节点输入流,从而通过函数GetLinkInfoPartEnd()得到线条前序断言,通过函数GetClassNodeNameFromPartEnd()可以得到前序节点。