中文模板_第1頁
已閱讀1頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  文章題目</b></p><p><b>  作者姓名</b></p><p>  (南京大學 計算機科學與技術系, 南京 210093)</p><p>  Subject of Your Survey</p><p><b>  NAME*</b&

2、gt;</p><p>  (Department of Computer Science and Technology, Nanjing University, Nanjing 210093, China)</p><p>  Abstract:The combination of concurrency and object orientation is definitely nat

3、ural except for inheritance. One of the interferences between inheritance and concurrency is inheritance anomaly. Although having been researched extensively, inheritance anomalies are still only vaguely defined and ofte

4、n misunderstood, and no much formal work has been done. A new viewpoint is set forth for understanding inheritance anomalies, in which each subtyping relation has its specific incremental inheritance</p><p>

5、  Key words:concurrency; object orientation; inheritance anomaly; incremental inheritance; category theory</p><p>  摘 要:如果不考慮繼承性,并發(fā)性與對象技術的結合是很自然的.繼承反常(又稱繼承異常)現(xiàn)象是繼承性和并發(fā)性不相容的主要原因之一.現(xiàn)階段人們對繼承反常現(xiàn)象的認識有許多模糊之處,出發(fā)

6、點不盡相同,形式化的工作也很少.對不同的subtyping關系考慮其特有的漸增式繼承方法有利于把握繼承反?,F(xiàn)象的實質,也豐富了“在并發(fā)面向對象語言中應將inheritance層次和subtyping層次區(qū)別對待”這一認識的內涵.在闡述基本觀點之后,采用范疇論的術語對相關的概念和定義做了形式化工作.一些觀點和結論適用于區(qū)分和解釋相關工作的出發(fā)點和貢獻,并對并發(fā)面向對象技術中繼承性的建模問題有所啟示.</p><p>

7、;  關鍵詞:并發(fā)性;面向對象;繼承反常;漸增式繼承;范疇論</p><p>  中圖法分類號:TP301   文獻標識碼: A</p><p><b>  引言</b></p><p>  如圖1所示,類Buffer實現(xiàn)了一個有界緩沖區(qū)類型,可以并發(fā)地接受消息put和get.同步機制采用了“method guards”方式,即為每一個me

8、thod附加一個guard謂詞[2].構造Buffer的另一個子類LockableBuffer也會引發(fā)同樣的問題.這種“為獲得有效繼承而必須對父類代碼進行實質性修改的現(xiàn)象”就是所謂的繼承反常(inheritance anomaly)[3~5].</p><p><b>  理解繼承反?,F(xiàn)象</b></p><h3>  區(qū)別Inheritance和Subtyping&

9、lt;/h2><p>  綜合各種觀點,要理解和解釋繼承反?,F(xiàn)象,首先必須正確區(qū)別inheritance層次和subtyping層次,并深刻領會二者的聯(lián)系[6,7].對于這個問題,文獻[1,8]的觀點是比較權威的.在此基礎上,我們的理解是:Inheritance是在代碼層次上作修改,而subtyping是在語義層次上作修改.前者是代碼共享的一種重要途徑,但不能保證subclass能夠繼承superclass的行為;后

10、者要求subtype保持supertype的某種外部可觀察行為(或語義行為),在規(guī)范一級共享,同代碼沒有關系.Inheritance層次關系可以理解為“is_similar_to”(或“l(fā)ike”)的關系,而將“is_a”關系更適合用在理解subtyping層次關系上,見表1[9].</p><p>  Table 1 Latency of macro-instructions</p><p

11、>  表1 宏指令的時延</p><p>  命題1. 設RRL,RR,R定義的Class范疇為CR,R定義的Class范疇為CR,則CR是CR的子范疇,并稱之為CR的子Class范疇.</p><p>  證明:對任何A,Bob CR=ob CR,homCR(A,B)homCR(A,B).□</p><p>  推論1. 任何RRL定義的Class范疇C

12、R都是CL的子Class范疇.</p><p><b>  漸增式繼承</b></p><p>  Subtyping要求subtype保持supertype的某種行為(可看作是一種不變量,比如同步約束)[10].Subclass在增加新的屬性或方法時,為了避免破壞這種不變量,難免要對繼承的代碼進行擴展或修改.這種擴展或修改很可能是重大的或實質性的,結果使得代碼共享失

13、去意義.這便是繼承反常的直觀含義.</p><p>  假定非線性優(yōu)化問題:</p><p><b>  (1)</b></p><p>  的近似解為,其中由邊界條件決定.確定其余幾個Bézier系數(shù)是一個非線性約束優(yōu)化問題.我們采用基于一維線性搜索的整體收斂的Newton迭代方法來求解.其基本的迭代格式為</p>&

14、lt;p>  步長采用回溯線性搜索方法確定,下降方向是Newton方向,這種非線性優(yōu)化方法是一個比較成功的具有整體收斂性的方法,對于初值的選擇沒有苛刻的要求.</p><p>  基于TB-CCRD的新系統(tǒng)采用與Linux直接路由式虛擬服務器相同的框架結構[11].如圖2所示,DWSS的各個后端服務器通過高速以太網(wǎng)相互連接,它們屏蔽ARP協(xié)議,并擁有與前端機相同的IP(記為vIP)和Web服務端口號(記為v

15、Port),在用戶看來,這個系統(tǒng)就相當于一個IP地址為vIP,服務端口號為vPort的Web服務器.在新系統(tǒng)中,前端機負責接收來自用戶的數(shù)據(jù)包,發(fā)放用于指示處理該數(shù)據(jù)包最適當?shù)姆掌鱅D(可以是后端機在系統(tǒng)內部的標識符,也可以是它的MAC地址)的標記,并轉發(fā)數(shù)據(jù)包;后端機則負責處理由前端機轉發(fā)而來的用戶數(shù)據(jù)包并直接回應用戶,具體包括建立/拆除與用戶的TCP連接、TCP連接轉交以及提供URL內容等工作.</p><p&

16、gt;<b>  定義繼承反?,F(xiàn)象</b></p><p>  本節(jié)是對上述觀點的形式化描述,可與第2.2節(jié)對照閱讀.范疇論的觀點層次較高,易于抽象出問題的本質.</p><p>  與程序P在F下運行等價的錯誤影響程序PF有</p><p><b>  解釋繼承反常現(xiàn)象</b></p><p> 

17、 例1:在談到順序面向對象語言時,一般不涉及繼承反?,F(xiàn)象.這是因為,這類語言L都默認一個特殊的subtyping關系p(由RL定義的完整inheritance層次關系被默認為相應于p的漸增式繼承關系),它對應的Type范疇記為TL,滿足:CL實現(xiàn)TL,實現(xiàn)函子為F:A(Aob CLFAtype(A)).L無p-繼承反常.因為順序面向對象語言不提供定義subtyping關系的機制,所以這種默認的subtyping關系是語言中惟一的subt

18、yping關系,這些語言L無繼承反常.</p><p><b>  結束語</b></p><p>  本文形式地給出了“繼承反?,F(xiàn)象”的一種一般性定義.定義對每一種Subtyping關系都有其相對應的“漸增式繼承”,使其更具有普適性.文中“漸增式繼承”是一個相對的概念,這有助于對人們“使繼承反?,F(xiàn)象得到緩解”的努力得以分類和評價.</p><p&

19、gt;  致謝 在此,我們向對本文的工作給予支持和建議的同行,尤其是北京大學計算機科學技術系袁崇義教授、屈婉玲教授領導的討論班上的同學和老師表示感謝.</p><p>  References:</p><p>  Clifton C, Leavens GT, Chambers C, Millstein T. MultiJava: modular open classes and sym

20、metric multiple dispatch for Java. ACM SIGPLAN Notices, 2000,35(10):130-145.</p><p>  Wegner P, Zdonik SB. Inheritance as an incremental modification mechanism or what like is and isn’t like. In: Gjessing S,

21、 Nygaard K, eds. Proc. of the ECOOP’88. LNCS 322, Heidelberg: Springer-Verlag, 1988. 55-77.</p><p>  Waxman BM. Routing of multipoint connections. IEEE Journal on Selected Areas in Communications, 1988,6(9):

22、1617-1622.</p><p>  Yonezawa A. ABCL: An Object-Oriented Concurrent System. Cambridge: MIT Press, 1990.</p><p>  Matsuoka S, Yonezawa A. Analysis of inheritance anomaly in object-oriented concur

23、rent programming languages. In: Agha G, Wegner P, Yonezawa A, eds. Research Directions in Concurrent Object-Oriented Programming. Cambridge: MIT Press, 1993. 107-150.</p><p>  Hemige V. Object-Oriented desig

24、n of the groupware layer for the ecosystem information system [MS. Thesis]. University of Montana, 1995.</p><p>  Rose A, Perez M, Clements P. Modechart toolset user’s guide. Technical Report, NML/MRL/5540-9

25、4-7427, Austin: University of Texas at Austin, 1994.</p><p>  Keene SE. A Programmer’s Guide to Object-Oriented Programming in Common LISP. Boston: Addison-Wesley Longman Publishing Co., Inc., 1988.</p>

26、;<p>  Guo L, Tang ZS. Specification and verification of the triple-modular redundancy fault-tolerant system. Journal of Software, 2003,14(1):28~35 (in Chinese with English abstract). http://www.jos.org.cn/1000-98

27、25/14/28.htm</p><p>  Schutze, H. Dimensions of meaning. In: Whitelock P, ed. Proc. of the Supercomputing’92. Los Alamitos, 1992. 787~796. ftp://parcftp.parc.xerox.com/pub/qca/papers/</p><p>  W

28、ang XW. Research on quality-of-service management and group communication mechanisms in distributed multimedia systems [Ph.D. Thesis]. Shenyang: Northeastern University, 1998 (in Chinese with English abstract).</p>

29、<p><b>  附中文參考文獻:</b></p><p>  [9]郭亮,唐稚松.三機冗余容錯系統(tǒng)的描述和驗證.軟件學報,2003,14(1):28-35. http://www.jos.org.cn/1000-9825/14/28.htm</p><p>  [11]王興偉.分布式多媒體系統(tǒng)服務質量管理與組通信機制的研究[博士學位論文].沈陽:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論