CentiJ is a software synthesis system that, until recently, used synchronous, semi- automatic static proxy delegation to help in the automation of the creation of distributed Java programs on NOWS (Networks of Workstations). This paper reports our recent extension to CentiJ so that invocations are asynchronous. Further, we have achieved transparency with respect to local vs. non-local asynchronous invocations so that software can be properly tested in a local mode. Reflection helps in the creation of bridge pattern code (i.e., interfaces and proxies) for asynchronous message forwarding via RMI. The CentiJ technique improves programmer productivity by automating the creation of the housekeeping code. The use of compile-time static delegation enables type-safety. CentiJ leaves the part of the code that forms the core computation unchanged. It generates new code that enables asynchronous invocations via the observer-observable design pattern.
Journal of Object Technology
Lyon, Douglas A., "Asynchronous RMI for CentiJ" (2004). Engineering Faculty Publications. 38.
Lyon, Douglas. "Asynchronous RMI for CentiJ." Journal of Object Technology 3, no. 3 (2004): 49-64.