Skip to Main Content
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 is 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.