Communicating sequential processes
Communicating sequential processes
Designing efficient algorithms for parallel computers
Designing efficient algorithms for parallel computers
Applications experience with Linda
PPEALS '88 Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems
PVM: a framework for parallel distributed computing
Concurrency: Practice and Experience
Implementation and performance of Munin
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
A comprehensive study of the complexity of multiparty interaction
Journal of the ACM (JACM)
Concepts and Notations for Concurrent Programming
ACM Computing Surveys (CSUR)
Component coordination in middleware systems
Middleware '98 Proceedings of the IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing
Hi-index | 0.00 |
Low-level language constructs used for expressing explicit communication, concurrency, synchronization, and parallelism in systems make the systems difficult to maintain. For example, many programming languages allow programmers to create parallel processes by using the fork/join statement and provide locking mechanisms to synchronize the resulting parallel computation. However, since fork/join may appear anywhere in a program, program making unstructured use of the language constructs may be difficult to understand and debug. We are presenting a middleware-based approach to distributed coordinated parallel programming. A familiar programming model will be provided to support implicit communication, concurrency, synchronization, and parallelism in systems through an implicit coordination-oriented approach. In other words, programmers do not have to explicitly express communication, concurrency, synchronization, and parallelism when they are developing distributed systems for parallel processing. In addition, a 4-layered interconnection architecture will be implemented to support the programming model in an integrated manner. The implicit coordination-oriented approach to supporting parallel programming provides a number of benefits. Without inserting the low-level language constructs in an unstructured manner in programs makes the programs modular. Modularity improves the maintainability of the programs. Our approach supports the portability of programs by allowing the programs in different programming languages to be executed in any general programming environment without modifications.