Formal Specification and Implementation of an Environment for Automatic Distribution

  • Saeed Parsa
  • Omid Bushehrian
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4459)


It is desirable to replace supercomputers with low cost networks of computers to run computationally intensive programs. To alleviate the burden of writing distributed programs, automatic translation of sequential to distributed programs is highly recommended. In this paper a new architecture to support automatic translation of sequential to distributed programs is offered. A formal specification of the structure and behavior of the architecture components is presented. The applicability of the specified architecture is demonstrated by presenting its implementation details and evaluating the performance of the resultant distributed program.


Memory Space Computational Node Method Call Reference Parameter Automatic Translation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Chan, B., Abdelrahman, T.S.: Run-Time Support for the Automatic Parallelization of Java Programs. The Journal of Supercomputing, 91–117 (2004)Google Scholar
  2. 2.
    Attali, I., Caromel, D., Guider, R.: A Step Toward Automatic Distribution of Java Programs. In: 4th International Conference on Formal Methods for Open Object-Based Distributed Systems (FMOODS 2000), Stanford, California, USA (2000)Google Scholar
  3. 3.
    Diaconescu, R.E., Wang, L., Franz, M.: Automatic Distribution of Java ByteCode Based on Dependence Analysis. Technical Report No. 03-18, School of Information and Computer Science, University of California, Irvine (2003)Google Scholar
  4. 4.
    Diaconescu, R., et al.: A Compiler and Runtime Infrastructure for Automatic Program Distribution. In: 19th International Parallel and Distributed Processing Symposium (IPDPS 2005), IEEE Computer Society Press, Los Alamitos (2005)Google Scholar
  5. 5.
    Fuad, M.M., Oudshoorn, M.J.: AdJava-Automatic Distribution of Java Applications. In: 25th Australasian Computer Science Conference (ACSC2002), Monash University, Melbourne (2002)Google Scholar
  6. 6.
    Tatsubori, M., et al.: A Bytecode Translator for Distributed Execution of Legacy Java Software. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 236–255. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  7. 7.
    Tilevich, E., Smaragdakis, Y.: J-Orchestra: Automatic Java Application Partitioning. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, Springer, Heidelberg (2002)Google Scholar
  8. 8.
    Spiegel, A.: Pangaea: An Automatic Distribution Front-End for Java. In: 4th IEEE Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS ’99), San Juan, Puerto Rico (April 1999)Google Scholar
  9. 9.
    TanenBaum, A.S., Van Steen, M.: Distributed Systems Principles and Paradigms. Prentice-Hall, Englewood Cliffs (2002)Google Scholar
  10. 10.
    Fahringer, T., Jugravu, A.: JavaSymphony: New Directives to Control and Synchronize Locality, Parallelism, and Load Balancing for Cluster and GRID-Computing. In: Proceedings of Joint ACM Java Grande - ISCOPE 2002 Conference, Seattle, Washington (Nov. 2002)Google Scholar
  11. 11.
    Bushehrian, O., Parsa, S.: Formal Description of a Runtime Infrastructure for Automatic Distribution of Programs. In: Levi, A., et al. (eds.) ISCIS 2006. LNCS, vol. 4263, pp. 793–802. Springer, Heidelberg (2006)CrossRefGoogle Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Saeed Parsa
    • 1
  • Omid Bushehrian
    • 1
  1. 1.Faculty of Computer Engineering, Iran University of Science and Technology 

Personalised recommendations