JoCaml: A Language for Concurrent Distributed and Mobile Programming

In these lecture notes, we give an overview of concurrent, distributed, and mobile programming using JoCaml. JoCaml is an extension of the Objective Caml language. It extends OCaml with support for concurrency and synchronization, the distributed execution of programs, and the dynamic relocation of active program fragments during execution.

[1]  Benjamin C. Pierce,et al.  Pict: a programming language based on the Pi-Calculus , 2000, Proof, Language, and Interaction.

[2]  Luca Cardelli,et al.  Mobile Ambients , 1998, FoSSaCS.

[3]  Alan Schmitt Safe Dynamic Binding in the Join Calculus , 2002, IFIP TCS.

[4]  Robert S. Gray,et al.  Agent Tcl: A transportable agent system , 1995, CIKM Information Agents Workshop.

[5]  Marc Shapiro,et al.  An implementation of complete, asynchronous, distributed garbage collection , 1998, PLDI '98.

[6]  Doug Lea,et al.  Concurrent Programming In Java , 1996 .

[7]  Luca Cardelli,et al.  Modern Concurrency Abstractions for C# , 2002, ECOOP.

[8]  Cosimo Laneve,et al.  Implicit Typing à la ML for the Join-Calculus , 1997, CONCUR.

[9]  Luc Maranget,et al.  Compiling Join-Patterns , 1998, Electron. Notes Theor. Comput. Sci..

[10]  James J. Horning,et al.  Synchronization Primitives for a Multiprocessor: A Formal Speci cation , 1987 .

[11]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[12]  Martin Odersky,et al.  Functional Nets , 2000, ESOP.

[13]  Fabrice Le Fessant,et al.  Detecting distributed cycles of garbage in large-scale systems , 2001, PODC '01.

[14]  Angelos D. Keromytis,et al.  The SwitchWare Active Network Implementation , 1998 .

[15]  Martín Abadi,et al.  Secure Implementation of Channel Abstractions , 2002, Inf. Comput..

[16]  Doug Lea,et al.  Concurrent programming in Java - design principles and patterns , 1996, Java series.

[17]  Mark Hayden,et al.  Distributed communication in ML , 2000, J. Funct. Program..

[18]  Sylvain Conchon,et al.  Jocaml: mobile agents for Objective-Caml , 1999, Proceedings. First and Third International Symposium on Agent Systems Applications, and Mobile Agents.

[19]  Jean-Jacques Lévy,et al.  An Asynchronous, Distributed Implementation of Mobile Ambients , 2000, IFIP TCS.

[20]  Robbert van Renesse,et al.  An introduction to the TACOMA distributed system. Version 1.0 , 1995 .

[21]  John H. Reppy Concurrent ML: Design, Application and Semantics , 1993, Functional Programming, Concurrency, Simulation and Automated Reasoning.

[22]  François Rouaix A Web Navigator with Applets in Caml , 1996, Comput. Networks.

[23]  Davide Sangiorgi,et al.  Communicating and Mobile Systems: the π-calculus, , 2000 .

[24]  Jim White,et al.  Telescript technology: mobile agent , 1999 .

[25]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[26]  Alan Schmitt,et al.  The m-calculus: a higher-order distributed process calculus , 2003, POPL '03.

[27]  Cédric Fournet,et al.  The reflexive CHAM and the join-calculus , 1996, POPL '96.

[28]  Cédric Fournet,et al.  The Join Calculus: A Language for Distributed Mobile Programming , 2000, APPSEM.