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.
Similar content being viewed by others
References
Adams, D.: A computation model with data flow sequencing. TR 117 (Ph.D. Dissertation). CS Dept., Stanford Univ., 1968
Ashcroft, E., Manna, Z.: Formalization of properties of parallel programs. Machine Intelligence 6, 17–41 (1970)
Ashcroft, E.: Proving assertions about parallel programs. J. Comput. System Sci. 10, 110–135 (1975)
Coffmann, E.G., Denning, P.J.: Operating systems theory. Englewood Cliffs, N.J.: Prentice-Hall 1973
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
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
Cremers, A.B., Hibburd, T.N.: Orthogonal information structures. Proc. Conf. Theor. Comp. Sci., Univ. Waterloo, pp. 182–190, 1977
De Bakker, J.W.: Termination of nondeterministic programs. Proc. 3rd Colloq. Aut., Lang., and Progr., Edinburgh, 1976
Dijkstra, E.W.: Hierarchical ordering of sequential processes. Acta Informat. 1, 115–138 (1971)
Dijkstra, E.W.: A discipline of programming Englewood Cliffs, N.J.: Prentice-Hall 1976
Floyd, R.W.: Assigning meanings to programs. Proc. Symp. Applied Math., Vol.19, Amer. Math. Soc., Provincetown, R.I., pp. 19–32 (1967)
Habermann, A.N.: Prevention of system deadlocks. Comm. ACM 12, 373–377 (1969)
Hack, M.H.: Analysis of production schemata by Petri nets. MIT Proj. MAC Rept. TR 94 (Thesis), 1972
Holt, A., Commoner, F.: Events and conditions. Rec. Proj. MAC Conf. Concur. Syst. Par. Computat., pp. 3–52, 1970
Holt, R.C.: Some deadlock properties of computer systems. Comput. Surveys 4, 179–196 (1972)
Horning, J.J., Randell, B.: Process structuring. Comput. Surveys 5, 5–30 (1973)
Kahn, G.: A preliminary theory for parallel programs. IRIA Rept., No. 6, 1973
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
Karp, R.M., Miller R.E.: Properties of a model for parallel computations: determinacy, termination, queueing. SIAM J. Appl. Math. 14, 1390–1411 (1966)
Karp, R.M., Miller, R.E.: Parallel program schemata. J. Comput. System Sci. 3, 147–195 (1969)
Keller, R.M.: Parallel program schemata and maximal parallelism. J. Assoc. Comput. Mach. 20, 514–537, 696–710 (1973)
Keller, R.M.: Vector replacement systems: A formalism for modeling asynchronous systems. TR 117, Comp. Sci. Lab., EE Dept., Princeton Univ., 1972, revised 1974
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
Keller, R.M.: Formal verification of parallel programs. Comm. ACM 19. 371–384 (1976)
Manna, Z.: The correctness of nondeterministic programs. Artificial Intelligence 1, 1–26 (1970)
Muller, D.E., Bartky, W.S.: A theory of asynchronous circuits. Proc. Int'l. Symp. Switch. Th., pp. 204–243 (1959)
Naur, P.: Proof of algorithms by general snapshots. Nordisk Tidskr. Informationsbehandling (BIT) 6, 310–316 (1966)
Patil, S.S.: Closure properties of interconnections of determinate systems. Rec. Proj. MAC Conf. Concur. Syst. Par. Computat., pp. 107–226, 1970
Plotkin, G.: A powerdomain construction. SIAM J. Comput. (to appear)
Rosen, B.K.: Correctness of parallel programs: the Church-Rosser approach. Theor. Comput. Sci. 2, 183–207 (1976)
Author information
Authors and Affiliations
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
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
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00289044