Supporting teamwork

Supporting Teamwork by Customizing Generic Frameworks

Yves Pigneur, and Giovanni Zucchinetti
Our work is threefold: it aims at identifying forms of support, adapted to different generic teamwork situations; allows the customization of this support to specific situations; and makes its implementation on the team's workstations easier. In this paper, we will first present a teamwork typology that allows to extract some generic configurations for supporting teamwork, in the light of distributed artificial intelligence systems. It then introduces the designed architecture which includes a mechanism for sharing norms among the team members. Finally, we propose a software engineering approach for developing a computer-supported teamwork environment by selecting and adapting generic teamwork frameworks.

Introduction

CSCW systems have been developed to support a variety of common or generic team activities. However, some of these general solutions may not be a sufficiently close match to certain specific situations. A more flexible approach is required, and we propose a system that enables the customization of generic solutions so that they adapt better to needs of a particular team activity. We believe it is of interest to identify frameworks compatible with some generic teamwork situations allowing their customization to specific teamwork situations.

We will describe here a design approach for supporting teamwork composed of three phases. The first one allows the identification of frameworks adapted to different generic cooperative situations. The second allows the customization of these frameworks to specific situations. The third makes the framework implementation in the team network easier.

To reach this objective, we come up with a typology to identify generic teamwork situations (§ 1). Based on distributed artificial intelligence research, we attempt then to identify frameworks adapted to the different types of situations. We have retained three frameworks covering asynchronous and structured communications between team participants.

We then describe (§ 2) some elements of an architecture supporting the teamwork environment by presenting amongst others its language system and its mechanism for norm or protocol sharing within a team.

It is also necessary to implement the computer-supported cooperative environment on the team workstations and servers. For that purpose, we suggest (§ 3) a software engineering approach allowing the modelling of generic situations, the specification of particular situations and their automatic implementation in a network.

A global schema of the suggested method to build a teamwork support environment is given at the figure 1. The idea presented in this paper were born and experimented in the PLEIADE project (Pigneur, 1992) (Zucchinetti, 1994).

1 Generic teamwork situations

According to Crowston and Malone (Malone et al., 1990), two fundamental approaches separate researchers regarding development of CSCW applications: There are researchers developing applications based on their common sense and their intuition (empirical approach), and those leaning on a theoretical construction (theoretical approach).

The tenants of the theoretical approach, among whom one counts Flores and Winograd (Flores et al., 1988), define tools based on a theoritical cooperative model assuming they will be useful for all types of organizations. By so doing, they neglect the "situated" nature (Suchman, 87) of the cooperative work and expose their tools to failure in situations for which they are maladjusted.

Followers of an empirical approach, such as (Malone et al., 1987) or (Kreifelts et al., 1993), develop tools and then evaluate their usefulness in a particular situation (generally in the context of the development of their own tool). But they do not express criteria determining the type of situations for which their tools are adapted.

The approach presented in this paper attempts to solve the above-mentioned deficiencies. It tries to detect generic situations in which organizations can be repeateadly found. These situations are then connected with generic frameworks able to bring them an value-added support. These generic frameworks are adaptable to specific teamwork situations.

Reasons explaining the choice of this approach are triple: (a.) using CSCW systems depends strongly on the organizational context (Kling, 1991) and the analysis of the actual situation is therefore essential, (b.) the impact of CSCW applications on the organization structure is strong and difficultly foreseeable and therefore an empirical approach is unavoidable, and (c.) the identification of a situation, its characteristics, and weaknesses conforms to a desirable approach of management.

We propose a situational approach for designing applications which consists of identifying a situation within a typology, selecting the corresponding support frameworks and possibly customizing them to the specifics of the situation.

This approach is similar to one of the thoughts about management expressed by (Mintzberg, 1990).

It does not exist a unique approach to solve all the manager's problems coming from various organizations. Recommendations belong to the context: they have to be used according to specific situations, carved on measure to needs that appear in a given time. [. ..] In the world of management, what's missing is the existence of generic problem categories and a catalogue of their symptoms - i.e. rapid diagnosis methods of problems and their solution recommendations, as there exists, perhaps, in medicine. (Mintzberg, 1990)

1.1 Teamwork Situations

One finds several typologies in the area of the cooperative work (McGrath, 1984), (Rasmussen et al., 1991), (DeMichelis et al., 1993), (Thompson, 1967) quoted by (Crowston, 1991). Often these typologies are too general or have too abstract classification criteria. They vary strongly according to the cooperative activities underlying them, going from a coordination point of view to a decisional perspective.

We adopted the typology proposed by (Constantine, 1993) because it is detailed enough to extract support frameworks. Indeed, it takes into consideration elements such as the complexity of the task to perform, its repetitive or innovative nature, some contingency factors such as the team cohesion, its stability, its hierarchical structure or the degree of autonomy of its members, and includes objectives such as creativity, adaptability, efficiency or foreseeability.

These factors are grouped into four team families mainly based on the coordination mode that they suggest (see figure 1).

The closed team is characterized by a hierarchical coordination mode, where an executive coordinates activities by taking decisions, delegating actions and controlling results.

The random team is characterized by strong innovative and individual initiatives, favoring change and creativity; the control there is weak. The rather chaotic functioning of this type of team is reflected in its name.

The open team leans on a process of permanent adaptation and adjustment, essential for the coordination of very complex tasks. Feedback on results obtained by the other team members allows the team to discuss the project direction and to adjust its actions.

The synchronous team supposes a harmonious alignment of the team members according to a common vision. Members have a perfect notion of their role and their mission, and they do not have to negotiate in order to coordinate their activities. This type of team is very efficient, but requires a stable context and a repetitive work.

The random and closed teams constitute antitheses, such as the open and synchronous team. These 4 teams are archetypes of situations; one finds also hybrid teams, such as the open structured team. This typology and especially the two axes of its classification (cohesion and autonomy) emerge from most of the teamwork references (Lipnack et al., 1993).

1.2 Analysis of team types in the light of DAI

Distributed Artificial Intelligence, in short DAI, (Bond et al., 1988) provides an additional point of view on the above-mentioned typology [1]. We looked at results from this research area to provide frameworks for asynchronous and structured comnunications. From our point of view DAI's major interest resides in restrictive hypotheses posed on the nature and the volume of communications tolerated between cooperative agents. These restrictions correspond to the limits of the kind of support we defined here.

DAI covers several cooperative system types, aiming at different objectives and resting on different coordination mechanisms. We will next put in correspondence the main families of DAI systems with the above-mentioned team types. The careful study of the coordination mechanisms used by these systems allows us to propose asynchronous support frameworks adapted to the different kinds of teams.

Closed team: multiagent planning

In the multiagent planning (Durfee et al., 1989), (Georgeff, 1984), the description of the problem to solve and the individual agent plans are centralized [2] to establish a collaboration plan between them. These elements are analyzed, the critical points are identified, then a global plan is established, also indicating the synchronization- points between agents. Then, this plan is distributed and followed during the process of problem solving.

The future actions and interactions between agents are specified in advance. Morever, because there exists a global view of the problem resolution, it is possible to optimize the task distribution.

The similarity between the characteristics of multiagent systems and those of the closed team is obvious. It would be very interesting to analyze these systems more deeply in order to bring out frameworks supporting closed team coordination. We can mention works of Bodart and Petitjean (Petitjean, 1994) which come up with sophisticated models for task delegation and the workflow-like support to assist an executive in his cooperative work with his assistants.

Random team

It seems that DAI systems functioning on a coordination mode similar to the random team do not exist, except perhaps for neuronal systems. Discovery and invention objective aimed by the random team, supposing a great creative capacity of its members, could be quite difficult to be assisted by an artificial system.

Synchronous team: sophisticated local control

The sophisticated local control (Durfee et al., 1989) tries to integrate, in the local agent intelligence, a reasoning on actions and beliefs of other agents to solve the coordination problem. Agents have to situate themselves and other agents in the global problem to improve coordination. This sophisticated knowledge brings to understanding the impact of every action plan of each agent on the objectives, beliefs and plans of all the others. It serves as the basis to decide how to coordinate, i.e. how to contract, share objectives, solve incoherent views, take initiatives, and plan some actions.

Programming this sophisticated control is a difficult task. Each agent has to be aligned on a global vision for the problem resolution, while acting according to partial information [3]. Once this vision has been acquired, the coordination is made on a harmonious and synchronous manner.

All these characteristics are very similar to those of the synchronous team. A more elaborate study of this type of system would certainly provide adapted support frameworks.

Open team: functionally accurate cooperation and negotiation

For complex problems, hypotheses fixed in multiagent planning are not verified. This is why the functionally accurate cooperation systems (Durfee et al., 1989), (Lesser et al., 1981) do not suppose either the independence between the sub-problems, nor the permanent consistency between the different sub-solutions. Therefore, the difficulty of this type of systems consists in mastering the inconsistencies using exchange of intermediate results (views) in order to detect errors and to converge to a satisfactory solution.

Agents enjoy semi-autonomy. In order to gradually decrease inconsistencies, they exchange partial solutions, making adjustments easier. Experimental and high level partial solutions replace plans. They provide indicators of what has been accomplished and what remains to be done. The conflict resolution becomes an integrated part of the problem solving activity. This the agent's mission complexification is balanced by loosening both synchronization and necessary communication for consistency maintenance. More specifically, this method does not need preliminary planning, an impossible task for complex and new problems. One can tell that the global solution finally results from a "bottom-up" development.

The functionally accurate cooperation seems to be an appropriate coordination mode for open teams. Its weak use of negotiation makes it compatible with random teams.

Such is not the case of open systems (Hewitt, 1986) that utilize analogous mechanisms, but make explicitly usage of negotiation mechanisms. Open systems are systems of agents; each managing a micro-theory. These agents upkeep a coherent knowledge inside their micro-theory and use argumentation and negotiation mechanisms to solve inconsistencies with the others' micro-theories. Open systems are the most sophisticated version of a variety of systems, in which the most elementary instances follows an actor model.

The actor model (Agha, 1985) implies a system of agents communicating by dispatching messages. Each actor is a process that can accept requests for task execution, perform tasks, decompose tasks in sub-tasks, send requests to other actors to help them achieve these sub-tasks, and create clones to react to the arrival of concurrent requests. The actor system follows an elementary interaction model between individuals.

Taking into consideration speech acts (Searle, 1969) enriches the exchange, by authorizing the negotiation of tasks between individuals. A task is delegated only if the provider gives its agreement, and not when the client requested by, as in the actor model.

The contract net system (Davis et al., 1983), (Smith, 1980) leans on a task allocation between agents, following a call for bids on a market. The submission of a task within an agent community and the different steps (the offer, the adjudication, the realization and the validation) are defined in a protocol. The coordination mode is the contract, ratified in case of correspondence between the experience, resources and information necessitated by the task, and those possessed by the potential provider.

Because the open team is more carefully examined in this article, we chose the actor model, speech act and contract net in order to obtain the three generic support frameworks designed to open teams.[4]

1.3 Three frameworks for supporting open teams

These frameworks are derived from the above-mentioned DAI systems, adapted to a cooperation context between team members using a computer.

We borrow from the actor model (Agha, 1985) the idea of service or action offered by an individual to a community and allowed to be required by another member, without preliminary conversation. From the speech act model (Searle, 1969) , we retain the idea of conversation and the possibility for two individuals to negotiate the delegation of a task. The contract net model (Davis, 1983) provides the call for bids mechanism that allows to find, within a community, the best person able to achieve a given task.

Offer of services

This support framework is inspired by one of the first distributed decision support system (DDSS), proposed by (Burns et al., 1987).

A service is an action that an actor makes available to a community of actors. An actor represents the couple formed by the team partner and its workstation. A service is characterized by a description that explains the objective to the actors who wants to use it. The actor performing the service is called the provider and the actor that requires its execution is called the client. One also knows the service parameters; they are given by two types of message: one for the service request and the other for the service result. For a particular service, the types of message describe the specific attributes.

In order to require the execution of a particular service, the client creates a message of the given type, inserts values of parameters, and sends the message to the service provider. If the client is not personally concerned by the result of the execution of the service, another actor (continuation) can be designated to receive the result. When a request is received by the provider, the service is supposed to be performed and the result returned to the client or the continuation.

One can also consult a list of the different services offered in a catalogue, sort of "yellow pages" directory of the organization. This catalogue is constantly updated and contains all indispensable elements for service utilization.

Negotiation of tasks

This framework, adapted from (Flores et al., 1988) allows the negotiation of the task execution between two actors. One distinguishes four steps in the process of task delegation: the opening, the negotiation, the performance and the satisfaction.

The opening can be made by an actor wishing to delegate a task, but can also result from a spontaneous service offer. It ensues a negotiation on the conditions of the task performance using some offers and counter-offers. Once an agreement is reached, the task is performed and its termination announced. The task client, receiving the task results, can then express its satisfaction or not and provoke, if needed, a new performance.

This support framework allows to manage the conversation and the correct use of the message types according to the state of the task performance.

The framework also allows to manage the actor commitments like the list of tasks the actor promised to perform to other actors and those promised by other ones to the actor.

Call for bids

This framework, adapted from (Ching et al., 1991), itself derived from (Davis, 1983), allows to choose a service provider by publishing a call for bids and then selecting the most appropriate submission.

The call for bids is published within a actor community able to achieve the task. This placement of the task on the market initiates submissions of providers interested to perform the task. The call for bids initiator can then choose among the different submissions and assign the task.

This support framework allows to publish the call for bids inside a given community for a certain activity. The dispatch of the submission, containing the different information requested by the client, is also supported by the framework. Finally, the selection of the optimal offer, according to particular criteria, then the task assignment is made via a notification.

2 Elements of an architecture

The architecture chosen in this project concerns asynchronous and structured communications between actors. Its main element is the communication system connecting the team members. This section briefly presents three elements of this architecture.

The language system allows the manager to communicate with the other team members, and therefore to cooperate, by respecting norms or protocols fixed in the support framework.

For this purpose it offers the possibility to create and transmit units of information (messages) and to receive them. This architecture distinguishes four types of structures which have to be specified in a framework.

The norm sharing mechanism allows to implement the frameworks on the workstations and servers. This mechanism is justified by the fact that support frameworks are not universally applicable, but specific to some situations. Consequently they concern only a part of the organization members. This is why we propose a mechanism able to install a framework only within a subset of the actors.

2.1 The language system

In their proposal of distributed decision support system, Ching, Holsapple and Whinston (Ching et al., 1990) provide a precise description of the entities participating to a decision process. These humans or artificial entities consist of a Language System (LS), a Knowledge System (KS) and a Problem Processing System (PPS). The language system defines the requests or messages that an entity can accept. The knowledge system contains the specific knowledge of an entity. The problem processing system is able to understand all requests coming in the language system and to act accordingly.

We agree with Ching's claim (Ching et al., 1990) that the manager workstation has to contain these three components. Nevertheless, the knowledge and problem processing systems mainly concern decision support systems (DSS). This is why we essentially center on the language system.

The language system offers four basic functions: the creation, dispatch, reception, and stocking of messages. It has three types of interfaces: a man-machine interface, a DSS interface with the DSS modules (KS and PPS ) resident on the personal wokstation and a communication interface with the other workstations. It finally consists of two main memory areas: the message area [5] and the protocol area. The figure 3 gives an overview of the language system.

The protocol area consists of the norms and protocols which an actor has subscribed to. Memory areas represent two different levels of classification. By analogy with databases, one could say that the protocol area defines the messages schema and the message area defines the database instances.

2.2 Structuring of messages

We have identified four structure types being able to characterize information transported by the language system.

The content structure of a message decomposes it in several fields with a label, as a to-be-filled form.

The intention structure of a message is related to its illocutory force (i.e. the implicitly expressed intention of the transmitter, like a request, a promise or an argument). This intention is obviously declared using a message label.

The flow structure of messages determines the exchanges taking place between participants. It specifies who has the right to tell what and when, i.e. the authorized conversation.

The visibility structure of a message links it to an interest center or a discussion subject. All persons interested in a subject or a discussion receive the messages concerning this subject. This allows to transmit information only to the potentially concerned actors, without having to designate them explicitly.

These types of structures correspond to four dimensions introduced in a support framework. This typology provides primitives to characterize precisely a framework and to anticipate some of their effects.[6]

2.3 A mechanism for sharing norms

It is strongly probable that a living organization sees new support frameworks to be created and adopted by new teams. This section exposes two basic mechanisms taking into consideration this dynamic evolution.

Language and communication are based on the sharing of common objects, norms, protocols, and common beliefs (Crowston, 1990). A communication between two individuals presupposes a lot of common knowledge:

They cannot even begin to coordinate on content without assuming a vast amount of shared information or common ground - that is mutual knowledge, mutual beliefs, and mutual assumptions. (Clark et al., 1991)
Clark and Brennan call the process for establishing a norm or a common context, the grounding. They assert that the maintenance and the coordination of a common norm is crucial for the coherent progress of a conversation.

For our asynchronous and structured communication environment, we say that the sharing of a norm (grounding) is achieved when two actors have at least one identical support framework on their personal workstation (protocol area) and are able to converse respecting the norm or protocol imposed by this framework.

This implies that it is not sufficient to compose a message according to a framework in order to communicate with another team member. It is necessary, beforehand, to be sure that its addressee has the rigth framework installed; if not, the risk is great that the conversation will progress confusely.

This aspect is scarcely taken into account in most of the current groupware applications, except for the work done by Bui and Jarke (Bui et al., 1986), that deals explicitly with the process of norm establishment.

Publishing and subscribing to protocols

We established that the language is based on the sharing of common objects, norms and common conventions. We also agreed that, in a asynchronous communication environment, it was not viable to have these norms defined outside the system. To cope with this problem of framework sharing, we propose a mechanism of publication or divulgation of protocols. This mechanism makes public a newly created framework accessible to an organization. When someone develops a new framework, he/she puts it at the potential disposal of the organization members by publishing it on a framework server. This framework server is like a repository (database) containing the framework specification and its protocol definition.

However it is necessary to underline that, if a framework is published, it does not entail that each organization member adheres to it. This is why the publication is accompanied by a mechanism of subscription, that allows to adopt a published protocol. Indeed, the number and the variety of norms or protocols in an organization are potentially high; morever, individuals are interested only in a part of these norms. This is why the system should have a mechanism authorizing the subscription to a protocol by a team, subset of the organization members. Thereby, in order to be able to use a framework, the user needs to have subscribed to it before. The software is then installed on its workstation (in its protocol area) and becomes ready for use.

3 A software engineering approach

In the CSCW area, research on software engineering applied to cooperative applications is not so frequent. However exceptions exist like the European project DAIDA (Mylopoulos et al., 1990), the AMIGO project (Pankoke, 1989) and ConversationBuilder (Kaplan et al., 1992).

From the software engineering approach, we are mainly interested in the next steps: (a.) the modelling of generic support frameworks, using a given (meta-)formalism; (b.) the specification of frameworks adapted to an organizational situations, by customization of generic frameworks; (c.) the implementation of frameworks in a network of workstations and servers, by automatic transformation of the specification.

The two main tasks for the development of cooperative systems, the modelling of a generic framework and the specification of a particular framework, are each under the responsibility of individuals possessing particular competences, designated by two distinct roles: the application engineer and the application developer. We borrow the description of these roles from (Becker, 1993) who has refined roles initially described in the European project ITHACA (Profrock et al., 1989). Her description of roles has been established in the context of framework design for individual DSS applications, but is perfectly applicable to our CSCW context.

The application engineer is responsible for designing the generic frameworks in (Becker, 1993). His competences go from analysis to programming.

The application developer is responsible for customizing a generic framework to an actual teamwork situation. His competences are mainly in the area of business applications. This role can be taken by a team member. An application developer does not need to have programming competence. Programming languages, object orientation, network configuration are foreign to his/her cognitive universe. This is why he has ideally to manipulate the generic framework through a high-level man-machine interface hiding the technical problems and guiding the specification elicitation.

3.1 Modelling

A framework model is a representation, according to a certain notation, characterizing a generic protocol that seems well-adapted to a typical teamwork situation. As indicated above, a framework model describes only one aspect of a generic situation, one of the coordination mechanisms used in this situation. Such a situation of cooperation can therefore be supported by several support frameworks.

By definition, a model is only a partial representation of the real world. In our case, as we have underlined it, the model is focused on information exchange between actors. Therefore it does not describe the information processing by the actors, which consitutes the DSS part of the whole environment (Becker, 1993) and (Bodart et al., 1989). For example, it does not model either the execution of an offered service or the reasoning underlying the attribution in a call for bids protocol.

3.2 Specification

The specification is at an intermediate abstraction level. It constitutes an adaptation or specialization of the model but it is also a generator of instances, since at the execution level, the message instances are created according to the specified rules.

The specification covers, in our mind, two forms of customization of a generic framework. The first is the instanciation of a generic framework to a particular teamwork situation, in a given area and with a particular team schema. The second is the adaptation of a generic framework, redefining some of its components. This specialized version remains generic, in the sense that it can be instanciated to different other situations.

The specification instanciates the model to a particular situation. This instanciation takes into consideration the context of application of the different structures of message, and integrates the team schema and its actor configuration.

The adaptation of a generic model or its specialization allows to redefine or specialize some of its elements. Usually there is no restriction on this type of specialization. One has to be able to modify the different structures of messages: their content, their intention, their flow and their visibility (see above 2.2). In all cases, the specialization produces a framework which can be used as it is or customized to another situation; any framework, even customized, remains generic.

In this section, we give illustrations of specialization and instanciation for each of the three generic frameworks introduced in section 1.

Offer of services

The offer of services framework can be specialized to include the confirmation of a service performance from the provider receiving a service request and a notice of reception of the service result by the client. Another variant would introduce a due date for the service execution in the service request which the client would have to specify. The supplier could also indicate, in its confirmation of reception, when he/she could provide the requested service.

The framework can be instanciated to many teamwork situations. In any case, the services have to be described with their name, their objective, and the parameters to use them. Defining the parameters means to specify the messages for requesting a service and for receiving the results. It is also necessary to specify the team schema: the team members or actors able to provide the services and those authorized to request the services.

Negotiation of tasks

One can specialize the generic negociation of tasks framework mainly by adapting its message flow structure,i.e. by modifying the conversation model and by redefining the corresponding speech acts, like in ConversationBuilder (Kaplan et al., 1992). It would be, for example, foreseeable to refine the execution step by allowing the provider to send intermediate status reports for its task. Other messages are open to improvement in order to enrich the conversation protocol. Another potential axis of specialization would be to introduce different due dates in the negotiation of the task, such as reply or realization due dates, like in Coordinator™ (Flores et al., 1988).

Such a framework can also be instanciated to many teamwork situations. We can instanciate the different message structures in order to precisely describe the specific tasks to negotiate. The team schema has also to be established to declare the team members (with their location), i.e. having subscribed to the specified framework.

Call for bids

Interesting specializations of the generic call for bids framework could introduce a rewarding system (financial or barter) or an evaluation system, like the reputation mechanism suggested in (Ching et al., 1991). Another specialization, useful in many situations, would fix a due date for submissions.

This framework could also be instanciated to many specific situations by adapting the different message structure in order to refine the market of tasks. The team schema defines the potential actor market which will receive the calls for bids, corresponding to actors having subscribed to the specific framework and therefore able to take their share of work.

3.3 Execution

The execution level is the most operational level, since it reflects the real activity of the team, especially as so far exchanges of messages, according to the rules edicted in the specified framework at the higher level, are concerned. Therefore it is at this level that message instances are created, transmitted, then read, and possibly processed by using a DSS application, and finally recorded.

The execution can unfold only in an execution environment: network of workstations and servers. It implies an implementation step in order to transform the framework specification into code. The implementation step strongly depends on the modelling language and process, but also on the target environment. Ideally, the implementation step should be automated.

Conclusion

First we proposed a typology in order to identify the type of support adapted to different teamwork situations. For the open team, we proposed three support frameworks derived from works in Distributed Artificial Intelligence: the first allows to register services offered by actors, the second to negotiate the task performance and the third to undertake calls for bids.

We also tried to define some limits in terms of architecture for the cooperation support. We therefore presented the communication system offered to the team workstations and servers. We notably detailed the language system with its four functions, its three interfaces and its two memory areas. We also presented and justified a mechanism for publishing and subscribing to the frameworks.

In the last part of this paper, we suggested a method for designing and implementing the software corresponding to the support frameworks. We wanted to develop these software as systematically as possible. Therefore we adopted a software engineering approach with its three main steps: the modelling of generic frameworks using a (meta-)model, the specification of particular frameworks, by adaptation or instanciation of generic frameworks, and the most automatic implementation of frameworks in the target operational environment.

Finally, we have to mention that we have undertaken various experimentations, based on the principles presented in this paper, in order to evaluate different representation languages and different design tactics.

The first experimentation (Zucchinetti, 1994) dealt with the offer of services framework. The generic model has been written with the knowledge-based representation language Telos (Mylopoulos et al., 1993). The implementation has been achieved in the OVAL environment (Malone et al., 1992). The evaluation outlines the following issues: Telos, despite its great richness of expression with its three mechanisms of abstraction and its integrity constraints, appeared to be too complex, especially for the application developer. OVAL has not proven the ideal implementation environment. In addition to inherent weaknesses due to its prototype status, its poverty of expression has constituted a too big handicap: some of the elements expressed in the model were impossible to be translated in OVAL.

The second experimentation (Zucchinetti, 1994) dealt with the negotiation of tasks framework. It tried to correct the weak points of the first experience. A generic model of conversation has been described using a entity-relationship formalism (Bodart et al., 1989). A specification written with the assistance of this model could then be transformed into an application assembling a set of heterogeneous components (Oracle, Eudora, 5PM and AppleScript). The mechanism for sharing norms (see above 2.3) has been implemented more completely than in the first experience (using Oval).The evaluation clearly showed that the adopted approach seems to give excellent results and to be appropriate to the application developer's competences.

Last but not least, partial experimentation (Bloch, 1993) concerning the call for bids framework has been achieved in the context of an enterprise that has adopted Lotus/Notes.

Aknowledgements

The work presented in this paper was supported by the Swiss National Science Foundation (FNRS) and the University of Lausanne (Fonds du 450ème). We also thank Mike Bloch and Marc-André Schenk for the stimulating discussions which have contributed to this work.

References

  1. Agha G., Hewitt C.; Concurrent Programming Using Actors: Exploiting Large-Scale Parallelism; Proceedings of the 5th Conference on Foundation of Software Technology and Theoretical Computer Science; 1985
  2. Baecker R.; Readings in Groupware and Computer-Supported Cooperative Work; Morgan Kaufmann; 1993
  3. Bannon L.J., Schmidt K.; CSCW: Four Characters in Search of a Context; in [Bowers, 91]; pp. 3-13
  4. Becker K.; Reusable Frameworks for Decision Support Systems Development; Ph.d. thesis, Facultés Universitaires Notre-Dame de la Paix, Institut d'Informatique, Namur; Septembre 1993
  5. Bloch M.; Réorganisation d'une procédure de gestion dans l'environnement Lotus Notes; Master's thesis, Ecole des HEC, Université de Lausanne; 1993
  6. Bodart F., Pigneur Y.; Conception des applications informatiques; Masson; 1989
  7. Bond A., Gasser L.; Readings in distributed artificial intelligence; Morgan Kaufmann; 1988
  8. Bowers J.M., Benford S.D. (eds); Studies in Computer Supported Cooperative Work: Theory, Practice and Design; North-Holland; 1991
  9. Bui T., Jarke M.; Communications Design for Co-oP: A Group Decision Support System; ACM Transactions on Office Information Systems, Vol. 4, No. 2; April 1986; pp. 81-103
  10. Burns A., Rathwell M., Thomas R.; A Distributed Decision-Making System; Decision Support Systems, Vol. 3, No. 2; June 1987; pp. 121-131.
  11. Ching Ch., Holsapple C., Whinston A. B.; Reputation, Learning and Coordination in Distributed, Decision-Making Contexts; Organization Science, 3(2); 1991; pp. 275-297
  12. Clark H., Brennan S.; Grounding in communication; in "Perspectives on Socially Shared Cognition", Resnick L., Levine R., Teasley S. (eds), American Psychology Association, 1991; reprinted in [Baecker, 93], pp. 222-233
  13. Constantine L.; Work organization: paradigms for project management and organization; Communications of the ACM, Vol. 36, No. 10; October 1993
  14. Crowston K.; Towards a Coordination Cookbook: Recipes for Multi-Agent Action; Thesis; CCS TR# 128, Sloan School Working Paper 3416; Feb. 1991
  15. De Michelis G., Grasso A.; How to put cooperative work in context: Analysis and design requirements; In Issues of supporting Organizational Context in CSCW Systems, Schmidt K., Bannon L. (eds), COMIC project, Lancaster University; 1993; (ftp://ftp.comp.lancs.ac.uk)
  16. Davis R. and Smith R. G.; Negotiation as a Metaphor for Distributed Problem Solving; Artificial Intelligence, 20(1); 1983; (reprinted in [Gasser, 88])
  17. Durfee E., Lesser V.; Using Partial Global Plans to Coordinate Distributed Problem Solvers; Proceedings of the 1987 International Joint Conference on Artificial Intelligence; 1987; (reprinted in [Bond, 88])
  18. Durfee E., Lesser V., Corkill D.; Trends in Cooperative Distributed Problem Solving; IEEE Transactions on knowledge and data Engineering, Vol. 1 No. 1; March 1989; pp. 63-83
  19. Flores F., Graves M., Hartfield B., Winograd T.; Computer Systems and the Design of Organizational Interaction; ACM Transactions on Office Information Systems, Vol. 6, No.2, April 1988, pp. 153-172
  20. Georgeff M.; A theory of Action for MultiAgent Planning; Proceedings of 1984 Conference of the American Association for Artificial Intelligence; 1984; (reprinted in [Bond, 88])
  21. Hewitt C.; Offices are Open Systems; ACM Transactions on Office Information Systems, 4(3); 1986; pp. 271-287; (reprinted in [Bond, 88])
  22. Kaplan S., Tolone W., Carroll A., Bogia D., Bignoli C.; Supporting Collaborative Software Development with ConversationBuilder; Proceedings of the Fifth ACM SIGSOFT Symposium on Software Development Environments; December 1992; pp. 11-20
  23. Kreifelts T., Hinrichs E., Woetzel G.; Sharing To-Do Lists with a Distributed Task Manager; Proceedings of the Third European Conference on Computer-Supported Cooperative Work, Milan, Italy; 1993
  24. Kling R.; Cooperation, Coordination and Control in Computer-Supported Work; Communications of the ACM, Vol. 34, No. 12; December 1991
  25. Lesser V., Corkill D.; Functionally Accurate, Cooperative Distributed Systems; IEEE Transactions on Systems, Man and Cybernetics, SMC-11(1); January 1981; (reprinted in [Bond, 88])
  26. Lipnack J., Stamps J.; The TeamNet factor; Oliver Wight; 1993
  27. Malone T., Grant K., Lai K.-Y., Rao R., Rosenblitt D.; Semistructured Messages Are Surprisingly Useful for Computer-Supported Coordination; ACM Transactions on Office Information Systems, Vol. 5, No. 2, April 1987, pp. 115-131
  28. Malone T., Crowston K.; What is Coordination Theory and How Can It Help Design Cooperative Work Systems?; Proceedings of the Conference on Computer-Supported Cooperative Work, ACM, Los Angeles 1990, pp. 357-370
  29. Malone T., Lai K-Y. Fry C.; Experiments with Oval: A Radically Tailorable Tool for Cooperative Work; Proc. of the Conference on Computer-Supported Cooperative Work, ACM, Toronto, 1992
  30. McGrath J.; A typology of tasks (exerpt from Groups: Interaction and Performance, Prentice Hall, 1984); in [Baecker, 93]
  31. Mintzberg H.; Le management; Les Editions d'Organisation; Paris, 1990
  32. Mylopoulos J., Borgida A., Jarke M., Rose T.; TELOS: Representing Knowledge About Information Systems; ACM Trans. on Information Systems, vol. 8, no. 4, october 1990, pp. 325-362
  33. Pankoke-Babatz U. (ed); Computer Based Group Communication : the AMIGO Activity Model; Ellis Horwood; 1989
  34. Petitjean Th.; Contribution à la spécification de situations de coopération ad hoc et à leur prise en compte dans les systèmes de Workflow; Ph.d. thesis, Facultés Universitaires Notre-Dame de la Paix, Namur; 1994
  35. Pigneur Y.; Modelling Distributed and Cooperative Decision-Making Situations (The Pleiade Project); Ecole des HEC, Université de Lausanne; 1992
  36. Pröfrock, A.; Tsichritzis, D.; Müller, G.; Ader, M.; ITHACA: an integrated toolkit for highly advanced computer application; in Tsichritzis, D. (ed.): Object Oriented Development, Geneva University; 1989; pp. 321-344
  37. Rasmussen J., Brehmer B., Leplat J.; Distributed decision making : cognitive models for cooperative work; Wiley; 1991
  38. Searle J.; Speech Acts; Cambridge University Press; 1969
  39. Shepherd A., Mayer N., Kuchinsky A.; Strudel - An Extensible Electronic Conversation Toolkit; CSCW 90 Proceedings; October 1990
  40. Smith R. G.; The Contract Net Protocol: High Level Communication and Control in a Distributed Problem Solver; IEEE Transactions on Computers, C-29(12); December 1980; (Reprinted in [Bond, 88])
  41. Suchman L.; Plans and Situated Action; Cambridge Press; 1987
  42. Zucchinetti G.; Conception du poste de travail du gestionnaire adapté au travail coopératif; Ph. d. thesis, Ecole des HEC, Université de Lausanne; 1994

Footnotes

  1. (Crostown, 1991) gives a strong argumentation favoring the use of DA in CSCW.
  2. (Durfee, 1989) mention however a case of decentralized multiagent planning.
  3. One of the sophisticated local control mechanisms is precisely called partial global planning (Durfee, 1987).
  4. We do not propose a framework corresponding to the functionally accurate cooperation but (Kreifelts, 1993) describes a CSCW application based on such a mechanism.
  5. In our mind, the messages are passive information units unlike Strudel-like systems (Shepherd, 1990) where a message can perform action.
  6. One finds in (Pankoke, 1989) a typology established by W. Prinz using similar dimensions.