1)GetDisturbInfo:获取干扰信息描述;2)GetRuleName:获取规则描述;3)GetJoinLinkNumber:参与频率干扰分析的链路(或电台)数量;4)GetWorkInfoSign:规则是否需要电台工作参数的标识,如果需要电台参数,则需要将电台工作参数以固定的格式作为参数传入,以便于后续的频率干扰分析;5)SetAnalyseGrade:设置频率干扰分析强度等级(包括基本规则分析和严格规则分析),不同的分析强度包含了不同数量、等级的规则,这根据实际应用中的需要进行动态地配置;6)Start:规则分析(返回值说明:0:无干扰;1:轻微干扰;2:较强干扰;3:严重干扰)。
每一条具体规则作为父类的子类,根据具体的要求和需要各自实现父类公共的接口,并封装为动态连接库(Dynamic-Link Library,DLL),规则参数(如规则描述、规则干扰描述、规则等级等)通过XML文件进行配置,实现规则参数的动态配置。应用这种方式来实现规则,也便于规则的后续扩展与补充。
在此基础上,笔者共设计、实现了23条涵盖了短波(HF)电台、甚高频 (VHF)电台和超短波(UV)电台相互间的干扰分析规则。作为频率干扰分析软件所需的规则素材,在实际应用中根据操作员的意图和需要进行规则的组合和应用。
2.3规则的组合实现方法。
各条具体规则实现后,如何将这些规则组合起来使用,也是需要解决的问题。由于各项规则各自实现了公共接口(见图2),在规则的组合实现中就找到了实现的方法,这也是采用工厂模式的目的。
2.3.1规则的初始配置。
首先要对23条规则进行初始配置。配置具体某条规则的规则描述、干扰信息描述、规则等级等。
2.3.2设定干扰分析等级。
操作员根据不同天气情况和工作条件设定干扰分析的等级。后续的干扰分析将根据该设定值对所有的规则进行遍历和等级判断,从而实现了规则的灵活配置和调用。
2.3.3传递电台工作参数。
通过父类CommonInterface中GetWorkInfo-Sign函数将电台的工作参数传递给各项具体规则使用。具体规则根据整机的需要提取适合的工作参数以便于后续的干扰分析使用。
2.3.4规则集合的干扰分析。
当操作员开始频率干扰分析时,软件流程图如图3所示。
3与电台监控软件的兼容性设计。
机场现有的电台监控软件集成了短波(HF)电台、甚高频(VHF)电台和超短波(UV)电台工作参数设置和监视功能。但在设置电台工作参数时,操作员只能根据经验或者通信效果来判断电台之间是否存在相互干扰,无法预先、直观地判定干扰性质和干扰强度。
在已实现若干条规则的基础上,需要扩展现有电台监控软件的功能。在控制电台(包括短波电台、甚高频电台和超短波电台)时将电台的工作参数同时传递给频率干扰分析组件,以实时进行电台间的频率干扰分析,并将干扰分析结果显示给操作员供评估。与用户方交流过程中,用户方希望尽量少修改现有电台监控软件代码以保持原有软件的稳定性。为实现这一目的,我们设计了一个软件模块,在电台监控软件与频率干扰分析模块之间架起一座相互通信的“桥梁”.经过分析决定采取适配器(Adapter Method)模式来实现。
3.1适配器方法介绍[7].
适配器方法(Adapter Method)的目的在于:将一个类的接口转换成客户希望的另外一个接口,是的原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器的结构如图4所示。
其中:
Client在Adapter实例上调用一些操作,适配器调用Adaptee的操作来实现这个请求。
以下情况下适用于适配器模式: