Architectural based approaches to designing software are motivating changes in the way software is developed for safety-critical systems. These new approaches allow developers to divide system requirements between components and their sub-components. To allow systems to be designed in this way a component's obligations to other components and interfaces with the rest of the system must be captured. This can be done using contracts. Other work has shown how contracts can be used to develop systems. In this paper we explore how to generate design and safety contracts, and then how to use them to support change and reuse.

BibTex Entry

@inproceedings{Bate2003g,
 author = {I. Bate and R. Hawkins and J. McDermid},
 booktitle = {Proceedings of the 8th Australian Workshop on Safety Critical Systems and Software},
 organization = {Australian Computer Society's Technical Committee on Safety Critical Systems},
 title = {A Contract-based Approach to Designing Safe Systems},
 year = {2003}
}