Index

Abstract

This article provides information on the design of intelligent software systems. An intelligent software system refers to any software using artificial intelligence to analyze and interpret data or to communicate with systems and people. The article substantiates the relevance of the issue and highlights existing problems. The following factors are taken into consideration when assessing the problems of intelligent software system designing: easy data collection, low cost of developing intelligent systems, availability of experts and necessary resources (computers, program developers, software, etc.). The article also reports of related studies and identifies application areas. A conceptual model is developed for the design of intelligent software systems. The stages, components, directions, etc. indicated in the conceptual model for the design of intelligent software systems are studied and the characteristics of each are determined. Some examples of design types by the fields of activity are identified. The developed model can be used in the design of intelligent software systems related to any instrumental programming.

Keywords: Software systems, Intelligent software, Conceptual model, Stages, Components, Directions.

Received: 8 February 2022 / Revised: 14 March 2022 / Accepted: 30 March 2022/ Published: 18 April 2022

Contribution/ Originality

A conceptual model is developed for the design of intelligent software systems. The stages, components, directions, etc. indicated in the conceptual model for the design of intelligent software systems are studied and the characteristics of each are determined.

1. INTRODUCTION

In recent years, intelligent systems are rapidly penetrating people’s lives and are widely used in various fields. The systems based on modern intellectual technologies (sensory, genetic, nanotechnology, biotechnological, etc.) are changing the world. Intelligent systems refer to the category of information and computing systems with necessary knowledge base, algorithms, intellectual tools, etc., as a result of which the system can work without any assistance. A distinctive feature of intelligent systems is the availability of the database needed for the solution of various types of complex problems, i.e., to make decision, select and execute data [1]. Intelligent System (IS) is a creative hardware or software system capable to skillfully solve problems related to a specific subject area, so that knowledge is stored in the memory of such systems. Intelligent systems are explored by a group of scientists called “artificial intelligence”. However, many researchers, namely psychologists, educators, point out the negative features (for example, cyber-addiction, etc.) of the application of intelligent systems; they believe that a different type of personality, i.e., a person belonging to the cyber world, is formed being affected by intelligent systems [2]. Intelligent systems also suffer from the security issues of a person’s private life and provision of data security. Based on the above, it is possible to draw appropriate conclusions in accordance with the study of theoretical and technological intellectual systems. The purpose of this work is to study the stages, components and technological aspects of intelligent software systems, to analyze the application aspects of intelligent systems. The stages, components, trends, etc. indicated in the conceptual model for the design of intelligent software systems are studied and the characteristics of each of them are determined. Any information system that solves intelligence tasks or uses artificial intelligence methods is intelligent. The Intelligent Information System (IIS) is a set of software, linguistic and logical-mathematical tools to support human activity and data search in natural language through dialogue. The relevance of the topic is justified by the following conditions:

The need to develop new intelligent software systems that meet modern requirements, etc.

Intelligent software refers to any software that uses artificial intelligence to analyze and interpret data or to communicate with systems and people [3].

Intelligent system in decision-making technologies is an intelligent information-computing system that skillfully solves problems without human intervention.

Logical programming (Prologue, List, etc.) was previously used to run IS, but now modern languages with different procedures are used.

Due to the increasing use of artificial intelligence in various systems, intelligent software systems will play a major role in future. It is estimated to be widely used in the following areas:

All this may increase the software efficiency, reduce the workload and rise customer satisfaction, and so forth.

Effective steps have been taken in the field of artificial intelligence over the last four decades. Obviously, not all the promises made in the early years were fulfilled. Nevertheless, the truth remains: modern systems provide effective machine intelligence. Many intelligent software systems have been developed to be adapted to human capabilities, and the examples are available now [4].

Artificial intelligence is a universal science. The applications of artificial intelligence are diverse. They actively adapt to and integrate into other sciences to solve any task.

American scientist John McCarthy first used the term artificial intelligence in 1956.

The emergence of the concept of intelligent systems is strictly linked with the concept of artificial intelligence and modern management theory.

High-quality IS a knowledge-based automated system, or a set of software, linguistic and logical-mathematical tools for the realization of the main task, i.e., the implementation of data search in human natural language in dialogue mode.

A system is considered to be intelligent when it changes not only the parameters of data access, but also the way it behaves, depending on the system capabilities.

The structure of the intelligent system includes three main units:

The following aspects are used to ensure the functioning of the intelligent system:

The classification of the tasks addressed by IS includes:

Decision  Support  is  defined  as  a  set  of  procedures  that  prov ide  the  necessary  information  and recommendations to facilitate the decision-making process.

Application areas of IS may include:

Some of the applications of artificial intelligence are shown in Figure 1 [5].

Figure 1. Application fields of artificial intelligence.

2. RELATED WORK

Namestnikov, et al. [6] presents a new efficient model, algorithms and methods of presentation the area of development of software systems (PS) as fragments of knowledge of the knowledge support system design. In this study, the knowledge base is formed in the process of analyzing class diagrams in UML notation. It proposes approaches to lessen the period of design process and raise the quality of the obtained PS. This is achieved due to use of successful design solutions used in other projects. It applies metrics to determine the similarity of PS projects based on the calculation.

Gushchina [7]; Shevtsova [8] identifies the main risks of a software project and examines the use of different types of intelligent systems in the risk management process for software projects. It also highlights the basic methods used for process estimation and forecasting in the field of software engineering. It reviews available empty expert systems, software systems for analysis and risk management of software projects.

Svensson [9] discusses successful or failed software projects in literature so far. It reveals that successful software projects are often defined as meeting business objectives; deliver on time and within budget, and meeting requirements. It also identifies different factors contributing the success of software project, which are: user involvement, management support, realistic requirements, and having good estimations. In addition, it compares bespoke and market driven and bespoke and in-house customer supplier relationships between Swedish and Australian companies. It concludes that there are differences between the factors leading to software project success by countries as well as between different types of customer-supplier relationships.

Afanasiev and Afanasiev [10] deals with the Knowledge Discovery in Databases & Data Mining, which currently combines statistical, neural network and fuzzy models necessary when designing data analysis systems. It presents the main tasks of data intelligent data analysis and gives examples of systems and standards in this field. The study also describes the tasks, examples and standards of intelligent data analysis based on a modern review of domestic and alarm sources, a systemic approach. The manual is intended to support the disciplines “Intellectual Analysis of Data and Processes”, “Intellectual Information Technologies”, “Information Technologies” and Remote Forms of Training of the Master and Postgraduate Studies.

3. DEVELOPMENT OF A CONCEPTUAL MODEL FOR THE DESIGN OF INTELLIGENT SOFTWARE SYSTEMS

Creating intelligent systems is a complex process. It consists of many stages. One of the main stages here is the design of intelligent software systems.

Designing intelligent software systems is an iterative and evolutionary process involving a group of experts. This includes creating a system on the subject area, involving specialists with knowledge in the field of artificial intelligence, high-level engineers, analysts and programmers with engineering knowledge. Depending on the size and complexity of the work, the group may involve three to six people.

The following factors should be considered when assessing the problems when designing intelligent software systems: easy data collection, the cost of developing intelligent systems, the availability of experts and necessary resources (computers, programmers, software, etc.).

Following the analysis of the problem area and determination of the feasibility of implementing an intelligent system in this area, the system is designed directly.

There are different views on determining the number of stages in the design of intelligent systems. This is particularly associated to the functions of future intelligent system, the scope of use, the availability of advanced tools, and so forth. The development of IS covers eight stages Figure 2.

Figure 2. Conceptual model for the intelligent software system design.

4 ANALYSES OF THE STAGES OF INTELLIGENT SOFTWARE SYSTEMS

Information about the design stages of IS provided below.

  1. Identification of the task characteristics. At this stage, the tasks to be solved and their features are processed. A technical task is determined to design the system. Then a group of system users is assigned. This information will help to determine the correct field of knowledge of the specialist, its functions and, consequently, the required level of knowledge. As a result, certain requirements are developed [11, 12].
  2. Selection of basic concepts of the subject area. This allows the expert to analyze the type of knowledge involved in the decision-making process. The knowledge engineer determines the formal ways of decision-making procedure that best suits the nature of the expert’s opinion when the knowledge is presented and the decision is made. Thus, as a result of the implementation of this stage, the concepts are revealed, and accordingly, the concepts are revealed. These concepts determine the selection of a characteristic scheme for the presentation of the expert scheme subject.
  3. Identification of the decision-making mechanism. These modeling components greatly affect the successful solution of the system design task. The structure developed for the knowledge presentation is the basis for the implementation of the following step, i.e., the direct creation of the knowledge base of the system.
  4. Selection of language for the knowledge presentation. Once the rules are formulated and the presentation is made in the selected language, the knowledge is entered into the knowledge base by the engineer.
  5. System testing. The system performance is determined by solving special test tasks. When identifying various shortcomings, one or another stage of development is referred depending on the nature of these shortcomings. If any knowledge provided by an expert cannot be submitted to the system or is not sufficiently reliable, he returns back and makes possible corrections. If any knowledge provided by the expert does not correspond to the format of the selected knowledge presentation model of the system, then he returns to another stage and selects alternative models or knowledge presentation scheme. One of the reasons for this “return” is the lack of sufficient basic logical mechanism. A situation arises where the initial task version is incorrect and needs to be reprocessed.

The work sequence diagram completely describes the design of IS in detail, but does not take into account some important steps associated with the creation of a number of functional modules of the IS system. Important tasks in the design of intelligent systems are listed below:

As already mentioned, the content of the work, the number of stages in the design of intelligent systems, and the sequence of their implementation depend on a number of objective and subjective factors. However, many stages and content of work are common and necessary for almost all types of intelligent systems. These stages and their components are listed below:

  1. Description of the problem area: identifying the problem area, indicating the importance of the problem for all organizations; appointing problem specialists to deliver knowledge base expertise; preparing and announcing a development plan.
  2. Personnel: assigning a group of designers and relevant positions; appointing a highly qualified project manager; creating and implementing a comprehensive management process.
  3. Adoption of project: holding a meeting in the organization; discussing the main approach to the problem; preparing a special development plan; preparing for the installation of the necessary technical tools.
  4. System prototype: creating a system prototype; testing; obtaining additional information about the problem area based on the test results.
  5. System development: expanding the knowledge base of the prototype; evaluating the structure of the user interface; studying the by the user and preparing documents.
  6. System verification: involving specialists and potential users in the verification process; ensuring the system functionality in accordance with the project.
  7. System integration: fully implementing the system as planned; ensuring system compatibility and interoperability.
  8. System support: ensuring continuous system support; performing the database entry when receiving new information; transferring the responsibility for the system.
  9. Documentation: preparing all system documents; preparing instructions for user; organizing consultation with users.

The stages of designing intelligent systems are not defined in detail. It is difficult to provide links between some of them. To some extent, they describe the process of designing intelligent systems.

The stages of the existence (or life cycles of the system) of intelligent systems correspond to the level of the system readiness; it ends when the functionality is performed by tools. The following stages of life cycles of intelligent systems are defined:

  1. Demonstration prototype.
  2. Research prototype.
  3. Valid prototype.
  4. Industrial systems.
  5. Trading systems.

The demonstration prototype describes how the system works when solving some tasks. When developing a demonstration prototype, it is tried to achieve conflicting goals. The prototype system must perform tasks fully characterizing its capabilities; on the other hand, it tries to pass this stage as quickly as possible. The performance of the demonstration prototype is considered satisfactory when it works with minimum rules to solve some tasks. Operating time varies from two months to one year.

The research prototype is designed from 1.5 to 2 years. At this stage of the system development, there are several hundred rules in its database adequately describing the subject area.

Valid prototype refers to a prototype of intelligent systems and provides quality solutions with up to 1000 commands. Therefore, the implementation of complex solutions requires a lot of time and memory resources.

Industrial systems solve the problem of the subject area at a high level due to significant reduction in solution time and memory required. The number of rules is growing compared to the current prototype. At this stage, the current prototype leads to the improvement of intelligent systems by expanding the number of rules based on the use of more efficient tools. It often takes about 3-4 years.

Trading system is designed primarily for sale. It is either the problem-oriented or the problem-free.

5. DEVELOPMENT OF INTELLIGENT SOFTWARE SYSTEM

Intelligent information technology (IIT) assists a person to accelerate the analysis of the political, economic, social and technical situation.

In real practice, the use of IIT involves the calculation of the specifics of the problem area, as it can be characterized by the accumulation of patterns [13]:

A project is a process of identifying components, interfaces, and other features or parts of a system (ISO 24765). [12] It is a single set of models or features described in a form suitable for system development [14, 15].
Lyubomyr, et al. [16] examines the development of an intellectual information system for the content formation. Special modules are available for processing system resources.

Here are some examples of designs by field of activity.

Figure 3 describes the main parts of system design.

Figure 3. Main parts of system design.

In the research environment, IS developed as prototypes (cloning an existing copy of an object) and based on this, the final software product is developed and presented as IS.
The process of IS developing for almost any problem area involves several steps [17].

  1. Problem selection. At this stage, the problem area and tasks of the future system are identified. Cooperating for the development of the knowledge base, and finding specialists to prepare a technical task taking into account costs and benefits, etc. are important and also ensures the preparation of a work plan. The goal of this stage is to make sure that the task can be resolved and favorable conditions are provided for a successful solution.
  2. Development of a system prototype. The result of this phase is a prototype, i.e., a rigorous version of IS designed to verify the coding of facts, relationships, and expert strategies. The size of the prototype can be small, for example, a few dozens of rules, frames or patterns. Therefore, the number of working team members may be minimal. For prototype coding, a specialized language, such as a prologue or LISP, is preferred as it eases program code writing. The sub-stages of this stage may include:
  3. Problem identification - Familiarization and training of team members, as well as informal problem creation.
  4. Acquisition of possible opinions and knowledge on the subject area and decision-making methods by the engineer.
  5. Knowledge structuring - the preparation of an informal knowledge description about the subject area in the form of a graph, table, diagram or text, as it represents the basic concepts and interrelationships between the concepts of the subject area.
  6. Formalization refers to the knowledge base development based on the presented knowledge, as it allows the correspondence to the structure of the knowledge field and implementation of the system prototype at the next stage of program implementation.
  7. Implementation refers to the development of a software package demonstrating the viability of the approach as a whole.
  8. Test refers to the development of identification of errors and recommendations related to the regulatory system in the prototype approach and application.
  9. Completion of prototype development before its use in industry is the modernization of a prototype that can operate satisfactorily in real production conditions and requires the search and implementation of additional solutions to bring it to the industry.

As part of the development of the IS prototype, the preparation stages can be selected before its use in industry:

    1. Demonstration prototype solves some tasks and determines the accuracy of the approach.
    2. Researcher prototype solves most of the tasks, but the work may be unstable and not fully tested.
    3. Valid prototype solves all tasks basing on real examples, but requires a lot of time and memory for complex tasks.
    4. Industrial system ensures high quality results with minimal time and memory; it is based on the current prototype, using more efficient tools for better knowledge presentation.

3. System evaluation. The system needs to be tested to determine its effectiveness. Other experts are involved in the process testing in various examples. Evaluation is based on user criteria (comprehension and transparency of work, ease of interface, etc.) and invited experts or team members (efficiency, productivity, database, etc.).

4. Integration and system support is required for system integration with other developed software. First, the system is linked to an existing database and other systems in the enterprise. This provides knowledge-based operations during the system operation.

Different approaches to modern IS development are currently available. Some of them are listed below:

5. Structural approach. The knowledge-based and data-based system helps to achieve reliable and high-quality solutions. This approach is similar to structural programming. As for IS, the function of the structure is not to bring the task to the algorithm (as in programming). In various applications, it is advisable to adapt the structural approach to the surface or depth.

6. Surface approach. This refers to complex issues that cannot be accurately described. Moreover, knowledge fragments (heuristic) are obtained from the relevant expert. There are no attempts to study the region systematically. Therefore, the main exit method is to search the territory of the state. Products are often chosen as a way to present knowledge. The condition of each product determines the subjects’ pattern to which the products will be performed.

7. In-depth approach. It is based on a model of the problem area in which the system operates. The model can be defined in different ways (declarative or procedural). In-depth approach should be used to correct defects, and a solution should be indicated in the absence of products providing the existing condition. In-depth model approach requires the knowledgebase structuring. Simultaneously, it is necessary to use systems with strong modeling capabilities.

8. Object approach. It of related objects should be used as the elements based on a deep knowledgebase with a complex hierarchical structure. The interest in object technology arose after the growing demand for the creation of complex software systems. In this approach, the design of complex systems is traditionally based on decomposition, that is, their detachment into parts.

The development period of IS includes:

  1. Analysis, i.e., the study of the problem environment with the definition of classes and objects.
  2. Design, detailing the presented classes and objects and their interrelationships.
  3. System programming, testing and data collection with evolution, rapid prototyping.
  4. Modification, making changes to improve the system.

During the design process, it may be necessary to return to the initial stages and vice versa (iterative project).

The problem or object, the IS direction are the important factors determining the software environment used in the IS development. In this regard, the following areas for working with special programs can be mentioned:

The IS selling firms provide the development, support and modification of knowledge bases. A variety of methods to generate program-based automated knowledge are used.

Using this model, an intellectual software system “Recognition” is developed to recognize human faces based on photo portraits. Note that this system used to be an ordinary information system. The tools shown in the conceptual model were used to increase the efficiency of the system and intellectualize the interface.

6. CHALLENGES OF INTELLIGENT SYSTEMS

As in any field, intelligent software systems can have a number of problems. Some of them are listed below [18]:

  1. Unreliability.
  2. Dynamics.
  3. Time spent on calculation.
  4. Description.
  5. And so forth.

To study intelligent systems, the following knowledge must be first obtained:

There is a need for strong companies to understand the technology of intelligent systems and solve its problems. These companies may include Google, Microsoft, Intel, IBM and others.

7. CONCLUSION

Designing intelligent software systems is one of the most important issues. The article developed a conceptual model for designing intellectual software systems. The novelty of this work was that the stages required for design and their characteristics were concentrated in the developed model. This reduced the cost, efficiency and time spent on the project. This work is believed to be great assistance for researchers and professionals working on intelligent software systems.

Funding: This study received no specific financial support.  

Competing Interests: The author declares that there are no conflicts of interests regarding the publication of this paper.

REFERENCES

[1]          G. A. Lisiev, Decision support technologies. Moscow: FLINT, 2002.

[2]          A. V. Ostroukh, Intelligent systems. Krasnoyarsk: Scientific and Innovation Center, 2015.

[3]          O. Dolinina, V. Kushnikov, V. Pechenkin, and A. Rezchikov, "The way of quality management of the decision making software systems development," presented at the In Computer Science On-line Conference. Springer, Cham., 2018.

[4]          A. N. Averkin, M. G. Haase-Rapoport, and D. A. Pospelov, Explanatory dictionary of aartificial intelligence. Moscow: Radio and Communications, 1992.

[5]          S. Mahmudova, "Exploration of intellectual software systems and development of conceptual model," Review of Computer Engineering Research, vol. 7, pp. 1-11, 2020.Available at: https://doi.org/10.18488/journal.76.2020.71.1.11.

[6]          A. M. Namestnikov, G. Y. Gus'kov, and A. A. Filippov, "Intellectual analysis of software systems projects based on the ontological approach," Automation of Control Processes, vol. 1, pp. 75-85, 2020.

[7]          O. Gushchina, "The use of intelligent systems for risk management in software projects," Bulletin of the Mordovian University, vol. 27, pp. 250-263, 2017.

[8]          Y. V. Shevtsova, "Bayesian technologies in operational risk management," Elektrosvyaz, vol. 10, pp. 58–61, 2010.

[9]          R. B. Svensson, "Successful software projects and products," Master Thesis Software Engineering, Sydney: Institute of Technology 2006.

[10]        T. V. Afanasiev and A. N. Afanasiev, Introduction to the design of data mining systems. Ulyanovsk: Ulgtu, 2017.

[11]        V. F. I. Babak and I. N. Ryzhenko, Improving the methodology for designing information systems.. Moskva: GOU VPO, 2002.

[12]        T. A. Gavrilova and K. VF, Knowledge bases of intelligent systems art. Petersburg: Peter Publication, 2000.

[13]        P. Bourque and R. E. Fairley, Guide to the software engineering body of knowledge (SWEBOK)). Los Alamitos: IEEE Computer Society, 2014.

[14]        A. Kosyakov, U. Svit, S. I. Seymur, and S. Bimer, System engineering. Principles and practices. Moscow: DMK Press, 2014.

[15]        A. Kossiakoff, W. N. Sweet, S. J. Seymour, and S. M. Biemer, Systems engineering principles and practice. New Jersey: A John Wiley & Sons, 2011.

[16]        C. Lyubomyr, V. Victoria, and O. Kanishcheva, "Intellectual system design for content formation," presented at the 12th International Scientific and Technical Conference on Computer Sciences and Information Technologies (CSIT), 2017.

[17]        L. A. Stankevich, Intelligent systems and technologies. Moscow: Yurait, 2019.

[18]        N. William, What are intelligent systems? Computer Science & Engineering, University of Nevada. Reno: Pennington Engineering Building, 2020.

Views and opinions expressed in this article are the views and opinions of the author(s), Review of Information Engineering and Applications shall not be responsible or answerable for any loss, damage or liability etc. caused in relation to/arising out of the use of the content.