BW Logo BW Awareness Framework

BW bullet History

A brief history about BW: the BW Awareness Framework is a framework for past events awareness support in groupware systems. It first version, written in Java 1.1.7, was born in 2000. It was developped by Manuele Kirsch-Pinheiro during her Master degree at PPGC/UFRGRS, Brazil. The first application of BW was the integration of this framework in the groupware application COPSE/CUTE, designed by Marcio Dias, during his Master degree at COPPE/UFRJ, Brazil. After this first sucessfull experience, the BW Awareness Framework has also be used in CEMT Project, where it integrates an experimental awareness server, built to communicate with many clients applications in the e-learning authoring environment proposed by this project.

After that, the BW framework has envolved into a new work, namely BW-M, which aims at supporting awareness in mobile environment. Please, report to my homepage for more information about BM-M (see publication section).

BW bullet Why awareness?

In a cooperative work, decision and success depend on the integration of the efforts from different group members. When it happens, it is important that each member knows the part of work´s results of other group members, which are related to his/her own contribution [1]. Awareness is the knowledge on group activities, including past, presents and future activities. It is also the knowledge about the group itself and its overall status [2]. It represents an understanding of the state of a system, including past activities, present status, and future options [3].

Thus, this awareness support will help the group to reach its goals with the desired quality and efficiency. It will avoid contradictory interactions among group members and will permit to improve individual contributions, and, as a consequence, enhancing group work.

Due to its importance to group work, awareness support should be a major concern when designing groupware systems. In order to help groupware designers in this task, we identified [2] some important characteristics necessary to provide such support. These characteristics are organized into six questions (what, when, where, who, how, how much), each one identifying crucial aspects of awareness support in cooperative systems: what information to present; when this information is produced/presented; where it is produced/presented and how; who is working and how much information about all this should be presented to the user. These aspects are analyzed within two environments: synchronous and asynchronous. This division is important because systems in synchronous environments have different needs than asynchronous ones.

Among all the questions, the BW framework handles the "When" question, which considers when the cooperative activities executed by the group are produced and when the awareness information produced by those activities are presented to the end user. The framework BW was designed to supply a systematic support to past events awareness. Past events awareness [2] is the awareness information about the activities done in the past, activities that began and finished in the past, and whose results may have changed or not valid anymore.

The support to past events awareness is a very important feature in groupware systems, especially in those systems that deal with asynchronous interactions or multi-section works. It is important mainly because the overall information about the evolution of the collaborative activities, such as the evolution of shared data and the users' actions, may improve each user's contribution [4]. The framework BW was designed to supply this need for past events awareness. It is a flexible framework that may be used to improve groupware applications that do not have this support, and also to help groupware designers developing new applications.

[1] H. Fucks, R. Assis, "Facilitating perception on virtual learning based environments". Journal of Systems and Information Technologies, Vol. 5, No. 1. Edith Cowan University, 2001, pp.93-113.

[2]M. Kirsch-Pinheiro, J.V. Lima, M.R.S. Borges, "Awareness em sistemas de groupware", 4 Jornadas Iberoamericanas de Ingenieria de Requisitos y Ambientes de Software, Santo Domingo, Costa Rica, 2001. (In Portuguese).

[3] M. Sohlenkamp, "Supporting group awareness in multi- user environment through perceptualization", Paderborn, Fachbereich Mathematik-Informatik der Universität - Gesamthochschule, 1998. Available at: Acess: Jan, 2001.

[4] N. Preguiça, J. L. Martins, H. Domingues, S. Duarte, "Data management support for asunchronous groupware", Proceedings of CSCW'00. December 2-6, 2000. Philadelphia, USA. ACM Press. P. 69-78.

BW bullet Features and Architecture

The BW framework was designed to supply this need for past events awareness for both, improve groupware applications that do not have this support, and also help groupware designers developing new applications.

The BW framework adopts an event-based model, i.e., the awareness information is represented by events. Thus, an event contains a piece of information about an action performed on the group.

The BW framework works in three phases: registering, monitoring and notifying. In the first phase, the groupware registers in the framework what events are interesting for awareness purposes. It is done by passing to the BW framework a sample instance of each expected event, an object to be used as an example by the framework BW. This sample object is used to identify similar objects during the next phase. In the second phase (monitoring), the activities take place in the groupware, and once one of these activities is executed, the groupware can pass to the BW framework the event related to this activity. The last phase notifies the user (team member) about the awareness information. It consists in informing her/him on what has occurred in the group work.

The BW framework uses the notion of profile in order to filter the available set of events during the notification phase. A profile specifies the user's or role's preferences. It describes which activities (events), among the group activities, should be notified, according to his/her preference. These profiles indicate which activities are significant and the time interval during which they are significant. The BW framework defines three types of profiles: those associated with a team member, a role, or both (a team member playing a role). Based on the selection, the framework filters the available information in such a way that only events that are indicated by one of those profiles are presented to the user.

The processing of the phases registering, monitoring and notifying is done by a structure of three packages, namely Storage, Control and Interface. Each package is in charge of handling several aspects of this processing: the Storage handles the storage of the awareness information. The Interface package manages the presentation of the awareness information to the user. The Control package handles the groupware requests, like the events registering and monitoring, and it also controls the filtering process (which uses the user's and role's profiles). Additionally, we have defined a Kernel package, which describes the information manipulated by the BW framework. The Kernel package constitutes the data model of the framework. Since this model is used by all packages of the framework, the kernel package is the only open package. Its content is known by the other packages, since they need this knowledge to carry out their tasks.

BW bullet Using the BW Framework

In order to use the BW framework in a groupware system, the system designer/developer must implement three entry points, i.e. classes that must be specialized by the groupware developer when connecting the framework to the groupware:

  1. the events, which represent the activities that can be performed by the group inside the groupware system
  2. the user interface classes, which should be adapted to the presented awareness information and to the groupware interface;
  3. the storage implementation, which should adapt the framework to the real storage medium and database used by the groupware.
  4. the mediator, centralizes every call coming from the groupware, acting as a general interface for the BW framework.

Once these classes are written, the developers need only to introduce in the groupware the right calls to the mediator.

BW bullet Download


(248 Kb)

BW Framework

Version 1.2


(1002 Kb)

BW Framework + Copse/CUTE

Version 1.2


(980 Kb)

BW Framework + Copse/CUTE

Version 1.1


(1099 Kb)

BW Framework + Copse/CUTE

Version 1.0


Article published in Computer in Industry, vol. 52/1, Elsevier, 2003, describing this framework.

Title: "A Framework for Awareness Support in Groupware Systems"

Authors: Kirsch-Pinheiro, M.; Lima, J.V.; Borges, M.R.S.

MscKirschPinheiro.pdf Original text about BW Framework

In Portuguese

Contact Contact

Manuele Kirsch-Pinheiro

kirschpm [ AT ] gmail DOT com