📖
Ghost: A Uniform and General-Purpose Proxy Implementation
Mariano Martinez Peck, Noury Bouraqadi, Stéphane Ducasse, Luc Fabresse, Marcus Denker

Ghost: A Uniform and General-Purpose Proxy Implementation

Science & Mathematics Published 2012 Verification Pending

Overview & Synopsis

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 are unable to create proxies for objects with an important role in the runtime infrastructure such as classes or methods. Proxies can be complex to install, they can have a significant overhead, they can be limited to certain kind of classes, etc. Moreover, proxy implementations are often not stratified and they do not have a clear separation between proxies (the objects intercepting messages) and handlers (the objects handling interceptions). In this paper, we present Ghost: a uniform and general-purpose proxy implementation for the Pharo programming language. Ghost provides low memory consuming proxies for regular objects as well as for classes and methods. When a proxy takes the place of a class, it intercepts both the messages received by the class and the lookup of methods for messages received by its instances. Similarly, if a proxy takes the place of a method, then the method execution is intercepted too.

Indexed from repository: HAL Open Science (hal.science)
Loading document from verified source...
Keyboard Shortcuts: ← / → for pages • + / - for zoom • 0 to fit width Powered by Mozilla PDF.js v3.11

Document Information

Document Title Ghost: A Uniform and General-Purpose Proxy Implementation
Author / Organization Mariano Martinez Peck, Noury Bouraqadi, Stéphane Ducasse, Luc Fabresse, Marcus Denker
Subject & Discipline Multidisciplinary Academic Open Research
Categories Science & Mathematics
Publication Year 2012
License / Rights Open Access / Creative Commons
Resource Verification Listed PDF (Verification Pending)
Original Host Website HAL Open Science (hal.science)
File Format application/pdf (Portable Document Format)
Language EN
Catalog ID DOC-202792
Original Source Link Visit Source Page on hal.science »