Abstract
Software porting between high-performance computer systems with different architectures requires a major code revision due to the architectural limitation of available programming languages. To solve the problem, we have proposed an architecture-independent Set@l programming language based on the principles of set-theoretic codeview and aspect-oriented programming. In Set@l, a program consists of a source code, which describes an information graph of a computational problem, and aspects, which adapt an algorithm to the architecture and configuration of a computer system. If an algorithm remains unchanged during its architectural adaptation, calculations and their parallelizing are described within the Cantor-Bolzano set theory. In the case of algorithm modification, some collections are indefinite, and we can not treat them as traditional sets with sharply defined elements. To describe indefinite objects, Set@l applies the alternative set theory developed by P. Vopenka. If collection has indefinite type and structure at some level of abstraction, it belongs to a “class” type. In contrast to a class, the indefiniteness of a semiset is an essential and inalienable attribute. The application of classes, sets and semisets allows to describe various methods of the algorithm implementation and parallelizing as an entire Set@l program. In this paper the Jacobi algorithm for the solution of linear equation systems is considered as an example of the utilization of classes and semisets.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Legalov, A.I.: Functional language for creation of architecture-independent parallel programs. Comput. Technol. 10(1), 71–89 (2005). (in Russian)
OpenCL: The open standard for parallel programming of heterogeneous systems. https://www.khronos.org/opencl/
Levin, I.I., Dordopulo, A.I., Pisarenko, I.V., Mel’nikov, A.K.: Approach to architecture-independent programming of computer systems in aspect-oriented Set@l language. Izv. SFedU. Eng. Sci. 3, 46–58 (2018). https://doi.org/10.23683/2311-3103-2018-3-46-58. (in Russian)
Levin, I.I., Dordopulo, A.I., Mel’nikov, A.K., Pisarenko, I.V.: Aspect-oriented approach to architecture-independent programming of computer systems. In: Proceedings of the 5th All-Russia Conference on Supercomputer Technologies (SCT-2018), Izdatel’stvo YUFU, Taganrog, vol. 1, pp. 181–183 (2018). (in Russian)
Kalyaev, I.A., Levin, I.I., Semernikov, E.A., Shmoilov, V.I.: Reconfigurable Multipipeline Computing Structures. Nova Science Publishers, New York (2012)
Guzik, V.F., Kalyaev, I.A., Levin, I.I.: Reconfigurable Computer Systems. Izdatel’stvo YUFU, Taganrog (2016). (in Russian)
Dordopulo, A.I., Levin, I.I., Kalyaev, I.A., Gudkov, V.A., Gulenok, A.A.: Programming of hybrid computer systems in the programming language COLAMO. Izv. SFedU. Eng. Sc. 11, 39–54 (2016). https://doi.org/10.18522/2311-3103-2016-11-39-54. (in Russian)
Stroetmann, K., Herrmann, T.: SetlX – A Tutorial. Research Gate Website. https://www.researchgate.net/publication/236174821_SetlX_-_A_Tutorial. Accessed 21 Jan 2019
Cantone, D., Omodeo, E., Policriti, A.: Set Theory for Computing: From Decision Procedures to Declarative Programming with Sets. Springer-Verlag, New York (2001). https://doi.org/10.1007/978-1-4757-3452-2
Dewar, R.: SETL and the evolution of programming. In: Davis, M., Schonberg, E. (eds.) From Linear Operators to Computational Biology, pp. 39–46. Springer, London (2013). https://doi.org/10.1007/978-1-4471-4282-9_4
Dessi, M.: Spring 2.5 Aspect-Oriented Programming. Packt Publishing Ltd., Birmingham (2009)
Kurdi, H.A.: Review on aspect oriented programming. Int. J. Adv. Comput. Sci. Appl. 4(9), 22–27 (2013)
Podorozhkin, D.Yu., Kogaj, A.R., Safonov, V.O.: Application of aspect-oriented programming methods for development of software systems. J. Comput. Sci. Telecommun. Control Syst. 126(3), 166–171 (2011)
Rebelo, H., Leavens, G.T.: Aspect-oriented programming reloaded. In: Proceedings of the 21st Brazilian Symposium on Programming Languages, SBLP 2017 (2017). Art. no. 10. https://doi.org/10.1145/3125374
Hausdorff, F.: Set Theory. AMS Chelsea Publishing, Providence (2005)
Vopenka, P.: Alternative Set Theory: A New Look At Infinity. Izdatel’stvo Instituta matematiki, Novosibirsk (2004). (in Russian)
Holmes, M.R., Forster, T., Libert, T.: Alternative set theories. In: Gabbay, D.M., Kanamori, A., Woods, J. (eds.) Handbook of the History of Logic: Sets and Extensions in the Twentieth Century, vol. 6, pp. 559–632. Elsevier (2012)
Gabrusenko, K.A.: Philosophical foundations of Georg Cantor and Petr Vopenka set theories. Tomsk State Univ. J. 339, 32–25 (2010). (in Russian)
Vopenka, P.: The philosophical foundations of alternative set theory. Int. J. Gen. Syst. 20(1), 115–126 (1991)
Bahvalov, N.S., ZHidkov, N.P., Kobel’kov, G.M.: Numerical methods. BINOM. Laboratoriya znanij, Moscow (2017). (in Russian)
Ebrahimi, A., Zandsalimy, M.: Evaluation of FPGA hardware as a new approach for accelerating the numerical solution of CFD problems. IEEE Access 5, 9717–9727 (2017). https://doi.org/10.1109/ACCESS.2017.2705434
Kalyaev, I.A, Levin, I.I., Semernikov, E.A., SHmojlov, V.I.: Reconfigurable Multipipeline Computing Structures, 2nd edn. Izdatel’stvo YUNC RAN, Rostov-on-Don (2009). (in Russian)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Levin, I.I., Dordopulo, A.I., Pisarenko, I.V., Melnikov, A.K. (2019). Objects of Alternative Set Theory in Set@l Programming Language. In: Malyshkin, V. (eds) Parallel Computing Technologies. PaCT 2019. Lecture Notes in Computer Science(), vol 11657. Springer, Cham. https://doi.org/10.1007/978-3-030-25636-4_3
Download citation
DOI: https://doi.org/10.1007/978-3-030-25636-4_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-25635-7
Online ISBN: 978-3-030-25636-4
eBook Packages: Computer ScienceComputer Science (R0)