同济大学、铁道科学研究院标准所EN50128:20011EN50128:2001铁路应用——通信、信号和处理系统——铁路控制和防护系统软件2007.6同济大学、铁道科学研究院标准所EN50128:2001I序言本欧洲标准是SC9XA,即通信,信号传输和处理系统技术委员会(CENELECTC9X)制订,铁路电气和电子应用的标准。草案文本作为EN50128正式提交投票并于2000-11-01获得CENELEC批准。修改了下列日期--欧盟各国必须通过认可或发布相同的国家标准来执行本欧洲标准的截止日期2001-11-01--与本欧洲标准冲突的国家标准必须被废止的截止日期2003-11-01本欧洲标准必须与EN50126铁路应用——可靠性,可用性,可维护性和安全性(RAMS);EN50129铁路应用——信号领域的安全相关电子系统同时阅读。附件中指定的“规范性的”是本项标准主体的一部分。附件中指定的“参考性的”只用于获得的信息。本项标准中,附件A是规范性的而附件B是参考性的。同济大学、铁道科学研究院标准所EN50128:2001II目录引言1.范围2.参考文献3.定义4.目标和符合5.软件安全完整性等级5.1目标5.2需求6.人员及职责6.1目标6.2需求7.生命周期和文档7.1目标7.2需求8.软件需求规格说明8.1目标8.2输入文档8.3输出文档8.4需求9.软件体系结构9.1目标9.2输入文档9.3输出文档9.4需求10.软件设计和实现10.1目标10.2输入文档同济大学、铁道科学研究院标准所EN50128:2001III10.3输出文档10.4需求11.软件验证和测试11.1目标11.2输入文档11.3输出文档11.4需求12.软件/硬件集成12.1目标12.2输入文档12.3输出文档12.4需求13.软件确认13.1目标13.2输入文档13.3输出文档13.4需求14.软件评估14.1目标14.2输入文档14.3输出文档14.4需求15.软件质量保障15.1目标15.2输入文档15.3输出文档15.4需求16.软件维护16.1目标16.2输入文档同济大学、铁道科学研究院标准所EN50128:2001IV16.3输出文档16.4需求17.根据应用数据配置的系统17.1目标17.2输入文档17.3输出文档17.4需求17.4.1数据准备生命周期17.4.2数据准备程序和工具17.4.3软件开发附件A:技术和措施的选择准则附件B:技术参考书目附图图1——安全相关系统的完整性等级图2——软件安全性路径图图3——开发生命周期1图4——开发生命周期2图5——独立性与软件完整性等级图6——通用系统开发和应用开发之间的关系同济大学、铁道科学研究院标准所EN50128:20011引言本标准是相关标准系列中的一部分。其他标准有EN50126铁路应用——可靠性,可用性,可维护性和安全性(RAMS);EN50129铁路应用——信号领域的安全相关电子系统。EN50126适用于大范围的系统问题,而EN50129适用于整个铁路控制和防护系统中某单个系统的批准过程。本标准关注于需要使用的方法,以使软件能满足经全面考虑后所分配到的安全完整性要求。本标准从IEC/TC65第九工作组(WG9)早期工作中得到很多指导。WG9的工作形成了一个安全系统软件通用标准,现在该标准是IEC61508的一部分。WG9工作的特别之处是包含了适用于非安全软件的软件安全完整性0级,以及适用于安全相关和安全苛求软件的软件安全完整性1~4级。本标准也覆盖了所有五个软件安全完整性等级。国际铁路信号工程师协会(IRSE)的工作也被考虑进来,特别是它关注相同课题的1号技术报告。本欧洲标准的一个关键概念是软件安全完整性等级。软件失效后果的危险性的越大,软件安全完整性等级也就越高。本欧洲标准确定了从最低0级到最高4级的5个软件安全完整性等级的技术和措施。其中1~4这四个级别涉及安全相关软件,0级涉及非安全相关软件。对0级进行标准化是为了让非安全相关系统软件向安全相关系统软件进行平滑转变。附表给出了各个软件安全完整性等级和非安全相关等级要求的技术和措施。在这个版本中,1级和2级的技术要求相同,3级和4级的要求相同。本欧洲标准没有给出某一风险应适用于哪个软件安全完整性等级的具体指导意见。这个结论需要考虑许多因素包括应用的特性、其他系统承担的安全性功能范围和社会以及经济因素。EN50126和EN50129规定了分配给软件的安全性功能。本欧洲标准规定了满足这些需求的必要措施。这个过程在图1作了说明。EN50126和EN50129需采用系统性的方法,以:1)确定危险、风险和风险准则;2)为满足风险准则,确定必要的风险降低;3)为实现必要的风险降低,定义一个全面的系统安全性需求规格说明;4)选择一个合适的系统体系结构;5)规划、监督和控制那些把系统安全性需求规格说明变成安全性能(或安全完整性)已确认的安全相关系统所必需的技术和管理活动。在分解需求规格说明形成由安全相关系统和组件组成的设计说明时,需要进一步分配安全完整性等级,并最终形成所需的软件安全完整性等级。同济大学、铁道科学研究院标准所EN50128:20012目前,无论是质量保证法(即避错措施)还是软件容错法的应用,都无法保证系统的绝对安全。尚未发现可以证明一个较复杂的安全相关软件中不存在错误的方法,特别是规格说明和设计的错误。以下规则应用于开发高安全完整性等级软件,但也不仅限于开发高安全完整性等级软件:1)自顶向下的设计方法;2)模块化;3)开发生命周期每一阶段的验证;4)验证后的模块和模块库;5)清晰的文档;6)可审计的文档;7)确认测试。这些规则以及相关的其他规则必须正确应用。对于各个软件安全完整性等级,本标准均规定了说明这一点所需的保证等级。在得到或形成了系统安全性需求规格说明后,分配给软件的安全性功能和系统安全完整性等级就确定了,图2给出了应用本欧标的功能步骤,如下所示:1)定义软件需求规格说明,同时考虑软件体系结构。软件体系结构是为软件和软件安全完整性等级开发基本安全策略的架构。(条款5、8和9)2)根据软件质量保障计划、软件安全完整性等级和软件生命周期来设计、开发和测试软件。(条款10)3)在目标硬件上集成软件。(条款12)4)确认软件。(条款13)5)如果在运行过程中需要软件维护,那么可再适当运用本欧洲标准进行处理。(条款16)许多活动都是在软件开发过程中交叉进行的,这其中包括验证(条款11),评估(条款14)和质量保障(条款15)。给出了应用数据配置的系统的需求(条款17)。给出了从事软件开发人员能力的需求。(条款7)本标准没有硬性要求使用特定的软件开发生命周期,但是给出了一个推荐的生命周期及文档集。(条款7,图3和图4)表格针对5个软件安全完整性等级明确罗列了各种技术和措施。表格在附件A中给出。与表格对照的参考书目提供了更多的信息,给出了每项技术和措施的简明描述。参考书目在附件B中给出。同济大学、铁道科学研究院标准所EN50128:200131范围1.1本欧洲标准详细规定了铁路控制和防护设备用的可编程电子系统开发所需的程序和技术要求。它适用于任何有隐含安全性的领域。这些应用系统的范围涵盖了安全苛求系统,如安全信号,非安全苛求系统,如管理信息系统。这些系统可能通过采用专用多处理器,可编程逻辑控制器,分布式多处理器系统,大规模集中处理器系统或者其它架构来实现。1.2本欧洲标准专门应用于软件以及软件和系统之间的相互作用。1.30级以上的软件安全完整性等级用于失效可引起失去生命的后果的系统。然而,从经济或环境因素方面考虑也能采用高级别的安全完整性等级。1.4本欧洲标准适用于铁路控制和防护系统开发和实现的所有软件,包括:应用程序设计;操作系统;支持工具;固件。应用程序设计包括高级程序设计,低级程序设计和专用程序设计(如:可编程逻辑控制器梯形逻辑)。1.5本欧洲标准还涉及了本标准的使用、商用软件和工具。1.6本欧洲标准还对应用数据配置的系统提出了要求。1.7本欧洲标准并不涉及商务问题,这些问题应为合同的基本部分被提出。但本欧洲标准中的所有条款在任何商务活动中都需被仔细考虑。1.8本欧洲标准为避免追溯,主要应用于新的开发。对于现有系统,仅当进行主要修改时才进行全面应用,对于次要修改,只要应用条款16。2规范性参考文献本欧洲标准需与标注日期或未标注日期的参考文献以及其他出版物中条款相结合。这些规范性参考文献将在文中合适的位置被引用,相应的出版物将在下面列出。对于标注日期文献的后续修改或修订,本欧洲标准需通过修改或修订进行结合来应用。对于未标注日期的文献,则应用最新版本(包括修改)。EN50126,铁路应用——可靠性,可用性,可维持性和安全性(RAMS)的规格和说明;EN50129*,铁路应用——信号领域的安全相关电子系统;EN50159-1,铁路应用——通信,信号和处理系统第一部分:封闭传输系统中的安全通信;同济大学、铁道科学研究院标准所EN50128:20014EN50129-1,铁路应用——通信,信号和处理系统第二部分:开放传输系统中的安全通信;ENISO9001,质量体系——设计/开发,生产,安装和维护的质量保证模型;ENISO9001-3,质量管理和质量保证标准——第三部分:ISO9001:1994在计算机软件的开发,供应,安装和维护应用的指导。3定义以下定义适用于此欧洲标准.对于未定义的术语,按照优先顺序查阅以下参考文献。ENISO8402,质量管理和质量保证——词汇表;IEC60050-191,国际电工词汇第191章:服务可信性和质量;IEEE610.12,IEEE标准软件工程术语词汇表;ISOIIEC2382,信息技术词汇表;ISOIIEC9126,信息技术-软件产品评估-质量特性以及其使用指导;3.1评估(assessment)用于确定设计主管机构和确认员所完成的产品是否符合规定的要求和判定产品是否达到预期目的的分析过程。3.2评估员(assessor)受委托执行评估的人员或者代理。3.3可用性(availability)假定所需外部资源均能满足的条件下,产品在规定的条件下,在规定的时刻或在给定的时间间隔内完成要求功能的能力。3.4商用软件(COTSsoftware)市场需求所定义、市场已存在且其目标满足性已得到广大商业用户证明的软件。3.5设计主管机构(designauthority)负责提出实现特定需求的设计方案,并监控后期的开发和系统在特定环境下工作的实体。3.6设计者(designer)一个或多个由设计主管机构指派的人员,他们承担需求分析并将特定需求转化成可接受且有相应安全完整性的设计方案。3.7元素(element)被确认为基本单元和基本部件的某产品的一部分。一个元素可以是简单或者复杂的。3.8错误(error)同济大学、铁道科学研究院标准所EN50128:20015与期望的设计相背离,并有可能导致未预料到的系统行为或失效。3.9失效(failure)与规定的系统行为相背离。失效是系统错误或故障的结果。3.10故障(fault)一种能导致系统错误或失效的不正常情形,故障可以是系统性或随机性的。3.11避错(faultavoidance)在系统设计和构造的过程中使用避免引入故障的设计技术。3.12容错(faulttolerance)在出现有限数量的软硬件故障的情况下,系统能继续提供正确的规定服务的内嵌能力3.13固件(firmware)指令和存储在一个功能独立主存储器(通常是ROM)中的相关数据的有序集合3.14通用软件(genericsoftware)通用软件是只要提供应用相关的数据就可以应用于多种系统装置的软件。3.15实现人员(implementer)由设计主管机构委派、具体实现特定设计的一个或更多人员3.16产品(product)为满足特定需求,收集元素并进行互连以形成一个系统,子系统或者设备。本欧洲标准中,产品可被视为完全由软件或者文档元素构成。3.17可编程逻辑控制器(PLC)具备面向指令存储的用户