基于TENA定义语言的文本编辑和可视化编译的研究与实现硕士毕业论文.doc

上传人:来看看 文档编号:3923140 上传时间:2019-10-10 格式:DOC 页数:77 大小:4.03MB
返回 下载 相关 举报
基于TENA定义语言的文本编辑和可视化编译的研究与实现硕士毕业论文.doc_第1页
第1页 / 共77页
基于TENA定义语言的文本编辑和可视化编译的研究与实现硕士毕业论文.doc_第2页
第2页 / 共77页
基于TENA定义语言的文本编辑和可视化编译的研究与实现硕士毕业论文.doc_第3页
第3页 / 共77页
基于TENA定义语言的文本编辑和可视化编译的研究与实现硕士毕业论文.doc_第4页
第4页 / 共77页
基于TENA定义语言的文本编辑和可视化编译的研究与实现硕士毕业论文.doc_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《基于TENA定义语言的文本编辑和可视化编译的研究与实现硕士毕业论文.doc》由会员分享,可在线阅读,更多相关《基于TENA定义语言的文本编辑和可视化编译的研究与实现硕士毕业论文.doc(77页珍藏版)》请在三一文库上搜索。

1、浙江大学硕士学位论文 AbstractTENA定义语言的文本编辑和可视化编译的研究与实现 摘要TENA是美国开发的试验与训练领域的体系结构,它为靶场试验训练资源的开发、集成和互操作提供公共的体系结构框架。由于我国的军工试验和训练在信息化过程中面临着越来越大的挑战,研发我们自己的虚拟试验验证使能体系结构(VITA)是非常必要的。基于TDL(TENA定义语言)的一体化模型构建工具软件,是VITA框架工具的重要组成部分,能提高模型构建效率,为模型测试验证提供手段,并为模型的复用提供了基础。在此背景下,本文基于TDL语言要素,采用Eclipse RCP开发架构来完成该模型构建工具,本文主要完成了以下几

2、方面的工作:1.根据客户需求,对系统的功能进行了总体设计和模块化划分,将系统分成了五个功能模块。2.阐述了文本编辑模块的工作原理,确定了实现TDL文本编辑器的方法,通过分析TDL语言的文法结构,在开源框架XText的帮助下,生成了TDL编辑器,实现了高亮显示、错误提示、格式美化和内容辅助等功能。3.通过封装调用TDL编译器和VC编译器,实现了框架代码的生成和框架代码的编译功能。4.开发了一体化集成平台,重点设计和完成了项目生成与管理、可视化文本编辑、可视化编译等功能,为其它功能模块的集成奠定了基础。最后总结了上述工作的经验教训,对未来的工作进行了规划和展望。关键词:TDL,框架代码,文本编辑,

3、编译i浙江大学硕士学位论文 AbstractAbstractTest and Training Enabling Architecture (TENA) is a common architecture being developed by U.S for test and training community,which provides architectural framework for the development, integration and interoperability of range test and training resources. Research our

4、 own Virtual Testing Enabling Architecture(VITA)is necessary because the test and training of military in the information process is facing many challenges. VIMT, which is an important part of the VITA, can improve the efficiency of model building, provide means for model testing and support model r

5、eusing. Based on the TDL language, this paper complete the model building tool by the Eclipse RCP development framework. This paper mainly complete the following aspects:1. According to the needs of the client, we design the whole system and devide the system into five modules.2. Analyse the princip

6、le of the text editor module and design the method of the TDL editor. Through the analysis of the TDL language grammer structure, we generate the TDL editor with the help of the open source framework XText, realizing the following functions:Syntax Highlighting, Error Marking, Content Formatting, Con

7、tent Assistance etc.3. we realizing the functions of the generation and compilation of the framework codes(C+) by encapsulating TDL compiler and VC compiler.4. Complete the development of the integrated platform, design and finish the project formation and management, visualization text editing, vis

8、ual compiler functions, which provide a foundation for integrating the other function modules. At last, we summarize the experience and prospect the future work.Key Words:TDL, Framework Codes, Text Editor, Compilation ii浙江大学硕士学位论文 目录目录摘要iAbstractii图目录IV表目录V第1章 绪论11.1 课题背景11.2 虚拟试验验证技术发展状况11.3 本文主要工作

9、和意义31.4 论文组织结构41.5 本章小结4第2章 相关知识介绍52.1 TDL定义语言52.1.1 TDL关键字52.1.2 导入(import)62.1.3 包(package)62.1.4 状态分布对象(SDO)62.1.5 消息对象(message)72.1.6 本地对象(Local Class)82.1.7 向量数据类型(Vector)92.1.8 接口模型(Interface)92.1.9 枚举数据类型(Enumetation)92.1.10 TDL的基本数据类型102.2 Eclipse RCP框架102.2.1 Eclipse RCP概述102.2.2 Eclipse RC

10、P体系结构112.2.3 Eclipse RCP的优点和应用122.3 本章小结12第3章 系统总体设计133.1 总体设计133.2 功能模块划分143.2.1 文本编辑模块143.2.2 可视化建模模块153.2.3 可视化框架代码生成与编译模块153.2.4 对象模型测试验证模块153.2.5 一体化集成平台163.3 本章小结16第4章 TDL文本编辑模块的研究174.1 功能介绍174.2 文本编辑模块的工作原理174.2.1 TDL的I/O操作184.2.2 语法高亮显示194.2.3 语法错误提示194.2.4 格式美化194.2.5 快捷提示和自动补充204.3 文本编辑器的生

11、成方法214.3.1 XText介绍214.3.2 XText的工作原理224.3.3 领域特定语言224.3.4 TDL的语法定义224.3.5 TDL编辑器的生成方法264.4 本章小结27第5章 框架代码生成与编译模块的设计285.1 功能介绍285.2 模块概要设计295.2.1 TDL编译295.2.2 错误定位315.2.3 框架代码编译325.3 框架代码生成与编译模块的详细设计335.4 本章小结36第6章 一体化集成平台的设计376.1 一体化集成平台概述376.2 一体化集成平台的设计376.2.1 项目生成与管理功能376.2.2 可视化文本编辑功能436.2.3 可视化

12、框架代码生成与编译功能496.3 本章小结52第7章 系统的实现537.1 文本编辑器的实现537.2 框架代码生成与编译模块的实现567.2.1 框架代码生成的实现567.2.2 框架代码编译的实现587.3 一体化集成平台的实现597.4 系统演示607.5 本章小结66第8章 总结与展望678.1 全文总结678.2 工作展望67参考文献69作者简历71致谢72III浙江大学硕士学位论文 图目录图目录图2.1 RCP的体系结构11图3.1 软件总体框架图14图3.2 可视化建模模块的子模块划分15图4.1 文本编辑模块子功能划分17图4.2 Eclipse编辑器的框架结构18图4.3 T

13、DL语法高亮实现过程19图4.4 VIMT快捷提示和自动补充工作流程21图5.1 可视化框架代码生成与编译模块的工作原理28图5.2 外部程序调用流程30图5.3 CDT工程文件生成流程31图5.4 错位定位的工作流程32图5.5 框架代码生成与编译模块的类图34图6.1 资源管理器组织结构38图6.2 项目生成与管理功能类图40图6.3 TDL编辑器多页格式设计44图6.4 可视化文本编辑功能类图45图6.5 打开操作的执行过程46图6.6 主菜单栏填充流程48图6.7 可视化TDL源码编译类图50图6.8 可视化框架代码编译类图50图6.9 显示控制台方法的工作流程52图7.1 新建的XT

14、ext工程54图7.2 TDL语法规范55图7.3 生成TDL语言组件55图7.4 TDL文本编辑效果56图7.5 程序主框架界面示意图59图7.6 VITA工程向导界面60图7.7 VIMT工作界面61图7.8 VITA工程文件61图7.9 示例文件OMSample.vdl62图7.10 编译文件OMSample.vdl63图7.11 OMSample.vdl的编译结果63图7.12 设置CPP编译参数64图7.13 编译C+工程文件65图7.14 C+工程文件编译结果65V浙江大学硕士学位论文 表目录表目录表2.1 TDL关键字5表2.2 TDL的基本数据类型10表4.1 EBNF的操作符

15、23表5.1 可视化框架代码生成与编译模块的功能28表6.1 OpenAction类的属性定义45表6.2 ApplicationActionBarAdvisor类的属性定义47浙江大学硕士学位论文第1章 绪论第1章 绪论1.1 课题背景在国防工业领域,例如探月工程、大飞机研制和运载火箭开发等,由于产品的复杂性和新颖性,传统的试验方法受到客观环境限制,难以完成产品的综合性试验,因此一些重要系统和关键技术的试验必须采用虚拟试验验证技术,虚拟试验验证技术的研究对国防工业产品的开发具有重要意义。近年来,虚拟试验技术的研究逐渐兴起,研究思想与方法得到了初步认可,虚拟验证技术将系统工程方法、复杂系统建模

16、技术和计算机仿真技术结合在一起,取得了阶段性技术成果和应用成果1。虚拟试验验证技术可以实现全系统性能评价和验证,降低了技术风险、节省了开发费用、缩短了研制周期,具有传统试验方法无法比拟的优势,比如:美军为了试验M1主战坦克的作战性能,采用传统试验验证方式,大约要用两年时间才能完成所有试验科目,并且要花费数千万美元,但是采用虚拟试验验证技术只需三个月时间即可完成,所用经费更是大大降低。我国虚拟试验验证技术体系核心是结合应用需求构建面向我国军用产品的、统一的虚拟实验验证使能体系结构(Virtual Testing Enabling Architecture,简称VITA)1。对该技术的深入研究将使

17、军用产品的试验验证水平达到新的高度,基于TDL(TENA定义语言)的一体化模型构建工具软件是VITA框架工具的重要组成部分,该工具的研发会极大的提高模型构建效率,为模型验证测试提供有效手段,同时为模型复用提供基础。1.2 虚拟试验验证技术发展状况目前美国对虚拟试验验证技术的研究工作开展得较早,投入的资源很多,取得了关键进展,美国国防部经过长期研究成功开发出了试验与训练领域的公共体系结构TENA(Test and Training Enabling Architecture试验与训练使能体系结构),它为军方的产品试验和作战训练制定了标准规范,具有重要意义23。TENA可以克服客观环境限制,根据武

18、器产品测试标准和军方训练要求,将分布在各训练场和靶场的作战训练资源和武器测试资源结合在一起,形成一个逻辑靶场,为真实作战单元和虚拟作战单元提供交互,实现在现实环境中难以完成的测试和训练任务4。TENA的目标是促进作战训练资源与军工产品测试资源的交互,使不同的软件产品之间可以无障碍的协同工作,可以应用于不同的系统环境中,可以根据特定的训练和测试需要结合成具有特定功能的系统25。TENA的核心包括三大部分:TENA对象模型、TENA中间件和建立虚拟逻辑靶场的标准、规则6。TENA对象模型(LROM)采用统一建模语言(UML)和TENA定义的标准语言TDL语言,封装逻辑靶场的各种接口和协议,对逻辑靶

19、场事件中逻辑靶场各种资源之间交换的所有信息进行编码,实现靶场资源之间的语义交互。TDL语言是靶场资源之间实现语义互操作的基础,主要元素包括状态分布对象(SDO)、接口模型、本地对象、消息对象、向量、包等7-9。TENA的对象模型包含了描述靶场需要的各种信息,是对描述对象模型的各种特征的描述。对象模型类似于CORBA(Common Object Request Broker Architecture 公共对象请求代理体系结构)的元模型,但又有区别,它是CORBA元模型的扩展模型。TENA中间件实现了逻辑靶场中各种作战训练资源和武器测试资源之间通信和交互。它的API隐藏了对象操作的实现细节,编写的

20、软件应用代码,可用于不同的试验或训练靶场,适用于不同的底层通信机制,还可与各种武器系统及靶场设施进行接口10。我国军工试验和训练在信息化过程中面临的挑战越来越大,资源的不可重用性和不可组合性等问题造成了资源的浪费,因此国内试验和训练界对试验与训练使能体系结构的研究进程逐渐加快,自主研发虚拟试验验证使能体系结构(Virtual Testing Enabling Architecture,简称VITA)和虚拟试验场技术(Virtual Proving Group,简称VPG)。VPG是一个分布式、复杂的一体化虚拟试验系统,它为军工产品开发的全过程提供支持,提高了产品的开发效率,降低了开发风险和生产

21、成本10。由于建模和仿真高层体系结构(HLA)也使用于试验与训练领域,基于HLA的能力借鉴TENA思想对它进行扩充可以满足试验与训练互操作的要求,这也是目前我国研发虚拟试验验证使能体系结构的一种思路11。目前基于虚拟试验验证技术对虚拟靶场这一新型靶场试验模式的理论和技术研究工作取得了较大进展12-14。美国的研究与实践促进了TENA技术和相关产品的丰富与成熟,所取得的理论研究和实践应用成果对我国的虚拟试验验证使能体系结构的研究具有借鉴作用。但是TENA已经成为美军靶场指挥官委员会(RCC)的标准,它的一切核心技术都严格保密,并且我国开始研究虚拟试验验证技术的时间较晚,所以自主研发VITA以及它

22、的核心产品依然有很大挑战性7 15-17。1.3 本文主要工作和意义本文的主要工作是开发VITA框架的重要组成部分基于TDL的一体化模型构建工具软件,能提高模型构建效率,为模型测试验证提供方法,并为模型复用提供基础。为了开发基于TDL的一体化模型构建工具软件,需要对TDL编译、中间件协调代码自动生成等关键技术进行研究,然后在此基础上进行开发,包括可视化TDL编辑与生成、可视化建模、可视化对象模型代码自动生成、对象模型框架测试验证和一体化集成平台。本文需要完成的工作有以下三个部分:1. 实现TDL文本编辑器。该工具能支持TDL文本的编辑,并且包含支持文本格式美化,支持函数和关键字的高亮显示和快捷

23、提示,支持内容辅助等友好型功能。2. 通过封装调用TDL编译器和VC编译器,实现框架代码可视化生成(编译TDL文件生成C+文件)与框架代码可视化编译(编译C+文件生成对象模型组件或可执行程序)功能。3. 设计与实现一体化集成平台。利用Eclipse RCP框架构建一体化集成平台,主要实现项目生成与管理功能、可视化文本编辑功能和可视化TDL编译功能,方便以后对TDL编辑模块、可视化建模模块、框架代码生成与编译模块、对象模型框架测试验证模块进行集成,实现一体化模型构建工具。目前国内外对虚拟试验验证技术的研究比较热门,其中技术最为成熟的就是美国试验与训练使能体系结构TENA,它展示了强大的功能。国内

24、也有一些研究机构进行相关的研究,并发表了一些研究成果,但大多是理论研究成果,很少有实际产品。本文开发的基于TDL的一体化模型构建工具软件是国内虚拟试验测试使能体系结构VITA的重要组成工具,它的实现也可以为我国军工领域的虚拟试验技术的研究尽一份绵薄之力。1.4 论文组织结构本文分为七章,论文结构安排如下:第1章绪论。阐述了课题的背景,介绍了虚拟试验验证技术的发展状况,主要是美国的TENA框架的相关情况,最后说明了本文将要完成的工作内容和研究意义。第2章相关知识介绍。介绍了基于TDL的一体化模型构建工具软件开发工作涉及的相关知识、技术,包括TDL语言、Eclipse RCP技术。第3章系统总体设

25、计。介绍了系统的开发环境并根据客户的需求,梳理了系统需要实现的功能,将系统功能划分为五个功能模块,分别进行设计和开发。第4章TDL文本编辑模块研究。分析TDL文本编辑模块的工作原理,研究TDL语言的文法结构,在开源框架XText的辅助下,生成TDL文本编辑器,包括输入输出、语法高亮、错误提示、格式美化、内容辅助等功能。第5章框架代码生成与编译模块设计。对框架代码生成、框架代码编译、错误提示等功能进行了设计,详细介绍了框架代码生成和框架代码编译的实现方法。第6章一体化集成平台设计。设计一体化集成平台,为主要功能模块的集成提供基础,主要介绍了项目生成与管理、可视化文本编辑、可视化编译功能的设计。第

26、7章系统的实现。根据前面几章中对系统各功能的研究与设计,实现了TDL文本编辑模块、框架代码生成与编译模块以及一体化集成平台,并对系统的功能进行了演示。第8章总结与展望。对论文的研究工作进行了总结,并对后续的工作进行了展望。1.5 本章小结本章阐述了论文的课题背景,接着介绍了国内外虚拟试验验证技术的发展状况,主要是美国的TENA框架的相关情况,然后总体介绍了论文的研究内容和研究的意义,最后介绍了全文的结构安排。 4浙江大学硕士学位论文第2章相关知识介绍第2章 相关知识介绍本文的工作是开发TDL一体化模型构建工具,因此需要对相关知识有所了解,主要是模型描述语言TDL和客户端开发框架Eclipse

27、RCP。TDL语言是项目开发的基础,一体化模型构建工具中的TDL文本编辑器的实现就需要研究TDL语言的文法结构,Eclipse RCP框架是开发一体化模型构建工具的开发工具,对这些知识的了解可以为以后的设计开发工作提供便利。2.1 TDL定义语言IDL(Interface Description Language接口描述语言)是基于对象管理组织(OMG)的接口定义语言,TDL是TENA的定义语言,是对IDL的扩展以便于支持LROM(Logical Range Object Model逻辑靶场对象模型),它封装了LROM的各种接口和协议,是公共通信语言,在VITA中,TDL作为建模语言用来编写对

28、象模型描述文件,即VDL文件,再经过TDL编译器编译生成VOM(VITA对象模型)组件代码和VOM组件基本实现层的全部中间件协同代码,开发人员再在其中填写相关业务逻辑代码,形成各个应用。2.1.1 TDL关键字TDL语言一共包括30个关键字,具体情况如表2.1所示:表2.1 TDL关键字importpackagecharotectimplementsprivatevoidclasslocal classoutmessageinterfacevectorenumextendsunsigned shortshortonewayunsigned longlongbooleanunsigned lon

29、g longlong longstringfloatdoubleinraisesreadonlyinout2.1.2 导入(import)Import关键字允许一个VDL文件(及其生成VOM库和VOM基本实现库)导入其它VDL文件(及其生成VOM库和VOM基本实现库)。一个VDL文件编译后生成一个VOM库和一个VOM基本实现库,根据VDL文件import关系确定VOM库和VOM基本实现库的依赖关系。从最终用户角度来看,他们为应用程序所开发的基本实现库将依赖该实现库对应VDL文件生成的基本实现库。导入(import)位于VDL文件的开始,类似C+中的#include。导入一个VDL文件并不像C+

30、里的预处理文件包含,导入的VDL文件必须是一个完整的且符合语法的VOM定义。导入文件的语法很简单:import。2.1.3 包(package)不同VOM中的元素可能有相同的名称,这容易引起混淆,为了区分需要采用名称空间,同一个VOM中的所有元素必须包含在一个名称空间。名称空间在不同语言中用不同关键字表示,C+中用关键字namespace表示,IDL中用关键字module表示,TDL中用关键字package表示。C+和IDL对名称空间没有强制要求,但TDL语言的所以元素必须包含一个名称空间。package的语法如下所示:package packageName /名称空间中的所有元素(mater

31、ial);与其它语言不同,该结构在语句末尾有分号“;”。TDL也支持嵌套结构,它的完全限定名(full qualified name)写法与IDL和C+中一样,除了名称空间的关键字不同外,都采用“:”符号表示完全限定名,例如在包Sample中包含包Test,包Test中包含结构类型Loc,则这种嵌套结构表示为Sample:Test:Loc。2.1.4 状态分布对象(SDO)SDO是元模型的关键部分,它支持各个资源之间的分布式通信,SDO包含一些方法能够被远程调用,而且也包含公共状态,公共状态可以发布给所有订阅者,SDO的定义使用“class”关键字,使用“extends”关键字继承一个其它的S

32、DO类,可以拥有它的所有状态属性和方法并且可以定义自己的属性和方法,使用“implements”关键字可以实现一个或多个接口中的方法。SDO类有以下特点:1. 它的状态成员可以是基本类型2. 它的成员可以是指向自己的SDO指针,也可以是指向其它SDO的指针3. 它的状态成员可以是向量,但SDO不能是向量中的成员4. 它的状态成员可以是枚举类型5. 它的状态成员可以是本地类(local class)6. 它的状态成员不能是消息(message)下面是一个SDO类的示例:class Durationlong seconds;SDO Duration没有方法,只有公共状态属性。2.1.5 消息对象(

33、message)消息也是一种复杂的数据类型,包含本地方法和消息信息。消息是介于SDO和Local Class之间的一种数据类型,消息实例能够将消息数据通过中间件发布给订阅者。与SDO不同,SDO设计用于不断将状态发布给订阅者,而消息往往用于将突发信息发布给订阅者,消息一般作为事件使用。消息具有以下特点:1. 作为一种数据结构,消息中可以包含SDO指针2. 消息的状态成员可以是向量3. 消息中可以包含本地类4. 消息可以继承其它的消息,但最多只能继承一个其它的消息5. 消息的成员可以是基本类型、枚举类型6. 消息中可以有方法(operations),它仅是本地方法7. 消息可以嵌套包含其它信息一

34、个消息定义的实例如下所示:local class Point double x; double y; double z; string plainString(); ; message PointMessage Point location; long MessageID; void doit(); ;2.1.6 本地对象(Local Class)本地对象是一个复杂数据类型,包含方法(operation)和状态信息(数据成员)。本地类类似于C语言中的结构体,不同支出在于,结构体只能包含状态数据,而本地类可以包含方法,但本地类的方法不能进行远程调用,而总是只能在本地(调用者进程内)调用。本地对象

35、具有以下特点:1. 本地类可以是状态类对象(SDO)中的一个状态成员,也可以将一个SDO指针作为本地类成员2. 本地类的状态成员可以是向量,也可以是向量中的成员3. 本地类最多只能继承一个其它的本地类4. 本地类的成员可以是枚举类型、基本类型5. 本地类的成员可以是其它本地类6. 本地类的成员可以是消息(message)7. 本地类可以作为各种方法的参数和返回类型8. 本地类可以包含执行操作、方法,并且这些方法可以存取本地类中的数据成员。2.1.7 向量数据类型(Vector)向量是一个可以在运行时动态调整大小的线性表,其所有成员是同一种类型的实例。例如,一个向量可以是“long”类型的向量,

36、其所有成员均是long型整数,也可以是本地类(local class)类型的向量,此时其所有成员均是指定本地类的实例。1. 向量可以包含在状态分布对象(SDO)中,向量的成员可以是指向SDO的SDO指针2. 向量类型可以是方法中参数的类型或返回值的类型3. 向量成员可以是基本类型或枚举类型4. 向量成员的类型也可以是一个向量,利用此规则可以构造多维向量5. 向量成员可以是本地类(local class)的实例2.1.8 接口模型(Interface)在TENA中,接口可以理解成一种抽象实体定义,它与C+和Java语言中interface的语义基本一样,接口中只有方法成员(函数成员)而没有数据成

37、员。它的主要作用是封装操作(方法、函数),并可以由状态对象(SDO)、本地对象或者消息去实现它(可以理解为继承)。一个接口中至少包含一个方法。接口本身可以继承其它接口,也支持多继承,即可以将多个接口定义为自己的父接口。下面是一个接口的示例:interface Controllable string initialize(in string initializationData); long start(); void stop(); ;2.1.9 枚举数据类型(Enumetation)枚举类型用于定义有名符号的集合,可以提高模型的可读性,它本质上是一种取值范围受限的整数类型。枚举类型中的元素之

38、间用逗号隔离,不能用分号,最后一个元素后面没有符号,和其它TDL元素一样,枚举类型在结束后有一个分号。2.1.10 TDL的基本数据类型基本数据类型又成为预定义或内建数据类型,它们在TENA建模中用于定义对象的基本属性的类型。TDL语言是对IDL语言的扩展,TDL保留了部分IDL的基本数据类型作为自己的基本数据类型。基本数据类型是构建本类型系统的基本信息单位,广泛用于局部类、参数列表、向量、SDO公共状态中,表2.2是TDL的基本数据类型。表2.2 TDL的基本数据类型short有符号整型二字节unsigned short无符号整型二字节long有符号整型四字节unsigned long无符号

39、整型四字节long long有符号整型八字节unsigned long long无符号整型八字节float浮点数四字节double浮点数八字节boolean布尔型:TRUE和FALSEcharASCII字符string字符串octet位组八字节void操作(方法)的返回值为空2.2 Eclipse RCP框架RCP是基于Eclipse项目推出的一个开发富客户端应用框架,为开发人员提供了一个功能强大的、快速的、可扩展的应用平台。2.2.1 Eclipse RCP概述RCP是Rich Client Platform的缩写,指富客户端应用平台。RCP为终端用户提供了基于本地操作系统的丰富的图形用户接

40、口(GUI)使用体验,可以很容易地实现剪切、复制、拖放等操作,也能高效进行业务逻辑处理。在开发过程中,由于业务逻辑、数据处理、系统和用户界面的高耦合性,系统的重构工作越来越困难,系统的分发、部署和升级也非常麻烦,客户端的一点改动,需要开发人员在客户机上逐一发布,因此人们提出瘦客户端(thin client)来解决这一问题。瘦客户端基于“请求/响应”模式,应用程序统一部署在服务端,维护工作也只需在服务端进行,极大减少了维护成本,客户端更是简单到只要一个Web浏览器就可以了。但是随之新问题出现了:一是无法为用户提供丰富的图形使用体验,可操作性差;二是应用程序过于依赖Web服务器的性能,在数据爆炸的

41、今天,无法满足用户大量高效率的交互性需求;三是基于“请求/响应”模式的瘦客户端应用程序需要很高的网络能力来保证交互性能,难以快速响应大量业务逻辑的处理需求18。瘦客户端应用程序无法满足用户要求,RCP又成为流行的开发模式,它针对瘦客户端“表现层逻辑居于服务器端”的弊端,将服务端和表现逻辑完全分离,表现逻辑完全由客户端负责19。增加了新内涵的RCP不仅可以给用户提供丰富的图形用户界面,还满足用户的智能更新、可扩展、跨平台等要求。2.2.2 Eclipse RCP体系结构RCP应用程序实际上是插件和运行时内核的组合,它的体系结构如图2.1所示。图2.1 RCP的体系结构核心平台工作原理:运行Ecl

42、ipse,运行插件;OSGi是标准集束框架;JFace支持文件处理、缓冲、编辑;SWT是可移植构件工具包19。一个最小的RCP应用程序只需要java基础库类,开发者可以根据实际需要选取相应插件,例如不使用JFace,或者不基于OSGi,只要能达到开发要求即可。2.2.3 Eclipse RCP的优点和应用Eclipse RCP越来越受到用户的青睐,因为它具有以下优点:1. 组件化。基于Eclipse的系统设计由插件构成,可以通过扩展点进行配置。2. 便利性。对各个平台下的产品包装提供有力支持,开发的RCP可以在嵌入式设备上运行。3. 可扩展。用户可以搭建各种规模、类型和用途的应用程序。4. 本

43、地感观和使用体验。无论RCP在哪种操作系统下运行,都可以保持与本机一致的外观。5. 脱机操作。RCP在本机运行,不需要网络连接,可以充分利用本机硬件的处理能力进行大量数据处理。Eclipse RCP在国内得到了广泛应用,比如NASA的火星探测计划、IBM Workplace开发平台等,国内电信、金融、医疗领域也越来越多的使用Eclipse RCP来开发系统2021。2.3 本章小结本章介绍了在后续开发中涉及到的相关知识和技术TENA定义语言TDL的基本数据类型和元素以及项目开发框架Eclipse RCP。12浙江大学硕士学位论文第3章系统总体设计第3章 系统总体设计在进行设计开发工作之前,首先

44、要对用户提出的需求进行梳理分析,确定系统要实现的功能,然后对系统进行模块化划分,将系统功能分成各个功能模块,确定各个功能模块要实现的功能,分模块进行开发,最后再将各个功能模块集成为一体化模型构建工具,这是项目的工作思路,下面描述系统的总体分析设计。3.1 总体设计基于TDL的一体化模型构建工具(VIMT)以Eclipse核心框架为基础,采用Eclipse RCP技术框架,结合开源软件作为底层支持平台,满足客户文本编辑、可视化建模、多格式模型文件转换、TDL编译、TDL到C+框架源码的映射、框架代码编译、组件的单元与集成测试、测试框架代码自动生成、一体化集成等需求,实现可视化、一体化操作,性能稳

45、定、操作简单、界面友好。基于TDL的一体化模型构建工具的软件总体框架如图3.1所示:图3.1 软件总体框架图3.2 功能模块划分一体化模型构建工具可以划分了五个功能模块:文本编辑模块、可视化建模模块、可视化框架代码生成与编译模块、对象模型测试验证模块和一体化集成平台,各模块之间的关系如图3.1所示。3.2.1 文本编辑模块文本编辑模块负责对TDL文件进行编辑,包含以下五个功能:一是:文件的I/O操作,即在一体化模型构建工具中打开、关闭、修改、存储TDL文件。二是语法高亮显示,即对代码中的关键字进行辨认,用不同的颜色和字体来显示,比如:以高亮显示变量名,用灰色显示注释,这一功能增加了代码的可读性。三是格式美化,修正代码的错误缩进,将代码格式化显示,形成统一的代码风格,增加代码的阅读效率。四是自动补充,在键入TDL代码时,对后续代码自动提示。五是错误提示,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1