Advertisement

Objects of Alternative Set Theory in Set@l Programming Language

  • Ilya I. Levin
  • Alexey I. DordopuloEmail author
  • Ivan V. Pisarenko
  • Andrey K. Melnikov
Conference paper
  • 268 Downloads
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11657)

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.

Keywords

Architecture-independent programming Set@l programming language Alternative set theory Aspect-oriented paradigm 

References

  1. 1.
    Legalov, A.I.: Functional language for creation of architecture-independent parallel programs. Comput. Technol. 10(1), 71–89 (2005). (in Russian)zbMATHGoogle Scholar
  2. 2.
    OpenCL: The open standard for parallel programming of heterogeneous systems. https://www.khronos.org/opencl/
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    Kalyaev, I.A., Levin, I.I., Semernikov, E.A., Shmoilov, V.I.: Reconfigurable Multipipeline Computing Structures. Nova Science Publishers, New York (2012)Google Scholar
  6. 6.
    Guzik, V.F., Kalyaev, I.A., Levin, I.I.: Reconfigurable Computer Systems. Izdatel’stvo YUFU, Taganrog (2016). (in Russian)Google Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    Stroetmann, K., Herrmann, T.: SetlX – A Tutorial. Research Gate Website. https://www.researchgate.net/publication/236174821_SetlX_-_A_Tutorial. Accessed 21 Jan 2019
  9. 9.
    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-2CrossRefzbMATHGoogle Scholar
  10. 10.
    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_4CrossRefGoogle Scholar
  11. 11.
    Dessi, M.: Spring 2.5 Aspect-Oriented Programming. Packt Publishing Ltd., Birmingham (2009)Google Scholar
  12. 12.
    Kurdi, H.A.: Review on aspect oriented programming. Int. J. Adv. Comput. Sci. Appl. 4(9), 22–27 (2013)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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
  15. 15.
    Hausdorff, F.: Set Theory. AMS Chelsea Publishing, Providence (2005)zbMATHGoogle Scholar
  16. 16.
    Vopenka, P.: Alternative Set Theory: A New Look At Infinity. Izdatel’stvo Instituta matematiki, Novosibirsk (2004). (in Russian)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    Gabrusenko, K.A.: Philosophical foundations of Georg Cantor and Petr Vopenka set theories. Tomsk State Univ. J. 339, 32–25 (2010). (in Russian) Google Scholar
  19. 19.
    Vopenka, P.: The philosophical foundations of alternative set theory. Int. J. Gen. Syst. 20(1), 115–126 (1991)CrossRefGoogle Scholar
  20. 20.
    Bahvalov, N.S., ZHidkov, N.P., Kobel’kov, G.M.: Numerical methods. BINOM. Laboratoriya znanij, Moscow (2017). (in Russian)Google Scholar
  21. 21.
    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.2705434CrossRefGoogle Scholar
  22. 22.
    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)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Ilya I. Levin
    • 1
  • Alexey I. Dordopulo
    • 2
    Email author
  • Ivan V. Pisarenko
    • 2
  • Andrey K. Melnikov
    • 3
  1. 1.Southern Federal University, Academy for Engineering and Technology, Institute of Computer Technologies and Information SecurityTaganrogRussia
  2. 2.Supercomputers and Neurocomputers Research CenterTaganrogRussia
  3. 3.“InformInvestGroup” CJSCMoscowRussia

Personalised recommendations