TY - JOUR
T1 - Using programming expertise for controlling software synthesis
AU - Hewett, Rattikorn
N1 - Funding Information:
This research is supported by NSF grant IRI-9308425. The blackboard framework for synthesis control was designed by many past project members : Micheal Hewett, Olga Mazuera and M ete Kabacioglu. The author would like to thank Krishnamurthy Ganesan and Micheal Hewett for their programming expertise. Also, thanks to John Leuchner for his invaluable comments and tireless help to improve the presentation of this paper. And special thanks to Robert Campbell for his careful review and many helpful comments and suggestions.
PY - 1996/7/1
Y1 - 1996/7/1
N2 - Achieving efficient software implementations requires a great deal of knowledge, intelligence, and expertise on the part of programmers. One way to enhance software productivity is to incorporate the knowledge and skills of expert programmers into software synthesis systems to automate software development processes. Although many software synthesis systems have been developed, automatic control of synthesis remains a difficult problem. Understanding the role of expertise in software synthesis, and making it more explicit, can help us not only to gain autonomy in controlling the synthesis processes but also to better justify the design, implementations, selection of data structures or algorithms employed in constructing code. Our project aims at making synthesis as autonomous as possible by advances in intelligent control mechanisms to reduce user interaction in the synthesizer. In our earlier work, a blackboard control framework for controlling synthesis processes was introduced. This paper describes how the control framework language was designed and how knowledge in the knowledge bases of the framework was acquired and constructed. We present an example that shows how programming expertise can be used to increase the degree of autonomy in synthesis control, in particular by automating the selection of an appropriate data structure implementation.
AB - Achieving efficient software implementations requires a great deal of knowledge, intelligence, and expertise on the part of programmers. One way to enhance software productivity is to incorporate the knowledge and skills of expert programmers into software synthesis systems to automate software development processes. Although many software synthesis systems have been developed, automatic control of synthesis remains a difficult problem. Understanding the role of expertise in software synthesis, and making it more explicit, can help us not only to gain autonomy in controlling the synthesis processes but also to better justify the design, implementations, selection of data structures or algorithms employed in constructing code. Our project aims at making synthesis as autonomous as possible by advances in intelligent control mechanisms to reduce user interaction in the synthesizer. In our earlier work, a blackboard control framework for controlling synthesis processes was introduced. This paper describes how the control framework language was designed and how knowledge in the knowledge bases of the framework was acquired and constructed. We present an example that shows how programming expertise can be used to increase the degree of autonomy in synthesis control, in particular by automating the selection of an appropriate data structure implementation.
UR - http://www.scopus.com/inward/record.url?scp=0030519330&partnerID=8YFLogxK
U2 - 10.1080/095281396147348
DO - 10.1080/095281396147348
M3 - Article
AN - SCOPUS:0030519330
VL - 8
SP - 293
EP - 318
JO - Journal of Experimental and Theoretical Artificial Intelligence
JF - Journal of Experimental and Theoretical Artificial Intelligence
SN - 0952-813X
IS - 3-4
ER -