52 research outputs found
Boxed ambients with communication interfaces
We define BACI (Boxed Ambients with Communication Interfaces), an ambient calculus with a flexible communication policy. Traditionally, typed ambient calculi have a fixed communication policy determining the kind of information that can be exchanged with a parent ambient, even though mobility changes the parent. BACI lifts that restriction, allowing different communication policies with different parents during computation. Furthermore, BACI separates communication and mobility by making the channels of communication between ambients explicit. In contrast with other typed ambient calculi where communication policies are global, each ambient in BACI is equipped with a description of the communication policies ruling its information exchange with parent and child ambients. The communication policies of ambients increase when they move: more precisely, when an ambient enters another ambient, the entering ambient and the host ambient can exchange their communication ports and agree on the kind of information to be exchanged. This information is recorded locally in both ambients. We show the type-soundness of BACI, proving that it satisfies the subject reduction property, and we study its behavioural semantics by means of a labelled transition syste
Secrecy in Untrusted Networks
We investigate the protection of migrating agents against the untrusted sites they traverse. The resulting calculus provides a formal framework to reason about protection policies and security protocols over distributed, mobile infrastructures, and aims to stand to ambients as the spi calculus stands to ?. We present a type system that separates trusted and untrusted data and code, while allowing safe interactions with untrusted sites. We prove that the type system enforces a privacy property, and show the expressiveness of the calculus via examples and an encoding of the spi calculus
Implementing a distributed mobile calculus using the IMC framework
In the last decade, many calculi for modelling distributed mobile code have been proposed. To assess their merits and encourage use, implementations of the calculi have often been proposed. These implementations usually consist of a limited part dealing with mechanisms that are specific of the proposed calculus and of a significantly larger part handling recurrent mechanisms that are common to many calculi. Nevertheless, also the "classic" parts are often re-implemented from scratch. In this paper we show how to implement a well established representative of the family of mobile calculi, the distributed [pi]-calculus, by using a Java middleware (called IMC - Implementing Mobile Calculi) where recurrent mechanisms of distributed and mobile systems are already implemented. By means of the case study, we illustrate a methodology to accelerate the development of prototype implementations while concentrating only on the features that are specific of the calculus under consideration and relying on the common framework for all the recurrent mechanisms like network connections, code mobility, name handling, etc
Encapsulation and Dynamic Modularity in the Pi-Calculus
We describe a process calculus featuring high level constructs for
component-oriented programming in a distributed setting. We propose an
extension of the higher-order pi-calculus intended to capture several important
mechanisms related to component-based programming, such as dynamic update,
reconfiguration and code migration. In this paper, we are primarily concerned
with the possibility to build a distributed implementation of our calculus.
Accordingly, we define a low-level calculus, that describes how the high-level
constructs are implemented, as well as details of the data structures
manipulated at runtime. We also discuss current and future directions of
research in relation to our analysis of component-based programming
Session Types with Runtime Adaptation: Overview and Examples
In recent work, we have developed a session types discipline for a calculus
that features the usual constructs for session establishment and communication,
but also two novel constructs that enable communicating processes to be
stopped, duplicated, or discarded at runtime. The aim is to understand whether
known techniques for the static analysis of structured communications scale up
to the challenging context of context-aware, adaptable distributed systems, in
which disciplined interaction and runtime adaptation are intertwined concerns.
In this short note, we summarize the main features of our session-typed
framework with runtime adaptation, and recall its basic correctness properties.
We illustrate our framework by means of examples. In particular, we present a
session representation of supervision trees, a mechanism for enforcing
fault-tolerant applications in the Erlang language.Comment: In Proceedings PLACES 2013, arXiv:1312.221
AMBIENT-PRISMA: Distribution and Mobility in Aspect-Oriented Software Architectures
This thesis presents a framework called Ambient-PRISMA for describing and developing distributed and mobile software systems in an abstract way. Ambient-PRISMA enriches an aspect-oriented software architecture approach called PRISMA with concepts of Ambient Calculus (AC). Ambient Calculus (AC) is a formalism that provides primitives to describe distribution and mobility characteristics in an abstract way. It introduces a concept called ambient which is a bounded place where computation happens. This enrichment is performed by extending the PRISMA metamodel, and Aspect-Oriented Architecture Description Language (AOADL). A case study of an electronic Auction System with mobile agents is used throughout the thesis in order to illustrate the work.Ali Irshaid, N. (2007). AMBIENT-PRISMA: Distribution and Mobility in Aspect-Oriented Software Architectures. http://hdl.handle.net/10251/12900Archivo delegad
- âŠ