This paper contributes to the understanding of rational systems design and verification.
We give evidence that the rôle of mathematics in development and verification is not limited
to useful calculations: Ideally, designing is a creative mathematical activity, which comprises
finding a theorem, if necessary strengthening its assumptions until it can be proven.
A canonical form of this ‘verification theorem’ is introduced and illustrated with informal
and formal examples.
Although for good reasons most systems are designed without use of formal methods it may
be a source of useful insight to understand all design as an ‘approximation’ of such a
mathematical activity. This leads amongst others to a taxonomy of design decisions, and it
may help to relate paradigms, theories, methods, languages, and tools from different areas of
computer science to each other to make optimal use of them.
|Publisher||Computing Science Institute, University of Nijmegen|