Engineering plug‐in software components to support collaborative work

Many software applications require co‐operative work support, including collaborative editing, group awareness, versioning, messaging and automated notification and co‐ordination agents. Most approaches hard‐code such facilities into applications, with fixed functionality and limited ability to reuse groupware implementations. We describe our recent work in seamlessly adding such capabilities to component‐based applications via a set of collaborative work‐supporting plug‐in software components. We describe a variety of applications of this technique, along with descriptions of the novel architecture, user interface adaptation and implementation techniques for the collaborative work‐supporting components that we have developed. We report on our experiences to date with this method of supporting collaborative work enhancement of component‐based systems, and discuss the advantages of our approach over conventional techniques. Copyright © 2002 John Wiley & Sons, Ltd.

[1]  Michael R. Wilk Change Propagation in Object Dependency Graphs , 1991, TOOLS.

[2]  Mira Mezini,et al.  Adaptive plug-and-play components for evolutionary software development , 1998, OOPSLA '98.

[3]  Clarence A. Ellis,et al.  Groupware: some issues and experiences , 1991, CACM.

[4]  Herbert Schildt,et al.  Javabeans Programming From The Ground Up , 1998 .

[5]  T. C. Nicholas Graham,et al.  Flexibility Mapping Synchronous Groupware Architectures to Distributed Implementations , 1999, DSV-IS.

[6]  Steven S. Popovich,et al.  Integrating groupware and process technologies in the Oz environment , 1994, Proceedings. Ninth International Software Process Workshop.

[7]  John C. Grundy,et al.  External Requirements of Groupware Development Tools , 1998, EHCI.

[8]  Gail E. Kaiser,et al.  Workgroup middleware for distributed projects , 1998, Proceedings Seventh IEEE International Workshop on Enabling Technologies: Infrastucture for Collaborative Enterprises (WET ICE '98) (Cat. No.98TB100253).

[9]  Sergio Bandinelli,et al.  Supporting Cooperation in the SPADE-1 Environment , 1996, IEEE Trans. Software Eng..

[10]  J. Barrie Thompson,et al.  MetaMOOSEan object-oriented framework for the construction of CASE tools , 2000, Inf. Softw. Technol..

[11]  Steven L. Rohall,et al.  The Rendezvous architecture and language for constructing multiuser applications , 1994, TCHI.

[12]  Saul Greenberg,et al.  Building real-time groupware with GroupKit, a groupware toolkit , 1996, TCHI.

[13]  Saul Greenberg,et al.  Simplifying component development in an integrated groupware environment , 1997, UIST '97.

[14]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[15]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[16]  Izak Benbasat,et al.  An experimental investigation of the interactive effects of interface style, instructions, and task familiarity on user performance , 1996, TCHI.

[17]  Prasun Dewan,et al.  Flexible user interface coupling in a collaborative system , 1991, CHI.

[18]  Amy Wohl,et al.  Apple computer, Inc. , 2003 .

[19]  Jörg M. Haake,et al.  Designing object-oriented synchronous groupware with COAST , 1996, CSCW '96.

[20]  William J. Tolone,et al.  Supporting collaborative software development with ConversationBuilder , 1992 .

[21]  Roger Sessions COM and DCOM - Microsoft's vision for distributed objects , 1997 .

[22]  T. C. Nicholas Graham,et al.  ClockWorks: Visual Programming of Component-Based Software Architectures , 1996, J. Vis. Lang. Comput..

[23]  Alan Dix Computer Supported Cooperative Work: A Framework , 1994 .

[24]  Boris Magnusson,et al.  Fine-grained revision control for collaborative software development , 1993, SIGSOFT '93.

[25]  John C. Grundy,et al.  A decentralized architecture for software process modeling and enactment , 1998, IEEE Internet Computing.

[26]  Alan W. Brown,et al.  The Current State , 2016 .

[27]  Paul Allen,et al.  Component-Based Development for Enterprise Systems: Applying the SELECT Perspective , 1997 .

[28]  John C. Grundy,et al.  Developing adaptable user interfaces for component-based systems , 2000, Proceedings First Australasian User Interface Conference. AUIC 2000 (Cat. No.PR00515).

[29]  Simon M. Kaplan,et al.  Supporting collaborative software development with ConversationBuilder , 1992, SDE.

[30]  Roger B. Dannenberg A structure for efficient update, incremental redisplay and undo in graphical editors , 1990, Softw. Pract. Exp..

[31]  Richard Monson-Haefel,et al.  Enterprise JavaBeans , 1999, Java series.

[32]  John C. Grundy Engineering Component-based, User-configurable Collaborative Editing Systems , 1998, EHCI.

[33]  Ralph D. Hill The abstraction-link-view paradigm: using constraints to connect user interfaces to applications , 1992, CHI '92.

[34]  Jane Pryor,et al.  A Java Meta-Level Architecture for the Dynamic Handling of Aspects , 2000, PDPTA.

[35]  Wolfgang Emmerich CORBA and ODBMSs in Viewpoint Development Environment Architectures , 1997, OOIS.

[36]  Karl J. Lieberherr,et al.  Demeter: a case study of software growth through parameterized classes , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[37]  John Grundy,et al.  Multi-Perspective Specification, Design and Implementation of Software Components Using Aspects , 2000, Int. J. Softw. Eng. Knowl. Eng..

[38]  Mira Mezini,et al.  Component Integration with Pluggable Composite Adapters , 2002 .

[39]  Richard Bentley,et al.  Supporting Collaborative Information Sharing with the World Wide Web: The BSCW Shared Workspace System , 1995, WWW Spring 1995.

[40]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[41]  John Grundy,et al.  Supporting flexible consistency management via discrete change description propagation , 1996 .

[42]  Paul Allen Component-Based Development for Enterprise Systems , 1998 .

[43]  Paul Dourish,et al.  Awareness and coordination in shared workspaces , 1992, CSCW '92.

[44]  John C. Grundy,et al.  Constructing component-based software engineering environments: issues and experiences , 2000, Inf. Softw. Technol..

[45]  G. H. ter Hofte,et al.  CoCoDoc: a framework for collaborative compound document editing based on OpenDoc and CORBA , 1997 .

[46]  Mark Apperley,et al.  An architecture and environment for decentralised, internet-wide software process modelling and enactment , 1998 .