Skip to main content

Some issues in the semantics of facile distributed programming

  • Conference paper
  • First Online:
Semantics: Foundations and Applications (REX 1992)

Abstract

Facile is an experimental programming language intended to support applications that require a combination of distribution and complex computation. The language originates from an integration of the typed call-by-value λ-calculus with a model of concurrency derived from Milner's CCS. At a theoretical level, an operational semantics has been developed in terms of labelled transition systems, and a notion of observability of programs has been defined by extending the notion of bisimulation. An experimental implementation currently supports distributed programming over networks of workstations. The implementation, obtained by extending the ML language, supports polymorphic types as well as mobility of functions, processes and communication channels across a distributed computing environment. A number of language constructs have been added or modified to handle certain issues that arise with real distribution. These include the need to control the locality of computation in a physically distributed environment, the potentially expensive implementation of certain operators and the need for a system to tolerate partial failures. In this paper we discuss a possible approach for the operational semantics of these constructs that follows the Facile philosophy and some recent results in concurrency theory.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aceto, L., A Static View of Localities, draft, INRIA-Sophia Antipolis, France, 1991.

    Google Scholar 

  2. Andrew W. Appel and David B. MacQueen Standard ML of New Jersey, in Proceedings of the Third International Symposium on Programming Language Implementation and Logic Programming (PLILP), Lecture Notes in Computer Science 528, pp. 1–13, Springer Verlag, 1991.

    Google Scholar 

  3. Astesiano, E., Giovini, A., Reggio, G., Observational Structures and their Logics, Theoretical Computer Science 94, North Holland, 1992.

    Google Scholar 

  4. Baeten, J.C.M., Bergstra, J.A., Real Time Process Algebra, Technical Report CS-R9053, Centre for Mathematics and Computer Science, Amsterdam, The Netherlands, 1990.

    Google Scholar 

  5. Berry, D., Milner, R., and Turner, D.N., A semantics for ML concurrency primitives, in Proceedings of 1992 POPL Conference.

    Google Scholar 

  6. Berry, G., Cosserat, L., The ESTEREL synchronous programming language and its mathematical semantics, in Proceedings of CMU Seminar on Concurrency, LNCS 197, Springer-Verlag, 1985.

    Google Scholar 

  7. Bolognesi, T., Lucidi, F., LOTOS-like process algebra with urgent or timed interactions, in Proceedings of REX Workshop “Real-Time: Theory in Practice”, The Netherlands, 1991.

    Google Scholar 

  8. Boudol, G., Castellani, I., Hennessy, M., Kiehn, A., Observing Localities, Report No. 4/91, University of Sussex, 1991.

    Google Scholar 

  9. Davies, J., Schneider, S., An Introduction to Timed CSP, Technical Report PRG-75, Oxford University Computing Laboratory, 1989.

    Google Scholar 

  10. Degano, P., Priami, C, Observing Concurrency via Proved Trees, in Proceedings of ICALP 92, LNCS 623, Springer-Verlag, 1992.

    Google Scholar 

  11. DeNicola, R., Hennessy, M., CCS without τs, in Proceedings of 1987 TAPSOFT Conference, LNCS 250, Springer-Verlag, 1987.

    Google Scholar 

  12. Giacalone, A., Mishra, P., Prasad, S., Facile: A Symmetric Integration of Concurrent and Functional Programming, International Journal of Parallel Programming, Vol. 18, No. 2, 1990.

    Google Scholar 

  13. Giacalone, A., Mishra, P., Prasad, S., Operational and Algebraic Semantics for Facile: A Symmetric Integration of Concurrent and Functional Programming, in Proceedings of ICALP 90, LNCS 443, pp. 765–780, Springer-Verlag, 1990.

    Google Scholar 

  14. Harper, R., MacQueen, D., Milner, R., Standard ML, Report ECS-LFCS 86-2, Laboratory for Foundations of Computer Science, Edinburgh University, 1987.

    Google Scholar 

  15. Hennessy, M., Regan, T., A Temporal Process Algebra, Technical Report 2/90, University of Sussex, 1990.

    Google Scholar 

  16. Hennessy, M., Regan, T., A Process Algebra for Timed Systems, Technical Report 5/91, University of Sussex, 1991.

    Google Scholar 

  17. Klusener, A.S., Completeness in Real Time Process Algebra, Technical Report CS-R9106, Centre for Mathematics and Computer Science, Amsterdam, 1991.

    Google Scholar 

  18. Knabe, F., A Distributed Protocol for Channel-Based Communication with Choice, in Proceedings of PARLE '92 (Parallel Architectures and Languages Europe), Poster in LNCS 605, Springer-Verlag, 1992. Full version in tech. Report ECRC-92-16, European Computer-Industry Research Centre, 1992.

    Google Scholar 

  19. Kramer, A., Cosquer, F., Distributing Facile, MAGIC Note 2, 1991.

    Google Scholar 

  20. Leth, L., Functional Programs as Reconfigurable Networks of Communicating Processes, Ph.D. Thesis, Imperial College, 1991.

    Google Scholar 

  21. Leth, L., Thomsen, B., Some Facile Chemistry, Tech. Report ECRC-92-14, European Computer-Industry Research Centre, 1992.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  24. Milner, R., Parrow, J. and Walker, D., A calculus of mobile processes, Tech. Reports ECSLFCS-89-85 and-86, Laboratory for Foundations of Computer Science, Edinburgh University, 1989.

    Google Scholar 

  25. Milner, R., Tofte, M., Harper, R., Definition of Standard ML, MIT Press, 1990.

    Google Scholar 

  26. Moller, F., Tofts, C, A Temporal Calculus of Communicating Processes, in Proceedings of CONCUR'90, LNCS 458, Springer Verlag, pp. 401–415, 1990.

    Google Scholar 

  27. Nicollin, X., Richier, J.-L., Sifakis, J., Voiron, J., ATP: an Algebra for Timed Processes, in Proceedings of the IFIP TC 2 Working Conference on Programming Concepts and Methods, Israel, 1990.

    Google Scholar 

  28. Nicollin, X., Sifakis, J., The algebra of timed processes ATP: theory and application, Technical Report RT-C26, LGI-IMAG, France, 1990.

    Google Scholar 

  29. Nicollin, X., Sifakis, J., An Overview and Synthesis on Timed Process Algebras, in Proceedings of CAV'91, LNCS 575, pp. 376–398, 1991.

    Google Scholar 

  30. Nicollin, X., Sifakis, J., Yovine, S., From ATP to Timed Graphs and Hybrid Systems, in Proceedings of REX Workshop “Real-Time: Theory in Practice”, The Netherlands, 1991.

    Google Scholar 

  31. Prasad S., Towards A Symmetric Integration of Concurrent and Functional Programming, Ph. D. Thesis, State University of New York at Stony Brook, 1991.

    Google Scholar 

  32. Reed, G.M., Roscoe, A.W., A timed model for Communicating Sequential Processes, Theoretical Computer Science vol 58, pp. 249–261, 1988.

    Google Scholar 

  33. Schneider, S., An Operational Semantics for Timed CSP, Programming Research Group, Oxford University, 1991

    Google Scholar 

  34. Thomsen, B., A calculus of higher-order communicating systems, in Proceedings of 1989 POPL Conference.

    Google Scholar 

  35. Wang, Y., Real-time behaviour of asynchronous agents, in Proceedings of CONCUR'90, LNCS 458, Springer Verlag, pp. 502–520, 1990.

    Google Scholar 

  36. Wang, Y., CCS + Time = an Interleaving Model for Real Time Systems, in Proceedings of ICALP 91, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker W. -P. de Roever G. Rozenberg

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Thomsen, B., Leth, L., Giacalone, A. (1993). Some issues in the semantics of facile distributed programming. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Semantics: Foundations and Applications. REX 1992. Lecture Notes in Computer Science, vol 666. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56596-5_47

Download citation

  • DOI: https://doi.org/10.1007/3-540-56596-5_47

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-56596-3

  • Online ISBN: 978-3-540-47595-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics