Results 1 -
6 of
6
Dynamic Rebinding for Marshalling and Update, with Destruct-Time λ
- IN PROC. ICFP
, 2003
"... Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises, for example when a marshalled value is received from the network, containing identifiers that must be rebound to ..."
Abstract
-
Cited by 38 (16 self)
- Add to MetaCart
Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises, for example when a marshalled value is received from the network, containing identifiers that must be rebound to local resources. Typically it is provided only by ad-hoc mechanisms that lack clean semantics. In this
Dynamic rebinding for marshalling and update, via redex-time and destruct-time reduction
, 2008
"... ..."
MIKADO Deliverable D2.1.4 Title: Type Systems for Open Networks, using the MIKADO core programming models Editor: D. Gorla (Univ. of Florence)
, 2005
"... In the last decade, several foundational formalisms for global computing have appeared in literature to improve the understanding of the complex mechanisms underlying such new computational scenario. In their design, the integration of security mechanisms is a major challenge and great efforts have ..."
Abstract
- Add to MetaCart
(Show Context)
In the last decade, several foundational formalisms for global computing have appeared in literature to improve the understanding of the complex mechanisms underlying such new computational scenario. In their design, the integration of security mechanisms is a major challenge and great efforts have been recently devoted to embed such mechanisms within standard programming features. In this deliverable, we shall focus on the security mechanisms put forward by type systems, that are used for expressing and checking behavioural properties concerning mobility, resource access, security, etc. Moreover, when dealing with distributed and mobile computing in wide-area “open ” systems, one is often confronted with a scenario where interaction may take place between parties whose respective properties are unknown or only partially known to each other. If stopping the execution for re-checking is to be avoided, each component must dynamically carry with it sufficient behavioural information that can be checked at runtime by the other ones interacting with it. We present here three typing approaches focussed on security properties of open systems, and on their enforcement mechanisms. The solutions proposed do not rely on a single process calculus but
History-Based Access Control for Distributed Processes
"... This paper presents a type system to control the migration of code between network nodes in a concurrent distributed framework, using the D# language. ..."
Abstract
- Add to MetaCart
(Show Context)
This paper presents a type system to control the migration of code between network nodes in a concurrent distributed framework, using the D# language.
Abstract
"... Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises, for example when a marshalled value is received from the network, containing identifiers that must be rebound to ..."
Abstract
- Add to MetaCart
(Show Context)
Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises, for example when a marshalled value is received from the network, containing identifiers that must be rebound to local resources. Typically it is provided only by ad-hoc mechanisms that lack clean semantics. In this paper we adopt a foundational approach, developing core dynamic rebinding mechanisms as extensions to the simply-typed call-by-value λ-calculus. To do so we must first explore refinements of the call-by-value reduction strategy that delay instantiation, to ensure computations make use of the most recent versions of rebound definitions. We introduce redex-time and destruct-time strategies. The latter forms the basis for a λmarsh calculus that supports dynamic rebinding of marshalled values, while remaining as far as possible statically-typed. We sketch an extension of λmarsh with concurrency and communication, giving examples showing how wrappers for encapsulating untrusted code can be expressed. Finally, we show that a high-level semantics for dynamic updating can also be based on the destruct-time strategy, defining a λupdate calculus with simple primitives to
Dynamic Rebinding for Distributed Programming
, 2002
"... Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises. Typically it is provided only by ad-hoc mechanisms that lack clean semantics. ..."
Abstract
- Add to MetaCart
Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises. Typically it is provided only by ad-hoc mechanisms that lack clean semantics.