eprintid: 317 rev_number: 18 eprint_status: archive userid: 32 dir: disk0/00/00/03/17 datestamp: 2011-06-06 15:06:07 lastmod: 2014-01-15 10:29:16 status_changed: 2011-06-06 15:06:07 type: book_section metadata_visibility: show item_issues_count: 0 creators_name: Bettini, Lorenzo creators_name: Bono, Viviana creators_name: De Nicola, Rocco creators_name: Ferrari, GianLuigi creators_name: Gorla, Daniele creators_name: Loreti, Michele creators_name: Moggi, Eugenio creators_name: Pugliese, Rosario creators_name: Tuosto, Emilio creators_name: Venneri, Betti creators_id: creators_id: creators_id: r.denicola@imtlucca.it creators_id: creators_id: creators_id: creators_id: creators_id: creators_id: creators_id: title: The Klaim Project: Theory and Practice ispublished: pub subjects: QA75 divisions: CSA full_text_status: none keywords: Process Calculi - Mobile Code - Distributed Applications - Network Awareness - Tuple Spaces - Type Systems - Temporal Logics - Java abstract: 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. date: 2003 date_type: published series: Lecture Notes in Computer Science volume: 2874 publisher: Springer pagerange: 88-150 id_number: 10.1007/978-3-540-40042-4_4 refereed: TRUE isbn: 3-540-20583-7 book_title: Global Computing. Programming Environments, Languages, Security, and Analysis of Systems editors_name: Priami, Corrado official_url: http://dx.doi.org/10.1007/978-3-540-40042-4_4 related_url_url: http://rap.dsi.unifi.it/bibliography/files/klaimproject.ps.gz related_url_type: author funders: This work has been partially supported by EU FET – Global Computing initiative, project AGILE IST-2001-32747, project DART IST-2001-33477, project MIKADO IST-2001-32222, project PROFUNDIS IST-2001-33100, and by MIUR project NAPOLI. citation: Bettini, Lorenzo and Bono, Viviana and De Nicola, Rocco and Ferrari, GianLuigi and Gorla, Daniele and Loreti, Michele and Moggi, Eugenio and Pugliese, Rosario and Tuosto, Emilio and Venneri, Betti The Klaim Project: Theory and Practice. In: Global Computing. Programming Environments, Languages, Security, and Analysis of Systems. Lecture Notes in Computer Science, 2874 . Springer, pp. 88-150. ISBN 3-540-20583-7 (2003)