A formal specification-based approach to distributed parallel programming

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.

[1]  Monica S. Lam,et al.  Jade: a high-level, machine-independent language for parallel programming , 1993, Computer.

[2]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[3]  Gregory R. Andrews,et al.  Concepts and Notations for Concurrent Programming , 1983, CSUR.

[4]  Nicholas Carriero,et al.  Applications experience with Linda , 1988, PPEALS '88.

[5]  Rafael Corchuelo,et al.  Implementing multiparty interactions on a network computer , 1999, Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium.

[6]  Willy Zwaenepoel,et al.  Implementation and performance of Munin , 1991, SOSP '91.

[7]  Vaidy S. Sunderam,et al.  PVM: A Framework for Parallel Distributed Computing , 1990, Concurr. Pract. Exp..

[8]  Yoichi Muraoka,et al.  Parallel Programming with Interacting Processes , 1999, LCPC.

[9]  Michael J. Quinn,et al.  Designing Efficient Algorithms for Parallel Computers , 1987 .

[10]  Chia-Chu Chiang,et al.  Middleware support for coordination in distributed applications , 2003, Fifth International Symposium on Multimedia Software Engineering, 2003. Proceedings..

[11]  C. C. Chiang,et al.  The use of adapters to support interoperability of components for reusability , 2003, Inf. Softw. Technol..