EPSRC Reference: |
EP/L000342/1 |
Title: |
Funding for CCPForge and software engineering support for research computing |
Principal Investigator: |
Jones, Mrs C |
Other Investigators: |
|
Researcher Co-Investigators: |
|
Project Partners: |
|
Department: |
Scientific Computing Department |
Organisation: |
STFC Laboratories (Grouped) |
Scheme: |
Standard Research |
Starts: |
01 August 2013 |
Ends: |
28 February 2019 |
Value (£): |
861,333
|
EPSRC Research Topic Classifications: |
|
EPSRC Industrial Sector Classifications: |
No relevance to Underpinning Sectors |
|
|
Related Grants: |
|
Panel History: |
|
Summary on Grant Application Form |
This project will provide 3 services:
* CCPForge.
* A buildbot service.
* The QA tools server.
In addition there will be a software engineering support initiative which involves identifying
relevant software engineering tools and techniques for the computational science community, and
training and dissemination of the information.
Together these four strands will mark a step change in the availability of QA
tools and continuous testing service and, with seminars and training workshops, also the uptake of
these ideas into development processes.
CCPForge
The CCPForge component of the project has two parts: running the service and developing the
service. Both are essential to providing a good service and though the users will most obviously see
the developments, they will quickly notice if the responsiveness and availability of the service is not
to their liking.
The current CCPForge service offers a first step for projects wishing to use software engineering tools
and techniques in the their development process. This project will extend the range of tools available
via CCPForge to include specific quality assurance tools and allow certain pre-defined tasks to be run
quickly and simply from the web pages with the results stored and retrievable for use in collaborative
development decisions. A QA tools plug-in will be developed to provide this functionality.
Buildbot
Buildbot (http://trac.buildbot.net/) is a means by which a testing regime can be set up to run
tests easily given a specific trigger. A trigger may be a particular time of day - a regression test suite
is run each night for example, or a repository check-in - check that the code still compiles, or a manual
user initiated action. The tests can be of any sort provided whatever is run can provide pass/fail
information.
We will create a buildbot service that comprises a master which can respond to triggers from CCPForge
and a small set of slave machines that deliver Linux, Windows and MacOS environments with compilers
and support libraries. We will look for large scale HPC and novel architecture machines to join the pool of
slaves.
For projects on CCPForge we will create a buildbot plug-in which provides an easy to use interface
for creating triggers, specifying how the tests are to be run, and having access to results in the buildbot
format from the master and a simple pass/fail indicator.
Training will be available in both on-line and workshop form including hands on sessions.
QA Tools Server
The aim of this activity is to make it easier for computational scientists to use software engineering
tools and techniques. By integrating the QA tools and buildbot with CCPForge we will achieve this
aim. However, by making tools simple to use through a web interface we sacrifice the full features of
some tools. Once the software engineering habit has been inculcated through CCPForge we expect
that users will want to know what more they can do and this is where the QA tools server comes in.
By collecting the tools in one place and writing comprehensive tutorial material we will provide an
advanced service offering the full functionality of the tools as well as common use cases for the tools
that are easy to run.
Software Engineering Support
We will take up the challenge of finding relevant software engineering ideas for the modern and expanding
computational science community as well as as well as for those dealing with legacy code. Specific
requirements will be fleshed out by holding user meeetings with CCP developers and others in the
community to identify their needs both in terms of languages and the sorts of tools that would be useful.
The tools and techniques that are identified will feed into the other services and information and training
on the tools will be provided as reports and via workshops and seminars.
|
Key Findings |
This information can now be found on Gateway to Research (GtR) http://gtr.rcuk.ac.uk
|
Potential use in non-academic contexts |
This information can now be found on Gateway to Research (GtR) http://gtr.rcuk.ac.uk
|
Impacts |
Description |
This information can now be found on Gateway to Research (GtR) http://gtr.rcuk.ac.uk |
Summary |
|
Date Materialised |
|
|
Sectors submitted by the Researcher |
This information can now be found on Gateway to Research (GtR) http://gtr.rcuk.ac.uk
|
Project URL: |
|
Further Information: |
|
Organisation Website: |
|