验证与确认技术在CBTC系统中的应用方案
顾佳捷;左旭涛
【摘 要】城市轨道交通CBTC(基于通信的列车控制)信号系统与列车安全运营密切相关.如何保证CBTC系统自身的安全性和可靠性是人们研究的重要课题.目前,验证与确认(V&V)技术被认为是解决该课题的有效手段之一.介绍了V&V技术的概念和发展历程,阐述了V&V技术在CBTC中的应用方案. 【期刊名称】《城市轨道交通研究》 【年(卷),期】2018(021)0z1 【总页数】5页(P24-27,92)
【关键词】城市轨道交通;基于通信的列车控制系统;验证与确认技术 【作 者】顾佳捷;左旭涛
【作者单位】上海电气泰雷兹交通自动化系统有限公司,201206,上海;青岛地铁集团有限公司,266000,青岛 【正文语种】中 文 【中图分类】U285.8
1 验证与确认技术介绍
1.1 验证与确认技术在城市轨道交通信号系统中的意义
城市轨道交通因其安全、快捷、便利、环保等多方面的优势成为了解决大型城市交通拥堵的首选方案。城市轨道交通CBTC(基于通信的列车控制)信号系统是一个
保证列车运行安全的关键性系统,必须在任何运行情况下(特别是故障或者事故时),保证轨道交通信号设备的安全性和可靠性。在轨道交通信号系统中,所有与安全相关的技术都必须是安全、可靠的,且经过验证的。这些技术需要通过严格的安全审查制度审核,必须有充分的证据来证明其是适用于城市轨道交通信号系统的。验证与确认(V&V)技术是保证系统安全性与可靠性的有效手段。就V&V技术而言,其概念诞生于上世纪的六、七十年代,后随软件产品在各个领域中广泛应用,特别是在军事、航空航天等高安全、高可靠性领域的活跃而备受重视,被认为是在软件工程领域中保证软件质量的最有效手段之一。 1.2 V&V技术的发展历程
1996年,美国仪表协会(ISA)提出了ISA S84.01《过程工业安全仪表系统的应用》标准,其中首次提到了安全完整性等级(SIL)的概念。2000年,国际电工委员会(IEC)正式发布了IEC 61508《电气/电子/可编程电子安全系统的功能安全》标准。该标准的应用范围极为广泛,可以说是构筑各个领域中功能安全标准的基础。其中,为了提供铁路信号系统的安全设计和安全评估的规范和依据,欧洲电工标准化委员会(CENELEC)以IEC 61508标准为基准并吸取各国先进的技术,制定了CENELEC标准。其中与铁路行业相关的标准有 EN 50126、EN 50128、EN 50129等。
EN 50126《铁路应用:可靠性、可用性、可维护性以及安全性的规范及证明》,根据风险和可靠性分析来制定RAMS(可靠性、可用性、可维护性和安全性)要求的规范和文件,作用是向欧洲的铁路行业提供可靠性、可用性、可维护性和安全性的标准、定义和管理实施方法。
EN 50128《铁路应用:铁路控制和防护系统软件》则侧重于在较宽泛的范围内,为软件开发提供满足软件安全需求的方法,详细规定了铁路控制和防护设备用的可编程电子系统开发所需的程序和技术要求。
这些标准不仅为欧洲信号市场提供了基本准则,而且对促进铁路行业中对于安全级软件开发过程中的统一理解和管理起到了相当重要的作用。这些标准的实施,在推动欧洲铁路合作的同时也推动了V&V技术的进步。不过因为各个国家法律及规范的差异,以及各大信号厂商所设计的移动闭塞技术的差别,V&V所使用的具体技术、工具、方法和认证程序规范目前还没有统一的国际标准。 1.3 V&V概念
1.3.1 验证(Verifacation)
验证是指检验软件是否已正确地实现了产品规格书所定义的系统功能和特性。验证是为了提供证据来表明软件相关产品与所有生命周期活动(需求分析、设计、编程、测试等)的要求(如正确性、完整性、一致性、准确性等)相一致,此外验证为判断每一阶段生命周期活动是否已经完成,及能否启动下一个生命周期活动建立了一个新的基准。
在欧洲标准EN 50128中,对于软件验证还有以下认识:软件验证指的是测试人员参照安全完整性等级的要求,测试并评估任何一个阶段的软件产品,用来保证在产品和标准在进入该阶段时的正确性和相容性。为了能够指导验证活动并提出相关的设计,软件验证计划是必不可少的。
同时,根据欧洲标准的要求,必须由机构来执行验证活动,仅仅由软件开发人员自身所进行的验证或者是没有详细记录的验证都不能作为正式的验证。 1.3.2 确认(Validation)
确认,更准确地说法是“有效性确认”,此种有效性确认要求更高,是保证所生产的软件能够追溯到用户需求的一系列活动。确认过程同样要提供证据,来表明软件是否已经满足客户需求(指分配给软件的系统需求),并解决了相应的问题。 软件确认的作用是分析和测试已集成的系统,通过软件确认可以证明最终的系统已经在功能及安全性等各个方面都完全满足了用户需求书上的要求。此证明是提交给
的第三方安全权威机构的。确认的主要活动是分析和测试,而仿真模拟则可以被视为确认过程的补充手段。在EN 50128标准中,必须先进行评估软件确认计划的范围和内容,待得到批准后才可以进行软件确认。
一般在软件确认计划中,需要从几个方面来证明选择的确认策略:测试手段需要手动还是自动,或者两种测试手段相结合;测试方法是静态还是动态,或者两种测试方法相结合;分析和统计方法是否使用或者是两者结合使用等。
通常情况下,软件确认阶段是软件生命周期的最后阶段,软件确认活动却不应只在最终阶段执行,还必须从中间工作产品中(如用户需求规格书、软件需求规格书、结构说明等)选择最能体现符合用户要求的产品进行确认。软件确认不仅涉及要求测试(如功能、性能等),还应涉及其他程序,如在系统集成和确认过程中,也有可能需要由第三方认证机构在工厂或现场进行验收和认证活动。 1.3.3 验证与确认的区别和联系
为了更好地理解两者的区别,概括地说,软件验证指的是在软件生命周期的每个阶段,测试人员通过分析及测试的手段,确认此阶段得到的输出是否满足上一阶段的要求,即“正确地做事”;软件确认则指的是测试人员通过分析及测试的手段来确定最终系统是否能够符合用户的真正需求,即“做了正确的事”。安全级软件的验证与确认是一个需要按严格的步骤来评定软件产品的过程,必须贯穿在软件产品的整个生命周期。 1.4 V&V过程模型
在20世纪80年代后期,一种可以反映V&V活动与需求分析和设计之间关系的V模型的概念被提出。如图1所示的V模型,从左到右表述了开发过程和测试过程。该模型能明确标明测试中的不同级别,同时还可以清晰地表述出测试阶段和开发过程各阶段之间的对应关系。 图1 V模型
不过V模型存在一点局限性,测试一般是从早期就开始不断进行的,而V模型无法体现这一原则。于是在V模型的基础上增加了与软件各个阶段相对应进行的测试,从而形成了W模型。如图2所示,基于V&V原理的W模型实际上就是存在两个“V”,一个是实际的软件开发过程,另一个则是与软件开发工程相对应的测试过程。W模型可以认为是V模型的发展,其所强调的是测试和开发两者间的同步进行,验证和确认活动将伴随整个软件开发周期,测试的对象也不限于程序编码,需求及设计也一样需要进行验证。 图2 W模型
从以上的模型中可以看出,如果在软件开发的开始阶段就采取有效合适的V&V活动,那开发的工作量和成本将会降低。 2 V&V技术在CBTC系统中的应用 2.1 V&V的目标 V&V的目标主要包括:
(1)证明系统完全遵循需求规范;
(2)确保在测试的任何阶段,设计的安全标准无任何降低; (3)通过测试结果的证据,建立系统完全满足其运行目标的信心。
为达到所述目标,将基于需求来规范开发测试流程和测试用例,并将按照具体的测试计划和测试流程的规定来实施。
每个系统需求可通过下述4个确认方法之一来确认: (1)测试:基于参量变化的确认方法。 (2)证实:当参量变化不适用时的确认方法。 (3)检查:通过制成品测量或与其它系统比较来确认。 (4)分析:通过研究或者模型来确认。
对于所有以测试或者证实作为确认方法的需求,将在项目确认矩阵文件中建立需求
数据库模块和测试流程、测试案例之间的联系(链接),以表明需求可通过对应的测试用例来确认。确认矩阵是针对每个需求数据库模块(系统需求规范、子系统需求规范、接口控制文档)分别创建的,并将分别作为编制系统验收与试运营测试计划的依据。 2.2 V&V过程
过程包括3个不同的活动:测试准备,测试执行和测试分析。
测试准备包括必要文档的生成,即测试计划和流程、系统/子系统确认矩阵,搭建测试平台和取得测试工具等。
测试执行按照一个复杂性和综合性不断增加的逐步渐进路径进行。对于所执行的每个测试流程,测试步骤应按照顺序进行,并且测试期间所作的相关观察都应被记录下来。每个测试结束时,应收集所需的测试记录数据文件和日志以备审核测试结果所需。
测试分析和回顾是分析结果和评定测试通过/失败状况的过程。该测试评定基于测试流程中的预期结果章节所给出的通过/失败标准来进行判定。
如果在测试中发现问题,可能需要对设计和/或程序代码作出修正或更改。如果修改已经产生,那些和修改相关联的测试内容需要重新执行(回归测试)。回归测试是一些之前测试过程中已执行过的测试案例的重复,用于证实:
(1)对功能所作的修正或更改被正确执行(建立一个与修改相关测试的列表); (2)修正或更改的结果并没有引入不想要的副作用(安全小组基于软件安全分析对与修改相关测试的列表进行验证);
(3)未降低设计的安全标准等级(由于修改的安全小组预先确定核心回归性测试列表)。 2.3 V&V测试团队
整体的测试活动将由不同部门和小组共同配合完成。
其中,实验室V&V团队在实验室执行测试活动中的重要部分。V&V团队负责本项目的子系统软件确认、子系统确认和系统验收。其职责有:准备测试计划和流程;建立系统和子系统确认矩阵;测试系统性能,验证测试结果;保留测试记录;跟踪测试中发现的问题,解决问题或将问题转至负责部门;一旦测试结束生成测试报告等。
V&V团队由V&V经理、测试工程师和技术人员组成。
项目的V&V经理直接向安全保证经理报告,将作为项目唯一提供技术测试的接口人。其职责范围包括:准备测试计划、测试进度表;出席设计审核会议;调查测试故障,跟踪问题;审核测试结果,并在每次测试完成后发布测试报告文档(包括测试报告、测试认证,以及和所有其他测试相关的文档)。
测试工程师负责编写测试流程,在仿真测试环境和目标系统中进行测试,进行初步分析并准备测试报告等工作。
V&V团队还负责确保仿真器和测试工具的有效性。
质量部门需要规划支持系统软件和硬件开发的质量活动。按照必须满足的质量要求进行质量检验和审核,以证明系统达到合同要求。由质量保证部门准备软件质量保证计划,以记录在项目生命周期内的质量活动和所要达到的目标。
配置管理部门负责确保包括软件硬件和文档在内所有的可交付项得到确认、控制和协调各种变更、确保状态信息报告可用、提供已交付产品的审计记录以及存档数据记录等。
安全部门和V&V团队一起审核安全关键子系统的测试流程,以验证其满足安全需求。安全部门审核所有安全相关测试案例的结果,若察觉到任何安全问题或异常都需马上报告。
通常情况下发现问题后可以通过澄清安全需求或者改变系统、子系统、软件设计的方法来解决在这两种情况下都会导致的重新测试。根据所作变更,V&V团队定制
回归测试计划,以确定需要做的测试。安全部门审核该测试计划和新/已改动的测试流程(如有的话),以确保其符合安全需求。 2.4 V&V测试方法
根据欧洲标准EN 50128的附录“表A.5-验证和测试”,对于软件SIL3或SIL4的系统来说,认可的技术组合为①1和4;②3和4;或③4、6和7。如表1所示,CBTC系统在V&V过程中将采用技术组合3、4、6。
表1 EN 50128验证和测试在项目中的应用验证和测试中措施的编号及名称SIL3 SIL4 本项目中采用的对应措施3静态分析 强力推荐 强力推荐 评审,代码走查,结合Telelogic DOORs软件进行文档审查在软件模块测试和集成测试阶段进行,利用仿真平台进行相关白盒和黑盒的测试6可追溯性4动态分析和测试 强力推荐 强力推荐矩阵 强力推荐 强力推荐 使用Telelogic DOORs软件进行追踪 根据欧洲标准EN 50128的附录“表A.6-软件/硬件集成”,对于软件SIL3或SIL4的系统来说,认可的技术组合为1和2。如表2所示,CBTC系统在V&V过程中将相应采用技术组合1、2。
表2 EN 50128软件/硬件集成在项目中的应用软件/硬件集成中措施的编号及名称SIL3 SIL4 本项目中采用的对应措施1功能和黑盒测试 强力推荐 强力推荐 在软硬件集成阶段利用仿真平台进行功能和黑盒的测试2性能测试 强力推荐 强力推荐 在软硬件集成阶段利用仿真平台进行性能测试
根据欧洲标准EN 50128的附录“表A.7-软件确认”,对于软件SIL3或SIL4的系统来说,认可的技术组合为2和3。如表3所示,CBTC系统在V&V过程中将相应采用技术组合2、3。
表3 EN 50128软件确认在项目中的应用软件确认中措施的编号及名称SIL3 SIL4 本项目中采用的对应措施2性能测试 强制 强制 在软件确认阶段利用仿真平台进行性能测试3功能和黑盒测试 强制 强制 在软件确认阶段利用仿真平台进行功能和黑
盒测试
2.5 问题报告和追踪
在项目的整个生命周期内,所有开口的议题、行动和问题都可以通过在线的分布式错误跟踪系统(CLEARQUEST软件)来跟踪和发布。故障报告可以用
CLEARQUEST软件分类来归档,并被自动提交到变更控制和审核委员会(由受到被提议更改影响的部门代表以及来自工程、质量保证和项目管理的代表所组成)来处理。故障报告会被提出来以记录已察觉的问题或系统/子系统异常。这些问题可能与设计、制造、文件记录或任何其他领域相关。一旦被认为是“安全相关”的故障,将被提交到安全部门作进一步的处理。
产品软件和硬件可依照工程更改控制过程的标准流程来改进。
在多数的更改处理案例中,由于电子审批流程的使用,无需召开配置控制评论委员会的正式会议。
为解决提出的软件问题,需要对软件做出更改,而这必将导致新的软件版本生成。软件发布后,V&V团队将按照回归测试计划,通过重新进行一组子系统验证和IFAT(系统集成工厂验收测试)案例,来对其作正式的测试。
测试计划由V&V团队准备,并由安全部门(对于安全型子系统)、质量和项目管理部门审批。测试计划会从一系列系统验收测试流程/测试案例中选出确定的目标和地点。
这些回归IFAT的结果会由V&V团队和安全部门(对于安全型子系统)审阅,并由质量部门审核。测试结果文档至少需要包括测试报告和测试认证表格。 3 结语
从目前中国城市轨道交通行业的发展趋势来看,无线CBTC系统已经成为主流,为了保证系统的安全性和可靠性,严格的V&V活动是必须的。V&V技术的应用势必会随着安全软件应用范围的扩大而更加广泛,不仅仅在轨道交通中,航空航天、
核能发电等领域对V&V也会更加重视。本文对CBTC系统中V&V技术的应用进行了分析研究,以期对将来项目实施具有一定的参考和借鉴意义。 参考文献
【相关文献】
[1] CENELEC.Railway Applications:the Specification and Demonstration of RAMS: EN 50128—2001[S].Brussels:CENELEC,2001.
[2] CENELEC.Railway applications-Communications,signalling and proeessing systems-Software for railway control and protection systems:EN 50126—1999 [S].Brussels:CENELEC,1999.
[3] 李铎,张良驹,冯俊婷.安全软件验证与确认中的单元模块测试技术[J].原子能科学技术,2008,6(6):552-556.
[4] 洪新峰.浅谈白盒测试技术[J].电脑知识与技术,2010,6(11):263-2.