| 【中文题名】 | CORBA valuetype规范的研究和实现 |
| 【英文题名】 | Research and Implement of CORBA valuetype Specification |
| 【学科专业】 | 计算机应用技术 |
| 【论文级别】 | 硕士论文 |
| 【投稿时间】 | 2007-3-2 |
| 【中关键词】 | valuetype,IDL,C编译器,对象传值,LCTTL算法, |
| 【英关键词】 | valuetype,IDL C++ compiler,object by value,LC+TTL algorithm, |
| 【分类导航】 | 工业技术>自动化技术、计算机技术>计算技术、计算机技术>计算机软件>程序设计、软件工程>软件工程 |
| 【论文摘要】 |
CORBA系统中通常的对象传递方式是传递对象引用,通过传递对象引用,避免了传递复杂对象的系统开销和通信开销,实现了客户端与服务端实现的分离。随着分布应用的发展,为了满足新的应用需求,CORBA规范2.3版本中引入了对象传值(object by value)概念,在2.4.2版本中,加入了valuetype关键字,来实现对象传值。对象传值主要用于封装数据、业务逻辑简单的轻量对象,特别当接收方以只读方式访问对象的应用,将大大提高客户端的本地执行效率,减轻服务端的压力及网络流量。此外有了对象传值机制,CORBA可以实现和JAVA分布对象模型的自然互接、实现对象相互传递的互操作。本论文的工作旨在研究并提出和实现一种切实可行的对象传值方案,并在ORBUS的IDL C++编译器中扩充valuetpe,使IDL C++编译器支持对象传值功能。
论文在深入研究CORBA valuetype规范和ORBUS系统及其IDL C++编译器原理、结构等相关技术的基础上,分析了对象传值的工作原理,提出了一个扩展CORBA IDL C++编译器,以支持valuetype的交互过程方案。在分析IDL C++编译器前端词法... |
| 【论文题纲】 |
|
摘要 |
4-5 |
|
ABSTRACT |
5-9 |
|
论文图表一览表 |
9-10 |
|
第一章 绪论 |
10-12 |
|
1.1 背景研究及意义 |
10-11 |
|
1.1.1 背景研究 |
10 |
|
1.1.2 意义 |
10-11 |
|
1.2 研究现状 |
11 |
|
1.3 论文研究的主要内容 |
11 |
|
1.4 论文研究的难点 |
11 |
|
1.5 论文组织 |
11-12 |
|
第二章 相关技术简介 |
12-18 |
|
2.1 valuetype |
12 |
|
2.1.1 valuetype简介 |
12 |
|
2.1.2 valuetype对象的传递 |
12 |
|
2.2 ORBUS开发系统简介 |
12-16 |
|
2.2.1 ORBUS系统简介 |
12 |
|
2.2.2 ORBUS系统的组成 |
12-14 |
|
2.2.3 IDL C++编译器的原理和功能 |
14 |
|
2.2.4 编译器结构 |
14-16 |
|
2.3 LEX和YACC介绍 |
16-17 |
|
2.3.1 LEX概述 |
16 |
|
2.3.2 YACC概述 |
16-17 |
|
2.3.3 LEX和YACC |
17 |
|
2.4 本章小结 |
17-18 |
|
第三章 valuetype映射规范 |
18-23 |
|
3.1 valuetype映射后的特定类 |
18 |
|
3.1.1 valuetype映射后的特定类 |
18 |
|
3.1.2 valuetype映射出的类图 |
18 |
|
3.2 valuetype状态数据成员 |
18 |
|
3.3 构造函数、拷贝构造函数和析构函数 |
18-19 |
|
3.4 valuetype操作 |
19 |
|
3.5 valuebox |
19-21 |
|
3.5.1 底层类型的参数传递(被封装类型的参数传递) |
19 |
|
3.5.2 基类、枚举和对象引用的valuebox封装 |
19 |
|
3.5.3 结构类型的valuebox封装 |
19-20 |
|
3.5.4 字符串和超大字符串类型的valuebox封装 |
20 |
|
3.5.5 联合、序列、固定和any类型 |
20 |
|
3.5.6 数组类型 |
20-21 |
|
3.6 抽象valuetype的映射规范 |
21 |
|
3.7 继承valuetype的映射规范 |
21 |
|
3.8 有关ORB部分的扩充 |
21-22 |
|
3.8.1 ValueBase和引用计数 |
21-22 |
|
3.8.2 引用计数混合类 |
22 |
|
3.9 本章小结 |
22-23 |
|
第四章 valuetype在ORBUS中的实现模型 |
23-26 |
|
4.1 valuetype对象的传递交互过程 |
23-24 |
|
4.1.1 编/解码valuetype模块 |
23-24 |
|
4.1.2 valuetype生成库和ORB生成库管理器模块 |
24 |
|
4.1.3 发送方和接收方 |
24 |
|
4.2 valuetype对象传值工作原理 |
24-25 |
|
4.2.1 服务端工作流程(发送端上下文) |
24 |
|
4.2.2 客户端工作流程(接收端上下文) |
24-25 |
|
4.3 本章小结 |
25-26 |
|
第五章 valuetype在ORBUS IDL C++编译器中的系统实现 |
26-38 |
|
5.1 IDL编译器的设计思想和一些重要的类 |
26 |
|
5.1.1 IDL编译器的设计思想 |
26 |
|
5.1.2 一些很重要的类 |
26 |
|
5.2 NARROW机制 |
26-27 |
|
5.3 IDL C++编译器前端的实现 |
27-30 |
|
5.3.1 词法分析的扩充 |
27-28 |
|
5.3.2 语法分析的扩充 |
28-30 |
|
5.4 valuetpe后端映射实现 |
30-37 |
|
5.4.1 扩充后主要类图及继承关系 |
30-31 |
|
5.4.2 valuetype状态数据成员的映射实现 |
31-32 |
|
5.4.3 valuetype操作的映射实现 |
32-33 |
|
5.4.4 valuebox的映射实现 |
33-34 |
|
5.4.5 抽象valuetype的映射实现 |
34 |
|
5.4.6 继承valuetype的映射实现 |
34-36 |
|
5.4.7 valuetype编码器/解码器模块的映射实现 |
36 |
|
5.4.8 接口传递valuetype的映射扩充 |
36-37 |
|
5.5 本章小结 |
37-38 |
|
第六章 服务端与客户端对象副本一致性 |
38-45 |
|
6.1 问题的提出 |
38 |
|
6.2 LC协议(local consistency protocol ) |
38-39 |
|
6.2.1 LC协议简介 |
38-39 |
|
6.2.2 LC协议特点 |
39 |
|
6.3 无效化设置协议( invalidation-set protocol ) |
39-40 |
|
6.3.1 简介 |
39 |
|
6.3.2 无效化设置协议算法 |
39-40 |
|
6.4 改进的LC +TTL算法 |
40-43 |
|
6.4.1 对象副本无效化的改进 |
40-41 |
|
6.4.2 客户端、服务端对象传递的改进 |
41 |
|
6.4.3 对象“激活” |
41 |
|
6.4.4 客户端TTL技术 |
41 |
|
6.4.5 改进的LC+TTL算法 |
41-43 |
|
6.5 桩、构架中的有关valuetype对象的读、写操作的扩充 |
43-44 |
|
6.6 ORBUS中的服务端、客户端服务 |
44 |
|
6.7 LC+TTL算法的优点 |
44 |
|
6.8 本章小结 |
44-45 |
|
第七章 系统测试 |
45-52 |
|
7.1 测试目标 |
45 |
|
7.2 性能测试 |
45-50 |
|
7.2.1 读操作性能测试 |
45-48 |
|
7.2.2 写修改测试 |
48-50 |
|
7.3 测试结果 |
50-51 |
|
7.3.1 读操作 |
50 |
|
7.3.2 写操作 |
50-51 |
|
7.3.3 性能分析 |
51 |
|
7.4 本章小结 |
51-52 |
|
第八章 总结与展望 |
52-53 |
|
8.1 论文贡献 |
52 |
|
8.2 总结与展望 |
52-53 |
|
参考文献 |
53-55 |
|
致谢 |
55-56 |
|
本人在攻读硕士学位期间发表的文章 |
56 |
|
| 【DOI】 | LunWen.ID:2.2008.356831 |