Image for Program Development by Refinement

Program Development by Refinement : Case Studies Using the B Method

Sekerinski, Emil(Edited by)Sere, Kaisa(Edited by)
Part of the Formal Approaches to Computing and Information Technology (FACIT) series
See all formats and editions

The Idea of Program Refinement Programs are complex.

They are typically so complex, that they go beyond the full comprehension even of the programmer or team who designed them, with all the consequences this has.

How can we cope with such complexity in a satisfactory way?

An approach, advocated for a long time, is to separate a concise specification of a program - the "what" - from a possibly involved implementation - the "how".

Once a specification is obtained from the set of requirements on the program, there can still be a large gap to an efficient implementation.

The development from specification to implementation can then proceed by a succession oflayers, such that each layer is a refinement of the previous one.

Design decisions can be introduced in refinement steps one at a time.

By this, the refinement steps can be kept small and manageable.

Still, the set of all requirements can be far too large to be taken completely into account in the initial specification.

Even if they could, they might obscure issues more than clarify them.

For example: * An information system for stored goods needs to produce an error message on il- legal input.

Yet, the exact wording - and even the language - of those messages is irrelevant for an understanding of the essence of the system. * A banking application interacts with customers with a graphical interface.

Yet the specification of the graphical layout is secondary compared to the specification of the possible transactions.

Read More
Special order line: only available to educational & business accounts. Sign In
£24.99
Product Details
Springer
1447105869 / 9781447105862
Paperback
07/09/2011
155 x 235 mm, 511 grams