Using Task Models for Cascading Selective Undo

  • Aaron G. Cass
  • Chris S. T. Fernandes
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4385)


Many studies have shown that selective undo, a variant of the widely-implemented linear undo, has many advantages over the prevailing model. In this paper, we define a task model for implementing selective undo in the face of dependencies that may exist between the undone action and other subsequent user actions. Our model accounts for these dependencies by identifying other actions besides the undone one that should also be undone to keep the application in a stable state. Our approach, which we call cascading selective undo, is built upon a process-programming language originally designed in the software engineering community. The result is a formal analytical framework by which the semantics of selective undo can be represented separately from the application itself. We present our task model, the selective undo algorithm, and discuss extensions that account for differing kinds of inter-action dependencies.


User Action Data Dependency Task Model Parallel Task Control Dependency 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abowd, G.D., Dix, A.J.: Giving undo attention. Interacting with Computers 4(3), 317–342 (1992)CrossRefGoogle Scholar
  2. 2.
    Archer Jr., J.E., Conway, R., Schneider, F.B.: User recovery and reversal in interactive systems. ACM Transactions on Programming Languages and Systems 6(1), 1–19 (1984)CrossRefGoogle Scholar
  3. 3.
    Berlage, T.: A selective undo mechanism for graphical user interfaces based on command objects. ACM Transactions on Computer-Human Interaction 1(3), 269–294 (1994)CrossRefGoogle Scholar
  4. 4.
    Chen, D., Sun, C.: Undoing any operation in collaborative graphics editing systems. In: GROUP, pp. 197–206 (2001)Google Scholar
  5. 5.
    Dix, A.: Moving between contexts. In: Palanque, P., Bastide, R. (eds.) Design, Specification and Verification of Interactive Systems ’95, Toulouse, France, pp. 149–173. Springer, Heidelberg (1995)Google Scholar
  6. 6.
    Mancini, R., Dix, A.J., Levialdi, S.: Dealing with undo. In: Proc. of INTERACT’97, Sydney, Australia, Chapman and Hall, Boca Raton (1997)Google Scholar
  7. 7.
    Myers, B.A., Kosbie, D.S.: Reusable hierarchical command objects. In: Proc. of the ACM Conf. on Human Factors in Computing (CHI 96), pp. 260–267. ACM Press, New York (1996)CrossRefGoogle Scholar
  8. 8.
    Osterweil, L.J.: Software processes are software, too. In: Proc. of the Ninth International Conf. on Software Engineering, Monterey, CA (Mar. 1987)Google Scholar
  9. 9.
    Prakash, A., Knister, M.J.: A framework for undoing actions in collaborative systems. ACM Transactions on Computer-Human Interaction 1(4), 295–330 (1994)CrossRefGoogle Scholar
  10. 10.
    Ressel, M., Gunzenhäuser, R.: Reducing the problems of group undo. In: GROUP, Phoenix AZ, USA, pp. 131–139 (1999)Google Scholar
  11. 11.
    Sun, C.: Undo any operation at any time in group editors. In: Computer-Supported Cooperative Work (CSCW), pp. 191–200 (2000)Google Scholar
  12. 12.
    Tantau, T.: User’s Guide to the Beamer Class, Version 3.06 (Oct. 2005),
  13. 13.
    Wise, A., et al.: Using Little-JIL to coordinate agents in software engineering. In: Proc. of the Automated Software Engineering Conf., Grenoble, France (Sep. 2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Aaron G. Cass
    • 1
  • Chris S. T. Fernandes
    • 1
  1. 1.Union College, Schenectady, NY 12308USA

Personalised recommendations