airo 22(1): 6

Research Article

An Event-B Approach to the Development of Fork/Join Parallel Programs

Download161 downloads
  • @ARTICLE{10.4108/airo.v1i.16,
        author={Jie Peng and  Tangliu  Wen and Yiguo Yang and Guoming Huang},
        title={An Event-B Approach to the Development of Fork/Join Parallel Programs},
        journal={EAI Endorsed Transactions on AI and Robotics},
        volume={1},
        number={1},
        publisher={EAI},
        journal_a={AIRO},
        year={2022},
        month={2},
        keywords={Event-B, Fork/Join, refinement, decomposition},
        doi={10.4108/airo.v1i.16}
    }
    
  • Jie Peng
    Tangliu Wen
    Yiguo Yang
    Guoming Huang
    Year: 2022
    An Event-B Approach to the Development of Fork/Join Parallel Programs
    AIRO
    EAI
    DOI: 10.4108/airo.v1i.16
Jie Peng1, Tangliu Wen1,*, Yiguo Yang2, Guoming Huang1
  • 1: Gannan University of Science and Technology, Ganan 341000, China
  • 2: School of Computer Engineering and Science, Shanghai University, Shanghai 2000444,China
*Contact email: 779137104@qq.com

Abstract

Fork/Join is a simple but effective technique for exploiting the parallelism. When developing a parallel program using Fork/Join, one of the main things is how a large task is decomposed into subtasks whose results can be combined as a final result. In this paper we show how to develop Fork/Join parallel programs through refinement and decomposition. We take Fork/Join style task decomposition as a refinement which we call Fork/Join refinement. Proof obligations of refinement can ensure the correctness of decomposition. For practical application, we provide a refinement pattern for the Fork/Join refinement and extend an atomicity decomposition diagram to illustrate it. Our approach provides a good framework for modeling Fork/Join parallel programs and showing proof obligations of correctness for such programs. We illustrate the approach by applying it on a small case.