机载任务系统软件性能架构设计
2020-01-22
来源:乌哈旅游
第12卷第2期 2Ol3年2月 软件导刊 Software Guide VO1.12NO 2 Feb.2013 机载任务系统软件性能架构设计 白明洋 (中国航空工业集团公司洛阳电光设备研究所,河南洛阳471023) 摘 要:软件系统架构设计中,非功能需求是重要组成部分之一,甚至会直接决定架构的组成。基于性能这一软件的 质量属性,对某机载任务系统软件架构设计进行了分析。 关键词:软件架构;非功能需求;性能优化;任务 中图分类号:TP319 文献标识码:A 文章编号:1672—7800(2013)002—0076—03 (3)至于约束,它或作为架构设计的限制条件,或转变 0 引言 在系统工程和需求工程中,非功能需求(Non—rune— tionalRequirement,NFR)确定了衡量的尺度,用于对系统 运行的判断,而不是具体的系统行为。 可以这样理解,非功能需求是指软件产品为满足用户 业务需求(即功能需求)而必须具有且除功能需求以外的 特性。 为功能需求,或转换为质量属性。 1软件性能相关因素 性能指实现预期功能能力的特性。软件性能是软件 的一种非功能特性,它关注的不是软件是否能完成特定的 功能,而是在完成该功能时展示出来的及时性。它包括对 系统速度和空间的要求,如下是常见的性能指标:①任务 的响应时间:请求响应的时间;②任务的吞吐量:单位时间 内,可以处理的数量;③任务处理的存储容量:处理的空间 和数据量。性能相关因素见表1。 表1性能相关因素 功能需求描述要开发的软件系统应该做什么,它可以 包括为用户提供哪些服务,也可以包括本系统为其它系统 提供哪些服务。 非功能需求分为质量属性和约束。约束需求规定了 开发软件系统时必须遵守的限制条件。例如,要采用什么 操作系统,要采用哪种开发技术,是否需要与遗留的老系 统进行互操作等等。当然,还要考虑软件用户所在的行业 中必须遵守的法律法规、政策方针和行业标准、企业标准。 质量属性作为非功能需求的一个分支,同样包含众多 内容。例如,性能、安全性、易用性、可靠性等等。 功能需求是重要的,它们包含了几乎所有用户所要求 实现的业务逻辑。当然,非功能需求也同样是决定架构成 功与否的关键因素。 事实上,非功能需求中的质量属性与约束是一个复杂 的问题。而且,在非功能需求中的某一条或几条可能就将 左右架构风格的选择。 (1)功能需求影响架构,架构必须要适应功能需求。 但是功能需求不会决定架构,是否基于接口编程还是硬编 码实现功能,是否要分层等等问题都不是功能需求所能单 独确定的。 (2)质量属性会从根本上影响架构。例如,非常强调 2性能设计过程 软件性能设计流程可参考图1。 以下各节基于某机载任务系统软件分析流程中的各 个设计阶段。 性能的系统软件会在算法、任务实现上下足功夫,而在架 构设计中是否避免了性能的损失。 作者简介:白明洋(1979一),男,中国航空工业集团公司洛阳电光设备研究所工程师,研究方向为软件工程。 第2期 白明洋:机载任务系统软件性能架构设计 ・77・ 图1软件性能设计流程 2.1确定系统边界 识别待分析系统或者子系统的外部Actor:和系统直 接交互的人,软件系统或者硬件系统。 与综合任务处理系统交互的人和外部设备包括操作 员、目标探测系统、惯性导航系统、显示控制系统、大气处 理系统和外挂物管理系统。示例见图2。 图2系统边界 2.2确定应用场景 从Actor的角度识别可能存在的应用场景。示例见 图3。 综合任务处理系统应用场景 图3应用场景 2.3识别接口事件 接口事件就是:请求与响应的交互事件。示例见图 4。 接口事件 ——圃 目标探测系统 — 固 大气处理系统 显 制 圈4接口事件 2.4分析性能约束 分析和场景相关的请求响应要求、事件速率。示例见 表2、表3。 表2数据装订与修改 'I口一操一 2.5活动分析 创建活动分析见图5。 数据装订与修改活动分析 系统 导弹飞行任务1活动分析 大气 目标 惯性导航系统 图5活动分析 2.6并发性能 考虑任务的并发:①一个任务的多个实例执行;②一 荣 呱 ・78- 软件导刊 2013年 个任务实例和其它任务的实例并发。 在各种并发数情况下:①测试\确定关键活动时间;② 定义性能约束;③调整任务,实现性能约束。 2.7识别关键任务 关键任务识别示例见图6。 数据装订与修改活动关键识别 r、 l 关键处理 l 操作员 圈堙囤亟 匝 =:二 ::::l l 巫 厂__一噩 显示控制系统 匿至玉 五 一 导弹飞行任务1活动分析 气信 大气处理系统 关键处理 l目标探测系统 F挂物管 理系统 惯性导航系统 图6关键任务识别示例 2.8为关键设计建立多个备选方案 如示例,IO与综合任务处理应用程序之间传递装订 与修改的数据,如何保证数据正确采集,同时真实地反应 操作员的操作。示例见表4、表5、表6。 表4消息队列 设计思路 等 程序之间采用消息队 优点 解耦,支持异步处理,能够对突发事件建立缓冲 缺点 实时性不强 对本问题的适用性应该进行数据正确的充分测试和确认 表5事件监听 设计思路 萎 囊 雪 喜件监 优点 能保证实时性 缺点 可靠性低,耦合性高 对本问题的适用性应该进行数据正确的充分测试和确认 表6共享内存 设计思路襄 用程序间采用共享内存 优点 速度快 缺点 需要建立自己的保护机制 对本问题的适用性应该进行数据正确的充分测试和确认 2.9通过对方案的验证。选择最适合的方案 综合对备选的方案进行验证,由于对综合任务处理系 统软件的处理速度要求是首要的,因此在容忍确定的基础 上优先选择备选方案中响应最快的一种方案,即共享内存 的方案。 表7方案选择结果 方案名称 共享内存 设计思路囊 用程序间采用共享内存 优点 速度快 缺点 需要建立自己的保护机制 对本问题的适用性应该进行数据正确的充分测试和确认 2.10确定任务周期、时序同步和资源同步关系 ①分析每个任务的触发机制、执行周期;②任务之间 的时序同步;③任务之间的资源同步。 示例见表8。 表8任务周期、时序和资源分析 2.11使用技术手段提升关键性能 可以使用如下的技术手段提升关键性能:①缓存:经 常处理的东西复制一份在手边,方便下次使用,注意不要 过时;②连接池:资源创建麻烦,使用后释放,其他人获取 后可以使用;③优化算法:采用最快算法;④分页:只提取 当前需要的数据,避免存取浪费;⑤采用合适的搜索算法: 在尽可能小的空间中,通过尽可能匹配的条件;⑥尽可能 减少费时的操作次数;⑦分布计算:把请求多的任务建立 更多的任务实例,保持响应;⑧负载均衡:把负载尽力均匀 分布。 2.12提升关键任务性能 为了保持对操作员动作的正确解析,在综合任务处理 系统中采用优化算法机制提升性能:对于装订和修改的数 据,进行滤波算法过滤掉操作员操作时的抖动。示例见 图7。 提升关键任务性能 簋 键值 次数 键值表 接受键值 根据键值特征剔除不符合的键值 连续5个相同的键值判定为合法的键值 剔除判定为合法以外的键值 输出键值 图7提升关键任务性能示例 3与性能有关的设计模式 嵌入式软件性能设计的典型模式如下:①使用corn— mand模式解耦任务的执行时机;②使用Observer模式实 现数据重复利用;③使用缓存模式实现数据重复利用;④ 使用共享缓存模式实现异步任务通信。 这些设计模式都有很多书籍专门介绍,因此本文不再 赘述。 4对已有系统的性能优化 对已有系统的性能优化可以采用如下的过程,如图8 所示:①确定关键任务;②确定性能监测指标;③性能测 第12卷第2期 v0l 12N0.2 2013年2月 Feb.2O13 基于V i rtoo l s的人员疏散可视化仿真系统研究 贺俊杰 (公安部上海消防研究所,上海200438) 摘 要:分析了人员疏散可视化仿真系统的组成以及常见的几种可视化仿真系统开发模式;采用基于工具制作软件 的开发模式,用3ds Max制作了人员疏散模型,在Virtools中开发了人员疏散可视化仿真系统。实例分析表明,该系 统较真实地模拟了人员疏散的动态过程,模拟效果较好。 关键词:可视化仿真;人员疏散;Virtools 中图分类号:TP319 文献标识码:A 文章编号:1672—78OO(2O13)OO2—0079—03 散研究的重要手段。计算机仿真的基本思路是:通过计算 0 引言 机直接模拟人员在建筑物内的移动过程,并记录不同人员 在不同时刻的几何位置,从而计算建筑物内的人员疏散时 近年来,由于火灾等重大突发事故频繁发生,人员疏 间并动态地显示人员疏散移动的全过程。到目前为止,国 散问题逐渐受到研究者的广泛关注。疏散研究比较特殊, 内外学者已开发了2O多种疏散模型及相应的计算软件, 组织人员进行实验难度较大,实验数据也难以采集。随着 其中比较著名的有,英国格林威治大学的BuildingExo- 现代计算机软硬件水平不断提升,计算机仿真逐渐成为疏 dus、英国爱丁堡大学的Sirnulex、美国NIST的EXITT、武 试与分析;④性能重构。 机载软件的开发,需要大量的验证仿真工作,更需要结合 性能优化过程 机载软件的特点进行合理有效的设计。本文基于性能属 确定关键任务1 性研究了机载综合任务系统软件的软件架构,并给出了性 I 确定性能检测指标】 能设计的过程和方法。实践表明,采用合理的过程和方法 I 开展机载软件的性能设计可以明显提高软件的质量和开 性能测试与分析卜 发效率。 一土、 参考文献: ,(性能重构卜一 [1]谢新华.软件架构设计的思想与模式[Z].中科院计算所培训中心, 2010. 图8性能优化过程 Ez3张仁良.软件架构中的非功能需求[刀.微型电脑应用,2009(2). [3]温昱.软件架构设计[M].北京:电子工业出版社,2007. 5 结语 (责任编辑:杜能钢) 将软件架构理念,尤其是非功能需求架构设计引入到 Software Architecture Design of an Airborne Mission System Base on Performance Abstract:In software architecture design,un-functional requirement is an important part,which may decide the composi— tion of software architecture.The article particularly analyses the software of an airborne mission system based on per— formance. Key Words:Software Architecture;Un-Functional Requirements;Performance;Task 作者简介:贺俊杰(1983一),男,公安部上海消防研究所助理研究员,研究方向为火灾风险评估、人员疏散。