Results 1 - 10
of
33
KLAIM: a Kernel Language for Agents Interaction and Mobility
- IEEE Transactions on Software Engineering
, 1997
"... 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 s ..."
Abstract
-
Cited by 195 (45 self)
- Add to MetaCart
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 rights 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...
Types for mobile ambients
- In Proc. 26th POPL
, 1999
"... Java has demonstrated the utility of type systems for mobile code, and in particular their use and implications for security. Security properties rest on the fact that a well-typed Java program (or the corresponding verified bytecode) cannot cause certain kinds of damage. In this paper we provide a ..."
Abstract
-
Cited by 142 (12 self)
- Add to MetaCart
Java has demonstrated the utility of type systems for mobile code, and in particular their use and implications for security. Security properties rest on the fact that a well-typed Java program (or the corresponding verified bytecode) cannot cause certain kinds of damage. In this paper we provide a type system for mobile computation, that is, for computation that is continuously active before and after movement. We show that a well-typed mobile computation cannot cause certain kinds of run-time fault: it cannot cause the exchange of values of the wrong kind, anywhere in a mobile system. 1
The M-calculus: A Higher-Order Distributed Process Calculus
, 2003
"... This paper presents a new distributed process calculus, called the M-calculus, that can be understood as a higher-order version of the Distributed Join calculus with programmable localities. The calculus retains the implementable character of the Distributed Join calculus while overcoming several im ..."
Abstract
-
Cited by 48 (5 self)
- Add to MetaCart
This paper presents a new distributed process calculus, called the M-calculus, that can be understood as a higher-order version of the Distributed Join calculus with programmable localities. The calculus retains the implementable character of the Distributed Join calculus while overcoming several important limitations: insufficient control over communication and mobility, absence of dynamic binding, and limited locality semantics. The calculus is equipped with a polymorphic type system that guarantees the unicity of locality names, even in presence of higher-order communications a crucial propertyfor the determinacy of message routing in the calculus.
Resource Access and Mobility Control with Dynamic Privileges Acquisition
- In Proc. of ICALP’03, volume 2719 of LNCS
, 2003
"... Klaim is a process language that permits programming distributed systems made up of several mobile components interacting through multiple distributed tuple spaces. ..."
Abstract
-
Cited by 26 (10 self)
- Add to MetaCart
Klaim is a process language that permits programming distributed systems made up of several mobile components interacting through multiple distributed tuple spaces.
The Klaim Project: Theory and Practice
- GLOBAL COMPUTING: PROGRAMMING ENVIRONMENTS, LANGUAGES, SECURITY AND ANALYSIS OF SYSTEMS, VOLUME 2874 OF LNCS
, 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 retri ..."
Abstract
-
Cited by 23 (10 self)
- Add to MetaCart
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
Static Analysis for Secrecy and Non-Interference in Networks of Processes
, 2001
"... . We introduce the SPI-calculus that strengthens the notion ..."
Abstract
-
Cited by 21 (3 self)
- Add to MetaCart
. We introduce the SPI-calculus that strengthens the notion
Coordinating Mobile Object-Oriented Code
- Proc. of Coordination Models and Languages, number 2315 in LNCS
, 2002
"... Abstract. Standard class-based inheritance mechanisms, which are often used to implement distributed systems, do not seem to scale well to a distributed context with mobility. In this paper, a mixin-based approach is proposed for structuring mobile object-oriented code and it is shown to fit in the ..."
Abstract
-
Cited by 15 (10 self)
- Add to MetaCart
Abstract. Standard class-based inheritance mechanisms, which are often used to implement distributed systems, do not seem to scale well to a distributed context with mobility. In this paper, a mixin-based approach is proposed for structuring mobile object-oriented code and it is shown to fit in the dynamic and open nature of a mobile code scenario. We introduce MoMi (Mobile Mixins), a coordination language for mobile processes that communicate and exchange object-oriented code in a distributed context. MoMi is equipped with a type system, based on polymorphism by subtyping, in order to guarantee safe code communications. 1
Security Types for Mobile Safe Ambients
- In ASIAN Computing Sciece Conference - ASIAN’00, volume 1961 of LNCS
, 2000
"... . The Ambient Calculus and the Safe Ambient Calculus have been recently successfully proposed as models for the Web. They are based on the notions of ambient movement and ambient opening. Different type disciplines have been devised for them in order to avoid unwanted behaviours of processes. In the ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
. The Ambient Calculus and the Safe Ambient Calculus have been recently successfully proposed as models for the Web. They are based on the notions of ambient movement and ambient opening. Different type disciplines have been devised for them in order to avoid unwanted behaviours of processes. In the present paper we propose a type discipline for safe mobile ambients which is essentially motivated by ensuring security properties. We associate security levels to ambients and we require that an ambient at security level s can only be traversed or opened by ambients at security level at least s. Since the movement and opening rights can be unrelated, we consider two partial orders between security levels. We also discuss some meaningful examples of use of our type discipline. 1 Introduction The Ambient Calculus [4] has been recently successfully proposed as a model for the Web. An ambient is a named location: it may contain processes and sub-ambients. A process may: -- communicate in an ...
MoMi - A Calculus for Mobile Mixins
- Acta Informatica
, 2004
"... MoMi (Mobile Mixins) is a coordination language for mobile processes that communicate and exchange object-oriented code in a distributed context. MoMi's key idea is structuring mobile object-oriented code by using mixin-based inheritance. Mobile code is compiled and typed locally, and can success ..."
Abstract
-
Cited by 12 (3 self)
- Add to MetaCart
MoMi (Mobile Mixins) is a coordination language for mobile processes that communicate and exchange object-oriented code in a distributed context. MoMi's key idea is structuring mobile object-oriented code by using mixin-based inheritance. Mobile code is compiled and typed locally, and can successfully interact with code present on foreign sites only if its type is subtyping-compliant with the type of what is expected by the receiving site. The key feature of the paper is the definition of this subtyping relation on classes and mixins that enables a significantly flexible, yet still simple, communication pattern. We show that communication by subtyping is type safe in that exchanged code is merged into local code without requiring further type analysis and recompilation.
Secrecy by typing and fileaccess control
- In Proc. IEEE Computer Security Foundations Workshop (CSFW’06
, 2006
"... Secrecy properties can be guaranteed through a combination of static and dynamic checks. The static checks may include the application of special type systems with notions of secrecy. The dynamic checks can be of many different kinds; in practice, the most important are access-control checks, often ..."
Abstract
-
Cited by 12 (8 self)
- Add to MetaCart
Secrecy properties can be guaranteed through a combination of static and dynamic checks. The static checks may include the application of special type systems with notions of secrecy. The dynamic checks can be of many different kinds; in practice, the most important are access-control checks, often ones based on ACLs (access-control lists). In this paper, we explore the interplay of static and dynamic checks in the setting of a file system. For this purpose, we study a pi calculus with file-system constructs. The calculus supports both access-control checks and a form of static scoping that limits the knowledge of terms—including file names and contents—to groups of clients. We design a system with secrecy types for the calculus; using this system, we can prove secrecy properties by static typing of programs in the presence of file-system access-control checks. 1

