一种用于对再生水回用系统进行安全分析的方法及系统与流程

文档序号:25541232发布日期:2021-06-18 20:37阅读:75来源:国知局
一种用于对再生水回用系统进行安全分析的方法及系统与流程
本发明涉及系统安全控制
技术领域
,并且更具体地,涉及一种用于对再生水回用系统进行安全分析的方法及系统。
背景技术
:再生水系统是一个复杂的非传统供水系统,主要包括水源(污水/二级处理出水)、污水再生处理、再生水储存与输配以及再生水利用等基本要素。污水(通常为二级处理出水)经过再生水系统,成为达到一定水质要求的再生水。继而通过输配与储存系统,将再生水供给不同用户。由于污水中的生物和化学污染种类繁多、组分复杂、危害效应和处理特性各异,因此再生水不同利用途径所需的安全保障水平也不同,再生水系统中的每个要素都可能对再生水的水质安全保障和风险控制产生影响。按照“源头控制与过程控制相结合、单元优化与系统优化相结合”的基本原则,识别并将关键因子控制在可接受的风险水平是保障再生水系统安全可靠且高效运行的基本思路。传统的安全性分析技术是将硬件安全分析方法扩展到软件领域。例如软件故障树分析(softwarefaulttreeanalysis,sfta)和软件失效模式和影响分析(softwarefailuremodeandeffectsanalysis,sfmea)等均是基于传统链式/树式的事故因果模型的安全性分析方法,并且是为过去简单、松耦合的系统而开发的。这些分析方法主要集中在故障事件上,而目前与软件相关的系统危害通常是由软件缺陷、软件需求错误和组成系统的不同组件之间不受控制的交互作用所造成的,因此确保系统的安全运行需要充分了解与软件密切相关的潜在危险,以便在设计中消除潜在危险。针对传统安全性分析方法的不足,leverson等提出了基于系统理论事故模型和过程(systemstheoreticaccidentmodelandprocesses,stamp)的安全性分析方法——系统理论过程分析(systemtheoreticprocessanalysis,stpa)。这种分析方式将事故的潜在原因扩展为动态控制问题,而不是简单的部件失效问题。在此基础上,thomas提出了一种基于控制结构图中各控制器的过程模型变量组合的stpa扩展方法,用于识别系统中存在的危险行为。abdulkhaleq等研究了使用stpa在系统级分析软件安全性的可行性,并成功应用于汽车巡航控制系统的软件安全性分析中。目前,关于再生水回用系统的安全性分析的研究存在一些问题:(1)有关再生水控制系统的安全性分析仍主要局限于传统的故障树分析、故障模式及影响分析等基于事件链的安全性分析方法,这些方法的结果已不适应当今再生水控制系统体现出的安全性需求;(2)即使是极少数应用stamp进行再生水控制系统安全性分析的相关研究工作中,对系统的静态结构与动态行为等相关信息仍主要采用自然语言来进行刻画和描述,模型的准确性和易理解性难以保证;(3)这些极少数相关研究工作在实施stpa的过程中,如寻找事故致因等内容仍主要采取人工分析的方式,分析结果的全面性、可信度等都受到分析人员的知识水平和主观判断等因素影响;(4)随着再生水控制系统的复杂程度不断上升,安全性分析的工作量也不断上升,系统中可能导致危险的事故致因的定位也愈加困难和耗费人力,如何保证系统设计与安全性分析工作的同步进行甚至有机统一是亟待解决的问题。技术实现要素:本发明针对再生水控制系统的安全性分析中,目前的stamp依靠自然语言描述模型和依赖人工分析结果等方面的不足,提出一种基于stpa的安全关键系统的软件安全性验证方法,使得再生水控制系统的安全性分析工作具备一定的形式化和自动化手段,本发明方法包括:针对再生水回用系统的控制系统进行危险行为识别,并获取识别结果;针对识别结果,确定识别结果中每个危险行为的发生方式,根据危险行为的发生方式,确定再生水回用系统的安全性需求;针对安全性需求及控制系统进行建模,获取验证模型,对验证模型进行控制系统的安全性进行验证,获取验证结果,根据验证结果完成对再生水回用系统的安全分析。可选的,危险行为识别,包括:确定控制系统中控制软件的失效导致的事故及危险,根据失效导致的事故及危险构建软件安全控制结构,根据控制结构识别控制软件中的危险行为。可选的,构建软件安全控制结构,根据控制系统的控制逻辑进行构建。可选的,危险行为由不安全的控制行为引起,所述不安全的控制行为,包括:未提供控制行为、提供错误的控制行为、提供错误时序的控制行为和控制行为时间错误。可选的,确定再生水回用系统的安全性需求,具体包括:根据危险行为的发生方式,确定危险的致因场景,根据致因场景确定安全约束,根据安全约束确定安全性需求。本发明还提出了一种用于对再生水回用系统进行安全分析的系统,包括:识别模块,针对再生水回用系统的控制系统进行危险行为识别,并获取识别结果;分析模块,针对识别结果,确定识别结果中每个危险行为的发生方式,根据危险行为的发生方式,确定再生水回用系统的安全性需求;分析模块,针对安全性需求及控制系统进行建模,获取验证模型,对验证模型进行控制系统的安全性进行验证,获取验证结果,根据验证结果完成对再生水回用系统的安全分析。可选的,危险行为识别,包括:确定控制系统中控制软件的失效导致的事故及危险,根据失效导致的事故及危险构建软件安全控制结构,根据控制结构识别控制软件中的危险行为。可选的,构建软件安全控制结构,根据控制系统的控制逻辑进行构建。可选的,危险行为由不安全的控制行为引起,所述不安全的控制行为,包括:未提供控制行为、提供错误的控制行为、提供错误时序的控制行为和控制行为时间错误。可选的,确定再生水回用系统的安全性需求,具体包括:根据危险行为的发生方式,确定危险的致因场景,根据致因场景确定安全约束,根据安全约束确定安全性需求。本发明获得的安全需求,结合模型检查技术,识别了导致危险软件行为的潜在因果场景,据发现的危险原因修改设计后,消除危险行为。附图说明图1为本发明一种用于对再生水回用系统进行安全分析的方法的流程图;图2为本发明一种用于对再生水回用系统进行安全分析的方法的实施例的原理图;图3为本发明一种用于对再生水回用系统进行安全分析的系统的结构图。具体实施方式现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属
技术领域
的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。除非另有说明,此处使用的术语(包括科技术语)对所属
技术领域
的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。本发明提出了一种用于对再生水回用系统进行安全分析的方法,如图1所示,包括:针对再生水回用系统的控制系统进行危险行为识别,并获取识别结果;针对识别结果,确定识别结果中每个危险行为的发生方式,根据危险行为的发生方式,确定再生水回用系统的安全性需求;针对安全性需求及控制系统进行建模,获取验证模型,对验证模型进行控制系统的安全性进行验证,获取验证结果,根据验证结果完成对再生水回用系统的安全分析。其中,危险行为识别,包括:确定控制系统中控制软件的失效导致的事故及危险,根据失效导致的事故及危险构建软件安全控制结构,根据控制结构识别控制软件中的危险行为。可选的,构建软件安全控制结构,根据控制系统的控制逻辑进行构建。其中,危险行为由不安全的控制行为引起,所述不安全的控制行为,包括:未提供控制行为、提供错误的控制行为、提供错误时序的控制行为和控制行为时间错误。其中,确定再生水回用系统的安全性需求,具体包括:根据危险行为的发生方式,确定危险的致因场景,根据致因场景确定安全约束,根据安全约束确定安全性需求。本发明结合系统的理论事故模型和过程(stamp),采用stpa法分析再生水回用控制系统的安全性;本发明能够在系统级层面有效识别出软件中潜在的危险控制路径,并可以减少对人工分析的依赖;本发明以安全控制结构为基础,分析得到危险行为,通过构建软件过程模型,确定危险行为的过程模型变量组合,根据形式化定义的分析过程,生成危险行为发生的系统上下文信息及安全性需求,结合模型检验技术,完成对软件的安全性验证。下面结合实施例对本发明进行进一步的说明:为了保证安全关键系统的安全,对系统的控制软件进行安全性分析时,不能只从软件本身出发,必须从系统角度对软件进行分析,考虑软件使用过程中软件与其他组件之间的交互作用,分析软件可能的工作时序、使用条件、逻辑缺陷对系统造成的不利影响,基于上述说明本发明的验证过程主要分为3个步骤,如图2所示,包括:步骤1,针对系统的控制软件进行危险行为识别;步骤2,进行致因分析;步骤3,进行系统软件的安全性验证。其中,步骤1针对系统的控制软件进行危险行为识别,包括:具体的包括:从系统规范出发,确定wrcs软件失效可能导致的系统级事故与危险,构建软件安全控制结构,识别软件中的危险行为。为此需要预先定义意外事件或不期望事件以及系统危害与意外事件或不期望事件的关联关系。软件中的不恰当控制行为是导致系统事故发生的重要原因,对软件的安全性分析需要首先定义与软件中的控制行为相关的系统级事故,系统安全工作的目标是消除或控制危害,预防事故或将损失降低到可接受的风险水平,再生水回用系统主要是处理废水以满足回用要求。主要的意外事件或不期望事件如表2-1所示。表2-1编号不期望事件a1处理能力不满足a2出水水质不达标意外事件或不期望事件至少包括两种事件,例如,a1处理能力不满足以及a2出水水质不达标。这两种事件可以被认为是再生水回用系统出现故障或性能下降时的主要表现形式。能够导致上述事故发生的系统危害,如表2-2所示。表2-2编号系统危害导致事件h1系统过载负荷运行a1、a2h2处理单元故障a2h3运行产生二次污染a2h4系统紊乱a1、a2为了能够清楚地确定事故发生的系统危害与意外事件或不期望事件的关联关系,表2-2提供系统危害和事件对应关系。例如,当出现编号为h1的系统危害时,即,系统过载负荷运行,可能会导致a1处理能力不满足以及a2出水水质不达标;当出现编号为h2的系统危害时,即,处理单元故障,可能会导致a2出水水质不达标;当出现编号为h3的系统危害时,即,运行产生二次污染,可能会导致a2出水水质不达标;以及出现编号为h4的系统危害时,即,系统紊乱,可能会导致a1处理能力不满足以及a2出水水质不达标。通过提供系统危害和事件对应关系,可以明确不同的系统危害所导致的再生水回用系统所出现的问题。初步定义的安全约束,如表2-3所示。表2-3编号初步定义的安全约束s1系统应该确保任何情况下系统都不会超过允许的最大进水量s2系统应该确保每一单元都能达到设计效果s3系统应该保证在运行中保持预警s4系统应该保证运行中隔离外界干扰在明确了不同的系统危害所导致的再生水回用系统所出现的问题之后,本申请确定初步定义的安全约束,以使得再生水回用系统能够根据安全约束来限定安全行为。例如,初步定义的安全约束包括:s1系统应该确保任何情况下系统都不会超过允许的最大进水量;s2系统应该确保每一单元都能达到设计效果;s3系统应该保证在运行中保持预警以及s4系统应该保证运行中隔离外界干扰。构建安全控制结构,系统分层控制结构图是依据系统的功能逻辑而确定,而非物理结构图,因而在系统设计初期即可进行安全分析,再生水系统分层控制结构。识别不安全控制行为,在stpa中,危险状态被认为是由不安全的控制行为(unsafecontrolaction,uca)的实施造成的,一般可分为四种不安全控制:未提供控制行为;提供错误的控制行为,提供错误时序的控制行为;控制行为作用时间错误。根据再生水回用系统的特点,把系统功能作为控制行为,对不安全控制行为进行识别,得到如表2-4所示的不安全控制行为。表2-4如表2-4所示,例如,未提供控制行为导致危险包括:在没有设定自动关闸的情况下,没有提供人工控制进水量(h1系统过载负荷运行、h2处理单元故障)。提供错误的控制行为导致危险包括:单元控制中,控制污水进入的单元出现错误(h2处理单元故障、h3运行产生二次污染、h4系统紊乱)。提供错误时序的控制行为(例如,过早或过晚提供控制行为)导致危险包括:单元处理中,没有及时控制次生污染物(h3运行产生二次污染),以及系统出现故障后,没有及时响应(h4系统紊乱)。控制行为作用时间(例如,作用时间过长或过短)导致危险包括:对于次生污染物处理过于频繁,处理单元能力减弱或消失(h4系统紊乱);以及提供的响应过快,尚未达到系统冗余度(h3运行产生二次污染、h4系统紊乱)。通过分析识别出每一个不安全行为的组合,剔除无危险的组合,可以得到进一步精细化的不安全控制行为,精细化的不安全控制行为分析得到6条精炼后的安全约束要求,如表2-5所示。表2-5编号细化的安全约束条例s1-1系统应该设置保护和监控设施,确保进水量小于系统设计量(或者略高于冗余度)s2-1系统应对每个单元出水水质进行监测,实时反馈输出s3-1系统在水质、水量出现超负荷情况下,及时输出警报或者关闭系统s4-1系统应对外部条件进行一定程度的隔离或者防护步骤2进行致因分析,具体包括:基于已确定的潜在危险行为,结合构建的软件过程模型进行进一步细化分析,确定每个潜在危险行为是如何发生的,并转化为相应的软件安全性需求,stpa的核心任务之一是识别可能导致不安全事件发生的致因场景,危险的致因场景可以分为两类:控制器提供了不安全的控制行为;控制器未提供不安全的控制行为,但是受控过程的反馈未导向安全测。另外,某些系统本身可能是按照故障安全的原则设计和运行的,但是该系统的消息在发送到其他系统时可能是非安全的,考虑再生水系统中人员操作与自动化系统高度交互的特点,对传统的stpa致因场景分析模型进行改进,形成更完整的分析模型,便于进行分析。有了事故发生的场景,就可以细化和分配安全约束,保障再生水系统运行安全,例如,根据上述致因因素案例分析,可以将以下安全约束分配给进水模块:s1-1系统应该设置保护和监控设施,确保进水量小于系统设计量(或者略高于冗余度);s2-1系统应对每个单元出水水质进行监测,实时反馈输出;s3-1系统在水质、水量出现超负荷情况下,及时输出警报或者关闭系统;s4-1系统应对外部条件进行一定程度的隔离或者防护。步骤3进行系统软件的安全性验证,包括:软件必须根据已确定的安全需求进行验证,以确保潜在的危险行为不会发生,采用形式化的建模方法对软件的功能需求和安全需求分别进行建模,借助模型检验工具,完成对软件的安全性验证,为了验证通过stpa方法获得的软件安全需求能够正确约束软件的危险行为,本发明利用matlab工具,基于现有再生水回用系统的功能需求设计了控制软件,该工具广泛应用于安全关键领域的软件建模,严格的数学理论保证了设计的完整性和明确性,在反应系统的开发中得到了广泛的应用,同步状态信息输入到逻辑控制模块,逻辑控制模块根据状态信息执行逻辑控制,并向控制组件输出控制信号,软件控制器需要实时监控中水系统状态与控制信号的约束关系是否满足,并将监控状态信息传递给自动控制系统,以便控制人员进行相应的操作。整个过程涉及多方系统的交互,会影响软件控制器的执行过程。因此,有必要识别危险的交互场景,确保系统的安全。软件过程模型构建后,需要对软件过程模型进行分析,为了减少软件过程模型的手工分析过程,本发明对软件过程模型进行了形式化描述,通过定义四重来正式描述软件控制器在系统上下文信息下产生的某种类型的控制行为的结果。结合上述形式定义,对带有过程模型变量的控制软件过程模型进行正式分析。其中,定义中的sc表示wrcs的软件控制器,ca表示软件控制器中的控制行为。对于wrcs,中水回用系统软件的控制行为:stop_ev和proceed_ev。影响这些控制动作安全的系统状态包含阀门的状态信息:handle={up,down},系统当前状态信息:reclamation={operation,termination}以及监控系统内部组件和软件:signal={normalcy,abnormalcy};ct表示四种起落架控制行为:ct={p,np,es,eat}。为了充分分析危险行为发生的上下文信息,确定每个危险控制行为的过程模型变量及其可能的组合,每个组合将在四种控制行为类型中进行评估,以确定控制行为在系统上下文信息中是否危险,在系统的上下文信息中,如果发生某种类型的控制行为导致系统危险,那么控制行为将被认为是危险的,然后分析导致每种危险行为的潜在危险场景和控制路径。本专利是通过安全需求检测模型中的危险状态变化来验证软件设计模型的安全状态。因此,本发明利通过线性时间逻辑公式描述了风险控制路径和相应的安全要求,验证了软件设计模型的时间逻辑,主要步骤如下:系统建模,用于再生水回用系统控制软件(wrcs)设计模型已经构建并通过了功能测试,需要建立观测器模型来验证其安全性,以软件控制器生成proceed_ev信号为例。根据现有的安全需求建立观测器模型,以实现软件设计模型的安全验证。形式化验证,分为软件设计模型和观测器模型,将软件设计模型中的关键变量作为观测器模型的输入来约束软件。同时考虑到软件控制信号发出后,硬件返回状态信息会随之变化,由于是软件的安全验证,故假设系统硬件正常,正式验证过程中的输入需要在观测器模型中定义,以便软件能够正常执行。结果表明,在软件设计中存在不符合安全要求的危险行为,并对潜在的危险行为进行了检测。以本次分析为例,在整个过程中,我们分析了200次。每次将产生不同的路径输入,分析和检测不符合安全规定的潜在危险控制行为,并输出相关验证信息,结果表示不同输入路径对应的安全结果:若为1,表示当前输入为危险路径;如果是0,表示安全;共检测20条危险路径。实现危险行为原因的定位可以减少人工分析的工作量。系统级事故是由于提供proceed_ev信号而发生的,该信号在交互场景中异常提供,在仿真过程中很难找到。通过本发明获得的安全需求,结合模型检查技术,识别了导致危险软件行为的潜在因果场景,据发现的危险原因修改设计后,消除危险行为。本发明还提出了一种用于对再生水回用系统进行安全分析的系统200,如图3所示,包括:识别模块201,针对再生水回用系统的控制系统进行危险行为识别,并获取识别结果;分析模块202,针对识别结果,确定识别结果中每个危险行为的发生方式,根据危险行为的发生方式,确定再生水回用系统的安全性需求;分析模块203,针对安全性需求及控制系统进行建模,获取验证模型,对验证模型进行控制系统的安全性进行验证,获取验证结果,根据验证结果完成对再生水回用系统的安全分析。其中,危险行为识别,包括:确定控制系统中控制软件的失效导致的事故及危险,根据失效导致的事故及危险构建软件安全控制结构,根据控制结构识别控制软件中的危险行为。其中,构建软件安全控制结构,根据控制系统的控制逻辑进行构建。其中,危险行为由不安全的控制行为引起,所述不安全的控制行为,包括:未提供控制行为、提供错误的控制行为、提供错误时序的控制行为和控制行为时间错误。其中,确定再生水回用系统的安全性需求,具体包括:根据危险行为的发生方式,确定危险的致因场景,根据致因场景确定安全约束,根据安全约束确定安全性需求。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言java和直译式脚本语言javascript等。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1