Advertisement

Some issues in the semantics of facile distributed programming

  • Bent Thomsen
  • Lone Leth
  • Alessandro Giacalone
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 666)

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.

Keywords

Theory of Concurrency Programming Languages Functional Programming Programming Language Semantics Distributed Computing Failure Time 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Aceto, L., A Static View of Localities, draft, INRIA-Sophia Antipolis, France, 1991.Google Scholar
  2. [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. [3]
    Astesiano, E., Giovini, A., Reggio, G., Observational Structures and their Logics, Theoretical Computer Science 94, North Holland, 1992.Google Scholar
  4. [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. [5]
    Berry, D., Milner, R., and Turner, D.N., A semantics for ML concurrency primitives, in Proceedings of 1992 POPL Conference.Google Scholar
  6. [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. [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. [8]
    Boudol, G., Castellani, I., Hennessy, M., Kiehn, A., Observing Localities, Report No. 4/91, University of Sussex, 1991.Google Scholar
  9. [9]
    Davies, J., Schneider, S., An Introduction to Timed CSP, Technical Report PRG-75, Oxford University Computing Laboratory, 1989.Google Scholar
  10. [10]
    Degano, P., Priami, C, Observing Concurrency via Proved Trees, in Proceedings of ICALP 92, LNCS 623, Springer-Verlag, 1992.Google Scholar
  11. [11]
    DeNicola, R., Hennessy, M., CCS without τs, in Proceedings of 1987 TAPSOFT Conference, LNCS 250, Springer-Verlag, 1987.Google Scholar
  12. [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. [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. [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. [15]
    Hennessy, M., Regan, T., A Temporal Process Algebra, Technical Report 2/90, University of Sussex, 1990.Google Scholar
  16. [16]
    Hennessy, M., Regan, T., A Process Algebra for Timed Systems, Technical Report 5/91, University of Sussex, 1991.Google Scholar
  17. [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. [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. [19]
    Kramer, A., Cosquer, F., Distributing Facile, MAGIC Note 2, 1991.Google Scholar
  20. [20]
    Leth, L., Functional Programs as Reconfigurable Networks of Communicating Processes, Ph.D. Thesis, Imperial College, 1991.Google Scholar
  21. [21]
    Leth, L., Thomsen, B., Some Facile Chemistry, Tech. Report ECRC-92-14, European Computer-Industry Research Centre, 1992.Google Scholar
  22. [22]
    Milner, R., A Calculus of Communicating Systems, Lecture Notes in Computer Science, vol. 92, Springer Verlag, 1980.Google Scholar
  23. [23]
    Milner, R., Communication and Concurrency, Prentice Hall, 1989.Google Scholar
  24. [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. [25]
    Milner, R., Tofte, M., Harper, R., Definition of Standard ML, MIT Press, 1990.Google Scholar
  26. [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. [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. [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. [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. [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. [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. [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. [33]
    Schneider, S., An Operational Semantics for Timed CSP, Programming Research Group, Oxford University, 1991Google Scholar
  34. [34]
    Thomsen, B., A calculus of higher-order communicating systems, in Proceedings of 1989 POPL Conference.Google Scholar
  35. [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. [36]
    Wang, Y., CCS + Time = an Interleaving Model for Real Time Systems, in Proceedings of ICALP 91, 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Bent Thomsen
    • 1
  • Lone Leth
    • 1
  • Alessandro Giacalone
    • 1
  1. 1.European Computer-Industry Research CentreMunich 81F.R.G.

Personalised recommendations