A survey of software reuse libraries
Annals of Software Engineering
Logic for Component-Based Software Development
Computational Logic: Logic Programming and Beyond, Essays in Honour of Robert A. Kowalski, Part I
Schema-Guided Synthesis of CLP Programs
LOPSTR '98 Proceedings of the 8th International Workshop on Logic Programming Synthesis and Transformation
A Step Towards a Methodology for Mercury Program Construction: A Declarative Semantics for Mercury
LOPSTR '98 Proceedings of the 8th International Workshop on Logic Programming Synthesis and Transformation
CL '00 Proceedings of the First International Conference on Computational Logic
Hi-index | 0.00 |
It can be argued that for (semi-)automated software development, program schemas are indispensable, since they capture not only structured program design principles but also domain knowledge, both of which are of crucial importance for hierarchical program synthesis. Most researchers represent schemas purely syntactically (as higher-order expressions). This means that the knowledge captured by a schema is not formalised. We take a semantic approach and show that a schema can be formalised as an open (first-order) logical theory that contains an open logic program. By using a special kind of correctness for open programs, called steadfastness, we can define and reason about the correctness of schemas. We also show how to use correct schemas to synthesise steadfast programs.