Results 1 -
9 of
9
Towards a Method of Object-Oriented Concurrent Programming
- Communications of the ACM
"... This paper proposes a concurrent model that takes into account such important concerns. We insist on concept unifications: the underlying reasons that make object-oriented programming adapted to concurrency. The model characteristics, especially reusability, permit us to define a concurrent object-o ..."
Abstract
-
Cited by 142 (39 self)
- Add to MetaCart
This paper proposes a concurrent model that takes into account such important concerns. We insist on concept unifications: the underlying reasons that make object-oriented programming adapted to concurrency. The model characteristics, especially reusability, permit us to define a concurrent object-oriented design method.
Lost and Found in Software Space
- Proc 34 th HICSS
, 2001
"... Two problems often occur when implementing large software projects in a group: the problem of orientation and the problem of finding competent partners for tight co-operation. This paper presents a spatial representation of the shared source code under development called software space. It shows how ..."
Abstract
-
Cited by 14 (3 self)
- Add to MetaCart
Two problems often occur when implementing large software projects in a group: the problem of orientation and the problem of finding competent partners for tight co-operation. This paper presents a spatial representation of the shared source code under development called software space. It shows how awareness about other person's activities can be provided, which helps to find appropriate partners. Software space dynamically adapts to the user`s preferences and thus improves during usage. We will illustrate how the adapted representation can assist users in finding their way in software space. Keywords: team programming environments, navigation, synchronous groupware, spatial model, awareness, coordination, program analysis, TUKAN 1. Introduction Hypertexts (such as a set of interwoven HTML documents) have evolved as efficient media to impart complex information to the reader. One problem in the reception of hypertext is that of orientation. The question here is, how a user can avoi...
Representing temporal musical objects and reasoning in the MusES system
- Journal of New Music Research
, 1996
"... ABSTRACT. We describe a representation framework for temporal objects and reasoning in the MusES system. The framework is claimed to be use-neutral within the context of tonal music. It is based on the use of an object-oriented programming language, Smalltalk, and makes full use of two main represen ..."
Abstract
-
Cited by 9 (4 self)
- Add to MetaCart
ABSTRACT. We describe a representation framework for temporal objects and reasoning in the MusES system. The framework is claimed to be use-neutral within the context of tonal music. It is based on the use of an object-oriented programming language, Smalltalk, and makes full use of two main representation mechanisms: class inheritance and delegation. We describe the kernel of the representation framework and explain the main design choices. We show how the kernel can be used and extended to represent important temporal concepts related to tonal music. The framework is validated by the realization of two substantial applications: an automatic analyser for chord sequences, and a simulator of jazz improvizations. 1.
Arguments and Results
- In PLOP Proceedings
, 1997
"... If an object oriented program is a collection of communicating objects, then the objects' protocols define the languages the program speaks. Unfortunately, protocols are difficult to design in isolation, so many programs' protocols are not as well designed as they could be. This paper presents six p ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
If an object oriented program is a collection of communicating objects, then the objects' protocols define the languages the program speaks. Unfortunately, protocols are difficult to design in isolation, so many programs' protocols are not as well designed as they could be. This paper presents six patterns which describe how objects protocols can be designed or redesigned. By using these patterns, programs and designs can be made more simple, more general, and more easy to change. Introduction Object's protocols, also know as interfaces, are very important in object oriented design. An object's protocol is the face the object presents to other objects surrounding it. Using an object's protocol, other objects in the program can use the object as a server, thus accessing the behaviour the object provides. Similarly, an object can act as a client to other objects, in turn using their protocols to access their services. This paper presents six patterns for designing object oriented protoc...
Spying as an Object-Oriented Programming Paradigm
, 1993
"... We introduce spying, a novel way of programming with objects, based on capsule programming and reflective facilities. This programming style allows easy building of monitoring systems, such as tracers, debuggers. We point out three main problems related to this programming style, and propose practic ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
We introduce spying, a novel way of programming with objects, based on capsule programming and reflective facilities. This programming style allows easy building of monitoring systems, such as tracers, debuggers. We point out three main problems related to this programming style, and propose practical solutions to some of them. We exemplify our claims with a system that performs master/slave communication across different Smalltalk images. We conclude by proposing a typology of applications where the spying paradigm may be productively used. Key-words: Capsules, Proxies, Monitoring systems, Reflexion. 1. Introduction: a state of the art in capsule programming ? Back in 1986, Pascoe introduced encapsulators [Pascoe 86], a paradigm for object-oriented programming that allowed better structuring of programs. Encapsulators, also called capsules or interceptors [Lalonde&Pugh 91], are objects that "wrap" around arbitrary objects, and redefine some of their behavior in a non intrusive way...
Enforcing Programming Conventions By Attribute Extension in an Open Compiler
, 1996
"... . A problem in supporting reusability of libraries and frameworks is that the programming conventions which need to be followed are only informally described. Safer reuse would result if these conventions could be enforced, preferably at compile time. This paper suggests a technique for this by mean ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
. A problem in supporting reusability of libraries and frameworks is that the programming conventions which need to be followed are only informally described. Safer reuse would result if these conventions could be enforced, preferably at compile time. This paper suggests a technique for this by means of an extensible attribute-grammar based compiler. Keywords: application languages, extensible languages, reusability, frameworks, object-oriented programming, attribute grammars, open compilers. 1 Introduction Libraries as language extensions One of the most important ways to obtain reuse in software development is to construct reusable libraries of program components. A library can be thought of as an application-oriented language, because abstraction mechanisms such as classes and procedures allows the modelling of application-specific concepts. In object-oriented frameworks this idea is taken even further by embedding also the main application behavior in the library, thus making the...
Subjective Behavior: a General Dynamic Method Dispatch
"... In traditional Object-Oriented languages, objects adapt their message behavior by using if-case constructions. This approach constrains message adaptation in three ways. Firstly, the nested ifcase constructions make the method code less readable and difficult to maintain. Secondly, as conditions are ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
In traditional Object-Oriented languages, objects adapt their message behavior by using if-case constructions. This approach constrains message adaptation in three ways. Firstly, the nested ifcase constructions make the method code less readable and difficult to maintain. Secondly, as conditions are implemented with information provided by the receiver or its collaborators, message behavior adaptation to other context features becomes impossible, is the case in the sender’s properties or to those properties of any other existing object related to the receiver. Finally, if-case constructions cannot evolve during an object life. Subjective behavior suggests splitting message behavior in a set of independent methods and generalizes method dispatch mechanism by allowing any context invocation feature to control method applicability. As the mechanism that controls the method dispatch of a message has a system representation, objects could be skilled to change it dynamically. This position paper aims at accurately state what we mean by subjective behavior, as well as to provide an extension of the traditional Object-Oriented paradigm to be able to define messages with such behavior. Reflective facilities on classes of smalltalk-80 [1,6,10] provide us with the basis to implement this language extension.
Albedo - A meta-object infrastructure for Smalltalk
"... Reflection in the object-oriented paradigm became prominent after the publication of Pattie Maes' thesis on Computational Reflection. In her thesis Maes provides a framework for introducing computational reflection into the object-oriented paradigm. Maes observed that "it must be said that the conce ..."
Abstract
- Add to MetaCart
Reflection in the object-oriented paradigm became prominent after the publication of Pattie Maes' thesis on Computational Reflection. In her thesis Maes provides a framework for introducing computational reflection into the object-oriented paradigm. Maes observed that "it must be said that the concept of reflection fits most naturally in the spirit of object-oriented programming". In an attempt to experiment with reflection, a metaobject infrastructure was implemented to support reflective computation. ALBEDO, a meta-object infrastructure based on Smalltalk is described in this paper. Smalltalk supports various ad hoc reflective facilities, but does not support uniform reflective facilities. ALBEDO was implemented without changing the Smalltalk virtual machine. Meta-objects may be explicitly associated with any existing object in the Smalltalk system. ALBEDO is measured against the properties proposed by Maes describing a full reflective architecture. A class library of meta-objects d...
Informatique CDC Caisse des Dépôts et
"... We introduce spying, a novel way of programming with objects, based on capsule programming and reflective facilities. This programming style allows easy building of monitoring systems, such as tracers, debuggers. We point out three main problems related to this programming style, and propose practic ..."
Abstract
- Add to MetaCart
We introduce spying, a novel way of programming with objects, based on capsule programming and reflective facilities. This programming style allows easy building of monitoring systems, such as tracers, debuggers. We point out three main problems related to this programming style, and propose practical solutions to some of them. We exemplify our claims with a system that performs master/slave communication across different Smalltalk images. We conclude by proposing a typology of applications where the spying paradigm may be productively used.

