Abstract
This paper introduces occam- π, an efficient and safe binding of key elements from Hoare’s CSP and Milner’s π-calculus into a programming language of industrial strength. A brief overview of classical occam is presented, before focussing on the extensions providing data, channel and process mobility. Some implementation details are given, along with current benchmark results. Application techniques exploiting mobile processes for the direct modelling of large-scale natural systems are outlined, including the modelling of locality (so that free-ranging processes can locate each other). Run-time overheads are sufficiently low so that systems comprising millions of dynamically assembling and communicating processes are practical on modest processor resources. The ideas and technology will scale further to address larger systems of arbitrary complexity, distributed over multiple processors with no semantic discontinuity. Semantic design, comprehension and analysis are made possible through a natural structuring of systems into multiple levels of network and the compositionality of the underlying algebra.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
May, D.: OCCAM. ACM SIGPLAN Notices 18, 69–79 (1983)
Inmos Limited: occam2 Reference Manual. Prentice Hall, Englewood Cliffs (1988) ISBN: 0-13-629312-3
Welch, P., Moores, J., Barnes, F., Wood, D.: The KRoC Home Page (2000), Available at, http://www.cs.kent.ac.uk/projects/ofa/kroc/ .
Barnes, F., Welch, P.: Prioritised dynamic communicating and mobile processes. IEE Proceedings – Software 150, 121–136 (2003)
Barnes, F., Welch, P.: Mobile Data Types for Communicating Processes. In: Proceedings of the, International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA 2001), vol. 1, pp. 20–26. CSREA press (2001) ISBN: 1-892512-66-1
Schweigler, M., Barnes, F., Welch, P.: Flexible, Transparent and Dynamic occam Networking with KRoC.net. In: Broenink, J., Hilderink, G. (eds.) Communicating Process Architectures 2003, sep 2003. WoTUG-26, Concurrent Systems Engineering, pp. 199–224. IOS Press, Amsterdam (2003) ISSN 1383-7575
Barnes, F., Welch, P.: Communicating Mobile Processes. In: East, I., Martin, J., Welch, P., Duce, D., Green, M. (eds.) Communicating Process Architectures 2004. WoTUG-27, Concurrent Systems Engineering, vol. 62, pp. 201–218. IOS Press, Amsterdam (2004) ISBN: 1-58603-458-8, ISSN 1383-7575
Milner, R., Parrow, J., Walker, D.: A Calculus of Mobile Processes – parts I and II. Journal of Information and Computation 100, 1–77 (1992); Available as technical report: ECS-LFCS-89-85/86, University of Edinburgh, UK
Muller, H., Walrath, K.: Threads and Swing (2000) Available from, http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html .
Barrett, G.: occam 3 Reference Manual. Technical report, Inmos Limited (1992), Available at, http://wotug.ukc.ac.uk/parallel/occam/documentation/ .
Moores, J.: The Design and Implementation of occam/CSP Support for a Range of Languages and Platforms. PhD thesis, The University of Kent at Canterbury, Canterbury, Kent. CT2 7NF (2000)
Boosten, M.: Formal Contracts: Enabling Component Composition. In: Broenink, J., Hilderink, G. (eds.) Communicating Process Architectures 2003. WoTUG-26, Concurrent Systems Engineering, pp. 185–197. IOS Press, Amsterdam (2003) ISSN 1383-7575, ISBN: 1-58603-381-6
Welch, P.: Graceful Termination – Graceful Resetting. In: Applying Transputer-Based Parallel Machines, Proceedings of OUG 10, Enschede, Netherlands, Occam User Group, April 1989, pp. 310–317. IOS Press, Netherlands (1989)
Brinch Hansen, P.: Efficient Parallel Recursion. ACM SIGPLAN Notices 30, 9–16 (1995); Hansen, P.B. (ed.): Reprinted in: The Origin of Concurrent Programming, pp. 525–534. Springer, Heidelberg (2002) ISBN 0-387-95401-5
Schweigler, M.: Adding Mobility to Networked Channel-Types. In: East, I., Martin, J., Welch, P., Duce, D., Green, M. (eds.) Communicating Process Architectures 2004. WoTUG-27, Concurrent Systems Engineering, vol. 62, pp. 107–126. IOS Press, Amsterdam (2004) ISSN 1383-7575, ISBN: 1-58603-458-8
Barnes, F.R.: Dynamics and Pragmatics for High Performance Concurrency. PhD thesis, University of Kent (2003)
Welch, P.H., Wood, D.C.: Higher Levels of Process Synchronisation. In: Bakkers, A. (ed.) Parallel Programming and Java, Proceedings of WoTUG 20, The Netherlands, World occam and Transputer User Group (WoTUG), apr 1997. Concurrent Systems Engineering, vol. 50, pp. 104–129. IOS Press, Amsterdam (1997) ISBN: 90-5199-336-6.
Chao., L., et al.: Hyper-Threading Technology. Intel Technology Journal 6 (2002) ISSN: 1535-766X
UKCRC: Grand Challenges for Computing Research (2004), http://www.nesc.ac.uk/esi/events/Grand_Challenges/
Sleep, R.: Vivo \(\Leftrightarrow\) In Silico: High fidelity reactive modelling of development and behaviour in plants and animals (2003), Available from, http://www.nesc.ac.uk/esi/events/Grand_Challenges/proposals/ViSoGCWebv%2.pdf .
Welch, P.: Infrastructure for Multi-Level Simulation of Organisms (2004), Available from, http://www.nesc.ac.uk/esi/events/Grand_Challenges/gcconf04/submissions%/42.pdf .
White, J.: Mobile agents white paper. General Magic (1996), http://citeseer.ist.psu.edu/white96mobile.html
Jansen, W., Karygiannis, T.: NIST special publication 800-19 – mobile agent security. Technical report, National Institute of Standards and Technology, Computer Security Division, Gaithersburg, MD 20899. U.S (2000), http://citeseer.ist.psu.edu/jansen00nist.html
Jansen, W.A.: Countermeasures for Mobile Agent Security. Computer Communications, Special Issue on Advances in Research and Application of Network Security (2000)
Chess, D., Harrison, C., Kershenbaum, A.: Mobile agents: Are they a good idea? In: Tschudin, C.F., Vitek, J. (eds.) MOS 1996. LNCS, vol. 1222, pp. 25–45. Springer, Heidelberg (1997)
Formal Systems (Europe) Ltd. 3, Alfred Street, Oxford. OX1 4EH, UK.: FDR2 User Manual (2000)
Hoare, T., Jifeng, H.: Unified Theories of Programming. Prentice-Hall, Englewood Cliffs (1998) ISBN: 0-134-58761-8.
Tang, X., Woodcock, J.: Travelling processes. In: Kozen, D. (ed.) MPC 2004. LNCS, vol. 3125, pp. 381–399. Springer, Heidelberg (2004)
Barnes, F., Jacobsen, C., Vinter, B.: RMoX: a Raw Metal occam Experiment. In: Broenink, J., Hilderink, G. (eds.) Communicating Process Architectures 2003. WoTUG-26, Concurrent Systems Engineering, pp. 269–288. IOS Press, Amsterdam (2003) ISSN 1383-7575, ISBN: 1-58603-381-6
Welch, P.: UKC-CRG-01-04-2004: Suspending Networks of Parallel Processes. Technical report, Computing Laboratory, University of Kent at Canterbury, UK (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Welch, P.H., Barnes, F.R.M. (2005). Communicating Mobile Processes. In: Abdallah, A.E., Jones, C.B., Sanders, J.W. (eds) Communicating Sequential Processes. The First 25 Years. Lecture Notes in Computer Science, vol 3525. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11423348_10
Download citation
DOI: https://doi.org/10.1007/11423348_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25813-1
Online ISBN: 978-3-540-32265-8
eBook Packages: Computer ScienceComputer Science (R0)