Agent organisations: from independent agents to virtual organisations and societies of agents
Abstract
This work has been developed as part of “Virtual-Ledgers-Tecnologías DLT/Blockchain y Cripto-IOT sobre organizaciones virtuales de agentes ligeros y su aplicación en la eficiencia en el transporte de última milla”, ID SA267P18, project financed by Junta Castilla y León, Consejería de Educación, and FEDER funds. It has been partially supported by the European Regional Development Fund (ERDF) through the Interreg Spain-Portugal V-A Program (POCTEP) under grant 0631_DIGITEC_3_E (Smart growth through the specialization of the cross-border business fabric in advanced digital technologies and blockchain.).
Full text
ADCAIJ: Advances in Distributed Computing and Artificial Intelligence Journal Regular Issue, Vol. 9 N. 4 (2020), 55-70 eISSN: 2255-2863 DOI: https://doi.org/10.14201/ADCAIJ2020945570 55 Jose A. Maestro-Prieto, Sara Rodriguez, Roberto Casado and Juan M. Corchado Agent organisations: from independent agents to virtual organisations and societies of agents ADCAIJ: Advances in Distributed Computing and Artificial Intelligence Journal Regular Issue, Vol. 9 N. 4 (2020), 55-70 eISSN: 2255-2863 - https://adcaij.usal.es Ediciones Universidad de Salamanca - cc by-nc-nd Agent organisations: from independent agents to virtual organisations and societies of agents1 Jose A. Maestro-Prietoa, Sara Rodrigueza, Roberto Casadoa and Juan M. Corchadoa a BISITE Research Group. Department of Computer Science and Automatic, University of Salamanca, 1 Escuelas St., Salamanca, 37003 [email protected], [email protected], [email protected], [email protected] KEYWORD ABSTRACT Open multiagent systems; Virtual infrastructures; Review. Real world applications using agent-based solutions can include many agents that needs to communicate and interact with each other in order to meet their objectives. In organisations; Agent open multi-agent systems, problems can include not only the organisation of a large number of agents, but can also be heterogeneous and of unpredictable provenance or behavior. An overview of the alternatives for dealing with these problems is presented, highlighting the way they try to solve or mitigate them. This approach allows the development of complex systems in which there are agents that show very different behaviours and that are able to adapt to unforeseen changes in the environment. This makes it possible to simulate socio-technical or natural environments and observe their possible evolution without the ethical considerations involved in experimenting in real environments. 1 This work has been developed as part of “Virtual-Ledgers-Tecnologías DLT/Blockchain y Cripto-IOT sobre organizaciones virtuales de agentes ligeros y su aplicación en la eficiencia en el transporte de última milla”, ID SA267P18, project financed by Junta Castilla y León, Consejería de Educación, and FEDER funds. It has been partially supported by the European Regional Development Fund (ERDF) through the Interreg Spain-Portugal V-A Program (POCTEP) under grant 0631_DIGITEC_3_E (Smart growth through the specialization of the cross-border business fabric in advanced digital technologies and blockchain.).
56 Autores Título ADCAIJ: Advances in Distributed Computing and Artificial Intelligence Journal Regular Issue, Vol. 9 N. 4 (2020), 55-70 eISSN: 2255-2863 - https://adcaij.usal.es Ediciones Universidad de Salamanca - cc by-nc-nd 1. Introduction Distributed Artificial Intelligence (DAI) is a way of dealing with complex systems. Agent-based systems are considered one of the three categories in which DAI solutions are classified in (Dorri et al., 2018). Parallel AI and Distributed Problem Solving (DPS) are the other two categories. Parallel AI involves the development of parallel alternatives to classical AI algorithms as a way to increase efficiency, whereas DPS involves the division of a task into sub-tasks and their assignment to computing entities with a predefined communication scheme which may limit them. In (Ye et al., 2017) it is said that when a problem is complex or large enough or the domain of the problem is unpredictable, the only reasonable way to address it is to develop several specific functionalities and components (agents) specialized in the solution of a particular aspect of the problem. This allows each agent to use the most appropriate approach to solve its particular problem(s). Whenever an interaction occurs, the agents must coordinate with each other to ensure that the interaction is properly managed. A good guide to agent-based modelling (ABM) of complex systems that includes analysis, verification and validation of ABM can be found in (Wilensky and Rand, 2015). The usage of agent-based approaches to problem solving is spreading in many fields, so recent examples of agent-based solutions can be found for industry in (Herrera et al., 2020; Hoffmann, 2019), biology in (Zhang and DeAngelis, 2020; Soheilypour and Mofrad, 2018), communications network modelling in (Derakhshan and Yousefi, 2019; Sutagundar et al., 2019), supply chain modelling in (Dominguez, 2020; Arvitrida, 2018), energy optimization in (Al-Issaei et al., 2019), etc. As more and more of these agentbased systems are implemented, they will eventually have to communicate and interact with each other to meet increasingly complex objectives that may require completing tasks out of their own scope. This paper provides a brief overview of agent-based systems and open multi-agent systems and and how they can be organised to meet an objective. The rest of this paper is organized as follows. The next section introduces the agent-based systems and multi-agent systems and their expected features. Section 3 provides an overview of the different ways a MAS can be organized, including virtual organisations, overlays and simulations. Section 4 includes a brief list of platforms and frameworks and some references to current examples of their use. Finally, Section 5 concludes the paper. 2. Agent-based Systems Several common definitions of agent are included in (Dorri et al., 2018), as well as the proposal for a new definition. Focusing on the features and capabilities of the agency, in (Dorri et al., 2018) is proposed to define an agent as an entity situated in an environment that perceives different parameters that it uses to make a decision based on the entity’s goal and takes the necessary action in the environment in accordance with the decision made. According to the authors, the entity refers to the type of agent (whether software, hardware or hybrid) and the environment refers to the place the agent is located. The agent may be influenced by the features of the environment (accessibility, determinism, dynamism, continuity,…). The parameters refer to the data perceived by the agent and the action refers to the changes that the agent produces in the environment. The goal of the agent is to solve a task maybe with some constraints (e.g., a limited amount of time). Solving complex tasks and having a wide application requires agents to have the following features (Dorri et al., 2018): Sociability that allows agents to share their data and knowledge. Autonomy which allows agents to independently execute their processes, make decisions and perform their actions.
57 Autores Título ADCAIJ: Advances in Distributed Computing and Artificial Intelligence Journal Regular Issue, Vol. 9 N. 4 (2020), 55-70 eISSN: 2255-2863 - https://adcaij.usal.es Ediciones Universidad de Salamanca - cc by-nc-nd Proactivity which allows agents to use their data and knowledge, and also that of others, to foresee future actions and meet their objectives. Other authors, e.g. (Ye et al., 2017), include other features such as reactivity, as agents are situated in an environment, perceive data and hence can respond to changes in the environment to meet their objectives. Simple examples of agents can be found in the reviewed proposals. For instance, in (Ye et al., 2017) two clear examples are introduced: a temperature sensor and a demon (a software program). Both obtain information from their environment, and make decisions based on the data and some rules for acting on their environments. More extensive and developed examples can be found in (Wilensky and Rand, 2015). However, as concluded in (Rabuzin et al., 2006), often one agent is not enough to solve any problem and therefore more agents may be needed. In addition, a group of agents can provide interesting features, as they can achieve better results by performing parallel processing that increases speed and performance, greater system stability can be achieved, and flexibility and reusability can be improved. Consequently, the idea of collaboration to solve complex problems raises naturally as agents are a flexible way to organise software modules due to their ability to learn and make decisions autonomously. However, (Gómez-Cruz et al., 2017) points out two consequences of the non-linear interaction among agents and between agents and the environment. First, emerging and global patterns may arise from this interaction. These patterns can be classified as structural, behavioral, or functional. And secondly, there is a coupling between the agents and their environments; the agents may be sensitive to the initial conditions and their relationships. These can cause network effects and interdependencies at different levels that can lead to cascading failures and can limit the controllability and predictability of the entire system. ABM tries to mitigate these limitations by abstracting the system components, their actions, interactions and the environment (Wilensky and Rand, 2015). A key feature of ABM is that there is an explicit model of these interactions (Macal, 2016), which requires the specification of which agent is linked to which other agents and the definition of interaction strategies. Related to ABM is also the concept of Agent Based Simulation (ABS) which is the computational implementation of the model and obtaining its dynamics over time (Gómez-Cruz et al., 2017). The simulation manages to link the behavior of individual agents with the macro-behavioral patterns that arise from their interactions. ABS is useful then (Gómez-Cruz et al., 2017; Wilensky and Rand, 2015): • There is multiple autonomous and heterogeneous agents in the system. • The agents operate in a local, parallel and distributed way, without global knowledge. There are nonlinear, asynchronous and discontinuous interactions. Small actions can propagate, triggering effects and fluctuations. • The global dynamics of the system is self-organizing and emergent. Features such as memory, learning, adaptation or evolution are present in the system. • The system is structured in space-time dimensions. • The environment is uncertain. Therefore, ABS can be used to test concepts in an experimental environment. As the implementation of a system can have possible negative implications that cannot be easily foreseen, ABS allows testing it under various conditions to estimate its impact. This can help to evaluate the characteristics of socio-technical systems, such as complex human-machine interactions (Gómez-Cruz et al., 2017).
58 Autores Título ADCAIJ: Advances in Distributed Computing and Artificial Intelligence Journal Regular Issue, Vol. 9 N. 4 (2020), 55-70 eISSN: 2255-2863 - https://adcaij.usal.es Ediciones Universidad de Salamanca - cc by-nc-nd 2.1. Multi-Agent Systems A Multi-Agent System (MAS) is basically a set of autonomous agents situated in an environment, that can respond to changes in the environment and try to achieve their own or a common goal. In a MAS, some behaviours such as delegation of goals or tasks may occur between the agents and, therefore, interaction and collaboration between them must be possible (Abbas et al., 2015), but competition may also occur instead of cooperation or denial of information exchange (Ye et al., 2017). Recent reviews related to MASs and the organisation of MASs can be found, for example, in (Dorri et al., 2018) it can be found a review of MASs, in (Abbas et al., 2015) is reviewed the organisation of MASs and in (Ye et al., 2017) are surveyed the self-organisation mechanisms for MASs. The implementation of a MAS is a complex task that includes all the features of a traditional distributed and concurrent system and specific ones such as autonomy, flexibility or complex patterns of interaction between individual agents (Ye et al., 2017). In return, a MAS allows for increased efficiency by dividing up the work and taking advantage of its distributed nature. Agents can solve their task according to their own knowledge. This adds flexibility to the model and can increase reliability as a task can be reassigned in case of failure of an agent (Dorri et al., 2018). However, some communication overload may occur, as agents must communicate with each other. This overload can be reduced if agents only communicate between close neighbours. This approach allows the system to expand without increasing the communications overload much, but it is necessary to create intermediate agents to provide some services, such as maintaining a list of the services offered by each agent, which improves the agent location process. A MAS has its specific features (Dorri et al., 2018): Leadership whether or not there is an agent who defines the goals for the other agents according to a general goal. Decision-taking function features whether it is linear with the value of the inputs or not. Heterogeneity whether all agents have the same features or not. Agreed parameters whether agents should agree on parameters called “metrics”. Delays whether account is taken of possible delays (in communications, in access to resources) or not. Topology whether the location of the agents and the relations between them are static or dynamic. Data transmission frequency if the agents observe their environment periodically and communicate it to the rest of the agents or if they only observe if a particular event occurs. Mobility static agents are always located in the same position in the environment, while mobile ones can change their location. A key feature of a MAS is its ability to reorganise to adapt to changes in its environment (Abbas et al., 2015). Self-organisation is a challenge in itself, but is particularly problematic in an open MAS. An open MAS allows new unknown agents to join (or leave) freely and interact with others at run time. In this type of MAS, agents developed by different stakeholders, as ’black boxes’ and with their own goals, join the MAS. This feature is of interest in some applications, for example in smart cities or IoT networks, but organisational and security problems are particularly relevant (Serrano and Bajo, 2020; Derakhshan and Yousefi, 2019; Bijani and Robertson, 2014).
59 Autores Título ADCAIJ: Advances in Distributed Computing and Artificial Intelligence Journal Regular Issue, Vol. 9 N. 4 (2020), 55-70 eISSN: 2255-2863 - https://adcaij.usal.es Ediciones Universidad de Salamanca - cc by-nc-nd 3. MAS organisation In (Abbas et al., 2015) classify the development of MAS in two main approaches: ACMAS (Agent Centered MAS) focuses on individual agents. ACMAS assumes that the general functionality of the system will appear as a result of the interaction between individual agents in a bottom-up approach. The organisation will emerge as a pattern of collaboration between agents, which may be unpredictable and uncertain: undesirable behaviours may appear that can affect the performance of the system. Therefore, this approach cannot be valid for complex systems. OCMAS (Organisation Centered MAS) focuses on the structure of the system. The organisation and coordination of the agents is designed separately from the local behaviour of the agents. It is a top-down approach in which the organisation imposes some rules that the agents use to coordinate their local behaviour and interactions. This provides some resources for coordination that enable the global system to achieve its general goal. OCMAS is maybe most appropriate in a number of cases such as: there are a large number of agents, agents need a lot of time to complete their tasks, many tasks need shared resources, there are many collaborative tasks, many agents are specialized, few agents are able to do some tasks or there are few resources. In (Premm and Kirn, 2015), the organisation is described as a useful metaphor for describing, studying and designing distributed software systems; and in (Dignum, 2009) it is stated that the organisation of agents can be considered from two different points of view: as a process and as an entity in itself: in the first one, organisation is the process of organisation of individual agents and implies limitations in the allowed interactions of the agents. In the second, the organisation is considered as an entity with its own goals and is represented as a group of agents, although it is not exactly the same. However, in (Abbas et al., 2015) an organisation integrates both points of view and makes extensive use of heterogeneity and open MAS. An organisation can also provide a way to group agents, divide the system and thus achieve a greater degree of abstraction and modularity of the system, increasing flexibility and facilitating maintenance. Furthermore, each group of agents can be a context in which the agents can freely interact with each other. Several organisational paradigms have been proposed for use in MASs, including: hierarchies, holarchies, teams, federations, markets, etc. More complete lists and the features of these proposals can be found in (Dorri et al., 2018; Abbas et al., 2015; Horling and Lesser, 2004). However, none of these organisational paradigms always fit well in any possible situation. The best possible paradigm depends on the goals of the agents, the available resources and the environment in which the agents will be operating. Furthermore, a MAS can be organised not only statically using one or more of the aforementioned paradigms, but also dynamically, which makes its design more complex. An AMAS (Adaptive MAS) is designed to be able to autonomously adapt its organisation to unforeseen situations, reorganising itself according to the changes in its environment. 3.1. Reasoning about the organisation The two design possibilities in the development of a MAS mentioned, depend on whether or not the agents are aware of the existence of the organisation. If the agents do not have an internal representation of the organisation and are therefore not aware that they belong to an organisation, or only have an internal representation of the cooperation patterns obtained by perception, communication or by their
60 Autores Título ADCAIJ: Advances in Distributed Computing and Artificial Intelligence Journal Regular Issue, Vol. 9 N. 4 (2020), 55-70 eISSN: 2255-2863 - https://adcaij.usal.es Ediciones Universidad de Salamanca - cc by-nc-nd own reasoning, then they use the ACMAS approach. If the organisation exists as a specified scheme (perhaps even hard-coded) and the agents must comply with organisational constraints or the agents have an explicit representation of the organisation in which they have been defined and can use it in their reasoning process, then they are considered to use the OCMAS approach. There exists some methodologies or organisational models that follows these approaches. For instance, swarm-based multi-agent systems such as the described in (Duan et al., 2012) follows the ACMAS approach, on the other hand, the MaSE (Multiagent Systems Engineering) methodology (DeLoach, 2004) and the MOISE+ (Model of Organisation for multI-agent SystEms) model (Hübner et al., 2002; Hübner et al., 2007) are examples of the OCMAS approach. However, some other proposals include a hybrid of both approaches, e.g., the organisational model NOSHAPE (Abbas and Shaheen, 2017). Three organisational dimensions are identified in (Hübner et al., 2007): • functioning of the organisation, related to the specification of the global plans, the policies of assignment of tasks to the agents, the coordination of the execution of the plans or the accountability of the plans (time consumption, use of resources,…), • organisational structure, e.g., roles, relationships between roles, role groups, etc., and • definition of high level norm that agents must obey, which can be used to regulate what an agent can do in an organisation. For instance, the middleware of MOISE+ regulates what an agent can do by blocking certain actions (Jensen et al., 2014). A slightly different approach is taken in AORTA (Adding Organizational Reasoning to Agents), that is described in (Jensen, 2015); it is a framework that allows agents to reason about an organisation. AORTA allows the study of environments where agents enact roles and solve objectives of the organisation. This framework has been integrated into different agent platforms such as Jason (Jensen et al., 2014) or GAMA (Larsen, 2018). 3.2. Self-organisation Self-organisation can be defined as a mechanism or process that allows a system to change its organisation without an explicit external command while it is running (Di Marzo Serugendo et al., 2005). This implies that it is created some pattern by the cooperative behaviour of individual agents without external control or influence, as this is considered an effective way of dealing with dynamic requirements in distributed systems (Ye et al., 2017). Self-organised systems show the following features: No external explicit control : as the system is autonomous, adaptation and change must depend only on internal decisions made by the components of the system. Decentralised control : self-organisation can be achieved as a result of local internal interactions with system components without any central control. Dynamic and evolutionary operation : Such a system should be able to evolve to adapt to changes in the environment. Task and resource allocation mechanisms in self-organising systems can avoid the single point of failure of centralised allocation mechanisms. Furthermore, these mechanisms in self-organising systems are scalable and allow each agent to adapt its behaviour to obtain an efficient allocation of tasks and resources in open and dynamic systems, without global information (Ye et al., 2017).
61 Autores Título ADCAIJ: Advances in Distributed Computing and Artificial Intelligence Journal Regular Issue, Vol. 9 N. 4 (2020), 55-70 eISSN: 2255-2863 - https://adcaij.usal.es Ediciones Universidad de Salamanca - cc by-nc-nd 3.3. Virtual Organisations of Agents The idea behind a Virtual Organisation (VO) is taken as the basis for formulating a new paradigm for an agent organisation. A VO can be defined as a set of individuals and institutions that need to coordinate resources and services across institutional boundaries (Argente et al., 2011). VOs are therefore composed of agents and MAS that collaborate through the execution of services. In (Camarinha-Matos et al., 2010) it is said that VOs are temporary alliances of entities that share their skills, competencies and resources to better respond to business opportunities and whose collaboration is supported by computer networks. However, this is not achieved without many obstacles: the heterogeneity of the autonomous participants and the time needed to create trust are mentioned. (Camarinha-Matos et al., 2010) provides several examples of the use of virtual organisations and similar approaches in different environments such as agro-industry, transport systems, energy and water management, biodiversity, sustainable tourism and others. This idea of using the organisational model as a way to arrange agents and its behaviour in a MAS can be found in several proposals: MOISE is a model that divides the specification of an organisation of agents into three different parts: structural, functional and deontological specifications. The structural specification defines the structuring of the agents using roles, relationships between roles and groups. Roles define a set of constraints that an agent must meet to become a member of a group. The relationships between roles are links between roles and also compatibilities from a source role to a destination role. A group specification consists of roles, subgroup definitions (decomposition), linkage definitions and compatibilities and cardinalities of groups and roles. The functional specification describes how an agent organisation achieves its objectives.An overall objective can be decomposed (using a planning algorithm) and distributed to agents (as missions). The decomposition of the overall objective into plans and missions is similar to a tree, which in MOISE is called a social scheme. The missions are assigned to the agents, who are responsible for fulfilling all the objectives of the mission to which they are committed. MaSE (O-MaSE, Organizational Multi-agent System Engineering) is a methodology for the development of agent organisations. In MaSE, agent classes are identified only by the roles to which the agent can be assigned. O-MaSE defines the organisational adaptation process based on the OMACS framework, where the best combination of roles and agents for the currently established objective is calculated. The MaSE approach requires agents to use global knowledge, so it is a kind of centralized approach, whereas self-organised systems tend to be decentralized. PANGEA (Platform for Automatic coNstruction of orGanizations of intElligent Agents) is a platform for the development of multi-agent systems modelled as virtual organisations (Zato et al., 2013). It is based on the concepts of roles, organisations and rules that are considered to be first-order entities. PANGEA is based on THOMAS (Rodriguez et al., 2011; Argente et al., 2011; Giret et al., 2010; Carrascosa et al., 2009). The THOMAS framework supports the FIPA (Foundation for Intelligent Physical Agents) specification (FIPA, 2002), introduces the idea of offering architectural services as Web Services and is not dependent on any internal agent platform, so it is prepared for open multi-agent systems. The THOMAS architecture is shown in Figure 1. PANGEA includes different models for agent architecture (BDI and CBR-BDI architectures). It includes a communication protocol that allows for broadcast communication, multicast communication to roles or suborganisations or direct agent-to-agent communication.
62 Autores Título ADCAIJ: Advances in Distributed Computing and Artificial Intelligence Journal Regular Issue, Vol. 9 N. 4 (2020), 55-70 eISSN: 2255-2863 - https://adcaij.usal.es Ediciones Universidad de Salamanca - cc by-nc-nd It also includes a module to interact with FIPA-ACL agents, a service management and tools to discover services, services to dynamically reorganise the organisation, services to distribute tasks and balance the workload and a business rules engine to guarantee compliance with the rules defined in the organisation. Figure 1: THOMAS architecture. A new module termed Organisation Management Service (OMS) is incorporated into THOMAS and manages the VO life cycle (in the same way as the AMS manages the agent life cycle) and also certain VO management rules. The OMS module manages creation and restricts the manner in which entities participate in the VO. The Service Facilitator (SF), based on an adaptation of the SOA Directory Facilitator, is included in the platform. This makes it possible to offer the registered services of agents and VOs. NOSHAPE The NOSHAPE organisational model is the newest proposal so far and is designed to develop large agent organisations. It is described in more detail in the Subsection 3.4. (a) Two organisations, O0 and O1, overlapped, which allows the interaction between agents belonging to both organisations. (b) A complex interaction in NOSHAPE. Two universes, represented as dashed rectangles, U 0 and U 1 , are partially overlapped. Universe U 0 contains two worlds W 0.0 and W 0.1 depicted as grey ovals. Each world contains one or more organisations. Organisations in same world in the same universe can overlap, such as 0 0.0.1 and 0 0.0.2 . Also can overlap organisations belonging to different worlds in the same universe, such as 0 0.1.0 and 0 0.0.2 , if the worlds overlap. And two organisations in different universes, and therefore in different worlds, can also overlap, such as 0 0.0.0 and 0 1.0.0 , if the universes and worlds are overlapping. Figure 2: Two examples of overlaps in NOSHAPE.
63 Autores Título ADCAIJ: Advances in Distributed Computing and Artificial Intelligence Journal Regular Issue, Vol. 9 N. 4 (2020), 55-70 eISSN: 2255-2863 - https://adcaij.usal.es Ediciones Universidad de Salamanca - cc by-nc-nd 3.4. NOSHAPE organisational model The organisational model NOSHAPE (Abbas and Shaheen, 2017; Abbas and Shaheen, 2015; Abbas and Shaheen, 2014) combines the ACMAS and OCMAS approaches to provide a more general model than other proposals. Organisational behaviour is separated from the agent’s individual behaviour, so that agents can focus on their tasks without regard to organisational issues. Roles are used implicitly, without having predefined patterns or activities (Abbas and Shaheen, 2017). Agents are organised mainly in organisations. An organisation have some static roles, which help to keep the organisation working, and other dynamic roles (agents) that depend on the domain. A basic operation on organisations is defined, the overlap, which implies the sharing of some roles (dynamic agents) between two (or more) organisations. The overlap requires interaction and negotiation between the organisations. In practice, sharing the dynamic roles means that the shared roles of the O2 organisation are registered in the O1 organisation’s yellow pages service (the one requesting the roles) in order to become “local” to the O1 organisation and be accessible to the agents belonging to O1 (Abbas and Shaheen, 2015). Graphically, the overlap (see Figure 2a) is represented as an intersection between the two organisations. Three types of abstractions are defined in NOSHAPE as a way to manage the complexity: organisation, world and universe. The most complex organisation possible, the ultra-large scale organisation, requires three structures and the overlap of two organisations requires that their respective universes and worlds are previously overlapped. A dot notation is proposed to identify the different structures. For example, two universes can be identified as U0 and U1, respectively. A world in the universe U0 is identified as W0.0, and W1.0, respectively, for a world in the universe U1. An organisation identified as O0.0.0 belongs to the world W0.0 in the universe U0. A graphic example is shown in Figure 2b. Other interactions are allowed such as undoing an overlap, or more complex ones such as agents moving from one organisation to another overlapped one. Only dynamic agents can be moved to another organisation, those that maintain the structure of the organisation cannot be transferred. In the case of the transfer of an agent, the organisation to which it belonged to shrinks. To manage these events (overlaps, separation of organisations, transfer of agents, etc.) it is proposed to use an event queue managed by the role that maintains the structure in operation (Abbas and Shaheen, 2017). 3.5. Societies of Agents The definition of VOs also resembles the idea of the open agent society described in (Pitt and Artikis, 2015), as a flexible network of heterogeneous agents each aware of the opportunities available, capable of making autonomous decisions and cooperating to meet transient needs and conditions. The key ideas in VOs of heterogeneity, autonomous decision-making and cooperation to meet transient objectives also appear in agent societies. This definition allows agents to operate in a non-ideal way, as competition and conflicting goals must be taken into account when self-interested and heterogeneous agents from unpredictable provenance are present. Agents and MAS have also been used to simulate and study the behavior of societies. A simulation can allow to fill the gap between theoretical proposals and empirical research. Social simulation can provide a way to test the hypotheses formulated and also a way to observe social processes and, therefore, can be a tool to model societies (Gilbert and Conte, 1995; Epstein, 2006). Social interaction is considered to be a balance between cooperation and conflict, although not in its most simple way. In a society there can be many forms of cooperation and conflict, altruism and selfish and desirable and undesirable behaviors. In a society, an agent is not a self-sufficient being, as there are usually some relationships with other agents. A relationship between agents can be of various types, from an accidental interference that hinders or facilitates any other
70 Autores Título ADCAIJ: Advances in Distributed Computing and Artificial Intelligence Journal Regular Issue, Vol. 9 N. 4 (2020), 55-70 eISSN: 2255-2863 - https://adcaij.usal.es Ediciones Universidad de Salamanca - cc by-nc-nd Walpole, J., Mac Gabhann, F., Peirce, S. M., and Chappell, J. C., 2017. Agent-based computational model of retinal angiogenesis simulates microvascular network morphology as a function of pericyte coverage. Microcirculation, 24(8):e12393. doi:https://doi.org/10.1111/micc.12393. Wilensky, U. and Rand, W., 2015. An Introduction to Agent-Based Modeling: Modeling Natural, Social, and Engineered Complex Systems with NetLogo. The MIT Press. Ye, D., Zhang, M., and Vasilakos, A. V., 2017. A Survey of Self-Organization Mechanisms in Multiagent Systems. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 47(3):441-461. Zato, C., Villarrubia, G., Sánchez, A., Bajo, J., and Corchado, J., 2013. PANGEA: A New Platform for Developing Virtual Organizations of Agents. International journal of artificial intelligence, 11:93102. Zhang, B. and DeAngelis, D. L., 2020. An overview of agent-based models in plant biology and ecology. Annals of Botany, 126(4):539-557. doi:10.1093/aob/mcaa043.