In order to utilize the semantics of object methods to ensure cached object consistency, method group commutativity specifies the conditions under which a group of methods will commute. Method group commutativity is determined using a semantic specification of object methods, provided in terms of logical expressions, to create commutativity conjectures that are analyzed using the PVS theorem prover. This analysis results in the creation of a method commutativity specification (MCS), which is used by a distributed caching system to ensure the consistency of method invocations. For greater commutativity, weaker consistency requirements can be specified in the MCS. This base approach is enhanced by optimizations that consider a client's sequential execution of methods and that reduce the amount of data cached by the client. The effectiveness of method group commutativity and associated optimizations is evaluated using Java RMI application benchmarks.
|Original language||English (US)|
|Number of pages||15|
|Journal||IEEE Transactions on Parallel and Distributed Systems|
|State||Published - 2010|
Bibliographical noteFunding Information:
This work was partially supported by the US National Science Foundation (NSF) Awards 0082215 and 0411961. The authors would like to thank the anonymous reviewers for their detailed and insightful comments which improved the quality of this paper.
Copyright 2010 Elsevier B.V., All rights reserved.
- Pre and postconditions
- distributed objects
- language constructs and features
- logics and meanings of programs
- programming languages
- software/software engineering
- specifying and verifying and reasoning about programs
- theory of computation