Skip to main content
Log in

Functional behavior in data spaces

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

In order to verify that a nondeterministic sequential program is partially correct it is sufficient to establish the conjunction of two constituent properties: “weak” partial correctness and functional, that is reproducible, behavior. It is possible to continue this divide-and-conquer strategy for the concept of functional behavior. If the nondeterministic sequential program is derived from a set of interacting parallel processes then the functional behavior of the former can be expressed in terms of two weaker complementary properties of the latter: weak functional behavior and input/output liveness. The only remaining issue is input/output dependability: the absence of input/output livelock. The theoretical framework of data spaces is used to derive closure theorems for these constituent properties. For instance, it is shown that a system of weakly functional processes is again weakly functional.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Adams, D.: A computation model with data flow sequencing. TR 117 (Ph.D. Dissertation). CS Dept., Stanford Univ., 1968

  2. Ashcroft, E., Manna, Z.: Formalization of properties of parallel programs. Machine Intelligence 6, 17–41 (1970)

    Google Scholar 

  3. Ashcroft, E.: Proving assertions about parallel programs. J. Comput. System Sci. 10, 110–135 (1975)

    Google Scholar 

  4. Coffmann, E.G., Denning, P.J.: Operating systems theory. Englewood Cliffs, N.J.: Prentice-Hall 1973

    Google Scholar 

  5. Cremers, A.B., Hibbard, T.N.: The semantic definition of programming languages in terms of their data spaces. In: Programmiersprachen. Informatik-Fachberichte, Vol. 1, pp. 1–11. Berlin-Heidelberg-New York: Springer 1976

    Google Scholar 

  6. Cremers, A.B., Hibbard, T.N.: The relationship between a procedure and its data. In: Mathematical foundations of computer science, Lecture notes in computer science. Vol. 45, pp. 250–254. Berlin-Heidelberg-New York: Springer 1976

    Google Scholar 

  7. Cremers, A.B., Hibburd, T.N.: Orthogonal information structures. Proc. Conf. Theor. Comp. Sci., Univ. Waterloo, pp. 182–190, 1977

  8. De Bakker, J.W.: Termination of nondeterministic programs. Proc. 3rd Colloq. Aut., Lang., and Progr., Edinburgh, 1976

  9. Dijkstra, E.W.: Hierarchical ordering of sequential processes. Acta Informat. 1, 115–138 (1971)

    Google Scholar 

  10. Dijkstra, E.W.: A discipline of programming Englewood Cliffs, N.J.: Prentice-Hall 1976

    Google Scholar 

  11. Floyd, R.W.: Assigning meanings to programs. Proc. Symp. Applied Math., Vol.19, Amer. Math. Soc., Provincetown, R.I., pp. 19–32 (1967)

    Google Scholar 

  12. Habermann, A.N.: Prevention of system deadlocks. Comm. ACM 12, 373–377 (1969)

    Google Scholar 

  13. Hack, M.H.: Analysis of production schemata by Petri nets. MIT Proj. MAC Rept. TR 94 (Thesis), 1972

  14. Holt, A., Commoner, F.: Events and conditions. Rec. Proj. MAC Conf. Concur. Syst. Par. Computat., pp. 3–52, 1970

  15. Holt, R.C.: Some deadlock properties of computer systems. Comput. Surveys 4, 179–196 (1972)

    Google Scholar 

  16. Horning, J.J., Randell, B.: Process structuring. Comput. Surveys 5, 5–30 (1973)

    Google Scholar 

  17. Kahn, G.: A preliminary theory for parallel programs. IRIA Rept., No. 6, 1973

  18. Kahn, G., McQueen, D.B.: Coroutines and networks of parallel processes. In: Information processing 77 (B. Gilchrist, ed.), pp. 993–998. Amsterdam: North-Holland 1977

    Google Scholar 

  19. Karp, R.M., Miller R.E.: Properties of a model for parallel computations: determinacy, termination, queueing. SIAM J. Appl. Math. 14, 1390–1411 (1966)

    Google Scholar 

  20. Karp, R.M., Miller, R.E.: Parallel program schemata. J. Comput. System Sci. 3, 147–195 (1969)

    Google Scholar 

  21. Keller, R.M.: Parallel program schemata and maximal parallelism. J. Assoc. Comput. Mach. 20, 514–537, 696–710 (1973)

    Google Scholar 

  22. Keller, R.M.: Vector replacement systems: A formalism for modeling asynchronous systems. TR 117, Comp. Sci. Lab., EE Dept., Princeton Univ., 1972, revised 1974

  23. Keller, R.M.: A fundamental theorem of asynchronous parallel computation. In: Parallel processing, Lecture notes in computer science, Vol. 24. Berlin-Heidelberg-New York: Springer 1975

    Google Scholar 

  24. Keller, R.M.: Formal verification of parallel programs. Comm. ACM 19. 371–384 (1976)

    Google Scholar 

  25. Manna, Z.: The correctness of nondeterministic programs. Artificial Intelligence 1, 1–26 (1970)

    Google Scholar 

  26. Muller, D.E., Bartky, W.S.: A theory of asynchronous circuits. Proc. Int'l. Symp. Switch. Th., pp. 204–243 (1959)

  27. Naur, P.: Proof of algorithms by general snapshots. Nordisk Tidskr. Informationsbehandling (BIT) 6, 310–316 (1966)

    Google Scholar 

  28. Patil, S.S.: Closure properties of interconnections of determinate systems. Rec. Proj. MAC Conf. Concur. Syst. Par. Computat., pp. 107–226, 1970

  29. Plotkin, G.: A powerdomain construction. SIAM J. Comput. (to appear)

  30. Rosen, B.K.: Correctness of parallel programs: the Church-Rosser approach. Theor. Comput. Sci. 2, 183–207 (1976)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

This research is supported in part by the Office of Naval Research under Contract No. N00014-77-C-0536 through the University of Southern California

A preliminary version of the paper was presented at the Symposium on Formal Methods and Mathematical Tools for Software Design, Mathematical Research Institute, Oberwolfach, West Germany, Nov. 21–27, 1976

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cremers, A.B., Hibbard, T.N. Functional behavior in data spaces. Acta Informatica 9, 293–307 (1978). https://doi.org/10.1007/BF00289044

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00289044

Keywords