Agile Development of High-Integrity Grid Middleware


Project Overview

The strategic goal of this e-Science EPSRC-funded research project is to investigate the effectiveness of agile development in the production of high-integrity Grid middleware. Agile development techniques are essential in addressing the specific concerns of building high-integrity GRID middleware. Top-down processes are not appropriate for building such middleware. Specific requirements like short time-to-release, the instability of legacy code and integration applications, the lack of central control, and the need for frequent re-factoring because of changing infrastructure - are all addressed by agile approaches. Agile techniques may also be applicable because of their emphasis on test- and analysis-driven development, which can improve dependability. Critical research issues to address include:

  1. Establishing detailed requirements for high-integrity GRID middleware. Existing GRID “middleware” such as Globus effectively provides library and toolkit functionality, unlike middleware in other domains, e.g., e-business. There is also little consideration of typical notions of dependability as in the high-integrity domain.
  2. Determining appropriate validation and verification technologies, compatible with agile practices, to apply in order to verify the middleware and to establish a required level of dependability. It is expected that test-driven development techniques, which amortise cost of testing over the entire development process, will prove to be the best approach.
  3. Specifying an agile development process for producing and verifying GRID middleware. The process will allow developers to manage changing requirements, and to carry out fast design iterations in response to changing GRID toolkit infrastructure and changing web services standards.
  4. Applying the process and constructing high-integrity GRID middleware in the context of a case study related to the Distributed Aircraft Maintenance Environment (DAME), particularly, in supporting user resources via a framework that wraps the existing and planned data and GRID services.