The University of Edinburgh -
Division of Informatics
Forrest Hill & 80 South Bridge

PhD Thesis #9508

Title:Using Prolog Techniques to Guide Program Composition
Date: 1995
Abstract:It is possible to build complex programs by repeated combination of pairs ofsimpler programs. However, naive combination often produces programs thatare far to inefficient. We would like to have a system that would producethe optimal combination of two programs, and also work with minimalsupervision by the user. In this thesis we make a significant step towardssuch an ideal, with the presentation of an interactive system based onprogram transformation complemented with knowledge of the programdevelopment.No single method is known that will combine all programs efficiently and soa variety of different combination methods must be used. However, to getgood results it is necessary that the methods have access to knowledge aboutthe program structure. To provide this knowledge we have decided to requirethat the initial programs be constructed in a specialised editor whichembodies knowledge of certain standard Prolog practices (techniques) to aidthe program construction, but more importantly can record pertinent parts ofthe program development into a structure called the program history. Thisprogram history contains the initial control flow (skeleton) and thetechniques that the user applied in the construction of the program. Henceit carries knowledge about the program that would otherwise be verydifficult to extract from just the program itself.The first contribution of this thesis is to recognise that knowledgecontained in the program history can be used in program transformation,reducing the need for user interaction. The interactive composition systempresented can automatically take major decisions, such as the selection ofwhich subgoal should be unfolded or the laws to be applied in order to get amore efficient combined program.

[Search These Pages] [DAI Home Page] [Comment]