王 璐, 史志钊, 史兆明
(1.光电控制技术重点实验室,河南 洛阳 471000; 2.中国航空工业集团公司洛阳电光设备研究所,河南 洛阳 471000)
悬挂物管理系统(SMS)是管理和控制载机所携带的武器及其他悬挂物(吊舱、副油箱等)的复杂系统[1]。在悬挂物管理系统的开发过程中,目前多采用文档驱动的传统设计方法[2],从系统需求分析、产品设计与研制再到系统验收,每个环节只将本环节的交付物传递给下一环节,便宣告本环节任务的完成。由于缺少全生命周期内的动态跟踪与迭代,很容易导致设计与需求的脱节,并且很大可能直到系统联试或者综合验收阶段才能够发现,会造成巨大的浪费[3]。而且在验证
环节,传统方法验证手段单一,验证过程重复、覆盖率低,存在着无法充分验证等问题[4]。
因此,如何更快、更好地满足用户需求以完成悬挂物管理系统的设计和集成工作,同时又能使系统具有良好的可验证性和对需求的覆盖性是摆在系统设计人员面前的一大难题[5]。
基于模型的系统工程(MBSE)是目前复杂系统开发领域正在广泛推广和应用的现代系统开发流程[6]。该方法将各个级别的需求与相应的系统方案元素建立链接,并以图形化的方式展示出来。MBSE最显著的特点在于系统设计开发过程中的所有信息均是以模型来表示,具有知识表达无二义性、便于交流与传播、易于复用等特点[7]。可执行的功能模型使得在系统设计的各个阶段都能分析系统设计对需求的符合性,并验证系统需求是否满足利益相关方的原始需求[8]。
本文在对基于模型的系统工程方法进行回顾的基础上,创新性地对悬挂物管理系统中MBSE方法的应用进行了初步研究,并介绍了具体使用的Harmony最佳工程实践方法,结合DOORS和Rhapsody工具的使用,对Harmony方法的具体应用进行了详细说明,然后通过执行模型对功能进行了验证,展示了基于模型的系统工程方法在悬挂物管理系统设计中的应用。
基于模型的系统工程方法使用标准化系统建模语言SysML进行系统分析、系统设计和系统综合,分别创建需求模型、功能用例模型、物理架构模型,从而完成需求、功能到架构的连接与设计,通过模型的执行来完成系统需求到业务功能的“确认”和“验证”,是双“V”研制模式的核心机理,贯穿了整个产品研发全生命周期的各个阶段[9]。目前基于模型的系统工程方法已经在航空领域得到广泛应用,空客、波音、洛克希德·马丁公司以及国内一些研究机构都已经成功应用了此方法[10-11]。
本文所采用的流程是系统工程Harmony方法,该方法是由模型来进行驱动,对系统进行分析与建模,所对应的关键目标是:分析和导出所需要的系统功能;识别出系统相关的状态和模式;将已得到的系统功能和状态/模式分配到创建的系统架构中去[12]。
图1中描述了系统工程Harmony方法的整个开发过程,其中,每个阶段、每个环节都采用多次迭代使得相邻环节能够在相关内容上保持延续与一致,在系统设计的前期阶段就尽量消除错误,从而避免后期修改错误带来的巨大成本[13]。
图1 模型驱动的系统工程过程Fig.1 Process of model-driven system engineering
面向悬挂物管理系统应用的Harmony系统工程,其主要目标是识别并推导出悬挂物管理系统的功能,分析并识别出相关的系统工作状态和运行模式,并将其分配到核心处理单元和接口管理单元等系统部件中。本文首次将Harmony方法应用于悬挂物管理系统的设计与验证,开展了模型的悬挂物管理系统工程实践,其中,软件平台选用标准化系统建模语言SysML,需求管理工具选用IBM Rational公司的DOORS软件,模型开发工具选用Rhapsody软件。其中,DOORS工具可以帮助开发者建立各个层级需求之间的追踪关系,便于完成对上层需求的追溯与确认,Rhapsody工具则完成相关各类模型的创建。
系统需求分析阶段的首要工作是分析和筛选悬挂物管理系统原始的利益攸关者需求,从中捕获系统需求,即定义系统的功能需求以及服务需求的质量。为了确保系统需求的完整性,并且满足用户及投资人的需求与规范,可以利用DOORS实现系统需求到用户需求的关联。这也是首次将DOORS工具引入到悬挂物管理系统的需求建模中来,能够更好地完成需求的捕获与分析以及后续的需求跟踪与追溯。
然后,定义系统用例并关联功能/性能需求到系统用例。在悬挂物管理系统设计中,将其分为清单更新、清单自动加载、清单手动加载、武器占位选择、选择投放管理、武器发控管理6个用例,如图2所示,这对武器发控过程中的选择、加载、准备、投放整个流程都进行了覆盖。
图2 悬挂物管理系统用例图Fig.2 Store management system use case diagram
王完成用例图建立之后,在Rhapsody中添加用例与需求之间的关联关系,建立需求跟踪矩阵。从而在设计层级实现对需求的覆盖率分析,以便在系统设计阶段就能够对系统需求进行确认,这相比传统的开发过程可以大大提高设计对需求的符合性并能够及早发现设计的偏差。
系统功能分析主要是在需求分析阶段的基础上,由上一个阶段定义的用例模型,确定功能单元的功能定义、活动、时序、状态,将系统功能性需求转化为系统操作,同时每个用例在转换的过程中,都应该通过建立的可执行模型进行实际运行来验证设计是否符合期望,并对设计偏差进行修正,此过程被称为功能单元的黑盒设计。对于悬挂物管理系统,这个过程将围绕着清单更新、清单自动加载、清单手动加载、武器占位选择、选择投放管理、武器发控管理这6个功能用例展开。
用例模块的行为通过活动图、序列图、内部块图、状态图4个SysML视图来展示。其中,活动图从本质上来讲是一种流程图,主要表现一个工作执行的活动顺序,阐明了用户实现的工作流程;序列图又称为时序图,它通过描述对象之间发送消息的时间顺序来显示多个对象之间的动态协作,表示用例的行为顺序;内部块图以图形方式展示系统与外部Actor的所有交互,生成结构视图的端口与接口;状态图也称为状态机,主要用于分析系统在其生命周期内的完整动态行为,包括定义系统的状态和依赖于状态的行为、分析系统状态之间的转换及伴随转换的行为。悬挂物管理系统部分活动图和部分状态机分别如图3、图4所示。
图3 数据准备过程活动图Fig.3 Data preparation process activity diagram
图4 武器发控管理用例状态机(部分)Fig.4 Weapon launch and control management use case state machine(partial)
设计综合又称为白盒分析,该阶段的重点是物理架构(例如一系列产品、系统,与/或软件元素)的开发,该物理架构具有在规定的性能约束下执行所需功能的能力。
设计综合遵循自顶向下的工作方法,分别进行架构分析和架构设计。架构分析是针对一组满足于给定的功能需求和性能需求的硬件或软件配置方案,在未完成硬件实现的情况下,通过模型比较不同方案的总体效能指标,从中选取一个最优方案[14]。架构设计阶段的重点是系统层业务到架构结构元素的分配。这个架构可以是先前的业务研究或者一个给定的(原有的)架构的成果。分配是一个迭代的过程,并且一般是在领域专家的协作下进行的。考虑到诸如性能和安全需求这些在需求分析阶段捕获的设计约束,可以分析不同的分配策略。
在状态机模型建立之后,通过对组件进行配置、编译、运行,来执行模型,并重新生成序列图。在模型执行过程中,通过分析系统对象所经历的状态序列、在特定状态下的行为和对异常做出的响应以及新老序列图的执行流程等来对整个系统的动态过程进行验证,从而判断状态机模型是否符合系统需求(新序列图指的是新生成的状态机的运行序列,老序列图指功能分析阶段进行场景分析时所画的序列图)。图5所示为选择投放用例状态机运行的过程。其中,红色的状态表示目前正在运行的状态,黄色的状态表示运行过的状态。图6所示为武器发控管理用例新老序列图的执行流程,可以看出,模型状态图的运行符合预想的状态迁移情景(左图为老序列图),新的序列图的执行顺序与老的序列图保持一致,该模型能够很好地满足悬挂物系统需求。该验证方法相较于以往悬挂物开发过程中采用的以文档为中心,在软件硬件开发完毕后才进行系统验证的方法,能够更早更直观地对系统需求进行验证与确认,从而大大提高设计效率与质量。
图5 选择投放用例状态机的执行(状态的迁移)Fig.5 Execution of selecting jettison use case state machine(transition of state)
图6 武器发控管理用例序列图比对Fig.6 Weapon launch and control use case sequence diagrams
本文将基于模型的系统工程方法首次应用于悬挂物管理系统的开发过程,采用DOORS和Rhapsody作为需求管理工具和系统设计工具,对悬挂物管理系统进行了需求分析、系统功能分析和架构分析,以不同视角描述系统在用例中的功能行为,得到一组可执行模型,并通过模型的验证来形成系统测试场景,检查系统设计是否满足需求。MBSE方法与传统的以文档为中心的设计方法相比较,有以下优点:
1) 标准化的模型设计,提高了信息交流的效率,有助于信息的传递;
2) 系统模型能够准确有效地对系统的各种活动进行描述,避免了文字描述中容易产生的歧义,改进了文字描述复杂系统时带来的不便,并使得后期的变更与维护更为容易;
3) 模型可以更好地完成知识的存储与传承,从而将设计人员从繁冗的文档中解放出来;
4) 模型设计方法使得整个设计活动具有追溯性,系统模型的建立贯穿系统的整个生命周期,包括需求获取与分析、功能分析、设计综合、系统确认和验证,是一个统一完整的过程,可以提供一个整体的、具有一致性和追溯性的系统设计,从而保证系统所有的活动都是有据可循的;
5) 模型可以作为后续系统设计文件(ICD,POP)的设计来源,从而保证所有的设计文件都有据可依;
6) 可以通过模型的运行(状态机的运行和序列图的自动生成)在系统设计早期对系统需求进行验证和确认,避免后期通过样件的运行来发现问题,从而提高设计效率并降低风险[15]。
综上所述,基于模型的系统工程设计方法有效地解决了传统设计方法中的不足和问题,完成了由经验研发向需求研发的转变。深入开展基于模型的系统工程研究与实践,对于悬挂物管理系统设计与维护均有着十分重要的意义。
[1]左伟,冯金富,许凌权. 高级用例建模在悬挂物管理系统中的应用[J].计算机工程,2009,35(24):271-273.
[2]王朝阳,季晓光,丁全心.机载悬挂物管理系统技术发展分析[J].电光与控制,2009,16(3):1-5.
[3]李向东,仇振安,苏文强.悬挂物管理功能仿真通用技术应用研究[J].电光与控制,2011,18(10):82-86.
[4]冯金富,刘安,左伟,等.模型驱动的开放式结构悬挂物管理系统设计方法[J].空军工程大学学报,2010,11(4):1-5.
[5]张建华,杨致怡,沈振惠.基于模型的舰船电子对抗系统工程研究与应用[J].指挥控制与仿真,2015,37(3):101-104.
[6]ESTEFAN J A. Survey of model-based systems engineering (MBSE) methodologies[R].United States:INCOSE,2008.
[7]曹悦.基于SysML的多域复杂机电产品系统层建模与仿真集成研究[D].杭州: 浙江大学,2011.
[8]张炜钟,王智学,赵文.基于SysML的可执体系结构框架[J].计算机工程,2011,37(22):39- 41.
[9]INCOSE.系统工程手册[M].张新国,译.北京:机械工业出版社,2013.
[10]倪忠建,张彦,李漪,等.模型驱动的系统设计方法应用研究[J].航空电子技术,2011,42(1):18-23.
[11]丁鼎.基于模型的系统工程在民机领域的应用[J].沈阳航空航天大学学报,2012,29(4):47-51,54.
[12]蒲小勃.现代航空电子系统与综合[M].北京:航空工业出版社, 2013.
[13]HOFFMANN H P.System engineering best practices with the rational solution for systems and software engineering[M].New York:IBM Corporation,2011.
[14]孙煜,梁琰,马力.基于模型的系统工程与SysML应用研究[J].信息系统工程, 2012(10):114-118.
[15]葛立敏,刘远恒,王扬.基于模型的系统工程在航电系统设计中的应用研究[J].航空制造技术,2015(8):60-63.