TY - CHAP SN - 3-540-20583-7 ED - Priami, Corrado N2 - 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. ID - eprints317 EP - 150 PB - Springer T2 - Global Computing. Programming Environments, Languages, Security, and Analysis of Systems AV - none SP - 88 TI - The Klaim Project: Theory and Practice T3 - Lecture Notes in Computer Science UR - http://dx.doi.org/10.1007/978-3-540-40042-4_4 A1 - Bettini, Lorenzo A1 - Bono, Viviana A1 - De Nicola, Rocco A1 - Ferrari, GianLuigi A1 - Gorla, Daniele A1 - Loreti, Michele A1 - Moggi, Eugenio A1 - Pugliese, Rosario A1 - Tuosto, Emilio A1 - Venneri, Betti M1 - 2874 Y1 - 2003/// KW - Process Calculi - Mobile Code - Distributed Applications - Network Awareness - Tuple Spaces - Type Systems - Temporal Logics - Java ER -