Skip to main content
Log in

Non-deterministic data types: models and implementations

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

The model theoretic basis for (abstract) data types is generalized from algebras to multi-algebr as in order to cope with non-deterministic operations. A programming oriented definition and a model theoretic criterion (called simulation) for implementation of data types are given. To justify the criterion w.r.t. the definition, an abstract framework linking denotational semantics of programming languages and model theory of data types is set up. A set of constraints on a programming language semantics are derived which guarantee that simulation implies implementation. It is argued that any language supporting data abstraction does fulfill these constraints. As an example a simple but expressive language L is defined and it is formally proved that L does conform to these restrictions.

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

Access this article

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. Brooks, S.D., Rounds, W.C.: Behavioral Equivalence Relations Induced by Programming Logics. In: ICALP '83. Lect. Notes Comput. Sci. 154, 97–108 (1983)

    Google Scholar 

  2. Broy, M.: A Fixed Point Approach to Applicative Multiprogramming. In: ([4], 565–622)

  3. Broy, M.: Fixed Point Theory for Communication and Concurrency. In: Formal Descriptions of Programming Concepts (D. Bjørner, ed.), pp. 125–147. Amsterdam: North-Holland 1983

    Google Scholar 

  4. Broy, M., Schmidt, G. (eds.): Theoretical Foundations of Programming Methodology. Dordrecht: Reidel 1982

    Google Scholar 

  5. Broy, M., Wirsing, M.: On the Algebraic Specification of Non-deterministic Programming Languages. In: Proc. CAAP '81. Lect. Notes Comput. Sci. 112, 162–179 (1981)

    Google Scholar 

  6. Broy, M., Wirsing, M.: Partial Abstract Types. Acta Inf. 18(1982)

  7. Burmeister, P.: Partial algebras — survey of a unifying approach towards a two-valued model theory for partial algebras. Algebra Univers. 15 (1982)

  8. Burstall, R.M., Goguen, J.A.: Algebras, Theories and Freeness: an Introduction for Computer Scientists. In: ([4], 329–348)

  9. Castellani, I.: Bisimulations and Abstraction Homomorphisms. In: Proc. CAAP '85. Lect. Notes Comput. Sci. 185, 223–238 (1985)

    Google Scholar 

  10. Chandra, A.K.: Computable Nondeterministic Functions. In: Proc. 19th Annual Symposium on Foundations of Computer Science, 1978

  11. de Nicola, R., Hennessy, M.C.B.: Testing Equivalences for Processes. In: Proc. ICALP '83. Lect. Notes Comput. Sci. 154, 548–560 (1983)

    Google Scholar 

  12. Dijkstra, E.W.: A Discipline of Programming. Englewood Cliffs, New Jersey: Prentice-Hall 1976

    Google Scholar 

  13. Ehrig, H.: Combining Initial and Loose Algebraic Specification Methods Including Compositionality and Modules. In: Proc. Workshop on Formal Software Development: Combining Specification Methods, Nyborg 1984 (To appear)

  14. Ehrig, H., Kreowski, H.-J.: Parameter Passing Commutes with Implementation of Parameterized Data Types. In: Proc. ICALP '82. Lect. Notes Comput. Sci. 140, 197–211 (1982)

    Google Scholar 

  15. Goguen, J.A., Messeguer, J.: Universal Realization, Persistent Interconnection and Implementation of Abstract Modules. In: Proc. ICALP '82. Lect. Notes Comput. Sci. 140, 265–281 (1982)

    Google Scholar 

  16. Goguen, J.A., Thatcher, J.W., Wagner, E.G.: An initial algebra approach to the specification, correctness, and implementation of abstract data types. In: Current Trends in Programming Methodology, Vol. 4. (R.T. Yeh, ed.). Englewood Cliffs: Prentice-Hall 1978

    Google Scholar 

  17. Hansoul, G.: Systemes Relationnels Et Algebres Multiformes. PhD Thesis, Universite de Liege, 1979/80

  18. Hennessy, M., Milner, R.: Algebraic Laws for Nondeterminism and Concurrency, J. Assoc. Comput. Mach. 32, 137–161 (1985)

    Google Scholar 

  19. Hoare, C.A.R.: Proof of Correctness of Data Representations, Acta Inf. 1 (1972)

  20. Hoare, C.A.R., Hayes, I.J., Jifeng He, Morgan, C.C., Sanders, J.W., Sorensen, I.H., Spivey, J.M., Sufrin, B.A.: Data Refinement Refined. PRG Oxford, Draft May 1985

    Google Scholar 

  21. Jones, C.B.: Software Development: A Rigorous Approach. Englewood Cliffs: Prentice-Hall 1980

    Google Scholar 

  22. Jones, C.B.: Development Methods for Computer Programs Including a Notion of Interference. Oxford University, PRG Monograph 25, 1981

  23. Milner, R.: An Algebraic Definition of Simulation Between Programs. Report CS-205, Computer Science Department, Stanford University 1971

  24. Milner, R.: A Calculus of Communicating Systems. Lect. Notes Comput. Sci 92 (1980)

  25. Nipkow, T.: Nondeterministic Data Types: Models and Implementations. Draft Version, Dept. of Computer Science, The University of Manchester, March 1985

  26. Park, D.M.R.: On the Semantics of Fair Parallelism. In: Abstract Software Specification (D. Bjørner, ed.). Lect. Notes Comput. Sci. 86, 504–526 (1980)

  27. Park, D.M.R.: Concurrency and Automata on Infinite Sequences. In: Lect. Notes Comput. Sci. 104, 167–183 (1981)

    Google Scholar 

  28. Reichel, H.: Initial Restrictions of Behaviour. In: Proc. IFIP Working Conference. The Role of Abstract Models in Information Processing, Vienna, January 1985 (To appear)

  29. Sannella, D.T., Tarlecki, A.: On Observational Equivalence and Algebraic Specification. In: Proc. CAAP '85. Lect. Notes Comput. Sci. 185, 308–322 (1985)

    Google Scholar 

  30. Sannella, D.T., Wirsing, M.: A Kernel Language for Algebraic Specification and Implementation. In: Proc. FCT '83. Lect. Notes Comput. Sci. 158, 413–427 (1983)

    Google Scholar 

  31. Schoett, O.: Ein Modulkonzept in der Theorie Abstrakter Datentypen. Report IfI-HH-B-81/81, Universität Hamburg, Fachbereich Informatik, 1981

  32. Schoett, O.: A Theory of Program Modules, their Specification and Implementation. Report CSR-155-83, Dept. of Computer Science, University of Edinburgh 1983

  33. Schoett, O.: Behavioural Correctness of Data Representations. Report CSR-185-85, Dept. of Computer Science, University of Edinburgh 1985

  34. Shoenfield, R.J.: Mathematical Logic, Reading, MA: Addison-Wesley 1967

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Nipkow, T. Non-deterministic data types: models and implementations. Acta Informatica 22, 629–661 (1986). https://doi.org/10.1007/BF00263649

Download citation

  • Received:

  • Issue Date:

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

Keywords

Navigation