93
4.3.4 The P-sequence content functionC
S
The final component of the P-sequence for a minimally consistent change sequence Sis
the function that returns the contents of a range within it, given the endpoints of that
range. As discussed in Section 3.3, the main issue is dealing with the relative ordering of the
effects of changes in cases where the effect of one (or more) changes could affect the results
of other changes. We saw that there is no single good answer to such situations, but that
some form of order needs to be imposed if the results are to be sensible. In particular, if the
move operation is to preserve the invariant that moved data appears exactlyonce in a docu-
ment, then some order of effect is required. The exact ordering chosen is a parameter of the
model that can be adjusted to meet the needs of a particular implementation or application.
The symbol <
chg will be used to denote this ordering. The raised dot is used for sequence con-
catenation, so that a bdenotes the concatenation of sequencesaandb.L represents the
null sequence.
The function C
S (a
1 , a
2 )is defined in terms of a functionC’
S (a
1 , a
2 , S’) where S’ is a subset
of Scontaining changes that should contribute to the determination of the contents of the
range from a
1 …a
2 . S’ allows C’ to be used recursively to determine, for example, the contents
of the source of a move without considering the effect of that move on the source (since the
effect would be to delete the entire range).
Definition 4.10:C
S (a
1 , a
2 )is defined asC’(a
1 , a
2 , S).
A few predicates will simplify the definition of the contents of a P-sequence. Deleted(a
1 ,
a
2 , S)is true if the data in the rangea
1 …a
2 is deleted by any of the changes in a change set
S.Moved(a
1 , a
2 , S)determines if the data in the rangea
1 …a
2 appears elsewhere because of
moves in S. RecessiveMoves(m, S)is the set of all moves inSwith a priority less than or
equal to that of m.
Definition 4.11:Deleted(a
1 , a
2 , S)is true iff$ c e S, c = D[a’
1 , a’
2 ] and
a’
1 £
SA a
1 <
SA a
2 £
SA a’
2 .
4.3.4 The P-sequence content functionC
S
The final component of the P-sequence for a minimally consistent change sequence Sis
the function that returns the contents of a range within it, given the endpoints of that
range. As discussed in Section 3.3, the main issue is dealing with the relative ordering of the
effects of changes in cases where the effect of one (or more) changes could affect the results
of other changes. We saw that there is no single good answer to such situations, but that
some form of order needs to be imposed if the results are to be sensible. In particular, if the
move operation is to preserve the invariant that moved data appears exactlyonce in a docu-
ment, then some order of effect is required. The exact ordering chosen is a parameter of the
model that can be adjusted to meet the needs of a particular implementation or application.
The symbol <
chg will be used to denote this ordering. The raised dot is used for sequence con-
catenation, so that a bdenotes the concatenation of sequencesaandb.L represents the
null sequence.
The function C
S (a
1 , a
2 )is defined in terms of a functionC’
S (a
1 , a
2 , S’) where S’ is a subset
of Scontaining changes that should contribute to the determination of the contents of the
range from a
1 …a
2 . S’ allows C’ to be used recursively to determine, for example, the contents
of the source of a move without considering the effect of that move on the source (since the
effect would be to delete the entire range).
Definition 4.10:C
S (a
1 , a
2 )is defined asC’(a
1 , a
2 , S).
A few predicates will simplify the definition of the contents of a P-sequence. Deleted(a
1 ,
a
2 , S)is true if the data in the rangea
1 …a
2 is deleted by any of the changes in a change set
S.Moved(a
1 , a
2 , S)determines if the data in the rangea
1 …a
2 appears elsewhere because of
moves in S. RecessiveMoves(m, S)is the set of all moves inSwith a priority less than or
equal to that of m.
Definition 4.11:Deleted(a
1 , a
2 , S)is true iff$ c e S, c = D[a’
1 , a’
2 ] and
a’
1 £
SA a
1 <
SA a
2 £
SA a’
2 .