Efficient Proxies in Smalltalk

Abstract : A proxy object is a surrogate or placeholder that controls access to another target object. Proxy objects are a widely used solution for different scenarios such as remote method invocation, future objects, behavioral reflection, object databases, inter-languages communications and bindings, access control, lazy or parallel evaluation, security, among others. Most proxy implementations support proxies for regular objects but they are unable to create proxies for classes or methods. Proxies can be complex to install, have a significant overhead, be limited to certain type of classes, etc. Moreover, most proxy implementations are not stratified at all and there is no separation between proxies and handlers. In this paper, we present Ghost, a uniform, light-weight and stratified general purpose proxy model and its Smalltalk implementation.Ghost supports proxies for classes or methods. When a proxy takes the place of a class it intercepts both, messages received by the class and lookup of methods for messages received by instances. Similarly, if a proxy takes the place of a method, then the method execution is intercepted too.
Document type :
Conference papers
Complete list of metadatas

Cited literature [23 references]  Display  Hide  Download

https://hal.inria.fr/inria-00614720
Contributor : Lse Lse <>
Submitted on : Monday, August 15, 2011 - 5:37:40 PM
Last modification on : Thursday, February 21, 2019 - 11:02:54 AM
Long-term archiving on : Monday, November 12, 2012 - 3:26:04 PM

File

Mart11a-IWST11-Marea.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : inria-00614720, version 1

Citation

Marcus Denker, Mariano Martinez Peck, Noury Bouraqadi, Luc Fabresse, Stéphane Ducasse. Efficient Proxies in Smalltalk. International Workshop on Smalltalk Technologies (IWST 2011), ESUG, Aug 2011, Edinburgh, United Kingdom. ⟨inria-00614720⟩

Share

Metrics

Record views

1618

Files downloads

777