TECHNOLOGY DEVELOPMENT OF A MOBILE DECISION SUPPORT SYSTEM BASED ON THE SMART METHOD FOR ANDROID

The work is devoted to the development of a mobile decision support system for solving the multiple criteria decision-making problems. To ensure the autonomous operation of the system, it was proposed to use a three-layer architecture. For reuse and distribution of the code, this model is implemented in three levels: presentation level, application level and data level. The development of the application level in the developed mobile decision support system involves the creation of three subsystems: a decision-making subsystem, a database interaction subsystem and a message management subsystem. At the core of the decision-making subsystem of the developed mobile decision support system, an improved Smart method was chosen. This method differs from the classical Smart method in that the decision maker uses the elements of the decision matrix as estimates of each alternative for all criteria. Also, the nature of actions on the criteria (maximization or minimization) is taken into account. This, in turn, takes into account the normalization of elements of the decision matrix. The startup of the database interaction subsystem, which is responsible for transferring and retrieving data to/from the database, occurs via the user interface. To create the database, the SQLite relational database management system was used. SQLite stores the entire database (including definitions, tables, indexes, and data) in one standard file on the device on which the application runs. The message management subsystem allows the decision maker to send the calculation results via the Internet or using the short message service (SMS). The mobile decision support system has been developed in Java in Android Studio 3.2.1. The task of buying a smartphone was considered, as an application of the developed mobile decision support system.


Introduction
The multi-criteria decision-making tasks arise in such areas of human activity as management, politics, social psychology, commerce, and economics. These tasks are, for example, choosing a candidate for the position, choosing the best place for construction, choosing enterprise development strategies, etc. It is necessary to compare different alternatives that are characterized by different criteria to make decisions in such situations. Often, the evaluation of the alternatives may be better by some criteria and be worse by other criteria. Therefore, for solving multi-criteria decision-making tasks, Decision Support Systems (DSS) based on mathematical methods are used [1].
In [2], there are two groups: enterprise-wide DSS and desktop DSS among the DSS. Enterprise-wide DSS is a data-driven decision support system that supports a large group of managers in a networked client-server environment with a specialized data warehouse. Desktop DSS is a small system that runs on a decision maker's (DM's) personal computer. If access to the DSS functionality occurs with web-technologies help, then it is a Web-based Decision Support System (WB-DSS) [3]. WB-DSS are on the server and many decision makers have the ability to work with DSS. The developers of some DSS, such as Decide IT, Expert Choice, Decision Lens, have developed web versions of their systems. The mobile DSS are appropriate to use, if the DM needs to get a solution at any time in off-line mode. Mobile computing devices productivity increases with the development of mobile technology. At the same time, these devices are very compact, which makes them more mobile. Thus, mobile computing devices are an ideal platform for creating new types of decision support systems [4].
However, the problems of the mobile DSS development and usage are: -ensuring autonomous system operation in case of internet connection unreliability between the client and the server; -compatibility of the mobile DSS with platforms of specific mobile devices.
Modern DSS, which are based on various mathematical methods, can replace the human resources at the data processing and structuring stage. However, nowadays, the decision maker often needs to perform a comparison of the solution options considering several criteria simultaneously remotely, in off-line mode. With the increasing popularity of mobile devices and adaptation of information technologies to them, there is a need to create the mobile DSS to ensure the decision makers work in off-line mode. Thus, the creation of a mobile DSS for the mobile OS and based on the non-resource-intensive decision-making method for increasing the efficiency of the decision-making process is relevant.

Literature review and problem statement
The architecture of the system, that is, the nature of its main components interaction is one of the DSS classification features. The DSS includes: a database, a model base and a software subsystem, which consists of database and model base management systems, a user interface, analytical tools, communications infrastructure and networks [5]. The main mobile applications architecture is the client-server architecture. As a rule, mobile devices are thin or fat clients in the client-server mobile systems [6]. Fat clients can be implemented using one, two or three layers of application code. Thin clients do not have a custom application code. Their functionality is fully provided by the server on which the database is located and the whole application code is implemented. The client sends the entered data for processing to the server, where it is processed and stored when connecting to the Internet. Modern DSS process a large data volume, therefore, cloud servers are used for storing and processing data. Access to cloud servers depends on the connection to the Internet. In [7], the issues of application of multi-criteria decision analysis methods in an offloading operation were considered. The main aim of an offloading operation is to improve the productivity of mobile devices through the use of cloud resources. Theoretical and practical issues of using cloud computing services and cloud data storage are considered in [8]. The cloud computing model suggests network access to cloud computing resources.
In [9], to build mobile DSS the authors have chosen the thin client model, where the client is mobile devices, and all heavy computations are performed by the server. Technologies for developing a scaled and flexible information system for small and medium-sized businesses, and an architecture for building a server were considered. In [10], the three-layer client-server architecture was chosen to develop a mobile DSS for selecting a higher education institution. The database server, the application server and the administrator's PC are connected by a high-speed local area network. The client is a mobile device, connected to the application server via the Internet.
In [11], existing cloud applications were considered for DSS, which are used to support decision-making for rice crop yield and the mobile DSS for farmers was developed. The ThingSpeak.com service was used, which allows collecting, analyzing and processing data, obtained through URL requests. In [12], the mobile information system is presented for decision support during diagnostics and self-monitoring of glycemic status by patients with diabetes. Cloud technologies were used to store patient data and doctor's access to them. Wherein, separate mobile applications for the patient and for the doctor were developed. Cloud services of Firebase were used. In [13], a mobile cloud-based clinical decision support system for drug poisoning in children was developed. A client-server architecture was chosen and cloud technologies were used. The mobile devices or personal computers are as a client. Amazon Cloud infrastructure is used to deploy the application server and data server. In [14], a mobile DSS was developed to help doctors in diagnosis, therapy, searching for information and image analysis. The system consists of 53 information databases and 119 guidelines, including clinical imaging guidelines, developed by the Korean Society of Radiology. A real-time NoSQL database management system of data of Firebase was used to create a data warehouse.
The disadvantage of the client-server architecture is the need of constant communication with the server that is the source of the update and retrieval of data.
To ensure the autonomous operation of the system or in the case of unreliable communication between the client and the server, it is preferable to consider the mobile device as a stationary device on which the application can be deployed. It is necessary to ensure the possibility of modifying individual components of the system, when developing an application for a mobile operating system. The three-layer architecture provides such a possibility. In [15], a mobile application has been developed for selecting the most convenient underground mining method for a mine using multi-criteria decision-making methods, such as TOPSIS, VIKOR, ELECTRE, FMADM and PROMETHEE. The mobile application has been developed on the basis of the three-layer architecture. The application has a user-friendly interface and is designed for users with different levels of training. Components of all application levels: presentation level, application logic level and data level are on a mobile device. This allows the decision maker to use this application for the selection of an underground mining method on mobile devices anywhere without Internet access.
When developing mobile applications, it is also necessary to decide on the platform for which this application will be created; programming language for the selected platform and development environment [16]. Android and iOS platforms are the most popular mobile platforms, today. The iOS platform is a platform only for mobile devices, which are developed by Apple Inc. (USA). The Android platform is the platform for the vast majority of mobile device manufacturers. The most famous companies are: Samsung Electronics  [10][11][12][13][14][15] have been developed for mobile devices on the Android platform. These applications have been developed to support decision making in specific application areas. The authors determined the criteria for evaluating alternatives in advance. The disadvantage of working with such systems is their narrow specialization.
Furthermore, in [17], the authors have indicated some limitations of using the mobile devices. These limitations are as follows: small screen size, the difficulty of manual data entry, the ability to display only one window, the difficulty to navigate between windows. These limitations must be considered when designing mobile DSS and choosing methods for building a decision rule.
Thus, the analysis of the developed DSS [10][11][12][13][14][15] revealed the following disadvantages: -use of the client-server architecture with a thin client model in the mobile DSS, which requires constant communication with local or cloud servers via the Internet; -most of the mobile DSSs were developed for specific application areas, which makes it impossible to apply such DSS for other purposes.
Analysis of scientific publications [10][11][12][13][14][15] found out that today DSS are used in various areas of human activity, such as medicine, agriculture, mining, the choice of university. Data processing and storage are performed on local or cloud servers, which are only accessible through an Internet connection. However, the problem consists of the necessity to make a decision in a number of tasks here and now regardless of the Internet connections. It is necessary to take into account that the problem of choice can arise in any subject area.

The aim and objectives of the study
The aim of this work is to develop a mobile DSS on the Android platform, using a three-layer architecture. This will allow the decision maker to receive decision support anytime, anywhere without access to the Internet. This architecture contains a presentation layer, an application level and a data layer.
To accomplish the aim, the following objectives have been set: -to develop a decision-making subsystem based on the improved Smart method; -to develop a user interface and message management and database interaction subsystems; -to create a database using the SQLite relational database management system; -to perform a product software implementation of a mobile decision support system with a three-layer architecture; -to experimentally research the developed system on the example of the task of buying a smartphone.

Development of a decision-making subsystem based on the improved Smart method
For developing the mobile DSS, the three-layer architecture is used: presentation layer; application layer; data layer. This mobile DSS is an extended version of the mobile application, presented in [18], which was implemented as a two-layer architecture. There was no data level in this mobile application. The user entered data, received structured solution, after which data have been clean. The block diagram of the developed mobile DSS (Fig. 1) represents the subsystems DSS interaction in formulating recommendations in the decision-making process. All subsystems are located on the mobile device. This allows the decision-makers to receive decision support in off-line mode, anytime and anywhere.
During the development of the decision-making subsystem, we note that most of the existing DSS allow to solve multiple criteria decision-making problems in the following formulation: we have the set of n alternatives A 1 , A 2 ,…, A n and N criteria C 1 , C 2 ,…, C N , used to evaluate alternatives. Each alternative has an estimate by each criterion, received from experts or obtained on the basis of objective calculations. It is necessary to build a decision rule based on the decision-maker preferences, which will allow ranking alternatives by quality and finding the best alternative. The development of a decision-making subsystem involves using not resource-intensive multi-criteria decision analysis methods. This provides low hardware requirements for DSS. The analysis carried out in [18] showed that the AHP method assumes the filling of the matrix of pairwise comparisons at all hierarchy levels, according to the scale of relative importance. This makes it difficult to work with the DSS based on this method, as there are limitations when working with mobile devices that have been described above. The Smart and Topsis methods are simple, and their calculations are not resource-intensive. But the Smart method is subjective when assigning weights to alternatives and does not allow to take into account actions on criteria (maximize/minimize). Therefore, the Smart method was improved in [18]. The algorithm implementing the improved Smart method is shown in Fig. 2.

Fig. 2. Algorithm of the improved Smart method
Evaluation of each alternative by all criteria on a scale from 0 to 100 points by a decision-maker is one of the Smart method stages. Thus, the evaluation of alternatives by criteria is subjective, and performing this stage is very laborious for the decision-maker when working with a mobile device. Therefore, it is proposed at this stage to use the decision matrix Х, as these evaluations. The decision matrix Х dimension is m×n, where m -the number of alternatives, n -the number of criteria. The elements of the decision matrix are estimations the i-th alternative by the j-th criterion, i=1,…, n, j=1,…, m, which are known in advance. The rows of the decision matrix are the alternatives А i , i=1,…, n, and the columns are the criteria С j , j=1,…, m, by which these alternatives are evaluated, and the elements of the matrix are denoted as x ij , i=1,…, n, j=1,…, m.
Also, to consider the nature of the action on criteria (maximize or minimize), the stage at which the decision maker explicitly indicates the nature of action on criteria was added.
Furthermore, it is proposed to perform a normalization of the decision matrix elements so that the weight of the relevant alternative for each criterion is taken into account when calculating the generalized assessment of each alternative.
It was proposed to take into account the nature of the action on the criteria -maximization or minimization, when normalizing the elements of the decision matrix. Then for the criteria that are maximized, the normalization is performed using the formula: where r ij -the normalized value x ij of the decision matrix Х.
For the criteria that are minimized, the normalization is performed using the formula: This allows: -to reduce the subjective role of decision makers in the process of evaluating alternatives by criteria; -to consider the nature of the action on the criteria; -to perform a normalization of the decision matrix so to take into account the nature of the action on the criteria.
As stated earlier, the developed mobile DSS has the three-layer architecture, each level has been implemented in the form of corresponding classes. The decision-making subsystem belongs to the application layer of the DSS.

Development of a user interface and message management and database interaction subsystems
Interaction between the mobile DSS and decision makers occurs through the user interface, which belongs to the presentation layer of the DSS. The user interface is responsible for the input of the necessary data for the problem solution. The number of criteria and alternatives is entered in the first window (Fig. 3, a). The name of the criteria and alternatives is entered in the second window (Fig. 3, b). The evaluation of the alternatives by the criteria, actions on the criteria, and the importance of the criteria are entered in the third window (Fig. 4, a, b). The first window has the button "Next" (Fig. 3, a), the click on which displayed saved solutions from the database (Fig. 5, b).

Fig. 3. User interface windows: а -first window; b -second window
When the decision maker finished entering the necessary data for the problem solution and the button "Get a solution" is pressed in the third window, the decision-making subsystem is started.
Also, the user interface is responsible for displaying the results of the calculation. The name of the best alternative and the diagram, which displays the ranked alternatives are shown in the fourth window (Fig. 5, a). The fourth window of the user interface has two buttons: "To the beginning" and "Previous decisions". Pressing the button "To the beginning" allows the decision maker to return to the first window and to make changes in the data for the multiple criteria decision-making problem solution, pressing the button "Previous decisions" opens the list with problems, which were solved earlier (Fig. 5, b). If the decision maker long clicks on the note from the list, he takes the opportunity to delete the note from the list. If the decision maker selects the note from the list, the new window displays all solutions of the selected problem (Fig. 6, а, b).

Fig. 5. User interface windows: а, b -fourth window
If the decision makers clicks the button "Edit data" (Fig. 6, b), the third window is displayed, where the decision maker takes the opportunity to edit numerical estimates of alternatives by criteria, edit criteria's weights and enter the optimality criterion. If the decision maker clicks the button "Add data" (Fig. 6, b), the first window is displayed and the decision maker takes the opportunity to edit data, add or delete data and make the solution of the new problems.
When the decision maker clicks the graphic object (Fig. 6, а, b), the launch of the message management subsystem occurs. This allows the decision maker to send the results of calculations via the Internet using the short message service (SMS).
The launch of the database interaction subsystem, which is responsible for transferring and retrieving data to/from the database, is performed via the user interface.
The message management subsystem and the database interaction subsystem belong to the application layer of the DSS.

Creation of a database
The SQLite relational database management system was used to create a database for the mobile DSS. A feature of SQLite is that it does not use the client-server paradigm. SQLite is a library with which the program is compiled and the kernel becomes an integral part of the program. Thus, SQLite library function calls (API) are used as an exchange protocol. This approach reduces response time and simplifies the program. SQLite stores the entire database (including definitions, tables, indexes, and data) in a single standard file on the device on which the application is run. Before starting the transaction, the file, in which the database is stored, is blocked. This simplifies the implementation. ACID (Atomicity, Consistency, Isolation, and Durability) functions are achieved in particular by creating a log file. ACID is a set of requirements that guarantees the reliable operation of database transactions.
The database of the developed mobile DSS consists of one table. The structure of the developed database is shown in Fig. 7. The table contains the primary key field, which is used to ensure the uniqueness of the data in the table. Also, the fields with information on the number of alternatives, the number of criteria, the name of alternatives, and the name of the criteria are indicated. In addition, there are fields in the table: -numerical evaluation of alternatives by criteria; -evaluation of the importance of the criterion; -determination of action over the criteria; -solution; -the time of writing the solution to the database.

Software implementation of a mobile decision support system
The mobile DSS was developed with the Java language in Android Studio 3.2.1. Java is a strongly typed object-oriented programming language developed by Sun Microsystems, therefore, a Java language program consists of classes and the class diagram is shown in Fig. 8.
The mobile application [18], which has been developed using the two-layer architecture, was used in the implementation of the mobile DSS. This application provided autonomous work of the decision maker, however, it was not possible to save and use the saved data for the multiple criteria decision-making problems solving. The developed mobile DSS uses the three-layer architecture. Each level has been implemented in the form of the corresponding classes.
The presentation level program code was supplemented by the following classes.
The class FirstActivityForDbItem.java implements the first user desktop interface for editing data from the database: -allows to change the number of criteria and alternatives; -allows to open a list of tasks that were solved earlier; -performs verification of the entered data.
The class SecondActivityForDbItem.java implements the second user desktop interface for editing data from the database, namely, it allows to change the names of alternatives and criteria and performs verification of the entered data.
The class ThirdactivityForDbItem.java implements the third user desktop interface for editing data from a database, namely: -allows you to enter numerical estimates of each alternative according to the relevant criteria; -allows you to enter criteria estimates; -allows you to enter an action on the criteria (maximization/minimization); -implements a modified algorithm of the heuristic Smart method; -records the data to the database. The class from_dblist.java implements the display a list of tasks that were solved earlier and allows the user to select a task from the list for viewing.
The class info_from_list.java implements the display a task from the list of tasks that were solved earlier and allows the user to select a task from the list: -to view complete information about the selected task; -to edit existing data (names of alternatives and criteria, criteria of evaluations of alternatives according to criteria, actions on criteria, importance of criteria) if necessary; -to make changes (number of alternatives and criteria, names of alternatives and criteria, criteria for evaluating alternatives according to criteria, actions on criteria, importance of criteria) if necessary.
The class MyDividerItemDecoration.java implements a graphical design of the list of tasks that were solved earlier.
The application level program code contains the following classes: The class Note.java creates an object that contains the complete information about the data that will be added or removed from the database.

Fig. 8. Class diagram of the mobile DSS
The class NoteAdapter.java implements the output of the information from the database in the list line, which is accessible to the user.
The class RecyclerTouchListener.java implements the processing of clicks on the item in the list of tasks that were solved earlier, while distinguishing between the short and long press. Short pressselects a list item, long press opens a dialog window that allows you to delete the item from the list.
The class Solve.java implements the improved algorithm of the heuristic Smart method.
The class Intent.java implements the sending of calculation results via the Internet or by using the short message service SMS.
The data level program code is represented by the class DatabaseHelper.java. This class provides the following features: -creates a database; -updates the database; -records data; -receives data; -removes data.

Experimental research of the application of the developed system
The task of buying a smartphone was considered. Four models of the smartphone were considered as alternatives: Huawei P20 (alternative A 1 ), Meizu 16 (alternative A 2 ), Samsung Galaxy A8 (alternative A 3 ), Xiaomi Mi 8 (alternative A 4 ). Six criteria were chosen to evaluate the variants for buying a smartphone: screen size (criterion C 1 ), camera resolution (criterion C 2 ), memory (criterion C 3 ), processor frequency (criterion C 4 ), price (criterion C 5 ), and battery capacity (criterion C 6 ). All data were entered in the mobile DSS and the recommendation was received. The input data and the computation results are presented in Table 1.
By applying the improved Smart method we got that the best alternative is the alternative A 2 , which corresponds to the smartphone Meizu 16.
Also, this multiple criteria decision-making problem was solved by the expert evaluation method. Five experts were invited to give a recommendation about buying a smartphone. All experts had an equal level of competence. The rank has been assigned to each alternative. So, the alternative to which the expert assigned the highest rating is assigned rank 1. If an expert recognizes several alternatives as equivalent, they are assigned the same rank number (Table 2).
To assess the average degree of the consistency of the opinion of all experts, the Kendall's coefficient of concor-dance was calculated. It is equal to 0.808, which indicates about a high degree of the expert opinions consistency. To assess the significance of the Kendall's coefficient of concordance, the Pearson criterion was calculated. The calculated value χ 2 =12.12. It is greater than tabular χ 2 =7.81473 for the number of degrees of freedom 3 with a significance level a=0.05. Table 2 Matrix of ranks So the value of the Kendall's coefficient of concordance equal to 0.808 is not random and opinions of involved experts are agreed. Then, the obtained results of ranking alternatives are meaningful and can be used when calculating the weights of alternatives.
To calculate the weights of alternatives, the transition from the matrix of ranks to the matrix of transformed ranks is completed (Table 3). If the elements of the matrix of ranks are denoted by x ij , i=1,…, n, j=1,…, m, where n -the number of alternatives, m -the number of experts, then the elements of the matrix of transformed ranks are calculated using the formula s ij =x max -x ij , where x max =4. The weight of an alternative is calculated as the ratio of the sum of the ranks of each alternative to the sum of the ranks of all alternatives. Table 3 Matrix of transformed ranks Thus, research has shown that the expert evaluation method gives the best alternative A 2 , which corresponds to the smartphone Meizu 16. The result which was obtained by using the developed mobile DSS is the same as the result of the expert evaluation method. Thus, the developed mobile DSS based on the improved heuristic Smart method can be proposed to the decision maker when solving the multiple criteria decision-making problems in the autonomous mode.

Discussion of results of research of the application of the developed system
The results of the research (Table 3) showed that the application of the developed mobile DSS based on the improved heuristic Smart method gives a result that coincides with the experts' estimation. Thus, the developed mobile Table 1 Input data and computation results

Input data
Selected alternatives DSS is a high-quality and easy-to-use tool for the assistance to the decision maker to compare solutions taking into account several criteria simultaneously. Unlike the mobile application developed in [18], this system implements a data layer that contains the developed database using the SQLite relational database management system. The user interface has also been added, a database interaction subsystem was developed, which allows the decision maker to save received recommendations, edit data, and delete data. In addition, a message management subsystem was developed that allows sending results via the Internet or via SMS.
The advantage of using a mobile DSS based on the proposed method compared with the use of known methods such as AHP, MAHP, Electre is the low computation resource intensity of the proposed method, as well as ease of use.
Compared with the considered mobile DSS [10][11][12][13][14], the developed mobile DSS is based on the three-layer architecture. All system services are installed directly on a mobile device with Android OS. This ensures the autonomy of working with the system for decision makers, which leads to an increase in the efficiency of the decision-making process.
The developed mobile DSS is invariant to the subject area, which allows it to be used to solve problems from different application areas.
A limitation in the use of the developed mobile DSS can be the amount of information stored in the database, as well as the use of only one method for solving the multiple criteria decision-making problems in the system. Therefore, further research can be directed to the modification of the developed system, which ensures the use of the three-layer architecture. It is necessary to solve the following problems: -ensuring the ability to save data in the cloud storage, so as not to violate the autonomy of the decision maker; -implementation and connection of methods for solving the multiple criteria decision-making problems whose calculations are non-resource-intensive to the decision-making subsystem.

1.
A decision-making subsystem has been developed that belongs to the application level in the three-layer architecture. This architecture was chosen to facilitate the possible modification of individual components of the developed DSS, if necessary. When developing this subsystem, an improved Smart method was used, which allows reducing the subjective role of the decision maker in the process of evaluating alternatives according to criteria, taking into account the nature of operations on criteria, and normalizing of the matrix taking into account the nature of operations on criteria.
2. A user interface has been developed that belongs to the presentation layer in the three-layer architecture. The interaction between the mobile DSS and decision maker occurs through the user interface. A message management subsystem has been also developed, which allowed the decision maker to send the calculation results via the Internet or via SMS. The developed database interaction subsystem allows the decision maker to save recommendations, edit data, delete data. The message management subsystem and the database interaction subsystem belong to the application level.
3. To create a database for mobile DSS, the SQLite relational database management system was used. SQLite stores the entire database (including definitions, tables, indexes, and data) in one standard file on the device on which the application runs. The created database consists of a single table that contains fields indicating the number of alternatives and criteria, as well as their names. In addition, there are estimates of alternatives on the criteria and the choice of action on the criteria. The database also stores the solution and the time it takes to write the solution to the database.
4. To create a mobile DSS on the Android platform, it was based on the mobile application developed by the authors for solving the multiple criteria decision-making problems using the two-layer architecture. Presentation level and application level of the application have been implemented in the form of corresponding classes. The mobile DSS developed in this paper uses the three-layer architecture. New presentation layer classes were developed to display, modify, or delete stored data and/or solutions from the database. A database of the solutions was also created, which was presented to the data layer. Classes of the application level were developed to implement the database interaction subsystem and message management subsystem.
5. The developed mobile DSS was used when the user chooses the best solution in the problem of buying a smartphone. Four smartphone models were considered as alternatives; six criteria were chosen to evaluate alternatives for buying a smartphone. With the help of the mobile DSS, the recommendation on the buying of a smartphone was received. The result, which was obtained using the developed mobile DSS, coincides with the result of the expert evaluation method with a high degree of consistency of expert opinions (Kendall's coefficient of concordance is 0.808).