2,246 papers · page 88 of 113
Avelino F. Zorzo, Robert J. Stroud
In programming distributed object-oriented systems, there are several approaches for achieving binary interactions in a multiprocess environment. Usually these approaches take care only of synchronisation or communication. In this paper we describe a way of designing and implemen…
Ellen Agerbo, Aino Cornils
The rapid evolution of Design Patterns has hampered the benefits gained from using Design Patterns. The increase in the number of Design Patterns makes a common vocabulary unmanageable, and the tracing problem obscures the documentation that should be enhanced by using Design Pat…
John Artim, Charlie Bridgeford, Lillian Christman, James Coplien, Mary Beth Rosson, Stanley Taylor, Rebecca Wirfs-Brock
Groups of people working in concert perform most commercial, industrial or in-house software development. These groups are often quite diverse. This panel brings together object-oriented consultants and developers as well as practitioners and researchers interested in human facto…
Lars Bak, John Duimovich, Jesse Fang, Scott Meyer, David M. Ungar
Elisa Bertino, Giovanna Guerrini
In this paper we extend the ODMG object data model with composite objects. A composite object is an object built by aggregating other component objects. Exclusiveness and dependency constraints, as well as referential integrity, can be associated with composition relationships am…
Noury M. N. Bouraqadi-Saâdani, Thomas Ledoux, Fred Rivard
In a system where classes are treated as first class objects, classes are defined as instances of other classes called metaclasses. An important benefit of using metaclasses is the ability to assign properties to classes (e.g. being abstract, being final, tracing particular messa…
Gilad Bracha, Martin Odersky, David Stoutamire, Philip Wadler
We present GJ, a design that extends the Java programming language with generic types and methods. These are both explained and implemented by translation into the unextended language. The translation closely mimics the way generics are emulated by programmers: it erases all type…
Martin Büchi, Wolfgang Weck
Type compatibility can be defined based on name equivalence, that is, explicit declarations, or on structural matching. We argue that component software has demands for both. For types expressing individual contracts, name equivalence should be used so that references are made to…
Robert Cartwright, Guy L. Steele Jr.
The most serious impediment to writing substantial programs in the Java™ programming language is the lack of a gentricity mechanism for abstracting classes and methods with respect to type. During the past two years, several research groups have developed Java extensions that sup…
David G. Clarke, John Potter, James Noble
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct linked data structures and networks of interacting objects, aliasing is problematic in that an aggregate object's state can change via an alias to one of its components, without the…
Alistair Cockburn, Martin Fowler
In Britain there is a very successful form of panel session, on a television program called “Question Time.” In this programme, four panelists, all public figures, are chosen to give a spectrum of viewpoints. There is always a figure from the two main political p<a.rties, usually…
Grzegorz Czajkowski, Thorsten von Eicken
With the spread of the Internet the computing model on server systems is undergoing several important changes. Recent research ideas concerning dynamic operating system extensibility are finding their way into the commercial domain, resulting in designs of extensible databases an…
Julian Dolby, Andrew A. Chien
Object-oriented languages such as Java and Smalltalk provide a uniform object reference model, allowing objects to be conveniently shared. If implemented directly, these uniform reference models can suffer in efficiency due to additional memory dereferences and memory management …
Sophia Drossopoulou, David Wragg, Susan Eisenbach
Separate compilation allows the decomposition of programs into units that may be compiled separately, and linked into an executable. Traditionally, separate compilation was equivalent to the compilation of all units together, and modification and re-compilation of one unit requir…
Steven Fraser, Maggie Davis, Martin L. Griss, Luke Hohmann, Ian Hopper, Rebecca Joos, Bill Opdyke
Stephen N. Freund, John C. Mitchell
In the standard Java implementation, a Java language program is compiled to Java bytecode. This bytecode may be sent across the network to another site, where it is then interpreted by the Java Virtual Machine. Since bytecode may be written by hand, or corrupted during network tr…
Pietro Di Gianantonio, Furio Honsell, Luigi Liquori
In this paper we investigate, in the context of functional prototype-based languages, objects which might extend themselves upon receiving a message. The possibility for an object of extending its own "self", referred to by Cardelli, as a self-inflicted operation, is novel in the…
Rachid Guerraoui, Pascal Felber, Benoît Garbinato, Karim Mazouni
This paper draws several observations from our experiences in building support for object groups. These observations actually go beyond our experiences and may apply to many other developments of object based distributed systems.Our first experience aimed at building support for …
Jacob Harris, Vivek Sarkar
This paper describes a lightweight yet powerful approach for writing distributed applications using shared variables. Our approach, called SHAREHOLDER, is inspired by the flexible and intuitive model of information access common to the World Wide Web. The distributed applications…
Bart Jacobs, Joachim van den Berg, Marieke Huisman, Martijn van Berkum
We present the first results of a project called LOOP, on formal methods for the object-oriented language Java. It aims at verification of program properties, with support of modern tools. We use our own front-end tool (which is still partly under construction) for translating Ja…