|
| EPSRC Reference: |
EP/C537068/1 |
| Title: |
ReQueST: Resource Quantification in e-Science Technologies |
| Principal Investigator: |
Professor D Sannella |
| Other Investigators: |
|
| Researcher Co-investigator: |
| Mr L Beringer |
Dr KW MacKenzie |
|
|
| Project Partner: |
|
| Department: |
Sch of Informatics |
| Organisation: |
University of Edinburgh |
| Scheme: |
Standard Research |
| Starts: |
01 May 2005 |
Ends: |
31 January 2009 |
Value (£): |
484,976
|
| EPSRC Research Topic Classifications: |
| Fundamentals of Computing |
|
|
| EPSRC Industrial Sector Classifications: |
| No relevance to Underpinning Sectors |
|
|
| Related Grants: |
|
| Panel History: |
|
|
Summary |
For the results of computer-based scientific calculations to be useful, the computer programs that produce these results must be carefully checked for errors. The ReQueST project provides automatic methods for checking e-Science applications for errors which would cause the program to fail because it runs out of resources such as memory or allotted processing time.
The ReQueST project uses state-of-the art computer science technology to attach mechanically-checkable certificates of resource consumption in the form of mathematical proofs to mobile Java applications. This 'proof-carrying' approach to mobile code allows code producers to ship programs to code consumers in such a way that a wary consumer can quickly check key properties of the code - in this case, its maximum resource usage - before running it. In this way, service providers can protect themselves against errors in user-supplied code.
Grid Services technology provides such a collaborative service-provider framework for virtual organisations involved in e-Science. The ReQueST project builds proof-carrying code technology into the Grid Services framework by supporting it from application code up to the service description level. In this way the Request project advances the current state-of-the-art in the Grid technology used in e-Science.
|
| Final Report Summary |
For the results of computer-based scientific calculations to be useful, the computer programs that produce these results must be carefully checked for errors. The ReQueST project provides automatic methods for checking e-Science applications for errors which would cause the program to fail because it runs out of resources such as memory or allotted processing time.
The ReQueST project uses state-of-the art computer science technology to attach mechanically-checkable certificates of resource consumption in the form of mathematical proofs to mobile Java applications. This 'proof-carrying' approach to mobile code allows code producers to ship programs to code consumers in such a way that a wary consumer can quickly check key properties of the code - in this case, its maximum resource usage - before running it. In this way, service providers can protect themselves against errors in user-supplied code.
Grid Services technology provides such a collaborative service-provider framework for virtual organisations involved in e-Science. The ReQueST project builds proof-carrying code technology into the Grid Services framework by supporting it from application code up to the service description level. In this way the Request project advances the current state-of-the-art in the Grid technology used in e-Science.
The research took advantage of related work on proof-carrying Java code for mobile devices conducted in parallel by ourselves and our partners under the European-funded Mobius Integrated Project. This enabled us to pursue additional work on formalising the Java memory model and studying the validity of common optimisations on multi-threaded programs, which showed that important program transformations such as common subexpression elimination are unsafe, despite claims to the contrary. Further topics included separation logic and polytope-based methods for resource bound analysis.
The analysis techniques used to produce certificates are being developed further in a commercialisation project which aims to produce user-friendly technology for detecting common faults in Java code.
|
| Further Information: |
|
| Organisation Website: |
http://www.ed.ac.uk |
|
|