Next: End User to
Up: No Title
Previous: Hardware Specifications
In this section we describe, in detail, our new three-stage
contract paradigm that:
- forces the end user to specify practical goals without
being allowed to specify implementation details
- forces the application programmer to
specify performance in the algorithm description
without being able to assume target hardware
- enables the compiler to use a local hardware specification
or microcode simulator to determine whether or not the
application programmer's
specifications are feasible -- and if not, to provide
feedback and alternatives to the application programmer.
The compiler is not allowed to make clandestine changes to
the code.
This is a marked departure from current programming methodology.
As an example, we provide a generic contract except in part of the
second-stage contract where specific contract information for
solving a quadratic equation is provided.
In the generic contract, the notation is loosely based
on the Backus-Naur Form (BNF) specification
and is defined as follows:
- ##
- comment follows to end of line
- itemlist
- required item or items
- alternation -- pick one from this itemlist
- []
- enclosed optional item
We hope that all other notation is self-explanatory.
Dr. T. L. Marchioro II
Wed Aug 9 16:54:08 CDT 1995