Skip to main content

Embeddings among concurrent programming languages

Preliminary version

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 630))

Abstract

We relate several well-known concurrent programming languages by demonstrating mappings among them that are homomorphic with respect to parallel composition and preserve fully-abstract semantic distinctions. The results are presented within a general framework for language comparison based on language embeddings, and complement our earlier negative results presented within this framework. Together, the positive and negative results induce a nontrivial preordering on the family of concurrent programming languages that quite often coincides with previous intuitions on the “expressive power” of these languages.

Our results reveal interesting connections between hitherto unrelated concurrent languages and models of concurrency, and provide evidence to the viability of the theory of structural simplicity as a formal framework for the study of programming language expressiveness.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. de Boer, F.S., and Palamidessi, C., Embedding as a Tools for Language Comparison: On the CSP Hierarchy, Proc. of CONCUR'91, LNCS, Springer, 1991.

    Google Scholar 

  2. Bougé, L., On the Existence of Symmetric Algorithms to Find Leaders in Networks of Communicating Sequential Processes, Acta Informatica, 25, pp. 179–201, 1988.

    Article  MATH  MathSciNet  Google Scholar 

  3. Brookes, S.D., On the Relationship of CCS and CSP, Proc. of 10th Colloq. on Automata, Languages and Programming, Lecture Notes in Computer Science 154, Springer-Verlag, pp.83–96, 1983

    Google Scholar 

  4. Carriero, N., and Gelernter, D., Linda in Context, Comm. ACM, 32(4), pp. 444–458, 1988.

    Article  Google Scholar 

  5. Chandy, K.M., and Misra, J., Parallel Program Design, Addison-Wesley, 1988.

    Google Scholar 

  6. Gaifman, H., and Shapiro, E., Fully Abstract Compositional Semantics for Logic Programs, Proc. ACM Symposium on Principles of Programming Languages, pp. 134–142, 1989.

    Google Scholar 

  7. Gaifman, H., Maher, M.J., and Shapiro, E., Replay, Recovery, Replication, and Snapshots of Nondeterministic Concurrent Programs, Proc. PODC'91, ACM,1991.

    Google Scholar 

  8. Goldman, K.J., and Lynch, N.A., Modelling Shared State in a Shared Action Model, Proc. 5 th Annual Symposium on Logic in Computer Science, pp. 450–463, IEEE, 1990.

    Google Scholar 

  9. Hennessy, M., Algebraic Theory of Processes, MIT Press, 1988.

    Google Scholar 

  10. Hewitt, C., A Universal, Modular Actor Formalism for Artificial Intelligence, Proc. International Joint Conference on Artificial Intelligence, 1973.

    Google Scholar 

  11. Hirata, M., Programming Language Doc and its Self-Description, or, X = X is Considered Harmful, Proc. 3 rd Conference of Japan Society of Software Science and Technology, pp. 69–72, 1986.

    Google Scholar 

  12. Hoare, C.A.R., Communicating Sequential Processes, Comm. ACM, 21(8), pp. 666–677, 1978.

    Article  MATH  MathSciNet  Google Scholar 

  13. Hoare, C.A.R., Communicating Sequential Processes, Prentice Hall, New Jersey, 1985.

    MATH  Google Scholar 

  14. INMOS Ltd., OCCAM Programming Manual, Prentice-Hall, New Jersey, 1984.

    Google Scholar 

  15. Jonsson, B., A Fully Abstract Trace Model for Dataflow Networks, 16th Annual ACM Symposium on Principles of Programming Languages, pp. 155–165, 1989.

    Google Scholar 

  16. Jifeng H., Josephs, M.B., and Hoare, C.A.R., A Theory for Synchrony and Asynchrony, Proc. of IFIP TC 2 Working Conf. on Programming Concenpt and Methods, Sea of Gallilee, Israel, April, 1990.

    Google Scholar 

  17. Kahn, G., The Semantics of a Simple Language for Parallel Programming, Information Processing 74, pp. 993–998, North-Holland, 1977.

    Google Scholar 

  18. Kahn, K., and Saraswat, V.A., Actors as a Special Case of Concurrent Constraint (Logic) Programming, Xerox Technical Report, 1990.

    Google Scholar 

  19. Kleinman, A., Moscowitz, Y., Pnueli, A., and Shapiro, E., Communication with Directed Logic Variables, Proc. of ACM POPL, 1991.

    Google Scholar 

  20. Lynch, N.A., and Fischer, M.J., On Describing the Behavior and Implementation of Distributed Systems, TCS, 13, pp. 17–43, 1981.

    Article  MATH  MathSciNet  Google Scholar 

  21. Lynch, N.A., and Tuttle, M.R., Hierarchical Correctness Proofs for Distributed Algorithms, Proc. ACM Symposium PODC'87, 1987.

    Google Scholar 

  22. Milner, R., A Calculus of Communicating Systems, Lecture Notes in Computer Science 92, Springer-Verlag, 1980.

    Google Scholar 

  23. Milner, R., Communication and Concurrency, Prentice-Hall, 1989.

    Google Scholar 

  24. Misra, J., Loosely-Coupled Processes, in E.H.L. Aarts, J. van Leeuwen, M. Ram (eds.), Proc. of PARLE'91: Parallel Architectures and Languages Europe, Vol. 2, LNCS 506, Springer, pp.1–26, 1989.

    Google Scholar 

  25. Mitchell, J., On Abstraction and the Expressive Power of Programming Languages, Proc. of the Int'l Conference on Theoretical Aspects of Computer Science, Sendai, Japan, LNCS 526, Springer, pp.290–310, 1991.

    Google Scholar 

  26. Russel, J.R., Full Abstraction for Nondeterministic Dataflow Networks, Proc. 30 th IEEE FOCS, pp.170–175, 1989.

    Google Scholar 

  27. Safra, S., Partial Evaluation of Concurrent Prolog and its Implications, M.Sc. Thesis, Technical Report CS86-24, Dept. of Computer Science, Weizmann Institute of Science, 1986.

    Google Scholar 

  28. Saraswat, V.A., Partial Correctness Semantics for CP[↓,-,&], Proc. 5 th Conference on Foundations of Software Technology and Theoretical Computer Science, New-Delhi, LNCS 205, Springer, pp.347–368, 1985.

    Google Scholar 

  29. Saraswat, V.A., A Somewhat Logical Formulation of CLP Synchronization Primitives, in Bowen, K., and Kowalski, R.A. (eds.), Proc. 5 th International Conference Symposium on Logic Programming, pp. 1298–1314, MIT Press, 1988.

    Google Scholar 

  30. Saraswat, V.A., Kahn, K., and Levy, J., Janus: A Step Towards Distributed Constraint Programming, Proc. 1990 North American Conference on Logic Programming, S. Debray and M. Hermenegildo (Eds.), MIT Press, 1990.

    Google Scholar 

  31. Shapiro, E. (Editot), Concurrent Prolog: Collected Papers, Vols. 1 & 2, MIT Press, 1987.

    Google Scholar 

  32. Shapiro, E., The Family of Concurrent Logic Programming Languages, ACM Computing Surveys 21(3), pp. 412–510, 1989.

    Article  Google Scholar 

  33. Shapiro, E., Embedding Linda and other joys of concurrent logic programming, Technical Report CS89-07, Department of Computer Science, The Weizmann Institute of Science, Rehovot, 1989.

    Google Scholar 

  34. Shapiro, E., Separating Concurrent Languages with Categories of Language Embeddings, Proc. STOC'91, ACM, pp.198–208, 1991.

    Google Scholar 

  35. De Simone, R., Higher-Level Synchronizing Devices in MEIJE-SCCS, Theoretical Computer Science, Vol. 37, pp.245–267, 1985.

    Article  MATH  MathSciNet  Google Scholar 

  36. Ueda, K., Guarded Horn Clauses, Ph.D. Thesis, Information Engineering Course, University of Tokyo, Tokyo, 1986.

    Google Scholar 

  37. Vaandrager, F.W., On the Relationship Between Process Algebra and Input/Output Automata, Proc. LICS'91, IEEE, pp.387–398, 1991.

    Google Scholar 

  38. Yardeni, E., Kliger, S., and Shapiro, E., The Languages FCP(:) and FCP(:,?), J. New Generation Computing, 7, pp. 89–107, 1990.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

W.R. Cleaveland

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shapiro, E. (1992). Embeddings among concurrent programming languages. In: Cleaveland, W. (eds) CONCUR '92. CONCUR 1992. Lecture Notes in Computer Science, vol 630. Springer, Berlin, Heidelberg . https://doi.org/10.1007/BFb0084811

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55822-4

  • Online ISBN: 978-3-540-47293-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics