塔台模拟机飞行进程单模块的设计与实现
**** Hidden Message ***** 塔台模拟机飞行进程单模块的设计与实现<BR>吴喜生,张建伟<BR>四川大学计算机学院,成都 610064;四川大学图形图像研究所,成都 610045<BR>摘要:飞行进程单模块是管制员用来记录飞行计划基本信息、管制员指令等相关内容信息,是塔台模拟<BR>机系统中的一个重要功能模块。分析了面向服务架构(SOA)体系的概念及其所具有的优势,针对飞行进<BR>程单功能模块的特点,给出了基于SOA 的飞行进程单功能模块的设计方案,利用面向对象软件设计中的<BR>MVC 模式实现了飞行进程单模板生成系统,介绍了IER512C 热敏打印机的串口编程及飞行进程单打印的<BR>业务流程,并对整体功能进行了模块化,使其方便地应用于塔台模拟机系统中。<BR>关键字:塔台模拟机;飞行进程单;面向服务的架构(SOA);MVC 设计模式<BR>中图分类号:TP311 文献标示码:A<BR>Design and implementation of flight strip in tower simulator<BR>WU Xi-sheng , ZHANG Jian-wei<BR>Dept. of Computer Science, Chengdu 610064;<BR>Institute of Image and Graphics, Sichuan University, Chengdu 610045<BR>Abstract: The filght strip is a important part in tower simulator system which used to record the informations<BR>of flight plans or commands of controller.The conception of SOA and the predominance of SOA were analysed.A<BR>design method based on SOA was given ,and use the MVC to realize the template of flight strip system.The<BR>programme of IER512C printer and the flow of printing were introduced.The whole modual can be applied into<BR>the tower simulator system.<BR>Key Words: tower simulator; flight strip; SOA; MVC<BR>1. 引言<BR>塔台模拟机是分析和验证机场管制程序的信息化工具,它通过采用虚拟现实技术和计算<BR>机逼真地再现塔台管制员的工作环境,并实时地与塔台管制员进行交互,是培训机场塔台管<BR>制人员的有效装备。而飞行进程单作为管制员工作中的一个“信息窗”,它必须能够准确、<BR>简明、可靠地体现航空器地运行状态,帮助管制员准确地掌握航空器的航行信息、运行状态,<BR>使管制员之间能够方便地进行管制协调和移交,并为分析管制工作提供了实际的数据,对调<BR>配飞机冲突和确保空管安全有着重大的意义.因此,飞行进程单模块是塔台模拟机系统中的<BR>一个重要功能组成模块。本文针对飞行进程单的特点,采用面向对象服务体系架构对塔台模<BR>拟机系统中飞行进程单功能模块进行了分析和设计,并通过对IER512C 热敏打印机进行串口<BR>编程,在管制员席位进行飞行进程单数据的串口通讯,从而形成一个易于维护和扩展的功能<BR>模块,为塔台模拟机管制员席位子系统打印飞行进程单功能的调用提供了便利。<BR>2. 面向服务的架构(SOA)简述<BR>SOA(Server-Oriented Architecture,面向服务的架构),是一种粗粒度、松耦合的<BR>系统架构模型。它对单一的应用系统创建抽象层对其进行封装后,以松耦合的方式加入企业<BR>服务的集合中,唯一需要关注的是服务所描述的接口,这样就屏蔽了内部复杂的业务环节,<BR>所以在不修改系统现有架构的情况下,SOA 可以将系统和应用迅速地转化成服务,而这些服<BR>务提供了一些标准的接口供调用,使得企业可以通过组合和重用这些服务模块进行业务整<BR>合,以快速地应对业务的变化。SOA 服务是使用消息进行通信的,消息可以采用XML 进行定<BR>义,XML 规定了服务与服务之间,以及服务自身内部数据交换的结构格式,是整个SOA 架构<BR>的重要组成部分。<BR>在基于SOA 的架构体系中,主要包括服务注册中心、服务提供者、服务请求者三种角<BR>色。其中服务注册中心对发布的服务进行注册、并负责服务使用者在服务注册中心的查询;<BR>基金项目:国家863 计划重点项目 新型管制自动化系统核心技术(2006AA12A104) 申请人:张建伟<BR>服务提供者用于发布自己的服务,并为该服务创建一个描述和对使用自身服务的请求进行<BR>响应;服务使用者寻找所需的服务,并通过服务描述来绑定或者调用服务提供者所提供的<BR>服务。在体系结构中的每个实体都扮演者这三种角色的一种或多种。<BR>3. 基于SOA 的飞行进程单功能模块<BR>3.1 功能分析<BR>飞行进程单是管制员用来记录航空器信息的有效工具,它信息容量大,与飞行有关的<BR>信息均可以不同的形式显示在进程单上。它可以有效的显示管制员的指挥意图,从而为塔<BR>台模拟机训练的分析管制工作提供了一个可靠的依据。<BR>飞行进程单模块主要涉及到三个功能:飞行进程单模板生成、获取飞行计划数据和进<BR>程单模板数据、把数据传输到IER512C 热敏打印机缓存中进行打印。进程单模板是由进程<BR>单模板生成系统生成的。飞行计划数据由底层数据库获得,如航空器的呼号、机型、起飞<BR>机场、停机位、目的机场、跑道等信息,最后通过IER512C 打印机串口编程,把获取的动<BR>态飞行进程单数据一起存储到打印机的缓存中,供打印机调用打印成纸质进程单。<BR>3.2 体系架构<BR>基于以上分析,采用面向对象的服务架构对飞行进程单功能模块进行了设计:对飞行<BR>进程单模板生成系统进行了封装,使其提供标准的对外服务接口,供管制员席位调用。管<BR>制员进入管制员席位子系统,当接收到打印飞行进程单的消息后,则调用飞行进程单模板<BR>生成系统提供的接口获取进程单模板的数据,随后对其进行解析生成进程单模板种各元素<BR>的属性,同时从数据库底层中获取当前航空器的飞行计划的基本信息。其中,管制员席位<BR>系统与进程单模板生成系统之间通过SOA 服务的消息通信XML 文件进行传输数据,对数据<BR>格式的定义采用Xsd(XML Schema Define)文件描述,用于定义飞行进程单数据的明细。<BR>具体功能模块架构图如图1 所示:<BR>图1 飞行进程单功能模块体系架构图<BR>4. 具体实现<BR>4.1 飞行进程单模板生成系统<BR>飞行进程单模板生成系统采用面向对象的软件涉及思想中的MVC 设计模式而设计的,<BR>主要是实现管制员自定义制定飞行进程单模板的功能。<BR>MVC (Model—View - Controller,模型—视图—控制器)是一种很重要的设计模式,它<BR>包括三种部件:模型(Model)、视图(View)、控制器(Controller)。其中模型主要用来制<BR>定业务流程、状态处理及相应的业务规则,代表着事物逻辑模块,是整个模型的核心。视<BR>图是用户界面部分,主管应用程序与人之间的接口,不仅为用户提供了输入的手段,而且<BR>将触发应用逻辑运行,并且将结果以某种形式显示给用户。控制器属于流程控制模块,它<BR>是用户界面与模型的接口,负责将用户的动作转换成模型的操作,然后将下一步用户界面<BR>的责任委派给一个适当的视图组件。这三大部件各自完成自己的任务又相互协作,这样不<BR>仅提高了代码的重用率,减少了数据表达、数据描述和应用操作的耦合度,而且加快了应<BR>用程序的开发。MVC各模块功能协作图如图2所示:<BR>图2 MVC 模式架构图 图3 飞行进程单模板生成系统界面图<BR>为了提高系统的开发效率和系统的扩展性,该进程单模板生成系统采用MVC 模式进行<BR>设计。其中模型类主要包括事物对象类:Line(线条)、Text(静态标签)、Symbol(动态<BR>文本)和应用对象类:Strip(进程单)。事物对象类表示每个图元实体,应用对象类主要<BR>充当整个控制器。本系统采用了面向对象设计中的聚合的方法,将事物对象作为应用对象<BR>的一个属性,在系统的操作期间,事务对象将驻留在应用对象中。应用对象类的方法主要<BR>是对相应的事物对象进行操作,如EditPrimitive()、DrawLine()、Moveline()、<BR>DeleteObject()等可以对图像进行相应的添加、编辑、删除等操作。控制器类主要是<BR>StripDalog 类、CFcparser 类,根据用户在界面上的请求操作改变当前Model 对象内聚合<BR>的事物对象的状态,并根据用户的请求选择相应的视图来响应客户,StripDalog 类用来接<BR>收用户的键盘消息,如移动、删除、设置边框、保存等,CFcparser 类从模型类中获取相<BR>关对象的信息,并通过对XML 文件的添加、删除、编辑等操作把信息存储到XML 文件中。<BR>管制员可以在进程单格模板内任意添加图元,图元主要包括线条、静态标签和动态文<BR>本(管制员席位从底层数据库获取的飞行计划数据),并可以对图元进行拖动、删除等操作,<BR>最终保存为进程单模板。当进程单制定好后管制员可以设定当前的离港和进港的进程单模<BR>板。系统界面如图3 所示:<BR>4.2 IER512C 打印机串口编程<BR>飞行进程单打印机选用法国IER 公司的IER512C 热敏打印机,热敏打印头结构为640<BR>点/行,水平方向点密度8 点/mm,垂直方向行间距8 点/mm,有效打印宽度80mm,打印的最<BR>大速度为200mm/sec.。该热敏打印机能高质量地打印出从主机传送过来的文本、图形、条<BR>形码,并且具有打印速度快、噪声小、可靠性高、字迹清晰、机头小而轻等优点,因此适<BR>合飞行进程单的打印。该打印机的打印飞行进程单业务流程如图4 所示:<BR>图4 飞行进程单打印的业务流程 图5 管制员席位飞行计划列表窗口<BR>其中IER512C 打印机的打印数据是参照PECTABs来定义的,所谓的PECTAB 就是被传<BR>送到打印机数据区上的一个字符串文件,在本功能模块中即表示为需打印的飞行进程单信<BR>息,每一个PECTAB 由报头和主体两部分组成:<BR>(1)报头:由18 个字符串组成,主要包含打印文件的基本信息和PECTAB 的行为码,<BR>如版本号、打印的宽度、自增长度、元素分割符、元素引用符等。在本程序中采用“BTT0201]B<BR>250000=#”定义报头。<BR>(2)主体:由元素描述符组成,每一个元素描述符都包含一个序号(01H-FFH),且必须<BR>是自增型的,每一个元素描述符给出了关联数据元素的字符串,且用报头中定义的元素分<BR>隔符进行分割。主体部分主要包含以下几个字段: 元素序号、元素类型、元素选择码、映<BR>射指示器、元素方向、垂直位置、水平位置、高、宽、普通数据、分隔符。如:01C0<BR>1020040506CCA1310#,表示在飞行进程单(x,y)为(4,20)位置的水平方向打印高度为5,<BR>宽度为6的CCA1310字符。<BR>打印开始时调用CIEprint 类主要负责打印机串口的初始化、打印线程的创建及打印数<BR>据的处理。打印数据通过ReadStripXML()方法获取XML 文件中的进程单模板,并把其转<BR>化成打印机能够识别的格式,即把解析后的XML 属性及飞行计划基本信息连接成一个<BR>PECTAB 字符串并通过串口传输到打印机的数据缓存区中进行打印。其中ComputePos_IER<BR>()方法负责把进程单模板生成系统视图窗口上的位置转换成打印机上的位置,GetSymbol<BR>()方法负责获取从底层数据库读取飞行计划的基本信息。管制员席位从底层数据库访问<BR>中读取飞行计划基本信息后,以计划列表的形式向管制员提供显示,并根据目标的更新数<BR>据,实时反映计划所对应航班的状态变化等。当需要打印进程单时向窗体发送一个打印消<BR>息,并通过GetFlyPlan()方法从数据库底层获取飞行计划数据,并调用CIEprint 类的<BR>SetStrip()方法设置当前选中的航空器信息和当前设置的飞行进程单,最后通过激活打<BR>印机的SetOutput()方法把数据传输到打印机缓存中完成打印。管制员席位飞行计划窗<BR>口如图5 所示,通过双击选中的航空器即可完成打印。<BR>5. 结论<BR>利用SOA 体系架构和MVC 设计模式的优良特性对飞行进程单功能模块进行了设计,使<BR>得系统具备良好的灵活性和可扩展性,并强化了面向对象的编程思想,提高了开发效率和<BR>软件复用度。此功能模块已经成功地应用于塔台模拟机管制员席位子系统中,并且在多个<BR>不同的机场得到了很好的应用。<BR>本文作者创新点:成功的把SOA 架构体系和MVC 设计模式应用到塔台模拟机飞行进程<BR>单功能模块中,使得此功能模块与塔台模拟机系统有效地集成,使其对不同的机场塔台模<BR>拟机具有较强的适用性,实践也论证了该功能模块优越的可扩展性及可维护性。<BR>参 考 文 献<BR> Erl, Thomas.Service-Oriented Architectures.Prentice Hall,2004.<BR> 张巧霞, 范黎林. 基于 SOA 实现企业应用集成 微计算机信息,2007,10-3:12-14<BR> 童鑫,李军义. 面向SOA 的企业服务总线研究与实现 计算机应用,2008,28:819-822<BR> 高保庆,傅秀芬等 一个基于MVC 的通用 Client/Server 应用开发框架 计算机技术与发展,2008,<BR>18:126-129<BR> 杨大勇. 空中交通管制电子进程单管理系统的设计与实现 北京:北京邮电大学 2007,4<BR> 董襄宁,史天民,刘星.飞行进程单的自动生成系统研究 民用航空 2002,1:14-17<BR> IER 512C PRINTER TECHNICAL MANUAL N06112A. 2000,5 法国:IER 公司<BR>作者简介:吴喜生(1985-),男(汉族),四川大学计算机学院硕士研究生,主要研究方向:计算机网<BR>络与信息系统;张建伟(1971-),男(汉族),副教授,主要研究方向:系统仿真、智能系统和空中交通<BR>管理系统。<BR>Biography: Wu Xisheng(1985-), male(Han nationality), Master, School of Computer Science of<BR>Sichuan University, majored in Computer Network and Information System;Zhang<BR>Jianwei(1971-),male(Han nationality), adjunct professor,majored in systems simulation,<BR>intelligent system and air traffic management system.kan kan
看看能下附件不 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk <P>非常感谢。。。。。</P> 好东西,不错,感谢楼主分享1 好东西,不错,感谢楼主分享1 专业课程实验指导书 感谢分享,认真学习中。
页:
[1]