APP下载

静态链接库实现雷达仿真系统组件化

2011-05-22郑钧耀

通信技术 2011年2期
关键词:静态组件框架

郑钧耀, 王 磊

(电子科技大学 电子科学技术研究院,四川 成都 611731)

0 引言

随着信息技术的飞速发展及其在军事领域的广泛应用[1],雷达仿真系统日益复杂,仿真软件开发周期越来越长。雷达仿真中各种功能模块如:场景产生、资源调度、数据处理、检测处理等,这些模块构成了复杂的雷达仿真系统。然而传统雷达仿真需要对每种雷达功能具体分析设计,对控制参数进行大量的调节和试验,仿真软件开发将花费大量人力物力,系统的可靠性和重用性低、复杂度高、设计周期长。因此,如何提高雷达仿真软件开发效率,降低开发成本,缩短开发周期,改善软件质量变得极为重要,对此引入了组件化雷达仿真技术,以静态链接库技术实现了雷达仿真系统,提高了雷达仿真软件的开发效率,增强了系统的可靠性与扩展性。

1 组建化的雷达仿真系统

对于比较复杂的雷达系统,仿真软件的设计需要突破传统的设计思想,充分利用信息和软件产业的最新进展,根据组件化技术,设计了图 1所示的雷达仿真系统,整个软件系统分为软件框架和软件组件,软件框架为雷达仿真软件的设计提供了总体结构,实现了各组件之间的通讯;软件组件是各个具体的模块,如:场景产生、资源调度、数据处理、检测处理等,它们可以单独设计和测试,而不用考虑系统整体的复杂性。软件组件打包成静态链接库,在不同的雷达仿真软件框架中调用,这样即增加了软件组件的可重用性,也减小了编程人员的工作量。图 1为以静态链接库技术实现一种组件化的雷达仿真系统,其中 LIB为相应组件的静态链接库。下面章节对涉及的组件化技术进行了详细叙述。

图1 雷达仿真系统与静态链接库组件

2 软件复用技术

雷达仿真系统比较复杂,如果每种雷达都全新设计,将花费大量的人力物力,而且系统的可靠性和复用性降低,所以在雷达仿真软件设计中需要引入软件复用技术。这是一种由预先构造好的、为复用目的而设计的组件来建立软件系统的过程,基本思想非常简单,即放弃那种原始的、一切从头开始的软件开发方式,在两次或多次不同的软件开发过程中重复使用相同或相近的软件元素,这些可复用的软件元素包括对象类、通用组件、软件体系结构、测试用例、设计文档等,通常把这些可复用的元素称作软构件,可重用的软构件越多,重用的粒度越大[2]。使用软件复用技术可以减少软件开发活动中大量的重复性的工作,提高软件生产率,降低开发成本,缩短开发周期,同时由于软构件大都经过严格的测试,在实际运行环境中得到的校验,因此,重用软构件有助于改善软件质量,提高软件的灵活性和标准化。

2.1 组件复用

组件复用是最常见的软件复用形式,一旦写好一个组件,它就可以被无数的应用程序使用[3]。组件是指语义完整、语法正确、具有可用价值的单位软件,它对一组类进行封装,完成一个或多个功能,隐藏具体的实现,只通过接口对外提供服务,能够独立工作或能同其他组件协同工作。目前组件的复用以二进制形式为主,这种复用的特点是无需修改代码,复用方式直接,在运行级上实现,不需要重新编译即可立即运行,因此容易实现即插即用的复用和分布环境中的复用。整个系统包括了组件的创建和复用,分为创建人员和复用人员(如图 2所示)。具体来讲,创建人员是指飞行控制项目管理小组,他们将应用系统分解成组件系统,标识并找出潜在的可复用软件单元,为应用系统和组件复用定义一种体系结构,并开发一套与特定业务有关的组件,如资源调度组件、数据处理组件等。

基于组件的设计方法,具有编程语言与开发环境的独立性,不同的开发人员采用不同的语言开发不同的组件,只要符合标准,就可以进行集成,形成相应的软件系统;具有组件功能的易扩充性,组件对外提供的服务是通过组件的接口进行的,新服务的增加只需要增加新的接口,添加一些与客户有关的新组件,就可以配置特定的客户系统[4]。如图3所示,雷达仿真系统组件库,复用的思想贯穿在整个设计和实现的过程中。

图2 系统结构

图3 雷达仿真系统组件库

2.2 软件体系结构复用

对于复杂的软件系统,系统结构的设计比算法和数据结构的设计更加重要。为大型的软件系统创建某种结构或框架,在以后相似的软件工程中进行复用,可以大幅度降低开发成本,缩短开发周期。如雷达仿真系统是具有许多相似行为的应用系统系列,在不同的雷达中一遍又一遍地重复相同处理、不引入体系复用,会造成极大的人力和财力消耗。随着雷达仿真系统的发展和完善,一些带有整体应用性的结构被逐渐“固定”下来,形成特定的系统结构,它包括系统的基本构成单元和关系,这就是框架的原始形成。框架的功能在于:把握许多相似应用程序的结构,为运行一批对象提供一个有组织的环境,组件不再相互调用方法,而是通过框架调用方法,框架的最终目的是能动态地集成组件,实现软件的即插即用。

3 静态链接库

静态链接库即使用的*.LIB文件,库中的代码最后需要链接到可执行文件中。静态链接库中,类、函数和数据被编译进一个二进制文件(通常扩展名为*.LIB),Visual C++的编译器在链接过程中将从静态库中恢复这些函数和数据并把他们和应用程序中的其他模块组合在一起生成可执行文件,这个过程称为“静态链接”。

4 实例应用

一般雷达仿真系统可能具有以下功能:场景产生、资源调度、数据处理、检测处理等。针对这些重复性功能模块,设计出相应的雷达仿真组件,以静态链接库技术实现,并在雷达仿真系统中使用这些组件,组件 Cooperation为中间组件,Cooperation负责增加或删除某个组件,控制各个组件之间的交互。

本实例是在Visual C++6.0开发环境下实现雷达系统仿真软件组件化。图4为系统结构图,系统开发步骤如下:

图4 雷达仿真软件结构

①将场景产生、资源调度、数据处理、检测处理、Cooperation等组件在Visual C++ 6.0开发环境下创建Win32 Static Library工程,在工程下编译链接通过,生成*.lib;

②在Visual C++6.0下创建主工程,为雷达仿真系统主框架工程,在工程中添加步骤1产生的所有静态链接库工程;

③在 Visual C++6.0菜单栏 Project->Dependencies.设置,将主工程依赖于其他组件工程;

④由中间组件Cooperation发送消息控制整个系统各个组件之间交互,使主系统有序运行。

5 结语

引入了一种软件工程中组件化软件设计思想,充分考虑了软件组件和框架的重用,通过集成各种组件,但是要考虑软件组件的稳定性,灵活方便地构造整个系统,使用静态链接库技术实现了雷达仿真软件组件化,提高了雷达仿真系统的可扩展性和可靠性,减小了雷达仿真软件的开发周期,具有较大的工程应用价值。建议在工程上将其模块化,再组件化应用。

[1]陆鑫,阎慧,黄胜召. 军事装备知识网格的研究与应用[J].通信技术,2010,43(05):124-126.

[2]宋丽红.COM+编程指南[M]. 李二勇,译.北京: 机械工业出版社,2005:1-4.

[3]廖泰安. 软件复用技术--在系统开发过程中考虑复用[M]. 宋志远,译.北京:电子工业出版社, 2007.

[4]宋超.面向对象编程技术导论[M].北京:机械工业出版社,2008.

猜你喜欢

静态组件框架
无人机智能巡检在光伏电站组件诊断中的应用
框架
最新进展!中老铁路开始静态验收
静态随机存储器在轨自检算法
广义框架的不相交性
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
关于原点对称的不规则Gabor框架的构造
风起新一代光伏组件膜层:SSG纳米自清洁膜层
油罐车静态侧倾稳定角的多体仿真计算