Modern high-performance computing applications are increasingly complex due to the nature of the problems being solved and the often unique, parallel platforms on which they are ultimately executed. Improving the quality of these applications through well-established software engineering techniques, such as design-by-contract, is of growing importance. This paper introduces preliminary work pursuing new interface contract clauses for parallel programming. Existing contract capabilities in the Babel compiler, which is a language interoperability tool tailored for high-performance computing, will be extended with parallel contract constructs for synchronization and method order sequencing. The goal of this work is to enhance existing contract mechanisms without imposing significant synchronization overhead. Preliminary results from an initial investigation of collective and threading assertions are presented.
展开▼