Last Modified: 2003.01.14 12:30 AM 讨论总结: 。今天讨论的重点是orbas项目中minimum corba和real time corba的实现问题 --orbas将在同一版本中支持minimum corba和real time corba两种规范和特性 ... 。orbas目前面临最大的问题 --工作量太大,因为几乎所有的编码实现都落在了mep的身上 --我们需要更多有兴趣和志向的朋友参与进来,要求:高度责任心和顽强的毅力,当然需要对CORBA,JAVA,C++有深刻理解与应用... ----------------------------------- 讨论内容: Allen Long 说: mep说说目前orbas的进度 mep_@163.com说: 。目前orbas的框架初步建立起来 。它的框架支持pluggable protocols framework 。pluggable POA和pluggable typecode 。它的线程模型是基于线程池的 xwcheng 说: 恭喜mep and huihoo,我看了,mep做了很多工作 mep_@163.com说: orbas完成了GIOP1.0/1.1 Allen Long 说: sunqi谈谈你心目中的orbas应该是个什么样子的 mep_@163.com说: 但是orbas目前编译器没有完成,并且,作为miniCORBA,他的foorprint太大了 sunqiwuff@hotmail.com 说: 了不起也,不过坦率的说,GIOP1.1意义不是很大 mep_@163.com 说: 愿闻其详 sunqiwuff@hotmail.com 说: 对了,我不太了解情况,orbas是接近什么开放源码的吗? mep_@163.com说: orbas是LGPL的 sunqiwuff@hotmail.com 说: 因为GIOP1.0把消息编码完成后一次发出,1.1把消息分片,但是没有给出消息号码,1.2给出消息编码后一旦丢失某片,可以让对方orb重新传递特定的那片。 sunqiwuff@hotmail.com 说: LGPL是什么? mep_@163.com说: LGPL就是任何vender可以使用orbas或从orbas派生其他产品,而无需付费和开放自己的派生产品的源码 sunqiwuff@hotmail.com 说: ao mep_@163.com说: 你的意思是。。应该去实现GIOP1.2而抛弃其他或只支持1.0还是全部支持? Allen Long 说: 大家对minimum corba 和realtime corba两者怎么看,如何平衡两者的关系,在一套orbas系统中包含对两个规范的支持。 sunqiwuff@hotmail.com 说: 支持GIOP1.2自然就支持了1.1,1.0拉,但是单纯1.1意义不大。你丢了包对方ORB不知道丢了具体什么包,还得所有包重新传,和1.0性能基本一回事。 xwcheng 说: mep现在orbas最大的困难在哪里? mep_@163.com说: miniCORBA希望有小的footprint以节省资源,而realtimeCORBA希望最多的消耗资源以减少不确定性 mep_@163.com说: orbas最大的困难就是工作量了 mep_@163.com说: 技术上我很有信心 Allen Long 说: 我们可以在一个orbas版本中同时支持minimum corba和real time corba吗? mep_@163.com 说: 当然还有项目的协同、进度控制等方面存在问题 mep_@163.com说: 这个问题可能需要详细的探讨 Allen Long 说: TAO好象是这样做的,他通过调整一个参数使其当前支持一种规范? mep_@163.com 说: orbas可以使用pluggable技术节省资源,但pluggable本身就带来了一定的对realtime有妨害的不确定性 mep_@163.com 说: 可不可以具体说说TAO怎么做的? Allen Long 说: 在给你的那套书中有关于这方面的描述, sunqiwuff@hotmail.com 说: mep_认为CORBA/ORB实现realtime的关键因素在什么地方? Allen Long 说: xwcheng谈谈IONA ORBacus/E产品的一些可取之处,对我们的一些指导意义 mep_@163.com说: 关键在于减少程序运行的不确定性,比如,高优先级的线程或进程一定要比低优先级的先完成 mep_@163.com 说: ORBacus/E支持realtimeCORBA吗? sunqiwuff@hotmail.com 说: 那我倒要请教,难道orb对接受到的请求还分优先级吗 sunqiwuff@hotmail.com 说: 你说的是可调度性吧,实时系统这是肯定的哟 xwcheng 说: orbacus更多是嵌入式的,可调的部分不多,当然一嵌入和实时有一定的重合性 mep_@163.com说: 没错,实时CORBA是这样的。客户端的优先级可以传播到服务端 sunqiwuff@hotmail.com 说: 我认为嵌入式系统的最大限制是内存有限,所以所有工作都是围绕这个进行。 Allen Long 说: 那嵌入与实时在哪些地方有重叠? mep_@163.com 说: 是的,而实时系统为了达到做好的实时性能,最好的使用最多的内存 sunqiwuff@hotmail.com 说: 这是所谓实时CORBA规范所定义的,道格拉斯施密特有这个能力推动规范朝它希望的方向发展,所以TAO有很多在其他厂家看来不符合规范的地方。 sunqiwuff@hotmail.com 说: 当然他有这个能力啦,要是当初starbus也这么干就会被认为“不可互操”.... sunqiwuff@hotmail.com 说: 实时系统在调度方面和传统orb有很大的不同,吸收了很多实时系统的优点。 mep_@163.com 说: orbas要支持实时,就要从模型一级开始,一直到底层 sunqiwuff@hotmail.com 说: 用java的orb实现实时,呵呵果然很有想法:-) mep_@163.com说: 一个有趣的想法:我们可以是pluggale技术本身支持实时,比如说,是的装入模块的动作变得可以调度 Allen Long 说: 我们在实施实时CORBA时,如何借助实时OS和实时DB的一些功能或根本不需要? mep_@163.com说: realtime java一般需要实时OS和库的支持 sunqiwuff@hotmail.com 说: 根本不需要。但是一些通用的实时做法可以借鉴啦 sunqiwuff@hotmail.com 说: 还有我一向认为,真要用实时就不应该用CORBA。所谓的实时CORBA实际上更多的是指高性能CORBA。 mep_@163.com说: 不需要也可以,不过java的层次太高,性能有所降低 Allen Long 说: 但实时CORBA对大量中间状态的信息任何保存,也就是它的持久性问题如何解决? mep_@163.com说: 请Allen再解释一下? mep_@163.com说: 实时CORBA的持久性问题? Allen Long 说: 对 sunqiwuff@hotmail.com 说: 持久性和这个问题无关吧 Allen Long 说: 但如果状态、数据丢失如何处理? sunqiwuff@hotmail.com 说: 这和应用有关啦。 mep_@163.com说: 可以抛给应用层 Allen Long 说: 是不是从应用程序的角度去解决这个层次的持久性。明白 sunqiwuff@hotmail.com 说: 所谓CORBA实时性,我的理解是在给定网络条件下,一个CORBA ORB发出请求后能在给定的时间内获得结果(响应或者超时.... sunqiwuff@hotmail.com 说: 对了,mep_是几系的?是否了解starbus现在的情况。 Allen Long 说: 按mep的说法,我们的orbas可在plugable时增加实时特性,那我们的orbas核心是否不需要支持实时特性,把所有的实时的东西丢给插件 mep_@163.com说: 我的意思是再orbas的同一个版本中支持 mep_@163.com说: miniCORBA和realtime CORBA mep_@163.com说: 使用pluggable技术减少内存消耗 Allen Long 说: 行,今天就聊到这,很感谢大家的参加,希望下周同一时间能再见面。我们准备每周二上午10:30进行一次小组讨论。