Abstract

The paper presents a software design methodology based on computational experiments for effective selection of software component set. The selection of components is performed with respect to the numerical quality criteria evaluated in the reproducible experiments with various sets of components in the virtual infrastructure simulating the operating conditions of a software system being developed. To reduce the number of experiments with unpromising sets of components the genetic algorithm is applied. For representing the sets of components in the form of natural genotypes, the encoding mapping is introduced, reverse mapping is used to decipher the genotype. In the first step of the technique, the genetic algorithm creates an initial population of random genotypes that are converted into the assessed sets of software components. The paper shows the application of the proposed methodology to find the effective choice of Node.js components. For this purpose, a MATLAB program of genetic search and experimental scenario for a virtual machine running Ubuntu 16.04 LTS operating system were developed. To guarantee the proper reproduction of the experimental conditions, the Vagrant and Ansible configuration tools were used to create the virtual environment of the experiment.

Highlights

  • Effective selection of software components based on assessments of the quality of service criteria [1] is becoming increasingly important problem [2] in connection with the spread of the framework approach to software development

  • This paper considers the problem in the context of highly loaded distributed client-server information systems (IS) implemented in the JavaScript

  • A methodology of effective selection of software components based on experimental estimates of the criteria and the genetic algorithm was created

Read more

Summary

Introduction

Effective selection of software components based on assessments of the quality of service criteria [1] is becoming increasingly important problem [2] in connection with the spread of the framework approach to software development. It allows the developer to unify the process of developing an IS based on a combination of the constant part of the IS (framework), which does not vary from configuration to configuration, and connected components that are compatible with the constant part. The JavaScript framework is a framework written in the JavaScript language that allows programmers to manipulate a set of compatible components (libraries) to solve a problem. The framework differs from the JavaScript library in the control flow: the library is always called by its parent code, while the framework defines the overall architecture of the IS and calls certain components to implement the functionality defined by the developer

Objectives
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call