Communicating sequential processes
Communicating sequential processes
Communicating sequential processes
Communications of the ACM
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
Concurrent Programming in Java. Second Edition: Design Principles and Patterns
Concurrent Programming in Java. Second Edition: Design Principles and Patterns
Networks, Routers and Transputers: Function, Performance and Applications
Networks, Routers and Transputers: Function, Performance and Applications
Parallel and Distributed Computing in Education
VECPAR '98 Selected Papers and Invited Talks from the Third International Conference on Vector and Parallel Processing
Teaching Distributed and Parallel Computing with Java and CSP
CCGRID '01 Proceedings of the 1st International Symposium on Cluster Computing and the Grid
ARCS: an architectural level communication driven simulator
Proceedings of the 14th ACM Great Lakes symposium on VLSI
The PAGIS grid application environment
ICCS'03 Proceedings of the 2003 international conference on Computational science: PartIII
Agile formal method engineering
IFM'05 Proceedings of the 5th international conference on Integrated Formal Methods
Through the concurrency gateway: a challenge from the near future of graphics hardware
EG PGV'04 Proceedings of the 5th Eurographics conference on Parallel Graphics and Visualization
Hi-index | 0.00 |
JCSP is a library of Java packages providing an extended version of the CSP/occam model for Communicating Processes. The current (1.0) release supports concurrency within a single Java Virtual Machine (which may be multi-processor). This paper presents recent work on extended facilities for the dynamic construction of CSP networks across distributed environments (such as the Internet). Details of the underlying network fabric and control (such as machine addresses, socket connections, local multiplexing and demultiplexing of application channels, acknowledgement packets to preserve synchronisation semantics) are hidden from the JCSP programmer, who works entirely at the application level and CSP primitives. A simple brokerage service - based on channel names - is provided to let distributed JCSP components find and connect to each other. Distributed JCSP networks may securely evolve, as components join and leave at run-time with no centralised or preplanned control. Higher level brokers, providing user-defined matching services, are easy to bootstrap on top of the basic Channel Name Server (CNS) - using standard JCSP processes and networking. These may impose user-defined control over the structure of network being built. JCSP network channels may be configured for the automatic loading of class files for received objects whose classes are not available locally (this uses the network channel from which they were received - the sender must have them). Also provided are connection channels (for extended bi-directional transactions between clients and servers) and anonymous channels (to set up communications without using any central registry - such as the given CNS). The aims of JCSP.net are to simplify the construction and programming of dynamically distributed and parallel systems. It provides high-level support for CSP architectures, unifying concurrency logic within and between processors. Applications cover all areas of concurrent computing - including e-commerce, agent technology, home networks, embedded systems, high-performance clusters and The Grid.