- Brud på en kontrakt bringer programudførelsen i store vanskeligheder
- Under programtest leder dette til debugging og fejlrettelse
- Under programdrift bringer dette programmet i en undtagelsessituation som bør føre til kontrolleret nedlukning
eller valg af en alternativ programudførelsesstrategi
| | Når eller hvis der opdages et brud på en kontrakt, f.eks. en invariant som ikke holder når man
kører programmet, har vi identificeret et stort problem. Det giver ikke mening at fortsætte programudførelsen.
Der kan være tale om en programmeringsfejl i forhold til specifikationen af programmet. I en debugging situation
er det eneste fornuftige at få rettet denne fejl. I en driftssituation har vi identificeret
en undtagelsessituation, som typisk håndteres ved en kontrolleret nedlukning af programmet. I nogle
meget kritiske programmer vil vi ønske at genoptage programudførelsen med en ændret 'beregningsstrategi'
(recovery).
|