Formal perspectives on software evolution: from refinement to retrenchment
Formal perspectives on software evolution: from refinement to retrenchment
The discipline of formal methods is concerned with the use of mathematical techniques to capture precise system specifications, and to transform these into verifiably correct programs. As these techniques mature, formal methods researchers are now taking a broader view of software development, and considering how evolution of such specifications and programs may be formally supported. This chapter discusses various ways in which formal methods can contribute to the evolutionary development of verifiably correct software. This discussion centres around model-based specification notations and associated development techniques, as exemplified by VDM, Z, B and the refinement calculus. The chapter begins by introducing the refinement calculus and outlining two ways in which program refinement can support evolutionary development. The chapter then introduces a recent generalisation of refinement, called retrenchment. Some of the factors motivating this generalisation are shown to be relevant to the evolution problem, and a sketch of a potential retrenchment-based method for modelling evolution is drawn. Discussion is supported by considering elements of realistic examples.
evolution, formal, refinement, retrenchment
0470871806
313-338
Poppleton, Michael
4c60e63f-188c-4636-98b9-de8a42789b1b
Groves, Lindsay
e6044cd5-63ff-4262-aa3d-c7cf93bd8088
2006
Poppleton, Michael
4c60e63f-188c-4636-98b9-de8a42789b1b
Groves, Lindsay
e6044cd5-63ff-4262-aa3d-c7cf93bd8088
Poppleton, Michael and Groves, Lindsay
(2006)
Formal perspectives on software evolution: from refinement to retrenchment.
In,
Madhavji, Nadim, Fernandez-Ramil, Juan and Perry, Dewayne
(eds.)
Software Evolution and Feedback: Theory and Practice.
John Wiley & Sons, .
Record type:
Book Section
Abstract
The discipline of formal methods is concerned with the use of mathematical techniques to capture precise system specifications, and to transform these into verifiably correct programs. As these techniques mature, formal methods researchers are now taking a broader view of software development, and considering how evolution of such specifications and programs may be formally supported. This chapter discusses various ways in which formal methods can contribute to the evolutionary development of verifiably correct software. This discussion centres around model-based specification notations and associated development techniques, as exemplified by VDM, Z, B and the refinement calculus. The chapter begins by introducing the refinement calculus and outlining two ways in which program refinement can support evolutionary development. The chapter then introduces a recent generalisation of refinement, called retrenchment. Some of the factors motivating this generalisation are shown to be relevant to the evolution problem, and a sketch of a potential retrenchment-based method for modelling evolution is drawn. Discussion is supported by considering elements of realistic examples.
Text
FPSWEvolution-revisedV3.doc
- Other
More information
Published date: 2006
Additional Information:
Chapter: 15
Keywords:
evolution, formal, refinement, retrenchment
Organisations:
Electronic & Software Systems
Identifiers
Local EPrints ID: 262347
URI: http://eprints.soton.ac.uk/id/eprint/262347
ISBN: 0470871806
PURE UUID: 68250ee0-aef9-4561-8131-f072da3c31c6
Catalogue record
Date deposited: 11 Apr 2006
Last modified: 14 Mar 2024 07:09
Export record
Contributors
Author:
Michael Poppleton
Author:
Lindsay Groves
Editor:
Nadim Madhavji
Editor:
Juan Fernandez-Ramil
Editor:
Dewayne Perry
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
View more statistics