Giuseppe Amato, Fosca Giannotti And Gianni Mainetto

Conservative Multigranularity Locking for an Object-Oriented Persistent Language via Abstract Interpretation

In SEBD 94 (Sistemi Evoluti per Basi di Dati) , pages 329-349, Rimini, Italy, 6-8 June 1994.

This paper presents an experiment of using a formal technique for static program analysis, based on Abstract Interpretation, in the context of an Object-Oriented Persistent Programming Language. Implicit transactions of APPL, a subset of Galileo, are statically analysed for inferring information to support a new concurrency control protocol that merges the wisdom of the Conservative Two-phase Locking with the flexibility of the Multiple Granularity Locking without requiring any predeclaration to transaction programmers. This is an improvement of a previous experiment that concentrates only on the Conservative Two-phase Locking, where the grain of the collected information was particularly significant in case of simply structured transactions. In this paper we are interested in making finer this grain while accessing objects of classes. More precisely, the paper presents a second analysis that detects if a transaction surely accesses all objects of a class or probably a subset of them. Collected information allows to choose the appropriate locking grain: a unique lock for the class versus a set of individual locks, one for each object of the class.