Advertisement

Program construction by parts

  • M. Frappier
  • A. Mili
  • J. Desharnais
Contributed Lectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 947)

Abstract

Given a specification that includes a number of user requirements, we wish to focus on the requirements in turn, and derive a partly defined program for each; then combine all the partly defined programs into a single program that satisfies all the requirements simultaneously. In this paper we introduces a mathematical basis for solving this problem; and we illustrate it by means of a simple example.

Keywords

Monotonic Operator User Requirement Relation Algebra Break Character Program Construction 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alikacem, A., S.B.M. Sghaier, J. Desharnais, M. El Ouali, and F. Tchier. From Demonic Semantics to Loop Construction: A Relation Algebraic Approach. 3rd Maghrebian Conf. on Software Engineering and Artificial Intelligence, April 11–14, Rabat, Morocco (1994) 239–248.Google Scholar
  2. 2.
    Backhouse, R.C. et al. A Relational Theory of Data Types. Dept. of Math. and Comp. Sc., Eindhoven University of Technology, Netherlands, 1992.Google Scholar
  3. 3.
    Backhouse, R. C. and J. van der Woude. Demonic Operators and Monotype Factors. Dept. of Math. and Comp. Sc., Eindhoven University of Technology, Netherlands, 1993.Google Scholar
  4. 4.
    Belkhiter, N., S.B.M. Sghaier, J. Desharnais, F. Tchier, A. Jaoua, A. Mili, and N. Zaguia. Embedding a Demonic Semi-Lattice in a Relation Algebra. Rapport de recherche DIUL-RR-9302, Département d'Informatique, Université Laval, Québec, Canada, 1993.Google Scholar
  5. 5.
    Berghammer, R. and H. Zierer. Relational Algebraic Semantics of Deterministic and Nondeterministic Programs. Theoretical Computer Science 43 (1986) 123–147.Google Scholar
  6. 6.
    Berghammer, R. Relational Specifications. In: C. Rauszer (editor), XXXVIII Banach Center Semesters on Algebraic mathods in Logic and their Computer Science Applications, 1991.Google Scholar
  7. 7.
    Boudriga, N., F. Elloumi, and A. Mili. On The Lattice of Specifications: Applications to a Specification Methodology. Formal Aspects of Computing 4 (1992) 544–571.Google Scholar
  8. 8.
    J. Desharnais, A. Jaoua, F. Mili, N. Boudriga and A. Mili. A Relational Division Operator: The Conjugate Kernel. Theoretical Computer Science 114 (1993) 247–272.Google Scholar
  9. 9.
    J. Desharnais, F. Tchier and Ridha Khédri. Demonic Relational Semantics of Sequential Programs. Research Report DIUL-RR-9406, Département d'informatique, Université Laval, Québec City, Canada, 1994.Google Scholar
  10. 10.
    Dijkstra, E.W. A Discipline of Programming. Prentice Hall, 1976.Google Scholar
  11. 11.
    M. Frappier. A Relational Basis for Program Construction by Parts. Dept. of Computer Science, University of Ottawa, 1994.Google Scholar
  12. 12.
    Hehner, E.C.R. A Practical Theory of Programming. Springer Verlag, 1993.Google Scholar
  13. 13.
    Hoare, C.A.R., I.J. Hayes, H. Jifeng, C.C. Morgan, A.W. Roscoe, J.W. Sanders, I.H. Sorenson, J.M. Spivey, and B.A. Sufrin. Laws of Programming. Communications of the ACM 30(8) (1987) 672–686.Google Scholar
  14. 14.
    Jones, G. and M. Sheeran. Designing Arithmetic Circuits by Refinement in Ruby. in Mathematics of program construction: second international conference. R.S. Bird, C.C. Morgan and J.C.P. Woodcock, eds, Oxford, 1992, LNCS 669, Springer-Verlag, 1993.Google Scholar
  15. 15.
    Mili, A. A Relational Approach to the Design of Deterministic Programs. Acta Informatica 20 (1983) 315–328.Google Scholar
  16. 16.
    Mili, A., Y. Qing, and W.X. Yang. A Relational Specification Methodology. Software-Practice and Experience, 16(11) (1986) 1003–1030.Google Scholar
  17. 17.
    Möller, B. Relations as a Program Development Language, In: Möller, B, ed. Constructing Programs from Specifications. Proc. IFIP TC 2/WG 2.1 Pacific Grove, CA, USA, May 13–16, North-Holland (1991) 373–397.Google Scholar
  18. 18.
    Mills, H.D., V.R. Basili, J.D. Gannon and R.G. Hamlet. Principles of Computer Programming: A Mathematical Approach. Allyn and Bacon, 1987.Google Scholar
  19. 19.
    Morgan, C. Programming from Specifications. Prentice Hall, 1990.Google Scholar
  20. 20.
    Myers, G.J. A Controlled Experiment in Program Testing and Code Walkthroughs/Inspections. CACM 21(9) (1978) 760–768.Google Scholar
  21. 21.
    Naur, P. Programming by Action Clusters. BIT 9(3) (1969) 250–258.Google Scholar
  22. 22.
    Schmidt, G. and T. Ströhlein. Relations and Graphs. Springer Verlag, 1993.Google Scholar
  23. 23.
    Sekerinski, E. A Calculus for Predicative Programming. in Mathematics of program construction: second international conference. R.S. Bird, C.C. Morgan and J.C.P. Woodcock, eds, Oxford, 1992, LNCS 669, Springer-Verlag, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • M. Frappier
    • 1
  • A. Mili
    • 1
  • J. Desharnais
    • 2
  1. 1.Department of Computer ScienceUniversity of OttawaOttawa
  2. 2.Département d'InformatiqueUniversité LavalQuébec

Personalised recommendations