Эволюционное расширение программ с использованием процедурно-параметрического подхода

Описание

Перевод названия: Evolutionary extension of programs using the procedural-parametric approach

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

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

Ключевые слова: эволюционная разработка программного обеспечения, парадигма программирования, процедурно-параметрическое программирование, мультипарадигменный стиль, evolutionary software development, programming paradigms, proceduralparametric programming, multiparadigm style

Аннотация: Рассмотрены вопросы эволюционной разработки программ. Особенность предлагаемого подхода заключается в моделировании программных объектов, используемых в процедурно-параметрической парадигме программирования. Моделирование осуществляется за счет использования параметрических массивов, обеспечивающих быстрый выбор альтернативных процПоказать полностьюедур с соответствии с обрабатываемыми комбинациями специализаций. Это позволяет гибко наращивать как данные, так и функции программы без изменения ранее написанного кода, включая и мультиметоды. Проведено сравнение предлагаемого подхода с процедурным и объектно-ориентированным программированием. Разработанные методы эволюционного расширения программ используются при генерации кода в языке процедурно-параметрического программирования Alien. Methods of evolutionary expansion of the previously written code are widely used during development of large software systems. Evolutionary expansion increases the reliability of programs and allows to avoid mistakes that can be made by modification of already functioning modules. Methods of evolutionary development are widely used in various programming paradigms. Modern software developers employ their own opportunities for paradigms and their special libraries. The latter includes design patterns. Procedural-parametric programming paradigm was proposed to increase the flexibility of the process of evolutionary expansion of programs. Specific feature of this paradigm lies in separation for presentations of data and procedures, which in this case can be expanded through the creation of new specializations and their handlers without alteration of the previously written code. This provides evolutionary support for multiple polymorphism used in multimethods without direct analysis of types of arguments. The special programming languages were developed for ensuring this support. However extensive application of popular languages that are supported by a huge number of different libraries prevents expansion of this approach. To increase the popularity of the procedure-parametric approach we propose methods of its application in the modern multiparadigm programming languages. The article presents examples of the implementation of evolutionary extensible and automatically installed data. It is shown how procedures and functions which support not only single, but also multiple polymorphism could be created and painlessly expanded. Examples of the implementation of scalable data and procedures that use parametric arrays are presented. The demonstration of a flexible development of a program is presented for some typical extension related situations. It is shown that the proposed approach provides more flexible development of a code compared to traditional programming methods. The proposed approach is used in the implementation of the code generator for procedural-parametric programming language. It also becomes the basis of the library, which supports the evolutionary developed programs. The proposed approach is realized with the help of C++ programming language.

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

Издание

Журнал: Вычислительные технологии

Выпуск журнала: Т. 21, 3

Номера страниц: 56-69

ISSN журнала: 15607534

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

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

Авторы

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