ИСПОЛЬЗОВАНИЕ ПРОЦЕДУР С ОДИНАКОВОЙ СИГНАТУРОЙ ДЛЯ ЭВОЛЮЦИОННОГО РАСШИРЕНИЯ ПРОГРАММ

Описание

Перевод названия: Using identical signature procedures for evolutionary extension of programs

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

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

Идентификатор DOI: 10.17212/1727-2769-2015-1-41-51

Ключевые слова: перегрузка процедур, перегрузка функций, техника программирования, overloading of procedures, overloading of functions, evolutionary development of software, programming paradigms, эволюционная разработка программ, парадигмы программирования

Аннотация: Эволюционная разработка программного обеспечения опирается на различные технические приемы и парадигмы программирования. Применение наследования и виртуализации позволили безболезненно наращивать классы и их функциональность. Добавление новых процедур и функций не вызывает проблем при использовании процедурного и функционального прПоказать полностьюограммирования. В более сложных случаях на помощь приходят паттерны проектирования, учитывающие особенности парадигм программирования и ситуации, возникающие при написании фрагментов программного кода. Вместе с тем следует отметить, что эволюционному расширению процедур и функций в настоящее время уделяется недостаточно внимания. В работе рассматривается возможность добавления новой функциональности без изменения уже написанного кода за счет перегрузки процедур с одинаковой сигнатурой. Данный подход базируется на раздельной компиляции таких процедур и связывании их воедино во время окончательной компоновки программы, проходящей на более поздних этапах. Представлены общая идея подхода и возможность ее реализации с использованием традиционных языков программирования. Предлагаются языковые конструкции, которые добавляют в традиционные процедуры опции, задающие перегрузку одинаковых сигнатур. В статье рассмотрены ситуации, в которых применение перегрузки процедур с одинаковой сигнатурой позволяет сделать эволюционную разработку программного обеспечения более гибкой. На конкретных примерах рассмотрены варианты расширения синтаксиса и семантики языков программирования. Предлагаемый подход может использоваться для расширения возможностей процедур и функций в различных парадигмах программирования. Evolutionary development of software is based on different techniques and programming paradigms. The application of inheritance and virtualization made it possible to easily build up classes and their functionality. Adding new procedures and functions is not a problem when using procedural and functional programming. In more complex cases design patterns taking into account the peculiarities of programming paradigms and situations that arise when writing a piece of the code can help. However, it should be noted that the evolutionary expansion of procedures and functions is currently neglected. In this paper we consider the possibility of adding new functionality by overloading procedures with an identical signature without changing the already written code. This approach is based on a separate compilation of such procedures and linking them together during the final assembly of the program at later stages. The paper presents a general idea of the approach and the ability to implement it using traditional programming languages. We propose language constructs that add specific options initializing the overloading of identical signatures in the traditional procedures. The paper describes situations in which the overloading of procedures with an identical signature makes evolutionary software development more flexible. Possible options for extending the syntax and semantics of programming languages are given using specific examples. The proposed approach can be used to extend the capabilities of procedures and functions in different programming paradigms.

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

Издание

Журнал: Доклады Академии наук высшей школы Российской Федерации

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

Номера страниц: 41-51

ISSN журнала: 17272769

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

Издатель: Федеральное государственное бюджетное образовательное учреждение высшего образования Новосибирский государственный технический университет

Авторы

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