a type system extension for middleware interactions
Object-oriented programming languages such as Java provides inadequate support for advanced method invocation strategies in distributed applications. Invocation semantics such as reliable unicast and multicast must be implemented based on primitive, unreliable unicast mechanisms such as Java RMI and Socket communication. This forces developers to devise ad hoc communication strategies, which is a repetitive and error-prone process. Moreover, these communication strategies are entangled with the business logic of the application, making the code hard to read and maintain. In this paper, we propose an extension of the Java type system based on communication qualifiers . These qualifiers decorate variables with information about the invocation semantics that must be used when methods are invoked on that variable. We show how communication qualifiers are used to support transparent multicast and reliable unicast invocation semantics in Java. Moreover, we introduce declarative operations to enable developers to fine-tune these communication strategies.
type system fault tolerance group method invocation type qualifier