What We Learn About Process Specification Languages from Studying Recipes

Abstract

In this paper, we study recipes as examples of process programs. By doing so, we intend to learn about cooking as a process and recipes as specifications written in programming languages. We are looking for some insights into the principles which should be incorporated into computer programming languages, especially languages for the expression of computer software processes. We are also interested in studying how process descriptions are currently effectively communicated between humans in the specific problem domain of cooking recipes. Our work is based upon close study of a modest number of recipes. From this study, we infer the features that a language supporting the expression of recipe programs must have. We suggest that a language that is basically algorithmic can suffice, but only if it also supports concurrency, real time constructs, and data type specification that is more complex than what is available in conventional languages. Such a language should probably also support rule-based function evaluation. This language therefore incorporates a mixture of different programming language paradigms (eg. algorithmic, real-time, and rule-based). This suggests that it is necessary to create languages which effectively mix paradigms if we are to cleanly and satisfactorally support the programming of human processes. In that such a language would draw upon innate human capabilities, it would probably also have much wider applicability.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Aug 01, 1987
Accession Number
ADA631494

Entities

People

  • Isabelle M. Demeure
  • Leon J. Osterweil

Organizations

  • University of Colorado Boulder

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Birds
  • Computational Processes
  • Computer Languages
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Language
  • Programming Languages
  • Software Development
  • Vegetables
  • Virtual Machines

Fields of Study

  • Computer science

Readers

  • Computer Science.
  • Educational Psychology
  • Systems Analysis and Design

Technology Areas

  • AI & ML
  • AI & ML - Machine Translation