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.
Similar content being viewed by others
REFERENCES
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.
Killcoyne, S. and Boyle, J., Managing chaos: Bridging the cultural divide between engineers and scientists working within the life sciences, Comput. Sci. Eng., 2018.
Joppa, L.N., McInerny, G., Harper, R., et al., Troubling trends in scientific software use, Sci., 2013, vol. 340, no. 6134, pp. 814–815.
Press, W.H., Teukolsky, S.A., Vetterling, W.T., et al., Numerical Recipes: The Art of Scientific Computing, Cambridge University Press, 2007, 3rd ed.
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.
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.
Klein, R., Doebling, S., Graziani, F., et al., ASC predictive science academic alliance program verification and validation whitepaper, Lawrence Livermore National Lab. (LLNL), 2006.
Resio, D.T. and Westerink, J.J., Modeling the physics of storm surges, Phys. Today, 2008, no. 9, pp. 33–38.
Wilson, G., Aruliah, D.A., Brown, C.T., et al., Best practices for scientific computing, PLoS Biol., 2014, vol. 12, no. 1, p. e1001745.
Parker, S.G. and Johnson, C.R., SCIRun: A scientific programming environment for computational steering, Proc. IEEE/ACM SC95 Conf. Supercomputing, 1995.
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.
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.
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.
Logg, A., Mardal, K.-A., and Wells, G., Automated Solution of Differential Equations by the Finite Element Method, Springer, 2012, vol. 84.
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.
Schoberl, J., An advancing front 2D/3D-mesh generator based on abstract rules, Comput. Visualization Sci., 1997, vol. 1, no. 1, pp. 41–52.
Bonchi, F., Sobocinski, P., and Zanasi, F., Full abstraction for signal flow graphs, ACM SIGPLAN Not., 2015, vol. 50, no. 1, pp. 515–526.
Baez, J.C. and Erbele, J., Categories in control, Theory Appl. Categories, 2015, vol. 30, no. 24, pp. 836–881.
Baez, J.C., Coya, B., and Rebro, F., Props in network theory, 2017. arXiv:1707.08321.
Pavlovic, D., Monoidal computer I: Basic computability by string diagrams, Inf. Comput., 2013, vol. 226, pp. 94–116.
Awodey, S., Category Theory, Oxford University Press, 2010.
Allen, F.E., Control flow analysis, ACM Sigplan Not., 1970, vol. 5, no. 7, pp. 1–19.
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.
Morrison, J.P., Flow-based programming: A new approach to application development, CreateSpace, 2010.
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.
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.
The DOT language—Graphviz. https://www.graphviz.org/doc/info/lang.html.
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.
Buryachenko, V.A., Micromechanics of Heterogeneous Materials, New York: Springer, 2007.
Ole, S., Materials with prescribed constitutive parameters: An inverse homogenization problem, Int. J. Solids Struct., 1994, vol. 31, no. 17, pp. 2313–2329.
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.
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.
Bakhvalov, N.S. and Panasenko, G.P., Osrednenie protsessov v periodicheskikh sredakh (Averaging of Processes in Periodic Media), Moscow: Nauka, 1984.
Cole, J.D., Perturbation Methods in Applied Mathematics, Ginn-Blaisdell, 1968.
Pobedrya, B.E., Mekhanika kompozitsionnykh materialov (Mechanics of Composite Materials), Moscow: Mosk. Gos. Univ., 1984.
Hutton, D.V., Fundamentals of Finite Element Analysis, McGraw-Hill Science/Engineering/Math, 2004.
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.
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.
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.
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.
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.
Saad, Y., Iterative Methods for Sparse Linear Systems, 2000.
Jones, S.P., Haskell 98 Language and Libraries: The Revised Report, Cambridge University Press, 2003.
Badenko, V.L., Vysokoproizvoditel’nye vychisleniya. Uchebnoe posobie (High Performance Computing: Textbook), St. Petersburg: Politekh. Univ., 2010.
Author information
Authors and Affiliations
Corresponding authors
Additional information
Translated by Yu. Kornienko
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S0361768819050062