面向对象思想在无线电系统设计中的应用
2015-04-02杨贞萍刘海峰何晓苑丁磊
杨贞萍 刘海峰 何晓苑 丁磊
摘要:为了适应并促进软件无线电应用系统的发展,提出一种基于系统体系(System Of System, SOS)的概念和面向对象思想的设计方法。通过对软件无线电系统体系和面向对象设计方法特性的分析,确定使用面向对象设计方法的合理性。以一个简要的软件无线电系统体系设计为例,使用系统建模语言 (System Modeling Language, SysML),介绍面向对象设计具体步骤。
关键词关键词:软件无线电;SOS;面向对象;SysML
DOIDOI:10.11907/rjdk.143822
中图分类号:TP311
文献标识码:A文章编号文章编号:16727800(2015)002003103
基金项目基金项目:
作者简介作者简介:杨贞萍(1987-),女,江苏溧阳人,硕士,中国电子科技集团公司第三十六研究所工程师,研究方向为无线电应用技术。
0引言
软件无线电系统具有开放、标准、可扩展的特性,同时具有较高数据吞吐率的硬件体系结构\[1\],已被广泛应用于雷达、电子战、测控等军事网络系统。随着此类系统工程的日益庞大,传统从下而上的大系统集成设计方式,已经无法满足应用体系的构建需求。系统体系(System of System,SOS),又称“系统的系统”,为此类大型应用系统的开发提供了一种解决方案。
系统体系将系统描述成由众多组件系统(Component System)集结而成\[2\]、组织关系松散的自适应体系,尤其适合于构建软件无线电系统这样一个由若干个天线、数字接收机、信号处理机、控制计算机和数传板等有限硬件和大量信号处理软件组件集成的相互协作的复杂系统。
在以往软件无线电系统产品的研发过程中,通常采用面向过程的设计方法。由于面向过程的设计方法倾向于针对特定需求开发一种相对稳定的集成系统体系结构(内向型体系结构),而软件无线电的应用领域十分宽泛,应用的作战环境复杂、作战使命千变万化,系统组成日益复杂,使用面向过程的开发思想,显然已难以满足软件无线电系统体系设计的要求。相对于传统的设计方法,面向对象的设计方法自始至终保持连贯可重用性,具备良好的扩展性,这种自底向上归纳和自顶而下分解相结合的方法,更适用于软件无线电系统体系设计。
本文将面向对象的思想引入软件无线电系统体系设计中,以系统建模语言(System Modeling Language, SysML)为建模工具,举例说明一个典型的软件无线电系统体系的设计过程。通过分析这种面向对象思想的设计方法,指出其应用价值。
1软件无线电系统体系
系统体系是一系列以任务为导向的专用系统的集合,集合而成的新系统不只是原有组件系统功能和性能的简单堆砌,而是能够根据系统目标和不断变化的需求进行重组,完成固定系统所不能达到的系统目标。系统体系具有组件系统自治管理、相互协作、松耦合集成的特点,并具有能够根据需求变化柔性应对的特性。本文将系统体系的概念引入软件无线电系统设计中,目的就是根据软件无线电的特点寻找一种适合软件无线电系统体系的设计方法。将软件无线电的组件系统定义为各自独立的分系统,将整个系统体系视为使用方,每个组件分系统视为提供方,则一个具备SOS特性的典型的总线式软件无线电体系结构可用图1来表示。
从图1可以看出,标准组件提供方负责建立、维护、升级和发布标准组件库,如适应不同工作性能、状态和环境的信号处理组件。所有组件系统均按照技术标准保证技术实现,并分类、分层管理,定期发布组件索引库,提供指标、接口和能力等条件的搜索接口。
使用方在搭建软件无线电系统时,首先根据系统需求明确执行的技术标准、接口协议和总线系统,分析系统需要的组件类,并分解、计算出组件接口和指标,然后根据这些因素在组件系统指标库中搜索适用的标准组件,通过搭积木的方式实现系统。
由此可见,使用方不需要关注组件的具体实现细节,只需将设计重点放在分析系统的技术标准、接口和指标能力上,从标准组件库中选择最优的模块组合,从而实现软件无线电系统体系根据需求状态而“柔性”变化。同时,相对统一的组件系统指标库和技术标准,也可以保证不同软件无线电系统之间的横向复用性。
图1总线式软件无线电系统体系
2面向对象设计过程
2.1面向对象思想与建模语言
起源于软件工程领域的面向对象思想,强调从客观世界固有的事物出发,用人们认知世界和描述客观事物的思维习惯,强调客观事物的对象映射,对象与对象之间的关系如实地反映客观事物及其关系。使用面向对象方法可以保证系统设计的可重用性、可扩展性和可维护性。
SysML是在UML2.0基础上外扩的一种面向对象建模语言,支持包括美军的国防部体系结构框架(Department Of Defense Architecture Framework, DODAF)和我军的C4ISR (Command、Control、Communications、Computers、Intelligence、Surveillance、Reconnaissance)系统在内的系统体系架构标准。SysML能对系统工程的各种问题进行建模,适用于系统工程的不同阶段,特别是在系统工程的详细说明阶段和设计阶段,使用SysML来说明需求、系统结构、功能行为和分配非常有效\[3\]。因此,可以使用SysML对具有面向对象思想的软件无线电系统体系进行建模。
SysML的图形分类如图2所示,共定义了9种视图,分为4类,即需求图、结构图、行为图和参数图。行为图包括活动图、时序图、状态图和用例图;结构图包括块图、内部块图和包图。在完成系统建模的过程中,可以根据需要选取SysML中9种视图中的任意组合进行分析描述。
2.2软件无线电系统体系的面向对象设计过程
众所周知,面向对象设计方法具有抽象性、封装性、继承性和多态性。利用其抽象性,将每个组件系统视为一个类或者对象,从而确保组件系统的管理独立;利用其封装性,保证组件系统独立操作的能力;利用其继承性保证组件系统的演化发展;利用其多态性保证组件系统在不同软件无线电系统中的呈现行为;面对对象的设计方法对组件系统的地理位置无特殊要求。通过以上分析可以看出,面向对象的以上四大特性可以满足系统体系的五大特征,因此,在复杂的软件无线电系统设计过程中,使用面向对象的设计方法,能够始终保持系统体系的“柔性”特征。
图2SysML视图结构
使用面向对象的方法进行软件无线电系统体系开发,须遵循两个基本原则:“自顶向下,宽度适当”和“基于信息的交互”\[4\]。体系结构产品描述的首要原则就是“自顶向下,宽度一致”\[5\]。所谓的自顶向下就是将软件无线电系统视为一个“黑箱”,依据对其应用需求的分析,将这个“黑箱”划分为天线、接收机,处理机和控制台等顶层组件,再分别对这些组件逐层分解成二级组件、三级组件……随着分解层数的增加,分解的组件成几何级数增长,将导致管理和研制成本的急剧增加,因此要根据项目的技术特性适度控制分级的层数;同时,为了避免分解层次的“烟囱式结构”,也需要控制分解粒度,即控制每一个组件组成的横向宽度。一个软件无线电系统被自顶而下地从系统级分解到分系统级,从分系统级分解到单机级,再从单机级分解到独立的子模块级,在完成系统体系架构的同时,也保证了系统的纵向重用性和横向扩展性。
按照面向对象方法,系统体系中每个模块可以抽象为一个类。系统设计师在构建软件无线电系统时,以无线电信息的获取、处理、传输和应用为主线,将系统工作过程中涉及的模块映射为一个个相互交互的类或者对象,依据模块的接口、能力等确定类的输入和输出元素,使用对象、类之间基于数据的交互机制来实现软件无线电系统内部组件之间的信息交互。
基于以上设计原则,使用SysML建模语言和面向对象的设计方法来描述软件无线电系统体系的设计过程,可以分为4个步骤:建立需求模型、确定结构模型、明确模块之间的交互模型、设置参数模型。本文以图1中所示的总线式软件无线电系统体系为例,描述面向对象方法进行系统设计的4个步骤。按照系统特性和关键技术要求等因素可以对软件无线电系统的组件系统进行进一步分解,在分解建模的过程中,可以选取SysML中9种视图中的任意组合进行分析描述。
2.2.1系统需求模型建立
利用需求模型建立系统需求是系统设计的第一步,一个简易的软件无线电系统需求可以描述为如图3所示。需求模型按照层次化的方式描述系统需求之间、需求与其它需求之间的关系。
图3软件无线电系统需求模型
如图3所示,一个简易的软件无线电系统需求包括总体需求、功能需求、性能需求和资源需求等基本需求,并可以在基本需求的基础上从横向和纵向上扩展,丰富系统的需求描述。
2.2.2系统结构建模
系统需求描述完以后需要进行系统结构建模。可以使用SysML中的块定义图和内部块定义图对系统结构模型进行描述。块定义图是对系统组成结构和系统结构层级化的可视化定义和展示,模块层级化关系包括组合关系、聚合关系和泛化关系等。内部块图从模块组件如何相互连接的角度来描述模块的内部结构情况和联系方式。一个简易的软件无线电系统的块视图如图4所示,图中顶层为软件无线电系统(系统),其中数传系统、控制计算机、信号处理机、数字接收机和天线是其固有资源(资源),信号分析处理机可以在不同系统中应用是其临时资源(实体)。
图4软件无线电系统模块
2.2.3系统交互模型确立
系统需求和结构特征固化了以后,系统设计的重点就是要明确系统组件之间的行为关系。SysML中提供了活动图、用例图、状态图和时序图4种视图来表示系统的行为特征。根据软件无线电系统体系的特点,可以选时序图作为内部组件交互关系的主要视图描述。
2.2.4系统参数模型设置
系统设计的最后一步是设计参数结构及关系,以表示各个组件属性值之间的耦合关系,以及各属性值的变化对其它属性的影响程度,如软件无线电系统中采样速率和带宽之间的参数关系。借助于SysML建模方法,可以使用SysML的参数图来描述系统性能指标参数方面的要求、约束及关系、定义系统属性以及属性之间的关系。
通过以上4个步骤完成软件无线电系统体系的分解,建立需求模型、结构模型、交互模型和参数模型,分别从不同的角度对总线式软件无线电系统进可视化描述,实现系统的总体架构设计。
3面向对象软件无线电系统体系设计应用价值
使用面向对象软件无线电系统体系的设计方法,可以使系统设计人员只关注某个层次的组件设计、组件属性和组件之间的关系,而不需要深入到各个组件的内部详细设计。与传统设计方法相比,采用面向对象系统体系设计方法具有广泛的优势,两者特性比较如表1所示。
从表1可以看出,面向对象体系系统设计方法,将系统组件抽象成一个类或者对象,保证了系统的封装性和继承性。其系统体系特性具备扩展性,子系统之间能够实现松耦合、动态组合和自治管理。这种设计方式非常适用于软件无线电系统应用领域,能够满足越来越复杂的系统架构和需求多变性要求。
4结语
本文将系统体系的概念和面向对象的设计思想引入软件无线电系统开发中,提出了一种软件无线电系统的设计方法。以一个总线式软件无线电系统为例,从系统顶层开始分解,将组件系统抽象成一个独立的类或者对象,使用当前流行的系统建模语言SysML进行系统建模。利用这种逐层分解、分析建模的设计方法,可以使软件无线电系统体系的设计具有面向对象的特性。对比分析表明,这种设计方法具有较好的应用前景。