z-logo
open-access-imgOpen Access
An Event-B Approach to the Development of Fork/Join Parallel Programs
Author(s) -
Jie Peng,
Tangliu Wen,
Yiguo Yang,
Guoming Huang
Publication year - 2022
Publication title -
eai endorsed transactions on ai and robotics
Language(s) - English
Resource type - Journals
ISSN - 2790-7511
DOI - 10.4108/airo.v1i.16
Subject(s) - fork (system call) , computer science , correctness , join (topology) , fork–join queue , atomicity , task (project management) , decomposition , theoretical computer science , programming language , parallel computing , algorithm , mathematics , operating system , ecology , database transaction , management , combinatorics , economics , queue , queue management system , biology
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.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom