2,246 papers · page 92 of 113
Saniya Ben Hassen, Irina Athanasiu, Henri E. Bal
Many parallel and distributed programming models are based on some form of shared objects, which may be represented in various ways (e.g., single-copy, replicated, and partitioned objects). Also, many different operation execution strategies have been designed for each representa…
Nils Klarlund, Jari Koistinen, Michael I. Schwartzbach
Large software systems are often built on system platforms that support or enforce specific characteristics of the source code or actual design. These characteristics are either captured informally in design guideline documents or in specialized design and implementation language…
Jan Kleindienst, Frantisek Plásil, Petr Tuma
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 cor…
Ralf Möller
The paper motivates the facilities provided by Description Logics in an object-oriented programming scenario. It presents a unification approach of Description Logics and object-oriented programming that allows both views to be conveniently used for different subproblems in a mod…
Ivan Moore
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 …
Susumu Nishimura, Atsushi Ohori, Keishi Tajima
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 system of equations into another system of equations. During the qu…
Hernán Astudillo
Object-based (i.e. classless) models are very effective for elucidating requirements from users, and they support exploratory programming and rapid prototyping, providing a direct manipulation approach. On the other hand, class-based models have powerful mechanisms to control red…
Mohlalefi Sefika, Aamod Sane, Roy H. Campbell
Tracking the changing dynamics of object-oriented frameworks[5], design patterns[7], architectural styles[8], and subsystems during the development and reuse cycle can aid producing complex systems. Unfortunately, current object-oriented programming tools are relatively oblivious…
Yen-Ping Shan, Tom Morgan, Phil Proudfoot, Jim Thompson, John Tibbetts, Al Woolfrey
Object-oriented concepts such as reuse and encapsulation offer many benefits to application development, particularly in managing complexity and change. All the benefits of OO that apply to the client can apply equally well to the server. However, until recently, these concepts h…
Patrick Steyaert, Carine Lucas, Kim Mens, Theo D'Hondt
A critical concern in the reuse of software is the propagation of changes made to reusable artifacts. Without techniques to manage these changes, multiple versions of these artifacts will propagate through different systems and reusers will not be able to benefit from improvement…
Frank Tip, Jong-Deok Choi, John Field, G. Ramalingam
This paper describes an algorithm for slicing class hierarchies in C++ programs. Given a C++ class hierarchy (a collection of C++ classes and inheritance relations among them) and a program P that uses the hierarchy, the algorithm eliminates from the hierarchy those data members,…
Michael VanHilst, David Notkin
In this paper we present a method of code implementation that works in conjunction with collaboration and responsibility based analysis modeling techniques to achieve better code reuse and resilience to change. Our approach maintains a closer mapping from responsibilities in the …
Evan Wallace, Kurt C. Wallnau
It has been difficult to objectively assess the real value or maturity of the Object Management Group's Object Management Architecture (OMA). While experience reports have appeared in the literature, these have focused more on the functionality of the end-system than on systemati…
Phillip M. Yelland
This report describes an experiment carried out at ParcPlace-Digitalk which sought to increase the look-and-feel compliance of portable applications built using the company's Smalltalk-based VisualWorks product. We outline the structure of the current VisualWorks user interface f…
Ole Agesen, Urs Hölzle
Two promising optimization techniques for object-oriented languages are type feedback (profile-based receiver class prediction) and concrete type inference (static analysis). We directly compare the two techniques, evaluating their effectiveness on a suite of 23 SELF programs whi…
Arthur Allen, Dennis de Champeaux
Statecharts are extended to deal with events when no applicable transition is available, and to resolve conflicts relative to event scheduling and response that can arise whenever multiple states can be active simultaneously. Event closure and event scheduling are achieved withou…
Don Baron, Tom Arnold
"Double, double toil and trouble, fire burn and cauldron bubble" … chant the witches of Macbeth. Take a corporation with a rich, decades-old history of providing on-line services on MVS mainframes, coupled with a vision of the future including OO design and programming, DCE for c…
Shigeru Chiba
This paper presents a metaobject protocol (MOP) for C . This MOP was designed to bring the power of meta-programming to C programmers. It avoids penalties on runtime performance by adopting a new meta-architecture in which the metaobjects control the compilation of programs inste…
Mark Day, Robert Gruber, Barbara Liskov, Andrew C. Myers
All object-oriented languages provide support for subtype polymorphism, which allows the writing of generic code that works for families of related types. There is also a need, however, to write code that is generic across types that have no real family relationship. To satisfy t…
Karel Driesen, Urs Hölzle
Row displacement dispatch tables implement message dispatching for dynamically-typed languages with a run time overhead of one memory indirection plus an equality test. The technique is similar to virtual function table lookup, which is, however, restricted to statically typed la…