61
This simple model of insertions and deletions is trivial, but still has a great deal of power
in expanding the number of merge and undo possibilities for sequence editing. It is also sus-
ceptible of very simple implementation, simply by treating the tree of insertions and dele-
tions as a data structure, that can be traversed to extract any desired version on demand.
Comparing different states is also easy, since all changes are related to their context of ef-
fect, and a state is specified in terms of its constituent changes. The same traversal that can
generate a particular state of a document can also generate a detailed comparison of two
states that indicates the exact operations taken during the editing process.
3.3 Operational conflicts
In this section we shall examine all possible operation/operation conflicts and what kinds
of resolution are possible. We will first examine conflict resolution in terms of local struc-
tural configurations; many relatively unproblematic questions can be resolved purely in
these terms. Then, we will reconsider the actual operations, because there are also more
complex conflicts which depend essentially on the operation itself. Local conflict situations
depend only on the relations of specific regions of effect for an operation. Global conflicts
will be considered in Section , but are instances where an operational conflict exists even
though the local conflict is of a type that would normally have a sensible resolution.
Table 3.2 presents a grid arrangement of the four types of Palimpsest operation, with
notes as to which local conflict types they can represent.
This simple model of insertions and deletions is trivial, but still has a great deal of power
in expanding the number of merge and undo possibilities for sequence editing. It is also sus-
ceptible of very simple implementation, simply by treating the tree of insertions and dele-
tions as a data structure, that can be traversed to extract any desired version on demand.
Comparing different states is also easy, since all changes are related to their context of ef-
fect, and a state is specified in terms of its constituent changes. The same traversal that can
generate a particular state of a document can also generate a detailed comparison of two
states that indicates the exact operations taken during the editing process.
3.3 Operational conflicts
In this section we shall examine all possible operation/operation conflicts and what kinds
of resolution are possible. We will first examine conflict resolution in terms of local struc-
tural configurations; many relatively unproblematic questions can be resolved purely in
these terms. Then, we will reconsider the actual operations, because there are also more
complex conflicts which depend essentially on the operation itself. Local conflict situations
depend only on the relations of specific regions of effect for an operation. Global conflicts
will be considered in Section , but are instances where an operational conflict exists even
though the local conflict is of a type that would normally have a sensible resolution.
Table 3.2 presents a grid arrangement of the four types of Palimpsest operation, with
notes as to which local conflict types they can represent.