Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

Using metalevel techniques in a flexible toolkit for CSCW applications

Published: 01 June 1998 Publication History

Abstract

Ideally, software toolkits for collaborative applications should provide generic, reusable components, applicable in a wide range of circumstances, which software developers can assemble to produce new applications. However, the nature of CSCW applications and the mechanics of group interaction present a problem. Group interactions are significantly constrained by the structure of the underlying infrastructure, below the level at which toolkits typically offer control. This article describes the design features of Prospero, a prototype CSCW toolkit designed to be much more flexible than traditional toolkit techniques allow. Prospero uses a metalevel architecture so that application programmers can have control over not only how toolkit components are combined and used, but also over aspects of how they are internally structured and defined. This approach allows programmers to gain access to “internal” aspects of the toolkit's operation that affect how interaction and collaboration proceed. This article explains the metalevel approach and its application to CSCW, introduces two particular metalevel techniques for distributed data management and consistency control, shows how they are realized in Prospero, and illustrates how Prospero can be used to create a range of collaborative applications.

References

[1]
BARGA, R. AND PU, C. 1996. Reflection on a legacy transaction processing monitor. In Proceedings of Reflection '96, 63-78.]]
[2]
BARGHOUTI, N. S. AND KAISER, G. E. 1991. Concurrency control in advanced database applications. ACM Comput. Surv. 23, 3 (Sept.), 269-317.]]
[3]
BEAUDOUIN-LAFON, M. AND KARSENTY, A. 1992. Transparency and awareness in a real-time groupware system. In Proceedings of the 5th Annual ACM Symposium on User Interface Software and Technology (Monterey, CA, Nov. 15-18). ACM Press, New York, NY, 171-180.]]
[4]
BECK, E. AND BELLOTTI, V. 1993. Informed opportunism as strategy. In Proceedings of the 3rd European Conference on Computer-Supported Cooperative Work. Kluwer B.V., Deventer, The Netherlands.]]
[5]
BENTLEY, R. AND DOURISH, P. 1995. Medium versus mechanism: Supporting collaboration through customisation. In Proceedings of the 4th European Conference on Computer- Supported Cooperative Work. Kluwer B.V., Deventer, The Netherlands.]]
[6]
BERLAGE, T. 1994. A selective undo mechanism for graphical user interfaces based on command objects. ACM Trans. Comput. Hum. Interact. 1, 3 (Sept.), 269-294.]]
[7]
BRAUN, T. AND DIOT, C. 1995. Protocol implementation using integrated layer processing. SIGCOMM Comput. Commun. Rev. 25, 4 (Oct.), 151-161.]]
[8]
CAO, P., FELTEN, E., AND KAI, L. 1994. Implementation and performance of applicationcontrolled file caching. In Proceedings of the ACM Symposium on Operating Systems Design and Implementation. ACM Press, New York, NY, 165-178.]]
[9]
CLARK, D. D. AND TENNENHOUSE, D. L. 1990. Architectural considerations for a new generation of protocols. SIGCOMM Comput. Commun. Rev. 20, 4 (Sept.), 200-208.]]
[10]
CROWLEY, T., MILAZZO, P., BAKER, E., FORSDICK, H., AND TOMLINSON, R. 1990. MMConf: An infrastructure for building shared multimedia applications. In Proceedings of the ACM Conference on Computer-Supported Cooperative Work (Los Angeles, CA, Oct. 7-10). ACM Press, New York, NY, 329-342.]]
[11]
DEMERS, A., PETERSEN, K., SPREITZER, M., TERRY, D., THEIMER, M., AND WELCH, B. 1994. The Bayou architecture: Support for data sharing among mobile users. In Proceedings of the IEEE Workshop on Mobile Computing Systems and Applications. IEEE Press, Piscataway, NJ.]]
[12]
DES RIVI RES, J. AND SMITH, B. 1984. The implementation of procedurally reflective languages. In Proceedings of the ACM Conference on Lisp and Functional Programming. ACM Press, New York, NY, 331-347.]]
[13]
DEWAN, P. ANn CHOUDHARY, R. 1992. A high-level and flexible framework for implementing multiuser user interfaces. ACM Trans. Inf. Syst. 10, 4 (Oct.), 345-380.]]
[14]
DIX, A. 1992. Pace and interaction. In People and Computers VII: Proceedings of HCI '92. (York, UK, Sept.), A. Monk, D. Diaper, and M. D. Harrison, Eds. Cambridge University Press, New York, NY, 193-207.]]
[15]
DOURISH, P. 1995. Developing a reflective model of collaborative systems. ACM Trans. Comput. Hum. Interact. 2, I (Mar.), 40-63.]]
[16]
DOURISH, P. 1996. Open implementation and flexibility in CSCW toolkits. Ph.D. Dissertation. Department of Computer Science, University College, London, England.]]
[17]
DOURISH, P. AND BELLOTTI, Y. 1992. Awareness and coordination in a shared workspace. In Proceedings of the ACM Conference on Computer-Supported Cooperative Work (Toronto, Canada, Oct. 31-Nov. 4). ACM Press, New York, NY, 107-114.]]
[18]
EDWARDS, K. 1996. Coordination infrastructure in collaborative systems. Ph.D. Dissertation. College of Computing, Georgia Institute of Technology, Atlanta, GA.]]
[19]
EDWARDS, K., MYNATT, E., PETERSEN, K., SPREITZER, M., TERRY, D., AND THEIMER, M. 1997. Designing and implementing asynchronous collaborative applications with Bayou. In Proceedings of the ACM Symposium on User Interface Software and Technology (Banff, Alberta, Canada, Oct. 14-17). ACM Press, New York, NY.]]
[20]
ELLIS, C. AND GIBBS, S. 1989. Concurrency control in a groupware system. In Proceedings of the ACM Conference on Management of Data (Portland, OR). ACM Press, New York, NY.]]
[21]
FARRAG, A. A. AND ZSU, M. T. 1989. Using semantic knowledge of transactions to increase concurrency. ACM Trans. Database Syst. 14, 4 (Dec.), 503-525.]]
[22]
GABRIEL, R. P., WHITE, J. L., ANn BOBROW, D. G. 1991. CLOS: Integrating object-oriented and functional programming. Commun. ACM. 34, 9 (Sept.), 28-38.]]
[23]
GREENBERG, S. AND MARWOOD, D. 1994. Real-time groupware as a distrbiuted system: Concurrency control and its effect on the interface. In Proceedings of the ACM Conference on Computer-Supported Cooperative Work. ACM Press, New York, NY.]]
[24]
GREIF, I. ANn SARIN, S. 1986. Data sharing in group work. In Proceedings of the ACM Conference on Computer-Supported Cooperative Work. ACM, New York, NY.]]
[25]
GRINTER, R. 1996. Supporting articulation work using software configuration management systems. Comput. Supp. Coop. Work. 5, 4, 447-465.]]
[26]
HAAKE, A. AND HAAKE, J. M. 1993. Take CoVer: Exploiting version support in cooperative systems. In Proceedings of Human Factors in Computing Systems (Amsterdam, The Netherlands, Apr. 24-29). ACM Press, New York, NY, 406-413.]]
[27]
HARTY, K. AND CHERITON, D. R. 1992. Application-controlled physical memory using external page-cache management. In Proceedings of the 5th International ACM Conference on Architectural Support for Programming Languages and Operating Systems (Boston, MA, Oct. 12-15). ACM Press, New York, NY, 187-197.]]
[28]
HERLIHY, M. 1990. Apologizing versus asking permission: Optimistic concurrency control for abstract data types. ACM Trans. Database Syst. 15, I (Mar.), 96-124.]]
[29]
HILL, R. D., BRINCK, T., ROHALL, S. L., PATTERSON, J. F., AND WILNER, W. 1994. The Rendezvous architecture and language for constructing multiuser applications. ACM Trans. Comput. Hum. Interact. 1, 2 (June), 81-125.]]
[30]
KAISER, G. E. 1995. Cooperative transactions for multiuser environments. In Modern Database Systems: The Object Model, Interoperability, and Beyond, W. Kim, Ed. ACM Press/Addison-Wesley Publ. Co., New York, NY, 409-433.]]
[31]
KICZALES, G. 1992. Towards a new model of abstraction in software engineering. In Proceedings of the International Workshop on New Models for Software Architecture (Tokyo, Japan).]]
[32]
KICZALES, G. 1996. Beyond the black box: Open implementation. IEEE Softw. 13, I (Jan.), 6-11.]]
[33]
KICZALES, G. AND RODRIGUEZ, L. 1990. Efficient method dispatch in PCL. In Proceedings of the ACM Symposium on LISP and Functional Programming (Nice, France, Jun 27-29). ACM Press, New York, NY, 99-105.]]
[34]
KICZALES, G., DES RIVI RES, J., AND BOBROW, D. G. 1991. The Art of the Metaobject Protocol. MIT Press, Cambridge, MA.]]
[35]
MAEDA, C. 1996. A metaobject protocol for accessing file systems. In Proceedings of the International Symposium on Object Technologies for Advanced Software.]]
[36]
MUNSON, J. P. AND DEWAN, P. 1994. A flexible object merging framework. In Proceedings of the ACM Conference on Computer-Supported Cooperative Work (Chapel Hill, NC, Oct. 22-26). ACM Press, New York, NY, 231-242.]]
[37]
MUNSON, J. AND DEWAN, P. 1996. A concurrency control framework for collaborative systems. In Proceedings of the ACM Conference on Computer-Supported Cooperative Work. ACM, New York, NY.]]
[38]
MYERS, B.A. 1990. A new model for handling input. ACM Trans. Inf. Syst. 8, 3 (July), 289-320.]]
[39]
MYERS, B. A., GIUSE, D. A., DANNENBERG, R. B., KOSBIE, D. S., PERVIN, E., MICKISH, A., ZANDEN, B. V., AND MARCHAL, P. 1990. Garnet: Comprehensive support for graphical, highly interactive user interfaces. Computer 23, 11 (Nov.), 71-85.]]
[40]
NICHOLS, D. A., CURTIS, P., DIXON, M., AND LAMPING, J. 1995. High-latency, low-bandwidth windowing in the Jupiter collaboration system. In Proceedings of the ACM Symposium on User Interface and Software Technology (Pittsburgh, PA, Nov 14-17, 1995). ACM Press, New York, NY, 111-120.]]
[41]
O'MALLEY, S. W. AND PETERSON, L. L. 1992. A dynamic network architecture. ACM Trans. Comput. Syst. 10, 2 (May), 110-143.]]
[42]
RAO, R. 1991. Implementational reflection in Silica. In Proceedings of the European Conference on Object-Oriented Programming (Geneva, Switzerland, July 15-19), P. America, Ed. Lecture Notes in Computer Science. Springer-Verlag, New York, NY.]]
[43]
ROSEMAN, M. AND GREENBERG, S. 1993. Building flexible groupware through open protocols. In Proceedings of the ACM Conference on Organizational Computing Systems (Milpitas, CA, Nov. 1-4). S. Kaplan, Ed. ACM Press, New York, NY, 279-288.]]
[44]
ROSEMAN, M. AND GREENBERG, S. 1996. Building real-time groupware with GroupKit, a groupware toolkit. ACM Trans. Comput. Hum. Interact. 3, 1.]]
[45]
SCHUCKMANN, C., KIRCHNER, L., SCH MMER, J., AND HAAKE, J. 1996. Designing object-oriented synchronous groupware with COAST. In Proceedings of the ACM Conference on Computer- Supported Cooperative Work. ACM, New York, NY.]]
[46]
SHEN, H. AND DEWAN, P. 1992. Access control for collaborative environments. In Proceedings of the ACM Conference on Computer-Supported Cooperative Work (Toronto, Canada, Oct. 31-Nov. 4). ACM Press, New York, NY, 51-58.]]
[47]
SMITH, B. 1984. Reflection and semantics in LISP. In Proceedings of the ACM Symposium on Principles of Programming Languages. ACM, New York, NY.]]
[48]
STROUD, R. AND WU, Z. 1995. Using metaobject protocols to implement atomic data types. In Proceedings of the European Conference on Object-Oriented Programming. Springer-Verlag, New York, NY.]]
[49]
SUCHMAN, L.A. 1987. Plans and Situated Actions: The Problem of Human-Machine Communication. Cambridge University Press, New York, NY.]]
[50]
TERRY, D., DEMERS, A., PETERSEN, K., SPREITZER, M., THEIMER, M., AND WELCH, B. 1994. Session guarantees for weakly consistent replicated data. In Proceedings of the International Conference on Parallel and Distributed Information Systems.]]
[51]
VAN RENESSE, R., BIRMAN, K. P., AND MAFFEIS, S. 1996. Horus: A flexible group communications system. Commun. ACM. 39, 4 (Apr.), 76-83.]]

Cited By

View all
  • (2024)From Concept to Community: Unpacking the Work of Designing Educational and Activist ToolkitsProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642681(1-15)Online publication date: 11-May-2024
  • (2020)Application Domain-Based Overview of IoT Network Traffic CharacteristicsACM Computing Surveys10.1145/339966953:4(1-33)Online publication date: 11-Jul-2020
  • (2019)"My cousin bought the phone for me. I never go to mobile shops."Proceedings of the ACM on Human-Computer Interaction10.1145/33591483:CSCW(1-33)Online publication date: 7-Nov-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Computer-Human Interaction
ACM Transactions on Computer-Human Interaction  Volume 5, Issue 2
June 1998
75 pages
ISSN:1073-0516
EISSN:1557-7325
DOI:10.1145/287675
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 1998
Published in TOCHI Volume 5, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. consistency control
  2. consistency guarantees
  3. data distribution
  4. divergency
  5. metalevel programming
  6. open implementation
  7. software architecture

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)43
  • Downloads (Last 6 weeks)6
Reflects downloads up to 14 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)From Concept to Community: Unpacking the Work of Designing Educational and Activist ToolkitsProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642681(1-15)Online publication date: 11-May-2024
  • (2020)Application Domain-Based Overview of IoT Network Traffic CharacteristicsACM Computing Surveys10.1145/339966953:4(1-33)Online publication date: 11-Jul-2020
  • (2019)"My cousin bought the phone for me. I never go to mobile shops."Proceedings of the ACM on Human-Computer Interaction10.1145/33591483:CSCW(1-33)Online publication date: 7-Nov-2019
  • (2019)ProxiTalkProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/33512763:3(1-25)Online publication date: 9-Sep-2019
  • (2019)Ellipsoidal path connections for time-gated renderingACM Transactions on Graphics10.1145/3306346.332301638:4(1-12)Online publication date: 12-Jul-2019
  • (2018)Complex and AmbiguousProceedings of the ACM on Human-Computer Interaction10.1145/32742992:CSCW(1-22)Online publication date: 1-Nov-2018
  • (2018)UMI3DProceedings of the ACM on Human-Computer Interaction10.1145/32742982:CSCW(1-20)Online publication date: 1-Nov-2018
  • (2018)What we talk about when we talk about contextPersonal and Ubiquitous Computing10.1007/s00779-003-0253-88:1(19-30)Online publication date: 6-Oct-2018
  • (2016)Analysis of Configuration Decision Space Over TimeProceedings of the 15th Brazilian Symposium on Human Factors in Computing Systems10.1145/3033701.3033724(1-10)Online publication date: 4-Oct-2016
  • (2016)Creating a family of collaborative applications for emergency management in the firefighting sub-domainInformation Systems Frontiers10.1007/s10796-015-9575-018:1(69-84)Online publication date: 1-Feb-2016
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media