An Artefact Repository to Support Distributed Software Engineering David Nutter Cornelia Boldyreff Research Institute for Software Evolution Department of Computer Science University Of Durham, UK {cornelia.boldyreff,david.nutter,stephen.rank} @durham.ac.uk Stephen Rank Abstract The Open Source Component Artefact Repository (OS- CAR) system is a component of the GENESIS platform de- signed to non-invasively inter-operate with work-flow man- agement systems, development tools and existing reposi- tory systems to support a distributed software engineer- ing team working collaboratively. Every artefact possesses a collection of associated meta-data, both standard and domain-specific presented as an XML document. Within OSCAR, artefacts are made aware of changes to related artefacts using notifications, allowing them to modify their own meta-data actively in contrast to other software repos- itories where users must perform all and any modifications, however trivial. This recording of events, including user interactions pro- vides a complete picture of an artefact’s life from creation to (eventual) retirement with the intention of supporting col- laboration both amongst the members of the software engi- neering team and agents acting on their behalf. 1 Introduction The GENESIS platform [5] provides an Open Source so- lution for modelling and enacting work-flow processes and managing both planned and unplanned work products. Pro- cess enactment is distributed over multiple physical sites coordinated by a global process. Both local and global pro- cesses are managed by GOSPEL (GENESIS Open-Source Process Enactment Language). Similarly the work products managed by OSCAR are visible in a similarly global name- space composed of multiple OSCAR repositories. While the work-flow and artefact management components are intended to work together and with other applications, as shown in figure 1, either may be used alone. Therefore, OSCAR has several capabilities beyond those required by the work-flow management system. COMMUNICATION LAYER LAYER SERVICE APPLICATION LAYER Definitions Process Instances Process OSCAR (WFMS) GOSPEL Presentation Indexing and Search Process Definition Tool OSCAR Client Workflow client (Tasklist) Metrics Tool Persistence Figure 1. Overview of the GENESIS platform architecture Firstly, OSCAR represents all data under its control as an artefact, including users of the system, the process mod- els and instances they are using, tools and services that the system employs directly, output from metrics and other monitoring procedures that act on the repository as well as data created by tools not directly integrated with OSCAR. To support this “unified name-space”, similar in intent to the UNIX file system and active directory services, a set of types with a common ancestor has been defined in ear- lier work [11, 2]. Secondly, since non-invasivity is a de- sign goal of the GENESIS platform, many of OSCAR’s ba- sic functions are provided by incorporating existing Open Source applications which are in widespread use. Most no- tably in the current development version, version control and configuration management functionality are provided by a CVS 1 plugin and meta-data is recorded and queried in a 1 http://www.cvshome.org 1