P3L(ID:5425/pl:009)


for Pisa Parallel Programming Language

Parallel programming language which ensures both task and data parallelism.


References:
  • Skillicorn, David B. and Talia, Domenico "Models and languages for parallel computation" pp123-169 view details
          in [ACM] ACM Computing Surveys (CSUR) 30(2) June 1998 view details
  • A. Cavarra E. Riccobene A. Zavanella "A Formal Model for the Parallel Semantics of P3L" view details Abstract:     Some formalizations have been developed in order to give a complete description of the parallel semantics of P3L, a programming language which ensures both task and data parallelism. However, the description level provided by the employed formalisms is either too much `abstract' - unable to grasp the operational behavior of the skeletons of the language - or too much `concrete' - close to implementation details and therefore related to a particular machine model.
        This paper shows how the Gurevich's Abstract State Machines (ASMs) have been successfully employed to describe the parallel semantics of skeletons of P3L completely abstracting from any implementation detail.
        The proposed model describes both the operation of the compiler which leads to define a network of processes starting from a given program, and the computation of the running processes.
        The model has been also taken as a theoretical basis to prove some of the most interesting rewriting rules used by the compiler to get a better program performance and efficiency. Extract: Introduction
    P3L - Pisa Parallel Programming Language - is a parallel language based on the skeleton idea. A skeleton is a build-in higher-order function representing a parallel construct which may have a sequential code as parameter. The sequential part of the program can be written by using a host (sequential) language.
        It is widely recognized the validity of using formal methods in software development, especially in defining semantics of programming languages. Many are the advantages of formal semantics: a precise and unambiguous meaning, the possibility of applying mathematical reasoning on the formal model to prove - whenever available even by machine support - rewriting rules and other properties, the opportunity of using tools for language development and design, and for automatically generate compilers and interpreters.

          in Proceedings of the 2000 ACM Symposium on Applied computing SAC'2000 Villa Olmo, Como, Italy view details