Many of the systems which we, and those who have worked with us, have built were intended to make it easier for people with particular backgrounds to construct and understand logic programs. A major issue when designing this sort of system is pragmatics: from the many logically equivalent ways of describing a program we must identify styles of description which make particular tasks easier to support. The first half of this paper describes three ways in which we have attempted to understand the pragmatics of particular domains using well known methods from computational logic. These are: design using parameterisable components; synthesis by incremental addition of program slices; and meta-interpretation. These are helpful in structuring designs but do not necessarily provide guidance in design lifecycles - where less detailed designs are used to guide the description of more detailed designs. The second half of this paper summarises an example of this form of guidance.
|Title of host publication||Logic-Based Program Synthesis and Transformation|
|Subtitle of host publication||8th International Workshop, LOPSTR’98 Manchester, UK, June 15–19, 1998 Selected Papers|
|Number of pages||20|
|Publication status||Published - 1999|
|Name||Lecture Notes in Computer Science|
|Publisher||Springer Berlin / Heidelberg|