This Article 
 Bibliographic References 
 Add to: 
Towards a Formalism to Produce a Programmer Assistant CASE Tool
September 1990 (vol. 2 no. 3)
pp. 320-326

A weak specification method important to the area of computer-aided software engineering (CASE) is introduced. The specification language introduced does not require the specification of control flow information. When given a specification consisting of a formula characterizing input constraints of a function and a formula characterizing output constraints, it is possible to synthesize program functions. The synthesis algorithm is guaranteed to find all functions which satisfy the specification. It is shown that when the algorithm is applied to the specifications, it is capable of producing all program structures, including sequences, selections, and iterations. Therefore, the methodology provides for a formal foundation upon which a CASE programmer assistant tool can be built.

[1] J. Cleaveland, "Building application generators,"IEEE Software, vol. 5, no. 4, pp. 25-33, July 1988.
[2] E. F. Codd, "Further normalization of the data base relational model," inData Base Systems, R. Rustin, Ed. Englewood Cliffs, NJ: Prentice-Hall, 1972, pp. 33-64.
[3] D. E. Cooke, "Proving properties of software design methods," inProc. First Int. Conf. Software Eng. Knowledge Eng., Skokie, IL, June 1989, pp. 9-12.
[4] A. M. Davis, "A comparison of techniques for the specification of external system behavior,"Commun. ACM, vol. 31, pp. 1098-1115, Sept. 1988.
[5] E. W. Dijkstra, "Guarded commands, nondeterminacy and formal derivation of programs,"Commun. ACM, vol. 18, no. 8, pp. 453- 457, 1975.
[6] C. A. R. Hoare, "An overview of some formal methods for program design,"IEEE Comput. Mag., 20, no. 9, pp. 85-91, Sept. 1987.
[7] Luqi and M. Ketabchi, "A computer-aided prototyping system,"IEEE Software, vol. 5, no. 2, pp. 66-72, Mar. 1988.
[8] Manna, Z., and R. Waldinger, "A Deductive Approach to Program Synthesis,"Trans. Programming Languages and Systems, Vol. 2, No. 1, Jan. 1980, pp. 90-121.
[9] S. Misra and P. Jalics, "Third-generation versus fourth-generation software generation,"IEEE Software, vol. 5, no. 4, pp. 8-14, July 1988.
[10] H. Partsch and R. Steinbrüggen, "Program transformation systems,"ACM Comput. Surveys, vol. 15, no. 3, pp. 199-236, Sept. 1983.
[11] C. V. Ramamoorthy, Keynote Address,Int. Conf. Software Eng. Knowledge Eng., June 1989.
[12] H. Reichenbach,Elements of Symbolic Logic. NY: Dover, 1947.
[13] J. Reynolds,The Craft of Programming. London, England: Prentice-Hall International Series in Computer Science, C.A.R. Hoare, Series Editor, 1981.
[14] C. Rich and R. Waters, "Automatic programming: Myths and prospects,"IEEE Comput. Mag., vol. 21, no. 8, pp. 40-51, Aug. 1988.

Index Terms:
formalism; programmer assistant CASE tool; weak specification method; specification language; input constraints; program functions; sequences; selections; iterations; software engineering; software tools; specification languages
D.E. Cooke, "Towards a Formalism to Produce a Programmer Assistant CASE Tool," IEEE Transactions on Knowledge and Data Engineering, vol. 2, no. 3, pp. 320-326, Sept. 1990, doi:10.1109/69.60795
Usage of this product signifies your acceptance of the Terms of Use.