Constructing specification morphisms
Journal of Symbolic Computation - Special issue on automatic programming
Toward a Classification Approach to Design
AMAST '96 Proceedings of the 5th International Conference on Algebraic Methodology and Software Technology
The Semantics of CLEAR, A Specification Language
Proceedings of the Abstract Software Specifications, 1979 Copenhagen Winter School
Specware: Formal Support for Composing Software
MPC '95 Mathematics of Program Construction
Planware ¾ Domain-Specific Synthesis of High-Performance Schedulers
ASE '98 Proceedings of the 13th IEEE international conference on Automated software engineering
Hi-index | 0.00 |
This paper presents a mechanizable framework for software development by refinement. The framework is bawed on a category of higher-order specifications. The key idea is representing knowledge about programming concepts, such as algorithm design, datatype refinement, and expression simplification, by means of taxonomies of specifications and morphisms. The framework is partially implemented in the research systems Specware, Designware, and Planware. Specware provides basic support for composing specifications and refinements via colimit, and for generating code via logic morphisms. Specware is intended to be general-purpose and has found use in industrial settings. Designware extends specware with taxonomies of software design theories and support for constructing refinements from them. Planware builds on designware to provide highly automated support for requirements acquisition and synthesis of high-performance scheduling algorithms.