We consider a system with a uniform object space. In a uniform object space, objects are the primary structural elements of the system. Such a system requires a different way of looking at the problem of sharing prope...
详细信息
ISBN:
(纸本)3540601600
We consider a system with a uniform object space. In a uniform object space, objects are the primary structural elements of the system. Such a system requires a different way of looking at the problem of sharing properties among objects. We describe the requirements on a suitable model of sharing and linguistic elements in the form of views and patterns to meet these requirements. Withthis model, we show that delegation both on the level of objects and as inheritance on the level of classes should only serve as a basis for implementing some of the linguistic elements of the model but not as such an element by itself. the model described in this paper finds itself in the language ARISTARCH/L which supports the object-based operating system ARISTARCH/OS that is under development in SAMOS, a project undertaken by the Operating Systems Research Group at the University of Karlsruhe.
object-oriented systems must implement message dispatch efficiently in order not to penalize the object-orientedprogramming style. We characterize the performance of most previously published dispatch techniques for ...
详细信息
ISBN:
(纸本)3540601600
object-oriented systems must implement message dispatch efficiently in order not to penalize the object-orientedprogramming style. We characterize the performance of most previously published dispatch techniques for both statically- and dynamically-typed languages with both single and multiple inheritance. Hardware organization (in particular, branch latency and superscalar instruction issue) significantly impacts dispatch performance. For example, inline caching may outperform C++-style ''vtables'' on deeply pipelined processors even though it executes more instructions per dispatch. We also show that adding support for dynamic typing or multiple inheritance does not significantly impact dispatch speed for most techniques, especially on superscalar machines. Instruction space overhead (calling sequences) can exceed the space cost of data structures (dispatch tables), so that minimal table size may not imply minimal run-time space usage.
Optimizing compilers for object-oriented languages apply static class analysis and other techniques to try to deduce precise information about the possible classes of the receivers of messages;if successful, dynamical...
详细信息
ISBN:
(纸本)3540601600
Optimizing compilers for object-oriented languages apply static class analysis and other techniques to try to deduce precise information about the possible classes of the receivers of messages;if successful, dynamically-dispatched messages can be replaced with direct procedure calls and potentially further optimized through inline-expansion. By examining the complete inheritance graph of a program, which we call class hierarchy analysis, the compiler can improve the quality of static class information and thereby improve run-time performance. In this paper we present class hierarchy analysis and describe techniques for implementing this analysis effectively in both statically- and dynamically-typed languages and also in the presence of multi-methods. We also discuss how class hierarchy analysis can be supported in an interactive programming environment and, to some extent, in the presence of separate compilation. Finally, we assess the bottom-line performance improvement due to class hierarchy analysis alone and in combination with two other ''competing'' optimizations, profile-guided receiver class prediction and method specialization.
the QAOOSE2008 workshop has been held at, ecoop 2008 conference in Paphos, Cyprus on July 8th, 2008. this was the twelfth of the series of QAOOSE workshops intended to bring researchers and practitioners both from aca...
详细信息
ISBN:
(纸本)9783642020469
the QAOOSE2008 workshop has been held at, ecoop 2008 conference in Paphos, Cyprus on July 8th, 2008. this was the twelfth of the series of QAOOSE workshops intended to bring researchers and practitioners both from academia and industry together. the workshop provided a forum to discuss the current state of the art and the practice in the area of quantitative approaches in the related to object-orientation. this report includes a summary of the technical presentations and the subsequent discussions. Six papers has been accepted by the workshop organizers. the presentations were followed by vivid discussions.
Structural subtyping is an important notion for effective static type analysis;it can be defined either axiomatically by a collection of subtyping rules, or by means of set inclusion between type interpretations, foll...
详细信息
ISBN:
(纸本)9783662442029;9783662442012
Structural subtyping is an important notion for effective static type analysis;it can be defined either axiomatically by a collection of subtyping rules, or by means of set inclusion between type interpretations, following the more intuitive approach of semantic subtyping, which allows simpler proofs of the expected properties of the subtyping relation. In object-orientedprogramming, recursive types are typically interpreted inductively;however, cyclic objects can be represented more precisely by coinductive types. We study semantic subtyping between coinductive types with records and unions, which are particularly interesting for object-orientedprogramming, and develop and implement a sound and complete top-down direct and effective algorithm for deciding it. To our knowledge, this is the first proposal for a sound and complete top-down direct algorithm for semantic subtyping between coinductive types.
the ecoop workshop on Mobile object Systems was first organized in 1995 and has been held every year since. the first two episodes in the series - entitled “objects and Agents” (1995) and “Agents on the Move” (199...
ISBN:
(纸本)3540415130
the ecoop workshop on Mobile object Systems was first organized in 1995 and has been held every year since. the first two episodes in the series - entitled “objects and Agents” (1995) and “Agents on the Move” (1996) - were exploratory in nature, reflecting a growing awareness and interest in the possibilities of mobile code and mobile objects for Internet programming. Towards the end of the 1990s, Interest in the domain began to stabilize and several mobile object systems appeared in the research community. As a consequence, further editions of the Mobile object Systems workshop concentrated on specific aspects of mobile objects. thus, the title of the 1997 workshop was “Operating System Support”, the theme of the 1998 workshop was “Security”, and the theme of the 1999 installment was “programming Language Support”.
the PhDOOS workshop covered a wide scope, as its over 20 participants were PhD students in all areas of object orientation. the presentations covered topics such as databases, languages, software engineering and artif...
详细信息
ISBN:
(纸本)354066954X
the PhDOOS workshop covered a wide scope, as its over 20 participants were PhD students in all areas of object orientation. the presentations covered topics such as databases, languages, software engineering and artificial intelligence, components and generative progamming, analysis and design, frameworks and patterns, aspected orientedprogramming, distribution, and middleware. Several topics of shared interest were identified and targeted in separate discussion groups on meta-information, the success or failure of OODBMS, and a general theme on the future of object orientation. As the participants had various research interests covering practically all the OO spectrum, we can confidently state that these topics reflect actually the concerns and needs of the OO community, and emerge from its concrete needs. this document is to be complemented by a workshop proceedings document which will publish the full versions of the presented papers.
there are numerous mechanisms for separation of concerns at the source code level. three mechanisms that are the focus of recent attention metadata annotations, pointcuts and advice - can be modeled together with good...
详细信息
ISBN:
(纸本)354027992X
there are numerous mechanisms for separation of concerns at the source code level. three mechanisms that are the focus of recent attention metadata annotations, pointcuts and advice - can be modeled together with good old-fashioned procedures as providing different kinds of bindings: procedure calls bind program points to operations, annotations bind attributes to program points;pointcuts bind sets of points to various descriptions of those sets;named pointcuts bind attributes to sets of points;and advice bind the implementation of an operation to sets of points. this model clarifies how the mechanisms work together to separate concerns, and yields guidelines to help developers use the mechanisms in practice.
Class-based languages have often been criticised for their rigidity. Prototype-based languages on the other hand are usually considered too flexible. We claim that this flexibility is inherently correlated to encapsul...
详细信息
PolyTOIL is a new staticdy-typed polymorphic object-orientedprogramming language which is provably type-safe. By separating the definitions of subtyping and inheritance, providing a name for the type of self and care...
详细信息
暂无评论