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.
A design pattern systematically names, explains, and evaluates an important and recurring design. This idea for capturing design experience has progressed rapidly from cult to mainstream status. Design patterns become...
详细信息
ISBN:
(纸本)3540630899
A design pattern systematically names, explains, and evaluates an important and recurring design. This idea for capturing design experience has progressed rapidly from cult to mainstream status. Design patterns become a catalyst for design reuse and enable to understand a design at a higher level than individual objects. This talk reports experience on how design patterns can address challenges of software development.
When using object-oriented frameworks it is easy to overlook certain important method calls that are required at particular places in code. In this paper, we provide a comprehensive set of empirical facts on this prob...
详细信息
ISBN:
(纸本)9783642141065
When using object-oriented frameworks it is easy to overlook certain important method calls that are required at particular places in code. In this paper, we provide a comprehensive set of empirical facts on this problem, starting from traces of missing method calls in a bug repository. We propose a new system, which automatically detects them during both software development and quality assurance phases. The evaluation shows that it has a low false positive rate (<5%) and that it is able to find missing method calls in the source code of the Eclipse IDE.
An approach for supporting physical independence in object Database Servers is proposed in this paper. While in current implementations the strategy for storing data objects reflects the logical object definitions, a ...
详细信息
Inheritance is a standard means for reuse and for interfacing with external libraries. In a multi-language software product, extending a class written in a statically-typed language with a dynamically-typed class can ...
详细信息
ISBN:
(纸本)9783540705918
Inheritance is a standard means for reuse and for interfacing with external libraries. In a multi-language software product, extending a class written in a statically-typed language with a dynamically-typed class can require a significant number of manual indirections and other error-prone complications. Building on our previous interoperability work, we introduce a technique that allows safe, easy inheritance across languages. We demonstrate our technique for cross-language inheritance with a statically-typed object calculus and a dynamically-typed object calculus, where a statically-typed class can extend a dynamically-typed one and vice versa. We provide a proof sketch of soundness, as well as a guarantee that dynamic type errors do not arise due to statically-typed expressions.
This paper is based on a speech delivered at the ecoop'98 conference Banquet. It is not a literal transcription of my talk, since no recording was made, but has been reconstructed ex post facto based upon my speak...
详细信息
This report summarizes the presentations, discussions, and outcomes of the ecoop’2000 Workshop on object Interoperability, held in Sophia Antipolis, France, on Monday, June 12, 2000. Divided into four main sessions, ...
详细信息
The history of object-orientedprogramming can be interpreted as a continuing quest to capture the notion of abstraction - to create computational artifacts that represent the essential nature of a situation, and to i...
详细信息
Meta-levels are complex pieces of software with diverse demands in both the computation and interaction domains. Common techniques using just code to express behaviour fail to clearly assign responsibility for a parti...
详细信息
ISBN:
(纸本)3540601600
Meta-levels are complex pieces of software with diverse demands in both the computation and interaction domains. Common techniques using just code to express behaviour fail to clearly assign responsibility for a particular behaviour's definition of to provide support for the reuse or integration of existing behaviour descriptions. The techniques of fine-grained decomposition of meta-level behaviour into objects and their subsequent composition into object models provides a framework for creating, reusing and integrating complex object behaviours. Using such a framework, we show that users can develop and integrate quite different object models while retaining a high degree of abstraction and fostering meta-level component reuse.
In this paper, we propose an efficient technique to statically manage integrity constraints in object-oriented database programming languages. We place ourselves in the context of an extended version of the O-2 databa...
详细信息
ISBN:
(纸本)3540630899
In this paper, we propose an efficient technique to statically manage integrity constraints in object-oriented database programming languages. We place ourselves in the context of an extended version of the O-2 database programming language, and we assume that updates are undertaken by means of methods. An important issue when dealing with constraints is that of efficiency. A naive management of such constraints can cause a severe floundering of the overall system. Our basic assumption is that the run-time checking of constraints is too costly to be undertaken systematically. Therefore, methods that are always safe with respect to integrity constraints should be proven so at compile time. The run-time checks should only concern the remaining methods. To that purpose, we propose a new approach, based on abstract interpretation, to prove the invariance of integrity constraints under complex methods. We then describe the current implementation of our prototype, reporting many experiments that have been performed with it on non trivial examples. Though our method is developed in the context of object-oriented database programming languages, it can easily be applied to the problem of static verification of object-oriented languages providing pre and postconditions such as Eiffel.
暂无评论