Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397

Issue N12 2016 year

DOI: 10.17587/prin.7.531-538
Program Classification in Software Engineering
V. I. Shelekhov, vshel@iis.nsk.su, A. P. Ershov Institute of Informatics Systems, Novosibirsk, 630090, Russian Federation
Corresponding author: Shelekhov Vladimir I., Head of Laboratory, A. P. Ershov Institute of Informatics Systems, Novosibirsk, 630090, Russian Federation E-mail: vshel@iis.nsk.su
Received on August 17, 2016
Accepted on August 31, 2016

Program classification based on kinds of an environment interface, program specification, language kernel, etc. is analyzed. The classification is intended to be a scientific basis for creating proper development methods for each program class. The following three program classes were defined: programs implementing functions (program-functions), reactive systems, and programming language processors. Definitions of program classes are based on the basic notions of a program, a program specification, requirements, etc. which were previously systematically defined. The paper may be used for teaching university students specialized in software engineering. The program-function and reactive systems classes include more than 90 % of all programs. There are also the following two meta-level classes: programming language processors and operating systems which are considerably more complex. The four mentioned program classes are not the full collection of program classes. Other program classes exist, for example, programs connected with data bases.

Keywords: software engineering, requirement specification, program specification, reactive system, formal semantics
pp. 531–538
For citation:
Shelekhov V. I. Program Classification in Software Engineering, Programmnaya Ingeneria, 2016, vol. 7, no. 12, pp. 531—538.
This work was supported by the Russian Foundation for Basic Research, project nos. 16-01-00498