Refinement of Temporal and Epistemic Specifications in Asynchronous Systems. Designing distributed systems is a complex activity requiring rigorous mathematical models of designs and specifications. It is desirable for the mathematical notations to be as close as possible to intuitive notions used by designers. One such notion is the idea that components in a distributed system have states of knowledge. Previous work has developed a calculus enabling derivation of systems with global clock by s ....Refinement of Temporal and Epistemic Specifications in Asynchronous Systems. Designing distributed systems is a complex activity requiring rigorous mathematical models of designs and specifications. It is desirable for the mathematical notations to be as close as possible to intuitive notions used by designers. One such notion is the idea that components in a distributed system have states of knowledge. Previous work has developed a calculus enabling derivation of systems with global clock by series of correctness-preserving transformations from a knowledge-based specification. This project will generalize this work to a calculus for systems that lack a global clock, and implement a tool providing automated support for use of the calculus.Read moreRead less
Combining Time Bands and Teleo-Reactive Programs for Advanced Dependable Real-Time Systems. Society is becoming increasingly reliant on sophisticated real-time computer systems in applications ranging from car stability control to critical infrastructure, such as railway signalling systems. Further, there is a demand for ever greater automation and sophistication in the software controlling these systems. The research challenge in this project is to provide robust implementations of these system ....Combining Time Bands and Teleo-Reactive Programs for Advanced Dependable Real-Time Systems. Society is becoming increasingly reliant on sophisticated real-time computer systems in applications ranging from car stability control to critical infrastructure, such as railway signalling systems. Further, there is a demand for ever greater automation and sophistication in the software controlling these systems. The research challenge in this project is to provide robust implementations of these systems in a way that allows one assess their dependability.
Australia industry is actively working in these areas through companies like Ansaldo Australia, in automated railway systems, and Boeing Australia, in the defence sector.Read moreRead less
Software Quality Improvement Through Static Analysis and Annotation. Software forms the basis of critical infrastructure that supports industries such as electronic commerce. Flaws in the software can lead to failure of the overall system, or allow the security mechanisms of the software to be by-passed. This project is developing methods to improve the quality of software by finding common flaws that lead to security vulnerabilities or runtime failures. Within Australia, it is estimated that th ....Software Quality Improvement Through Static Analysis and Annotation. Software forms the basis of critical infrastructure that supports industries such as electronic commerce. Flaws in the software can lead to failure of the overall system, or allow the security mechanisms of the software to be by-passed. This project is developing methods to improve the quality of software by finding common flaws that lead to security vulnerabilities or runtime failures. Within Australia, it is estimated that there are approximately 75,000 software developers who make substantial use of C/C++ and who could benefit from the availability of better automatic static analysis tools to improve both the quality of the code they produce and their productivity.Read moreRead less
Derivation and timing analysis of concurrent real-time software. Safety-critical computer systems are commonly controlled by concurrent real-time software. Assurance of such systems requires rigorous methods for deriving the software and verifying its logical and timing correctness. This project will directly address this problem via a new paradigm for real-time programming that is based on a machine-independent concurrent real-time programming language, that explicitly represents timing deadlin ....Derivation and timing analysis of concurrent real-time software. Safety-critical computer systems are commonly controlled by concurrent real-time software. Assurance of such systems requires rigorous methods for deriving the software and verifying its logical and timing correctness. This project will directly address this problem via a new paradigm for real-time programming that is based on a machine-independent concurrent real-time programming language, that explicitly represents timing deadlines within programs. This allows a partitioning of the development process into a machine-independent phase that derives a program to meet a high-level specification, and a machine-dependent phase that checks that the timing deadlines within the generated machine code are guaranteed to be met.Read moreRead less
Formal Specification and Realisation of Dynamic Reconfiguration in FPGA-based Systems. The project aims are:
to significantly advance our understanding of the key concepts needed to successfully exploit dynamic, run-time reconfigurable computing, a technology that is now becoming increasingly available due to developments in FPGA (Field Progammable Gate Array) devices, and
the development of an innovative high-level programming environment that will include a language, associated design method ....Formal Specification and Realisation of Dynamic Reconfiguration in FPGA-based Systems. The project aims are:
to significantly advance our understanding of the key concepts needed to successfully exploit dynamic, run-time reconfigurable computing, a technology that is now becoming increasingly available due to developments in FPGA (Field Progammable Gate Array) devices, and
the development of an innovative high-level programming environment that will include a language, associated design methodologies, compilation techniques, and run-time support that will make dynamic reconfigurable computing accessible to a wide community of potential users.
Read moreRead less
Compilation of Specifications. Computer software now controls critical systems worldwide. International standards require such programs to be produced from mathematically-precise specifications, but the techniques and tools involved are highly complex and unfamiliar to most programmers. This project will show how a tool already used by software developers, the program compiler, can be extended to undertake much of the task automatically. This will be done by devising a compilation strategy, b ....Compilation of Specifications. Computer software now controls critical systems worldwide. International standards require such programs to be produced from mathematically-precise specifications, but the techniques and tools involved are highly complex and unfamiliar to most programmers. This project will show how a tool already used by software developers, the program compiler, can be extended to undertake much of the task automatically. This will be done by devising a compilation strategy, based on program refinement theory, that automatically translates specification statements in programs into executable code. Such an outcome will ultimately improve the speed, accuracy and cost-effectiveness of critical software development.Read moreRead less