46
particular data structure. Even at this rough level of classification, different operational
definitions have very different properties in terms of conflicts and resolution strategies.
Some of these issues will become clear even in the current coarse analysis, but we will have
to delay examination of the policy questions until we have enough concrete information to
answer them.
The needs of applications that require only version-completeness are completely met by
the simplest classes of operation definition in this taxonomy, while the other definitions
match different operational completeness conditions. Because the goal of Palimpsest is to
create usable facilities to manage divergent flexible collaboration, the sub-goal of opera-
tional completeness becomes very important in itself. It is worth noting that these tech-
niques to achieve operational completeness can also be used to achieve additional goals of a
system that only requires version-completeness. For instance, change histories that include
move operations can be smaller than any history built only from insertion and deletion op-
erations. On the other hand, simply to achieve version-completeness in itself never requires
the use of such operations.
2.5 Dynamic and static operations
Table 2.1 (page 49) summarizes my taxonomic division of changes into types, depending
on whether they interact with other changes, and what forms of operation they implement.
This taxonomy places system models at different points on two orthogonal axes. The most
basic distinction between operational definitions divides the set into two classes:
Static operationsdo not interact with other operations in any fundamental way, so that
the effect of an operation on a range of data does not depend on the effects of other opera-
tions that affect that data. For instance, an insertion always inserts the same data regardless
of what other operations are performed. Static operation do not depend on the contents of
any portion of a sequence for their effect, but only for their location.
particular data structure. Even at this rough level of classification, different operational
definitions have very different properties in terms of conflicts and resolution strategies.
Some of these issues will become clear even in the current coarse analysis, but we will have
to delay examination of the policy questions until we have enough concrete information to
answer them.
The needs of applications that require only version-completeness are completely met by
the simplest classes of operation definition in this taxonomy, while the other definitions
match different operational completeness conditions. Because the goal of Palimpsest is to
create usable facilities to manage divergent flexible collaboration, the sub-goal of opera-
tional completeness becomes very important in itself. It is worth noting that these tech-
niques to achieve operational completeness can also be used to achieve additional goals of a
system that only requires version-completeness. For instance, change histories that include
move operations can be smaller than any history built only from insertion and deletion op-
erations. On the other hand, simply to achieve version-completeness in itself never requires
the use of such operations.
2.5 Dynamic and static operations
Table 2.1 (page 49) summarizes my taxonomic division of changes into types, depending
on whether they interact with other changes, and what forms of operation they implement.
This taxonomy places system models at different points on two orthogonal axes. The most
basic distinction between operational definitions divides the set into two classes:
Static operationsdo not interact with other operations in any fundamental way, so that
the effect of an operation on a range of data does not depend on the effects of other opera-
tions that affect that data. For instance, an insertion always inserts the same data regardless
of what other operations are performed. Static operation do not depend on the contents of
any portion of a sequence for their effect, but only for their location.