编辑: f19970615123fa 2014-06-12
报告题目 作者姓名(学号、email地址) (南京大学 计算机科学与技术系, 南京 210093) 摘要: 如果不考虑继承性,并发性与对象技术的结合是很自然的.

继承反常(又称继承异常)现象是继承性和并发性不相容的主要原因之一.现阶段人们对继承反常现象的认识有许多模糊之处,出发点不尽相同,形式化的工作也很少.对不同的subtyping关系考虑其特有的渐增式继承方法有利于把握继承反常现象的实质,也丰富了"在并发面向对象语言中应将inheritance层次和subtyping层次区别对待"这一认识的内涵.在阐述基本观点之后,采用范畴论的术语对相关的概念和定义做了形式化工作.一些观点和结论适用于区分和解释相关工作的出发点和贡献,并对并发面向对象技术中继承性的建模问题有所启示. 关键词: 并发性;

面向对象;

继承反常;

渐增式继承;

范畴论 中图法分类号: TP301 文献标识码: A 引言 如图1所示,类Buffer实现了一个有界缓冲区类型,可以并发地接受消息put和get.同步机制采用了"method guards"方式,即为每一个method附加一个guard谓词[2].构造Buffer的另一个子类LockableBuffer也会引发同样的问题.这种"为获得有效继承而必须对父类代码进行实质性修改的现象"就是所谓的继承反常(inheritance anomaly)[3~5]. 理解继承反常现象 区别Inheritance和Subtyping 综合各种观点,要理解和解释继承反常现象,首先必须正确区别inheritance层次和subtyping层次,并深刻领会二者的联系[6,7].对于这个问题,文献[1,8]的观点是比较权威的.在此基础上,我们的理解是:Inheritance是在代码层次上作修改,而subtyping是在语义层次上作修改.前者是代码共享的一种重要途径,但不能保证subclass能够继承superclass的行为;

后者要求subtype保持supertype的某种外部可观察行为(或语义行为),在规范一级共享,同代码没有关系.Inheritance层次关系可以理解为"is_similar_to"(或"like")的关系,而将"is_a"关系更适合用在理解subtyping层次关系上,见表1[9]. Table

1 Latency of macro-instructions 表1 宏指令的时延 Acronym Macro-Instructions Latency (ns) Event symbol Value Symbol NSI NET_SLICE_INIT()

87 (( n((,e) NST NET_SLICE_STOP()

154 ( ( NSE NET_SLICE_EXIT()

904 (1.4%) (( n((,e) NSO Inter-Overhead between NET_SLICE_START() and NET_SLICE_STOP()

150 (o n(o,e) NSA Overhead of NET_SLICE_START()

303 (( n((,e) 命题1. 设R(RL,R((R,R定义的Class范畴为CR,R(定义的Class范畴为CR(,则CR(是CR的子范畴,并称之为CR的子Class范畴. 证明:对任何A,B(ob CR=ob CR(,homCR((A,B)(homCR(A,B). 推论1. 任何R(RL定义的Class范畴CR都是CL的子Class范畴. 渐增式继承 Subtyping要求subtype保持supertype的某种行为(可看作是一种不变量,比如同步约束)[10].Subclass在增加新的属性或方法时,为了避免破坏这种不变量,难免要对继承的代码进行扩展或修改.这种扩展或修改很可能是重大的或实质性的,结果使得代码共享失去意义.这便是继承反常的直观含义. 假定非线性优化问题: (1) 的近似解为,其中由边界条件决定.确定其余几个Bézier系数是一个非线性约束优化问题.我们采用基于一维线性搜索的整体收敛的Newton迭代方法来求解.其基本的迭代格式为 步长采用回溯线性搜索方法确定,下降方向是Newton方向,这种非线性优化方法是一个比较成功的具有整体收敛性的方法,对于初值的选择没有苛刻的要求. 基于TB-CCRD的新系统采用与Linux直接路由式虚拟服务器相同的框架结构[11].如图2所示,DWSS的各个后端服务器通过高速以太网相互连接,它们屏蔽ARP协议,并拥有与前端机相同的IP(记为vIP)和Web服务端口号(记为vPort),在用户看来,这个系统就相当于一个IP地址为vIP,服务端口号为vPort的Web服务器.在新系统中,前端机负责接收来自用户的数据包,发放用于指示处理该数据包最适当的服务器ID(可以是后端机在系统内部的标识符,也可以是它的MAC地址)的标记,并转发数据包;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题