Typed object calculi that permit adding new methods to existing objects must address the problem of name clashes: what happens if a new method is added to an object already having one with the same name but a differen...
详细信息
Typed object calculi that permit adding new methods to existing objects must address the problem of name clashes: what happens if a new method is added to an object already having one with the same name but a different type? Most systems statically forbid such clashes by restricting the allowable subtypings. In contrast, by reconsidering the runtime meaning of object extension, the object calculus studied in the author's previous work with Jon Riecke allowed any object to be soundly extended with any method of any name, with unrestricted width subtyping. That language permitted a simple encoding of classes as object-generators. Because of width subtyping, subclasses could be typechecked and compiled with little knowledge of the class hierarchy and without any information about superclasses' private components;this made derived classes more robust to changes in the implementations of base classes. However, the system was not well suited for encoding mixins or by-name subtyping of objects. This article addresses those deficiencies by presenting the Calculus of objects and Indices (COI), a lower-level typed object calculus in which extensible objects are more analogous to tuples than to records. An object is simply a finite sequence of unnamed components referenced by their index in the sequence. Names are then reintroduced by allowing these indices to be first-class values (analogous to pointers to members in C++) that can be bound to variables. Since variables-unlike record labels-freely alpha-vary, difficulties caused by statically undetectable name clashes disappear. By combining COI objects with standard type-theoretic mechanisms, one can encode mixins and classes having the by-name subtyping of languages like C++ or Java but with the robustness of the object-generator encodings. Using records, more standard extensible objects with named components can also be encoded.
Previous work proposed a technique for predicting problems resulting from replacing one version of a software component by another. The technique reports, before performing the replacement or integrating the new compo...
详细信息
J2EE is a middleware architecture augmented with supporting tools for developing large scale client/server and multi-tier applications. J2EE uses Enterprise JavaBeans as its component model. The realization of these c...
详细信息
This report summarizes the various discussions and results from the Workshop on Analysis of Aspect-oriented Software held in conjunction with the european conference on object-oriented programming (ecoop) in Darmstadt...
详细信息
ISBN:
(纸本)354022405X
This report summarizes the various discussions and results from the Workshop on Analysis of Aspect-oriented Software held in conjunction with the european conference on object-oriented programming (ecoop) in Darmstadt, Germany, July 2003.
The ecoop Workshop on Mobile object Systems is now in its 9th year. Over the years, the workshop has dealt with topics related to the movement of code and data between application platforms, security, operating system...
ISBN:
(纸本)354022405X
The ecoop Workshop on Mobile object Systems is now in its 9th year. Over the years, the workshop has dealt with topics related to the movement of code and data between application platforms, security, operating system support, application quality of service, and programming language paradigms. In many cases, the workshop has been a forum to discussed traditional object-oriented issues, since mobility influences such a broad spectrum of topics.
This report covers the eighth Workshop on Component-orientedprogramming (WCOP). WCOP has been affiliated with ecoop since its inception in 1996. The report summarizes the contributions made by authors of accepted pos...
详细信息
ISBN:
(纸本)354022405X
This report covers the eighth Workshop on Component-orientedprogramming (WCOP). WCOP has been affiliated with ecoop since its inception in 1996. The report summarizes the contributions made by authors of accepted position papers as well as those made by all attendees of the workshop sessions.
EOOWS (european workshop on object Orientation and Web Services) brought together the academic and the industrial perspective on Web Services. Specific results presented by the workshop participants and the broad expe...
详细信息
ISBN:
(纸本)354022405X
EOOWS (european workshop on object Orientation and Web Services) brought together the academic and the industrial perspective on Web Services. Specific results presented by the workshop participants and the broad experience of the invited speakers provided the base for a lively discussion on the challenges and potentials of service-oriented computing in relation to object-oriented technologies and methodologies. This report summarises the activities and main threads of discussion within the workshop, as well as the conclusions reached by the participants.
In this article we introduce a comprehensive set of algebraic laws for ROOL, a language similar to sequential Java but with a copy semantics. We present a few laws of commands, but focus on the object-oriented feature...
详细信息
ISBN:
(纸本)3540405313
In this article we introduce a comprehensive set of algebraic laws for ROOL, a language similar to sequential Java but with a copy semantics. We present a few laws of commands, but focus on the object-oriented features of the language. We show that this set of laws is complete in the sense that it is sufficient to reduce an arbitrary ROOL program to a normal form expressed in a restricted subset of the ROOL operators. We also propose a law for data refinement that generalises the technique from traditional modules to class hierarchies. Together, these laws are expressive enough to derive more elaborate rules that can be useful, for example, to formalize object-oriented design practices;this is illustrated through the systematic derivation of a refactoring from the proposed laws.
Modeling four aspect-orientedprogramming mechanisms shows the way in which each supports modular crosscutting. Comparing the models produces a clear three part characterization of what is required to support crosscut...
详细信息
ISBN:
(纸本)3540405313
Modeling four aspect-orientedprogramming mechanisms shows the way in which each supports modular crosscutting. Comparing the models produces a clear three part characterization of what is required to support crosscutting structure: a common frame of reference that two (or more) programs can use to connect with each other and each provide their semantic contribution.
暂无评论