ZEN:一个JAVA实现的实时ORB


(by huihoo.org Allen)

ZEN是一个基于TAO设计模式的实时ORB


ZEN的体系结构


ZEN的当前计划

。基于TAO设计模式的一个好的、可扩展的设计。
。用最简单、具体的方式实现每一个抽象类和工厂类的实例创建
。使用分析生成和访问工具开发了自己的IDL编译器
。实现了GIOP1.0
。实现了RootPOA,取得"_this()"用于此工作
。是对实时CORBA和实时JAVA的工作扩展
。工作在通用事件优化的基础上
。通过扩展工厂和具体类的家族以支持交替的功能、协议等。

ZEN:要实现的

项目

。每晚构建 (完成)
。自动的回归测试
。通过CVS和Cron自动更新Web页 (完成)
。Bug的跟踪数据库:Bugzilla
。任务管理
。取得IDL编译并放进CVS库 (完成)

重要的设计目标

。插件式解析器 (完成)
。POA创建策略
。线程模式策略
。加入线程池模型

设计修正

。修正了GIOP消息为插件方式 (完成)
。描述文件必须拥有多个地址(端点) (完成)
。Perhaps端点对象将被加入

测试

。完整的客户/服务器测试
。测试TAO和ZEN的组合的客户/服务器
。扩展存在的测试以使其更加完整
。为每一个组件添加新的测试集

IDL编译器

。能生成一个简单IDL文件的所有桩/框架 (完成)
。前置器 (完成)
。参观者 (进行中)
。GPERF for Java (进行中)
。桩的设计
。框架的设计

CDR流

。CDRInputStream,CDROutputStream (基本实现)
。类型代码
。Any
。DII
。延迟同步

GIOP消息 - 插件式

。GIOP1.0 (完成)
。GIOP1.1
。GIOP1.2
。(XML Messages ?)

传输协议 - 插件式

。IIOP (基本完成)
。SSLIOP :IIOP over SSL
。SHMIOP :GIOP over shared memory
。UIOP :GIOP over local IPC (UNIX domain sockets)
。ATMIOP :
。XMLIOP :GIOP over XML

POAs - 插件式

。根POA (完成)
。_this() (完成)
。子POA
。持久性对象引用
。仆从管理器
。适配器激活器
。缺省仆从
。DSI
。可插入"引用" (解释处理初始化引用字符串) 完成

客户端

。返回错误前客户端将尝试访问所有的端口
。测试多客户线程以请求更多的仆从

服务器端

。请求中的策略处理 (第一个策略使用线程池)
。处理多端口 (?)

IOR解析 - 插件式

。交替的出现为:IOR:,FILE:,HTTP:,CORBALOC:,CORBANAME:,DLL:name

Fluff

。完成了将所有POA和ORB接口函数定义在org.omg.CORBA.* 中

服务支持

。连接到命名服务 (INS)

推迟的组件

。RT-java
。RT-CORBA
。Messaging (策略集、超时)
。拦截器
。IFR (interface repitory接口仓库)
。IMR (implementation repository实现仓库)

参考资料

。ZEN主页:http://www.zen.uci.edu/
。ZEN源码获取:http://doc.ece.uci.edu/cgi-bin/viewcvs.cgi/Zen/
。Real-time CORBA http://www.cs.wustl.edu/~schmidt/corba-research-realtime.html
。Real-time JAVA http://www.zen.uci.edu/RT-Java.html