Developing Safety Contracts for OO Systems

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

The use of an object oriented (OO) approach brings potentially large savings in terms of time and cost for developers of safety critical systems. OO systems have improved maintainability due to encapsulation, high cohesion and low coupling, and the facility for reuse through inheritance and design patterns. This raises specific challenges for developers of OO safety critical systems who wish to take full advantage of these features. To realise the benefits requires an ability to reason about the safety of individual classes or components in the system. This is quite difficult to achieve with most existing safety analysis techniques, as hazards tend to be decomposed down in a functional way. In this paper we initially explore how existing techniques may be adapted to provide the required results. We then go on to examine how these safety properties and requirements may be represented in a useful and meaningful way. We propose to use safety contracts for classes as a way of capturing safety requirements in an OO system. These contracts are constructed through analysis of functional, timing and value aspects of interactions within the system. We look at how these contracts can be incorporated into the system design and then used to verify that a system is safe. We go on to explore how the use of safety contracts facilitates maintainability and reuse.
Original languageUndefined/Unknown
Title of host publication21st International System Safety Conference
PublisherThe International System Safety Society
Pages636-645
Number of pages10
Publication statusPublished - 2003

Cite this