Flexibly Mapping Synchronous Groupware Architectures to Distributed Implementations

  • Tore Urnes
  • T. C. Nicholas Graham
Part of the Eurographics book series (EUROGRAPH)


Design-level architectures allow developers to concentrate on the functionality of their groupware application without exposing its detailed implementation as a distributed system. Because they abstract issues of distribution, networking and concurrency control, design-level architectures can be implemented using a range of distributed implementation architectures. This paper shows how the implementation of groupware applications can be guided by the use of semantics-preserving architectural annotations. This approach leads to a development cycle that involves first developing the functionality of the application in a local-area context, then tuning its performance by setting architecture annotations. The paper concludes with timing results showing that architectural annotations can dramatically improve the performance of groupware applications.


Critical Path Concurrency Control Cache Strategy Client Machine Cache Algorithm 
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.
    J. Begole, C.A. Struble, C.A. Shaffer, and R.B. Smith. Transparent Sharing of Java Applets: A Replicated Approach. UIST ‘87, pages 55–64, 1997.Google Scholar
  2. 2.
    J. Brown and S. Marshall, Sharing Human-Computer Interaction and Software Engineering Design Artifacts. In Proc. OZCHI’98, Dec. 1998.Google Scholar
  3. 3.
    G. Calvary, J. Coutaz, and L. Nigay. From Single-User Architectural Design to PAC*: a Generic Software Architecture Model for CSCW. In Proc. CHI ‘87, pages 242–249. ACM Press, 1997.Google Scholar
  4. 4.
    P. Dewan and R. Choudhary. A High-Level and Flexible Framework for Implementing Multiuser User Interfaces. ACM TOIS, 10 (4): 345–380, Oct. 1992.CrossRefGoogle Scholar
  5. 5.
    P. Dourish. Consistency Guarantees: Exploiting Application Semantics in a Collaboration Toolkit. In Proc. ACM CSCW, 1996.Google Scholar
  6. 6.
    W.K. Edwards, E.D. Mynatt, K. Petersen, M.J. Spreitzer, D.B. Terry, and M.M. Theimer. Designing and Implementing Asynchronous Collaborative Applications with Bayou. In Proc. ACM UIST ‘87. ACM Press, 1997.Google Scholar
  7. 7.
    C.A. Ellis and S.J. Gibbs. Concurrency Control in Groupware Systems. In Proc. SIGMOD ‘89, pages 399–407. ACM Press, 1989.CrossRefGoogle Scholar
  8. 8.
    T.C.N. Graham. Declarative Development of Interactive Systems. Volume 243 of Berichte der GMD. Munich: R. Oldenbourg Verlag, July 1995.Google Scholar
  9. 9.
    T.C.N. Graham. Group Scape: Integrating Synchronous Groupware and the World Wide Web. In Proc. INTERACT’97, pp. 547–554, July 1997.Google Scholar
  10. 10.
    T.C.N. Graham, C.A. Morton, and T. Urnes. Clockworks: Visual Programming of Component-Based Software Architectures. J. Visual Lang. & Comp., 7 (2): 175–196, June 1996.CrossRefGoogle Scholar
  11. 11.
    T.C.N. Graham and T. Urnes. Relational Views as a Model for Automatic Distributed Implementation of Multi-User Applications, CSCW’92, 59–66, 1992.Google Scholar
  12. 12.
    T.C.N. Graham and T. Urnes. Integrating Support for Temporal Media into an Architecture for Graphical User Interfaces. In Proc. ICSE ‘87, 1997.Google Scholar
  13. 13.
    T.C.N. Graham, T. Urnes, and R. Nejabi. Efficient Distributed Implementation of Semi-Replicated Synchronous Groupware. In Proc. UIST ‘86, pp. 1–10, 1996.Google Scholar
  14. 14.
    S. Greenberg and D. Marwood. Real Time Groupware as a Distributed System: Concurrency Control and its Effect on the Interface. CSCW ‘84, 207–217, 1994.Google Scholar
  15. 15.
    R.D. Hill, T. Brinck, S.L. Rohall, J.F. Patterson and W. Wilner. The Rendezvous Language and Architecture for Constructing Multi-User Applications. ACM TOCHI, 1 (2): 81–125, June 1994.CrossRefGoogle Scholar
  16. 16.
    G.J. Holzmann Design and Validation of Computer Protocols. Prentice Hall, 1990.Google Scholar
  17. 17.
    T. Kindberg, G. Coulouris, J. Dollimore, and J. Heikkinen. Sharing Objects over the Internet: the Mushroom Approach. In Proc. IEEE Global Internet ‘86, 1996.Google Scholar
  18. 18.
    G.E. Krasner and S.T. Pope. A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk-80. JOOP, 1 (3): 26–49, Aug./Sept. 1988.Google Scholar
  19. 19.
    T. O’Grady. Flexible Data Sharing in a Groupware Toolkit. M.Sc. Thesis, Department of Computer Science, University of Calgary, 1996.Google Scholar
  20. 20.
    J.F. Patterson, M. Day, and J. Kucan. Notification Servers for Synchronous Groupware. In Proc. ACM CSCW ‘86, pages 122–129. ACM Press, 1996.Google Scholar
  21. 21.
    M. Roseman and S. Greenberg. Building Real Time Groupware with GroupKit, A Groupware Toolkit. ACM TOCHI, 3(1): 66–106, March 1996.Google Scholar
  22. 22.
    M. Sage and C. Johnson, Pragmatic Formal Design: A Case Study in Integrating Formal Methods into the HCI Development Cycle. In Proc. DSVIS’98, 1998.Google Scholar
  23. 23.
    B. Shneiderman. Designing the User Interface: Strategies for Effective Human-Computer Interaction, Third Edition. Addison Wesley, 1998.Google Scholar
  24. 24.
    F. Tarpin-Bernard, B. David and P. Primet, Frameworks and patterns for synchronous groupware: AMF-C approach, EHCI’98, 1998.Google Scholar
  25. 25.
    R.N. Taylor, N. Medvidovic, K.M. Anderson, E.J. Whitehead Jr., J.E. Robbins, K.A. Nies, P. Oreizy, and D.L. Dubrow. A Component-and Message-Based Architectural Style for GUI Software. IEEE Trans. SW Eng., 22 (6), June 1996.Google Scholar
  26. 26.
    T. Urnes. Efficiently Implementing Synchronous Groupware. Ph.D. Thesis, Department of Computer Science, York University, October 1998.Google Scholar

Copyright information

© Springer-Verlag/Wien 1999

Authors and Affiliations

  • Tore Urnes
    • 1
  • T. C. Nicholas Graham
    • 2
  1. 1.Telenor Research and DevelopmentKjellerNorway
  2. 2.Department of Computing and Information ScienceQueen’s UniversityKingstonCanada

Personalised recommendations