The average mathematician should not forget that intuition is the final authority.
—J. Barkley Rosser
This part constitutes a gentle and largely informal introduction to our design description language. Its purpose is to introduce programmers and software designers to effective means of modelling programs and design patterns without requiring any mathematical training.
Throughout this part we will adhere to the following writing conventions:
– Starred sections (e.g., 6.4: * Modelling Implementation Minutia) include advanced reading which can be skipped without affecting the readability of most of the remainder of the book.
– Much of what will be presented is set outside the main text and captioned as follows: Legends introduce symbols, Codecharts are specifications in LePUS3, programs are valid expressions in a programming language, tables depict tabular information, and figures include anything else that need be set apart from the main text.
– Source code follows Knuth's conventions with keywords in boldtypewriter.
– Codechart symbols (Iterator, JavaRMIImp) appear in Euclid typeface.
– When a new term is introduced or defined it appears in bold typeface