=Paper= {{Paper |id=Vol-2851/paper12 |storemode=property |title=Multi-Agent Modeling of Project Management Processes in Distributed Teams |pdfUrl=https://ceur-ws.org/Vol-2851/paper12.pdf |volume=Vol-2851 |authors=Olga Cherednichenko,Oleksandr Matveiev,Olha Yanholenko,Rositsa Maneva |dblpUrl=https://dblp.org/rec/conf/itpm/CherednichenkoM21 }} ==Multi-Agent Modeling of Project Management Processes in Distributed Teams== https://ceur-ws.org/Vol-2851/paper12.pdf
Multi-Agent Modeling of Project Management Processes in
Distributed Teams
Olga Cherednichenkoa, Oleksandr Matveieva, Olha Yanholenkoa, Rositsa Manevaa
a
    National Technical University “Kharkiv Polytechnic Institute”, Kyrpychova str., 2, Kharkiv, 61002, Ukraine


                 Abstract
                 Changes in the business environment, the innovative nature of projects, lack of necessary
                 skills of project team members lead to increased uncertainty and inability to plan with a given
                 degree of accuracy. Such projects use adaptive project and program management
                 methodologies. In the field of information technology, the use of multi-agent systems is of
                 particular interest. In the context of the use of multi-agent systems for the design of
                 intelligent systems for various purposes, the development and study of a model and software
                 implementation of a prototype of an agent platform are relevant. The aim of this work is to
                 develop and research an agent platform that can be implemented in the work of the
                 distributed team in order to improve the assignment of tasks. The paper presents the formal
                 agent architecture as a basis of multi-agent model. The task assignment is a case study to
                 implement and test multi-agent model prototype. The agent platform is developed based on
                 Kotlin programming language. A prototype of the agent platform based on the FIPA
                 specification allows to increase the productivity, scalability and interoperability of multi-
                 agent system.

                 Keywords 1
                 Project management, distributed team, task assignment, multi-agent platform, formal agent
                 architecture, prototype

1. Introduction
    The success of the company in the market depends on many factors: the range of services offered,
market saturation, marketing policy, and so on. In order to maintain competitiveness, modern
companies focused on continuous development are forced to constantly improve their activities,
which requires the development of new technologies and methods of doing business, the introduction
of more effective methods of management and organization. Changes in the business environment
during the crisis, the innovative nature of projects, lack of necessary skills of project team members,
the impact of the human factor lead to increased uncertainty and inability to plan with a given degree
of accuracy. Such projects use adaptive project and program management methodologies.
    Modern enterprises are facing an increasingly competitive market. In this context, the success of
enterprises critically depends on the quality and efficiency of their business processes. The analysis of
processes is aimed at building and improving models of functioning of interacting physical or
information objects based on information processing that records such behavior [1]. The approach
presented in this paper is aimed at building a software system for the formation of the organizational
structure of work in real time and monitoring the effectiveness of project management processes in a
dynamic business environment.
    There are many pieces of research related to methods and methodologies of project management in
the IT field [2, 3, 4]. For instance, in [2] the method of synthesis of the project management

Proceedings of the 2nd International Workshop IT Project Management (ITPM 2021), February 16-18, 2021, Slavsko, Lviv region, Ukraine
EMAIL: olga.cherednichenko@khpi.edu.ua (A. 1); matwei1970@gmail.com (A. 2); olha.yanholenko@khpi.edu.ua (A. 3);
maneva.rositsa@gmail.com (A. 4)
ORCID: 0000-0002-9391-5220 (A. 1); 0000-0001-5907-3771 (A. 2); 0000-0001-7755-1255 (A. 3); 0000-0002-4361-1931 (A. 4)
            ©️ 2021 Copyright for this paper by its authors.
            Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
            CEUR Workshop Proceedings (CEUR-WS.org)
methodology is considered. In [3] an adaptation method for the Agile project is introduced. The paper
[4] investigates the issues of synthesis of the project team in an Agile environment. Machine learning
techniques are proposed and team formation is considered [4]. Analysis of scientific publications
shows that the issue of effective implementation of flexible management methodologies is becoming
increasingly important. Thus, the authors [5] prove that differences in organizational types affect the
success of projects in all aspects. The work [5] emphasizes that flexible methods work better than
traditional methodologies, even in large, distributed projects. Building better communication and
collaboration in the team is seen as the result of flexible practices that lead to improved relationships
between team members and improved employee satisfaction. This becomes especially relevant with
the development of virtual distributed project teams. In particular, the work [7, 8] is devoted to the
study of the features of virtual commands.
   Due to the fact that the structure of multi-agent systems is very close to the structures of the real
world, so the scope of agent systems is very wide: robotics; logistics; research of social and biological
systems; information search; the internet of things; software components for smart homes. Multi-
agent models are actively used to improve the business processes of the organization. In [9] the
ontology of business process modeling and multi-agent system of providing intellectual assistance to
members of the software development team are proposed. Studies of the development of information
systems to support management decisions have shown that agent technology can be effectively used.
An agent platform is usually understood as a set of software interfaces that provide the ability to
create, lifecycle, messaging, communication and access to information and knowledge bases of agents
[10]. The agent platform is the most important part in the process of creating an agent system.
Simulation systems are created to develop and plan the work of project teams [11]. The proposed in
[11] system can be used as a virtual environment for selecting project management methods and tools.
The system simulates management processes and project roles. Thus, studies of agents and multi-
agent systems have been conducted for a long time, but the task of building an architecture of multi-
agent system for management of project distributed teams is still not fully solved.
   The aim of this work is to develop and research an agent platform that can be implemented in the
work of the distributed team in order to improve the assignment of tasks.

2. Problem Statement
    E-business has become a wide-spread and quite popular form of business architecture nowadays. It
is different from traditional business architectures in many ways. Although any e-business has some
common components like marketing, engineering, financial, administrative, CRM (customer
relationship management) divisions, its operation division is actually represented by a distributed set
of orders and contractors. Customers and executives meet each other on the online platform (fig. 1)
and do not have to interact directly like in traditional business organizations. Online e-business
platform supports continuous communication between both parties and provides all business logic
functionality. While customers can post their orders (jobs) in real time mode, executives can post their
contractors (services) to satisfy customers’ needs. In such a distributed business architecture, the
number of orders and contractors is not stable and can vary within time. This makes a distributed
structure of e-business platform complex enough for analysis and management process.
    At the same time, e-business exists in the external macro-environment. The online character of
business operations is regulated and controlled to some extent by international and country-specific
rules and policies. Social factors affect customers’ needs and supply side as well. Moreover, of
course, technological innovations and trends define the speed and new directions of development and
growth of e-business in all areas.
    E-business often deals with software projects that in terms of project management combine
groups of people who have to perform some jobs like for example, requirements specification,
software design, construction and testing. Primarily, project management is explained by the
complexity and comprehensive structure of the projects. A complicated project consisting of several
tasks cannot be implemented by a single person and even if it could be realized, it would take too
much time for completion. So the natural solution of this problem is to organize the team of people,
who can perform the necessary volume of work in a shorter time.
    All basic processes of software engineering require the cohesive teamwork. Modern enterprises
that produce the software work usually according to a software development methodology. This can
be either a waterfall-based, or Agile methodology [4]. Waterfall-based methodologies consider
“fundamental process activities of specification, development, validation, and evolution and
represents them as separate process and phases such as requirements specification, software design,
implementation, testing”. The examples of such methodology realization include Rational Unified
Process (RUP), Microsoft Solutions Framework (MSF), which are “huge” and documentation-
intensive methodologies. As an opposite of waterfall methodology we can consider agile
methodologies. For example, they include eXtreme programming and SCRUM. The Agile manifest
states that it is necessary for business people and developers to work together daily throughout the
project. It pays more attention to trust individuals and interactions over processes and tools. The role
of self-organizing teams is essential in agile methodology.
    Agile methodologies of software project management always deal with managing group dynamics
in globally distributed teams where the communication channels play an essential role in group
member’s interaction. The theory of the organization and the concept of the process approach to the
management of the distributed teams indicate that the main recipient of the process is the user, and his
view of the business process is the most important. Therefore, the use of software agents in e-business
distributed teams can support and improve these processes.
    A multi-agent system is a system formed by several interacting agents. To build agent-oriented
systems, many methodologies and appropriate tools designed to automate their software
implementation have been proposed [12]. The basic tool for developing intelligent multi-agent
systems that allows to create, destroy, interpret, run and move agents is the agent platform. The main
functions of agent platforms are: organization of agent interaction; transmission of messages within
the platform and between different platforms; ontology support; management of agents, their life
cycles; search for agents and data about them within the system; security agents.




Figure 1: E-business overview

   Today, the methodological basis for creating an agent platform is determined by the standards of
MASIF (Mobile Agent System Interoperability Facility) [13] and FIPA (Foundation of Physical
Intelligent Agents) [14]. The purpose of the MASIF standard is to achieve a certain degree of
compatibility between the platforms of mobile agents from different manufacturers. The main
specifications of FIPA are the Agent Management (AM) standard and the standardized Agent
Communication Language (ACL). FIPA standards provide basic definitions of agent communication
concepts. The structure of the agent platform is not included in the FIPA standards and may be based
on different architectural approaches. An agent platform is a physical infrastructure in which agents
can be deployed. The concept of an agent platform allows to use different approaches to its
organization of software architecture.
   Therefore, the main task of this work is to develop and research an agent platform that can be
implemented in project management as a tool for modeling and investigating real-time business
processes.

3. Fundamentals of Agent-Based Simulation Modeling
    Talking about Agile methodology of project management, the project is considered as a finalized
result of every development cycle. Implementation of each task by distributed team members requires
their pre-assignment. In this work it is suggested to perform tasks definition and assignment among
group members in real time mode based on agent technologies.
    From the point of view of software engineering, an agent is an autonomous software entity that has
a long existence and adapts its behavior to changes in the environment, as well as the ability to
interact with other agents. In artificial intelligence systems, an agent is understood as an entity that is
able to perceive information through sensors and influence the environment through actuators. The
main features of agents are their autonomy, interactivity and ability to learn. Agents can decide for
themselves how to behave in order to achieve a goal. Agents can also interact with each other in a
similar way to social interaction. The ability to learn is associated with an intelligent agent from
artificial intelligence systems. The agent approach to software design combines the features of object-
oriented and component methodologies, allowing to implement certain properties of the agent. Agent
methodology allows designing multi-agent systems, consisting of agents who cooperate with each
other to achieve individual and common goals.
    The main objective of simulation is to investigate the real-life processes. The simulation method
allows to create a model based on the execution time of the operation and with the means of analyzing
the dynamics of business processes. The general algorithm for modeling the system can be divided
into four points:
     1. Build a model of the process that has to be analyzed.
     2. Run a simulation of the process models.
     3. Analyze the results.
     4. If necessary, repeat the previous steps for other scenarios.
    Once the model is designed, you can run the simulation. Estimates of indicators are formed by
means of repeated changes.
    There are several directions in the modeling and simulation theory. Each area is characterized by
its own tools and simulation systems. Here are some examples:
         • modeling of dynamic systems (implemented in MATLAB Simulink, VimSim systems,
             etc.);
         • discrete-event modeling (Arena, Aris, AnyLogic, AutoMod, etc.);
         • system dynamics (PowerSim, iThink. AnyLogic, etc.);
         • agent modeling (Swarm, AnyLogic, Repast, etc.).
    System dynamics and modeling of dynamic systems involve time-continuous processes. Discrete-
Event and Agent Modeling are discrete. The most popular approaches in solving the problem of
business process analysis are considered to be discrete-event modeling and agent modeling.
    In discrete-event systems, modeling is based on the description of processes. The advantages of
this model include statistical data processing at the input and output, optimization, relative ease of
implementation, interface. However, this model does not allow modeling at a high level. In agent
modeling, the dynamics and functioning are determined as a result of individual activity of model
participants. The advantages of the system include any level of detail, optimization, interface, realism
in the description of the system. The disadvantages are the complexity of describing the logic of the
agent's behavior in terms of the model, high power costs.
    Thus, with the help of simulation it is possible to perform any process in the accelerated time
mode in the conditions corresponding to reality, taking into account delays and breaks. Analyzing the
results obtained, it is possible to identify resources in need of unloading (resources to which queues
are often lined up), low-load resources, identify shortages or overworking.
    Multi-agent system can be used to solve many problems that cannot be solved with a single agent
or a monolithic system. A multi-agent system (MAS) is a system formed by several interacting
agents. In MAS, all elements must interact with each other. A system can be considered as a MAS,
not just a community of agents, only if all agents act to achieve one goal. However, the lack of a
common goal for agents does not deny the possibility of their group behavior. It is important to note
that agents that are part of MAS can be reused or developed to solve more versatile agent tasks. In
such cases, the agents may have their own goals, which do not completely coincide with the goals of
the system, but are compatible with them. Such agents can be useful to each other in solving their
tasks. Therefore, for agents included in the MAS, the most important property is communication.
    For successful operation, the agent must have receptors, effectors, processor and memory.
Receptors are special devices that receive information from the environment. Effectors are executive
bodies that act on the environment. Memory is the ability of an agent to store information about its
state and the state of the environment. Receptors form a system of perception of the agent, providing
the reception and primary processing of information coming from the environment and then sent to
memory. The system of perception can control actions by comparing the differences between the
existing and expected state. The agent's memory should contain data on typical responses to
information signals from receptors, as well as information on the state of effectors and resources. In
addition, the memory must store programs for processing input information into control signals that
are applied to the effectors and the results of reactions to a situation.
    To build agent-oriented systems, many methodologies and appropriate tools designed to automate
their software implementation have been proposed [10, 15-21]. Therefore, the choice of the best
methodology and tools taking into account the specifics of the object of automation is an important
task. The basic tool for developing intelligent multi-agent systems that allow to create, destroy,
interpret, run and move agents is the agent platform.
    The most well-known are the following agent platforms [15, 16]:
    1. JADE (Java Agent DEvelopment). The main characteristics of the JADE agent platform
        include:
        • compliance with the latest FIPA 2.0 specifications;
        • openness of the LGPL (Lesser General Public License) code;
        • support of multiplatform technologies;
        • support of wireless mobile devices up to JME (Java Platform, Micro Edition) MIDP
             (Mobile information device profile) 1.0 (cell phones);
        • availability of own and third-party libraries for extending agent interaction protocols
             (RDF, XML);
        • agent management;
        • management of the platform itself;
        • statistics.
    On the basis of this agent platform it is possible to implement an autonomous agent which will be
able to fully control its management influences within the functions assigned to it, independently
manage its life cycle, will be able to perform several parallel tasks. Because JADE supports intra-
platform mobility and agent cloning, in practice the platform can be distributed between multiple
nodes. Each node may have several agents, each of which will be responsible for performing its task
and, at the same time, will be able to move from one node to another if necessary. The disadvantages
of this agent platform include the openness of the code, which is unacceptable when developing
special-purpose communications.
    2. Coguaar (Cognitive Agent Architecture) - the most powerful project, supported by DARPA
    (Defense Advanced Research Projects Agency). Considering the Cougaar agent platform, it can be
    noted that it has an open source architecture. Agents are autonomous formations of software that
    interact with other agents and with the external environment, which can ensure the reliable
    operation of the node. Software agents are implemented on the basis of a programming
    methodology that allows decomposition of complex tasks into simpler ones. Agents will be able to
    manage the MR node, change its state according to changes in the environment.
    3. Aglobe does not have enough support of the FIPA (an IEEE standard organization that
    promotes agent-based technology and their interaction with other technologies), has many
    customizable features.
    4. Jack – one of the few platforms that use the model of agent logic, based on the principles of
    beliefs-desires-intentions (BDI) and built-in formal-logical planning of the agent.
    Research on agents and multi-agent systems has been conducted for a long time, but the task of
building a universal architecture of multi-agent systems is still not fully solved. The reason may be
the narrow focus of most research in the subject area. However, to determine the generalized
architecture of the multi-agent system in a particular case is quite possible.
    Therefore, agent-based simulation appears to be a powerful tool for modeling of project
management processes. Agents and their communication mechanisms provide a framework for
modeling of interactions in distributed teams and tasks assignment within a team. To build an
appropriate simulation model it is necessary to have a formal representation of an agent which is one
of the main results of the given work.

4. Results
    The main idea of this research is to model project management processes in distributed teams via
interaction of intelligent agents who can solve the problem of jobs assignment among executors. In
this paper, the agent will be understood as a computer system placed in the external environment, able
to interact with it, performing autonomous rational actions to achieve a certain goal [14]. The main
difference between agents and systems in general is activity, i.e. the ability to perform any actions
independently. In addition, the agent is usually considered not as a set of parts, but as a single entity,
while, for example, when studying the properties of systems, the first approach is the main one.
Another characteristic is that the agent can be embodied not as a material object, but as a stand-alone
program. However, this program, without affecting the material world (remaining within the
computer or computer systems), can perform useful actions.
    Agents are subject to the following basic characteristics [15]:
    1. Autonomy. The agent is able to function without direct human intervention, independently
         monitoring the state of the environment and its own parameters.
    2. Reactivity. The agent is able to perceive the external environment and respond adequately to
    it.
    3. Pro-activity. The agent has purposeful behavior and can take the initiative.
    In addition, to perform certain tasks, agents must meet additional classification requirements [15]:
    1. Ability to communicate. The agent must be able to communicate and interact with other agents
         or people.
    2. Modeling the situation. The ability of the agent to model the development of the situation, to
    predict the course of its development.
    3. Mobility. The agent must be able to change his position in the environment.
    4. Intelligence. The agent must be able to draw a logical conclusion to decide on their next steps.
    5. Binding to the environment. The agent must exist in a specific environment (real or virtual).
    To present the possible actions of the agent and its interaction with the external environment, it is
necessary to have a tool that allows to formally describe the behavior of the agent. The behavior of
the agent is the basis of its formal architecture (Fig. 2). Formal agent architecture is a tool that allows
to design agent behavior using clear formal methods. The formal architecture of the agent is defined
through the description of the environment in which the agent operates, the agent's perception of this
environment and its actions.
    Let’s denote the external environment of the agent by the set of states S. Possible actions of the
agent are described by the set of actions A. In the abstract, the agent can be represented as a function
                                             gS : S → A                                               (1)
that is, the choice of a particular action from a set of possible actions is carried out by the agent on the
basis of the current state of the environment si  S . The actions of the agent may affect the
environment, but not control it completely. It is convenient to use the model of perception of the
external environment to represent the agent. To do this, let’s introduce a set of possible perceptions of
P and a function f : S → P which describes how certain environmental conditions are perceived by
the agent. Then the agent is represented by a function
                                            gP : P → A                                           (2)
    that is, the action of the agent is determined in the general case by the current perception of the
state of the environment p j  P .
    The model of the agent with perception is equivalent to the basic one. However, it allows you to
introduce the following additional property of the agent: different states of the environment can be
perceived in the same way and vice versa - one state can be perceived differently by the agent.




Figure 2: Formal agent architecture

    Another option for solving the problem of including previous actions when selecting the current
action is to introduce the concept of the state of the agent. It is believed that the agent has certain
internal data structures, which it modifies depending on the perception of the current state of the
environment, and on the basis of the obtained results chooses the action. To formalize this process,
let’s introduce a set I of internal states of the agent and the function of updating the internal state,
which is responsible for updating the internal state in accordance with the current perception of the
environment:
                                           h: I P → I                                               (3)
    Then the agent is described by a function
                                            gI : I → A                                               (4)
that is, the action is selected based on the current state of the agent. To correctly describe the behavior
of the agent with the state, it is necessary to determine the initial state.
    This agent architecture has one significant drawback, namely that the agent specified in this way
does not receive information about his actions, which limits his ability to gain experience and analyze
the potential consequences of his actions. One possible way to overcome this shortcoming is to
present information about the agent's actions as part of the information about the external
environment, but this approach is not clear and intuitive. A more correct solution to this problem is to
include information about the actions performed explicitly in the input data of the action selection
function:
                                         g A : ( P  A)* → A                                         (5)
    In this form, the agent clearly receives information about the actions already taken and when
choosing an action it uses the perception of environmental conditions.
    For an agent with a status, information about previous actions is taken into account in the status
update function:
                                       h: I  P A → I                                             (6)
    The parameter of the status update function is not the sequence of all actions of the agent, but only
the last performed action.
    When using approaches based on formal logic, the function of perception and choice of action of
the agent is described as a set of statements, or rules, of this logic. Doing so, the agent maintains a
knowledge base that contains a set of statements of formal logic that describe the causal relationships
between the state of the environment and the perceptions of the agent, as well as between perceptions
of the environment and the actions of the agent. Such an agent is called a logical agent.
    An agent who chooses an action based on the current perception, ignoring the entire history of
previous perceptions, is a simple reflex agent. This type of agent is quite simple. In many cases,
knowledge of two types may be required for an agent to function successfully. On the one hand, it is
information about how the environment changes independently of the agent. On the other hand, it is
the knowledge of how the agent's own actions affect the environment. An agent that uses such
knowledge about the existence of the external environment is a reflex agent based on the model.
    The suggested formal architecture of an agent can be used for modeling of interaction processes
inside the distributed team. The ability of an agent to percept the environment and act according to its
mental model allows, for example, to simulate tasks assignment within a team and find solutions of
project management problems.

5. Case Study
    As a case-study example, let’s consider the following statement of the problem. Two types of users
of the information system of the e-business organization are given: the customer and the executor.
Each customer with its order forms a set of requirements for the task to be performed. Each executor
is characterized by a set of restrictions on the ability to perform on each type of tasks of the
organization. Requirements for tasks and limitations of their solutions are set by the system of
predicate expressions and are stored by the customer and the executor agents, respectively. It is
necessary to model a multi-agent system of communication between customers and contractors so that
when adding a contractor to the system, each customer can have the opportunity to "negotiate" with a
new contractor. Accordingly, when adding a customer, each executor has the opportunity to "agree"
on a new task. We determine that each customer and each contractor must form their own list of
contractors and customers who meet or not their requirements and restrictions.
    Applying the above problem statement to the process of tasks assignment in distributed teams,
customers are the source of tasks in the given software project and executors are team members.
Agents of team members can be added to the system or deleted from it in real time mode, thus,
modeling the processes of software development when a team can be reinforced by additional
members or when some members may leave a project. In the same way, agents of tasks are
continuously added or removed with the appearance of new requirements or implementation of the
old ones.
    To model such agent-based system, agent.kt was used to provide the functionality of agent
platform system according to FIPA standard. The component diagram on figure 3. describes the
components of designed agent platform.
    Component “OrdersFacilirator” contains set of “OrderAgents” registered in it. Each order after
consuming a message from executor checks requirements fulfillment to provide “handshake” or
“cancellation” between itself and executor. Componet “ExecutorsFacilirator” contains a set of
“ExecutorAgent” registered in it. Executor`s agent behavior is similar to “OrderAgent”, but instead of
requirements it contains set of restriction. So if restrictions meet order agent’s restrictions, executor
agent sends the “handshake” request to correspond order-agent and “cancellation” request otherwise.
Each agent contains a list of appropriate and inappropriate agent identifiers to refuse the request from
already requested agents. Class diagram of agent behavior is described in figure 4.
Figure 3: Component diagram




Figure 4: Class diagram

   The main purpose of current research is to check the performance parameters of the developed
system. That`s why we use performance testing (MEMORY, OPERATION, CPU analysis) to check
the usability and reliability of developed agent platform. Environment: MacBook Pro (15-inch, 2018),
processor: 2.2 GHz Intel Core i7, memory: 16 GB 2400 MHz DDR4, graphics: Radeon Pro 555X 4
GBIntel UHD Graphics 630 1536 MB.
   In the first experiment, both catalog catalysts contain 4 agents. In the second experiment, both
catalog catalysts contain thousand agents. In the third experiment, both catalog catalysts contain one
million agents. The results of the three experiments are shown in table 1.

Table 1
Experiments data
   Experiment             Agents quantity   Thread quantity     Memory usage          CPU usage
        1                        8                27              268MB                0.03-1%
        2                     1000                56               1.2GB                5-10%
        3                    1000000             107               4.0GB               32-67%s
    The agent.kt platform uses coroutines to describe agents and directory facilitators – reliability of
this component is higher than JADE or other analogues, because it uses nonblocking structured
concurrency and does not use any reflection methods to synchronize message I/O functions and
memory allocation. Even on two million agent the CPU usage was near the 34 percentage and max
CPU usage was 65. Main disadvantage of this approach is that memory used by 2000000 million of
coroutine is near 3.5 Gb. If number of agents increased, system would require more than allowed size
of heap which can produce OutOfMemory exception. So the number of agents in agent platform is
major parameter which has its influence on both agent-platform reliability and performance.
    Given the technical limitations of the testing environment, it can be noted that the developed
prototype meets the requirements and the test results can be considered satisfactory. Thus, it can be
concluded that the given prototype with its performance characteristics can be used for modeling of
interaction of agents that represent team members and tasks while solving project management
problems.

6. Discussion and Conclusion
    The given research represents a general architecture of e-business that is characterized by a
distributed structure of customers and their orders and executives who can process orders. Both orders
and contractors perform on the online platform and communicate via virtual channels only. The basic
idea of this work is to resolve the problem of orders processing by contractors in real-time mode by
means of assigning intelligent agents to each order and each contractor. This kind of problem is
considered on the example of project management problem of tasks assignment in the distributed
teams. Thus, a multi-agent system of order agents and executor agents has to solve the assignment
problem. This allows to build pairs of orders and executives who will complete a particular job and
satisfy a customer’s demand. Agent communication protocols support a process of agents interaction
and message exchange which is the basis of order-executor pairs formation.
    The analysis of the existing approaches to designing multi-agent software systems and software
components of the agent platform is carried out. A prototype of an agent platform based on the use of
formal methods for designing multithreaded systems using the Kotlin programming language has
been developed. According to the test results, the developed prototype has advantages over existing
solutions in terms of CPU load and memory usage. It is concluded that the number of agents is the
main parameter that affects the reliability and efficiency of the developed agent platform.
    Approbation of the agent platform is carried out on the example of solving the problem of division
of labor. The results of simulation experiments showed that the effect of the multi-agent approach is
achieved through the implementation of communications between agents to find a pair "task -
performer". Based on the built simulation model, an experiment was performed, during which the
load on resources was calculated with different number of agents simultaneously acting in the system.
Thus, the applicability of the agent platform for solving project management problems in a distributed
development team was demonstrated. A future work in this research will be focused on modeling of
tasks assignment among team members based on the agent architecture and conducting corresponding
experiments.

7. References
[1] W. van der Aalst, Process Mining: Data Science in ActionAalst, Springer-Verlag, Berlin, 2016.
    doi: 10.1007/978-3-662-49851-4_1.
[2] I. Kononenko, S. Lutsenko, Application of the Project Management Methodology Formation’s
    Method, Organizacija Journal of Management, Informatics and Human Resources 4 (2019) 286–
     308. doi: 10.2478/orga-2019-0018.
[3] A. Rasnacis, S. Berzisa, Method for Adaptation and Implementation of Agile Project
    Management       Methodology,      Procedia Computer     Science    104     (2017)    43–50.
    doi: /10.1016/j.procs.2017.01.055.
[4] I. Budacu, E. Mihai, Using profiling to assemble an agile collaborative software development
    team made up of freelancers, Procedia Computer Science 162 (2019) 562–570.
    doi: 10.1016/j.procs.2019.12.024.
[5] D. Pimchangthong, V. Boonjing, Effects of Risk Management Practice on the Success of IT
    Project, in: Proceedings of the 7th International Conference on Engineering, Project, and
    Production Management Procedia Engineering 182, 2017, pp. 579- 586.
    doi: 10.1016/j.proeng.2017.03.158.
[6] D. Ciric, B. Lalic, D. Gracanina, N. Tasica, M. Delica, N. Medica, Agile vs. Traditional Approach
    in Project Management: Strategies, Challenges and Reasons to Introduce Agile, Proceedings of
    the 25th International Conference on Production Research Manufacturing Innovation, volume 39
    of Cyber Physical Manufacturing, Chicago, Illinois, 2019, pp. 1407–1414.
    doi: 10.1016/j.promfg.2020.01.314.
[7] N. Ale Ebrahim, S. Ahmed, Z. Taha, Australian Virtual Teams: a Literature Review, J. of Basic
    and Applied Sciences 3(3) (2009) 2653–2669. doi: 10.6084/M9.FIGSHARE.103369.
[8] P. Weimann, H. E. S. Christian, M. Pollock, Changing the Communication Culture of Distributed
    Teams in a World Where Communication is Neither Perfect nor Complete, The Electronic
    Journal Information Systems Evaluation 13 (2) (2010): 187–196.
[9] Y. Lin, N. Gaud, V. Hilaire, P. Descamps, Multi-Agent System for intelligent Scrum project
    management, Integrated Computer-Aided Engineering 22 (2015) 281–296. doi: 10.3233/ICA-
    150491.
[10]     G. K. Theodoropoulos, P. Lemarinier, Gr. M.P. O’Hare, Agent Based Modelling and
    Simulation tools: A review of the state-of-art software, Computer Science Review —S.Computer
    Science Review 24 (2017), 13–33. doi:10.1016/J.COSREV.2017.03.001.
[11]     C. Orłowski, I. Bach-Dąbrowska, P. Kapłański, W.Wysocki, Hybrid Fuzzy-ontological
    Project Framework of a Team Work Simulation System, Procedia Computer Science 35 (2014)
    1175–1184. doi: 10.1016/j.procs.2014.08.214.
[12]     A. Dorri, R. Jurdak, S. Kanhere, Multi-Agent Systems: A survey, IEEE Access 4 (2018) 1–
    21. doi: 10.1109/ACCESS.2018.2831228.
[13]     D. Milojicic, M. Breugst, I. Busse, et al, MASIF: The OMG mobile agent system
    interoperability facility, Personal Technologies 2 (1998) 117–129. doi: 10.1007/BF01324942.
[14]     S. Poslad, P. Charlton, Standardizing agent interoperability: The FIPA approach. in: ECCAI
    Advanced Course on Artificial Intelligence. Springer, Berlin, 2001, pp. 98-117. doi: 10.1007/3-
    540-47745-4_5.
[15]     G. Nguyen, T.T. Dang, L. Hluchy, M. Laclavik, Z. Balogh, I. Budinska, Agent platform
    evaluation and comparison, Institute of Informatics, Slovak Academy of Science, 2001, doi:
    10.13140/RG.2.1.4648.9042.
[16]     V. Pasichnyk, N. Kunanets, N. Veretennikova, A. Rzheuskyi, M. Nazaruk, Simulation of the
    Social Communication System in Projects of Smart Cities, in: Proceedings of the 14th
    International Scientific and Technical Conference on Computer Sciences and Information
    Technologies, CSIT 2019, 2019, pp. 94–98.
[17]     R. Kaminskyi, N. Kunanets, V. Pasichnyk, A. Rzheuskyi, A. Khudyi, Recovery gaps in
    experimental data. CEUR Workshop Proceedings 2136 (2018) 108–118.
[18]     V. Tomashevskyi, A. Yatsyshyn, V. Pasichnyk, N. Kunanets, A. Rzheuskyi, Data Warhouses
    of Hybrid Type: Features of Construction. Advances in Intelligent Systems and Computing book
    series 938 (2019) 325–334.
[19]     M. Odrekhivskyy, V. Pasichnyk, A. Rzheuskyi, V. Andrunyk, M. Nazaruk, O. Kunanets, D.
    Tabachyshyn, Problems of the intelligent virtual learning environment development. CEUR
    Workshop Proceedings 2386 (2019) 359–369.
[20]     H. Lypak, V. Lytvyn, O. Lozynska, R. Vovnyanka, Y. Bolyubash, A. Rzheuskyi, D. Dosyn,
    Formation of Efficient Pipeline Operation Procedures Based on Ontological Approach. Advances
    in Intelligent Systems and Computing 871 (2019) 571–581.
[21]     R. Kaminskyi, N. Kunanets, A. Rzheuskyi, A. Khudyi, Methods of statistical research for
    information managers, in: Proceedings of the 13th International Scientific and Technical
    Conference on Computer Sciences and Information Technologies, CSIT 2018, 2018, pp. 127–
    131.