He Jifeng, Int. Inst. for Software Technol., United Nations Univ., Macau, China
C.A.R. Hoare, Int. Inst. for Software Technol., United Nations Univ., Macau, China
A theory of programming starts with a complete Boolean algebra of specifications, and defines healthiness conditions which exclude infeasibility of implementation. These are expressed as algebraic laws useful for transformation and optimisation of designs. Programming notations and languages must be restricted to those preserving all the healthiness conditions. We have explored a wide range of programming paradigms, including nondeterministic, sequential, parallel, logical and probabilistic. In all cases, we have found a single healthiness condition, formalised by constructions due to Karoubi and to Kleisli. The uniformity maintains for all paradigms a single notion of correctness throughout the chain that leads from specification through designs to programs that are proved to meet the original specification.
Index Terms:
programming theory; Boolean algebra; algebraic specification; healthiness condition theory; programming theory; Boolean algebra; formal specifications; algebraic laws; design optimisation; programming notations; programming languages; nondeterministic programming; sequential programming; parallel programming; logic programming; probabilistic program
Citation:
He Jifeng, C.A.R. Hoare, "Unifying theories of healthiness condition," apsec, pp.70, Seventh Asia-Pacific Software Engineering Conference (APSEC'00), 2000