The LOCUS distributed system architecture
The LOCUS distributed system architecture
Fine-grained mobility in the Emerald system
ACM Transactions on Computer Systems (TOCS)
Communications of the ACM
Communication and concurrency
Distributed systems
Transparent process migration: design alternatives and the sprite implementation
Software—Practice & Experience
Compiling with continuations
A calculus of mobile processes, I
Information and Computation
A language with distributed scope
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Information and Computation
Online tracking of mobile users
Journal of the ACM (JACM)
Higher-order distributed objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
Unreliable failure detectors for reliable distributed systems
Journal of the ACM (JACM)
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The reflexive CHAM and the join-calculus
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Behavioral equivalence in the polymorphic pi-calculus
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Comparing the expressive power of the synchronous and the asynchronous &pgr;-calculus
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A typed language for distributed mobile processes (extended abstract)
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Trust and partial typing in open systems of mobile agents
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Mobility: processes, computers, and agents
Mobility: processes, computers, and agents
The name discipline of uniform receptiveness
Theoretical Computer Science
Controlling interference in ambients
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Pict: a programming language based on the Pi-Calculus
Proof, language, and interaction
Nomadic pict: correct communication infrastructure for mobile computation
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A generic type system for the Pi-calculus
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Modules, abstract types, and distributed versioning
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Distributed directory service and message routing for mobile agents
Science of Computer Programming
A fault-tolerant directory service for mobile agents based on forwarding pointers
Proceedings of the 2002 ACM symposium on Applied computing
ML with Concurrency
The Definition of Standard ML
Jini Specification
Nomadic Pict: Language and Infrastructure Design for Mobile Agents
IEEE Concurrency
Timing UDP: Mechanized Semantics for Sockets, Threads, and Failures
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
The UDP Calculus: Rigorous Semantics for Real Networking
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
Concurrent Objects in a Process Calculus
TPPP '94 Proceedings of the International Workshop on Theory and Practice of Parallel Programming
The Arrow Distributed Directory Protocol
DISC '98 Proceedings of the 12th International Symposium on Distributed Computing
Distributed Processes and Location Failures (Extended Abstract)
ICALP '97 Proceedings of the 24th International Colloquium on Automata, Languages and Programming
Global/Local Subtyping and Capability Inference for a Distributed pi-calculus
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
Fault-Tolerance by Replication in Distributed Systems
Ada-Europe '96 Proceedings of the 1996 Ada-Europe International Conference on Reliable Software Technologies
The Problem of ``Weak Bisimulation up to''
CONCUR '92 Proceedings of the Third International Conference on Concurrency Theory
Multiway Synchrinizaton Verified with Coupled Simulation
CONCUR '92 Proceedings of the Third International Conference on Concurrency Theory
CONCUR '96 Proceedings of the 7th International Conference on Concurrency Theory
CONCUR '96 Proceedings of the 7th International Conference on Concurrency Theory
CONCUR '96 Proceedings of the 7th International Conference on Concurrency Theory
On Implementations and Semantics of a Concurrent Programming Language
CONCUR '97 Proceedings of the 8th International Conference on Concurrency Theory
Mobile UNITY Coordination Constructs Applied to Packet Forwarding for Mobile Hosts
COORDINATION '97 Proceedings of the Second International Conference on Coordination Languages and Models
An Asynchronous Model of Locality, Failurem and Process Mobility
COORDINATION '97 Proceedings of the Second International Conference on Coordination Languages and Models
FoSSaCS '98 Proceedings of the First International Conference on Foundations of Software Science and Computation Structure
Localities and Failures (Extended Abstract)
Proceedings of the 14th Conference on Foundations of Software Technology and Theoretical Computer Science
Jocaml: Mobile Agents for Objective-Caml
ASAMA '99 Proceedings of the First International Symposium on Agent Systems and Applications Third International Symposium on Mobile Agents
Nomadic Pict: Language and Infrastructure Design for Mobile Agents
ASAMA '99 Proceedings of the First International Symposium on Agent Systems and Applications Third International Symposium on Mobile Agents
Secure composition of untrusted code: box π, wrappers, and causality types
Journal of Computer Security - CSFW13
SD3: A Trust Management System with Certified Evaluation
SP '01 Proceedings of the 2001 IEEE Symposium on Security and Privacy
Global abstraction-safe marshalling with hash types
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Concepts, Techniques, and Models of Computer Programming
Concepts, Techniques, and Models of Computer Programming
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Stenning's protocol implemented in UDP and verified in Isabelle
CATS '05 Proceedings of the 2005 Australasian symposium on Theory of computing - Volume 41
Acute: high-level programming language design for distributed computation
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Implementing declarative overlays
Proceedings of the twentieth ACM symposium on Operating systems principles
Behavioral theory for mobile ambients
Journal of the ACM (JACM)
Engineering with logic: HOL specification and symbolic-evaluation testing for TCP implementations
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Safe ambients: abstract machine and distributed implementation
Science of Computer Programming
Abstraction preservation and subtyping in distributed languages
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Type-safe distributed programming for OCaml
Proceedings of the 2006 workshop on ML
A Distributed Pi-Calculus
Live migration of virtual machines
NSDI'05 Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation - Volume 2
Acute: High-level programming language design for distributed computation
Journal of Functional Programming
Modal types for mobile code
Verifying distributed systems: the operational approach
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Information and Computation
Scalable message routing for mobile software assistants
EUC'06 Proceedings of the 2006 international conference on Embedded and Ubiquitous Computing
Typed first-class communication channels and mobility for concurrent scripting languages
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
Efficient and fully abstract routing of futures in object network overlays
Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control
Hi-index | 0.00 |
Mobile computation, in which executing computations can move from one physical computing device to another, is a recurring theme: from OS process migration, to language-level mobility, to virtual machine migration. This article reports on the design, implementation, and verification of overlay networks to support reliable communication between migrating computations, in the Nomadic Pict project. We define two levels of abstraction as calculi with precise semantics: a low-level Nomadic π calculus with migration and location-dependent communication, and a high-level calculus that adds location-independent communication. Implementations of location-independent communication, as overlay networks that track migrations and forward messages, can be expressed as translations of the high-level calculus into the low. We discuss the design space of such overlay network algorithms and define three precisely, as such translations. Based on the calculi, we design and implement the Nomadic Pict distributed programming language, to let such algorithms (and simple applications above them) to be quickly prototyped. We go on to develop the semantic theory of the Nomadic π calculi, proving correctness of one example overlay network. This requires novel equivalences and congruence results that take migration into account, and reasoning principles for agents that are temporarily immobile (e.g., waiting on a lock elsewhere in the system). The whole stands as a demonstration of the use of principled semantics to address challenging system design problems.