Cooperation and Ubiquitous Computing: an Architecture Towards their Integration

Federico CABITZA, Marco P. LOCATELLI and Carla SIMONE

University of Milano-Bicocca

{cabitza,locatelli, simone}@disco.unimib.it

Abstract. The paper discusses the relations between Ubiquitous Computing (UC) and cooperation pointing to two reference scenarios. UC technologies are still in a early stage: however, it is possible to envisage an evolution that makes smart objects pervasive in work settings. Under the hypothesis that these objects are likely to have very a specialized functionality, the smart environment has to possess distributed inferential capabilities to complement them toward an adaptive support to both individual and collaborative behaviors. CASMAS is a model informing an architecture to design collaborative UC environments: it combines inference capabilities with the management of contextual information that is modulated according to the structure of physical and logical spaces.

Keywords: Ubiquitous computing, cooperation, contextual information, agent based architectures

Introduction

Research on computer supported cooperative work recognized from the very beginning two main cooperation modalities - face-to-face and remote cooperation - and tried to understand their nature and to support them through effective applications. More recently, the concept of local mobility has been introduced as an in-between modality between face-to-face and remote cooperation, and as something that may cause the interruption of cooperative activities [1], but also as a property of most work situations [2]. Of course, this effects another fundamental aspect of cooperation, that is continuity both in the physical space (no matter if a person stays at her desktop or gets up and walks to another room, her work must be supported without discontinuity) and in the logical context of action (for example, if a person is working on a document with a coworker, they don't have to abandon their activity to find information related to the document).

In our view, the shift from the desktop computer metaphor to the ubiquitous computing one is promising in the aim to support cooperative work with a smooth form of coordination; in fact, people become able to act and interact, in a more natural and instinctive manner, within a computational environment that is aware of persons and activities and that is able to adapt the support it provides to the changing context. To reach this goal the integration of the themes of cooperation and the ubiquitous computing paradigm has to be strengthened, more than it is currently. In this view, we propose the notion of community (in the sense initially proposed, and denoted as Community of Practice, by Wenger [3] and further articulated by Andriessen [4], so the notion of community varies from “interest groups” up to “strategic communities”) as a first class concept of this integration for its suitability in representing the plasticity of cooperation. In fact a community is spontaneously built and legitimates various degrees of participation of (new) people on the basis of its internal rules: this is usually called “legitimate peripheral participation”. Beside this, a community autonomously organizes and builds its memory and interactions with other communities to enhance its capabilities as well as with the institutional context in which it operates.

The design of ubiquitous-computing environments to support cooperation requires a reference model able to take into account the above specifications and in particular the notions of community and flexible peripheral participation. To our knowledge such model has not yet been proposed, since the cooperation dimension is usually totally disregarded or left implicit and community is not a first class object. The aim of this paper is to give a contribution in this direction by defining an approach to conceive cooperative work that is inspired by the ubiquitous computing paradigm and by proposing a new model as a basic step toward an architecture able to adequately support the design of collaborative ubiquitous-computing environments.

The paper is organized as follows. The next sections discuss the relations between ubiquitous computing and cooperation: the latter are then illustrated trough a couple of scenarios. Then, the CASMAS (Community-Aware Situated Multi-Agent Systems) model and the related architecture are presented: the model integrates and enriches the main features of Santana, a framework for the management of distributed reactive behaviors [5] and of MMASS (Multi-layered Multi-Agents Situated Systems), a model to manage awareness information in cooperative applications [6]. How the model can manage the situations highlighted in the scenarios and the future steps in this research conclude the paper.

1.Ubiquitous Computing and Cooperation

Ubiquitous computing (UC) is still more an idea than a reality since embedding computation into real everyday objects is not a simple task from the technical point of view and it is usually achieved either in prototypes or quite expensive devices. However, the rapidity and unpredictability of the technological evolution suggest playing with this idea to be ready when it becomes feasible and be able to master the implications in application design. So, in the following we will consider some of the implications of UC without been too much constrained by the current technological achievements. We suppose that each object can have specialized computational capabilities making them reactive and proactive in relation to actors and/or other objects that are close of in their surroundings. This distributed computing power is connected through a wireless network that supports bi-directional information flows towards and from more traditional computational nodes (usually standard PCs).

Which is the role of UC in supporting cooperative work, both at the individual and collaborative dimension? Both of them are relevant since both have to be smoothly integrated in technologies that support cooperation. The UC literature is generally more focused on the individual dimension, and only recently it contained an explicit suggestion to consider cooperation in UC environments [7, 8]. A way to connect UC and cooperation is through the notion of context, since UC and context-aware computing share the same goal to make the environment “alive” and its context an important part of what determines the application’s behavior [9]. More specifically, we like the idea to view context not as a representational problem but as an interactional problem, as proposed in [10]: context hasto be seen as a relational property that holds between objects or activities; something may or may not be contextually relevant in relation to some particular activity;the scope of contextual features is defined dynamically; context is an occasioned property, relevant to particular settings, particular instances of action, and particular parties to that action; finally, context is not out there rather it arises from the activity. In fact, this view is more coherent with what we consider the main advantage of UC (once adequately developed): to bring back the notion of context as currently mediated and constrained by the desktop metaphor to its natural connotation, that of physical context, with all its affordances, possibly augmented by computing capabilities to become more significant. Actually, with UC each actor can live in her physical place [11] and act by using the computational capabilities of the place without the mediation of a virtual representation of what exceeds the limited space around the desktop computer: when the actor moves into a place or across places, her local context changes accordingly, and the new context becomes ready-at-hand in a natural and unmediated way. This has some immediate consequences on the technological support of work. First, what has been denoted as the discontinuity connected with the nature of desktop computing is drastically reduced by UC. Take the case of local mobility as identified by [1] as an underestimated phenomenon or described as a property of specific work settings in [2]. In both cases, UC can alleviate this problem since the augmented physical space becomes the locus where actions, the required resources and the associated computations are naturally connected by the application of well known, although sometimes unconsciously, practices that involve space and time: what has been called mobility work in [2], “that is the work that needs to be done in order to make the right configuration of people, places, resources and knowledge emerge”. Notice that practices have been distorted and constrained by the interaction modalities imposed by desktop computers and can now come back to their previous nature, recovering their past effectiveness without loosing the advantages of computation. Second, in UC the context is naturally composed by a physical component and a logical component, as mediated by the computational capabilities associated to objects of various kinds, and moreover they are or can be smoothly integrated. This can happen in two ways: some computational information can be displayed on a physical device that has, by definition, a physical context; or the same object exists in the physical world together with its virtual counterpart - made available on a close display - that inhabits the logical contextual space. The next section illustrates these ideas through a scenario.

2.A Fanciful Scenario

My office has the typical furniture of a University room: cabinets, tables, a desktop computer, etc. The only difference is that they are all smart: books in cabinets carry a RFID-like tag that allows their localization and identification; the cabinets are able to maintain, in connection with my desktop computer and with a RFID detector, a database with all the information about the stored books. A special pen is able to read the main information about the book (meta-info) that is coded in the tag through a suitable tag reader. Beside my computer, on my desk there are some “sheets” of ee-paper (enhanced e-paper). Ee-paper (inspired from the prototype developed at MIT [12]) is a smart object with which one can interact by usual gestures (e.g., to turn over a page) and write with a pen. Moreover, it can interact with other smart devices (included another ee-paper) to load and exchange documents, and can be localized.

Today I am writing a paper for a conference: I like to write down the outline by hand so that I can use my graphical conventions in a flexible way. To this aim I am using the ee-paper so that when I am done I can move these notes on my computer and use them as a guide to the actual writing according the predefined style. When I write the section about the related work, I need to have access both to my bibliographical database and the books stored in the cabinets. To this aim, I move the text back on ee-paper. Clicking on references makes them recognizable by the computational capabilities of the cabinets when I approach them. This causes the cabinets to react in several ways. The cabinets show through some visual indicators where I can find the books I have used in the references set. This is useful because I am guided to look also to books that are related to the selected ones by physical location: for example to proceedings of the same series. In so doing, physical cues are very useful to remember events associated to these proceedings (e.g., a discussion with people attending the related conferences). Or the cabinet could show through another indicator where there are books related to the topics (meta-information) of the selected ones. In both cases I can quickly browse into the book and select some interesting references that, if they do not belong to my database, can be transferred by using the pen. The same reference can be loaded in the ee-paper in a specific section, for future use. Of course, books are not always where they are supposed to be: by interacting with the environment, the cabinets can locate the misplaced book on a side table or tell that the book is not in the room. In the first case, the physical position of the book, close to other sheets of ee-paper tells me that I am working on another document, a project proposal, where I can find a different set of related work from which I can be inspired and that I can incorporate in my current research paper as described above.

Suddenly I realize that at 10am I have to attend a working group meeting to finalize a project proposal. Some participants are late but the meeting must start because the deadline is close. The meeting room is smart: it is able through smart desks, tags, sensors, etc. to keep trace of the documents managed by each participant, to identify who is working on which of them or close to a smart-board (consider for example a setting similar to the one described in [13]). The missing people can be in different places. Someone is sick at home, others cannot leave their offices because they have some unexpected duties, and others are approaching from the building where they are teaching. They can play different roles in the project preparation and have different competencies to be used in different parts of the proposal. These pieces of information can be recognized by UC technologies able to identify and locate documents and people on the one hand, and by technologies managing the information constituting the logical space of collaboration (competencies, duties, roles, etc.) on the other hand. Irrespective of its current situation, each person has to behave so that the meeting is anyhow productive. Here, the technology has to support different degrees of participation of the community members to the cooperative process going on in the meeting. Moreover, the environment has to support the quiet development of the meeting itself. As for the last aspect, cellular phones have to be turned to the quiet state when participants enter the room apart from the case of the meeting coordinator that could be contacted by the missing members. Other functionalities can be available that are typical of smart environments: reduce the light when a projector is in use, activating the connectivity of each participants to her personal environment when she is approaching a computational device, etc.

People who are approaching on foot can be connected just by voice; who is in the car can in addition have the display of what is on the smart-board where the outline of the meeting and the assignments to people are listed. In this way they can start negotiating what involves them. When a participant enters the building where the meeting is held, she can take out of her briefcase an ee-paper sheet where the previous information is enriched (possibly on a different page) with a representation of the displacement of people, documents and other facilities within the meeting room. Functionalities like the ones provided by Babble [14] - but concerning here face-to-face conversations mediated by the involved documents - give an idea of what is cool in the meeting, who is involved and to which degree in the various discussions. The visualization of this information can be modulated by taking into account the degree of competency of each participant in the various topics as they are discussed in subgroups. This support helps the participant entering the room to take an active role avoiding the sense of confusion typical of these situations. At this point, the face-to-face meeting can be conducted by using the smart devices as described in the previous scenario. Let us consider now the other missing people. The sick person should be involved only when his participation is really necessary: this can be partially recognized by the work plan and assignments analysis. In this way, the person can be noticed that this will happen soon, can be informed of the current situation as described before (by automatically activate connections and data transfer) and finally can become fully active in the meeting, possibly in side discussions. Something similar happens with the busy person in her office: however, in this case participation is more continue, although with different intensity. Mutual awareness between the people inside and outside the meeting room is achieved through the representation of the displacement of pertinent smart objects in the room and on the desk of the external people, for example on smart-boards located in the meeting room, in the office and at home. Since the collaboration is almost asynchronous, suitable cues can indicate that some document or facility is actually in use in its physical space, so that it is possible to gain peripheral awareness of what is going on them and synchronize behaviors accordingly, by using the suitable media (e.g., voice) or even move to the meeting place if deemed necessary. During the coffee break, the discussion can go on: a colleague in the room shows some interest in the project and joins the discussion. She is a newcomer in the community: her peripheral participation can be made easier by loading on a smart-board the structure of the project, the points in which her contribution can be useful and finally, to let her recover the current status of the discussion so that when she joins the meeting her trajectory from periphery to the core of the community is made easier.

The department members not involved in the meeting could be interested in what is going on there but they do not want to explicitly interfere with the ongoing discussions: from the neutral information about who is currently inside, up to more sensitive information about the project. This information could be managed by a smart door serving as gateway between the inside and the outside (as e.g. in [15] ). In fact, it could recognize the person approaching, and hence her role, and display the appropriate information; in the opposite direction, it could remember and appropriately transmit messages to people inside the room according to some policy (urgent, come to me later, etc.).