Dragonfly: linking conceptual and implementation architectures of multiuser interactive systems

Software architecture styles for developing multiuser applications are usually defined at a conceptual level, abstracting such low-level issues of distributed implementation as code replication, caching strategies and concurrency control policies. Ultimately, such conceptual architectures must be cast into code. The iterative design inherent in interactive systems implies that significant evolution will take place at the conceptual level. Equally, however, evolution occurs at the implementation level in order to tune performance. This paper introduces Dragonfly, a software architecture style that maintains a tight, bidirectional link between conceptual and implementation software architectures, allowing evolution to be performed at either level. Dragonfly has been implemented in the Java-based TeleComputing Developer (TCD) toolkit.

[1]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[2]  Paul Dourish,et al.  Using metalevel techniques in a flexible toolkit for CSCW applications , 1998, TCHI.

[3]  T. C. Nicholas Graham,et al.  Integrating Support for Temporal Media into an Architecture for Graphical User Interfaces , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[4]  Peyman Oreizy,et al.  A Component- and Message- Architectural Style for GUI Softw , 1996 .

[5]  Saul Greenberg,et al.  Real time groupware as a distributed system: concurrency control and its effect on the interface , 1994, CSCW '94.

[6]  Joëlle Coutaz,et al.  PAC-ing the architecture of your user interface , 1997, DSV-IS.

[7]  Bertrand David,et al.  Frameworks and Patterns for Synchronous Groupware: AMf-C Approach , 1998, EHCI.

[8]  Steven L. Rohall,et al.  The Rendezvous language and architecture , 1993, CACM.

[9]  Joëlle Coutaz,et al.  From single-user architectural design to PAC*: a generic software architecture model for CSCW , 1997, CHI.

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

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

[12]  William Phillips Architectures for Synchronous Groupware , 1999 .

[13]  F. Paterno,et al.  Engineering task models , 1997, Proceedings. Third IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.97TB100168).

[14]  Prasun Dewan,et al.  Coupling the user interfaces of a multiuser program , 1995, TCHI.

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

[16]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[17]  Clarence A. Ellis,et al.  Concurrency control in groupware systems , 1989, SIGMOD '89.

[18]  Prasun Dewan,et al.  Architectures for Collaborative Applications , 1999 .

[19]  T. Duval,et al.  Implémentation d ’ une application de simulation selon le modèle PAC-Amodeus , 1999 .

[20]  Marvin Theimer,et al.  Designing and implementing asynchronous collaborative applications with Bayou , 1997, UIST '97.

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

[22]  T. C. Nicholas Graham,et al.  Efficient distributed implementation of semi-replicated synchronous groupware , 1996, UIST '96.

[23]  Richard R. Muntz,et al.  COCA: collaborative objects coordination architecture , 1998, CSCW '98.

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