The important challenge of modern programming is its mathematization, the development of formalized languages for designing algorithms and programs as well as their abstract models. The facilities for design, analysis and implementation of algorithms are especially actual in connection with essential processes of computerization and automation of society activities. Such facilities are developed within the framework of algorithmics and algebraic programming, which are the directions of Ukrainian algebraic-cybernetic school originating from fundamental works of Academician V.M. Glushkov.
The book proposes formal models, methods and software tools for design of sequential and parallel programs, which are based on algebras of algorithms and term rewriting paradigm.
1. A compiler framework for optimization of affine loop nests for GPGPUs / Baskaran M., Bondhugula U., Krishna moorthy S. et al. // Proc. 22nd Annual Int. Conf. on Supercomputing (ICS’08), Island of Kos, Greece (June 7-12, 2008). – New York: ACM, 2008. – P. 225-234.
2. A machine learning framework for programming by example / Menon A.K., Tamuz O., Gulwani S. et al. // Proc. 30th Int. Conf. on Machine Learning (ICML’13), Atlanta, GA, USA (June 16-21, 2013). – 2013. – P. 187-195.
3. A MDE framework for semi-automatic development of Web applications / Solis J., Pacheco H., Naje ra K., Estrada H. // Proc. 1st Int. Conf. on Model-Driven Engineering and Software Development, Barcelona, Spain (February 19 21, 2013). – Lisbon: SciTePress, 2013. – P. 241-246.
4. A theory of clones and formalized design of programs / Doroshenko A., Tseytlin G., Yatsenko O., Zachariya L. // Proc. Int. Workshop “Concurrency, Specification and Programming” CS&P’2006, Wandlitz, Germany (September 27-29, 2006). – 2006. – P. 328-339.
5. Akhter S. Multi-core programming. Increasing performance through software multi-threading / S. Akhter, J. Roberts. – Intel Press, 2006. – 336 p.
6. Alalfi M. SQL2XMI: reverse engineering of UML-ER diagrams from relational database schemas / M. Alalfi , J.R. Cordy, T.R. Dean // Proc. 15th Working Conf. on Reverse Engineering (WCRE’08), Antwerp, Belgium (October 15-18, 2008). – 2008. – P. 187-191. https://doi.org/10.1109/WCRE.2008.30
7. Algebra-algorithmic models and methods of parallel programming / Andon F.I., Doroshenko A.Y., Tseytlin G.O., Yatsenko O.A. – Kyiv: Akademperiodika, 2007. – 631 p. (in Russian)
8. Allen R. Optimizing compilers for modern architectures: a dependence-based approach / R. Allen, K. Kennedy. – San Francisco: Morgan Kaufmann, 2001. – 790 p.
9. An algebraic foundation for automatic feature-based program synthesis / Apel S., Lengauer C., Möller B., Kästner C. // Science of Computer Programming. – 2010. – Vol. 75, Issue 11. – P. 1022-1047. https://doi.org/10.1016/j.scico.2010.02.001
10. An approach to the parallel solution of a high-dimensional basic flow problem / Pogorilyy S.D., Boyko Yu.V., Gusarov A.D., Lozytskyi S.I. // Cybernetics and Systems Analysis. – 2009. – Vol. 45, Issue 2. – P. 291-296. https://doi.org/10.1007/s10559-009-9099-z
11. Andon P.I. Programming high-performance parallel computations: formal models and graphics processing units / P.I. Andon, A.Yu. Doroshenko, K.A. Zhereb // Cybernetics and Systems Analysis. – 2011. – Vol. 47, Issue 4. – P. 659-668. https://doi.org/10.1007/s10559-011-9346-y
12. Anisimov A.V. Programming of parallel processors in control spaces / A.V. Anisimov, P.P. Kulyabko // Cybernetics. – 1984. – Vol. 20, Issue 3. – P. 404-418. https://doi.org/10.1007/BF01068474
13. Apache jclouds. The Java multi-cloud toolkit [Online]. – Available from: http://jclouds.apache.org
14. APS and IMS are best for rewriting and modelling [Online]. – Available from: http://apsystems.org.ua
15. Arnoldus J. Repleo: a syntax-safe template engine / J. Arnoldus, J. Bijpost, M. van den Brand // Proc. 6th Int. Conf. on Generative Programming and Component Engineering, Salzburg, Austria (October 1-3, 2007). – 2007. – P. 25-32. https://doi.org/10.1145/1289971.1289977
16. Automated program design – an example solving a weather forecasting problem [Online] / Doroshenko A., Ivanenko P., Ovdii O., Yatsenko O. // Open Physics. – 2016. – Vol. 14, Issue 1. – P. 410-419. – Available from: https://doi.org/10.1515/phys-2016-0048
17. Automated refactoring of object oriented code into aspects / Binkley D., Ceccato M., Harman M. et al. // Proc. 21st IEEE Int. Conf. on Software Maintenance (ICSM’05), Budapest, Hungary (September 25-30, 2005). – 2005. – P. 27-36.
18. Baader F. Term rewriting and all that / F. Baader, T. Nipkow. – Cambridge: Cambridge University Press, 1999. – 316 p. https://doi.org/10.1017/CBO9781139172752
19. Bagge O.S. Design of the CodeBoost transformation system for domain-specific optimisation of C++ programs / Bagge O.S., Kalleberg K.T., Haveraaen M., Visser E. // Proc. 3rd IEEEInt. Workshop on Source Code Analysis and Manipulation (SCAM 2003), Amsterdam, The Netherlands (September 26-27, 2003). – 2003. – P. 65-74.
20. Bagheri H. Pol: specification-driven synthesis of architectural code frameworks for platform-based applications / H. Bagheri, K. Sullivan // Proc. 11th Int. Conf. on Generative Programming and Component Engineering, Dresden, Germany (September 26-27, 2012). – 2012. – P. 93-102. https://doi.org/10.1145/2371401.2371416
21. Barney B. Introduction to Parallel Computing [Online] / B. Barney. – Available from: https:// computing.llnl.gov/tutorials/parallel_comp/#ModelsShared
22. Batory D. Program refactoring, program synthesis, and model-driven development / D. Batory // Proc. 16th Int. Conf. on Compiler Construction, Braga, Portugal (March 26-30, 2007). Lecture Notes in Computer Science. – 2007. – Vol. 4420. – P. 156-171. https://doi.org/10.1007/978-3-540-71229-9_11
23. Bird R.S. Lectures on constructive functional programming / R.S. Bird // Constructive Methods in Computer Science (M. Broy, ed.). – NATO ASI Series F. – Springer Verlag, 1993. – Vol. 55. – P. 151-218. https://doi.org/10.1007/978-3-642-74884-4_5
24. Blelloch G.E. Programming parallel algorithms / G.E. Blelloch // Communications of the ACM. – 1996. – Vol. 39, Issue 3. – P. 85 -97. https://doi.org/10.1145/227234.227246
25. Bouwers E. Grammar engineering support for precedence rule recovery and compatibility checking / E. Bouwers , M. Bravenboer, E. Visser // Proc. 7th Workshop on Language Descriptions, Tools, and Applications (LDTA 2007), Braga, Portugal (March 25, 2007). – 2007. – P. 85-101. https://doi.org/10.1016/j.entcs.2008.03.046
26. Bravenboer M. Preventing injection attacks with syntax embeddings. A host and guest language independent approach / M. Bravenboer, E. Dolstra, E. Visser // Generative Programming and Component Engineering (GPCE’07), Salzburg, Austria (October 1-3, 2007). – 2007. – P. 3-12. https://doi.org/10.1145/1289971.1289975
27. Bulyonkov M. Mixed computation and compilation: New Approaches to Old Problems / M. Bulyonkov // Theoretical Computer Science. – 1990. -Vol. 71. – P. 209-226. https://doi.org/10.1016/0304-3975(90)90198-Q
28. Buyya R. High performance cluster computing: programming and applications / R. Buyya. – Vol. 2. – Upper Saddle River, New Jersey: Prentice Hall, 1999. – 664 p.
29. Carriero N. Coordination languages and their significance / N. Carriero, D. Gelernter // Communications of the ACM. – 1992. – Vol. 35, Issue 4. – P. 96-107. https://doi.org/10.1145/129630.376083
30. Casl – the Common Algebraic Specification Language / Mossakowski T., Haxthausen A.E., Sa nella D., Tarlecki A. // Logics of Specification Languages. – Berlin: Springer, 2008. – P. 241-298. https://doi.org/10.1007/978-3-540-74107-7_5
31. Chandy K.M. Parallel program design: a foundation / K.M. Chandy, J. Misra. – New York: Addison Wesley, 1988. – 516 p.
32. Chen G. KVM – open source virtualization for the enterprise and OpenStack clouds [Online] / G. Chen. – Available from: https://www.bloombase.com/content/S5uCoG9Q
33. Cole M.I. Algorithmic skeletons: structured management of parallel computation / M.I. Cole. – Cambridge: MIT Press, 1989. – 208 p.
34. Compiling language definitions: the ASF+SDF compiler / van den Brand M., Heering J., Klint P., Olivier P. // ACM Transactions on Programming Languages and Systems. – 2000. – Vol. 24. – P. 334-368. https://doi.org/10.1145/567097.567099
35. Conway’s game of life [Online]. – Available from: https://en.wikipedia.org/wiki/Conway‘s_Game_of_Life
36. Cordy J.R. The TXL source transformation language / J.R. Cordy // Science of Computer Programming. – 2006. – Vol. 61, Issue 3. – P. 190-210. https://doi.org/10.1016/j.scico.2006.04.002
37. Czarnecki K. Generative programming: methods, tools, and applications / K. Czarnecki, U. Eisenecker. – Boston: Addison-Wesley, 2000. – 864 p.
38. Data model reverse engineering in migrating a legacy system to Java / Ceccato M., Dean T.R., Tonella P., Marchignoli D. // Proc. 15th Working Conf. on Reverse Engineering (WCRE 2008), Antwerp, Belgium (October 15-18, 2008). – 2008. – P. 177-186.
39. Dershowitz N. Rewriting / N. Dershowitz, D.A. Plaisted // Robinson A.J., Voronkov A. Handbook of automated reasoning. – Elsevier, 2001. – 2128 p. https://doi.org/10.1016/B978-044450813-3/50011-4
40. Dijkstra E.W. A discipline of programming / E.W. Dijkstra. – New Jersey: Prentice Hall, 1976. – 217 p.
41. Dolstra E. Building interpreters with rewriting strategies / E. Dolstra, E. Visser // Proc. 2nd Workshop on Language Descriptions, Tools and Applications (LDTA 2002), Grenoble, France (April 13, 2002). – 2002. – P. 57-76. https://doi.org/10.1016/S1571-0661(04)80427-4
42. Doroshenko A. A rewriting framework for rule-based programming dynamic applications / A. Do roshenko, R. Shevchenko // Fundamenta Informaticae. – 2006. – Vol. 72, Issue 1-3. – P. 95-108.
43. Doroshenko A. Developing and optimizing parallel programs with algebra-algorithmic and term rewriting tools / A. Doroshenko, K. Zhereb, O. Yatsenko // Communications in Computer and Information Science. Information and Communication Technologies in Education, Research, and Industrial Applications. – Heidelberg: Springer, 2013. – Vol. 412. – P. 70-92. https://doi.org/10.1007/978-3-319-03998-5_5
44. Doroshenko A. Formal facilities for designing efficient GPU programs / A. Doroshenko, K. Zhereb, O. Yatsenko // Proc. Int. Workshop “Concurrency, Specification, and Programming” (CS&P’2010), Bernau, Germany (September 27-29, 2010). – Berlin: Humboldt University, 2010. – P. 142-153.
45. Doroshenko A. Models and parallel programming abstractions to enhance concurrency of parallel programs / A. Doroshenko, G. Tseytlin // Fundamenta Informaticae. – 2004. – Vol. 60, Issue 1-4. – P. 99-111.
46. Doroshenko A. Parallelizing legacy Fortran programs using rewriting rules technique and algebraic program models / A. Doroshenko, K. Zhereb // Communications in Computer and Information Science. Information and Communication Technologies in Education, Research, and Industrial Applications. – Springer, Heidelberg, 2013. – Vol. 347. – P. 39-59. https://doi.org/10.1007/978-3-642-35737-4_3
47. Doroshenko A. Using algebra-algorithmic and term rewriting tools for developing efficient pa rallel programs / A. Doroshenko, K. Zhereb, O. Yatsenko // Proc. 9th Int. Conf. “ICT in Education, Research and Industrial Applications: Integration, Harmonization and Knowledge Transfer” (ICTERI 2013), Kherson, Ukraine (19-22 June 2013). – 2013. – Vol. 1000. – P. 38-46.
48. Doroshenko A. Using ontologies and algebra of algorithms for formalized development of parallel programs / A. Doroshenko, O. Yatsenko // Fundamenta Informaticae. – 2009. – Vol. 93, Issue 1-3. – P. 111-125. https://doi.org/10.3233/FI-2009-0091
49. Doroshenko A.Yu. Algebra-dynamic models for program parallelization / A.Yu. Doroshenko, K.A. Zhereb // Problems in programming. – 2010. – Issue 1. – P. 39-55. (in Russian)
50. Doroshenko A.Yu. Development of highly-parallel applications for graphical processing units using rewriting rules / A.Yu. Doroshenko, K.A. Zhereb // Problems in programming. – 2009. – Issue 3. – P. 3-18. (in Russian) https://doi.org/10.1109/CEE-SECR.2009.5501192
51. Doroshenko A.Yu. Mathematical models and methods of organization of highly productive parallel computations. The algebra-dynamic approach / A.E. Doroshenko. – Kyiv: Naukova dumka, 2000. – 177 p. (in Russian)
52. Doroshenko A.Yu. Ontological and algebra-algorithmic tools for automated design of parallel programs for cloud platforms / A.Yu. Doroshenko, O.M. Ovdii, O.A. Yatsenko // Cybernetics and Systems Analysis. – 2017. – Vol. 53, Issue 2. – P. 323-332. https://doi.org/10.1007/s10559-017-9932-8
53. Doroshenko A.Yu. About the synthesis of Java programs by algebraalgorithmic specifications / A.Yu. Doroshenko, O.A. Yatsenko // Problems in programming. – 2006. – Issue 4. – P. 58- 70. (in Russian)
54. Doroshenko A.Yu. On complexity and coordination of computation in multithreaded programs / A.Yu. Doroshenko, K.A. Zhereb, O.A. Yatsenko // Problems in programming. – 2007. – Issue 2. – P. 41-55. (in Russian)
55. Dybvig R.K. From macrogeneration to syntactic abstraction / R.K. Dybvig // Higher-Order and Symbolic Computation. – 2000. – Vol. 13. – P. 57-63. https://doi.org/10.1023/A:1010041423101
56. Ehrig M. Ontology mapping – an integrated approach / M. Ehrig, Y. Sure // Proc. 1st European Semantic Web Symposium (ESWS 2004), Heraklion, Crete (May 10-12, 2004). – Berlin: Springer, 2004. – P. 76-91. https://doi.org/10.1007/978-3-540-25956 5_6
57. El-Ramly M. An experiment in automatic conversion of legacy Java programs to C# / M. El-Ramly, R. Eltayeb, H.A. Alla // Proc. IEEE 2006 Int. Conf. on Computer Systems and Applications (COMPSAC’06), Dubai, UAE (March 8, 2006). – 2006. – P. 1037-1045. https://doi.org/10.1109/AICCSA.2006.205215
58. Fabry J. ReLAx: Implementing KALA over the Reflex AOP kernel / J. Fabry , E. Tanter, T. D’Hondt // Proc. 2nd Workshop on Domain-Specific Aspect Languages (DSAL’07), Vancouver, Canada (March 12, 2007). – 2007. – P. 3-12. https://doi.org/10.1145/1255400.1255403
59. Fischer B. AutoBayes: a system for generating data analysis programs from statistical models / B. Fischer, J. Schumann // Journal of Functional Programming. – 2003. – Vol. 13, Issue 3. – P. 483-508. https://doi.org/10.1017/S0956796802004562
60. Flener P. Achievements and prospects of program synthesis / P. Flener // Computational Lo gic: Logic Programming and Beyond. Lecture Notes in Computer Science. – 2002. – Vol. 2407. -P. 310-346. https://doi.org/10.1007/3-540-45628-7_13
61. Flynn M.J. Some computer organizations and their effectiveness / M.J. Flynn // IEEE Transactions on Computers. – 1972. – Vol. 21, Issue 9. – P. 948-960. https://doi.org/10.1109/TC.1972.5009071
62. Flynn’s taxonomy [Online]. – Available from: https://en.wikipedia.org/wiki/Flynn%27s_ taxonomy#cite_note-1
63. Formal analysis of Java programs in JavaFAN / Farzan A., Chen F., Meseguer J., Rosu G. // Proc. Int. Conf. on Computer Aided Verification (CAV’2004), Boston, USA (July 13-17, 2004). – 2004. – P. 501-505. https://doi.org/10.1007/978-3-540-27813-9_46
64. Formalized methods of paralleling the Goldberg-Tarjan algorithm / Pogorilyy S.D., Boyko Yu.V., Lozytskyi S.I., Gusarov A.D. // Journal of Automation and Information Sciences. – 2008. – Vol. 40, Issue 9. – P. 64-75. https://doi.org/10.1615/JAutomatInfScien.v40.i9.60
65. Friedman-Hill E. Jess in action / E. Friedman-Hill. – Greenwich: Manning Publications Co. – 2003. – 480 p.
66. From relational verification to SIMD loop synthesis / Barthe G., Crespo J.M., Gulwani S. et al. // Proc. 18th ACM SIGPLAN symposium on Principles and practice of parallel programming, Shenzhen, China (February 23-27, 2013). ACM SIGPLAN Notices. – 2013. – Vol. 48, Issue 8. – P. 123-134. https://doi.org/10.1145/2517327.2442529
67. Garrido A. Algebraic semantics of the C preprocessor and correctness of its refactorings. Technical Report UIUCDCS-R-2006-2688 [Online] / A. Garrido, J. Meseguer, R. Johnson ; Univ. of Illinois at Urbana-Champaign, 2006. – Available from: http://www.ideals.illinois.edu/ handle/2142/11162
68. Garrido A. Formal specification and verification of Java refactorings / A. Garrido, J. Meseguer // Proc. 6th IEEE Int. Workshop on Source Code Analysis and Manipulation (SCAM’06), Philadelphia, PA, USA (September 27-29, 2006). – 2006. – P. 165-174. https://doi.org/10.1109/SCAM.2006.16
69. General-purpose computation on graphics hardware [Online]. – Available from: http://www. gpgpu.org
70. Glift: Generic, efficient, random-access GPU data structures / Lefohn A.E., Sengupta S., Kniss J. et al. // ACM Transactions on Graphics. – 2006. – Vol. 25, Issue 1. – P. 60-99. https://doi.org/10.1145/1122501.1122505
71. Glushkov V.M. Algebra. Languages. Programming. 3rd edition / V.M. Glushkov, G.O. Tseytlin, K.L. Yushchenko. – Kyiv: Naukova dumka, 1989. – 376 p. (in Russian)
72. Glushkov V.M. Automata theory and structural design problems of digital machines / V.M. Glushkov // Cybernetics. – 1965. – Vol. 1, Issue 1. – P. 3-9. https://doi.org/10.1007/BF01071436
73. Glushkov V.M. Controlling spaces in asynchronous parallel computations / V.M. Glushkov, A.V. Anisimov // Cybernetics. – 1980. – Vol. 16, Issue 5. – P. 633-641.
74. Glushkov V.M. Methods of symbolic multiprocessing / V.M. Glushkov, G.O. Tseytlin, K.L. Yushchen ko. – Kyiv: Naukova dumka, 1980. – 252 p. (in Russian)
75. Glushkov V.M. The automatization of computers design / V.M. Glushkov, Yu.V. Kapitonova, A.A. Letichevskii. – Kyiv: Naukova dumka, 1975. – 232 p. (in Russian)
76. Gonidis F. On the role of ontologies in the design of service based cloud applications / F. Gonidis, I. Paraskakis, A.J.H. Simons // Proc. Euro-Par 2014 Int. Workshops, Porto, Portugal (25-26 August, 2014), revised selected papers, part II. – P. 1-12. https://doi.org/10.1007/978-3-319-14313-2_1
77. GpuCV: an open source GPU-accelerated framework for image processing and computer vision / Allusse Y., Horain P., Agarwal A., Saipriyadarshan C. // Proc. 16th ACM Int. Conf. on Multimedia (MM’08), Vancouver, Canada (October 26-31, 2008). – New York: ACM. – P. 1089-1092.
78. Grant S. An interactive interface for refactoring using source transformation / S. Grant, J.R. Cordy // Proc. REFACE’03, 1st Int. Workshop on Refactoring: Achievements, Challenges, Effects, Victoria, Canada (13-16 November, 2003). – 2003. – P. 30-33.
79. Groenewegen D. Declarative access control for WebDSL: combining language integration and separation of concerns / D. Groenewegen, E. Visser // Proc. 8th Int. Conf. on Web Engineering (ICWE 2008), Yorktown Heights, NJ, USA (July 14-18, 2008). – 2008. – P. 175-188. https://doi.org/10.1109/ICWE.2008.15
80. Gulwani S. Dimensions in program synthesis / S. Gulwani // Proc. 12th Int. ACM SIGPLA Symposium on Principles and Practice of Declarative Programming, Hagenberg, Austria (July 26-28, 2010). – 2010. – P. 13-24. https://doi.org/10.1145/1836089.1836091
81. Guptha S. Multithreaded Programming in a Microsoft Win32* Environment [Online] / S. Guptha. – Available from: http://eng.harran.edu.tr/~nbesli/SP/senkronizasyon.pdf
82. Hamey L. Implementing a domain-specific language using Stratego/XT / L. Hamey, S. Goldrei // Proc. 7th Workshop on Language Descriptions, Tools, and Applications (LDTA 2007), Braga, Portugal (March 25, 2007). – 2007. – P. 32-46.
83. Han T.D. hiCUDA: a high-level directive-based language for GPU programming / T.D. Han, T.S. Abdelrahman // Proc. 2nd Workshop on General Purpose Processing on Graphics Processing Units, Washington, USA (March 8, 2009). – 2009. – Vol. 383. – New York: ACM. – P. 52-61. https://doi.org/10.1145/1513895.1513902
84. Hemel Z. Code generation by model transformation. A case study in transformation modularity / Z. Hemel, L.C.L. Kats, E. Visser // Proc. 1st Int. Conf. on Model Transformation (ICMT 2008), Zurich, Switzerland (July 1-2, 2008). – 2008. – P. 183-198.
85. Hockney R.W. Parallel computers: architecture, programming and algorithms / R.W. Hockney, C.R. Jeshope. – Bristol: Adam Hilger Ltd., 1981. – 423 p.
86. Hou Q. BSGP: bulk-synchronous GPU programming / Q. Hou, K. Zhou, B. Guo // Proc. SIGGRAPH’08 ACM SIGGRAPH 2008 papers, Los Angeles, California (August 11-15, 2008). – 2008. – Vol. 27, Issue 3. – New York: ACM. – P. 1-12. https://doi.org/10.1145/1360612.1360618
87. Huet G. Confluent reductions: Abstract properties and applications to term rewriting systems / G. Huet // Proc. 18th IEEE Symposium on Foundations of Computer Science. Journal of the ACM. – 1980. – Vol. 27, Issue 4. – P. 797-821. https://doi.org/10.1145/322217.322230
88. IBM – Rational Rose enterprise [Online]. – Available from: http://www-03.ibm.com/software/ products/ru/enterprise
89. Insertion modeling in distributed system design / Letichevsky A.A., Kapitonova Yu.V., Kotlyarov V.P. et al. // Problems in programming. – 2008. – Issue 4. – P. 13-38.
90. Insertion modeling system and constraint programming / Letichevsky A., Le ti chevs kyi O., Peschanenko V. et al. // Proc. 7th Int. Conf. ICTERI 2011, Kherson, Ukraine, (May 4-7, 2011). – 2011. – P. 51-64.
91. Intel Parallel Studio [Online]. – Available from: https://software.intel.com/en-us/intelparallel-studio-xe
92. Ishihara M. Development and implementation of an interactive parallelization assistance tool for OpenMP: iPat/OMP / M. Ishihara, H. Honda, M. Sato // IEICE Transactions onInformation and Systems. – 2006. – Vol. E89-D, Issue 2. – P. 399-407. https://doi.org/10.1093/ietisy/e89-d.2.399
93. Jackson D. Alloy: a lightweight object modelling notation / D. Jackson // ACM Transactions on Software Engineering Methodology. – 2002. – Vol. 11, Issue 2. – P. 256-290. https://doi.org/10.1145/505145.505149
94. Jacobs S. Reductions for synthesis procedures / S. Jacobs, V. Kuncak, P. Suter // Verification,Model Checking, and Abstract Interpretation. Lecture Notes in Computer Science. – 2013. – Vol. 7737. – P. 88-107. https://doi.org/10.1007/978-3-642-35873-9_8
95. JavaChecker [Online]. – Available from: http://www.gradsoft.kiev.ua/products/javachecker_ eng.html
96. Jess, the rule engine for the Java platform [Online]. – Available from: http://www.jessrules.com/
97. Jing X. Rule-based automatic software performance diagnosis and improvement / X. Jing // Proc. 7th Int. Workshop on Software and Performance (WOSP’08), Princeton, New Jersey, USA (June 24-26, 2008). – 2008. – P. 1-12.
98. Kaper H. Mathematics and climate / H. Kaper, H. Engler. – Philadelphia, PA: Society for Industrial & Applied Mathematics. – 2013. – 295 p. https://doi.org/10.1137/1.9781611972610
99. Kapitonova Yu.V. Algebraic programming: methods and tools / Yu.V. Kapitonova, A.A. Letichevsky // Cybernetics and Systems Analysis. – 1993. – Vol. 29, Issue 3. – P. 307-312. https://doi.org/10.1007/BF01125535
100. Karp R.M. A survey of parallel algorithms for shared memory machines / R.M. Karp, V. Ramachandran // Handbook of Theoretical Computer Science (J. van Leeuwen, ed.). – Amsterdam: North Holland, 1989. – P. 869-941. https://doi.org/10.1016/B978-0-444-88071-0.50022-9
101. Kats L.C.L. Mixing source and bytecode. A case for compilation by normalization / L.C.L. Kats, M. Bravenboer, E. Visser // Proc. 23rd ACM SIGPLAN Conf. on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’08), Nashville, USA (October, 19-23, 2008). – 2008. – P. 91-108. https://doi.org/10.1145/1449764.1449772
102. Keller R.M. A fundamental theorem of asynchronous parallel computation / R.M. Keller //Lecture Notes in Computer Science. – New York: Springer, 1975. – Vol. 24. – P. 102-112. https://doi.org/10.1007/3-540-07135-0_113
103. Kitzelmann E. Inductive programming: a survey of program synthesis techniques / E. Kit zelmann // Approaches and applications of inductive programming. Lecture Notes in Com pu ter Science. – 2010. – Vol. 5812. – P. 50-73. https://doi.org/10.1007/978-3-642-11931-6_3
104. Knuth D.E. Simple word problems in universal algebra / D.E. Knuth, P.B. Bendix // Computational Problems in Abstract Algebra. – Oxford: Pergamon, 1970. – P. 263-297. https://doi.org/10.1016/B978-0-08-012975-4.50028-X
105. Kordic V. Petri Net: theory and applications / V. Kordic. – I-Tech Education and Publishing, 2008. – 534 p. https://doi.org/10.5772/56
106. Lee S. OpenMP to GPGPU: a compiler framework for automatic translation and optimization / S. Lee, S. Min, R. Eigenmann // Proc. 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP’09), Raleigh, NC, USA (February 14-18,2009). – New York: ACM. – P. 101-110.https://doi.org/10.1145/1504176.1504194
107. Leijen D. The design of a task parallel library / D. Leijen, W. Schulte, S. Burckhardt // Proc. 24th ACM SIGPLAN Conf. on Object Oriented Programming Systems Languages and Applications (OOPSLA’09), Orlando, Florida, USA (October 25-29, 2009). – 2009. – P. 227-242. https://doi.org/10.1145/1640089.1640106
108. Leonard E.I. Automatic program generation from formal specifications using APTS / E.I. Leonard, C.L. Heitmeyer // Automatic Program Development. A Tribute to Robert Paige. – Springer Science, Dordrecht, 2008. – P. 93-113. https://doi.org/10.1007/978-1-4020-6585-9_10
109. Letichevsky A.A. A model for interaction of agents and environments / A.A. Letichevsky, D.R. Gilbert // Recent trends in algebra’s development technique Language. – 2000. – P. 311-329 p. https://doi.org/10.1007/978-3-540-44616-3_18
110. Letichevsky A.A. Algebraic programming is APS system / A.A. Letichevsky, Yu.V. Kapitonova // Proc. of ISSAC’90, Tokyo, Japan (August, 1990). – New York: ACM Press, 1990. – P. 68-75. https://doi.org/10.1145/96877.96896
111. Letichevsky A.A. Insertion modeling system / A.A. Letichevsky, O.A. Letychevskyi, V.S. Peschanenko // Proc. 8th Int. Conf. on Perspectives of System Informatics (PSI’11), Novosibirsk, Russia (June 27 – July 1, 2011). – 2012. – P. 262-273. https://doi.org/10.1007/978-3-642-29709-0_23
112. Letichevsky A.A. Computations in APS / A.A. Letichevsky, Yu.V. Kapitonova, S.V. Ko nozenko // Theoretical Computer Science. – 1993. – Vol. 119. – P. 145-171. https://doi.org/10.1016/0304-3975(93)90343-R
113. LogP: towards a realistic model of parallel computation / Culler D., Karp R., Patterson D. et al. // Proc. 4th ACM SIGPLAN Symposium on Principles and Practices of Parallel Programming (PPOPP ’93), San Diego, California, USA (May 19-22, 1993). ACM SIGPLAN Notices. – 1993. – Vol. 28, Issue 7. – P. 1-12.
114. Ma W. A compiler and runtime system for enabling data mining applications on gpus / W. Ma, G. Agrawal // Proc. 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP ’09), Raleigh, NC, USA (February 14-18, 2009). – New York: ACM. – P. 287-288.
115. Macroconveyor computations of functions on data structures / Glushkov V.M., Ka pi tono va Yu.V., Letichevskii A.A., Gorlach S.P. // Cybernetics. – 1981. – Vol. 17, Issue 4. – P. 439-449. https://doi.org/10.1007/BF01082474
116. Maedche A. Clustering ontology-based metadata in the Semantic Web / A. Maedche, V. Zacha rias // Proc. 6th European Conf. on Principles of Data Mining and Knowledge Discover (PKDD 2002), Helsinki, Finland (August 19-23, 2002). – Berlin: Springer, 2002. – P. 348-360. https://doi.org/10.1007/3-540-45681-3_29
117. Maltsev A.I. Algebraic systems / A.I. Maltsev. – Moscow: Nauka, 1970. – 392 p. (in Russian)
118. Mannadiar R. Modular synthesis of mobile device applications from domain-specific models / R. Mannadiar, H. Vangheluwe // Proc. 7th Int. Workshop on Model-Based Methodologies for Pervasive and Embedded Software, Antwerpen, Belgium (September 20, 2010). – 2010. – P. 21-28. https://doi.org/10.1145/1865875.1865879
119. Maude as a wide-spectrum framework for formal modeling and analysis of active networks / Mese guer J., Olveczky P.C., Stehr M.-O., Talcott C. // Proc. DARPA Active Networks Conf. And Exposition (DANCE’02), San Francisco, CA, USA (May 29-30, 2002). – 2002. – P. 494-510.
120. Maude system [Online]. – Available from: http://maude.cs.uiuc.edu/
121. Meta-Environment [Online]. – Available from: http://www.meta-environment.org/
122. Miklosko J. Algorithms, software and hardware of parallel computers / J. Miklosko, V.J. Kotov. – Berlin: Springer, 1984. – 395 p. https://doi.org/10.1007/978-3-662-11106-2_12
123. Model driven architecture: how far have we come, how far can we go? / Miller G., Evans A., Jacobson I. et al. // Companion Proc. 18th Annual ACM SIGPLAN Conf. on Object-oriented programming, systems, languages, and applications OOPSLA’03, Anaheim, CA, USA (October 26-30, 2003). – 2003. – P. 273-274.
124. MPI: A Message-Passing Interface Standard [Online]. – Available from: http://mpi-forum.org/docs/mpi-3.0/mpi30-report.pdf
125. Multilevel structured design of programs: theoretical bases, tools / Yushchenko K.L., Tseytlin G.O., Hrytsay V.P., Terzyan T.K. – Moscow: Finansy i statistika, 1989. – 208 p. (in Russian)
126. Multi-Threaded Programming With POSIX Threads [Online]. – Available from: http://www.cs.kent.edu/~ruttan/sysprog/lectures/multi-thread/multi-threa…
127. Naudin P. Algorithmique algébrique avec exercices corrigés / P. Naudin, C. Quitté. – Paris: Masson, 1992. – 469 p. (in French)
128. Normalizing metamorphic malware using term rewriting // Walenstein A., Mathur R., Chouchane M., Lakhotia A. // Proc. IEEE 6th Int. Workshop on Source Code Analysis and Manipulation (SCAM 2006), Philadelphia, USA (September 27-29, 2006). – 2006. P. 75-84.
129. NVIDIA CUDA technology [Online]. – Available from: http://www.nvidia.com/cuda
130. Ojamaa A. Semi-automated generation of DSL meta models from formal domain ontolo gies / A. Ojamaa, H.-M. Haav, J. Penjam // Proc. 5th Int. Conf. on Model & Data Engineering (MEDI 2015), Rhodes, Greece (September 26-28, 2015). – Cham: Springer International Publishing, 2015. – P. 3-15. https://doi.org/10.1007/978-3-319-23781-7_1
131. Olmos K. Strategies for source-to-source constant propagation / K. Olmos, E. Visser // Electronic Notes in Theoretical Computer Science. – 2002. – Vol. 70, Issue 6. – P. 156-175. https://doi.org/10.1016/S1571-0661(04)80605-4
132. On integrating deductive synthesis and verification systems. Technical Report, April 2013 [Online] / Kneuss E., Kuncak V., Kuraj I., Suter P. – 2013. – Available from: https://arxiv.org/pdf/1304.5661.pdf
133. OpenMP Application Programming Interface. Version 4.5 [Online]. – Available from: http://www.openmp.org/wp-content/uploads/openmp-4.5.pdf
134. OpenMP Specifications [Online]. – Available from: http://www.openmp.org/specifications/
135. OpenStack open source cloud computing software [Online]. – Available from: http://www.openstack.org
136. Paige R. Towards model transformation with TXL / R. Paige, A. Radjenovic // Proc. Me tamodelling for MDA Workshop 2003, York, U.K. (November, 2003). – 2003. – P. 162-177.
137. Petrushenko A.N. An approach to automation of optimizing transformations of algorithms and programs / A.N. Petrushenko // Cybernetics and Systems Analysis. – 1991. – Vol. 27, Issue 5. – P. 744-753. https://doi.org/10.1007/BF01130548
138. Petrushenko A.N. On the architecture of the MUL’TIPROTSESSIST system with a block for analytical transformation of algorithms and programs / A.N. Petrushenko // Implementation Methods of Programming Systems. – Kyiv: Inst. Kiber. Akad. Nauk UkrSSR, 1988. – P. 21-26. (in Russian)
139. Pogorilyy S.D. A conception for creating a system of parametric design of parallel algorithms and their software implementations / S.D. Pogorilyy, I.Yu. Shkulipa // Cybernetics and System Analysis. – 2009. – Vol. 45, Issue 6. – P. 952-958. https://doi.org/10.1007/s10559-009-9172-7
140. Protégé [Online]. – Available from: http://protege.stanford.edu
141. Protégé-OWL editor [Online]. – Available from: http://protegewiki.stanford.edu/wiki/Protege-OWL
142. Proving correctness of compiler optimizations by temporal logic / Lacey D., Jones N.D., van Wyk E., Frederiksen C.C. // Proc. 29th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’02), Portland, USA (January 16-18, 2002). – 2002. – P. 283-294. https://doi.org/10.1145/565816.503299
143. Prusov V.A. Choosing the parameter of a modified additive-averaged splitting algorithm /V.A. Prusov, A.E. Doroshenko, R.I. Chernysh // Cybernetics and Systems Analysis. – 2009. – Vol. 45, Issue 4. – P. 589-596. https://doi.org/10.1007/s10559-009-9126-0
144. Quantum chemical study of polyaromatic hydrocarbons in high multiplicity states / Khavryutchenko V.D., Tarasenko Y.A., Strelko V.V. et al. // International Journal of Modern Physics B. – 2007. – Vol. 21, Issue 26. – P. 4507-4515.https://doi.org/10.1142/S0217979207037946
145. Raychev V. Automatic synthesis of deterministic concurrency / V. Raychev, M. Vechev, E. Ya hav // Static Analysis. Lecture Notes in Computer Science. – 2013. – Vol. 7935. – P. 283-303. https://doi.org/10.1007/978-3-642-38856-9_16
146. Recursive machines and computing technology / Glushkov V.M., Ignatiev M.B., Myas nikov V.A., Torgashev V.A. // Proc. IFIP Congress (Stockholm, 1974). – Amsterdam: North Holland, 1974. – P. 65-71.
147. Rompf T. Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs / T. Rompf, M. Odersky // Proc. 9th Int. Conf. on Generative programming and component engineering (GPCE’10), Eindhoven, Netherlands (October 10-13, 2010). Communications of ACM. – 2011. – Vol. 46, Issue 2. – P. 127-136. https://doi.org/10.1145/1942788.1868314
148. Roy C.K. NICAD: Accurate detection of near-miss intentional clones using flexible prettyprinting and code normalization / C.K. Roy, J.R. Cordy // Proc. ICPC 2008, IEEE Int. Conf. on Program Comprehension, Amsterdam (June 10-13, 2008). – 2008. – P. 172-181. https://doi.org/10.1109/ICPC.2008.41
149. Rus S. Sensitivity analysis for automatic parallelization on multi-cores / S. Rus, M. Pennings, L. Rauchwerger // Proc. 21st Annual Int. Conf. on Supercomputing (ICS’07), Seattle, Washington (June 17-21, 2007). – 2007. – P. 263-273. https://doi.org/10.1145/1274971.1275008
150. Sannella D. Foundations of algebraic specification and formal software development / D. Sannella, A. Tarlecki. – Berlin, Heidelberg: Springer, 2012. – 584 p.https://doi.org/10.1007/978-3-642-17336-3
151. Saraswat V.A. X10: concurrent programming for modern architectures / V.A. Saraswat, V. Sarkar, C. von Praun // Proc. 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP’07), San Jose, California, USA (March 14-17, 2007). – 2007. – P. 271. https://doi.org/10.1145/1229428.1229483
152. Semantic representation of cloud services: a case study for OpenStack / Martino B.D., Cretella G., Esposito A., Carta G. // Proc. 7th Int. Conf. on Internet and Distributed Computing Systems (IDCS’2014), Calabria, Italy (September 22-24, 2014). – Cham: Springer In ternational Publishing, 2014. – P. 39-50. https://doi.org/10.1007/978-3-319-11692-1_4
153. Sidiroglou S. Countering network worms through automatic patch generation / S. Sidiro glou, A.D. Keromytis // IEEE Security & Privacy. – 2005. – Vol. 3, Issue 6. – P. 41-49. https://doi.org/10.1109/MSP.2005.144
154. Skillicorn D.B. Models for practical parallel computation / D.B. Skillicorn // International Journal of Parallel Programming. – 1991. – Vol. 20, Issue 2. – P. 133-158. https://doi.org/10.1007/BF01407840
155. Source transformation for concurrency analysis / Cassidy T., Cordy J.R., Dean T., Dingel J. // Electronic Notes in Theoretical Computer Science. – 2005. – Vol. 141, Issue 4. – P. 57-75. https://doi.org/10.1016/j.entcs.2005.05.012
156. Srivastava S. From program verification to program synthesis / S. Srivastava, S. Gulwani, J.S. Foster // Proc. 37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Madrid, Spain (January 17-23, 2010). – 2010. – P. 313-326. https://doi.org/10.1145/1707801.1706337
157. Stencil computation optimization and auto-tuning on state-of-the-art multicore architectures / Datta K., Murphy M., Volkov V. et al. // Proc. ACM/IEEE Conf. on Supercomputing (SC’08), Austin, Texas (November 15-21, 2008). – 2008. – P.1-12.
158. Stratego program transformation language [Online]. – Available from: http://strategoxt.org/
159. Stratego/XT 0.17. A language and toolset for program transformation / Bravenboer M., Kalleberg K.T., VermaaR., Visser E. // Science of Computer Programming. Special issue on experimental software and toolkits. – 2008. – Vol. 72, Issue 1-2. – P. 52-70. https://doi.org/10.1016/j.scico.2007.11.003
160. Systems specification by basic protocols / Letichevsky A.A., Kapitonova Yu.V., Volkov V.A. et al. // Cybernetics and Systems Analysis. – 2005. – Vol. 41, Issue 4. – P. 479-493. https://doi.org/10.1007/s10559-005-0083-y
161. TermWare system [Online]. – Available from: http://www.gradsoft.com.ua/products/termware_eng.html
162. The impact of multicore on math software / Buttari A., Dongarra J., Kurzak J. et al. // Lecture Notes in Computer Science. – 2007. – Vol. 4699. – P. 1-10.
163. The role of ontologies in schema-based program synthesis / Bures T., Denney E., Fischer B., Nistor E.C.// Proc. Workshop on Ontologies as Software Engineering Artifacts (OOPSLA), Vancouver, Canada (October 24-28, 2004). – 2004.
164. The syntax definition formalism SDF – reference manual / Heering J., Hendriks P.R., Klint P., Rekers J. // SIGPLAN Notices. – 1989. – Vol. 24, Issue 11. – P. 43-75. https://doi.org/10.1145/71605.71607
165. Tip F. A slicing-based approach for locating type errors // F. Tip, T. Dinesh // ACM Transactions on Software Engineering and Methodology. – 2001. – Vol. 10, Issue 1. – P. 5-55. https://doi.org/10.1145/366378.366379
166. Towards a holistic approach to auto-parallelization: integrating profile-driven parallelism detection and machine-learning based mapping / Tournavitis G., Wang Z., Franke B., O’Boyle M.F.P. // SIGPLAN Notices. – 2009. – Vol. 44, Issue 6. – P. 177-187. https://doi.org/10.1145/1543135.154249
167. Transformation of legacy software into client/server applications through pattern-based rear chitecturing / Hunold S., Korch M., Krellner B. et al. // Proc. 32nd Annual IEEE Int. Conf. on Computer Software and Applications (COMPSAC’08) Turku, Finland, (28 July – 1 August, 2008). – 2008. – P. 303-310.
168. Tseytlin G.O. Introduction to algorithmics / G.O. Tseytlin. – Kyiv: Sfera, 1998. – 310 p. (in Russian)
169. TXL programming language [Online]. – Available from: http://www.txl.ca
170. Valiant L.G. A bridging model for parallel computation / L.G. Valiant // Communications of the ACM. – 1990. – Vol. 33, Issue 8. – P. 103-111. https://doi.org/10.1145/79173.79181
171. van den Brand M. Control flow normalization for COBOL/CICS legacy system / M. van den Brand, A. Sellink, C. Verhoef // Proc. 2nd Euromicro Conf. on Software Maintenance and Reengineering (CSMR’98), Florence, Italy (March 8-11, 1998). – 1998. – P. 11-20.
172. Visser E. WebDSL: a case study in domain-specific language engineering / E. Visser // International Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE 2007), Braga, Portugal (July 2-7, 2007). – 2007. – P. 291-373.
173. Visser E. Building program optimizers with rewriting strategies / E. Visser, Z.-e.-A. Benaissa, A. Tolmach // Proc. 3rd ACM SIGPLAN Int. Conf. on Functional Programming (ICFP’1998), Baltimore, Maryland, USA (September 26-29, 1998). – 1998. – P. 13-26.
174. Waddington D.G. High fidelity C++ code transformation / D.G. Waddington, B. Yao // Proc. 5th workshop on Language Descriptions, Tools and Applications (LDTA’2005), Edinburgh University, UK (April 3, 2005). Electronic Notes in Theoretical Computer Science. – 2005. – Vol. 141, Issue 4. – P. 35-56. https://doi.org/10.1016/j.entcs.2005.04.037
175. Wang L. Enhancing security using legality assertions / L. Wang , J.R. Cordy, T. Dean // Proc. IEEE 12th Int. Working Conf. on Reverse Engineering (WCRE’05), Pittsburgh, USA (November 7-11, 2005). – 2005. – P. 35-44.
176. Winkler T. Programming in OBJ and Maude / T. Winkler // Functional Programming, Concurrency, Simulation and Automated Reasoning, International Lecture Series 1991-1992. – Hamilton: Springer, 1993. – P. 229-277. https://doi.org/10.1007/3-540-56883-2_12
177. Yatsenko O. On application of machine learning for development of adaptive sorting programs in algebra of algorithms / O. Yatsenko // Proc. Int. Workshop “Concurrency: Specification and Programming” CS&P’2011, Pułtusk, Poland (September 28-30, 2011). – 2011. – P. 577-588.
178. Yatsenko O. On parameter-driven generation of algorithm schemes / O. Yatsenko // Proc. Int. Workshop “Concurrency: Specification and Programming” CS&P’2012, Berlin, Germany (September 26-28, 2012). – 2012. – P. 428-438.
179. Yatsenko O.A. Regular schemes of algorithms of address sorting and search / O.A. Yatsenko // Upravl. Sistemy i Mashiny. – 2004. – Issue 5. – P. 61-66. (in Russian)
180. Yushchenko K.L. Algebraic-grammatical specifications and synthesis of structured program schemas / K.L. Yushchenko, G.O. Tseytlin, A.V. Galushka // Cybernetics and Systems Analysis. – 1989. – Vol. 25, Issue 6. – P. 713-727. https://doi.org/10.1007/BF01069770
181. Zhereb K.A. The rule-based software toolkit for automation of development of applications on Microsoft.NET platform / K.A. Zhereb // Upravl. Sistemy i Mashiny. – 2009. – Issue 4. – P. 51-59.