On Correct Program Schemas

We present our work on the representation and correctness of program schemas, in the context of logic program synthesis. Whereas most researchers represent schemas purely syntactically as higher-order expressions, we shall express a schema as an open first-order theory that axiomatises a problem domain, called a specification framework, containing an open program that represents the template of the schema. We will show that using our approach we can define a meaningful notion of correctness for schemas, viz. that correct program schemas can be expressed as parametric specification frameworks containing templates that are steadfast, i.e. programs that are always correct provided their open relations are computed correctly.

[1]  John P. Gallagher,et al.  Schema-Based Top-Down Design of Logic Programs Using Abstract Data Types , 1994, LOPSTR.

[2]  Douglas R. Smith,et al.  KIDS: A Semiautomatic Program Development System , 1990, IEEE Trans. Software Eng..

[3]  Kung-Kiu Lau,et al.  Forms of Logic Specifications: A Preliminary Study , 1996, LOPSTR.

[4]  Timothy S. Gegg-Harrison Representing Logic Program Schemata in lambda-Prolog , 1995, ICLP.

[5]  Leon Sterling,et al.  Applying Techniques to Skeletons , 1993, ICLP Workshop on Construction of Logic Programs.

[6]  Yves Deville,et al.  Logic programming - systematic program development , 1990, International series in logic programming.

[7]  Kung-Kiu Lau,et al.  Steadfast Logic Programs , 1999, J. Log. Program..

[8]  Anna-Lena Johansson,et al.  Interactive Program Derivation Using Program Schemata and Incrementally Generated Strategies , 1993, LOPSTR.

[9]  Dave Barker-Plummer Cliche Programming in PROLOG , 1989 .

[10]  Yves Deville,et al.  Generalization and Program Schemata: A Step Towards Computer-Aided Construction of Logic Programs , 1989, NACLP.

[11]  Kung-Kiu Lau,et al.  Forms of Logic Speci cations : A Preliminary Study ? , 1996 .

[12]  José Meseguer,et al.  Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics , 1987, Research Directions in Object-Oriented Programming.

[13]  Yves Deville,et al.  Logic Program Transformation through Generalization Schemata , 1995, LOPSTR.

[14]  Pierre Flener Logic program synthesis from incomplete information , 1995, The Kluwer international series in engineering and computer science.

[15]  Pierre Flener,et al.  Correct-schema-guided synthesis of steadfast programs , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[16]  Wilfrid Hodges,et al.  Logical features of Horn Clauses , 1993 .

[17]  Norbert E. Fuchs,et al.  An Opportunistic Approach for Logic Program Analysis and Optimisation Using Enhanced Schema-Based Transformations , 1995, LOPSTR.

[18]  Nachum Dershowitz The evolution of programs , 1983, Progress in computer science.

[19]  Kung-Kiu Lau,et al.  The Halting Problem for Deductive Synthesis of Logic Programs , 1994, ICLP.

[20]  J. Lloyd Foundations of Logic Programming , 1984, Symbolic Computation.

[21]  Kung-Kiu Lau,et al.  The Relationship Between Logic Programs and Specifications - The Subset Example Revisited , 1997, J. Log. Program..

[22]  John McCarthy,et al.  Mathematical Theory of Computation , 1991 .

[23]  Douglas R. Smith,et al.  Top-Down Synthesis of Divide-and-Conquer Algorithms , 1985, Artif. Intell..

[24]  Leon S. Sterling Representing Logic Program Schemata in λProlog , 1995 .

[25]  Timothy S. Gegg-Harrison Extensible Logic Program Schemata , 1996, LOPSTR.

[26]  Martin Wirsing,et al.  Algebraic Specification , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.