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.
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