程敏敏,李 青,景应刚,谢政权
(中核武汉核电运行技术股份有限公司,湖北武汉430023)
核电厂全范围模拟机是核电厂工程建设的关键设备,有“虚拟核电厂”之称[1]。按照国际惯例和核电厂建设标准,每座核电厂至少应配备一台全范围模拟机。全范围模拟机主要用于培训核电厂运行人员,提高核电厂运行人员的素质和能力,是确保核电厂安全可靠运行的关键[2]。
全范围模拟机是一类规模大、复杂程度高的大型复杂仿真系统,它通常包含若干仿真分系统,每个分系统完成各自的仿真职能,共同组成大系统以实现最终仿真目标。开发大型复杂仿真系统是一项复杂工程,不仅需建立严密的工作计划,并且要依靠一个庞大的、涉及各领域和技术的人员来协同工作,整个开发过程中涉及到繁复的需求分析、设计、开发、测试等任务,并要管理大量的仿真数据、系统文档、人员信息等[3]。这些工作如果完全依赖人工完成,必将消耗大量的人力和物力资源且效率低下,就算部分应用各种单独的辅助工具软件完成,也会出现系统内部数据离散、不一致、版本混乱的问题,对数据的深度利用、上下游的衔接更是无从谈起。同时,随着系统开发过程的逐渐深入,怎样能使开发人员紧密联系在一起?怎样能让项目成员快速找到所需的数据、信息、资料?怎样打破不同部门、不同专业间的沟通障碍,使协作更高效?怎样能实时掌握仿真系统的开发状态?这些需求都对全范围模拟机这样的大型系统的开发提出了更高的要求。针对这些问题,国内大型设计仿真企业通常采用引进国外通用软件如Windchill,通过与已有工具集成,来进行数据的协同和管理[4]。这种方式虽然能够让企业能够较快速的实现设计制造数据的一体化管理,但是存在自主知识产权缺失、成本高昂、不够灵活和不易扩展等问题。部分企业采用引进国产协同设计软件系统,根据自身业务特点进行扩展和二次开发[5],在价格和灵活性上有一定的优势,但系统应用严格限制在特定领域内,仍然存在扩展的困难,对于模拟机而言,不符合仿真的流程设计,并且不能提供底层仿真开发环境的接口适配,无法满足全范围模拟机的要求。
为了应对这些问题,核电厂全范围模拟机有必要搭建一个能够进行全过程的数据管理和使用,覆盖研发活动全寿期,能够和项目的仿真开发环境即仿真支撑平台RINSIM[6]直接对接,并进行基于数据、任务、工具协同的平台。基于此,在对全范围模拟机设计开发流程、数据特点和管理方式等进行了深入研究的基础上,以在项目组成员、数据、流程及仿真支撑平台之间构建一个友好、统一、协作的协同工作环境,减轻人员工作负荷、提高工作效率、改善产品的质量及完成知识的有效积累为目标,构建了覆盖核电厂全范围模拟机全寿期的协同设计开发管理平台。本文从平台的总体组成、功能特征、关键技术和应用出发,对平台所具备的信息互通、数据共享、能力协同、应用集成等特性展开讨论。
在信息互通方面,平台设计了基于工作流引擎的全寿期过程管理体系结构,所有成员能够及时的了解仿真系统的状态,快速获取所需要的信息或资源,成员之间、系统与成员间的信息交互,都可以有效地在平台的工作流中显式的追踪和推送。在数据共享方面,平台提出了统一数据模型下的领域工程建模方法,有效地提升了系统数据对象的标准化程度,降低上下游流程间交互的复杂度,在此基础上,使用基于桥接器模式的可配置数据动态关联技术,能够动态的对仿真系统的数据进行扩展和修改,结合域定义和模板技术,平台能够智能地将数据按照所定义的格式自动化生成并进行版本管理。在能力协同方面,平台面向异构对象提供了多种协同路径,营造协同设计开发环境,使研发活动的不同流程能够互联互通、共享数据、交叉验证,显著提高了信息数据的利用度,使开发工作减少差错、增强时效,来改善仿真系统的交付质量。在应用集成方面,平台不仅能够提供面向仿真支撑平台RINSIM的适配接口,而且还集成了部分分散在外的仿真系统开发过程中使用的辅助工具或软件,将程序、数据、配置集成在一起,进行统一的管理和使用,为仿真产品的设计和开发提供助力,为开发人员提供一致性的研发环境。
如图1所示,协同设计开发管理平台由需求管理、设计管理、开发管理、测试管理、产品管理、项目支撑管理、个人工作平台、知识管理以及系统管理组成。
需求管理是根据项目合同、核电厂提供的资料等项目信息,对核电厂全范围模拟机进行系统需求分析和管理。按照软件系统工程化方法对需求进行分解与量化,形成系统的模块需求、功能需求、非功能性需求、硬件需求等,并提供需求的版本控制和需求说明书的自动生成和导出功能。
设计管理负责管理仿真系统的设计数据和电厂设计资料。设计管理的设计数据来源于电厂设计资料和仿真设计,包括系统相关的参数、设备详细参数、设计图纸、说明等,采用领域模型的方式进行动态设计,支持扩展,支持强大的多系统整体导入导出以及自适应模板生成功能。设计数据进行规范的版本控制,可根据版本需要生成设计阶段的设计说明书,可根据开发要求提供相应的数据用于初始化、建模输入和验证输入。设计数据和电厂设计资料作为全范围模拟机的重要资产,可以作为型号设计参考进行知识积累进行重用。
图1 协同设计开发管理平台结构
开发管理提供仿真支撑平台RINSIM的开发接口,可对仿真开发环境进行快速初始化工作,可利用设计数据成果,导入开发环境进行参数化建模,打通设计与开发的数据接口;可将开发环境中的运行数据导入,与设计数据进行交叉验证,对开发中的错误进行批量比对,降低调试的工作量。同时,开发管理集成了散落在外的辅助工具和软件,如IOMAP,SQLGenerator等,作为一体化的研发环境,使得软件、数据、配置在一个统一的环境中协同使用。
测试管理为仿真系统的集成测试提供测试用例、测试规程的管理以及测试差异项的分发跟踪。测试用例管理将构建标准化测试用例库,与分解的需求对应,提供测试用例录入/导入、更新、删除、查询/导出等功能。根据测试用例,系统可自动生成测试规程。差异管理是根据模拟机测试结果情况,对测试差异进行管理,支持差异录入、差异处理、差异查询、差异导出,并提供差异信息的分析统计功能。
产品管理根据公司验收管理制度对产品进行产品验收流程管理,对产品验收后的产品,包括软件、硬件信息、文档等进行记录和版本跟踪以及售后维护处理。
项目管理支撑提供项目的信息管理、成员管理,并可对项目的评审/变更流程进行在线控制和推送。项目支撑管理根据项目的进度计划安排,自动下发任务到项目组成员,并对项目的状态进行监控,对项目的节点信息进行预警提醒。在项目实施过程中,项目支撑管理提供项目开发中的过程文档、结果文档的统一存储、获取和配置管理支撑。
个人工作平台独立于仿真系统项目,可面向个人提供个人任务事宜、所关联项目列表、待办任务、待办协同、进度汇报等功能,是个人处理项目的专属环境。知识管理负责将公司、部门、项目的知识资产进行管理,分体系文件、知识问答与分析、专业知识库三个方面,为所有人员提供文件、工具、经验的知识积累和规范化保障。系统管理负责系统配置、用户管理、权限管理、设备管理以及项目定义等功能。
值得一提的是,设备的属性管理和设备类型管理功能是设备动态设计建模的基础,将设备属性管理和类型管理放到系统管理的目的是能够将动态建模技术生成的设备能够提供给所有项目共享。同时,项目定义功能能够定义一个项目的研发过程,根据项目的背景和实际情况定义或者裁剪研发过程,满足不同类型项目的需求。
在协同设计开发管理平台上可完整地实现和追踪模拟机仿真系统开发的全过程。如图1所示,系统管理作为使用入口,可提供项目内的活动途径,也可以提供项目外如知识库的使用途径;从需求管理到产品管理的系统流程可在项目全寿期管理模型下进行管控,步骤1-8描述的是成员在各个阶段参与的活动和可实现的共享和协同;系统与成员、成员与成员之间的信息工作流或协同工作均可通过流程引擎推送至个人工作平台进行跟踪和处理。
图2 系统协同设计开发与管理过程
如图2所示。项目启动研发流程后,研发人员通过需求管理对系统进行需求分析,并对需求变更进行控制,需求定版后可生成相应的说明文档;步骤2中根据需求进行系统设计,建立系统重要的设计模型和数据,形成设计资产,为其它应用提供服务。步骤3表示在开发阶段,研发人员根据设计数据可进行设计与开发的协同,包括开发平台快速初始化、参数化建模以及设计与开发的交叉验证等活动。步骤4中利用集成的APP和平台数据和配置,可提供统一的研发支持环境。到了测试阶段,步骤5中可根据分解后的需求设计测试用例,并生成测试规程用于集成测试,同时提供测试差异项的跟踪和管理,据差异及测试结果进行测试总结。步骤7中可以进行产品的验收和入库,并进行产品追踪及售后维护版本维护。经过步骤1-7,完成产品从需求阶段到部署阶段的完整流程,在此过程中,步骤8提供研发过程中的统一信息/资源/计划/状态的共享与管理,并可利用流程引擎将项目任务下发、状态监控、进度提醒的工作流推送至个人工作平台,形成完整的信息管控路径。在个人工作平台上,也可发起针对项目任务的协同信息,提供研发活动的在线协作,并提升研发管理的精细化程度。
针对核电厂全范围模拟机全寿期的协同设计开发管理平台,体现出的信息互通、数据共享、能力协同、应用集成等特性,是构建在统一数据模型、动态映射、全寿期的过程管理体系以及面向异构对象的协同设计开发等关键技术的基础上的,下面就支撑这些特性的关键技术进行讨论。
领域工程是指针对一个应用领域中的若干系统进行分析,并识别这些系统共享的领域需求,设计出能够满足这些需求的构架,并在此基础上开发和组织该领域的可复用构件的过程[7]。采取基于领域工程的建模方法,即在识别应用系统的共同特征和可变特征的基础上,对这些特征进行抽象,形成领域模型,依据领域模型来一步步引导用户提供全面和深入的信息,最终形成完整的系统需求模型[8]。
本文结合领域工程的思想,提出核电厂仿真系统领域工程建模方法,形成了统一的业务数据模型。如图3所示,统一的数据模型定义了研发活动从需求阶段到产品部署阶段的多层次数据表达体系,并实现不同层次、不同阶阶段、不同粒度子模型间的相互关联、映射与融合的方法,将多个子模型合并成整体的统一数据模型。
其中,不同层次模型和数据体现从顶层到底层、整体到局部的逐渐深入表达,实现具体业务的整体化和精细化建模;需求阶段依照CMMI模型体系规范[9],对业务需求进行分解和量化分析,制定标准的需求分析管理流程,建立包括文件模板、体系手册、过程指南、配置管理、检查单等在内的完整的数据建模体系,从而改善需求分析流程,指导后续研发活动的进行。
图3 统一数据模型视图
在统一数据模型的基础上,采用基于桥接器模式的可配置数据动态关联技术,平台将系统数据的设计分为属性设计和设备定义与管理两部分,从而使设备与属性数据的耦合性降低,加强了数据定义的灵活性,使仿真系统的数据能够动态地进行扩展和修改。同时,作为设计与开发协同的基础,变量映射技术会以可配置的方式提供在属性数据设计过程中,并支持在默认项目和特定项目内分别在线修改,实现与开发数据准确地动态交互。另外,使用域定义和模板技术,来支撑各种文档的智能化自动生成及输出,文档模板可支持丰富多样的格式,在模板中可随时对需要生成的数据进行域定义,用以映射系统中相应的动态数据,在选择好数据范围和版本后,一键自动化批量生成。
在研发活动的各个阶段,统一的数据模型规范地提供各层次的系统数据,保证了数据的一致性、在线性、共享性、正确性和可追溯性。
工作流(WorkFlow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算[10]。工作流的目的是规划、调度和控制设计开发的流程,以保证把正确的信息和资源,在正确的时刻,以正确的方式送给正确的小组或小组成员。工作流技术的运用将会给系统提供流程管理的自动化、智能化和整合化服务。
在工作流引擎的基础上,本文设计了核电厂仿真的全寿期过程管理体系。如图1所示,体系覆盖了所有的活动流程,并提供了用于各活动和阶段进行流转和交互的自动流程。通过集成Project功能,平台能够提供工作任务的定义、编排、下发和监控机制,实现WBS定义与分解。在项目计划活动中,将分解的任务自动下发推送到相关责任人的个人工作平台;在任务实施过程中,不仅提供对任务和系统整体情况的状态监控,而且能够对责任人的任务进行智能化预警提示,从而形成对项目任务整体管控。同时,通过建立任务流程体系,可以为已分解的工作任务制定协同流程,描述流程的输入、约束条件、输出等信息,将其推送至被协同对象。这样通过对任务和流程的驱动和状态监测,为项目的进度管理提供更细致、准确的数据。
在全寿期的研发活动中,平台对重要的数据变更例如需求数据变更、设计数据变更等提供了控制流程,用以进行严格、有效的版本管理,保护数据资产;在个人工作汇报中提供审核流程,增加对任务完成情况的把关;在开发和产品部署阶段实施提交和验收等管理流程,在测试阶段提供差异项的录入、处理、流转和跟踪,从而提升项目的交付和维护质量。平台典型的流程如图4所示。
图4 设计变更流程
基于工作流引擎构建的针对核电厂仿真全寿期的过程管理体系,不仅对所有研发活动进行了过程监控,而且对项目的信息、数据、文件做了统一的生成及存储、配置管理和共享利用。它让项目所涉及的人员、数据、文件紧密地联系在一起,实现了资源的高度共享、高效重用和可视化追溯,既充分保证了研发活动的完整性,又提高了项目管理的精细化程度。
随着计算机和协同技术的高速发展,CSCW(计算机支持的协同工作) 在很多领域都有着大量的应用,它能够为一个群体在计算机支持的协同环境中完成同一项共同的任务提供有力的支持[11]。协同工作会要求在一个完整的组织架构内共同来完成一个项目,目的是在安全的前提下,提供工程设计开发资源共享、信息交流、相互连接等功能。
核电厂仿真系统的面向异构对象的协同设计开发,主要集中在系统协同、数据协同、应用协同等方面。系统协同方面,平台实现了与仿真支撑平台RINSIM的有效集成,结合数据模型的变量映射技术支持,为仿真系统的开发提供了模型快速初始化&参数化建模的能力,使仿真设计数据能够直接应用到开发过程,同时,还提供了开发数据和设计数据的验证,用以开发环境的调试和设计数据的校核,设计开发验证示意如图5所示。平台的数据协同,不仅包括在基于数据利用的动态文档自动生成能力上,还包括平台对WORD/EXCEL/PROJECT/XML等各种标准化文件接口的适配,以及需求用例到测试用例的一致性约束、基于动态数据关联的可扩展仿真系统设计等方面。平台的应用协同方面,通过集成部分分散在外的仿真系统开发过程中使用的辅助工具或软件,将程序、数据、配置集成在一起,直接使用设计资料和数据来生成模型开发文件和成果,为仿真产品的设计和开发提供助力,为开发人员提供一致性的研发环境。
针对核电厂模拟机仿真系统的应用需求,通过面向异构对象的协同设计开发,构建了核电厂仿真全寿期的协同设计开发管理平台,能够有效地在异构对象、不同阶段之间降低交互的复杂度,减少信息传递的二义性和误差,提高信息数据的利用度,旨在减少差错、增强时效、提高产品效率以及改善产品质量。
图5 开发设计验证示意
本文从平台的总体组成、功能特征、关键技术和应用出发,重点对平台所具备的信息互通、数据共享、能力协同、应用集成等特性,平台所支持的核电厂全范围模拟机协同设计开发与管理过程模型以及支撑平台功能的关键技术展开讨论。其中,统一数据模型下的领域工程建模方法,有效地提升了系统数据对象的标准化程度和协同交互性,并可结合基于桥接器模式的可配置数据动态关联和域定义及模板技术,提供可扩展的动态数据设计和文档自动化生成能力。基于工作流引擎的全寿期过程管理体系结构,不仅支持任务自动下发、状态监控和节点提醒,提供任务协同、设计变更、管理审批等流程,还实现了研发过程中数据、文档、信息等内容的共享、重用、一致和可追溯。面向异构对象的协同设计开发显著提高了信息数据的利用度,使开发工作减少差错、增强时效,改善了仿真系统的交付质量。实践应用证明,该平台提供了数据的一致性、在线性、共享性、正确性和可追溯性,方便项目所涉及的人员、数据、文件紧密地联系在一起,充分地保证了研发活动的完整性,又提高了项目管理的精细化程度。通过该平台的应用可明显提高了核电厂仿真项目的质量、开发效率及管理能力,可广泛推广到核电行业及其它领域。