A Theoretical Proposal for a CASD System Extending Jackson’s Method for Program Construction

  • C. J. Lucena
  • R. C. B. Martins
  • P. A. S. Veloso
  • D. D. Cowan


This paper presents a new programming method called the data transform programming method. In particular, we present a specialization of data transform programming to deal with file processing applications. Direct comparison is made with Jackson’s approach by the presentation of uniform solutions to problems that cannot be solved through his basic method.

The new method consists of the application of data transformations to the abstract problem statement, following the formal notions of problem reduction and problem decomposition. Data transformations are expressed in programming terms through a basic set of data type constructors. The method reduces the original problem to a set of sub-problems that can be solved through the direct application of Jackson’s method. It produces a solution which is correct by construction.


Regular Expression File Processing Program Schema Problem Reduction Data Flow Graph 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    M. A. Jackson, Principles of Program Design, London: Academic Press, 1975.Google Scholar
  2. [2]
    J. D. Warnier, Logical Construction of Programs, New York: Van Nostrand Reinhold, 1974.Google Scholar
  3. [3]
    E. Yourdon and L. L. Constantine, Structured Design: Fundamentals of a Discipline of Computer Program and System Design, Yourdon Press, 1978.Google Scholar
  4. [4]
    J. W. Hughes, A Formalization and Explanation of the Michel Jackson Method of Program Design, Software-Practice and Experience, Vol. 9, 1979.Google Scholar
  5. [5]
    D. D. Cowan, J. W. Graham, J. W. Welch, and C. J. Lucena, A Data-Directed Approach to Program Construction, Software-Practice and Experience, Vol. 10, 1980.Google Scholar
  6. [6]
    P. A. S. Veloso and S. R. M. Veloso, “Problem Decomposition and Reduction: Applicability, Soundness, Completeness,” Trappl, R., Klir, J., Pichler, F. (eds), Progress in Cybernetics and Systems Research, Vol. VIII, Hemisphere Publ. Co., 1980.Google Scholar
  7. [7]
    C. J. Lucena, R. C. B. Martins, P. A. S. Veloso, and D. D. Cowan, “The data transform programming method - an example for processing problems,” Proceedings of the 7th International Conference of Software Engineering, IEEE Computer-Society, 1983.Google Scholar
  8. [8]
    C. J. Lucena, R. C. B. Martins, P. A. S. Veloso, and D. D. Cowan, “A theoretical proposal to a CASD system extending the Jackson’s method, 1983 International Conference on Advanced Automation, Taiwan, Republic of China, 1983.Google Scholar
  9. [9]
    C. A. R. Hoare, “Notes on Data Structuring,” in Dahl, O. J., Dijkstra, E. W., Hoare, C. A. R., Structured Programming, Academic Press, 1972.Google Scholar
  10. [10]
    D. L. Parnas, “Designing software for ease of extension and contraction,” IEEE Trans. on Software Engineering, Vol. SE-5, No. 2, 1979.CrossRefGoogle Scholar
  11. [11]
    D. Coleman, J. W. Hughes, and M. S. Powell, “A method for the syntax directed design of multiprograms,” IEEE Trans. on Software Engineering, Vol. SE-7, No. 2, 1981.CrossRefGoogle Scholar
  12. [12]
    L. Logrippo and D. R. Skuce, “File structures, program structures, and attributed grammers,” Technical Report TR82–02, Computer Science Department, University of Ottawa, 1982.Google Scholar
  13. [13]
    T. E. Cheatham, G. H. Holloway, and J. A. Townley, “Program refinement by transformation,” Proceedings of the 5th International Conference on Software Engineering, 1981.Google Scholar
  14. [14]
    R. C. B. Martins, “Data Transform Method,” Doctoral Thesis (in Portuguese), Computer Sciences Department, PUC/RJ, Rio de Janeiro, Brazil, 1984.Google Scholar

Copyright information

© Plenum Press, New York 1985

Authors and Affiliations

  • C. J. Lucena
  • R. C. B. Martins
  • P. A. S. Veloso
    • 1
  • D. D. Cowan
    • 2
  1. 1.Departamento de InformáticaPontifícia Universidade CatólicaRio de JaneiroBrazil
  2. 2.Department of Computer ScienceUniversity of WaterlooWaterlooCanada

Personalised recommendations