Internet of Things (IoT) [1] is claimed by many as the thing of the future [2]. It is and would be more pervasive and socially embedded than any other recent technology. Already, our society has experienced undesirable outcomes of blindly adopting Internet-enabled mobile computing and social networking technologies [3]. Since the scale and embeddedness of objects of a potential IoT landscape are limitless in nature, a focus on human needs and social dimension has become a mandatory requirement. Already, the established notion of “social objects” (of Social Internet of Things (SIoT)) provides an opportunity to explore this dimension. Irrespective of the ethical discussions about technologies changing humanistic values [3], no one could overturn evolutionary progression seen in recent history. This is also valid for the Social Internet of Things (SIoT). Since the scale of an IoT landscape is huge – both horizontally and vertically –, so must be its impact. Therefore, envisaging the outfalls of such a landscape is extremely important, which is the focus of this paper.
The relevance of social capabilities for the objects of IoT is evidenced in the growth of IoT itself, where the discussion on things is now shifting from smart objects to the acting objects. “Smart objects” are capable to communicate with the human social networks, while “acting objects” are pseudo-objects able to represent human beings, sensing and acting on their behalf. There are already a number of applications in the above two domains. However, the real challenge is the futuristic “social objects”, having the capability to build their own social network. If not carefully modeled, objects interacting, acting and influencing their self-managed networks may turn out to be counter-productive or even harmful for the society [4].
Setting aside the debate about its form-factor and usefulness, the transformation of current IoT towards futuristic network constituted by so-called “social objects” is inevitable [5]. According to Afzori et. al. [4], the challenges towards this quest can be grouped into three categories: (i) Designing conceptual frameworks and software platforms to enable socially interacting objects, (ii) introducing feasible mechanisms that cater for trust management between two interacting objects, and (iii) conceptualizing social paradigms to enable network navigability across trillions of potential objects to interact with.
The realization of challenge 1 is dependent on feasible solutions of second and third challenge. Challenge 2, as stated in [4], though only relates to one of the dimensions (i.e. trust) in which social interaction is dependent. However, it provides a clue about what possibly can be the other dimensions. It can be generalized that challenge 2 relates to social capabilities (or incapabilities) directing the dynamics of interaction in a social setting. Whereas, challenge 3, in fact, a generalized description of accessibility of an object to another, is a relaxed notion of network access and connectivity.
The exceptional growth of social networks in the last years has influenced many researchers. This is particularly true for social IoT, as evidenced from the above three challenges, which are tightly intermingled with social networking concepts. However, we propose that to argue about social IoT, we need to think beyond social networks. Motivated by the seminal concept introduced in [4], we take the liberty and postulate a guiding outline about the capabilities of a social object, which are:
1. Autonomous nature of social objects takes decentralized decisions using the knowledge avail-
2. Social objects broadcast their service and make its presence feel.
3. Social objects trust their peers and inter-object interaction is supported.
The above three features act as an underpinning of our quest towards analyzing the impact of social aspects for SIoT. The social objects must be autonomous and self-organized. Having an underpinning on the concept of agency [6], the social objects must possess a “self-organizing collective behavior not resulting from the existence of a “central controller”, but due to their own interactions with the other agents.” [7]. The interactions require awareness of the proximity. Hence, the first two features are indigenous to agent-based modeling paradigm, wherever it is used to model IoT (as that of this paper). As of [4], Peer-to-Peer (P2P) computing [8] is taken into consideration as a typical application assuming that interacting peers have absolute trust on each other.
The services provided and requested by the peers are disparate, so is the network configuration. The configurations supported by the network are of different types. By default, the peers can communicate with their peers in the neighborhood. However, a “small-world network” configuration [9], in which a few long-distance connections augment an otherwise “regular network”, can mimic a realistic social possibility, in which the services available from distant peers are supported through a few long distant peers. It is assumed that long distant communication requires more resources. Therefore, only a few randomly chosen peers (dependent on the beta value of small-world) are considered as peers. Also, these peers would only be invoked if there is no possible service provider in the locality. A further enhancement only takes “legitimate” peers (friends) for the provisioning of service time.
In this paper, the impact of social behavior on the interaction pattern of social objects is studied taking P2P resource sharing as an example application. The model proposed in the paper studies the implications of competitive vs. cooperative social paradigm while peers try to acquire shared resources/services. These contradictory behaviors are modeled through an agent-based model (ABM). In addition, to the proposed model adhering to the notion of “social objects” [4], our model supports asymmetric peers in terms of their capabilities and services configurations, and realization of a more realistic real-world networking and objects’ mobility.
In the rest of this paper, Section 2 presents the related work and motivation, section 3 presents the proposed model, followed by simulation and results in section 4, and section 5 concludes the paper.
Computer networks offer amazing possibilities to exchange data and dealing with files [10]. Old communication systems sited resources on a centrally-managed server, which can be accessed by the client machines that connect to the central server (a ”client-server” relationship). In contrast, P2P technology allows client machines on a network to share their own resources (file store, processing power, and peripherals.) with other network-connected machines with or without involvement of any centralize server [11]. Thus, it enables machines to act as a client as well as server at the same time. This influential technology makes it possible for the contents to be distributed widely without the requirement of the central facility of large resources in terms of computing power, storage or in particular, network bandwidth [12].
P2P technology enabled a revolution in machine-to-machine communication. While the machines are increasing exponentially, there is a desire to reduce their cost almost to nothing to enable communication between even very small and ordinary things around us. This endeavor has resulted in technologies and systems like Wireless Sensor Network, Internet of Things (IoT), Cyber-Physical Systems and Human-Agent Collectives (HAC) (sociotechnical systems) [13]. IoT has gained a tremendous interest not only from the researchers but also from the industry. According to CISCO [14], the number of connected devices will surpass 50 billion by 2020, which indicates a huge market [15]. Interest groups have been formed to define frameworks and standards for the IoT. Major IT companies have introduced a number of products and services based on IoT and invested substantial amount such as Nest [16] by Google and SmartThings by Samsung [17]. A number of leading ICT organizations have introduced IoT solutions such as Amazon Web Services, Ericsson, Huawei, IBM, and others. Huawei’s Ocean Connect [18] introduced a sophisticated IoT platform recently.
The latest application of such technologies exists in Industry 4.0, Industry 4.0 [19] is a European initiative promising to transform industrial system of the future by integrating new technologies towards sustainability, efficiency and safety. According to [20], collaboration issues are one of the most demanding aspect of this movement. Many social aspects are identified such as strategic decision-making, behavioral and trust modeling, collaborated group achievement and optimization, and evolving network dynamics. Without any doubt, IoT as the underlying network of Industry 4.0 needs to be at least socially-aware thus acting as an enabler to address these challenges.
Authors in [21, 22] investigated the impact of IoT technologies, and the application on human values. In particular, the importance of trust in technology is highlighted to improve person-to-person communication using IoT medium. Another model evaluating honesty is presented in [23]. The overall context of users owning IoT devices is implemented as a collaboration module in [24]. An IoT based study to verify users based on the pattern of their activities is presented in [25], thus emphasizing the importance of social aspects.
The study of the overall working mechanism of a social system being competitive, cooperative, or mixed-type has been a topic of interest [26]. Cooperation with peers is found in many natural systems [27]. Human societies, trained to be competitive [28] are learning to appreciate cooperation as the winning strategy [29]. Hence, in many research contributions, the conditions of transforming a population from competitive to cooperative mode are studied.
For example, the influence of activity like migration for the outbreak of cooperation is studied in [30]. A simplistic interaction situation of iterated Prisoner’s dilemma is implemented. However, the model is population-based and does not focus on individual characteristics of interacting entities which are necessary to investigate the emergence of cooperation. The specifics of formation of reciprocal appreciation in small groups in studied using an agent-based model [31]. Although the intuition of the model is based on social interaction idea, it does not provide a functional specification of activity performed through inter-agents interaction.
Authors in [7] presented a model of interaction in a P2P network using a multi-agent-based system. Authors has presented a comparison between interaction efficiency whereby the model of interaction is influenced by the social dimensions of competitiveness vs. cooperation. According to the model, while sharing a common resource, the probability of interaction increases with increase in the difference between sizes of agents. The size of an agent is directly proportional to the portion of common resource acquired by an agent. Hence, a peer will cooperate with another peer if one can offer and the other can receive. However, the model is proposed for the symmetric setting in terms of agents’ function, services, and network configurations. Motivated from the above model, in this paper, an agent-based model influenced by principles of social interactions in an asymmetric setting is proposed. It deviates from the above model in following way. Our model considers time instead of resources as decision making parameter. The motivation behind this change is that peers representing social objects would share the information about time spent in a state more naturally when compared with sharing the status of the common resource, due to an inherent conflict of interest.
The purpose of the model to analyze the impact of social-like capabilities on the interaction pattern of social objects in P2P resource sharing scenario. A comparative study of competitive vs. cooperative behavior of peers is demonstrated with the help of an agent-based modeling method and simulation. The model adheres to the specifications of social objects. Each peer/agent acts as a decision making entity using only the knowledge it possesses without the assistance of a central coordinator. All agents acquire a uniform mobility model; the options are stationary, random-walk and profile-based mobility. Stationary and random-walk mobility is obvious. In profile-based mobility, agents build some random location in their surroundings to move to, and they move from one location to another. All agents are available and their operations/statuses are transparent to others. For simplicity, considering that that all the agents in a specific range (neighborhood) are equally accessible and trust each other unconditionally.
The services provided and requested by the peers are disparate, so is the network configuration. By default, the peers can communicate in their neighborhood (the regular network). However, a small-world network configuration [9], in which a few long-distance connections augment an otherwise regular network, hence, able to mimic a realistic social network. It is assumed that long distant communication requires more resources. Therefore, only a few randomly chosen peers (dependent on the beta value of small-world) are considered as peers. Also, these peers would only be invoked if there is no possible service provider in the locality. A mesh network is also considered as the base case. Further, only the legitimate peers (friends) are for the provisioning of service time, thus, imparting social-like capabilities.
The models are closely entangled with the services’ specifications, and agents’ basic interactions capabilities. A comprehensive explanation of these specifications is given in Section 3.1. The agent-based models of competition and cooperation follow in Section 3.2 and 3.3. A model of friendship
with increasing repetitive interactions is presented in Section 3.4.
3.1. Peer Specifications
It is assumed that four services are provided by the network. Each service requires a time effort to complete it, termed as Service Completion Units (SCU), where a unit is equal to one iteration of the simulation. That is: Serv1 requires 25 SCU, Serv2 requires 50 SCU, Serv3 requires 75 SCU, and Serv4 requires 100 SCU. The fifth service, Serv0 is a different service, requiring no time (0 SCU), indicating that the agent at that time is serving another agent. A peer has a pre-defined duration of remaining off / on the network. It also has a pre-defined value serv0perc, that represents for how long a peer would be serving another peer (if requested, able to provide the requested service and idle at that time) from its idle time in percentage.
A detailed description of all specifications is available in [32]. Based on these specifications, a peer/agent would either perform its action in competitive or cooperative mode. There are six states of an agent on which the model of competitive and cooperative behavior are based, given in the following:
1. status 0: when an agent is not on the network and it is physically in “off” state.
2. status 1: when an agent is in “idle” state representing no service required or delivered.
3. status 2: when an agent in “assign” state, that is ready to go from an idle to an active state.
4. status 3: when an agent is in “search” state, that is searching for possible-service-providers
5. status 4: when an agent is in “request” state, that is requesting for resources from a searched
6. status 5: when an agent is in “proceed” state, that is having completed the current service
7. status 6: when an agent would be in “serve” state, that is just serving another agent for a
The duration in current status (DICS) would track for how long a peer is in a specified status and helps in transiting from one state to another if certain conditions are met. Whenever a state changes, DICS = 0. Alternatively, it is incremented by 1.
Figure 1: Agent-Based Model of Peers in Competitive Mode. current time is iteration (a minute on a day). current service is one of the four possible services. psp contains all other agents in the neighborhood [strategy “mesh” (whole space) or “regular” (only neighborhood) or “small-world” (in a proximity defined by neighborhood and beta value)] who have completed the current service (evidenced by services completed table).
Figure 2: Agent-Based Model of Peers in Cooperative Mode.
3.2. Model of Peers in Competitive Mode
Figure 1 represents the model of peers in competitive mode, which is detailed as:
• From being in the “off” state, an agent would transit into the “idle” state, if the current time
• If a peer is in the “idle” state, it would transit to “assign” state, if the duration it had to be
• In the “assign” state, a random service is assigned to the agent and it transits to ”search”
• In the “search” state, an agent searches for possible-service-providers (PSP), both in the neigh-
• In the “request” state, the chosen corresponding peer would reply against the request if its
• In the “proceed ” state, a peer either transits back to state “off” or state “idle” depending
In the all above conditions, otherwise, the duration-in-current-status would be incremented.
3.3. Agent-Based Model of Peers in Cooperative Mode
When compared with competitive mode, the major refinement occurs in status 3, and a new state is introduced namely “serve” state with status = 6. Figure 2 shows the model of peers in cooperative mode. Cooperation is expected to improve resource sharing efficiency of the system. In the following, we detail the differences in cooperative mode when compared to competitive mode.
• In the ”search” state, an agent searches for possible-service-providers, both in the neighbor-
• In the “serve” state, a peer would just serve the other peer being idle for x iterations, where
3.4. Model of Friendship (Restricted Cooperation)
Let’s name the agent as A being in memory, and myneighbors is a list of current neighbors. Since agents may be not stationary, it is necessary to always search for the fresh neighborhood. To do so, we term agentset neighbors as all the agents in prescribed radius excluding A, radius being one of model parameters. Every agent a in neighbors set is processed. If a already exists in table myneighbors, we increment repeated encounters value by 1 against its ID. If a is encountered for the first time, we insert its ID in table myneighbors with repeated encounters value set to 1.
After a specific number of iterations (parameter consolidate frequency), we update mycontacts table which has a subset of agents from myneighbors. The length of mycontacts table have an upper bound value defined by parameter k. The number of agents to be added depends on the length of myneighbors table times k. For example, if an agent has six neighbors, and k = 0.5, then the number of agents to be added in the mycontacts table is three. A random agent, if it already does not exist in mycontacts, would be added from myneighbors registering the iteration on which it is added against its ID. It is noteworthy that as the simulation progresses, the length of the myneighbors table increases so does the length of the mycontacts table. Lastly, the length of the myfriends table has an upper bound value defined by parameter m. The number of agents to be added depends on the length of mycontacts table times m. A random agent from mycontacts, if it already does not exist in myfriends is added as a friend, registering the iteration on which it is added against its ID. The length of the myfriends table would also increase with the mycontacts table as the simulation progresses. Hence, the list of friends limits potential service providers, expected to decrease the resource sharing efficiency.
3.5. Mobility Models
There are three mobility modes under which this mechanism operates.
1. Mobility 1: No mobility, i.e, all agents are stationary.
2. Mobility 2: Random walk; agents choose a direction to move randomly at each iteration.
3. Mobility 3: Profile-based walk; agents build some random locations to move to, and they
Figure 3: Status of peers in COOPERATIVE MODE at iteration 14400 in case of 250 agents (radius = 5) using a small-world network (of beta = 0.2) and profile-based mobility. Agents in light gray are in offline mode (status 0). Agents in dark gray are in idle mode (status 1). Agents in red are in search mode (status 3). Status 2 is a transit mode where a service is assigned. Agents in green are in request mode (status 4). Status 5 and 6 are transit states again. The arrow originates from the requester and ends at a receiver.
4.1. Simulation Setup
Simulation is implemented in NetLogo, an open-source agent-based modeling simulator [33]. A series of parametric settings are possible (see Table 1). Each case is shown in Table 1 is examined for three possible mobility modes, that is, stationary, random walk and profile-based walk. We start with the agent population of 250 agents (with a constant radius equal to 5) for a comparison between competitive and cooperative behavior. There are four possible services (shared resources). A service is either denied or completed in each iteration. Obviously, how efficiently a service is progressing is dependent on the ratio of denials and completions. Leaving a complete analysis of related results for future, here, we have focused on a single variable, that is, the number of “nor served” requests, representing the mismatch between the requests generated and the servings which are activated due to limitations imposed by network and mobility model. Each case is run 100 times; each time with different random configurations. Results of 100 runs are averaged to present a normalized picture.
4.2. Simulation Results
For 250 agents, Figure 8 shows the simulation results when the strategy used is competitive; Figure 10 shows the simulation results when the strategy used is the cooperative; and Figure 11 shows the simulation results when the strategy used is restricted cooperation. Irrespective of the strategy, mesh network is the best, and the number of request “nor served” is always zero as indicated in case 5 (Figure 8), case 17 (Figure 10) and case 29 (Figure 11). Hence, these cases are not of much interest. Form all graphs, it is evident that the system in the initial days is not efficient, but as peers start developing resources and social connections, the efficiency increases significantly.
In competitive strategy (Figure 8), for the stationary mobility (Figure 8 (a)), case 6 and 7 go side by side, whereas, case 8 is more efficient than these two. It means that small-world network with beta = 0.2 is the most efficient setting, and small-world network with a beta value equal to 0.1 is no better than the neighborhood-based regular network. The mobility random walk (Figure 8 (b)) minimizes the advantage of the small-world network (beta = 0.2), but there is a definite decrease in a number of requests “nor served” when compared to stationary case. The above is also applicable in case of profile-based mobility (Figure 8 (c)), however the overall efficiency further increases. It means profile based walk, irrespective of the network type, works the best. It is understandable
Table 1: Simulation Setup: Cooperative-R represents restricted cooperation
Figure 4: Screen shot at the end of the simulation. Competitive mode and 100 agents. Agents in light gray are in offline mode (status 0). Agents in dark gray are in idle mode (status 1). Agents in red are in search mode (status 3). Status 2 is a transit mode where a service is assigned. Agents in green are in request mode (status 4). Status 5 and 6 are transit states again. The arrow originates from the requester and ends at a receiver.
keeping in view peers moving in the locality and sharing resources in a predefined and repetitive manner, which turns out to be dynamic enough to provide the resources required. Incidentally, this observed behavior supports the mobility model acquired by people in general.
In cooperative strategy (Figure 10), for the stationary mobility (Figure 10 (a)), regular network perform worse than the small-world network. But a surprise is that the small-world network with the less beta value performed better than the small-world network with more beta value. However, this can be ignored as the difference is not substantial. When compared to competitive strategy, cooperative strategy is more efficient, particularly in random walk (Figure 10 (b)) and profile-based mobility (Figure 10 (c)).
In cooperative strategy with social restriction (Figure 11), for the stationary mobility (Figure 11 (a)), regular network perform worse than the small-world network, but only if beta value is 0.2, not less (0.1). This is an unusual result which needs further investigation. More importantly, this behavior is entirely opposite of cooperative strategy (when comparing regular network with the small-world network of less beta value). When compared to cooperative strategy, this strategy is more efficient, particularly in stationary case, and almost similar in random-walk (Figure 11 (b)) and profile-based (Figure 11 (c)) mobility. Nevertheless, restricting the neighborhood does not impact efficiency negatively. Rather it remains same or slightly improves.
Overall, for 250 agents (if the results of the first week (initial perturbation) are ignored), the cooperation in a restricted network performs better than cooperation in the unrestricted network.
Figure 5: Screen shot at the end of the simulation. Competitive mode and 250 agents. Agents in light gray are in offline mode (status 0). Agents in dark gray are in idle mode (status 1). Agents in red are in search mode (status 3). Status 2 is a transit mode where a service is assigned. Agents in green are in request mode (status 4). Status 5 and 6 are transit states again. The arrow originates from the requester and ends at a receiver.
Figure 6: Screen shot at the end of the simulation. Competitive mode and 500 agents. Agents in light gray are in offline mode (status 0). Agents in dark gray are in idle mode (status 1). Agents in red are in search mode (status 3). Status 2 is a transit mode where a service is assigned. Agents in green are in request mode (status 4). Status 5 and 6 are transit states again. The arrow originates from the requester and ends at a receiver.
Figure 7: Simulation results: Competitive Mode (100 agents)
Figure 8: Simulation results: Competitive Mode (250 agents)
Competitive strategy cannot compete with any of these. Within one strategy, profile-based mobility performs much better than the stationary and marginally better than the random walk mobility. Figure 5 provides screen-shots of sample simulation runs at iteration 14400 in case of 250 agents.
In case of competitive strategy, as the density of the agents is decreased (see Figure 4), the impact of beta value is much more significant than stationary case (see Figure 7). Whereas, the difference between random walk and profile-based walk is not obvious, although, these two cases are much better than stationary cases. The overall performance decreases the nonavailability of resources. Hence, it is established that the density of nodes in the network should be sufficiently
Figure 9: Simulation results: Competitive Mode (500 agents)
Figure 10: Simulation results: Cooperative Mode (250 agents)
Figure 11: Simulation results: Cooperative Mode (Restricted) (250 agents)
high.
How high should it be? There is no specific answer provided by the simulation cases that setup, but, there is definitely no drawback of a really high number, for example in case of 500 agents (see Figure 6). In the case of competitive strategy, the high density of agents improves the system in all cases (see Figure 9) when compared to less density. We have observed similar results in the case of cooperative and restricted cooperative strategies. These results are not presented in this paper to reduce redundancy.
4.3. Lessons learned from simulation results
The overall findings are summarized as:
1. In a P2P resource sharing scenario, the density of agents (peers) has a significant impact.
2. As a whole, cooperation between peers improves the system. In particular, cooperation in a
3. Profile-based mobility performs much better than stationary peers and slightly better than
The above results and overall research outcomes indicate that cooperation in a society of objects of IoT outperforms the competition. In social science, economics and related disciplines, the betterment of the society as a whole are now considered superior to individualistic gains. That’s exactly what objects in SIoT are required to do. And designers and practitioners should keep this fact in mind while implementing a solution using this platform.
Although, digital societies provide the possibility to get access to the whole of the network. But, there is no particular benefit of maintaining such a network in a P2P resource sharing situation. Even, cooperation using restricted network access would suffice. This is another social human feature that we can learn from human society and apply SIoT applications.
Lastly, peers acquiring more realistic mobility model (the profile-based mobility) works better than stationary and random walk mobility; another social aspect derived from humanistic characteristics.
A peer-to-peer resource sharing scenario is taken up to analyze the potential of the social Internet of Things. While accepting competitive behavior as a default behavior to model a resource sharing scenario, a model of cooperative behavior is also proposed. It is observed that cooperation (one of the basic social feature) is important for futuristic internet of things constituted by social objects. In addition to cooperation proving to be better than the competition, aspects derived from the social capabilities of peers, that is:
• maintaining a restricted network (of friends)
• acquiring a realistic mobility model (the profile-based mobility)
benefits the system and turns out to be more efficient than the unrestricted network of peers and unrealistic mobility (in many real-life situations).
[10] F. Gebali, Analysis of computer networks, Springer, 2015.
[11] V. Popovskyy, K. Popovska, Analysis of content replication mechanism in random search in
[12] N. J. Navimipour, F. S. Milani, A comprehensive study of the resource discovery techniques
[13] M. Pticek, V. Podobnik, G. Jezic, Beyond the internet of things: The social networking of
[14] D. Evans, The internet of things: How the next evolution of the internet is changing everything,
[16] Nest, https://nest.com/ca/, accessed: 2017-12-30 (2017).
[17] Smartthings, https://www.smartthings.com/, accessed: 2017-12-30 (2017).
[18] White paper for opening up huawei iot capabilitles, http://developer.huawei.com/ict/en/
[19] C. J. Bartodziej, The concept industry 4.0, in: The Concept Industry 4.0, Springer, 2017, pp.
[20] L. M. Camarinha-Matos, R. Fornasiero, H. Afsarmanesh, Collaborative networks as a core
[21] M. Cervantes, R. Ramani, P. Worthy, J. Weigel, S. Viller, B. Matthews, Could the inherent
[22] P. Worthy, B. Matthews, S. Viller, Trust me: doubts and concerns living with the internet of
[23] U. Jayasinghe, H.-W. Lee, G. M. Lee, A computational model to evaluate honesty in social
[24] S. W. Kum, T. B. Lim, J. I. Park, Design and implementation of iot collaboration module
[25] F. Anjomshoa, M. Aloqaily, B. Kantarci, M. Erol-Kantarci, S. Schuckers, Social behaviometrics
[26] C. Hauert, Cooperation, collectives formation and specialization, Advances in Complex Sys-
[27] M. Dorigo, M. Birattari, T. Stutzle, Ant colony optimization, IEEE computational intelligence
[28] E. Fehr, K. M. Schmidt, A theory of fairness, competition, and cooperation, The quarterly
[29] A. Barreira da Silva Rocha, A. Laruelle, Evolution of cooperation in the snowdrift game with
[30] F. Schweitzer, L. Behera, Optimal migration promotes the outbreak of cooperation in hetero-
[31] I. T. Koponen, M. Nousiainen, Formation of reciprocal appreciation patterns in small groups:
[32] K. Zia, A. Muhammad, D. K. Saini, Modeling and assessment of resource-sharing efficiency in
[33] U. Wilensky, W. Rand, An introduction to agent-based modeling: modeling natural, social,