8
(Dourish 1996) gives application authors access to a range of interaction styles from fully
synchronous to fully asynchronous using a common toolkit. In order to support movement
from synchronous to asynchronous work, Prospero allows consistency failures to occur and
helps the application to handle them. In Prospero, applications are implemented by adding
code to a class framework, and such failures are handled by overriding update methods in
the classes provided (which include a sharable text buffer). This abstraction pays off by al-
lowing the implementation of generalized undo, version management, version merge, and
the persistent addressing of data elements. Prospero’s approach is very promising, since it
actually does integrate editorial work cleanly along the axis from synchronous to asynchro-
nous work.
The limitations of Prospero as a general theoretical model stem from its fundamentally
operational nature. Consistency is actively checked by code that can then take an explicit
action to resolve the conflict. Editing changes and update operations themselves are repre-
sented directly by code that implements their application, and any conflict resolution policy.
Prospero abstracts common shared editing application behaviors and provides a toolkit of
convenient abstractions, but does not provide an abstract semantics of operations and opera-
tion resolution. The fact that Prospero’s operational semantics are based on traditional con-
sistency techniques such as locking also makes for some problems, since they offer much less
power in exchange for their cost, especially once the strong guarantees of traditional locking
are softened to declarations of probable behavior. The lack of a single underlying
concurrency model means that reasoning about the semantics of a Prospero application fun-
damentally involves reasoning about a general program, and not a more restricted (declara-
tive) description.
The Prep editor (Neuwirth, Kaufer et al. 1990; Neuwirth, Kaufer et al. 1994) was devel-
oped at CMU as a research vehicle for examining collaborative writing support tools. In addi-
tion to system development, the Prep group has done empirical research on the processes
(Dourish 1996) gives application authors access to a range of interaction styles from fully
synchronous to fully asynchronous using a common toolkit. In order to support movement
from synchronous to asynchronous work, Prospero allows consistency failures to occur and
helps the application to handle them. In Prospero, applications are implemented by adding
code to a class framework, and such failures are handled by overriding update methods in
the classes provided (which include a sharable text buffer). This abstraction pays off by al-
lowing the implementation of generalized undo, version management, version merge, and
the persistent addressing of data elements. Prospero’s approach is very promising, since it
actually does integrate editorial work cleanly along the axis from synchronous to asynchro-
nous work.
The limitations of Prospero as a general theoretical model stem from its fundamentally
operational nature. Consistency is actively checked by code that can then take an explicit
action to resolve the conflict. Editing changes and update operations themselves are repre-
sented directly by code that implements their application, and any conflict resolution policy.
Prospero abstracts common shared editing application behaviors and provides a toolkit of
convenient abstractions, but does not provide an abstract semantics of operations and opera-
tion resolution. The fact that Prospero’s operational semantics are based on traditional con-
sistency techniques such as locking also makes for some problems, since they offer much less
power in exchange for their cost, especially once the strong guarantees of traditional locking
are softened to declarations of probable behavior. The lack of a single underlying
concurrency model means that reasoning about the semantics of a Prospero application fun-
damentally involves reasoning about a general program, and not a more restricted (declara-
tive) description.
The Prep editor (Neuwirth, Kaufer et al. 1990; Neuwirth, Kaufer et al. 1994) was devel-
oped at CMU as a research vehicle for examining collaborative writing support tools. In addi-
tion to system development, the Prep group has done empirical research on the processes