KLAIM: a kernel language for agents interaction and mobility
- 1 May 1998
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 24 (5) , 315-330
- https://doi.org/10.1109/32.685256
Abstract
We investigate the issue of designing a kernel programming language for mobile computing and describe KLAIM, a language that supports a programming paradigm where processes, like data, can be moved from one computing environment to another. The language consists of a core Linda with multiple tuple spaces and of a set of operators for building processes. KLAIM naturally supports programming with explicit localities. Localities are first-class data (they can be manipulated like any other data), but the language provides coordination mechanisms to control the interaction protocols among located processes. The formal operational semantics is useful for discussing the design of the language and provides guidelines for implementations. KLAIM is equipped with a type system that statically checks access right violations of mobile agents. Types are used to describe the intentions (read, write, execute, etc.) of processes in relation to the various localities. The type system is used to determine the operations that processes want to perform at each locality, and to check whether they comply with the declared intentions and whether they have the necessary rights to perform the intended operations at the specific localities. Via a series of examples, we show that many mobile code programming paradigms can be naturally implemented in our kernel language. We also present a prototype implementation of KLAIM in Java.Keywords
This publication has 15 references indexed in Scilit:
- Locality based semantics for process algebrasActa Informatica, 1997
- Linearity and the pi-calculusPublished by Association for Computing Machinery (ACM) ,1996
- A process algebra based on LindaPublished by Springer Nature ,1996
- Symbolic bisimulationsTheoretical Computer Science, 1995
- A language with distributed scopePublished by Association for Computing Machinery (ACM) ,1995
- Observing localitiesTheoretical Computer Science, 1993
- Some issues in the semantics of facile distributed programmingPublished by Springer Nature ,1993
- The chemical abstract machineTheoretical Computer Science, 1992
- Facile: A symmetric integration of concurrent and functional programmingInternational Journal of Parallel Programming, 1989
- Generative communication in LindaACM Transactions on Programming Languages and Systems, 1985