INTERCONNECT: An Extensible Workbench for ... - CiteSeerX

0 downloads 0 Views 82KB Size Report
approach is to build a fast, cheap and flexible system, using already existing groupware in .... [Wiggins 95] project and the introduction of graphical browsers integrating the access to ..... Pickering, W. (1994) - Can Suites Fill Groupware Needs?
CYTED-RITOS International Workshop on Groupware, Lisbon, Portugal, September 1995

INTERCONNECT: An Extensible Workbench for Customizing Cooperative Work Applications M. L. Campos [email protected]

L. A. Barros [email protected]

M. C. Cavalcanti [email protected]

Universidade Federal do Rio de Janeiro Instituto de Matemática Núcleo de Computação Eletrônica PO Box 2324 Zip Code 20001-970 Rio de Janeiro, RJ - Brazil

Abstract The complexity of developing full fledged groupware systems imposes a heavy demand on the development team and certainly is a task not to be accomplished in a short period of time. Many research projects opt to develop a specific tool, concentrating on a particular task of cooperative work. In this article we introduce INTERCONNECT, an extensible groupware workbench, used as a composition tool for customizing cooperative applications. Our approach is to build a fast, cheap and flexible system, using already existing groupware in the Internet and assuming an evolutionary strategy. 1. INTRODUCTION Nowadays, CSCW is already a recognized area and groupware is not a new word for the computer users. As some researchers in the area have predicted, technology is changing the way groups work, introducing new interaction possibilities. Distance and time are not obstacles any more. It is now possible to co-write a paper just using e-mail and ftp facilities. Also now, it takes only a few hours to browse the Internet, searching for related works, which is amazing compared to the time we would have taken if depended upon conventional libraries. CSCW researchers are learning from the chaos. Even though we are only at the beginning of a full understanding about how to support group work, we are learning fast through the problems we have identified in the use of groupware tools by the business and research communities. So far, tools are built mostly to support a specific task [Kling 94]. Those who try to be more generic with a comprehensive approach, usually fail to support properly some group tasks, or do not support all the tasks that a group may require. The dynamic nature of cooperation and the changing requirements of groupware applications impose new demands on the way we face CSCW developments. Using a well-known Tsichritzis’ metaphor [Tsichritzis 88], “if a certain species takes longer to reproduce than a major change in its environment it has difficulties to survive”. He cites three things that make a species flourish: build fast, build cheap, build flexibly. We use Tsichritzis’ approach in our

project: to build fast, we use bigger building blocks, composing our systems from selfcontained groupware modules; to build cheap, we reuse existing pieces of software [Rattcliffe & Gautier 91]; to build flexibly, we assume system evolution and progressive development. In this article we introduce INTERCONNECT, an extensible groupware workbench, used as a composition tool for customizing cooperative applications. In the second section we present the motivation for our approach. In the third section, we discuss cooperative work on the Internet, presenting some of the systems developed in this area. The fourth and fifth sections present INTERCONNECT, discussing its requirements, objectives, and architecture, followed by the sixth section that shows an example of its use. The seventh section describes the project development strategy. Finally, in the last section we present our conclusion, outlining some project directions. 2. MOTIVATION The complexity of developing full fledged groupware systems imposes a heavy demand on the development team and certainly is a task not to be accomplished in a short period of time. Many research projects opt to develop a specific tool, concentrating on a particular task of cooperative work. For example, there is considerable research in areas such as decision support and conferencing systems. For those who want to explore a more comprehensive environment of computer supported cooperation, though, this approach is not satisfactory. There is a need to work on integrating the full range of groupware as a way to effectively evaluate the computer support to cooperation. In what concerns our research project, we intend to experiment with computer supported cooperative work in two application areas which we have been involved for some time and where collaboration plays a fundamental role: education and software engineering. In these areas, we need more then isolated tools to support interactions, we need a set of integrated facilities that allow informal communication, discussion, information sharing and decision making, among others. As a small group of researchers, aided by undergraduate students working on their final projects, we decided it would be wiser not to invest in a completely new development, but to concentrate our efforts on customizing and extending public domain tools already available. Of course, with this approach, the system initially may not fulfill all our needs, but it would also have some advantages: • to have an environment to explore cooperation more quickly; • to experiment with several tools; • to help the group identify the tools deficiencies for future, more extensive developments. Previous Experience In the last two years, as a result of undergraduate final projects, M.Sc. and Ph.D. thesis, we had some groupware applications developed. The applications were implemented using a diversity of software, such as Folio Views (Folio Corporation) and Lotus Notes (Lotus), among others. Although these applications aimed at different environments (support to cooperative learning - ARCOO, support to decision making during software development QUORUM, support to documentation for software maintenance - ARCoPAS), they had many characteristics and facilities in common. As we planned to move these applications to the Internet environment, we thought their similarities should be explored further.

ARCOO [Barros 94] is a cooperative distributed hypermedia system designed to help the fundamental processes of distributed cooperative learning: communication, information sharing, and coordination. ARCOO supports work meetings, virtual conferences and talks through a distributed network. Those virtual meetings allow the collective construction of a solution for a project through spaces of creativity, conflict negotiation, execution and planning, and task evaluation. QUORUM [Araujo 94] is a group support system which focuses the software development process. Its objective is to support the discussion task and group argumentation, providing resources for structuring a problem under solution and a method to help the members reaching a final conclusion. Besides, it stores the information generated through out the whole process, allowing the software developers to access the decision documents at any time, such as at maintenance phase or for reuse purposes. ARCoPAS [Cavalcanti 94] is a support environment for Reverse Engineering, specifically for Architectural Design Recovery. Many of the existing tools that support such process do not allow human participation. Different from these tools, the ARCoPAS prototype joins the automatic extraction of the modular structure of a system directly from the source code, to the cooperative extraction of the specialists knowledge about it. This union allows the recovery of a complete document, rich in information that only the specialists know. For the cooperative phase of the recovery, it uses an argumentation model called IBIS - Issue Based Information System, to support the exchange of information between the specialists. Also it uses a hypertext model for the design document, which is tightly related to the argumentation document. At the same time, in another project exploring hypertexts and databases [Borges & Campos 94], we have been investigating some of the client systems for accessing information on the Internet. Experimenting with front-ends for the World Wide Web, mainly Mosaic and NetScape, we have seen their immediate potential as an environment for group collaboration. They are hypertext based (as most of the tools in groupware) and have a very simple user interface. Besides, they allow the integration of many different protocols under the same interface, following well defined standards. 3. COOPERATIVE WORK ON THE INTERNET In its early years, the Internet was a huge source of information only accessible via a series of not very friendly interfaces, mostly command-based. With the advent of the World Wide Web [Wiggins 95] project and the introduction of graphical browsers integrating the access to various Internet resources, there has been an enormous interest in exploring new ways of interaction through the net. The Web brought to the Internet the flexibility of hypertexts and the expressiveness and richness of multimedia. With those, a variety of applications other than information delivery has appeared. The use of interactive forms, the possibility of starting external processes in the server, the facilities to create virtual worlds, among others, fostered the development of systems to support group cooperation and communication in the Internet. Before these, conventional mail systems, mailing lists and newsgroups were already popular forums for discussions and the interchange of ideas. However, mailing lists have no structure to organize a discussion on a particular topic. Newsgroups, although allowing for responses to a specific message, are still rather chaotic, and the messages simply vanish after a period of time. For a true conferencing system, some structure and coordination is essential.

New systems, with graphical interfaces, showed it is possible to build in the Internet, applications with similar functionality to some of the commercially available groupware. Many of these systems are public domain software and they could be used to compose groupware applications. Hypermail [Web Hypermail] is an example of a system that uses the graphical interface of WWW. In summary, Hypermail takes a file of mail messages in the UNIX mailbox format and generates a set of cross referenced HTML documents. Each file that is created represents a separate message in the mail archive and contains links to other articles, so that the entire archive can be browsed in a number of ways by following links. Another example of Internet groupware is Collage [Web Collage], a collaborative editor. It allows the user to collaborate in real time with others, through the Internet. Even though without any coordination and structuring mechanisms, the users collaborate with each other through shared texts, graphics, images, and a chat tool. Collage’s chat tool is a text based real time conference system that allows the communication between the members of a group, through the Internet. Like Collage’s chat tool, Yarn [Web YARN] is a text based real time conference system. But Yarn goes further, offering a group decision support mechanism. In order to facilitate the coordination of the discussion process, it provides a facilitator role, assigning to one of the members the responsibility for the interruption of those who talk too much and for the initiation of a voting process. There is another conferencing system called WIT [Web WIT], that does not offer a coordination mechanism, but provides the structuring of the discussion process. WIT was developed in a few days following the WWW’94 conference, to support technical discussions after the event. It structures a discussion in a permanent, continuously expanding hierarchical tree, based on the well known IBIS [Conklin & Begeman 88] model of discussion. The levels in the hierarchy correspond to topics, proposals and arguments, where the topics present questions or problems to be solved, the proposals are suggested solutions for a specific topic, and the arguments point positive and negative aspects related to a particular proposal. Unlike the last two conferencing systems, WIT is not a real time systems, allowing just asynchronous communication. Finally, there are conferencing systems that provide video facilities. CU-SeeMe [Web CUSeeMe] is a video-conferencing software for the Internet that provides a one-to-one connection, or by use of a reflector, a one-to-many, a several-to-several, or a several-to-many conference, depending on user needs and hardware capabilities. Although these tools are available and ready to be used locally, there are still problems on using them heavily to support group interaction on a real project: • they were each planned for a specific environment on the Internet: some for WWW, some as independent processes, some for remote login; the user has to deal with these different modes of interaction; • there is no way of switching between tools smoothly and transparently: there is no “upper level” where the user can see what is available for use and simply “start up” a tool from the set offered in a way as uniform as possible; • there is no communication between them, nothing that allows information to cross boundaries between tools;

• there is no place for managing the whole set of interactions and sharing, where the members of the group could be listed and where their activities could be documented and monitored. However, some of these tools have their source code also available, becoming strong candidates to our “build fast, build cheap, build flexible” approach. 4. COLMEIA and INTERCONNECT The group COLMEIA was formed in November of 1994 to coordinate some experiments for the exploration of computer supported cooperative work. INTERCONNECT is one of the projects of COLMEIA and it has three main objectives: • to develop a workbench of cooperative work tools that could be customized according to users’ need; • to use initially some of the groupware tools already available in the Internet, and later, to refine the functionality of each tool, evolving to a more integrated environment; • to use the workbench to adapt three existing applications (QUORUM, ARCoPAS, ARCOO), developed using distinct systems, to this new environment. • to use the workbench to develop new applications in other domain areas. INTERCONNECT is an extensible groupware workbench, a composition tool for customizing cooperative work applications. The main concept in INTERCONNECT is the concept of shared workspace. Developing an application with INTERCONNECT defines a shared workspace which will be the interface to a group involved in a process of cooperation, containing the facilities available for informal communication, discussion, information sharing and decision making, among others. By choosing services and facilities from a general framework, specific environments (workspaces) are created by the application designer for different kinds of applications. The importance of having a workbench consisting of many tools is mainly the integration of these tools in a single environment, giving to the user a unified view of the facilities available through a common interface, and giving to the application designer flexibility to customize these tools in an adequate environment to the users needs. The user interface of an application created with INTERCONNECT will contain a set of icons representing the services and facilities available. These services and facilities may vary from a simple e-mail tool to a database where users store their weekly work report for others to browse. Multimedia elements in the interface are very important, as they increase the expressiveness of the interaction. INTERCONNECT follows the approach of user and task application configuration so, the application requirements analysis is essential for the proper selection and customization of groupware tools included in the application. Analysing an application implies in the identification of two kinds of requirements - conceptual and technical. Conceptual requirements is strictly related to the application and depends upon user needs and objectives. Technical requirements can be identified through the transformation of concepctual

requirements into empirical ones and through the analysis of several applications and groupware tools. Technical requirements for developing distributed cooperative applications There are two groups of requirements that allow (a) to configure cooperative applications and (b) to build efficient, reliable and user-friendly distributed systems. The requirements in (a) are initially grouped based on the specific requirements identified on the three applications already developed - ARCOO, QUORUM and ARCoPAS. (a) Requirements to configure cooperative applications Three perspectives are essential to support any kind of cooperative team - the group dynamics, the group processes, and the group security. However, for each member of a group, a valuable feature in a system is the garantee of its privacy. For each of these viewpoints we identify more fine grained requirements that should be provided by the applications developed using INTERCONNECT. This suggests a number of specific objects in the environment to be chosen by the application designer to set up an application system for a specific domain. 1. Group dynamics • communication - to have different communication protocols; to offer several communication forms; to use many media for message transmission such as text, sound, and video; to allow ways to control the concurrence in the communications. • mechanisms for conflict resolution - to assure means to express the diversity of opinions and to make proposals; to provide ways to "visualize" the negotiation space with all its elements and their relationships; to provide different tools for decision support. • group awareness - to provide tools that allow each participant to identify the group members and to perceive each group member's "movement" into and off a process execution; to allow ways to recognize the individual contributions and to show the evolution of the project's steps during the team work in process. • priority definitions - to supply tools that allow the definition of access priorities, their control and to dynamically change them based on the group's rules of interaction. 2. Group processes • to provide access, use and information sharing - to offer different tools for synchronous and asynchronous data retrieval, based on specified access control so that to garantee information integrity after data modification by members of the group ; to provide mechanisms for version control. • to interconnect information - to support different types of linking for the group generated information. • mechanisms for information search and access - to have ways to do searches in a structured or free way; the structured way of search may be a logical expression or a graph template; all the objects in the system should be addressable and reached. • “socialfuliness” and user-friendly interfaces [Vallée 91] - windows sharing among users; WYSIWIS or WYSIAWIS visibility of the data; if a group member requests, to have ways to control "invisible" persons' actions in order to promote her visibility;

management of the screen space to avoid visual confusion caused by information overload. • signature acceptance - to accept several ways to identify a user when it is important to recognize the author of an application action. 3. Group security • access control - to support several data protection mechanisms, in different data granularities; ways to allow selective access authorizations. • group "privacy" - procedures to define group boundaries and manners to observe the presence of lurks. 4. Individual privacy • privacy in the individual workspace - to have means for temporary "group disconnection"; to grant an individual data and actions' space; to permit the definition of "access doors" to his workspace, equivalent to the system's access control mechanisms. • to transfer part of its private space - to have simple ways to transfer results from actions and information from his private space to the shared space. (b) Requirements for distributed computing systems • • • • • • •

safety and reliability in data transmission several communication protocols among different platforms and applications different applications linking (data and processes) tolerance to users fault easy undo of actions and data recovery easy escape from work context co-evolution of system and user

5. INTERCONNECT ARCHITECTURE: INTERCONNECT architecture was conceived considering these requirements under the constraints listed on section II above and consists of three layers: the application layer, the service layer and the support layer (see figure 1). The APPLICATION LAYER consists of the user interface, with tools (services) customized to satisfy the specific requirements of a groupware application. The SERVICE LAYER comprises the set of services and facilities available to the application designer for building the applications. The services and facilities should provide the functionality mentioned in section IV to support group dynamics and group security. All these services will rely on a common set of information and functions to support their use and integration. These will be provided by the SUPPORT LAYER, which consists of two parts: • the database support, which sustains the different group processes, providing information sharing among users and linking of information across different services;

• the communication support, which manages the interactions between users and controls privileges.

Application Layer

Service Layer

Educational Application

Tool 1

Tool 2 Tool 5

Support Layer

Soft. Eng. Application

Maintenance Application

....

Tool 3 Tool 6

DataBase Support

Other Application

Tool 4

Tool 7

User DB

Communication Support

Figure 1: INTERCONNECT Architecture

The Application Layer - the Workspace and the User Interface Since the beginning, we decided to use, as much as possible, existing Internet public domain software in INTERCONNECT. At the application layer, in order to have very quickly a working prototype, WWW browsers like Mosaic and Netscape - were chosen as the presentation tool for the workspace. This workspace is customized when the application is created, by selecting and configuring the desired services from the Service Layer. In fact, the development of an application using INTERCONNECT will generate a hypertextlike interface to be displayed using the browser (like a ‘home page’ is displayed in the context of WWW), including icons representing the various facilities available. Some of these facilities are directly implemented as standard tags of HTML (the markup language for hyperdocuments in WWW), others are calls for specific processes in the server, which will activate actions corresponding to the various facilities. The Service Layer The Service Layer includes a set of ready-to-use tools and some extra functionality to generate ad-hoc facilities - like definition and access to an application’s specific repository or database. Among this ready-to-use tools we may have: • a conventional mail facility, for interpersonal communication between group members;

• a structured asynchronous conferencing facility, where topics, positions and arguments would be presented. This would allow the organization of issues discussed and the identification of threads, so that to support future reference, documentation and even decision making; • a synchronous conferencing facility, allowing for free discussions, with very little intervention of a moderator, for conducting real-time discussions, brainstorms and small sessions for group members interactions; • a whiteboard, for synchronous, unstructured interaction, where diagrams and sketches need to be shared and discussed; • a cooperative editor/browser, to support the collaborative work on common documents; Examples of these tools were listed in section III. The application designer may add to these basic tools his/her own extra services. For this purpose, INTERCONNECT offers facilities for defining and accessing application specific information bases and a proper way of linking and specifying any other external processes created by the designer. With these extra facilities, it is possible to configure for example, an integrated view of information sources, including conventional files, document bases of various media besides those in conventional databases. The Support Layer This layer is responsible for the management and control of the data and functions necessary to run and connect the services in the Service Layer. The Communication Support is responsible for the group dynamics and security, monitoring different events that occur when members interact, and reacting accordingly. It includes mechanisms to supervise activities in each service and to support association of activities between services. It supports awareness throughout the application, following participation and evolution of its different processes. The Database Support provides all the facilities for storage and management of INTERCONNECT information needs, mainly the data shared by different services. It is widely accepted that shared information plays a central role in CSCW systems [Blair & Rodden 1994], although the scope and nature of this sharing varies considerably. There is a basic set of features that rely on the Database Support: concurrency control to shared object access, versionning mechanisms, recording of object use history, structured and non-structured access to shared objects, and access and linking to external sources. The underlying data model must be extensible to allow new types to be added according to the application’s specific requirements. For each application, a database will be generated, with general data types to support INTERCONNECT operations and customized data types conforming to the designer’s specification. The database will manage information about group members, their privileges and status, discussion objects, shared documents, interaction events, and applications designer’s objects. In its first version, the Database Support will have a narrow scope, providing a restrict set of types covering only basic group information and interactions. As some services will be used with no changes, just as they are offered to the Internet community, it is to be expected a loose degree of connectivity among services in this first version.

In a second version, though, the data model will be extended so that all services might communicate with each other via changes to the database and by triggering events. The use of an Object Oriented Database Management System will allow for extra features to be easily incorporated specially triggers and notification mechanisms. 6. EXAMPLE In this section we analyze the specific requirements of an application to support distributed cooperative learning, illustrating INTERCONNECT approach. This example is based on a propotype implementation of ARCOO using Lotus Notes for a client-server architecture. This prototype can be improved if it is moved to the Internet with the integration of different tools. The Application Designer (AD) receives the client request for a distributed cooperative learning system. Based on the client specifications and its related system requirements, the AD selects tools to be connected, and uses INTERCONNECT to integrate those tools and setup the new application. Conceptual requirements analysis In our example, the client needs a system with resources to empower a group of learners to cooperatively search for a solution of a problem. A cooperative action means the sharing of a goal, ideas, knowledge, and decisions that allows a group of learners to achieve a common goal. In the experiment, the students are distributed over a geographic area and they are connected by network. There are three main learning aspects related with the client request: problem solving learning, cooperative learning, and distributed cooperative learning. In each case there are specific application requirements for the software development. Working with an expert in computerbased educational environments, the AD first analysis identifies several conceptual requirements. The conceptual requirements reflect some values or doctrines in an application domain. They are not necessarily empirical but they are important in the recognition of the design problem. The AD describes concisely those requirements for each learning aspect, identifying entities and actions over them, that should be supported by the application system. Learning through problem solving requires a computational support that encourages the cognitive and metacognitive processes. The student needs to interact with the object of study. Those interactions help him to build internal knowledge representations and to "manipulate" those representations through reflexive abstractions. Processes like analysis, synthesis, deduction, inference, and others must be supported by tools that allow the representation of information, the establishment of relationships among information, and their transformation. The entities related to the cognitive aspect are: the object of study, the structured knowledge, the information and students ideas. The system should offer tools to support the actions of representation and definition of relationships among those entities. Cooperative learning involves cognitive and social processes. The cognitive processes are the result of interactions with the object of study and the participants. Those engaged in this kind of learning should share a common goal, knowledge and information, and should build a "collective memory".

The social processes ask for a continuous communication among the participants and "more subtle skills", such as to spontaneously collaborate with one another, to share his/her information and knowledge, and to deal with conflicts in harmony. The participants need communication protocols, mechanisms that allow the explicitation of their divergences and that help the decision making, and also ways to exhibit their internal representations of an object or knowledge, in order to share them. The entities related to the social aspect are: people (students, tutors, experts, etc.) and work plans. The system should offer tools to support actions related with the communication among those entities and their sharing. In the distributed cooperative learning aspect, besides the cognitive and social processes, the management process rises as a new important process to be supported. The new spatial and temporal dimensions in distributed systems frees the learner from some constraints. But this freedom promotes some losses. He loses, for instance, the face-to-face communication that simplifies the exchanging of ideas, opinions and plans, the coordination of some activities and the assignment of the meetings frequency. The entities related to the distributed cooperative learning aspect are the meetings. The system should offer tools to coordinate and manage synchronous or asynchronous meetings. Technical requirements analysis Based on the conceptual requirements the Application Designer identifies the technical requirements to be satisfied by the groupware to be developed. Considering the characteristics listed under the three learning perspectives - problem solving (cognitive), cooperative learning, and distributed cooperative learning - a set of supporting systems is defined. The table below crosses the conceptual requirements with the systems that should accomplish them. For each entity-system pair, the cell shows the actions that the system provides over the entity. Distributed Collaborative Learning (management)

Learning Aspects

Collaborative Learning (communication, sharing) Cognitive (representation, relationship) object

entities

information

Structured Knowledge

representation, representation, representation, relashionship, relashionship, relashionship, sharing sharing sharing representation, synchronous communication, communication system sharing representation, asynchronous communication, communication system sharing cooperative multimedia representation, representation, sharing sharing editor group decision support system (brainstorm, voting, etc.) representation representation representation tools for specific subject learning (tutorials, simulations, games, etc.) cooperative project manager (group agenda, planner, etc.)

people

plans

meetings

distributed cooperative hypermedia system

communication

communication

communication

communication sharing

communication

communication management, sharing communication sharing

Table 1: Crossing the conceptual and technical requirements. From the table presented above, it is clear that there is not a single system that fulfills all the conceptual requirements. In other words, it is difficult to find in the market a system that

allows all the actions needed over the entities. So, the solution is to connect isolated tools, in order to provide as many required actions as it is possible. Using INTERCONNECT to provide the groupware application Based on the application’s requirements the AD selects some tools, that are offered as services in the workbench. If necessary, the AD may add extra tools, including as well new data types in the data base, in order to provide complete integration among tools. Finally, INTERCONNECT sets up the new application system, providing a Windows like panel that offers an integrated view of the application. Hence, for the distributed cooperative learning application above, we assume that the AD could select from the set of available tools: a cooperative multimedia editor (e.g. Collage), a synchronous communication system (e.g. Collage or Yarn), an asynchronous structured communication system (e.g. WIT), a group decision support system (e.g. Yarn), a distributed cooperative hypermedia system, and a cooperative project manager. If one specific needed tool is not available, it could be the case it would have to be developed and integrated to the workbench, characterizing the extensibility feature of INTERCONNECT. At the end, INTERCONNECT delivers the customized application, meeting the client’s requirements. Should these requirements change, again the AD would adjust the application accordingly. 7. RELATED WORK AND DEVELOPMENT STRATEGY There are at least three groups under the same research interest of Colméia. One of them, lead by Saul Greenberg and Mark Roseman, at the University of Calgary in Canada, has developed a software called GroupKit - a Groupware Toolkit [Web GroupKit]. GroupKit is an environment for developing groupware, dedicated specially for real-time conferencing applications. It has primarily been used as a research tool for prototyping groupware systems and investigating multi-user architectures and interaction techniques. There are already some sample applications that were built in GroupKit, such as drawing tools, editors and meeting tools. Just to mention a few, GroupSketch, FileViewer and BrainStorm are three of these samples. GroupSketch is a multi-user stroke-based paint system, where people can draw simultaneously, and monitor the others' cursors. FileViewer lets people simultaneously scroll through and view a file. At last, BrainStorm is a simple brainstorming tool that lets people enter ideas, and visualize a shared common list of Ideas. While GroupKit focus on the real-time application, another research group is experimenting with EGRET [Web EGRET] - an Exploratory Group Work Environment - at the Collaborative Software Development Laboratory, which has been designed for different-time-different-place collaboration. According to their definition, EGRET is an implemented environment for the development of domain-specific collaborative systems. It has been demonstrated a useful platform through experiences in different domains. The DesignBase for example, was one of the first EGRET application, it is a hypertext system for documenting the object-oriented structure of EGRET itself. Another application is CLARE [Web Yellow], which is a system designed to support collaborative learning. CLARE is specially useful in environments such as research seminars, where literature is analyzed for strengths and weakness, for relationships to other research, and for the generation of new research directions. A third application, called

CSRS [Web Yellow], is a system to support collaborative software review, in order to improve its quality. CSRC has now matured to the point of use in industry. EGRET was developed for UNIX/X windows platform, and consists of a public interface of around 400 functions, grouped into 30 object-oriented classes, themselves grouped into five layered subsystems. GroupKit was also developed for UNIX/X11 window system, based on the Tcl/TK/Tcl-DP packages from the University of California at Berkeley. Both of them have public versions accessible via ftp. A third international research group, coordinated by Joachm Schmidt and Florian Matthes, is beginning a new project at this very month (April/95), named EU/CAN Cooperation [Web Eu/Can]. This project involves researchers of four different countries: Canada, Germany, Belgium and Italy. The goal of the proposed cooperation is to integrate on-going research by the participating research groups, thereby contributing towards a technology that deals effectively with the development and maintenance of Cooperative Information Systems. As they pointed out, these systems are object- and activity-oriented and have to work in heterogeneous and distributed environments. Moreover, there is a growing demand to integrate such systems tightly with organizational work so that these information systems can be of direct and immediate use to the business activity at hand. Our project resembles EU/CAN, in that it is a proposal to integrate already existing groupware or research in the area, although of a much smaller magnitude. But, in some sense, it also has similarities with EGRET and GroupKit as it is an environment for the development of domainspecific collaborative applications. INTERCONNECT approach is coherent with our research environment, considering the limited financial resources available to support it and that our work team, excluded the few senior members, is exclusively constituted of undergraduates. These students have plenty of experience in the use of Internet, but very little practice in systems development. In this sense, the reusability approach suits perfectly as a project strategy, as they can learn while modifying existing code. Our previous experience in developing groupware applications is an important factor for the initial specification of the basic services to be provided at the workbench. Besides, these applications constitute an appropriate study case set to put INTERCONNECT to the proof, allowing profitable comparisons with their original implementations. Unix was chosen as the development platform, at least for the first version. The main reasons for this option is the larger availability of groupware tools for this operating system and the fact that it is the native environment of the Internet. With respect to the database platform, a relational database management system will be initially used, while an object-oriented database is not yet available to the project. 8. CONCLUSION CSCW research and groupware tools are evolving fast. Group work dynamics is influenced by the software tool being used. On the other hand, software tools are very often changed due to users/teams requests. Groupware design and development should be flexible enough to support requirements changes and new releases in short periods of time. INTERCONNECT is a co-evolutionary system. This means that both its users and the system are in continuous evolution due to their interaction. Object-oriented development and software

reusability [Basili & Rombach 91] are the basic concepts underlying the design of coevolutionary systems [Tsichritzis 88]. INTERCONNECT approach is based on these design principles. Prototyping is accomplished faster when reusable object composition is an easy task. This implies three issues when designing with reusable objects: object selection, object granularity and composition methods. The COLMEIA team started INTERCONNECT project choosing initial directives that may change as the software evolves. For the first stage of the project our directives are: • object selection - to look for tools among public domain software for Internet; • object granularity - to reuse big building blocks (fully developed tools) depending on the availability of the source code for modification; • composition method - to connect the selected tools through information sharing in the data base, integrating them in a single interface. The first two directives above are related to the service layer, and the last directive is associated with the support and application layers. As future improvements on these layers, we foresee short term changes: • to extend reusability, decreasing object granularity; • to provide an object library based on a suitable classification method; • to increase object integration, improving the composition method. The obvious advantage of an evolutionary approach is flexibility. But, certainly, the best outcome of this proposal is in fact the experience and knowledge gained throughout progressive developments. REFERENCES Araujo, R. M (1994) - QUORUM - Um Sistema de Suporte à Decisão em Grupo para o Desenvolvimento de Software. M.Sc. thesis. COPPE - Universidade Federal do Rio de Janeiro. Baecker, R. M. (1993) - Readings in Groupware and Computer-Supported Cooperative Work - Morgan Kauffmann Publishers, Inc. Barros, L. A. (1994) - Suporte a Ambientes Distribuídos de Aprendizagem Cooperativa Ph.D. Thesis. COPPE - Univeridade Federal do Rio de Janeiro. Basili, V. R. & Rombach, H. D. (1991) - Support for Comprehensive Reuse - Software Engineering Journal, September, pg 303-316. Baum, D. (1994) - Developing Serious Applications With Notes. DATAMATION, April15, pg 28-32. Blair, G. S. & Rodden, T. (1994) - The Opportunities and Challenges in CSCW, Journal of the Brazilian Computer Society, No. 1, Vol. 1, pg 3-14. Borenstein, N. S. & Thyberg, C. A. (1991) - Power, Ease of Use and Cooperative Work in a Practical Multimedia Message System. International Journal of Man-Machine Studies, Vol 34 (2), pg 229-259. Borges, M. & Campos, M. L. (1994) - Hiperbase: Uma Abordagem de Banco de Dados para Sistemas de Hipertextos - follow up technical report, NCE/UFRJ, 1994. Cavalcanti, M. C. (1994) - Recuperação Cooperativa do Projeto Arquitetônico de Sistemas. M.Sc. thesis. COPPE - Universidade Federal do Rio de Janeiro. Conklin, J. & Begeman, L. (1988) - gIBIS: A Hypertext Tool for Exploratory Policy Discussion, MCC Tech. Rep. STP-082-88. DeJean, D. & DeJean, S.B. (1991) - Lotus Notes at Work. New York: Brady & Lotus Publishing.

Eddings, J. (1994) - How the Internet Works, Ziff-Davis Press. Goldberg, Y. & Safran, M. Shapiro E. (1992) - Active Mail: A Framework for Implementing Groupware. Proceedings of CSCW'92, pg 75-83. Kling, R. (1994) - Fair Information Practices with Computer Supported Cooperative Work (CSCW) - Computer-Mediated Communication Magazine, vol 1, No 2, June. Kroll, E. (1994) - The Whole Internet - O’Reilly and Associates, Inc. Pickering, W. (1994) - Can Suites Fill Groupware Needs? DATAMATION. Jan7, pg 27-28. Ratcliffe, M. B. & Gautier, R. J. (1991) - System Development through the Reuse of Existing Components - Software Engineering Journal, November, pg 406-412. Tsichritzis, D. (1988) - Active Object Environment - ed. Tsichritzis - Centre Universitée d’Informatique, University of Geneva. Vallée O. (1991) - The Challenge of Conferencing System Development. In: Collaborative Learning Through Computer Conferencing. (Ed.) A. Kaye, Springer-Verlag (Berlin), pg 181-188. Wiggins, R. (1995) - The Internet for everyone - McGraw Hill. Webliography Web Collage - Collage source: for Mac, PC, and X, from NCSA ftp://ftp.ncsa.uiuc.edu/Visualization/Collage/ Web CU-SeeMe - CU-SeeMe use: CU-SeeMe Video conferencing experiments http://www.ludvigsen.dhhalden.no/webdoc/video.html Web Egret - Colaborative Software Development Laboratory, University of Hawaii http://www.ics.hawaii.edu/~csdl Web Eu/Can - EU/CAN Cooperation http://idom-www.informatik.unihamburg.de/EUCAN/entry.html Web GroupKit - A Groupware Toolkit http://www.cpsc.ucalgary.ca/projects/grouplab/projects/groupkit/groupkit.html Web Hypermail - Hypermail: An EMail to HTML compiler http://gummo.stanford.edu/html/hypermail/hypermail.html Web IRC - Internet Relay Chat FAQ http://alpha.acast.nova.edu:80/irc/connect.html Web WIT - Web Interactive Talking http://www.w3.org/hypertext/WWW/WIT/User/Overview.html Web Yellow - The unOfficial Yellow Pages of CSCW http://www.tft.tele.no/cscw/ Web YARN -Yarn User Manual http://dstc.bond.edu.au:91776/YarnMan.html