APP下载

基于角色的综合化配置工具的研究与设计

2020-06-24齐晓斌李晓龙

中国新通信 2020年2期
关键词:角色

齐晓斌 李晓龙

摘要:本文采用基于角色的配置方法,从不同开发者的角度出发,将各个开发商分为不同的开发角色,并为每个开发角色研制一套完备的配置工具。整个工具在Eclipse环境框架下搭建而成,共分为三个部分:前端配置、后台配置检查、后台配置生成。本文从开发角色的分类、开发角色各自关心的资源配置等角度出发,给出整个综合化配置工具的设计方案,方案通过使用XML Schema和XSLT结合的方式实现。

关键词:角色;XML;XSD;XSLT;系统集成者;平台提供者;应用开发者

ABSTRACT:. This paper grace uses to install a method according to the role, never setting out with the angle of the developer, is divided into each development company different development role, and develop a role to develop for each one a set of install tool completely. The whole tool builds but becomes under the Eclipse environment frame, is divided into three parts totally: The head install, the backstage install a check, backstage to install born. This text is each to install from the resources of[with] concern from the classification, the development role of the development role etc. the angle set out. the text give a whole design project that synthesize to turn to install tool, the project passes the way realization that the usage XML Schema combines and XSLT.

Key words: role; XSD; XSLT; System Integrator; Platform Provider; Application Developer

1 引言

综合化航空电子系统环境导致软硬件的配置复杂度成倍增加,传统配置工具使用困难,容易出错,与此同时操作系统能力提升,也对系统配置工具提出更高的要求,构件化、虚拟化、安全性、确定性等特性都需要通过配置工具来体现和支撑。为解决以上问题,RTCA DO-297就标准给出了集成航空电子系统开发和认证的指导意见[1]。参照建议,可以将开发人员分为不同的角色,不同角色的开发工作尽可能的分离。在开发过程中,个人组件不需要从系统的其它部分获取源码或者二进制文件,这样每个开发团队可以管理自身的系统而独立于其他团队。系统的集成以及每个模块的更改都可以做到最小化影响域分析。配置工具具备按角色功能将配置数据分解,并按模块分配给不同设计人员来配置的能力。各个模块配置数据之间的合理性需要配置检查工具来检查。在生成最终目标文件之前,配置检查工具不仅要逐项检查每个配置数据的格式、范围的合理性,而且需要检查各个配置数据之间的关联逻辑是否正确。

2 配置工具的组成

2.1 工具的使用角色分类

参考DO-297标准,如图 1所示本文将综合化操作系统开发过程中的参与者,即配置工具的使用者,划分为系统集成者(SI,System Integrator)、平台/模块供应者(PP,Platform and Module Provider)和应用开发者(AD,Application Developer)三类。

平臺/模块供应者负责提供硬件设备和基础软件相关配置数据。平台提供者应配合系统集成者对平台资源进行分配预算。平台/模块供应者给应用开发者和系统集成者提供开发,测试和部署应用的平台软件。在平台和模块开发过程中生成的主要数据有:IMA平台和模块的接口规范;共享资源分配与配置表的规范;IMA平台所需的资源和配置数据包括核心软件;模块/平台确认与验证的结果与分配需求的一致性。

应用开发者负责提供具备飞机功能的应用软件,并确保平台软硬件资源能够满足应用的需求。应用开发者应提供应用软件、应用数据和应用相关配置数据。应用开发者需要与系统集成者商议确定应用软件在目标机上运行的资源分配。应用开发者在应用开发中生成的主要数据有:应用所需的外部接口规范;应用所需的资源和配置数据;应用/平台综合确认和验证的结果与分配需求的一致性。

系统集成者负责IMA平台软硬件资源的规划与分配、物理/逻辑通信关系的配置、应用的部署及整个系统的集成,并生成最终的可加载的映像文件。系统集成者还需要负责发布模块级的XML描述文档基线,作为系统集成者和所有的应用开发者之间的约定,并且负责维护变更。系统集成者在IMA系统综合过程中生成的数据有:系统配置,包括模块和应用的数量、类型和特定版本;IMA系统的共享资源的分配和配置表;IMA系统确认与验证的结果与分配需求的一致性。

以上详细介绍了IMA系统开发过程中,三个开发角色之间关心的配置数据和各个配置数据之间可能的联系。而本文所设计的配置工具就是将这些配置数据分隔开来,使得每一个开发角色只看到自己关心的配置数据,每一个开发角色在修改自己相关的配置数据时,对其他开发者的配置数据影响都由配置工具后台程序来完成。这样就可以使得每个开发者专注于自己的开发工作,而不用过多考虑其他的影响因素。

2.2 工具的组成

基于角色的综合化配置工具共包括前端配置和后台程序两大部分。前端配置界面,用来配置工具与开发者之间进行交互。前端配置界面需要两种文件进行支撑,一种为配置数据文件,目前用的最多的是XML文件。配置描述文件一般采用XSD(XML Schemas Definition)文件[4]。由图形化前端配置界面,将用户的配置数据存储到配置中间文件中。配置工具的最重要部分为后台程序即配置数据生成器,它接收了用户配置的配置数据文件,并可以根据脚本文件的要求对配置数据进行一系列的处理,最后给出处理结果,或检查配置数据的合理性,或生成二进制文件。最后经过项目编译链接,将配置数据链接生成目标文件。

3 设计与实现

3.1 总体方案设计

基于角色的综合化配置工具前端配置分为多个开发者视图,各个开发角色接收到不同的配置信息,这些配置数据信息都由XML文件提供,并由配置数据管理插件将这些配置数据关联起来。后台程序包括配置检查和配置生成两大部分,完成功能的不同主要由脚本文件来实现。后台配置检查主要用来检查用户所配置数据的正确性,在生成目标文件之前,找出配置数据中不符合语法、语义要求的地方。后台配置生成的主要用来将用户配置数据转换成目标文件[3]。综合化环境下,需要配置的組件众多,而且各个组件之间的关系复杂,这对于不熟悉整个系统功能的用户来说,配置起来十分困难。基于角色的系统配置技术能够根据开发角色将配置数据分层,针对不同层次的开发角色提供不同的配置视图,使开发人员能够专注于自身相关的配置数据。通过使用前端配置工具提供的图形化配置视图,用户有更多的时间和精力投入到各自的业务逻辑开发上,并且前端配置工具本身具有错误检查的功能,能够降低构建前后的出错率,提高系统的稳定性。

3.2 前端方案设计

在前端配置界面模块中主要包括以下几个功能:

(一)构件列表功能

搜索当前开发环境中的所有可用构件,显示在界面上供可发人员选择;同时,若用户指定要修改某个已有的配置,该模块还要负责将该配置的中间文件写入,并显示该文件已有的配置内容。

(二)配置项显示功能

该模块负责将用户选中的构件的具体配置项读入、解析,将其以图形化的方式 显示在界面上,供用户进行配置操作。

(三)数据类型校验功能

在配置项描述文件中,对于每个配置项,都指明了其合法的数据类型,如字符串,整数、布尔型等。该模块的功能就是依据这些说明对用户的配置数据进行校验,并提示用户那些配置的是否合法。

(四)配置结果保存功能

将用户配置完成的内容写入到配置文件中,并保存。

3.3 生成器设计

基于角色的综合化配置的后台核心部件配置数据生成器的设计,功能为对配置数据进行检查,并根据需要生成目标文件。配置数据生成器主要把核心不易变的功能抽象出来,形成一个固定的工具,这个固定的工具就是配置数据生成器,而针对不同操作系统要实现的功能。如指定的数据的检查,指定的数据的生成,这些需求都放入脚本文件中,最后使用配置数据生成器处理这些脚本文件来完成相应的功能。根据脚本文件的不同,该工具的设计方案使用Schema语法方案,即脚本文件需按照XML Schema语法规则来编写。

整个配置数据生成器的功能设计如下图 3所示,前端配置工具产生的XML配置文件作为用户配置数据输入到XML预处理器中,与此XML相匹配的XSD文件也输入到XML预处理器中。XSD文件可用来规定XML文件的语法结构和数据结构,并且其本身也由XML基本语法书写而来。配置数据生成器的核心为动作代码触发器,主要功能为先遍历XSD语法树,获取需要完成的动作,这些动作一般预先已经定义好了,所有配置数据生成和检查需要完成的功能都可以根据这些预先定义好的动作组合起来而完成。动作触发器所有的定义将在下一小节中详细介绍。动作触发器遍历完XSD语法树之后,再到XML树中查找相应数据完成动作代码。动作代码根据其意义选择是将配置数据生成二进制文件,还是显示检查结果。

4.结束语

本文使用基于角色的配置工具设计方法,将配置数据检测过程抽象为一组与具体配置数据无关的基本服务,并使用这些基本服务来描述具体的检测,通过这些服务和规则来完成配置数据的检测和生成。这样不仅能够摆脱配置数据与工具、数据检测与编译器的依赖性,而且能够最大限度地提升配置数据检测的灵活性。该设计方法能够为系统配置人员提供极大的便利,使其能够花更少的精力在配置数据上,从而提高整个系统的开发效率。

参考文献:

[1]. 田丽蓉, 牟明. 适航产品本地化开发过程研究[J],航空计算技术,2015,35(9):62-63.

[2]. WindRiver Introducing Layers and Package Management Guide U.S.A, 2015.

[3].吴宇佳,浦伟,周妍,等.Linux 下多线程数据采集研究与实现[J].信息安全与通信保密,2012(7):92-94

[4] .齐晓斌,夏菲等. 一种基于XSLT的系统配置设计方法[J].空军工程大学学报:自然科学版,2013,14(2):31-32.

猜你喜欢

角色
小议戏曲中角色的发展趋势
《冰雪奇缘》开启迪士尼剧本角色新模式
人力资源开发与智力资本提升的关系探析
普通高等学校思想政治教育辅导员角色问题研究
农民工子女融合教育:教师的角色与使命