Title :
Automatic programming for streams. II. Transformation implementation
Author_Institution :
Schlumberger-Doll Res., Ridgefield, CT, USA
Abstract :
For pt.I see ISCAI p.232-237, Los Angeles, USA, (August 1985). ΦNIX is an automatic programming system for writing programs which interact with external devices through temporally-ordered streams of values. Abstract specifications are stated in terms of constrains on the values of input and output streams. The target language is the Stream Machine, a language which includes concurrently executing processes communicating and synchronizing through streams. ΦNIX produces programs by repeatedly transforming abstract specifications through successively more concrete forms until concrete Stream Machine programs are produced. An example which ΦNIX has successfully implemented involves three major steps: transforming the specification into an applicative expression, transforming the applicative expression into three imperative processes, and merging the processes into a single process. Each major step involves several other transformation steps that reformulate and simplify intermediate expressions
Keywords :
automatic programming; specification languages; ΦNIX; Stream Machine; abstract specifications; applicative expression; automatic programming system; imperative processes; streams; target language; values; Automatic control; Automatic programming; Communication system control; Concrete; Control systems; Merging; Petroleum; Physics; Well logging; Writing;
Conference_Titel :
Software Engineering, 1988., Proceedings of the 10th International Conference on
Print_ISBN :
0-89791-258-6
DOI :
10.1109/ICSE.1988.93724