Computer Science Department
School of Computer Science, Carnegie Mellon University
Non-oblivious Retroactive Data Structures
Umut A. Acar*, Guy E. Blelloch, Kanat Tangwongsan
The idea of a retroactive version of a data structure is to maintain a time-ordered sequence of operations while allowing the user to revise the operation sequence by invoking and revoking (i.e.,inserting and deleting, respectively) operations anywhere in the sequence&ndasg;including backwards in time. In many applications of retroactivity, operations depend on the outcomes of previous queries, and therefore the data structures need to identify the queries whose outcome changes when a revision is performed retroactively. Existing notions of retroactivity, however, do not keep track of queries in the operation sequence. Therefore, they cannot efficiently identify the queries that become inconsistent as a result of a retroactive revision.
In this paper, we propose and study a new model of retroactivity, called non-oblivious retroactivity, where both updates and queries are maintained as part of the operation sequence. In this model, a revision to the operation sequence returns the earliest operation that becomes inconsistent, i.e., an operation whose return value differs from before. This mechanism enables the user to efficiently locate the affected operation and decide to perform further revisions as necessary to reestablish the consistency of the operation sequence. We investigate several non-oblivious data structures and prove some lower bounds in the proposed model.
*Toyota Technological Institute at Chicago, Chicago, IL 60637