Please: a language combining imperative and logic programming

  • Authors:
  • Robert B. Terwilliger

  • Affiliations:
  • University of Colorado, Boulder

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

PLEASE is an Ada®-based, executable specification language which supports a formal development method similar to VDM. Like ANNA, PLEASE allows software to be annotated with formulae written in predicate logic; annotations can be used in proofs of correctness and to generate run-time assertion checks. PLEASE differs from ANNA by restricting the logic used in annotations to Horn clauses; therefore, PLEASE specifications can also be transformed into prototypes which use Prolog to "execute" pre- and post-conditions. We believe the early production of executable prototypes will enhance the development process. We also believe the restriction to Horn clauses will allow us to build on the significant research being performed on logic-based programming languages and databases. In this paper we give an overview of PLEASE, present an example specification, describe the translation of PLEASE specifications into Prolog procedures, and discuss some of the techniques used to obtain acceptable efficiency in the resultant prototypes.