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
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Aceto, L., A Static View of Localities, draft, INRIA-Sophia Antipolis, France, 1991.
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.
Astesiano, E., Giovini, A., Reggio, G., Observational Structures and their Logics, Theoretical Computer Science 94, North Holland, 1992.
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.
Berry, D., Milner, R., and Turner, D.N., A semantics for ML concurrency primitives, in Proceedings of 1992 POPL Conference.
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.
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.
Boudol, G., Castellani, I., Hennessy, M., Kiehn, A., Observing Localities, Report No. 4/91, University of Sussex, 1991.
Davies, J., Schneider, S., An Introduction to Timed CSP, Technical Report PRG-75, Oxford University Computing Laboratory, 1989.
Degano, P., Priami, C, Observing Concurrency via Proved Trees, in Proceedings of ICALP 92, LNCS 623, Springer-Verlag, 1992.
DeNicola, R., Hennessy, M., CCS without τs, in Proceedings of 1987 TAPSOFT Conference, LNCS 250, Springer-Verlag, 1987.
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.
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.
Harper, R., MacQueen, D., Milner, R., Standard ML, Report ECS-LFCS 86-2, Laboratory for Foundations of Computer Science, Edinburgh University, 1987.
Hennessy, M., Regan, T., A Temporal Process Algebra, Technical Report 2/90, University of Sussex, 1990.
Hennessy, M., Regan, T., A Process Algebra for Timed Systems, Technical Report 5/91, University of Sussex, 1991.
Klusener, A.S., Completeness in Real Time Process Algebra, Technical Report CS-R9106, Centre for Mathematics and Computer Science, Amsterdam, 1991.
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.
Kramer, A., Cosquer, F., Distributing Facile, MAGIC Note 2, 1991.
Leth, L., Functional Programs as Reconfigurable Networks of Communicating Processes, Ph.D. Thesis, Imperial College, 1991.
Leth, L., Thomsen, B., Some Facile Chemistry, Tech. Report ECRC-92-14, European Computer-Industry Research Centre, 1992.
Milner, R., A Calculus of Communicating Systems, Lecture Notes in Computer Science, vol. 92, Springer Verlag, 1980.
Milner, R., Communication and Concurrency, Prentice Hall, 1989.
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.
Milner, R., Tofte, M., Harper, R., Definition of Standard ML, MIT Press, 1990.
Moller, F., Tofts, C, A Temporal Calculus of Communicating Processes, in Proceedings of CONCUR'90, LNCS 458, Springer Verlag, pp. 401–415, 1990.
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.
Nicollin, X., Sifakis, J., The algebra of timed processes ATP: theory and application, Technical Report RT-C26, LGI-IMAG, France, 1990.
Nicollin, X., Sifakis, J., An Overview and Synthesis on Timed Process Algebras, in Proceedings of CAV'91, LNCS 575, pp. 376–398, 1991.
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.
Prasad S., Towards A Symmetric Integration of Concurrent and Functional Programming, Ph. D. Thesis, State University of New York at Stony Brook, 1991.
Reed, G.M., Roscoe, A.W., A timed model for Communicating Sequential Processes, Theoretical Computer Science vol 58, pp. 249–261, 1988.
Schneider, S., An Operational Semantics for Timed CSP, Programming Research Group, Oxford University, 1991
Thomsen, B., A calculus of higher-order communicating systems, in Proceedings of 1989 POPL Conference.
Wang, Y., Real-time behaviour of asynchronous agents, in Proceedings of CONCUR'90, LNCS 458, Springer Verlag, pp. 502–520, 1990.
Wang, Y., CCS + Time = an Interleaving Model for Real Time Systems, in Proceedings of ICALP 91, 1991.
Author information
Authors and Affiliations
Editor information
Rights 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