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

Authors

  • Jie Peng Gannan University of Science and Technology, Ganan 341000, China
  • Tangliu Wen Gannan University of Science and Technology, Ganan 341000, China
  • Yiguo Yang School of Computer Engineering and Science, Shanghai University, Shanghai 2000444,China
  • Guoming Huang Gannan University of Science and Technology, Ganan 341000, China

DOI:

https://doi.org/10.4108/airo.v1i.16

Keywords:

Event-B, Fork/Join, refinement, decomposition

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.

Downloads

Download data is not yet available.

References

[1] J. R. Abrial, Modeling in Event B: System and Software Engineering, Cambridge University Press, London, 2010

[2] J. R. Abrial, S. Hallerstede, Refinement Decomposition and Instantiation of Discrete Models: Application to Event-B, Fundamenta Informaticae 2 (2007) 1-28

[3] A. T. Khan, X. Cao, Z. Li, and S. Li, “Evolutionary Computation Based Real-time Robot Arm Path-planning Using Beetle Antennae Search”, EAI Endorsed Trans AI Robotics, vol. 1, pp. 1–10, Jan. 2022.

[4] Z. Chen, J. Walters, G. Xiao, and S. Li, “An Enhanced GRU Model With Application to Manipulator Trajectory Tracking”, EAI Endorsed Trans AI Robotics, vol. 1, pp. 1–11, Jan. 2022.

[5] Y. Yang, L. Liao, H. Yang and S. Li, “An Optimal Control Strategy for Multi-UAVs Target Tracking and Cooperative Competition,” IEEE/CAA Journal of Automatica Sinica, vol. 8, no. 12, pp. 1931-1947, 2020.

[6] L. Liao, Y. Yang, “Adaptive radial basis function neural network bi-quadratic functional optimal control for manipulators,” Control Theory & Applications, vol. 37, no. 1, pp. 47-58, 2020.

[7] S. Akkara and J. T, “PI Controller Based Switching Reluctance Motor Drives using Smart Bacterial Foraging Algorithm”, EAI Endorsed Trans AI Robotics, vol. 1, pp. 1–8, Jan. 2022.

[8] D. Lea, A Java fork/join framework, in: Proc. ACM 2000 conference on Java Grande, 2000, pp. 36-43

[9] M. D. Wael, How to achieve scalable fork/join on many-core architectures, in: Proc. Annual conference on Systems, programming, and applications: software for humanity, 2012, pp. 85-86

[10] A. S. Fathabadi, M. Butler, A systematic approach to atomicity decomposition in event-b, in: Proc. Software Engineering and Formal Methods, 2012, pp. 78-93

[11] A. S. Fathabadi, M. Butler, Applying Event-B atomicity decomposition to a multi media protocol, in: Proc. Formal Methods for Components and Objects, 2010, pp. 89-104

[12] S. Hallerstede, M. Leuschel, D. Plagge, Refinementanimation for Event-B-towards a method of validation, in: Proc. Abstract State Machines, Alloy, B and Z, 2010, pp. 287-301

[13] T. S. Hoang, A. Iliasov, R. A. Silva, et al, A survey on Event-B decomposition, Electronic Communications of the EASST, 46 (2011) 1-15

[14] J. R. Abrial, M. Butler, Hallerstede S, et al, Rodin: an open toolset for modelling and reasoning in Event-B, International journal on software tools for technology transfer, 16(2010) 447-466

[15] A. Edmunds, M. Butler, Linking Event-B and concurrent object-oriented programs, Electronic Notes in Theoretical Computer Science, 214 (2008) 159-182.

[16] P. Bostrom, F. Degerlund, K. Sere, et al, Derivation of concurrent programs by stepwise scheduling of Event-B models, Formal Aspects of Computing, 8 (2012) 1-23

[17] D. Mery, N. K. Singh, Automatic code generation from event-B models, in: Proc. the Second Symposium on Information and Communication Technology, 2011, pp.179-188.

[18] L. Butler, Decomposition structures for Event-B, in: Proc. Integrated Formal Methods, 2009, pp. 20-38

[19] R. Silva, C. Pascal, M. Butler, et al, Decomposition tool for Event-B, Software: Practice and Experience, 41 (2011) 199-208.

[20] T. S. Hoang, J. R. Abrial, Event-B decomposition for parallel programs, Springer Berlin, Heidelberg, 2010

[21] G. Dupont, Y. Ameur, M. Pantel, et al. Handling refinement of continuous behaviors: a proof based approach with event-B, 2019 International Symposium on Theoretical Aspects of Software Engineering (TASE). IEEE, 2019: 9-16.

[22] S. Sritharan, T. S. Hoang, Towards generating SPARK from Event-B models, International Conference on Integrated Formal Methods. Springer, Cham, 2020: 103-120.

[23] M. Leuschel, M. Mutz, M. Werth, Modelling and validating an automotive system in classical B and eventB, International Conference on Rigorous State-Based Methods. Springer, Cham, 2020: 335-350.

[24] Sritharan, Sanjeevan, and T. S. Hoang. Towards generating SPARK from Event-B models, International Conference on Integrated Formal Methods. Springer, Cham, 2020.

[25] D. Mohammadsadegh, B. Michael, R. Abdolbaghi, Verifiable code generation from scheduled Event-B models. In 6th International Conference, ABZ 2018, Southampton, UK, June 5-8, 2018.

[26] K. Rustan M. Leino. Developing verified programs with Dafny. In Rajeev Joshi, Peter Muller, and Andreas Podelski, editors, Verified Software: Theories, Tools, Experiments-4th International Conference, VSTTE 2012, Philadelphia, PA, USA, January 28-29, 2012. Proceedings, volume 7152 of Lecture Notes in Computer Science, page 82. Springer, 2012.

Downloads

Published

18-02-2022

How to Cite

1.
Peng J, Wen T, Yang Y, Huang G. An Event-B Approach to the Development of Fork/Join Parallel Programs. EAI Endorsed Trans AI Robotics [Internet]. 2022 Feb. 18 [cited 2026 Nov. 4];1:e6. Available from: https://publications.eai.eu/index.php/airo/article/view/16

Most read articles by the same author(s)