Trade-off Optimization in the Problem of Software System Architecture Choice Kharchenko A. 1 , Bodnarchuk I. 2 , Raichev I. 1 , Zagorodna N. 2 1 National Aviation University, Kosmonavta Komarova ave. 1, Kyiv, 03058, UKRAINE, E-mail: kharchenko.nau@gmail.com, oberst@nau.edu.ua 2 Ternopil Ivan Pul’uj National Technical University, Ruska str., 56, Ternopil, 46000, UKRAINE, E-mail: bodnarchuk.io@gmail.com, zagorodna.n@gmail.com Abstract The problems of multi-criteria choice of software system architecture are discussed, connected with definition of criterion function. For this the universal scalar convolution is offered to apply, where the priority of quality criteria depends on its proximity to the limitation. Optimization model application for problem of reengineering or directed choice of software architecture is discussed too. Keywords – Software Architecture, Software Quality, Architecture Ranking, Multicriteria Choice. I. INTRODUCTION The component technology is applied widely for design of software systems (SWS). It is grounded on the usage of components taken from earlier executed projects (reused components) [1]. The architecture according to this technology is designed by the frame selection based on the requirements to the SWS and filling it by necessary components taken from the repository or from Internet. The frame is a high-level abstraction of the SWS design; it combines set of interacting objects into some integrated environment [2]. The pattern is an expansion of the component concept. It is an abstraction, which contains the description of interactive objects in generalized cooperative activity where roles of participants and their responsibilities are defined. The great amount of components is developed. They are classified according to the types and kinds of applications, and also the technologies of their usage for SWS architecture design. Since the repository of patters as usual contains several components, which implement the same functionality, so for component technology of design we will obtain the set of alternative SWS architectures. Selection of the most acceptable option of the architecture with respect to the set of quality criteria requires either to range alternatives according to the values of quality criteria or to use some integral index with own value for each alternative Some methods for SWS architecture evaluation are used on practice. The most popular methods are based on the development of use case scenarios and testing whether certain architecture satisfies to quality criterion. ATAM and SAAM are the most known methods of this type [3]. The common disadvantage of these methods is that their implementation requires to create and analyze rather large quantity of use case scenarios, what makes them laborious, expansive and complicated for formalization. That is the appearance of papers where the Analytical Hierarchic Process (AHP) was proposed for the solution of this problem allowed to improve the procedure of architecture selection considerably and to formalize it for automation of decision making processes [4]. The essential disadvantage of AHP is limited quantity of alternatives for evaluation ( n 7±2) what is caused by the inconsistency of elements in the matrices of pairwise comparisons. Inconsistency increases as far as quantity of alternatives grows [5]. For the solution of this problem A. Pavlov in [6] offered the modification of AHP where weight indices of alternatives are obtained from the condition of minimization of inconsistency of matrices of pairwise comparisons, what leads initial problem to the problem of mathematical programming. In paper [7] the problems of modified AHP (MAHP) application are discussed in terms of the problem of evaluation of alternative software architectures for large amount of alternatives. Final selection of architecture option taking into account all the criteria is performed often via replacement of multi-criteria optimization by single criterion one represented by scalar criterion usually expressed as additive convolution of partial quality criteria. Usage of scalar convolution requires to assign weights to partial quality criteria by expert method. This procedure as rule is badly formalized, has subjective nature and is additional source of errors. The trade-offs made between criteria remain hidden when scalar convolution is used. The procedure of trade-offs assignment for partial criteria weighting has to be formalized in order to reduce the subjective influence on the weights of quality criteria selection and to take into account requirements of subject area. The idea of universal scalar convolution can be applied [8], where the target function that depends on the level of situation tension is optimized. The tension level is defined by the proximity between values of criteria to their threshold values. The iterative procedure may be applied for formalization of the process of quality criteria weighting.