Язык описания проблемы и исследование его возможностей

  • Elizaveta Alexandrovna Dorenskaya Институт теоретической и экспериментальной физики имени А.И. Алиханова Национального исследовательского центра "Курчатовский институт" http://orcid.org/0000-0002-4249-5131
  • Anna Alekseevna Kulikovskaya Институт теоретической и экспериментальной физики имени А.И. Алиханова Национального исследовательского центра "Курчатовский институт"; Национальный исследовательский центр "Курчатовский институт" http://orcid.org/0000-0002-0214-1697
  • Yuri Alexeyevich Semenov Институт теоретической и экспериментальной физики имени А.И. Алиханова Национального исследовательского центра "Курчатовский институт"; Московский физико-технический институт (национальный исследовательский университет) http://orcid.org/0000-0002-3855-3650

Аннотация

Разработан язык описания проблем Problem Description Language (PDL). Рассмотрены базовые архитектурные особенности языка PDL. Представлены преимущества использования языка описания проблемы.
Поясняются особенности составления описаний на языке PDL и его синтаксиса. Рассмотрен универсальный конфигуратор ПО для пакета программ защиты Web-сервера, описаны основные его особенности. Приводится пример апробации PDL с помощью транслятора, конвертирующего описание проблемы в код языка Perl. Приводится структура транслятора описания проблемы на PDL в Perl (фаза анализа и фаза синтеза). Описана каждая из этих фаз.
Работа на фазе синтеза в данном трансляторе существенно отличается от аналогичной фазы других трансляторов [13-15, 24, 26, 27]. Она может быть 3-х видов: 1. Если в описании проблемы не указан ни один из операторов действия (особый класс операторов в PDL). 2. Если в описании присутствует хотя бы один оператор действия и нужно проводить поиск в базе данных алгоритмов. 3. Если при тех же условиях что в пункте 2 в банке алгоритмов не найдено нужного модуля. В первом случае используются примитивы. Во втором - проводится поиск модулей в банке алгоритмов. В 3-м случае необходимый модуль придётся частично писать самому программисту.
Рассматривается процедура генерации пакета программ защиты Web-сервера на Perl с помощью описания задачи на PDL.
Приводятся примеры и рассказывается о причинах уменьшения количества программных ошибок при использовании транслятора PDL в Perl.

Сведения об авторах

Elizaveta Alexandrovna Dorenskaya, Институт теоретической и экспериментальной физики имени А.И. Алиханова Национального исследовательского центра "Курчатовский институт"

инженер-программист

Anna Alekseevna Kulikovskaya, Институт теоретической и экспериментальной физики имени А.И. Алиханова Национального исследовательского центра "Курчатовский институт"; Национальный исследовательский центр "Курчатовский институт"

младший научный сотрудник; аспирант

Yuri Alexeyevich Semenov, Институт теоретической и экспериментальной физики имени А.И. Алиханова Национального исследовательского центра "Курчатовский институт"; Московский физико-технический институт (национальный исследовательский университет)

ведущий научный сотрудник; заместитель заведующего кафедрой информатики и вычислительных сетей, Институт нано-, био-, информационных, когнитивных и социогуманитарных наук и технологий, кандидат физико-математических наук

Литература

[1] Dorenskaya E.A., Semenov Yu.A. About the programming techniques, oriented to minimize errors. Sovremennye informacionnye tehnologii i IT-obrazovanie = Modern Information Technologies and IT-Education. 2017; 13(2):50-56. (In Russ., abstract in Eng.) DOI: https://doi.org/10.25559/SITITO.2017.2.226
[2] Dorenskaya E.A., Semenov Yu.A. The determination method for contextual meanings of words and documents. Sovremennye informacionnye tehnologii i IT-obrazovanie = Modern Information Technologies and IT-Education. 2018; 14(4):896-902. (In Russ., abstract in Eng.) DOI: https://doi.org/10.25559/SITITO.14.201804.896-902
[3] Dorenskaya E.A., Semenov Yu.A. New methods of minimizing the errors in the software. CEUR Workshop Proceedings. 2018; 2267:150-154. Available at: http://ceur-ws.org/Vol-2267/150-154-paper-27.pdf (accessed 14.08.2020). (In Eng.)
[4] Dorenskaya E.A., Semenov Yu.A. The improved algorithm for calculation of the contextual words meaning in the text. Sovremennye informacionnye tehnologii i IT-obrazovanie = Modern Information Technologies and IT-Education. 2019; 15(4):954-960. (In Eng.) DOI: https://doi.org/10.25559/SITITO.15.201904.954-960
[5] Kulikovskaya A.A., Dorenskaya E.A., Semenov Yu.A. Development of an Algorithm’s Bank and Method for Searching Programs in Accordance with User Requirements. Sovremennye informacionnye tehnologii i IT-obrazovanie = Modern Information Technologies and IT-Education. 2020; 16(1):81-89. (In Russ., abstract in Eng.) DOI: https://doi.org/10.25559/SITITO.16.202001.81-89
[6] Semenov Yu.A., Ovsyannikov A.P., Ovsyannikova T.V. Development of the algorithm bank and basics of the language for problem description to minimize a number of program errors. Trudy NIISI RAN = Proceedings of SRISA RAS. 2016; 6(2):96-100. Available at: https://elibrary.ru/item.asp?id=29798446 (accessed 14.08.2020). (In Russ., abstract in Eng.)
[7] Kotov E.M., Tselykh A.N. Research of models for information retrieval. Izvestiya SFedU. Engineering Sciences. 2009; (4):163-168. Available at: https://elibrary.ru/item.asp?id=12834639 (accessed 14.08.2020). (In Russ., abstract in Eng.)
[8] Eidlin A.A., Eidlina M.A., Samsonovich A.V. Weak Semantic Map of Word Senses. Procedia Computer Science. 2018; 123:140-148. (In Eng.) DOI: https://doi.org/10.1016/j.procs.2018.01.023
[9] Afric P., Sikic L., Kurdija A.S., Delac G., Silic M. REPD: Source Code Defect Prediction As Anomaly Detection. In: 2019 IEEE 19th International Conference on Software Quality, Reliability and Security Companion (QRS-C). Sofia, Bulgaria; 2019. p. 227-234. (In Eng.) DOI: https://doi.org/10.1109/QRS-C.2019.00052
[10] Noller Y., Kersten R., Păsăreanu C.S. Badger: complexity analysis with fuzzing and symbolic execution. In: Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2018). Association for Computing Machinery, New York, NY, USA; 2018. p. 322-332. (In Eng.) DOI: https://doi.org/10.1145/3213846.3213868
[11] Ye M., Cohen M.B., Srisa-an W., Wei S. EvoIsolator: Evolving Program Slices for Hardware Isolation Based Security. In: Colanzi T., McMinn P. (ed.) Search-Based Software Engineering. SSBSE 2018. Lecture Notes in Computer Science. 2018; 11036:377-382. Springer, Cham. (In Eng.) DOI: https://doi.org/10.1007/978-3-319-99241-9_24
[12] Kádár I. The optimization of a symbolic execution engine for detecting runtime errors. Acta Cybernetica. 2017; 23(2):573-597. (In Eng.) DOI: https://doi.org/10.14232/actacyb.23.2.2017.9
[13] Wang J., Pang J., Liu X., Yue F., Tan J., Fu L. Dynamic Translation Optimization Method Based on Static Pre-Translation. IEEE Access. 2019; 7:21491-21501. (In Eng.) DOI: https://doi.org/10.1109/ACCESS.2019.2897611
[14] Ferrara P., Cortesi A., Spoto F. From CIL to Java bytecode: Semantics-based translation for static analysis leveraging. Science of Computer Programming. 2020; 191:102392. (In Eng.) DOI: https://doi.org/10.1016/j.scico.2020.102392
[15] Zaytsev V. Modelling of Language Syntax and Semantics: The Case of the Assembler Compiler. Journal of Object Technology. 2020; 19(2):1-22. (In Eng.) DOI: https://doi.org/10.5381/jot.2020.19.2.a5
[16] Rahman M.M., Watanobe Y., Nakamura K. Source Code Assessment and Classification Based on Estimated Error Probability Using Attentive LSTM Language Model and Its Application in Programming Education. Applied Sciences. 2020; 10(8):2973. (In Eng.) DOI: https://doi.org/10.3390/app10082973
[17] Ilyin V.D. Sistema porozhdeniya programm [Program Generating System]. Nauka, Moscow; 1989. (In Russ.)
[18] Tyugu E.H. Konceptual'noe programmirovanie [Conceptual Programming]. Nauka, Moscow; 1984. (In Russ.)
[19] Ilyin A.V., IlyinV.D. Systematization of Knowledge about Programmable Tasks. Systems and Means of Informatics. 2014; 24(3):192-203. (In Russ., abstract in Eng.) DOI: https://doi.org/10.14357/08696527140314
[20] Kazakova A.E. Peculiarities of semantics of programming languages. Moscow University Bulletin. Series 7. Philosophy. 2007; (6):69-75. Available at: https://www.elibrary.ru/item.asp?id=11725960 (accessed 14.08.2020). (In Russ., abstract in Eng.)
[21] Egorov M.A. Metodika ocenki bezopasnosti programmnogo koda korporativnyh prilozhenij [Methodology for Evaluating the Security of Corporate Application Software Code]. Herald of the Bauman Moscow State Technical University. Series Instrument Engineering. 2011; (S1):67-78. Available at: https://www.elibrary.ru/item.asp?id=17681815 (accessed 14.08.2020). (In Russ., abstract in Eng.)
[22] Naumov R.V. Aktual'nye jazyki programmirovanija [Current Programming Languages]. Academy. 2016; (1):49-50. Available at: https://www.elibrary.ru/item.asp?id=25345843 (accessed 14.08.2020). (In Russ.)
[23] Levushkin A.V., Turchaninov M.K., Zhiganov A.A., Yermolaeva V.V. Osnovnye sovremennye jazyki programmirovanija [The Main Modern Programming Languages]. Young Scientist. 2018; (25):96-97. Available at: https://www.elibrary.ru/item.asp?id=35161929 (accessed 14.08.2020). (In Russ.)
[24] Stas A.N. Methods of Teaching the Designing of Translators. Tomsk State Pedagogical University Bulletin. 2015; (8):76-81. Available at: https://www.elibrary.ru/item.asp?id=24075526 (accessed 14.08.2020). (In Russ., abstract in Eng.)
[25] Pakhunov A.V. Programming Languages: Classification, Features, Criteria of Choice. Modern Science. 2015; (4):89-91. Available at: https://www.elibrary.ru/item.asp?id=25430775 (accessed 14.08.2020). (In Russ., abstract in Eng.)
[26] Khokhlov D.G., Kirpichnikov A.P., Khalid G.H. Interpretator jazyka C dlja jelektronnogo obuchenija programmirovaniju [C interpreter for e-learning programming]. Bulletin of the Technological University. 2017; 20(14):109-111. Available at: https://www.elibrary.ru/item.asp?id=29880255 (accessed 14.08.2020). (In Russ.)
[27] Novichkova M.I., Trofimov I.A. Razrabotka transljatora jazyka programmirovanija vysokogo urovnja [Development of a high-level programming language translator]. Obrazovanie i nauka v sovremennyh uslovijah = Education and Science in the Modern Context. 2015; (3):213-214. Available at: https://www.elibrary.ru/item.asp?id=23892014 (accessed 14.08.2020). (In Russ.)
[28] Lebedeva T.N., Nosova L.S. Formalization of Data in the Programming Language 1C. Vestnik of Astrakhan State Technical University. Series: Management, Computer Sciences and Informatics. 2015; (3):113-121. Available at: https://www.elibrary.ru/item.asp?id=23826932 (accessed 14.08.2020). (In Russ., abstract in Eng.)
Опубликована
2020-11-30
Как цитировать
DORENSKAYA, Elizaveta Alexandrovna; KULIKOVSKAYA, Anna Alekseevna; SEMENOV, Yuri Alexeyevich. Язык описания проблемы и исследование его возможностей. Современные информационные технологии и ИТ-образование, [S.l.], v. 16, n. 3, p. 653-663, nov. 2020. ISSN 2411-1473. Доступно на: <http://sitito.cs.msu.ru/index.php/SITITO/article/view/697>. Дата доступа: 22 dec. 2024 doi: https://doi.org/10.25559/SITITO.16.202003.653-663.
Раздел
Исследования и разработки в области новых ИТ и их приложений