CAGISTrans: A Transactional Framework for Cooperative Work 1 Heri Ramampiaro and Mads Nygård Dept. of Computer and Information Science Norwegian University of Science and Technology (NTNU) N-7491 Trondheim, Norway Email:{heri,mads}@idi.ntnu.no Abstract The problem addressed in this paper deals with data sharing as a means to cooperate. Our main focus is on transactional mecha- nisms to manage concurrent accesses to (partially) shared data- and resource bases. Several transaction models have been devel- oped for this purpose. However, they may still be unsatisfactory with respect to support for runtime changes and heterogeneity. The paper outlines our contributions to solve these problems, based on a transactional framework – called CAGISTrans – for customising transaction models to application needs. As part of the solution, we propose an new workspace approach to support data exchange. Further, the paper investigates necessary elements of an application specific transaction model, and discusses how they can be organised to cope with dynamic environments. Heter- ogeneity, on the other hand, is addressed through the use of a mid- dleware-based architecture, focusing on portability and interoperability. Finally, the paper discusses the use of XML as a transaction specification language. This includes the advantages that can be gained and the challenges that must be considered. Keywords: Transactions and Cooperative work 1. Introduction Advances in computing and network technology are changing the way people carry out their work. Increasingly, work is performed in teams distributed over the network, where people get together to have the work done without strict organisational and power structures. As a result, the induced work environments are dynamic; the members and the structure of the teams may vary from time to time, and the imposed requirements may be in continuous change. This makes it important and challenging to provide suitable tools to facilitate this type of cooperative activities. The field of CSCW – Computer Supported Coopera- tive Work – has emerged due to the need to provide appro- priate computer-based tools to support group work [1]. The support needed spans from informal interaction among co- workers – e.g., meeting and conferencing systems – to shar- ing and exchange of information. Our main focus is on data sharing and information exchange, common within product design – e.g., Software Engineering, CAD/CAM, among others – and product manufacturing. Support for sharing through computers may be achieved by allowing concurrent access to shared resources, such as databases, web-servers, etc. But, though sharing is important, considering product design and manu- facturing, the avoidance of inconsistency is crucial. This calls for the provision of mechanisms to synchronise, coor- dinate and manage the aforementioned resource access. Transactions and transaction models, originating from the database community, have been widely used in manag- ing concurrent accesses to shared data. However, the main problem with traditional transactions is their strictness, especially with respect to support for long-running activi- ties and cooperation due to their atomicity and isolation requirements [2]. To overcome these limitations, numerous advanced transaction models have been suggested [2,3,4]. The emphasis has generally been on the relaxation of ato- micity and isolation. Still, in term of cooperative work, it is widely agreed that the goal has not yet been attained. For instance, many of the models were suggested with specific applications in mind, having fixed semantics and fixed cor- rectness criteria. Thus, they may fail in providing sufficient support for wide areas of applications. A possible solution is to provide a framework for spec- ifying and tailoring the transaction models to the applica- tion needs. This idea is itself not new. Most prominent are ASSET [5], TSME [6], and RTF [7], among others. How- ever, although these provide the ability to specify and implement extended transaction models suitable for spe- cific applications, we believe there are problems that still remain unsolved. First, the support for dynamic environ- ments – e.g., process shift – is needed but still not fully sup- ported. One of the main reasons is that the aforementioned specification must be done before the execution of the actual transactions. Hence, they may offer little or no sup- port for adjustment during runtime. Second, cooperative work is diverse in nature [1], making the support for hetero- geneous environments highly relevant. However, existing solutions are mainly built on DBMSs – database manage- ment systems. This means that other resource management systems than databases, such as web-servers, etc., may not be well supported. For this reason, the heterogeneity aspect may not be adequately addressed. The work presented in this paper was motivated by a need to cope with these limitations. Towards this end, the rest of the paper focuses on the investigation of ways to support cooperation that is dynamic and heterogeneous in nature. Our main contribution is the development of a trans- actional framework called CAGISTrans, that not only allows the definition of application tailored transaction models, but is also aimed at supporting specification refine- ment at runtime. The name CAGISTrans denotes transac- tional support for cooperating agents in a global 1 This work has been supported by the Norwegian Research Council through grant 112567/43 via the CAGIS-project.