A Unified Grid Programming Methodology for Global e-Science. This project will contribute to the national benefit in three important ways. First, we will build a set of novel e-Science applications as demonstrator projects in areas of national priority. These will have enormous economic impact in areas ranging from environmental management to health. Second, we will build software infrastructure that will have both commercial and strategic value in its own right. Third, we shall build a critical ....A Unified Grid Programming Methodology for Global e-Science. This project will contribute to the national benefit in three important ways. First, we will build a set of novel e-Science applications as demonstrator projects in areas of national priority. These will have enormous economic impact in areas ranging from environmental management to health. Second, we will build software infrastructure that will have both commercial and strategic value in its own right. Third, we shall build a critical mass of expertise that bridges the physical sciences and computer science. The support provided to this proposal will allow multi-disciplinary teams to address scientific problems of significant scale.Read moreRead less
Understanding concurrent programs using rely-guarantee thinking. Multi-core processors are standard in computers and devices (e.g. smart phones) but much of the software available for these machines is either unreliable or does not exploit the available hardware parallelism. This project will devise techniques for designing concurrent software that exploits these platforms while delivering dependable operation.
Improving the integrity of complex software systems. Software systems are among the most complex artifacts created today. The problems of reliability and maintenance of complex software systems are well-known. Improving reliability and lowering production cost continues to be an important challenge. The aim of this project is to create software development tools that allow programmers to express more of their intentions about program behaviour, in a way which can be automatically checked, in ord ....Improving the integrity of complex software systems. Software systems are among the most complex artifacts created today. The problems of reliability and maintenance of complex software systems are well-known. Improving reliability and lowering production cost continues to be an important challenge. The aim of this project is to create software development tools that allow programmers to express more of their intentions about program behaviour, in a way which can be automatically checked, in order to find discrepancies between intended and actual behaviour. This will facilitate the construction of software that is more secure, reliable, maintainable and reusable, that is, improve the integrity of complex software systems.
Read moreRead less
Supporting adaptive, interactive documents. The project will improve comprehensibility of technical material, reduce paper usage, encourage collaborative science, improve the reliability of published science (by allowing post-publication annotation and correction), and improve the accessibility of technical material for readers who are blind or have poor vision. The project also holds considerable potential for supporting Australian companies in the publishing and document processing industries.
Experimental runtime complexity analysis of logic programs. While declarative languages improve programmer productivity, they make it harder for programmers to understand the performance of their code. We will build a tool that will use profiling data and program analysis to allow programmers to predict the running time of their programs.
Automatic software verification: harnessing constraint technologies. As we come to rely on software to manage more and more aspects of our lives, the importance of software reliability increases; yet as programs become increasingly complex, reliability becomes ever more elusive. This project will develop automated tools and techniques to ensure that programs do what they were intended to do.
Analysing Computer Arithmetic to Improve Software Reliability. Most computer programs deal with integers. Automated tools designed to verify the correct behaviour of software usually assume the software deals with idealised mathematical integers, since this simplifies reasoning significantly. In reality, most programs work with integer number representations that approximate the ideal. This compromises the soundness of many verification tools. This project will design sound reasoning tools that ....Analysing Computer Arithmetic to Improve Software Reliability. Most computer programs deal with integers. Automated tools designed to verify the correct behaviour of software usually assume the software deals with idealised mathematical integers, since this simplifies reasoning significantly. In reality, most programs work with integer number representations that approximate the ideal. This compromises the soundness of many verification tools. This project will design sound reasoning tools that are aware of the true nature of computer integer arithmetic.Read moreRead less
Adapting the Bulk Synchronous Parallel processing model to Peer-to-Peer Networked Computing. Advances in distributed computing have shown that data parallel and parametric applications domains are amenable to wide area distribution. The project will advance the Bulk Synchronous Parallel processing model to describe innovative applications from the loosely synchronous domain, e.g. fluid dynamics, strategy algorithms and N-body problems are challenges that have significant scientific and industria ....Adapting the Bulk Synchronous Parallel processing model to Peer-to-Peer Networked Computing. Advances in distributed computing have shown that data parallel and parametric applications domains are amenable to wide area distribution. The project will advance the Bulk Synchronous Parallel processing model to describe innovative applications from the loosely synchronous domain, e.g. fluid dynamics, strategy algorithms and N-body problems are challenges that have significant scientific and industrial value. The project specializes the exciting peer-to-peer paradigm, a frontier of inter-networking technology. By using the latest techniques and taking advantage of the technology implosion caused by low cost parallel infrastructure, the project outcomes will give Australia a strong position in the future of parallel technology.Read moreRead less
Supporting adaptive diagrammatic communication. The computing environment of the near future will allow users to access and
interact with digital information using an incredible variety of devices.
Regardless of these changes, humans will still be communicating using
diagrams and sketches. But unlike today where diagrams are static,
lifeless objects reflecting their origin in print media, the computer of
the near future will provide more flexible visual computer interfaces which
support ....Supporting adaptive diagrammatic communication. The computing environment of the near future will allow users to access and
interact with digital information using an incredible variety of devices.
Regardless of these changes, humans will still be communicating using
diagrams and sketches. But unlike today where diagrams are static,
lifeless objects reflecting their origin in print media, the computer of
the near future will provide more flexible visual computer interfaces which
support adaptive layout, user interaction and semantics based retrieval.
Based on geometric constraint solving, this project will provide a
generic computational basis for this radically new view of diagrams.
Read moreRead less
Design and verification of correct, efficient and secure concurrent systems. This project aims to provide methods for the design and verification of correct, secure and efficient concurrent software that are scalable and mechanised. Computers with multiple processors are now the norm and are used in a wide range of safety, security and mission critical software applications such as transport, health and infrastructure. These multi-core architectures have the potential to lead to important effici ....Design and verification of correct, efficient and secure concurrent systems. This project aims to provide methods for the design and verification of correct, secure and efficient concurrent software that are scalable and mechanised. Computers with multiple processors are now the norm and are used in a wide range of safety, security and mission critical software applications such as transport, health and infrastructure. These multi-core architectures have the potential to lead to important efficiency gains, but can introduce complex and error-prone behaviours that cannot be managed using traditional software development approaches. This project will produce better, scalable and mechanised methods for the design and verification of such software which is expected to reduce the prevalence of failures in efficient, modern software.Read moreRead less