Diagrams for software synthesis

The authors describe the formal environment at Kesteral for synthesizing programs. The authors show that straightforward formalization, persistently applied at all levels of system description and system derivation, produces a scalable architecture for a synthesis environment. The primitive building blocks for framework are specifications, which encapsulate types and operations, and specification arrows, which are relations between specifications. The design of a system is represented as a diagram of specifications and arrows. Synthesis steps manipulate such diagrams, for example, by adding design detail to some specification, or by building new diagrams. A design history is a diagram of diagrams. Thus, they have a formal, knowledge-based, and machine-supported counterpart to such software engineering methodologies as CASE and OOP.<<ETX>>

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

[2]  Allen Goldberg,et al.  DTRE - A Semi-Automatic Transformation System , 1991 .

[3]  T. C. Wang,et al.  Toward reliable reactive systems , 1989, IWSSD '89.

[4]  Stephen J. Westfold,et al.  A Theory of Automated Design of Visual Information Presentations , 1992 .

[5]  Joseph A. Goguen,et al.  Mathematical Representation of Hierarchically Organized Systems , 1970 .

[6]  Yellamraju V. Srinivas Algebraic specification : syntax, semantics, structure , 1990 .

[7]  Władysław Turski,et al.  The specification of computer programs , 1987 .

[8]  Douglas R. Smith Top-down synthesis of divide-and-conquer algorithms , 1986 .

[9]  Douglas R. Smith Track assignment in an air traffic control system: a rational reconstruction of system design , 1992, Proceedings of the Seventh Knowledge-Based Software Engineering Conference.

[10]  R.K. Jullig,et al.  Applying formal software synthesis , 1993, IEEE Software.

[11]  Walter Dosch,et al.  On the Algebraic Specification of Domains , 1984, ADT.

[12]  Hartmut Ehrig,et al.  On Recent Trends in Algebraic Specification , 1989, ICALP.

[13]  Douglas R. Smith Structure and Design of Problem Reduction Generators , 1991 .

[14]  Joseph A. Goguen,et al.  Putting Theories Together to Make Specifications , 1977, IJCAI.

[15]  Michael Barr,et al.  Category theory for computing science , 1995, Prentice Hall International Series in Computer Science.