Formal methods of parallel software design automation

Authors

  • A.Yu. Doroshenko Institute of Software Systems of the NAS of Ukraine, Kyiv
  • О.А. Яценко Institute of Software Systems of the NAS of Ukraine, Kyiv

DOI:

https://doi.org/10.15407/dopovidi2020.06.015

Keywords:

algebra of algorithms, automated design, formal methods, graphics processing unit, parallel computation, term rewriting

Abstract

Formal methods and software tools of automated design and synthesis of parallel programs are proposed. The developed facilities use the language based on the Glushkov system of algorithmic algebras intended for a highlevel and natural linguistic representation of algorithms and apply rewriting rules technique to transform programs. The tools also use the method of syntactically correct algorithm scheme design which eliminates syntax errors during the construction of algorithms and programs. The approach is illustrated on developing the parallel N-body simulation program for the executing on a graphics processing unit.

Downloads

References

Doroshenko, A., & Shevchenko, R. (2006). A rewriting framework for rule-based programming dynamic applications. Fundamenta Informaticae, 72(1-3), pp. 95-108.

Andon, P. I., Doroshenko, A. Yu., Zhereb, K. A., & Yatsenko, O. A. (2018). Algebra-algorithmic models and methods of parallel programming. Kyiv: Akademperiodyka. https://doi.org/10.15407/akademperiodyka.367.192

Doroshenko, A. Yu., & Yatsenko, O. A. (2020). Formal and adaptive methods for automation of parallel programs construction. (unpublished manuscript)

Butler, R. W. (2001). What is formal methods? Retrieved from http://shemesh.larc.nasa.gov/fm/fm-what.html

Flener, P. (2002). Achievements and prospects of program synthesis. In A. C. Kakas & F. Sadri (Eds.). Computational Logic: Logic Programming and Beyond. LNCS (Vol. 2407, pp. 310-346). Berlin: Springer. https://doi.org/10.1007/3-540-45628-7_13

Gulwani, S. (2010). Dimensions in program synthesis. Proc. of the 12th Int. ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming (pp. 13-24). New York: ACM. https://doi.org/10.1145/1836089.1836091

Nvidia CUDA technology (n.d.). Retrieved from http://www.nvidia.com/cuda

Prusov, V. & Doroshenko, A. (2018). Computational techniques for modeling atmospheric processes. Hershey, PA: IGI Global. https://doi.org/10.4018/978-1-5225-2636-0

Aarseth, S. J. (2003). Gravitational N-body simulations: Tools and algorithms. Cambridge: Cambridge University Press.

Makino, J., & Aarseth, S. J. (1992). On a Hermite integrator with Ahmad-Cohen. Publications of the Astronomical Society of Japan, 44, pp. 141-151.

Downloads

Published

28.03.2024

How to Cite

Doroshenko, A. ., & Яценко, О. . (2024). Formal methods of parallel software design automation . Reports of the National Academy of Sciences of Ukraine, (6), 15–20. https://doi.org/10.15407/dopovidi2020.06.015

Issue

Section

Information Science and Cybernetics