Fine-grained mobility in the emerald system
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
The gamma model and its discipline of programming
Science of Computer Programming
Selected papers of the Second Workshop on Concurrency and compositionality
A calculus of mobile processes, II
Information and Computation
Combinatory representation of mobile processes
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On reduction-based process semantics
Selected papers of the thirteenth conference on Foundations of software technology and theoretical computer science
A typed language for distributed mobile processes (extended abstract)
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Some congruence properties for &pgr;-calculus bisimilarities
Theoretical Computer Science
IFIP TC6/ 6.1 international conference on formal description techniques IX/protocol specification, testing and verification XVI on Formal description techniques IX : theory, application and tools: theory, application and tools
On bisimulations of the asynchronous &pgr;-calculus
Theoretical Computer Science
Authentication primitives and their compilation
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
Pict: a programming language based on the Pi-Calculus
Proof, language, and interaction
Bisimulations in the join-calculus
Theoretical Computer Science
Communication and Concurrency
A Calculus of Communicating Systems
A Calculus of Communicating Systems
PI-Calculus: A Theory of Mobile Processes
PI-Calculus: A Theory of Mobile Processes
Secure implementation of channel abstractions
Information and Computation
Proceedings of the 25th International Colloquium on Automata, Languages and Programming
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
ICALP '92 Proceedings of the 19th International Colloquium on Automata, Languages and Programming
ICALP '95 Proceedings of the 22nd International Colloquium on Automata, Languages and Programming
A Hierarchy of Equivalences for Asynchronous Calculi
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
On Asynchrony in Name-Passing Calculi
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
The Complete Axiomatization of Cs-congruence
STACS '94 Proceedings of the 11th Annual Symposium on Theoretical Aspects of Computer Science
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
The Linear Time - Branching Time Spectrum II
CONCUR '93 Proceedings of the 4th International Conference on Concurrency Theory
CONCUR '95 Proceedings of the 6th International Conference on Concurrency Theory
CONCUR '96 Proceedings of the 7th International Conference on Concurrency Theory
On Asynchronous Communication Semantics
ECOOP '91 Proceedings of the Workshop on Object-Based Concurrent Computing
An Asynchronous Model of Locality, Failurem and Process Mobility
COORDINATION '97 Proceedings of the Second International Conference on Coordination Languages and Models
An Asynchronous, Distributed Implementation of Mobile Ambients
TCS '00 Proceedings of the International Conference IFIP on Theoretical Computer Science, Exploring New Frontiers of Theoretical Informatics
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
Secure Implementation of Channel Abstractions
LICS '98 Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science
SP '96 Proceedings of the 1996 IEEE Symposium on Security and Privacy
May and Must Testing in the Join-Calculus
May and Must Testing in the Join-Calculus
A foundation for actor computation
Journal of Functional Programming
Formal methods for distributed processing
Modern Concurrency Abstractions for C#
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Lana: An Approach to Programming Autonomous Systems
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Modern concurrency abstractions for C#
ACM Transactions on Programming Languages and Systems (TOPLAS)
Exclusion requirements and potential concurrency for composite objects
Science of Computer Programming - Special issue: Concurrency and synchronization in Java programs
Ensuring termination by typability
Information and Computation
Scheduling-independent threads and exceptions in SHIM
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Proceedings of the 2007 ACM/SIGDA 15th international symposium on Field programmable gate arrays
Structuring Operational Semantics: Simplification and Computation
Electronic Notes in Theoretical Computer Science (ENTCS)
Concurrent programming in a nutshell
Journal of Computing Sciences in Colleges
Code mobility modeling: a temporal labeled reconfigurable nets
Proceedings of the 1st international conference on MOBILe Wireless MiddleWARE, Operating Systems, and Applications
Developing a concurrent service orchestration engine in ccr
Proceedings of the 1st international workshop on Multicore software engineering
Programming Languages For Interactive Computing
Electronic Notes in Theoretical Computer Science (ENTCS)
Using bisimulation proof techniques for the analysis of distributed abstract machines
Theoretical Computer Science
Join patterns for visual basic
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Proceedings of the 4th workshop on Declarative aspects of multicore programming
Formal Aspects in Security and Trust
Automata for Context-Dependent Connectors
COORDINATION '09 Proceedings of the 11th International Conference on Coordination Models and Languages
A theory of distributed aspects
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Links: web programming without tiers
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
Actors with multi-headed message receive patterns
COORDINATION'08 Proceedings of the 10th international conference on Coordination models and languages
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Self-replicating objects for multicore platforms
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Strand algebras for DNA computing
Natural Computing: an international journal
A formal environment model for multi-agent systems
SBMF'10 Proceedings of the 13th Brazilian conference on Formal methods: foundations and applications
Ownership types for the join calculus
FMOODS'11/FORTE'11 Proceedings of the joint 13th IFIP WG 6.1 and 30th IFIP WG 6.1 international conference on Formal techniques for distributed systems
Advanced mechanisms for service combination and transactions
Rigorous software engineering for service-oriented systems
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
FOSSACS'06 Proceedings of the 9th European joint conference on Foundations of Software Science and Computation Structures
Adding high-level concurrency to EScala
Proceedings of the 11th annual international conference on Aspect-oriented Software Development Companion
A model of context-dependent component connectors
Science of Computer Programming
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
A component model for the ABS language
FMCO'10 Proceedings of the 9th international conference on Formal Methods for Components and Objects
Containment in Rule-Based Models
Electronic Notes in Theoretical Computer Science (ENTCS)
A lambda calculus for gödel---dummett logic capturing waitfreedom
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
Joins: a case study in modular specification of a concurrent reentrant higher-order library
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Aliasing in Object-Oriented Programming
Hi-index | 0.01 |
In these notes, we give an overview of the join calculus, its semantics, and its equational theory. The join calculus is a language that models distributed and mobile programming. It is characterized by an explicit notion of locality, a strict adherence to local synchronization, and a direct embedding of the ML programming language. The join calculus is used as the basis for several distributed languages and implementations, such as JoCaml and functional nets.Local synchronization means that messages always travel to a set destination, and can interact only after they reach that destination; this is required for an efficient implementation. Specifically, the join calculus uses ML's function bindings and pattern-matching on messages to program these synchronizations in a declarative manner.Formally, the language owes much to concurrency theory, which provides a strong basis for stating and proving the properties of asynchronous programs. Because of several remarkable identities, the theory of process equivalences admits simplifications when applied to the join calculus. We prove several of these identities, and argue that equivalences for the join calculus can be rationally organized into a five-tiered hierarchy, with some trade-off between expressiveness and proof techniques.We describe the mobility extensions of the core calculus, which allow the programming of agent creation and migration. We briefly present how the calculus has been extended to model distributed failures on the one hand, and cryptographic protocols on the other.