The KLAIM Project: Theory and Practice

L. Bettini, V. Bono, R. De Nicola, G. Ferrari, D. Gorla, M. Loreti, E. Moggi, R. Pugliese, E. Tuosto and B. Venneri

Paper appeared in Global Computing: Programming Environments, Languages, Security and Analysis of Systems, LNCS 2874, pagg. 88-150. Springer-Verlag, 2003.


KLAIM (Kernel Language for Agents Interaction and Mobility) is an experimental language specifically designed to program distributed systems consisting of several mobile components that interact through multiple distributed tuple spaces. KLAIM primitives allow programmers to distribute and retrieve data and processes to and from the nodes of a net. Moreover, localities are first-class citizens that can be dynamically created and communicated over the network. Components, both stationary and mobile, can explicitly refer and control the spatial structures of the network.
This paper reports the experiences in the design and development of KLAIM. Its main purpose is to outline the theoretical foundations of the main features of KLAIM and its programming model. We also present a modal logic that permits reasoning about behavioural properties of systems and various type systems that help in controlling agents movements and actions. Extensions of the language in the direction of object oriented programming are also discussed together with the description of the implementation efforts which have lead to the current prototypes

  author    =  {L.~Bettini and V.~Bono and R.~De Nicola and G.~Ferrari and D.~Gorla and M.~Loreti and E.~Moggi and R.~Pugliese and E.~Tuosto and B.~Venneri},
  title     =  {The KLAIM Project: Theory and Practice},
  booktitle =  {Global Computing: Programming Environments, Languages, Security and Analysis of Systems},
  series    =  {LNCS},
  number    =  {2874},
  editor    =  {C.~Priami},
  pages     =  {88-150},
  year      =  {2003},
  publisher =  {Springer},

Home page / Publications