Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3525))

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. May, D.: OCCAM. ACM SIGPLAN Notices 18, 69–79 (1983)

    Article  Google Scholar 

  2. Inmos Limited: occam2 Reference Manual. Prentice Hall, Englewood Cliffs (1988) ISBN: 0-13-629312-3

    Google Scholar 

  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/ .

  4. Barnes, F., Welch, P.: Prioritised dynamic communicating and mobile processes. IEE Proceedings – Software 150, 121–136 (2003)

    Article  Google Scholar 

  5. 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

    Google Scholar 

  6. 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

    Google Scholar 

  7. 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

    Google Scholar 

  8. 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

    Article  MATH  MathSciNet  Google Scholar 

  9. Muller, H., Walrath, K.: Threads and Swing (2000) Available from, http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html .

  10. Barrett, G.: occam 3 Reference Manual. Technical report, Inmos Limited (1992), Available at, http://wotug.ukc.ac.uk/parallel/occam/documentation/ .

  11. 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)

    Google Scholar 

  12. 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

    Google Scholar 

  13. 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)

    Google Scholar 

  14. 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

    Google Scholar 

  15. 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

    Google Scholar 

  16. Barnes, F.R.: Dynamics and Pragmatics for High Performance Concurrency. PhD thesis, University of Kent (2003)

    Google Scholar 

  17. 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.

    Google Scholar 

  18. Chao., L., et al.: Hyper-Threading Technology. Intel Technology Journal 6 (2002) ISSN: 1535-766X

    Google Scholar 

  19. UKCRC: Grand Challenges for Computing Research (2004), http://www.nesc.ac.uk/esi/events/Grand_Challenges/

  20. 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 .

  21. 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 .

  22. White, J.: Mobile agents white paper. General Magic (1996), http://citeseer.ist.psu.edu/white96mobile.html

  23. 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

  24. Jansen, W.A.: Countermeasures for Mobile Agent Security. Computer Communications, Special Issue on Advances in Research and Application of Network Security (2000)

    Google Scholar 

  25. 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)

    Google Scholar 

  26. Formal Systems (Europe) Ltd. 3, Alfred Street, Oxford. OX1 4EH, UK.: FDR2 User Manual (2000)

    Google Scholar 

  27. Hoare, T., Jifeng, H.: Unified Theories of Programming. Prentice-Hall, Englewood Cliffs (1998) ISBN: 0-134-58761-8.

    Google Scholar 

  28. Tang, X., Woodcock, J.: Travelling processes. In: Kozen, D. (ed.) MPC 2004. LNCS, vol. 3125, pp. 381–399. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  29. 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

    Google Scholar 

  30. Welch, P.: UKC-CRG-01-04-2004: Suspending Networks of Parallel Processes. Technical report, Computing Laboratory, University of Kent at Canterbury, UK (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics