题名 | 分布对象技术与接口定义语言实现 |
作者 | 张波 |
学位类别 | 博士 |
答辩日期 | 1998 |
授予单位 | 中国科学院软件研究所 |
授予地点 | 中国科学院软件研究所 |
学位专业 | 计算机软件 |
中文摘要 | 随着软件、硬件,特别是网络技术的迅猛发展,分布式计算的应用范围越来越广。分布式计算从最初的数据上的互连发展为基于过程的互操作。但是,过程模型很难对分布的资源作出恰当的描述。而在软件发展过程中,对象技术在程序设计语言、数据库等多个领域都发挥着重要的作用。推广了的对象模型具有封装、抽象、多态等特点,非常适合于描述分布的对象,因此,产生分布对象计算。OMG的OMA、CORBA规范就是一种分布对象的计算标准。但是他们对于分布对象计算中的核心-对象总线ORB和IDL语言映射的实现机制却没有介绍。而在实际的分布对象系统中,这两部分是整个系统的基石,其实现机制的优劣将直接影响整个系统的效率和性能。本文以对象互操作为目的,对ORB和IDL语言射的实现机制进行了探讨,给出了设计方案并给出了相应的实现。我们在对分布对象技术进行了分析研究的基础上,实现了符合CORBA规范的分布对象通讯平台ISBroker。另外,还在该平台上实现了IDL语言映射子系统和部分分布对象服务,从而实现了ISBroker上对象之间跨平台的互操作。对象互操作是分布对象系统的主要目标和分布对象技术的核心问题,从实现角度来看,我们将互操作的实现分为三个层次:描述层、接口层和通讯层。描述层即采用接口定义语言IDL来描述对象的接口和数据类型,对象之间通过IDL接口来取得语义理解上的一致性。接口层即IDL到编程语言的映射,IDL是语言中立的描述性语言,通过映射,用户可以用自己熟悉的语言,比如C、C++、Ada、Java、Smlltalk等编写CORBA对象实现以及client程序。通讯层实现对象请求在异构平台之间的网络传输。对于 ISBroker,我们采用分层结构的设计,具有模块性和层次性,结构简洁清楚,包括名字服务层、请求服务的设计,具有模块性和层次性,结构简洁清楚,包括名字服务层、请求服务层、数据转换层和网络接口层四个主要部分,为分布对象提供了一个位置透明、操作系统无关的底层通讯平台。IDL编译器采用以抽象语法树为中心的设计方案,将前端和后端分离开来,后端采用继承抽象语法树类的方式复用前端的框架。不同语言的映射对应不同的后端,编译器具有公共的前端,当需要新的语言映射时,只需要构造相应的后端就可以了,具有良好的可复用性与可扩展性。关于语言映射,CORBA虽然给出了映射的规范,以保证客户程序的可移植性。但对语言映射具体实现方案没有进行讨论。而实现机制的优劣将直接影响分布对象系统的效率和性能,比如参数的编码与解码、对象请求的构造与解析、对象接口与对象实现的绑定方式等。我们采用TypeCode为中心的方式构造对象请求,编绎器将IDL文本转换为调用描述符,缩小了两种描述之间形式上的差距,利于编译器的实现;采用统一的例程进行对象请求的构造,使生成的代码简洁,可读性好,同时,类型信息以数据而不是以代码的形式体现,减小了最终可执行程序的大小移植时,只需要修改构造对象请求请求的例程,增加了系统的可移植性。此外,本文还针对工作中遇到的实际问题进行了相应的研究并提出解决方案,主要包括:从语言映射的角度,提出了在状态一致性条件下本地处理对象请求的实现方案,当client与server实现在同一平台上并满足状态一致性条件时,能够在进程内处理对象请求,从而有效地提高系统的运行效率;提出了基于C++对象持久化的接口库的实现方案,与采用关系数据库相比,该方法能够比较自然地反映所描述的接口之间的语义联系,不仅简化了实现上的复杂程度,而且能够提高接口储与访问效率;讨论了ISBroker与Web的连接方式,包括基于传统的CGI和RMI的方式、基于Proxy的方式等,对如何有效地扩大分布对象技术的应用范围做了初步尝试。 |
语种 | 中文 |
公开日期 | 2011-03-17 |
页码 | 58 |
内容类型 | 学位论文 |
源URL | [http://ir.iscas.ac.cn/handle/311060/6022] |
专题 | 软件研究所_中科院软件所_中科院软件所 |
推荐引用方式 GB/T 7714 | 张波. 分布对象技术与接口定义语言实现[D]. 中国科学院软件研究所. 中国科学院软件研究所. 1998. |
个性服务 |
查看访问统计 |
相关权益政策 |
暂无数据 |
收藏/分享 |
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。
修改评论