期刊文献+

一种带有delegation的对象演算

Φ Calculus: An Object Calculus with Delegation
下载PDF
导出
摘要 随着研究与应用的深入,传统的基于类的面向对象语言对动态变化要求的支持不足越来越明显。而且,由于软件系统复杂性的不断提高,这个问题变得更加突出。近年来,人们一直在进行着各种研究和尝试,寻求解决办法。delegation是一种在基于原型的面向对象语言中实现的对象动态继承,由于它支持对象行为在运行期动态改变,能提供对象动态扩展功能的能力,因此探讨如何在基于类的面向对象语言中引入delegation成分,以提供软件运行时刻的结构与行为变更能力,是十分有意义的。本文提出了一种命令式、带有delegation的Φ对象演算,以该演算系统刻划程序设计语言的基本特征;通过给出Φ演算的语法和操作语义;详细描述程序中各种操作的实现方法;着重说明在程序语言中引入delegation成分后,对象之间共享方法和对象扩展功能所具有的灵活性和简单性。从而说明在程序语言中引入delegation,以支持软件动态变更是一种有效且可行的途径。 Due to the development of more and more large and complex computing systems, software systems are always required to be changed at run-time. However, in the software systems that are developed using the traditional class-based object-oriented languages, this can not be done easily. Nevertheless, delegation, which is a language mechanism supported in prototype-based object-oriented language and enables objects to share methods dynamically, provide a promising method to solve the above problem. Actually, in recent years, delegation is an active research field among programming language researchers. In this paper, we will investigate this language mechanism by presenting Φ calculus. Φ calculus is an imperative object-based calculus. We use it to model essential features of languages, focusing on how to incorporate delegation into programming languages to support dynamic software changing. We give the operational semantics of Φ calculus. We also state how delegation is used in object extending and method sharing between objects. We conclude that delegation is an effective way to dynamic software changes.
出处 《计算机科学》 CSCD 北大核心 2007年第4期250-253,共4页 Computer Science
基金 江苏省科技攻关项目(BE2003064)资助
关键词 基于类的面向对象语言 基于原型的面向对象语言 西对象演算 Class-based object-oriented language, Prototype-based object-oriented language, Delegate, Delegation, Φ object calculus
  • 相关文献

参考文献16

  • 1C# Language Specification.http://msdn.microsoft.com/vcsharp/programming/language
  • 2Kniesel G.Dynamic Object-Based Inheritance with Subtyping:[PhD Thesis].Computer Science Department Ⅲ,University of Bonn,July 2000
  • 3Lieberman H.Using Prototypical Objects to Implement Shared Behavior in Object-oriented Systems.In:OOPSLA'86 Conference Proceedings (Portland,Oregon,Sept.26-Oct.2).ACM SIGPLAN,1986,21(11):214~223
  • 4Milner R.Elements of Interaction-Turing Award Lecture.Commun,ACM,1993,36(1):78~89
  • 5Abadi M.Baby Modula-3 and a Theory of Objects.Journal of Functional Programming,1994,4(2):249~283
  • 6Kniesel G.Delegation for Java:API or Language Extension?[Technical report].IAI-TR-98-4.ISSN 0944-8535,CS Dept Ⅲ,University of Bonn,Germany,May 1998.http://javalab.cs.uni-bonn.de/research/darwin/
  • 7Ostermann K.Dynamically Composable Collaborations with Delegation Layers.In:Proceedings of the 16th European Conference on Object-oriented Programming (ECOOP),Malaga,Spain,2002
  • 8Viega J,Tutt B,Behrends R.Automated Delegation is a Viable Alternative to Multiple Inheritance in Class-based Languages:[Technical Report].CS-98-03.2,1998
  • 9崔琳,许满武,杨群.一种Delegate机制的设计与分析[J].计算机科学,2004,31(5):82-85. 被引量:3
  • 10Abadi M,Cardelli L.An Imperative Object Calculus:Basic Typing and Soundness.In:SIPL'95-Proc Second ACM SIGPLAN Workshop on State in Programming Languages:[Technical Report UIUCDCS-R-95-1990].Department of Computer Science,University of Illinoist at Urbana-Champaign,1995

二级参考文献5

  • 1[1]Lieberman H. Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems. 1986
  • 2[2]Richter J. An Introduction to Delegates. MSDN Magazine, April 2001
  • 3[3]Kniesel G. Implementation of Dynamic Delegation in Strongly Typed Inheritance-Based Systems, 1994
  • 4[4]Kniesel G. Dynamic Object-Based Inheritance with Subtyping.2000
  • 5[5]Ma Huadong,Shin G. Multicast Video-on-Demand Services. ACM SIGCOMM Communication Review, Jan. 2002

共引文献2

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部