actions. We show how the use of transactions with object level locking can be used to obtain s-correctness. We also observe that with transactions present we can employ optimistic schemes, which may fail, to obtain s-correct executions.
Many interesting topics are left for future research.
ffl The concept of conflict between events can be refined. It may be overly conservative as presented. While in traditional concurrency control operations either conflict or do not conflict regardless of their usage, event order matters if it can affect some predicate, so it is a relativized notion of conflict. New synchronization methods can be developed based on this refined definition.
ffl As noted, we can regard events as transactions and synchronize them as ordinary transactions (or sub-transactions, when we deal with a transaction based system). This leads to a uniform treatment of transactions and events and simplicity in implementation. However, due to their simplicity, being a one operation transaction, this may be an overkill, especially when there are numerous events. So, the relative merits of the various mechanisms need be evaluated.
ffl It has been suggested that events have parameters, possibly representing the state of the system at the time at which they occurred. The use of parameters appears to restrict severely the flexibility available for coordination between sites in a distributed system. This issue requires further study.
In summary, we believe that the notions of event histories and composite events are crucial to active object-oriented databases of the future. In this paper we have taken the first steps towards designing a correct distributed system of this type.
Thanks to Inderpal Mumick for several illuminating discussions.