PLEASE is an executable specification language which supports program development by incremental refinement. Software components are first specified using a combination of conventional programming languages and mathematics. These abstract components are then incrementally refined into components ill an implementation language. Each refinement is verified before another is applied; therefore, the final components produced by the development satisfy the original specilieations. PLEASE allows a procedure or function to be specified using pre- And post-conditions written in predicate logic and all abstract data type to have a type invariant. PLEASE specifications may be used in proofs of correctness, and may also be transformed into prototypes which use Prolog to "execute" pre- And post-conditions. The early production of executable prototypes for experimentation and evaluation may enhance the development process.