1.引言
交通指挥信息系统的可靠性是指系统在规定的时间内、规定的条件下完成规定功能的概率,是衡量系统质量的重要指标。定性地说,可靠性是一种能力;定量地讲,可靠性是一种概率,它是系统可靠性工作的概率。交通指挥信息系统的可靠性主要是系统的软件开发基本平台(系统硬件及系统软件、支持软件)、系统应用软件的可靠性。为了定量地描述交通指挥信息系统可靠性,我们在研究中采用的主要指标是:可靠度、失效度、故障密度、平均无故障工作时间等。可靠度R(t)是系统在规定的时间内和规定的条件下完成规定功能的概率,在此情况下系统发生故障的概率定义为不可靠度,表示。故障概率λ(t)是系统正常工作到某时刻t,且在该时刻前单位时间内发生故障的概率,它与可靠度的关系式子是:。实际中,特别情况系统在很长一段时间内故障率接近常数,即,此时的可靠度为:,这种可靠性服从于指数分布规律。故障概率函数f(t)定义为不可靠率F(t)的导数,即:,所以在时刻t时,单位时间内系统失效数与系统数之比为:。平均无故障工作时间MTBF是系统无故障工作时间的数学期望值,即:,当时,则:。
2.交通指挥信息系统可靠性模型
交通指挥信息系统的可靠性模型,是从可靠性角度来观察各分系统及构成总系统的形式,我们在设计中采用串联模型、并联模型、串并联模型和软件可靠性模型四种。
2.1交通指挥信息系统串联模型
在整个交通指挥信息系统中,如果组成系统的任何一个分系统失效,都会引起整个系统失效,且组成各个分系统的可靠性相互独立,将该系统定义为可靠性串联系统,可靠性模型为串联模型,如图1所示。
由此可见,交通指挥信息系统的串联系统的可靠性:,其中R是串联系统的可靠性,Ri是第i个分系统的可靠性。由于任何分系统的可靠性Ri≤1,所以串联系统的可靠性R小于组成它的任何一个分系统的可靠性,因此要提高交通指挥信息系统的串联系统的可靠性,关键在于提高最薄弱分系统的可靠性。
2.2交通指挥信息系统并联模型
只有在所组成总系统的分系统都失效时,系统才失效;或者组成系统的各分系统,只要有一个能完成任务,则系统就可以完成任务,且各分系统的可靠性是相互独立的,则此系统为可靠性的并联系统,其可靠性模型如图2所示。
同理,交通指挥信息系统的并联系统的可靠性:,其中R为并联系统的可靠性,Ri为第i各分系统的可靠性。并联系统的可靠性大于组成它的分系统的可靠性,因此在可能引起系统失效的关键环节,采用冗余设计(并联)可以提高整个系统的可靠性。
2.3交通指挥信息系统串、并联模型
在交通指挥信息系统中,经常用到的都是串/并联系统,尤其在关键环节采用并联系统(冗余)以确保系统的可靠性。串/并联模型如图3所示。
串/并联系统的可靠性是:。
2.4交通指挥信息系统软件模型
交通指挥信息系统的软件可靠性模型总体上讲有两类:J-M模型和Schneidewind法是基于失效数的方法,而Eckhardt-Lee法和Littlewood-Miller法是基于结构的方法。
(1)Shooman模型
该软件模型中,故障率λ(t)与交通指挥信息系统中剩余错误数成正比,设错误修正不会引起新的错误。程序中原有错误数为N,经τ时间后已经排除的错误数为Nc(τ),那么剩余错误数为Nr(τ)=N-Nc(τ);又设程序长度为I,λ(t)与单位程序长度的剩余错误数的比例系数为K,即:,式中故障率λ(t)与可靠度R(t)的关系表示为:,所以可靠度为:。
(2)Jelinski-Moranda(J-K)模型
J-K软件模型与Shooman软件模型大体一致,它把排错当作分离事件,设在第i次观察时,排除的错误数为n(i),又设在排错过程中不带来新的错误,程序中原有的错误数N,剩余错误数为N-n(i)。如果λ(t)与剩余错误成正比,则,式中故障率λ(t)与可靠度R(t)关系表示为:,所以可靠度为:。
(3)Schneidewind模型
Schneidewind软件模型,是在一个时间段内查出的出错数与其他时间段的出错统计数无关;只统计新的错误;纠错率与待纠错数成正比;软件的运行方式与实际使用方式相似;所有的时间段长度相同;检错率正比与测试时软件的错误数。第i时间段的检错率为:,其中α是测试前的出错率,β是对出错率由影响的比例常数,在规定时间内发现的出错数:,则MTBF=t/N(t),软件可靠度为:。
3.交通指挥信息系统可靠性设计流程
交通指挥信息系统可靠性工作贯穿于系统的研究、设计、制造、试验、使用和管理的全过程。主要
工作程序如下:
①可靠性指标的确定和分配
根据系统的使用功能和技术指标要求,拟定系统的可靠性指标,然后实施可靠性指标的逐级分配,分配出分系统一子系统一单元部件的可靠性指标。分配过程要考虑必要和可能,不可偏废。
②可靠性预估
在研制设计阶段,先根据系统方案或原有的系统继承性方案,初步估算系统的可靠性,并与可靠性指标比较,逐次近似地调整方案,落实可靠性指标。
③可靠性设计
在系统、分系统、整机的设计中,根据分配的可靠性指标,进行可靠性设计,若可靠性设计中出现了指标不能实现的情况,反馈给指标分配,进行适当调整。
④制造过程的质量控制
按系统质量指标实施研制过程控制;建立数据(资料)、故障统计网;收集、整理、健全资料;建立故障分析、登记制度;进行故障统计分析;各级可靠性的初步综合,找出薄弱环节,改进设计与研制等。
⑤可靠性试验
通过系统可靠性试验,整理分析和统一分系统故障资料,为可靠性评估打下基础。
⑥可靠性评估
逐级进行可靠性评估,确定可靠性数值,若符合可靠性指标,则验收。
⑦可靠性管理
制定可靠性管理条例及标准;协调系统研制各阶段的可靠性工作;综合平衡"性能、价值、研制周期与可靠性"四项指标;监督各阶段可靠性工作的进行。
⑧使用可靠性
系统交付使用以后,使用单位按"用户使用手册"要求严格执行,建立工作、故障登记、统计分析制度,把情况反馈回研制单位以便改进和提高系统质量。
4.交通指挥信息系统的可靠性设计
最大限度地提高交通指挥信息系统的可靠性,是系统可靠性设计的基本任务,系统可靠性设计的依据是系统(分系统)的可靠性指标。首先根据现有设备和研制设备的可靠性参数估计分系统可靠性,如果不满足系统分配给分系统的可靠性指标要求,则采取可靠性优化措施,直到满意为止;在此基础上进行全系统可靠性估计,基本步骤是先建立全系统可靠性详细模型,根据各分系统可靠性估计数据,计算全系统可靠性数据;根据所得的可靠性数据,考虑费用、时间等因素,从系统整体出发,审查系统可靠性模型的合理性,并对它进行修改完善;重新计算修改模型后的可靠性数据,重复上述步骤,直到满意为止。
为了增加系统可靠性,我们采取故障隔离、冗余技术、降级和再组合设计、提高软件可靠性等设计技术以及改善系统运行环境等措施。
4.1系统简化设计
交通指挥信息系统从总体来看是一个串联系统,由串联系统的可靠性分析知道,组成系统的分系统越少,系统的可靠性就越高。因此,在功能满足要求的条件下,减少分系统数是提高交通指挥信息系统固有可靠性的基本方法。当然,简化设计并不是笼统地减少分系统,而是在对系统功能分析和失效分析的基础上,简化失效性因素,也即尽量减少最易失效的部件数。
4.2冗余设计
冗余设计是采用现有技术水平,使系统可能达到的可靠性指标高于现有系统可靠性指标的最切实可行的方法。因此,在交通指挥信息系统可靠性设计中,为解决可靠性指标要求较高、而实际分系统可靠性水平可能较低的矛盾,常常用冗余设计技术。冗余设计技术有三种:即设备冗余(采用一套以上性能完全相同的设备,以主/备份工作方式)、功能冗余〈采用一种以上功能相同的手段,如有线和无线通信线路互为备份)、时间冗余(花费一倍以上时间去完成一项给定的任务)。冗余设计系统的可靠性属于并联系统可靠性范畴,因此:,其中n为并联分系统数,随着n的增加,Ri不变条件下,系统可靠度R增大,但增长率却不断减少,最终趋于常数。
4.3降级设计和再组合
降级就是当系统局部破坏或严重故障时采用降低功能的方法以维持系统继续运行,再组合就是把尚未故障的设备重新组织起来,继续发挥作用,使系统保持部分功能。再组合根据具体情况,因地制宜,力求用最少的附加设备达到最好效果。
4.4软件可靠性设计
(1)规范设计与选择
在软件开发过程中,半数以上的典型错误归咎于规范问题。因此,必须对软件规范进行认真仔细地开发和评审,软件规范必须完整并准确地描述程序的需求,从而使生成的程序产生错误的概率降低,并且可确保发现这些错误并对其进行纠正。交通指挥信息系统的软件系统的完整规范不能仅有一个规范,需要一系列适时的规范,而且这些规范必须按一定的逻辑顺序来制定。规范编写过程的阶段分界点是一系列的设计评审,即:系统需求评审、系统设计评审、初步设计评审、详细设计评审、正式鉴定评审等。系统规范在系统需求评审后决定,并在系统设计评审时进行评审。接着制定计算机的程序要求,并在关键设计评审中详细地编写并且讨论计算机规范;然后完成计算机程序、进行正式鉴定。
(2)软件设计
软件设计遵循软件规范进行,当对规范有不正确的理解或存在不完整的或不正确的路径时就会发生错误,我们提高软件可靠性设计采用的方法有以下几种。
①软件结构化设计:结构化编程是约束编程员使用清晰的、明确定义的方法进行编程设计的方法,而不允许完全自由化进行设计。结构化编程方法不鼓励使用GOTO语句,要求使用具有单入口和单出口的控制结构,使产生的错误数减少,并且更清晰和更容易维护。
②软件模块化设计:模块化编程就是将程序需求分解为独立的、较小的程序需求或模块,每个模块都能独立确定、编写和测试。使得所有问题更容易理解,并且这是减少错误范围使工作易于检查的非常重要的因素。在很短时间内可以对独立的模块进行编写、测试和维护,从而提高软件的可生产性、可靠性和可维护性,每一个模块规范都必须说明与其他程序部分的关系。因此,所有的输入和输出都必须确定。结构化编程要求在确定程序结构以及在编写模块规范和测试需求上做更多的准备工作。
③故障容错设计:程序的编写保证出现错误不会造成严重后果或不会使程序完全失效,故障容错的重要特征之一是软件的健壮性。一个程序应当适当发现其错误状态并指出错误源,这可以通过编制内部测试或循环测试来实现。程序余度也能具有容错能力:即对高度综合的系统,独立编码的程序可安排在独立的但互相连接的控制器上同时运行,并采用表决或例行程序来选择被使用的输出。
④软件潜在分析:潜在分析是评价可能导致系统失效的电路状态的方法,它也可以应用于软件。虽然程序代码不会失效,但是所执行的编程功能是否是所期望的,这和电路设计有类似之处。
5.提高交通指挥信息系统可靠性的措施
5.1可靠性组织措施
建立可靠性保证体系,承担系统研制的每个单位,都要有可靠性设计师,每个分系统都要有可靠性负责人。这样,从上到下建立一个系统总师牵头的可靠性班子。
5.2制定系统可靠性大纲
认真编制系统可靠性大纲,并接受评审,作为系统可靠性保证的纲领性文件;认真制定可靠性工作计划,使可靠性班子在系统研制实践中充分发挥作用,并使可靠性大纲得到贯彻落实。
5.3可靠性技术措施
严格做好各分系统的可靠性分配与设计;采用冗余设计,系统中关键设备有热备份,主要设备采用K/N结构;应用软件采用模块化设计,联试阶段的故障数据应有记录,所有应用软件和数据有备份,重要数据有热备份;系统要有再组合配置和降级工作方式,以及其中的部份降级;采用功能替代技术,功能相似的指挥中心之间、席位之间、设备之间在必要时能相互替代,完成一定的功能;别系统具备自我保护功能,重要文件、数据的删改应有确认步骤,不因软件故障或误操作而导致系统瘫痪;系统具有自检、自诊断功能,关键的自制设备能测试定位到可更换的部件,系统中应用软件具有故障现场保护功能;机动交通指挥信息系统中的保障车要备有系统维修常用的备件、仪器、仪表和工具等;系统中的自制设备应便于维修,故障部件易更换;系统连接方式应使故障设备易更换等。
5.4可靠性检验措施
设备是系统的基础,必须把好设备关,任何设备必须经过检验,外购、自制设备指标合格才能进入系统;做好软件可靠性设计,认真执行软件工程标准,注意做好方案评审和软件测试等工作。
6.结束语
交通指挥信息系统可靠性设计是系统可靠性工程的关键阶段,做好可靠性设计是保障系统研制质量的关键。系统的可靠性设计包括可靠性论证和可靠性设计两部分,可靠性论证有可靠性指标的确定、可靠性指标的分配、可靠性指标的预测等;可靠性设计主要研究提高系统固有可靠性的技术和减少制造使用过程中可靠性降低的技术,它与系统使用环境、研制周期、研制成本密切相关。系统可靠性设计的是综合性技术,贯穿于整个系统规划、设计、制造、集成、调试、组织管理直至系统移交投入运行的全过程,因此需要各个阶段、各个方面同心协力、共同努力来提高系统的可靠性,采取必要的综合措施,象可靠性组织措施、制订可靠性大纲、可靠性技术措施、可靠性检验措施等。
参考文献:
1.V.CantoniandM.Ferretti.FyramidalArchitecturesforComputerVision.PlenumPress,London,1993
2.G.H.FormanandJ.Zahorjan.TheChallengeofMobileComputing.Computer,27(4):38-47,Apr.1994
3.RalphM.Stair,GeorgeW.Reynolds.信息系统原理.北京:机械工业出版社,2000
4.杨东援.交通规划决策支持系统.上海:同济大学出版社,1997.5
5.郑人杰.计算机软件测试技术.北京:清华大学出版社,1992
作者简介
陈晓红:深圳市智能交通行业协会
杨金才:深圳市智能交通行业协会
李夏:深圳市智能交通行业协会
关志超:深圳市易行网交通科技有限公司