Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
J-Orchestra: Automatic Java Application Partitioning
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Efficient Object Caching for Distributed Java RMI Applications
Middleware '01 Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms Heidelberg
DADO: enhancing middleware to support crosscutting features in distributed, heterogeneous systems
Proceedings of the 25th International Conference on Software Engineering
A Tool for Securely Integrating Legacy Systems into a Distributed Environment
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
Understanding Function Behaviors through Program Slicing
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
Remote pointcut: a language construct for distributed AOP
Proceedings of the 3rd international conference on Aspect-oriented software development
JAC: an aspect-based distributed dynamic framework
Software—Practice & Experience
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Streaming support for Java RMI in distributed environments
PPPJ '06 Proceedings of the 4th international symposium on Principles and practice of programming in Java
NRMI: Natural and Efficient Middleware
IEEE Transactions on Parallel and Distributed Systems
Proceedings of the ACM/IFIP/USENIX 2003 International Conference on Middleware
Alice: modularization of middleware using aspect-oriented programming
SEM'04 Proceedings of the 4th international conference on Software Engineering and Middleware
Refactoring middleware with aspects
IEEE Transactions on Parallel and Distributed Systems
Expressive and Extensible Parameter Passing for Distributed Object Systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
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 describe DeXteR, an extensible framework for transforming a type-based remote parameter passing model to a declaration-based model transparently. Our framework leverages aspect-oriented and generative programming techniques to enable adding new remote parameter passing semantics, without requiring detailed understanding of the underlying middleware implementation. Our approach is applicable to both application and library code and incurs negligible performance overhead. We validate the expressive power of our framework by adding several non-trivial remote parameter passing semantics (i.e., copy-restore, lazy, streaming) to Java RMI.