Codification of Program Synthesis Knowledge for Concurrent Programs - Year II.
Final rept. 1 Jul 79-30 Sep 81,
SYSTEMS CONTROL INC PALO ALTO CA COMPUTER SCIENCE DEPT
Pagination or Media Count:
This report is the final report of our research project on the codification of concurrent programming knowledge. The general goal of research in this area is to codify programming knowledge and to create programming systems that employ this knowledge to assist in various programing activities including specification, synthesis, modification, debugging, and maintenance. The aim is to produce knowledge-based design tools to help with problems in this area. This paper primarily raises some questions that must be addressed in a study of a more focused area, namely that of generation of concurrent microcode. We first introduce a basic parallelism operator. The intent is to refine parallel programs specified using this operator into microcode. We discuss briefly how the hardware architecture affects the level of parallelism exploited in the microcode. Then we discuss issues in the automatic generation of compact yet fast microcode. Some advantages of microcode programming by refinement of high-level specifications are brought up, namely exploiting high-level parallelism, and assurance of correctness of the resulting code. The refinement paradigm requires intermediate level constructs and search for efficient implementations, which are discussed. An example is devised to see if macroparallelism in the high-level specification is carried over in the microcode.
- Computer Programming and Software
- Computer Hardware