Инструментальная поддержка эволюционного расширения программ при инкрементальной разработке : научное издание | Научно-инновационный портал СФУ

Инструментальная поддержка эволюционного расширения программ при инкрементальной разработке : научное издание

Перевод названия: Instrumental support of the evolutionary expansion of programs using a incremental development

Тип публикации: статья из журнала

Год издания: 2018

Ключевые слова: эволюционная разработка программ, парадигмы программирования, процедурно-параметрическое программирование, функционально-потоковое параллельное программирование, множественный полиморфизм, evolutionary software development, programming paradigms, procedural-parametric programming, functional-dataflow parallel programming, Multiple polymorphism

Аннотация: В настоящее время используются разнообразные подходы к эволюционной разработке программ. Ряд их широко применяется на практике, найдя воплощение в различных техниках и парадигмах программирования. В статье рассматриваются особенности программных объектов современных языков программирования, обеспечивающих поддержку эволюционной разработки программного обеспечения. Среди множества существующих методов можно выделить те, которые ориентированы на поддержку полиморфизма, позволяющего изменять поведение процедур или функций за счет динамического связывания во время выполнения. Проводится сравнение подходов, используемых в процедурной, объектно-ориентированной, процедурно-параметрической парадигмах, а также использование интерфейсов в языке программирования Go. За исключением процедурной парадигмы все прочие подходы предлагают свои варианты реализации полиморфизма, сопоставление которых представляет определенный интерес для разработчиков перспективных языков программирования. Предлагается набор базовых ситуаций инкрементального расширения программ, на основе которого осуществляется сопоставление различных подходов: расширение обобщений специализациями; добавление новых процедур, обеспечивающих дополнительную функциональность; добавление новых полей данных в существующие типы; добавление новых процедур, предназначенных для обработки только одной из специализаций; создание нового обобщения на основе существующих специализаций; добавление в программу мультиметода; изменение мультиметодов при добавлении новых специализаций. Оцениваются возможности использования разных методов полиморфизма в языке функционально-потокового параллельного программирования. Currently used a different approaches to the evolutionary software development. A number of them are widely used in practice and are embodied in various programming techniques and programming paradigms. The article discusses the features of software objects of modern programming languages that provide support for evolutionary software development. Among the many existing methods, we can distinguish those that are focused on supporting polymorphism, which allows changing the behavior of procedures or functions using a dynamic binding during execution. We compare the approaches which used in the procedural, object-oriented, procedural-parametric paradigms, as well as the use of interfaces in the Go programming language. With the exception of the procedural paradigm, all other approaches offer their own variants for the implementation of polymorphism, the comparison of which is of particular interest to developers of promising programming languages. We propose a set of basic situations of incremental program expansion, on the basis of which various approaches are compared. This are the extension of generalizations by using specializations; adding new procedures that provide additional functionality; adding new data fields to existing data types; adding new procedures designed to process only one of the specializations; creating a new generalization based on existing specializations; adding a multimethod to the program; change of multimethods when adding new specializations. The possibilities of using different methods of polymorphism are evaluated for the functional parallel programming language which using dataflow control.

Ссылки на полный текст

Издание

Журнал: Научный сервис в сети Интернет

Выпуск журнала: 20

Номера страниц: 346-359

ISSN журнала: 26189542

Место издания: Москва

Издатель: Федеральное государственное учреждение "Федеральный исследовательский центр Институт прикладной математики им. М.В. Келдыша Российской академии наук"

Персоны

Вхождение в базы данных

Информация о публикациях загружается с сайта службы поддержки публикационной активности СФУ. Сообщите, если заметили неточности.

Вы можете отметить интересные фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.