scispace - formally typeset
Proceedings ArticleDOI

Evolutionary software development using procedural-parametric programming

Alexander Legalov, +1 more
- pp 3
Reads0
Chats0
TLDR
It is shown that the use of parametric generalizations combined with generalizing parametric procedures leads to the creation of more flexible evolutionary-enlargement programs, which increases the efficiency of the written code and reduces its size.
Abstract
The article examines the methods of evolutionary software development with the use of the procedural parametric paradigm of programming. The basic program object of the paradigm are presented and their implementation in a programming language Alien is shown. The generalized records and generalizing parametric procedures are described as well as their using for the enlargement of already written a program without changing the previously written code. We consider a number of techniques that demonstrate the peculiarities of the proposed programming style. The use of generalizing procedures combined with generalized records instead of extensible types provides support for the multiple polymorphism as a special case includes a single polymorphism that is used in the objective-oriented approach. The flexibility of the proposed programming style in case of adding new data types is considered on the example of multimethods. In order to enhance the language capability it is proposed to use plug-in modules.We have carried out the analysis of the situations that arise in the software development process and compared the possibility of using evolutionary expansion in procedural, object-oriented and procedural parametric approaches. We have considered adding new specializations to the generalizations, adding new procedures, adding new data fields to existing types, adding a new procedure designed to process only one of the specialization, creating a new generalization based on the existing specializations, adding new multimethods to the program and changing multimethods.The article shows that the use of parametric generalizations combined with generalizing parametric procedures leads to the creation of more flexible evolutionary-enlargement programs. The complexity of building for generalized records is comparable with the creation of enlargement records with the use of programming language Oberon or class hierarchies of object-oriented languages. The use of plug-in modules facilitates the control of the program increment process.The development of the programming language Alien allows us to carry out the research of capabilities for procedural parametric paradigm and to define the further ways of its development. In particular, the tool support for the evolutionary enlargement of multimethods allows carrying out a flexible direct coding without additional cost in the case of degeneration of multimethods to a simple constructions. Many of these constructions are currently implemented using a pattern design. The procedural parametric paradigm in general allows us to describe many of the patterns directly, ie, without specifying complex relationships between classes and without their dynamic binding at run time. This increases the efficiency of the written code and reduces its size.

read more

Citations
More filters

Языки программирования и управленческие навыки

TL;DR: The author offers means of programming from primitive to high-level; builds a sequence of mastering the basics of programming; compares a number of high- level languages in terms of the task; analyses the existing experience of implementing these ideas in the learning process.
References
More filters

Языки программирования и управленческие навыки

TL;DR: The author offers means of programming from primitive to high-level; builds a sequence of mastering the basics of programming; compares a number of high- level languages in terms of the task; analyses the existing experience of implementing these ideas in the learning process.