49
to manage if change management is part of a system model. Undo facilities can remove
changes that propagate in an undesirable way, and query facilities can help a user to find
those changes that affect a problematic region of the shared data. The notion of dynamic
change is more inclusive than insert and delete (and even move and copy). For its generali-
zations, the notion of frozen changes is essentially useless for anything more than version-
completeness.
For symmetry and completeness I also categorize frozen versions of the examples of dy-
namic operations in the same way as their dynamic versions. One reason is that it is some-
times necessary to simulate the effects of dynamic operations in a system that only has di-
rect support for frozen operations. For instance, a smart client of a repository supporting
only frozen operations could support dynamic operations by annotating the repository’s fro-
zen operations with the dynamic operations from which they are frozen. The client could
perform merges and other operations in terms of their dynamic definitions on request, but
only the frozen operations would be stored on the server and available to others. Such a so-
lution is not change-complete on the server side, but can be change-complete at the client
side. There are practical obstacles to such a strategy, as a large number of static operations
may be needed to statically record the effects of a dynamic operation.
Content Dependent
Content
Independent
Permutational
Limited Scope Global Scope
Static
Operations
Insert, Delete
[essential]
Frozen Move, Frozen Copy,
Frozen Transpose
[useful to optimize space in
version-complete systems]
Frozen Sort, Frozen Filter
[rarely useful, even for
version-completeness]
Frozen Global Change, Fro-
zen Spelling Correction
[very rarely useful, even for
version-completeness]
Dynamic
Operations
Multi-context
Insert, Multi-
context delete
[essential]
Move, Clone/Copy, Transpose
[widely used in editing sys-
tems]
Sort, Filter(arbitrary local
constraints)
[not commonly provided]
Global Change, Spelling Vali-
dation(arbitrary global
constraints)
[not commonly provided]
T T T Ta a a ab b b b lll le e e e 2222....1111:::: TTTTaaaaxxxxoooonnnnoooommmmyyyy ooooffff ooooppppeeeerrrraaaattttiiiioooonnnnssss
to manage if change management is part of a system model. Undo facilities can remove
changes that propagate in an undesirable way, and query facilities can help a user to find
those changes that affect a problematic region of the shared data. The notion of dynamic
change is more inclusive than insert and delete (and even move and copy). For its generali-
zations, the notion of frozen changes is essentially useless for anything more than version-
completeness.
For symmetry and completeness I also categorize frozen versions of the examples of dy-
namic operations in the same way as their dynamic versions. One reason is that it is some-
times necessary to simulate the effects of dynamic operations in a system that only has di-
rect support for frozen operations. For instance, a smart client of a repository supporting
only frozen operations could support dynamic operations by annotating the repository’s fro-
zen operations with the dynamic operations from which they are frozen. The client could
perform merges and other operations in terms of their dynamic definitions on request, but
only the frozen operations would be stored on the server and available to others. Such a so-
lution is not change-complete on the server side, but can be change-complete at the client
side. There are practical obstacles to such a strategy, as a large number of static operations
may be needed to statically record the effects of a dynamic operation.
Content Dependent
Content
Independent
Permutational
Limited Scope Global Scope
Static
Operations
Insert, Delete
[essential]
Frozen Move, Frozen Copy,
Frozen Transpose
[useful to optimize space in
version-complete systems]
Frozen Sort, Frozen Filter
[rarely useful, even for
version-completeness]
Frozen Global Change, Fro-
zen Spelling Correction
[very rarely useful, even for
version-completeness]
Dynamic
Operations
Multi-context
Insert, Multi-
context delete
[essential]
Move, Clone/Copy, Transpose
[widely used in editing sys-
tems]
Sort, Filter(arbitrary local
constraints)
[not commonly provided]
Global Change, Spelling Vali-
dation(arbitrary global
constraints)
[not commonly provided]
T T T Ta a a ab b b b lll le e e e 2222....1111:::: TTTTaaaaxxxxoooonnnnoooommmmyyyy ooooffff ooooppppeeeerrrraaaattttiiiioooonnnnssss