The benefits of using contracts when developing software for safety-critical systems are wide-ranging. Using contracts the cost of maintaining, reusing and changing/upgrading software components is lessened as developers may rework software components with knowledge of the constraints placed upon them. Our previous work has looked at how design and safety contracts may be generated for components. In this paper we extend this work to examine how design and safety contracts can be supported by a complementary safety case architecture and an appropriate means of gathering evidence. Current approaches for producing safety cases are monolithic. Constructing safety cases in this way means that the benefits of having a modular architecture design with contracts is lost. In order to reflect the move towards contracts, a new way of constructing safety case arguments has been proposed. The approach is modular and features the use of safety case contracts. In this paper we show how this approach to developing safety cases can be integrated with the use of design and safety contracts to maximise the benefits of a modular approach. The paper illustrates how this can be achieved through a small example.

BibTex Entry

@inproceedings{Bate2003e,
 author = {I. Bate and S. Bates and R. Hawkins and T. Kelly and J. McDermid},
 booktitle = {21st International System Safety Conference},
 pages = {182-192},
 publisher = {System Safety Society},
 title = {Safety case architectures to complement a contract-based approach to designing safe systems},
 year = {2003}
}