The paper motivates the facilities provided by Description Logics in an object-orientedprogramming scenario. It presents a unification approach of Description Logics and object-orientedprogramming that allows both v...
详细信息
ISBN:
(纸本)9780897917889
The paper motivates the facilities provided by Description Logics in an object-orientedprogramming scenario. It presents a unification approach of Description Logics and object-orientedprogramming that allows both views to be conveniently used for different subproblems in a modern software-engineering environment. The main thesis of this paper is that in order to use Description Logics in practical applications, a seamless integration with object-oriented system development methodologies must be realized.
Most object-oriented programs have imperfectly designed inheritance hierarchies and imperfectly factored methods, and these imperfections tend to increase with maintenance. Hence, even object-oriented programs are mor...
详细信息
ISBN:
(纸本)9780897917889
Most object-oriented programs have imperfectly designed inheritance hierarchies and imperfectly factored methods, and these imperfections tend to increase with maintenance. Hence, even object-oriented programs are more expensive to maintain? harder to understand and larger than necessary. Automatic restructuring of inheritance hierarchies and refactoring of methods can improve the design of inheritance hierarchies, and the factoring of methods. This results in programs being smaller, having better code re-use and being more consistent. This paper describes Guru, a prototype tool for automatic inheritance hierarchy restructuring and method refactoring of Self programs. Results from realistic applications of the tool are presented.
In this paper, the authors share their experiences gathered during the design and implementation of the CORBA Persistent object Service. There are two problems related to a design and implementation of the Persistence...
详细信息
ISBN:
(纸本)9780897917889
In this paper, the authors share their experiences gathered during the design and implementation of the CORBA Persistent object Service. There are two problems related to a design and implementation of the Persistence Service: first, OMG intentionally leaves the functionality core of the Persistence Service unspecified;second, OMG encourages reuse of other object Services without being specific enough in this respect. The paper identifies the key design issues implied both by the intentional lack of OMG specification and the limits of the implementation environment characteristics. At the same time, the paper discusses the benefits and drawbacks of reusing other object Services, particularly the Relationship and Externalization Services, to support the Persistence Service. Surprisingly, the key lesson learned is that a direct reuse of these object Services is impossible.
Frameworks and domain-specific visual languages are two different reuse techniques, the first targeted at expert programmers, the second at domain experts. In fact, these techniques are closely related. This paper sho...
详细信息
This paper presents an equational formulation of an object-oriented data model. In this model, a database is represented as a system of equations over a set of oid's, and a database query is a transformation of a ...
详细信息
We study the direct cost of virtual function calls in C++ programs, assuming the standard implementation using virtual function tables. We measure this overhead experimentally for a number of large benchmark programs,...
详细信息
ISBN:
(纸本)9780897917889
We study the direct cost of virtual function calls in C++ programs, assuming the standard implementation using virtual function tables. We measure this overhead experimentally for a number of large benchmark programs, using a combination of executable inspection and processor simulation. Our results show that the C++ programs measured spend a median of 5.2% of their time and 3.7% of their instructions in dispatch code. For ''all virtuals'' versions of the programs, the median overhead rises to 13.7% (13% of the instructions). The ''thunk'' variant of the virtual function table implementation reduces the overhead by a median of 21% relative to the standard implementation. On future processors, these overheads are likely to increase moderately.
We present a graphical environment for parallel object-orientedprogramming. It provides visual tools to develop and debug object-oriented programs as well as parallel or concurrent systems. This environment was deriv...
详细信息
ISBN:
(纸本)9780897917889
We present a graphical environment for parallel object-orientedprogramming. It provides visual tools to develop and debug object-oriented programs as well as parallel or concurrent systems. This environment was derived from a structural operational semantics of an extension of the Eiffel language, Eiffel/ /. object-related features of the language (inheritance, polymorphism) are formalized using a big-step semantics, while the interleaving model of concurrency is expressed with small-step semantics. Without user instrumentation, the interactive environment proposes features such as step-by-step animated executions, graphical visualization of object and process topology, futures and pending requests, control of interleaving, deadlock detection.
Evolution of software systems is prompted by all sorts of changes. This paper demonstrates how the use case, a well known construct in object-oriented analysis, is adapted to form the change case, to identify and arti...
详细信息
Environmental acquisition is a new programming approach in which objects acquire their behavior from their current containers at runtime. A new form of feature sharing in which objects inherit features from the classe...
详细信息
ISBN:
(纸本)9780897917889
Environmental acquisition is a new programming approach in which objects acquire their behavior from their current containers at runtime. A new form of feature sharing in which objects inherit features from the classes of objects in its environment is also proposed. The new method provides determination of class components contained in a given composite.
Tracking the changing dynamics of object-oriented frameworks, design patterns, architectural styles, and subsystems during the development and reuse cycle can aid producing complex systems. Unfortunately, current obje...
详细信息
ISBN:
(纸本)9780897917889
Tracking the changing dynamics of object-oriented frameworks, design patterns, architectural styles, and subsystems during the development and reuse cycle can aid producing complex systems. Unfortunately, current object-orientedprogramming tools are relatively oblivious to the rich architectural abstractions in a system. This paper shows that architecture-oriented visualization, the graphical presentation of system statics and dynamics in terms of its architectural abstractions, is highly beneficial in designing complex systems. In addition, the paper presents architecture-aware instrumentation, a new technique for building efficient on-line instrumentation to support architectural queries. We demonstrate the effectiveness and performance of the scheme with case studies in the design of the Choices object-oriented operating system.
暂无评论