Supporting Collaborative Grid Application Development within the E-Science Community

Article excerpt

Abstract: Collaboration by use of common artifacts is at the core of e-science. A recent enabling technology is the Grid, which ties together heterogeneous computation and data resources through the use of middleware, linking the techniques and resources to infer higher-level knowledge. This article presents results from research and development of Grid technology for semantic interoperability between scientific artifacts on the web. The research employs the 'industry-as-laboratory' approach to software development. This means development of theory and models through successive implementations, their deployment in pilot studies and subsequent evaluation studies. The research is exemplified through the c ase of the OSCAR project, which is directed to the domain of bioinformatics.

Key words: Web collaboratory, grid technology, e-science

**********

1. Background

The systemic representation and organisation of software artefacts, e.g. specifications, designs, interfaces, and implementations, resulting from the development of large distributed systems from software components have been addressed by our research within the Practitioner and AMES projects [1,2,3,4]. Without appropriate representations and organisations, large collections of existing software are not amenable to the activities of software reuse and software maintenance, as these activities are likely to be severely hindered by the difficulties of understanding the software applications and their associated components. In both of these projects, static analysis of source code and other development artefacts, where available, and subsequent application of reverse engineering techniques were successfully used to develop a more comprehensive understanding of the software applications under study [5,6]. Later research addressed the maintenance of a component library in the context of component-based software product line development and maintenance [7]. The classic software decompositions, horizontal and vertical, proposed by Goguen [8] influenced all of this research. While they are adequate for static composition, they fail to address the dynamic aspects of composing large distributed software applications from components especially where these include software services. The separation of component co-ordination concerns from component functionality proposed in [9] offers a partial solution.

Recent research within the CoDEEDS project has made some progress towards the determination of design spaces to support both the static and dynamic system composition as well as the determination of the physical deployment and long-term operation of large distributed system composed from heterogeneous components [10]. Our current prototype implementation of collaborative support for the determination, elaboration, and evolution of design spaces, based on the CoDEEDS framework [11], employs at its base another development of our recent research within the GENESIS project, the Open Source Component Artefact Repository, OSCAR [12,13,14,15,16].

The GENESIS project's goal is to develop a generalised environment for process management in cooperative software engineering. A key component of this environment is an underlying distributed repository, OSCAR holding both metadata, describing software artefacts, and their contents. Artefacts within OSCAR range from software products, software processes, software tools to profiles of software developers, thus enabling rich relationships to be recorded between products and the tools used in their production, the processes that were associated with their production, and the developers who carried out these processes. XML DTDs are employed to describe the software artefacts within OSCAR. Castor (1) has been used to allow more flexible processing of the software artefacts as Java objects as well as XML documents. The recording within the metadata and subsequent processing of events related to the evolution of artefacts by awareness filters enables artefacts to actively inform interested parties of their evolution and deployment [17]. …