Huihoo.org - Open Source Middleware Foundation

 Last Modified: 2003.02.25

RT CORBA和RT JAVA


(by huihoo.org Allen整理)

讨论总结:

。实时JAVA的两种选择:RTJ.org/timesys 和 GCJ/jRate,基本确定选用第一种方式
下周二讨论议题:CORBA/SNMP,CORBA/CMIP

一些有用的网址:
GCJ的下载地址http://gcc.gnu.org
jRate的下载地址是http://tao.doc.wustl.edu/~corsaro/jRate/
有关RealTime Java信息可参考http://www.rtj.org/
关于实时的design patterns的网址:http://www.eventhelix.com/RealtimeMantra/
http://www.timesys.com

allen_long对大家说: 今天议题:RT CORBA和RT JAVA的讨论,欢迎大家的参与(10:00)

mepp对大家说: 我搜集了一些对实时CORBA的一些误解:(10:11)

mepp对大家说: 误解一:实时就是快(10:12)

mepp对大家说: 误解二:实时CORBA就是高性能CORBA(10:12)

sunmike1000对大家说: 对,一般人总是把实时和高效弄混淆(10:13)

mepp对大家说: cocia最近在忙工作的事情,现在无法取得联系(10:13)

mepp对大家说: 实时CORBA就是让系统在端到端(end-to-end)的执行过程中能够表达和实现实时约束(10:14)

allen_long对大家说: 那我们几个就把我们想到的一些拿出来讨论(10:15)

orbat对大家说: 是否就是保证在约定的时间内完成某项事件?(10:16)

mepp对sunmike1000说: 是的,只是一定程度上的保证(10:16)

mepp对大家说: 我想和大家讨论一下关于实时CORBA运行的平台--rt java的问题(10:18)

orbat对大家说: 哦,明白多了(10:18)

mepp对大家说: 我想现在已经到了需要确定选用何种rt java版本的阶段了(10:19)

mepp对大家说: 选择一:rt java参考实现(10:19)

mepp对大家说: timesys公司产品(10:20)

mepp对大家说: 需要timesys的JVM和实时运行库(10:20)

mepp对大家说: timesys有一个RT linux。如果选用其他的rt os,实时性能会有损失(10:21)

orbat对大家说: 我觉得先选参考实现较好(10:21)

allen_long对mepp说: RT JAVA现在是标准了吗?(10:21)

mepp对大家说: 是的(10:22)

mepp对大家说: 可能还没有完全的标准化(10:22)

mepp对大家说: 选择二:GCJ,GNU的编译器之一(10:23)

mepp对大家说: GCJ能把java源代码编译成二进制代码(10:23)

mepp对大家说: 它有一个实时扩展的库jRate,ZEN使用了它(10:23)

mepp对大家说: GCJ的执行效率是其他JVM的10左右(因为是本地代码)(10:24)

mepp对大家说: 大家对这两个选择怎么看?(10:24)

allen_long对mepp说: GCJ的下载地址?(10:24)

mepp对大家说: 就是GCC的下载地址(10:25)

allen_long对大家说: 我们倾向使用第二种方案(10:26)

mepp对大家说: 我原来和cocia讨论过这个问题,他也认为第二个方案比较好(10:27)

mepp对大家说: GCJ的下载地址http://gcc.gnu.org,gcc就是gnu compiler collection(10:28)

mepp对大家说: jRate的下载地址是http://tao.doc.wustl.edu/~corsaro/jRate/(10:29)

orbat对大家说: 那 GCJ 编译的代码是不是就不具备可移植性了?(10:29)

mepp对大家说: 是的(10:30)

mepp对大家说: 我看了GCJ的主页,GCJ可以source->bin;source->bytecode;bytecode->bin(10:31)

allen_long对大家说: 那第一种选择能避免这个问题吗?(10:32)

mepp对大家说: 第一种可以(10:33)

allen_long对mepp说: 你的考虑是什么?(10:34)

mepp对大家说: 我们可以考虑将字节码编译成本地代码以提高效率(10:34)

mepp对大家说: 你们怎么看?(10:35)

orbat对大家说: 我觉得第一种更符合长远的开发利益(10:36)

orbat对大家说: 尽量不要基于特定的平台和工具(10:36)

allen_long对大家说: 说得是,第一种方案有哪些公司再推动这个标准?(10:37)

mepp对大家说: timesys(10:39)

mepp对大家说: jRate也是支持标准的(10:39)

mepp对大家说: RT java是JCP的标准(10:43)

allen_long对大家说: 不知SUN 什么时候能推出RT-JAVA的标准来,J2ME的发展会不会与RT-JAVA的发展有冲突?(10:46)

fat1进入聊天室.(10:48)

orbat对大家说: 不知道把实时 java 引入 JMS 有没有意义?(10:49)

fat1对大家说: sorry,来迟 了(10:49)

orbat对大家说: fat1 好!(10:50)

mepp对大家说: 应该很有意义,不过我觉得(10:51)

mepp对大家说: JMSshang的实时会比较复杂(10:51)

allen_long对大家说: 值得考虑,因为我们的JFoxMQ的一个特色是对无线的支持,而实时对无线传输有一定的指导意义(10:52)

fat1对大家说: 刚看了mep的发言,以及一些资料,看来要好好补补了:-)(10:53)

mepp对大家说: JMS(10:53)

mepp对大家说: JMS的传输协议支持实时吗?(10:54)

mepp对大家说: java的实时一直是个大问题(10:54)

orbat对大家说: jms 传输协议可以是 JRMP or RMI-IIOP(10:54)

fat1对大家说: 我想我们不要追求一味的实时,可以是在现有基础上加入一些实时的特征,比如 timeout,retry-time,etc/(10:55)

mepp对大家说: en,这是个不错的主意(10:56)

allen_long对大家说: 有关RealTime Java信息可参考http://www.rtj.org/(10:57)

fat1对allen_long说: good addresss(10:59)

sunmike1000进入聊天室.(11:00)

mepp对大家说: 这是一个关于实时的design patterns的网址:http://www.eventhelix.com/RealtimeMantra/(11:02)

fat1对mepp说: mep可否介绍一下ZEN的实现?(11:06)

allen_long对大家说: 对实时/嵌入JAVA的支持,有的做法是JAVA OS--一个简单且可跨各式CPU平台的操作系统,可能我们也需要借助这样的平台(11:07)

mepp对大家说: 如果在RTJ标准上实现,还是具有可移植性的(11:08)

allen_long对大家说: 还有的干脆直接将Java技术做在芯片上,当然这有些涉及J2ME的范畴(11:09)

fat1对mepp说: 我是说ZEN关于实时性主面的表现、(11:09)

mepp对大家说: 这个。。。很难衡量(11:10)

mepp对大家说: 主要一个表现方面是如果克服优先级反转(11:11)

mepp对大家说: 优先级反转发生在一个实时活动阻止了另一个更高优先级活动的执行。优先级反转的例子如下:P1的优先级比P3高,但是P3占有了共享资源,P2的优先级介于P1和P3之间,他不需要共享资源。这时就会发生优先级反转:P1要等待P3执行,尽管他的优先级高,但是P2却可以抢先P3,这使得P1的等待时间无法确定。(11:12)

mepp对大家说: ZEN就是在支持RTJ标准的jRate上实现的(11:12)

fat1对mepp说: jRate是私有实现还是??(11:15)

mepp对大家说: jRate是对RTJ标准的一个实现(11:17)

mepp对大家说: jRate基于GCJ实现(11:18)

allen_long对大家说: jRate (Java Real-Time Extension) is an extension of the GNU GCJ runtime systems http://tao.doc.wustl.edu/~corsaro/jRate/(11:20)

allen_long对大家说: 现在只是觉得实时JAVA的标准不是很规范,不象J2EE(11:22)

allen_long对大家说: 担心用不标准的东西去实现所带来的不可预知性(11:23)

mepp对大家说: 应该是一个标准,现在已经是JCP的final release了(11:23)

fat1对mepp说: 同类的产品有些什么呢?(11:24)

allen_long对大家说: 那就好(11:25)

mepp对大家说: 除了jRate外,还有timesys的实现(已经被作为参考实现了)(11:25)

mepp对大家说: 同jRate依赖GCJ一样,timeys的RI要依赖于它们的JVM(11:26)

fat1对mepp说: 或者还有?(11:30)

mepp对大家说: 其他就没有找到了:((11:30)

fat1对大家说: 刚才是不是我们已经定下来用GCJ and jRate?(11:32)

mepp对大家说: 还没有正在权衡。不过它们都遵循RTJ的API的标准,不会影响orbas的源代码(11:33)

mepp对大家说: 但是对目标码和性能有影响,毕竟要选用一个开发平台(11:34)

fat1对大家说: 是的,相信我们还是用开放源码的好些(11:34)

fat1对allen_long说: 我们是不是到了要形成一个结论的时候了?(11:39)

allen_long对大家说: 采用RTJ.org的标准(11:42)

fat1对mepp说: 另外是否可以推荐使用GCJ and jRate?(11:44)