The Kell Calculus: A Family of Higher-Order Distributed Process Calculi

  • Alan Schmitt
  • Jean-Bernard Stefani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3267)

Abstract

This paper presents the Kell calculus, a family of distributed process calculi, parameterized by languages for input patterns, that is intended as a basis for studying component-based distributed programming. The Kell calculus is built around a π-calculus core, and follows five design principles which are essential for a foundational model of distributed and mobile programming: hierarchical localities, local actions, higher-order communication, programmable membranes, and dynamic binding. The paper discusses these principles, and defines the syntax and operational semantics common to all calculi in the Kell calculus family. The paper provides a co-inductive characterization of contextual equivalence for Kell calculi, under sufficient conditions on pattern languages, by means of a form of higher-order bisimulation called strong context bisimulation. The paper also contains several examples that illustrate the expressive power of Kell calculi.

Keywords

Process calculi distributed programming mobile code ambients components higher-order languages higher-order bisimulation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aldrich, J., Chambers, C., Notkin, D.: Architectural Reasoning in ArchJava. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, p. 334. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  2. 2.
    Amadio, R.: An asynchronous model of locality, failure, and process mobility. Technical report, INRIA RR-3109, INRIA Sophia-Antipolis, France (1997)Google Scholar
  3. 3.
    Barbanera, F., Bugliesi, M., Dezani-Ciancaglini, M., Sassone, V.: A calculus of bounded capacities. In: Saraswat, V.A. (ed.) ASIAN 2003. LNCS, vol. 2896, pp. 205–223. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. 4.
    Boudol, G.: A Generic Membrane Model. In: Priami, C., Quaglia, P. (eds.) GC 2004. LNCS, vol. 3267, pp. 208–222. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Bruneton, E., Quéma, V., Coupaye, T., Leclercq, M., Stefani, J.B.: An Open Component Model and its Support in Java. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 7–22. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Bugliesi, M., Castagna, G., Crafa, S.: Boxed ambients. In: Kobayashi, N., Pierce, B.C. (eds.) TACS 2001. LNCS, vol. 2215, p. 38. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  7. 7.
    Bugliesi, M., Crafa, S., Merro, M., Sassone, V.: Communication Interference in Mobile Boxed Ambients. In: Agrawal, M., Seth, A.K. (eds.) FSTTCS 2002. LNCS, vol. 2556, pp. 71–84. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    Carbone, M., Maffeis, S.: On the Expressive Power of Polyadic Synchronization in π-calculus. Electronic Notes in Theorectical Computer Science 68(2) (2002)Google Scholar
  9. 9.
    Cardelli, L., Gordon, A.: Mobile Ambients. Theoretical Computer Science 240(1) (2000)Google Scholar
  10. 10.
    Castagna, G., Zappa, F.: The Seal Calculus Revisited. In: Agrawal, M., Seth, A.K. (eds.) FSTTCS 2002. LNCS, vol. 2556, pp. 85–96. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  11. 11.
    Castellani, I.: Process algebras with localities. In: Bergstra, J., Ponse, A., Smolka, S. (eds.) Handbook of Process Algebra. Elsevier, Amsterdam (2001)Google Scholar
  12. 12.
    Clarke, D., Wrigstad, T.: External Uniqueness is Unique Enough. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743. Springer, Heidelberg (2003)Google Scholar
  13. 13.
    Coppo, M., Dezani-Ciancaglini, M., Giovannetti, E., Salvo, I.: M 3: Mobility types for mobile processes in mobile ambients. In: CATS 2003. ENTCS, vol. 78 (2003)Google Scholar
  14. 14.
    Dal-Zilio, S.: Mobile Processes: A Commented Bibliography. In: Cassez, F., Jard, C., Rozoy, B., Dermot, M. (eds.) MOVEP 2000. LNCS, vol. 2067, p. 206. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  15. 15.
    Fournet, C.: The Join-Calculus. PhD thesis, Ecole Polytechnique, Palaiseau, France (1998)Google Scholar
  16. 16.
    Fournet, C., Gonthier, G., Levy, J.J., Maranget, L., Remy, D.: A calculus of mobile agents. In: CONCUR 1996. LNCS, vol. 1119. Springer, Heidelberg (1996)Google Scholar
  17. 17.
    Godskesen, J.C., Hildebrandt, T., Sassone, V.: A calculus of mobile resources. In: Brim, L., Jančar, P., Křetínský, M., Kucera, A. (eds.) CONCUR 2002. LNCS, vol. 2421, p. 272. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  18. 18.
    Hennessy, M., Rathke, J., Yoshida, N.: Safedpi: a language for controlling mobile code. Technical Report 2003:02, University of Sussex (2003); Extended abstract presented at Foundations of Software Science and Computation Structures - 7th International Conference, FOSSACS 2004 (2004)Google Scholar
  19. 19.
    Hennessy, M., Riely, J.: Resource access control in systems of mobile agents. Technical report, Technical Report 2/98 – School of Cognitive and Computer Sciences, University of Sussex, UK (1998)Google Scholar
  20. 20.
    Jeffrey, A., Rathke, J.: Contextual equivalence for higher-order π-calculus revisited. In: Proceedings, 19th Conference on the Mathematical Foundations of Programming Semantics (2003)Google Scholar
  21. 21.
    Leavens, G., Sitaraman, M. (eds.): Foundations of Component-Based Systems. Cambridge University Press, Cambridge (2000)MATHGoogle Scholar
  22. 22.
    Leth, L., Thomsen, B.: Some facile chemistry. Formal Aspects of Computing 7(3) (1995)Google Scholar
  23. 23.
    Levi, F., Sangiorgi, D.: Controlling interference in ambients. In: Proceedings 27th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2000) (2000)Google Scholar
  24. 24.
    Lynch, N.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1996)MATHGoogle Scholar
  25. 25.
    Medvidovic, N., Taylor, R.N.: A Classification and Comparison Framework for Software Architecture Description Languages. Transactions on Software Engineering 26(1) (2000)Google Scholar
  26. 26.
    Merro, M., Hennessy, M.: Bisimulation congruences in safe ambients. In: 29th ACM Symposium on Principles of Programming Languages (POPL), Portland, Oregon, January 16-18 (2002)Google Scholar
  27. 27.
    Milner, R.: Communicating and mobile systems: The π-calculus. Cambridge University Press, Cambridge (1999)MATHGoogle Scholar
  28. 28.
    De Nicola, R., Ferrari, G.L., Pugliese, R.: Klaim: a Kernel Language for Agents Interaction and Mobility. IEEE Trans. on Software Engineering 24(5) (1998)Google Scholar
  29. 29.
    De Nicola, R., Ferrari, G.L., Pugliese, R., Venneri, B.: Types for Access Control. Theoretical Computer Science 240(1) (2000)Google Scholar
  30. 30.
    Ravara, A., Matos, A., Vasconcelos, V., Lopes, L.: Lexically scoping distribution: what you see is what you get. In: FGC: Foundations of Global Computing. ENTCS, vol. 85(1). Elsevier, Amsterdam (2003)Google Scholar
  31. 31.
    Sangiorgi, D.: Bisimulation for higher-order process calculi. Information and Computation 131(2) (1996)Google Scholar
  32. 32.
    Sangiorgi, D., Walker, D.: The π-calculus: A Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)MATHGoogle Scholar
  33. 33.
    Schmitt, A., Stefani, J.B.: The M-calculus: A Higher-Order Distributed Process Calculus. In: Proceedings 30th Annual ACM Symposium on Principles of Programming Languages (POPL) (2003)Google Scholar
  34. 34.
    Sewell, P., Vitek, J.: Secure Composition of Insecure Components. Journal of Computer Security (2000); invited submission for a CSFW00 special issueGoogle Scholar
  35. 35.
    Stefani, J.B.: A calculus of kells. In: Sassone, V. (ed.) Proceedings International Workshop on Foundations of Global Computing. Electronic Notes in Theoretical Computer Science, vol. 85(1). Elsevier, Amsterdam (2003)Google Scholar
  36. 36.
    Thomsen, B.: A Theory of Higher Order Communicating Systems. Information and Computation 116(1) (1995)Google Scholar
  37. 37.
    Vasconcelos, V.T.: A note on a typing system for the higher-order π-calculus (September 1993)Google Scholar
  38. 38.
    Wojciechowski, P., Sewell, P.: Nomadic Pict: Language and Infrastructure. IEEE Concurrency 8(2) (2000)Google Scholar
  39. 39.
    Yoshida, N., Hennessy, M.: Assigning types to processes. In: 15th Annual IEEE Symposium on Logic in Computer Science (LICS) (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Alan Schmitt
    • 1
  • Jean-Bernard Stefani
    • 1
  1. 1.INRIASt IsmierFrance

Personalised recommendations