Engineering and theoretical underpinnings of retrenchment
Science of Computer Programming
Hi-index | 0.00 |
Retrenchment is presented in a simple relational framework as a more flexible development concept than refinement for capturing the early pre-formal stages of development, and briefly justified. Fragmented retrenchment permits the granularity of actions to decrease across a development step, many concrete steps retrenching a single abstract one. This generates the usual proliferation of inter-leavings of events at the concrete level. Event structures, particularly flow event structures, help to control these within the retrenchments of a single abstract step, while the concurrent reading of the fragmented retrenchment proof obligation permits acceptable inter-leavings of retrenchments of different steps. It is observed that retrenchment allows the convenient description of unfair behaviours when fairness is not guaranteed.