设计模式在飞行仿真软件中的应用.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《设计模式在飞行仿真软件中的应用.pdf》由会员分享,可在线阅读,更多相关《设计模式在飞行仿真软件中的应用.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机与现代化2009年第3期J ISUANJ I YU XI ANDA IHUA总第163期文章编号:100622475(2009)0320130204收稿日期:2008212210作者简介:高艳辉(19762),男,河北辛集人,南京航空航天大学自动化学院助理工程师,硕士,研究方向:飞行控制系统设计与仿真;龚华军(19642),男,浙江慈溪人,教授,研究方向:飞行控制,综合控制;李志宇(19762),男,黑龙江人,助理研究员,研究方向:数字控制系统。设计模式在飞行仿真软件中的应用高艳辉,龚华军,李志宇(南京航空航天大学自动化学院,江苏 南京210016)摘要:飞行仿真已经成为飞行控制系统分析
2、、设计和研发过程的一个重要部分,仿真软件的设计是实现仿真目的的关键。面向对象仿真方法是当前飞行仿真软件发展的一个重要方向。而设计模式是面向对象技术的最新进展之一。本文介绍了设计模式的原则与策略,简要描述了飞行仿真系统的结构与主要功能。以此为基础,通过UML类图示例,详细论述了多个设计模式在飞行仿真软件设计中的应用。最后重新设计和开发了数字飞行仿真软件。关键词:设计模式;飞行仿真;面向对象;飞行仿真系统中图分类号:TP391.9 文献标识码:AApplication of Design Patterns in Flight Si mulation SoftwareGAO Yan2hui,GONG
3、 Hua2jun,L I Zhi2yu(College ofAutomation Engineering,NanjingUniversity ofAeronautics and Astronautics,Nanjing 210016,China)Abstract:Object2oriented simulation(OOS)is an important development trend in the current flight simulation community.Somesimulation software has little maintainability and reusa
4、bility for the developers dont master object2oriented technology well e2nough.Flight simulation systems arent adapted to the variety of simulation task.The design pattern is one of the latest progres2ses in the object2oriented field.This paper introduces the principles and strategiesof design patter
5、ns,the structure of flight simu2lation system is briefly described.Based on them,it is discussed in detail that several design patterns are applied in the design offlight simulation software,and the UML class diagrams are drew up.Finally,the flight simulation software is redesigned and de2veloped.Ke
6、y words:design patterns;flight simulation;object2oriented;flight simulation system0 引 言飞行仿真技术已经成为飞行控制系统分析、设计和研发过程的一个重要部分。一个通用的飞行仿真软件可以明显地减少飞行控制系统研发的时间、成本和风险。但是这对仿真软件的设计提出了很高的要求,结构设计不仅要合理,而且还要具有良好的复用性、可靠性。目前飞行仿真软件的开发已经开始采用面向对象的方法和工具,如Flightgear、Alsim等飞行仿真软件。参与仿真软件开发的各专业人员既需要掌握飞行动力学方面的知识,也要掌握计算机编程技术,能
7、够很好地使用面向对象技术,设计飞行仿真软件中的各个类以及对象间的通信。设计模式是面向对象技术的最新进展之一。设计模式是在具体的背景环境中处理问题的方法,其目的是使那些在特定环境中工作良好的设计得以在相似的环境中被其他人再次应用。现在软件开发人员除了继续发现新的模式外,已经有越来越多的人将目光集中在现有模式在一些大型软件系统中的应用。利用模式的思想,我们只要遵守设计准则,合理选用、组合设计模式即可。利用已经设计的成熟技术,一方2009年第3期高艳辉等:设计模式在飞行仿真软件中的应用131面可以使仿真软件系统更灵活,大幅度提升软件系统应对变化的能力,最终复用性会更好;另一方面,可以大大减少软件设计
8、的工作量,提高仿真软件的质量、可靠性和生产率。1 设计模式1.1设计模式简介二十世纪90年代中期,随着Gamma,Hel m,John2son and Vlissides合著的 设计模式:可复用面向对象软件的基础 的出版,设计模式的思想逐渐开始流行起来。每一个设计模式都是在某一个背景下某个问题的一种解决方案,这些方案经过了千锤百炼的考验,是成功的解决方法的总结。每个模式主要包括:模式名称、目的(即要解决的问题)、实现方法以及实现该模式必须考虑的限制和约束等几个项目。在软件设计中,应用设计模式具有如下优点:复用解决方案。通过复用已经公认的设计,我们可以在解决问题时取得先发优势,避免重复犯错,从他
9、人的经验中获益,帮助设计者将新的设计建立在以往工作的基础上,快速解决问题。确立通用术语。在大型软件开发中,需要许多技术人员交流和协作开发软件。设计模式可以提供共同的词汇基础和对问题的共识。提高软件的可维护性。所有的模式都是久经考验的解决方案,比新构思的方案更善于应对变化。同时这些代码更简练,易于理解、维护。另外,设计模式可以提供一张软件各组件的关系图。使开发人员将精力集中于软件的总体设计,不必被细节束缚。1.2设计模式的原则与策略在参考文献1 中提出了设计模式的原则与策略,主要包括如下几项:(1)开闭原则,即允许扩展软件,禁止修改软件。从背景设计原则,即在设计各部分所呈现的细节之前先创建总体概
10、念。(2)依赖倒置原则,即高层模块不应该依赖于底层模块,细节应该依赖于抽象类。(3)封装变化原则,即一个类只封装一个变化。(4)理性怀疑原则,即小心过分依赖模式,模式都是有益的,但并非颠扑不灭的“真理”。2 飞行仿真系统的结构飞行仿真是以航空飞行器的运行状况为研究对象,面向复杂系统的仿真,主要包括飞行动力学仿真、飞行环境仿真等。飞行动力学模型是飞行仿真的基础,一般采用六自由度非线性全量运动方程。飞行仿真软件要完成飞机空气动力特性、发动机动力特性和大气特性等的计算,求解飞机运动方程。主要组成及各模块之间的关系如图1所示。图1 仿真软件结构图输入数据包括:舵面的输出、油门指令(或油门位置)以及其他
11、配置文件;输出数据包括:飞行参数。图1中,大气环境计算包括大气温度、压强、当地重力加速度以及飞机的马赫数、动静压等;发动机模块计算发动机的推力以及油耗、飞机质量、重心等;飞机六自由度运动方程模块解算飞机六自由度非线性全量运动方程,计算出的飞行参数包括:姿态、位置、加速度和角速度等。3 设计模式的应用下面主要讨论几个典型的设计模式在飞行仿真软件中的应用。3.1 Singleton模式Singleton模式比较简单,而且在单线程应用程序中非常常用。它的意图是:软件中的每个对象都使用Singleton类的同一个实例,并提供一个访问它的全局访问点。在飞行仿真软件中,存在部分类被其他几个类使用的情况。例
12、如:At mosphere类(计算温度、压强、当地重力加速度等大气环境参数)被Gravity类(计算重力在机体轴上的各分量)、Airdata类(计算音速、动压等)以及EquationMotion类(求解六自由度运动方程)调用。在程序中,使用Singleton模式,不用必须负责将Atmosphere实例四处传递给所有要使用它的对象,At mosphere类只允许实例一个对象,其他类在使用它时,自动会获取这个实例对象。高逼真度的飞行仿真需要一定的实时性,因此在132计 算 机 与 现 代 化2009年第3期仿真过程中,我们不希望反复地实例化、然后再销毁这些对象。这会明显降低系统的性能。最好按需要由
13、类自己负责实例化,而且只进行一次。应用Single2ton模式,可以方便地解决这个问题。3.2 Observer模式在参考文献2 中,Observer模式定义为“对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知并自动更新”。在飞行仿真过程中,需要计算在机体轴坐标系上的合力。其中,有的力可能随时增加或去掉。第一,有时需要增加外力干扰,比如:采用火箭助推发射的无人机,火箭的推力以及各个火箭之间的不对称力,都需要考虑。对于地面滑跑起飞的飞机,起落架阻力、地面摩擦力等,也是存在变化的。最后,风对飞机的干扰力,也需要随时加入、随时撤销。因此可以利用Observer
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 模式 飞行 仿真 软件 中的 应用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内