DeXteR- An Extensible Framework for Declarative Parameter Passing in Distributed Object Systems

  title={DeXteR- An Extensible Framework for Declarative Parameter Passing in Distributed Object Systems},
  author={Sriram Gopal and Wesley Tansey and Gokulnath C. Kannan and Eli Tilevich},
In modern distributed object systems, reference parameters are passed to a remote method based on their runtime type. We argue that such type-based parameter passing is limiting with respect to expressiveness, readability, and maintainability, and that parameter passing semantics should be decoupled from parameter types. We present declarative parameter passing, an approach that fully decouples parameter passing semantics from parameter types in distributed object systems. In addition, we… 
Expressive and Extensible Parameter Passing for Distributed Object Systems
A declarative and extensible approach to remote parameter passing that decouples parameter passing semantics from parameter types, and a plugin-based framework, DeXteR, which enables the programmer to extend the built-in set of remote parameter Passing semantics, without having to understand or modify the underlying middleware implementation.
Safe uniform proxies for Java
  • P. Eugster
  • Computer Science
    Sci. Comput. Program.
  • 2013
Which problems does a multi-language virtual machine need to solve in the multicore/manycore era?
It is argued that VMs will need to be ready for a wide range of different concurrency models that allow solving concurrency problems with appropriate abstractions, and they need to abstract from heterogeneous processor architectures, varying performance characteristics, and inter-core communication mechanisms but should only expose the minimal useful set of notions to maintain their abstracting nature.


Lazy Parameter Passing
The role of Java's concept of dynamic proxies in the implementation of the novel parameter passing semantics, and other distinctive features of the abstraction are depicted, and a general extension to that concept whose scope exceeds by far the context given by the abstraction is presented.
Doorastha A step towards distribution transparency
The Doorastha system is presented, which allows to configure a centralized program for a distributed environment transparently, while preserving the Java semantics and allowing fine-grained distribution policies.
Uniform proxies for Java
An approach to supporting dynamic proxies "for classes" in Java, consisting in transformations performed on classes at load-time, including a generic scheme for enforcing encapsulation upon field accesses, seemslessly extend the scope of the current support for dynamic proxies.
JAC: an aspect‐based distributed dynamic framework
This paper describes the aspect‐oriented programming model and the architectural details of the framework implementation, and the software entity called an aspect component (AC) that enables extension of application semantics for handling well‐separated concerns.
Remote pointcut: a language construct for distributed AOP
DJcutter is presented, which is the AspectJ-like language supporting remote pointcuts, which enables developers to write a simple aspect to modularize crosscutting concerns distributed on multiple hosts.
DADO: enhancing middleware to support crosscutting features in distributed, heterogeneous systems
The DADO/sup 1/ approach helps program cross-cutting features by improving DH middleware by using adaplets which are explicitly modeled in IDL, and its use for several cross- cutting features, including performance monitoring, caching, and security is described.
The JBoss Extensible Server
This paper focuses on two major architectural parts of JBoss: its middleware component model, based on the JMX model, and its meta-level architecture for generalized EJBs, which requires a novel class loading model, which JBoss implements.
J-Orchestra: Automatic Java Application Partitioning
J-Orchestra has significant generality, flexibility, and degree of automation advantages compared to previous work on automatic partitioning and is used to successfully partition several realistic applications including a command line shell, a ray tracer, and several applications with native dependencies.
Refactoring Middleware with Aspects
This aspect-oriented refactoring proves that aspect orientation is capable of composing orthogonal design requirements and strongly indicates that modularity of middleware architecture is greatly hindered by the wide existence of tangled logic.
Alice: Modularization of Middleware Using Aspect-Oriented Programming
An aspect-oriented programming approach is proposed, complemented by standard Java 1.5 annotations to provide meta information about the components, and a sophisticated query language for pointcut designation based on annotations.