Skip to main content
Log in

Graph-Based Software Framework for Implementation of Complex Computational Methods

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

Abstract

This paper presents a graph-based approach to the implementation of complex computational methods. The approach is aimed at providing the researcher or engineer with a set of software tools for the organization of his or her source code, which makes it possible to reduce the cost of its further verification, validation, and support. The proposed approach is based on three levels of abstraction: categorical level (description of algorithm data transformations in algebraic terms of category theory), graphical level (description of the algorithm in the form of a directed graph), and interface level (particular software implementation of tools for algorithm construction based on the introduced concept of graph model for complex computational methods). Some features of the implemented software framework for building and traversing graph models are described. The effectiveness of the graph-based approach is exemplified by the computational methods for micromechanics of composite materials.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1.
Fig. 2.
Fig. 3.
Fig. 4.
Fig. 5.
Fig. 6.

Similar content being viewed by others

REFERENCES

  1. Hannay, J.E., MacLeod, C., Singer, J., et al., How do scientists develop and use scientific software? Proc. ICSE Workshop Software Engineering for Computational Science and Engineering, 2009, pp. 1–8.

  2. Killcoyne, S. and Boyle, J., Managing chaos: Bridging the cultural divide between engineers and scientists working within the life sciences, Comput. Sci. Eng., 2018.

  3. Joppa, L.N., McInerny, G., Harper, R., et al., Troubling trends in scientific software use, Sci., 2013, vol. 340, no. 6134, pp. 814–815.

    Article  Google Scholar 

  4. Press, W.H., Teukolsky, S.A., Vetterling, W.T., et al., Numerical Recipes: The Art of Scientific Computing, Cambridge University Press, 2007, 3rd ed.

    MATH  Google Scholar 

  5. Roy, C.J. and Oberkampf, W.L., A comprehensive framework for verification, validation, and uncertainty quantification in scientific computing, Comput. Methods Appl. Mech. Eng., 2011, vol. 200, nos. 25–28, pp. 2131–2144.

    Article  MathSciNet  Google Scholar 

  6. Alekseev, A.K. and Bondarev, A.E., Application of adjoint equations in problems of verification and validation of computations, Nov. Inf. Tekhnol. Avtom. Sist., 2012, no. 15, pp. 104–112.

  7. Klein, R., Doebling, S., Graziani, F., et al., ASC predictive science academic alliance program verification and validation whitepaper, Lawrence Livermore National Lab. (LLNL), 2006.

    Google Scholar 

  8. Resio, D.T. and Westerink, J.J., Modeling the physics of storm surges, Phys. Today, 2008, no. 9, pp. 33–38.

    Article  Google Scholar 

  9. Wilson, G., Aruliah, D.A., Brown, C.T., et al., Best practices for scientific computing, PLoS Biol., 2014, vol. 12, no. 1, p. e1001745.

    Article  Google Scholar 

  10. Parker, S.G. and Johnson, C.R., SCIRun: A scientific programming environment for computational steering, Proc. IEEE/ACM SC95 Conf. Supercomputing, 1995.

  11. Armstrong, R., Gannon, D., Geist, A., et al., Toward a common component architecture for high-performance scientific computing, Proc. 8th Int. Symp. High Performance Distributed Computing, 1999, pp. 115–124.

  12. Zhang, K., Damevski, K., Venkatachalapathy, V., et al., SCIRun2: A CCA framework for high performance computing, Proc. 9th Int. Workshop High-Level Parallel Programming Models and Supportive Environments, 2004, pp. 72–79.

  13. Mortensen, M., Langtangen, H.P., and Wells, G.N., A FEniCS-based programming framework for modeling turbulent flow by the Reynolds-averaged Navier–Stokes equations, Adv. Water Resour., 2011, vol. 34, no. 9, pp. 1082–1101.

    Article  Google Scholar 

  14. Logg, A., Mardal, K.-A., and Wells, G., Automated Solution of Differential Equations by the Finite Element Method, Springer, 2012, vol. 84.

    Book  Google Scholar 

  15. Jasak, H., Jemcov, A., Tukovic, Z., et al., OpenFOAM: A C++ library for complex physics simulations, Proc. Int. Workshop Coupled Methods in Numerical Dynamics, Dubrovnik, Croatia, 2007, vol. 1000, pp. 1–20.

  16. Schoberl, J., An advancing front 2D/3D-mesh generator based on abstract rules, Comput. Visualization Sci., 1997, vol. 1, no. 1, pp. 41–52.

    Article  Google Scholar 

  17. Bonchi, F., Sobocinski, P., and Zanasi, F., Full abstraction for signal flow graphs, ACM SIGPLAN Not., 2015, vol. 50, no. 1, pp. 515–526.

    Article  Google Scholar 

  18. Baez, J.C. and Erbele, J., Categories in control, Theory Appl. Categories, 2015, vol. 30, no. 24, pp. 836–881.

    MathSciNet  MATH  Google Scholar 

  19. Baez, J.C., Coya, B., and Rebro, F., Props in network theory, 2017. arXiv:1707.08321.

  20. Pavlovic, D., Monoidal computer I: Basic computability by string diagrams, Inf. Comput., 2013, vol. 226, pp. 94–116.

    Article  MathSciNet  Google Scholar 

  21. Awodey, S., Category Theory, Oxford University Press, 2010.

    MATH  Google Scholar 

  22. Allen, F.E., Control flow analysis, ACM Sigplan Not., 1970, vol. 5, no. 7, pp. 1–19.

    Article  Google Scholar 

  23. Johnston, W.M., Hanna, J., and Millar, R.J., Advances in dataflow programming languages, ACM Comput. Surv., 2004, vol. 36, no. 1, pp. 1–34.

    Article  Google Scholar 

  24. Morrison, J.P., Flow-based programming: A new approach to application development, CreateSpace, 2010.

    Google Scholar 

  25. Sokolov, A.P., Shpakova, Yu.V., and Pershin, A.Yu., Designing the GCD distributed software system for numerical simulation of composites, Sbornik trudov XXV Mezhdunarodnoi nauchnoi konferentsii “Matematicheskie metody v tekhnike i tekhnologiyakh” (Proc. 25th Int. Sci. Conf. Mathematical Methods in Technics and Technology), Volgograd, 2012, vol. 5, pp. 79–80.

  26. Sokolov, A.P. and Pershin, A.Yu., Software toolset for creating data entry subsystems when developing engineering analysis systems, Program. Inzheneriya, 2017, vol. 8, no. 12, pp. 543–555.

    Article  Google Scholar 

  27. The DOT language—Graphviz. https://www.graphviz.org/doc/info/lang.html.

  28. Wang, Q., Zhang, R., Wang, J., et al., An efficient method for geometric modeling of 3D braided composites, J. Eng. Fibers Fabr., 2016, vol. 11, no. 14, pp. 76–87.

    Google Scholar 

  29. Buryachenko, V.A., Micromechanics of Heterogeneous Materials, New York: Springer, 2007.

    Book  Google Scholar 

  30. Ole, S., Materials with prescribed constitutive parameters: An inverse homogenization problem, Int. J. Solids Struct., 1994, vol. 31, no. 17, pp. 2313–2329.

    Article  MathSciNet  Google Scholar 

  31. Bobryshev, A.N., Zharin, D.E., Shafigullin, L.N., and Gumerov, M.I., System for computer-aided design of special-purpose filled polymer composite materials, Kuznechno-shtampovochnoe proizvodstvo. Obrabotka materialov davleniem, 2009, no. 8, pp. 9–16.

  32. Kiselev, A.M., Identification of promising directions in the construction of automated systems for designing 3D preforms and predicting the specified properties of composite materials based on them, Izv. Vyssh. Uchebn. Zaved., Tekhnol. Tekst. Prom-sti, 2009, vol. 356, no. 2, pp. 141–145.

    Google Scholar 

  33. Bakhvalov, N.S. and Panasenko, G.P., Osrednenie protsessov v periodicheskikh sredakh (Averaging of Processes in Periodic Media), Moscow: Nauka, 1984.

  34. Cole, J.D., Perturbation Methods in Applied Mathematics, Ginn-Blaisdell, 1968.

    MATH  Google Scholar 

  35. Pobedrya, B.E., Mekhanika kompozitsionnykh materialov (Mechanics of Composite Materials), Moscow: Mosk. Gos. Univ., 1984.

  36. Hutton, D.V., Fundamentals of Finite Element Analysis, McGraw-Hill Science/Engineering/Math, 2004.

    Google Scholar 

  37. Dimitrienko, Yu.I., Sborshchikov, S.V., and Sokolov, A.P., Numerical simulation of microdestruction and strength characteristics of spatially reinforced composites, Compos.: Mech., Comput., Appl., 2013, vol. 4, no. 4, pp. 345–364.

    Google Scholar 

  38. Dimitrienko, Yu.I., Sborshchikov, S.V., Sokolov, A.P., Gafarov, B.R., and Sadovnichii, D.N., Numerical and experimental simulation of strength characteristics of spheroplasts, Kompoz. Nanostrukt., 2013, vol. 19, no. 3, pp. 35–51.

    Google Scholar 

  39. Sokolov, A.P., Shchetinin, V.N., and Sapelkin, A.S., Parallel algorithm for constructing the strength surface of CM for the Intel Many Integrated Core architecture, Program. Sist.: Teor. Prilozh., 2016, vol. 7, no. 2, pp. 3–25.

    Google Scholar 

  40. Sokolov, A.P., Pershin, A.Yu., Shchetinin, V.N., and Sapelkin, A.S., Reversible multiscale homogenization of physical and mechanical characteristics of heterogeneous periodic media with the use of a graph-based software approach, Kompoz. Nanostrukt., 2017, vol. 9, no. 3–4, pp. 25–38.

    Google Scholar 

  41. Balandin, M.Yu. and Shurina, E.P., Metody resheniya SLAU bol’shoi razmernosti (Methods for Solving SLAE of high dimension), Novosibirsk: Novosib. Gos. Tekh. Univ., 2000.

  42. Saad, Y., Iterative Methods for Sparse Linear Systems, 2000.

  43. Jones, S.P., Haskell 98 Language and Libraries: The Revised Report, Cambridge University Press, 2003.

    MATH  Google Scholar 

  44. Badenko, V.L., Vysokoproizvoditel’nye vychisleniya. Uchebnoe posobie (High Performance Computing: Textbook), St. Petersburg: Politekh. Univ., 2010.

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to A. P. Sokolov or A. Yu. Pershin.

Additional information

Translated by Yu. Kornienko

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Sokolov, A.P., Pershin, A.Y. Graph-Based Software Framework for Implementation of Complex Computational Methods. Program Comput Soft 45, 257–267 (2019). https://doi.org/10.1134/S0361768819050062

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768819050062

Navigation