Keywords

1 Introduction

It is a fact that the emotional state of an individual is continuously influenced by events from the environment. A loved one passing away might have a negative influence while a wedding might have a positive influence on the emotional state. All these events combined can be considered the basis for an individual’s overall stress level. Too many stressful life events could lead to depression [13]. Therefore, the reduction of the overall stress level can lead to many health benefits [8].

Mutual support networks are social networks in which its members provide psychological and material support to each other in order to help such individuals to cope with stress [2]. In this scenario, stress responses would be perceived via, for example, things said in a conversation between friends in such a network. Regarding to the relation between stress and social networks, there is the concept of stress buffering. This concept is originated from the hypothesis formulated by John Cassel and Sidney Cobb [1] by which they argued that people with strong social ties, i.e. close friends, parents and sons, brothers and sisters, etc. could be protected from the negative effects related to negative life stressful events. As what is stated in [12], better social integration (doing social activities, etc.) leads to better resilience to post traumatic stress. Therefore, in this work, we consider stress buffering as the capacity of facing stressful events without getting into a stressed state of mind. Besides that, here in this work we are typically dealing with conversation, via a social network, between people with strong social ties as a type of social integration in order to help people to cope with stress. The advantages of social support for stress buffering is already known in the literature; e.g., [8, 11, 12, 14]. A dynamic model could be used to develop a tool (a software agent) that would help people in coping with stress by their social connections with people with strong social ties, since the goals of such a tool could be, for example: to select automatically a set of a given member’s friends or relatives who can provide better support, to monitor who are seeking support in a given period due to, for example, a case of death in his or her family, etc.

In this paper, a dynamic model is presented for a mutual support network addressing the process of providing and receiving support. Such a model deals with the timing of positive and negative life events, and induced stress levels. To this model we pass, as input, values representing the intensity of positive and negative life events faced by the users of the network as well as the period of time they last. The model then returns, as output, values over time representing the amount of: the stress faced by the users, the support they receive and provide from and to each other, the perception that each of them have about the stress levels of their friends and the capacity they have to provide support. Note that the term dynamic came from the fact that through such a model we are able to represent the change of its states values over time. The computational model proposed here can be used as an ingredient to develop human-aware or socially aware computing applications; e.g. [9, 10, 15]. More specifically, in [5, 15] it is shown how such applications can be designed with knowledge of human and/or social processes as a main ingredient represented by a computational model of these processes which is embedded within the application. As an example, in [6, 7] this design approach is illustrated to obtain a human-aware software agent supporting professionals in attention-demanding tasks, based on an embedded dynamical numerical model for attention. The computational model for mutual support proposed here can be used in a similar way to design a human-aware or socially aware software agent to support persons suffering from stress effects.

This document is organized as follows; Sect. 2 formally describes our proposed model and shows the mathematical details of it. Section 3 shows the model working in order to describe some behavioral characteristics of it. In Sect. 4 the tuning process of our model is shown in order to make clear how we adjusted our model to keep it as close as possible to reality. Finally, Sect. 4 concludes our paper.

2 The Computational Model

There are a few requirements for the model that have been identified previously during the review of the literature about people coping with stress and social network models:

  • A person should be supported more when there are more resources available by the others;

  • The users of such a social network typically have strong social ties with each other;

  • More help should be given when more help is needed;

  • More support from people inside this network should lead to lower stress levels rather than receiving no support at all;

  • Individual personal characteristics can be represented by different strengths of connections within persons;

  • Social network characteristics can be represented by different strengths of connections between persons.

Simulations to test these requirements will be shown in the next section. The mutual support social network that will be analysed will consist of a number of persons.

The computational model has been designed using the temporal-causal network modelling approach described in [16]. According to this general dynamic modeling approach, a model is designed at a conceptual level, for example, in the form of a graphical conceptual representation or a conceptual matrix representation. A graphical conceptual representation displays nodes for states S and arrows for connections indicating causal impacts (shown by the nodes and arrows in Fig. 1) from one state to another like, for example, when the occurrence of a negative life event leads to the growth of an individual’s stress level, and includes some additional information in the form of:

Fig. 1.
figure 1

Conceptual representation of the model

  • For each connection from a state X to a state Y, a connection weight ω X,Y (for the strength of the impact, i.e. the impact of a state X in a state Y is directly proportional to the value ω X,Y when it is positive or inversely proportional when such a value is negative);

  • For each state Y a speed factor η Y (which represents how fast the effect will take place somehow that it controls if the impact of the effect will be slow or quick);

  • For each state Y the type of combination function c Y (..) used (to aggregate multiple impacts on a state).

Regarding the states of the model, for a given person X, ne X and pe X are the negative and positive life events for this individual, s X represents his or her stress level, r X is the amount of resources available for this person, sup X,Y is the support provided by X to Y (another person), and oos X is the overall stress level within the part of the network observed by X. These states are depicted as nodes in Fig. 1 for three particular persons a, b and c. In Table 1 the different connections are summarized with their weights, which are also depicted as labels of the arrows in Fig. 1. For the sake of simplicity in Fig. 1 such a network of only three persons is shown. The three coloured boxes represent the different persons that are involved in this model. All of them use the same states and architecture. At the core of each social network member stands the individual experienced stress level of such a person, represented by state s X . The perceived stress of the other persons in the social network is the observed overall stress state oos X . This state is a perception of how much stress the other persons in the network are experiencing and is therefore directly affected by the stress levels of the other persons. In our model, users could perceive stressed friends by the things they are telling in the social network via posts or direct messages. For sure a given user could hide your stressed state of mind, but we are not dealing with this situation; this could be, perhaps, studied in more details during a future work.

Table 1. Connections and respective weights

This observed stress of the others is used by each person to form a perception of the overall amount of support that would be needed. Besides the perception of experienced stress of the others, state r x indicates the resource (in terms of emotion, energy, time) a person has. It is important to mention that emotion is important for the resources because we expect that a person feeling sad, stressed, etc. is not indicated to provide support. If a person has no resources, no support can be given. Giving support drains these resources since it costs energy, time and it can change the emotional state of the support provider due to empathy: an individual can be sad because one of his best friends is facing a stressful situation. The relationship between giving support and available resource is therefore reciprocal.

Resources are also affected by the experienced stress level of the person. When a lot of stress is experienced this will negatively influence the amount of resources a person will have. The amounts of negative and positive events (indicated by pe X and ne X ) have an influence on both the experienced stress and the available resources. The positive and negative events do not have the same values for the different persons because a real world process is modelled where persons are living their own lives. An event taking place in one person’s life does not mean that a different person experiences this event as well. Finally a reciprocal connection exists between person X giving support to another person Y and this effect of this support by decreasing stress levels in person Y due to their strong social tie. A graphical conceptual representation of the model is shown in more detail in Fig. 1. Note that some of the arrows are bidirectional, where each direction has its own connection weight. The states pe X and ne X indicate the positive and negative events encountered by person X in his or her environment over time. Note that these events could be detected via emotions shared by things the users can tell in posts or direct messages, i.e. the same case of the state oos X . For specific scenarios these are given as input for the persons.

In Table 1 for each state (in the ‘to’column) it is indicated which impacts from other states (in the ‘from’column) it gets, with which weights, and with which sign +/– indicating whether the weight value is positive (strengthening) or negative (suppressing). In Fig. 1 these weights are depicted as labels for the arrows. Note that as the nodes represent states, the processes happen between these states, as indicated by the arrows representing causal impact.

The conceptual representation of the model as shown in Fig. 1 and the tables can be transformed in a systematic or even automated manner into a numerical representation of the model as follows [16]:

  • at each time point t each state Y in the model has a real number value in the interval [0, 1], denoted by Y(t)

  • at each time point t each state X connected to state Y has an impact on Y defined as impact X,Y (t) = ω X,Y X(t) where ω X,Y is the weight of the connection from X to Y

  • The aggregated impact of multiple states X i on Y at t is determined using a combination function c Y (..):

    $$ {\mathbf{aggimpact}}_{Y} \text{(}t\text{)} = {\mathbf{c}}_{Y} \text{(}{\mathbf{impact}}_{{X_{1} ,Y}} \text{(}t\text{)} ,\, \ldots , {\mathbf{impact}}_{{X_{k} ,Y}} \text{(}t\text{))} = {\mathbf{c}}_{Y} \text{(}\upomega_{{X_{1} ,Y}} X_{1} \left( t \right),\, \ldots ,\upomega_{{X_{k} ,Y}} X_{k} \left( t \right)\text{)} $$

    where X i are the states with connections to state Y

  • The effect of aggimpact Y (t) on Y is exerted over time gradually, depending on speed factor η Y :

    $$ \begin{array}{*{20}l} {Y(t + \Delta t) = Y(t) + \eta_{Y} [{\mathbf{aggimpact}}_{Y} \text{(}t\text{)} - Y\text{(}t\text{)}]\,\Delta t} \hfill \\ {{\text{or}} \quad {\mathbf{d}}Y\text{(}t\text{)}/{\mathbf{d}}t = \eta_{Y} [{\mathbf{aggimpact}}_{Y} \text{(}t\text{)} - Y\text{(}t\text{)}]} \hfill \\ \end{array} $$
  • Thus, the following difference and differential equation for Y are obtained:

    $$ \begin{array}{*{20}l} {Y(t + \Delta t) = Y\text{(}t\text{)} + \eta_{Y} [{\mathbf{c}}_{Y} \text{(}\upomega_{{X_{1} ,Y}} X_{ 1} \text{(}t\text{)}, \, \ldots ,\upomega_{{X_{k} ,Y}} X_{k} \text{(}t\text{))} - Y\text{(}t\text{)}]\,\Delta t} \hfill \\ {{\mathbf{d}}Y\left( t \right)/{\mathbf{d}}t = \eta_{Y} [{\mathbf{c}}_{Y} \text{(}\upomega_{{X_{1} ,Y}} X_{ 1} \text{(}t\text{)},\, \ldots ,\upomega_{{X_{k} ,Y}} X_{k} \text{(}t\text{))} - Y\text{(}t\text{)}]} \hfill \\ \end{array} $$

As an example, according to the pattern described above the difference and differential equation for the resource state r Y for person Y providing support to persons X 1, …, X k are as follows:

$$ \begin{array}{*{20}l} {{\text{r}}_{Y} (t + \Delta t) = {\text{r}}_{Y} \text{(}t\text{)} \, + } \hfill \\ {\;\;\eta_{{{\text{r}}_{Y}}} [{\mathbf{c}}_{{{\text{r}}_{X}}} \text{(}\upomega_{ 1Y} {\text{pe}}_{Y} (t),\upomega_{ 3Y} {\text{ne}}_{Y} \text{(}t\text{)},\upomega_{ 5Y} {\text{s}}_{Y} \text{(}t\text{)},\upomega_{{8Y,X_{1} }} { \sup }_{{Y,X_{1} }} \text{(}t\text{)}, \, \ldots ,\upomega_{{8Y,X_{k} }} { \sup }_{{Y,X_{k} }} \text{(}t\text{))} - {\text{r}}_{Y} \text{(}t\text{)}]\,\Delta t} \hfill \\ {{\mathbf{d}}{\text{r}}_{Y} \text{(}t\text{)}/{\mathbf{d}}t = } \hfill \\ {\;\;\eta_{{{\text{r}}_{Y}}} [{\mathbf{c}}_{{{\text{r}}_{Y}}} \text{(}\upomega_{ 1Y} {\text{pe}}_{Y} \text{(}t\text{)},\upomega_{ 3Y} {\text{ne}}_{Y} \text{(}t\text{)},\upomega_{ 5Y} {\text{s}}_{Y} \text{(}t\text{)},\upomega_{{8Y,X_{1} }} { \sup }_{{Y,X_{1} }} \text{(}t\text{)}, \, \ldots ,\upomega_{{8Y,X_{k} }} { \sup }_{{Y,X_{k} }} \text{(}t\text{))} - {\text{r}}_{Y} (t)]} \hfill \\ \end{array} $$

So, for any set of values for the connection weights, speed factors and any choice for combination functions, each state of the model (as shown in Sect. 2) gets a difference and differential equation assigned, except the positive and negative events, which are used as input. For the model considered here this makes a set of 4 coupled difference or differential equations per person, that together, are 12 equations that in mutual interaction describe the model’s behaviour. Note that the speed factors enable to obtain a realistic timing of the different states in the model, for example, to tune the model to the timing of processes in the real world. An often used combination function [16] is the advanced logistic sum function alogistic σ,τ(…):

$$ {\mathbf{c}}_{Y} \text{(}V_{ 1} , \, \ldots V_{k} \text{)} = {\mathbf{alogistic}}_{\sigma ,\tau } \text{(}V_{ 1} , \, \ldots ,V_{\text{k}} \text{)} = \text{(}\frac{1}{{1 + e^{{ - \sigma \left( { V_{1} + \ldots + V_{k} - \tau } \right)}} }} - \frac{1}{{1 + e^{\sigma \tau } }}) \, (1 + e^{ - \sigma \tau } ) $$

Here σ and τ are steepness and threshold parameters. This function is symmetric in its arguments: its result is independent of the order of the arguments. Moreover, the function is monotonic for its arguments, maps activation levels 0 to 0 and keeps values below1. For all states except the support states sup X,Y the advanced logistic sum function was used. For example for the resource state r Y :

$$ {\mathbf{c}}_{{{\text{r}}_{Y}}} \text{(}V_{ 1} , \, V_{ 2} , \, V_{ 3} , \, V_{ 4} , \, V_{ 5} \text{)} = {\mathbf{alogistic}}_{\sigma ,\tau } \text{(}V_{ 1} , \, V_{ 2} , \, V_{ 3} , \, V_{ 4} , \, V_{ 5} \text{)} $$

Then:

$$ \begin{array}{*{20}l} {{\mathbf{d}}{\text{r}}_{Y} (t)/{\mathbf{d}}t = \eta_{{{\text{r}}_{Y}}} [{\mathbf{alogistic}}_{\sigma ,\tau } \text{(}\upomega_{ 1Y} {\text{pe}}_{Y} (t),\,\upomega_{ 3Y} {\text{ne}}_{Y} (t),\,\upomega_{ 5Y} {\text{s}}_{Y} (t),\,\upomega_{{ 8Y,X_{1} }} { \sup }_{{Y,X_{1} }} (t), \, \ldots ,\upomega_{{ 8Y,X_{k} }} } \hfill \\ {\quad \quad \quad \quad \;\;{ \sup }_{{Y,X_{k} }} (t)\text{)} - {\text{r}}_{Y} (t)]} \hfill \\ \end{array} $$

Similarly for the states oos X and s X . For the support state sup Y,X from Y to X the following combination function is used:

$$ {\mathbf{c}}_{{{ \sup }_{Y,X}}} \text{(}V_{ 1} , \, V_{ 2} , \, V_{ 3} \text{)} = { \hbox{min} }\left( {V_{ 1} ,V_{ 2} } \right)V_{ 3} /V_{ 2} \,\,\,{\text{if}}\,\,V_{ 2} > 0,{\text{ else }}0 $$

where V 1 refers to impact \({\bf{impact}}_{{r_Y},sup_{Y,X}}(t)\) from the resource state r Y , V 2 to impact \({\bf{impact}}_{{{oos}_{Y}},sup_{Y,X}}(t)\) from the observed overall stress state oos Y , and V 3 to impact \({\bf{impact}}_{{s_X},sup_{Y,X}}(t)\) from the other person’s own stress state s X . Note that this combination function makes the provided support (when needed) proportional to the own resource level and also proportional to the fraction of the other person’s stress level from the overall stress level. Moreover, note that in contrast to the other combination function, this function is not symmetric in its arguments. For example, based on the above, assuming oos Y (t) > 0, the difference and differential equation for sup Y,X are as follows:

$$ \begin{array}{*{20}l} {{ \sup }_{Y,X} (t + \Delta t) = { \sup }_{Y,X} (t) + } \hfill \\ {\quad \quad \quad \eta_{{{ \sup }_{Y,X}}} [{ \hbox{min} }\text{(}\upomega_{ 6Y,X} \,{\text{r}}_{Y} (t),\,\upomega_{ 7Y,X} \,{\text{oos}}_{Y} (t))\,\upomega_{ 10Y,X} \,{\text{s}}_{X} (t)/(\upomega_{ 7Y,X} \,{\text{oos}}_{Y} (t)) - { \sup }_{Y,X} (t)]\,\Delta t} \hfill \\ {{\mathbf{d}}{ \sup }_{{{\text{Y}},{\text{X}}}} (t)/{\mathbf{d}}{\text{t }} = } \hfill \\ {\quad \quad \quad \eta_{{{ \sup }_{Y,X}}} [{ \hbox{min} }\text{(}\upomega_{ 6Y,X} \,{\text{r}}_{Y} (t),\,\upomega_{ 7Y,X} \,{\text{oos}}_{Y} (t))\,\upomega_{ 10Y,X} \,{\text{s}}_{X} (t)/(\upomega_{ 7Y,X} \,{\text{oos}}_{Y} (t)) - { \sup }_{Y,X} (t)]} \hfill \\ \end{array} $$

3 Verification of the Model

In this section it is described whether the proposed model acts according to what was expected. To find this out, both a mathematical and experimental analysis have been performed.

3.1 Mathematical Analysis

To verify (the implementation of) the model, a mathematical analysis was performed of the equilibria of the model. A state Y has a stationary point at t if d Y(t)/d t = 0. The model is in equilibrium at t if every state Y of the model has a stationary point at t. See Fig. 2 for an example of an equilibrium state that is reached. From the specific format of the differential or difference equations it follows that state Y has a stationary point at t if and only if

$$ Y(t) = {\mathbf{c}}_{Y} \text{(}\upomega_{{X_{1} ,Y}} X_{ 1} (t), \, \ldots ,\upomega_{{X_{k} ,Y}} X_{k} (t)\text{)} $$
Fig. 2.
figure 2

The final equilibrium state values for the first scenario

where X i are the states with connections to state Y, and c Xi (…) is the combination function for Y. If the values of the states for an equilibrium are indicated by X i then for a community of three persons being in an equilibrium state is equivalent to a set of 12 equilibrium equations for the 12 states X i of the model:

$$ \underline{{\mathbf{X}}}_{i} = {\mathbf{c}}_{{X_{i} }} \text{(}\upomega_{{X_{1} ,X_{i} }} \underline{{\mathbf{X}}}_{ 1} , \, \ldots ,\upomega_{{X_{k} ,X_{i} }} \underline{{\mathbf{X}}}_{k} \text{)} $$

Most states have the advanced logistic sum function as combination function. For example, for state r Y the equilibrium equation is:

$$ \underline{{\mathbf{r}}}_{Y} \left( t \right) = {\mathbf{alogistic}}_{\sigma ,\tau } \text{(}\upomega_{1Y} \,\underline{{{\mathbf{pe}}}}_{Y} ,\,\upomega_{ 3Y} \,\underline{{{\mathbf{ne}}}}_{Y} ,\,\upomega_{ 5Y} \,\underline{{\mathbf{s}}}_{Y} ,\,\upomega_{{ 8Y,X_{1} }} \,\underline{{{\mathbf{sup}}}}_{{Y,X_{1} \,}} ,\,\,,\,\upomega_{{ 8Y,X_{2} }} \,\underline{{{\mathbf{sup}}}}_{{Y,X_{2} }} \text{)} $$

An exception is state sup Y,X ; in that case the equilibrium equation is

$$ \underline{{{\mathbf{sup}}}}_{Y,X} = { \hbox{min} }(\upomega_{ 6Y,X} \,\underline{{\mathbf{r}}}_{Y} ,\,\upomega_{ 7Y,X} \,\underline{{{\mathbf{oos}}}}_{Y} )\,\upomega_{ 6Y,X} \,\underline{{\mathbf{r}}}_{Y} \,\upomega_{ 10Y,X} \,\underline{{\mathbf{s}}}_{X} /\upomega_{ 7Y,X} \,\underline{{{\mathbf{oos}}}}_{Y} $$

or

$$ \underline{{{\mathbf{sup}}}}_{Y,X} \,\upomega_{ 7Y,X} \,\underline{{{\mathbf{oos}}}}_{Y} = { \hbox{min} }(\upomega_{ 6Y,X} \,\underline{{\mathbf{r}}}_{Y} ,\,\upomega_{ 7Y,X} \,\underline{{{\mathbf{oos}}}}_{Y} )\,\upomega_{ 6Y,X} \,\underline{{\mathbf{r}}}_{Y\,}\upomega_{ 10Y,X} \,\underline{{\mathbf{s}}}_{X} $$

The equilibrium equations cannot be solved in an explicit analytical manner, due to the logistic functions. Therefore the verification approach as sometimes used, by first solving the equations and then comparing the values to values found in simulations does not work here. However, for the purpose of verification of the model, solving the equations is actually not needed. The equations can also be used themselves for verification by just substituting the equilibrium values found in a simulation in them and then checking whether they are fulfilled (and with which accuracy). This indeed has been done and the equations turned out to always hold (with an accuracy < 10−6).

A second manner in which mathematical analysis was performed was by verifying the requirements listed at the start of Sect. 2; in a more exact formulation they are:

  1. (1)

    a person X should be supported by sup Y,X more when there are higher levels of resources r Y available by the others Y

  2. (2)

    the connections in such a social network typically have high weights ω

  3. (3)

    more help sup Y,X should be given to X when more help is needed due to a higher stress level s X

  4. (4)

    more support sup Y,X to a person X should result in a lower stress level s X since we are assuming that Y and X have a strong social tie;

  5. (5)

    individual personal characteristics can be represented by different strengths of connections within persons

  6. (6)

    social network characteristics can be represented by different strengths of connections between persons

Requirement (2) was fulfilled in the considered scenarios. The last two requirements (5) and (6) indeed are fulfilled by the temporal-causal network modelling approach followed. By choosing values for the weights different characteristics of persons and network are obtained. Now consider requirement (1). Given the definition of the combination function \({\bf{c}}_{sup_{Y,X}}\)(…) it holds:

$$ \begin{array}{*{20}l} {{\mathbf{aggimpact}}_{{{ \sup }_{Y,X}}} \left( {\mathbf{t}} \right) = {\mathbf{c}}_{{{ \sup }_{Y,X}}} \text{(}{\mathbf{impact}}_{{{\text{r}}_Y,{ \sup }_{Y,X}}} (t),\,{\mathbf{impact}}_{{{\text{oos}}_Y,{ \sup }_{Y,X}}} (t),{\mathbf{impact}}_{{{\text{s}}_X,{ \sup }_{Y,X}}} (t)\text{)}} \hfill \\ {\quad \quad \quad \quad \quad \quad \quad = { \hbox{min} }\left( {{\mathbf{impact}}_{{{\text{r}}_Y,{ \sup }_{Y,X}}} (t),{\mathbf{impact}}_{{{\text{oos}}_Y,{ \sup }_{Y,X}}} (t)} \right){\mathbf{impact}}_{{{\text{s}}_X,{ \sup }_{Y,X}}} (t) \, /} \hfill \\ {\quad \quad \quad \quad \quad \quad \quad \quad {\mathbf{impact}}_{{{\text{oos}}_Y,{ \sup }_{Y,X}}} (t)\quad \quad \quad\quad\;\;\; {\text{if}}\,{\mathbf{impact}}_{{{\text{oos}}_Y,{ \sup }_{Y,X}}} (t) > 0,{\text{ else }}0} \hfill \\ \end{array} $$

From this formula it follows that when r Y is higher, then \({\bf{impact}}_{{r_Y},sup_{Y,X}}(t)\) is higher and therefore \({\bf{aggimpact}}_{sup_{Y,X}}(t)\) will be higher, which results in a higher level for support sup Y,X . Therefore requirement (1) is fulfilled. In a similar way it has been verified that (3) is fulfilled: from the above formula it follows that when s X is higher, then \({\bf{impact}}_{{s_X},sup_{Y,X}}(t)\) is higher and therefore \({\bf{aggimpact}}_{sup_{Y,X}}(t)\) will be higher, which results in a higher level for support sup Y,X . Finally, for requirement (4) the combination function for s X has to be considered. The weight of the connection from sup Y,X to s X is negative, so for higher sup Y,X (t) the impact

$$ {\mathbf{impact}}_{{ \sup }_{Y,X},{\text{s}}_{X}} (t) =\upomega_{ 9Y,X} { \sup }_{Y,X} (t) $$

is lower (more negative). Now the combination function alogistic σ,τ(..) is monotonic for its arguments, while \({\bf{impact}}_{{s_{Y,X}},s_X}\) is one of its arguments in the formation of \({\bf{aggimpact}}_{s_{x}}(t)\). Therefore \({\bf{aggimpact}}_{s_{x}}(t)\) is lower when sup Y,X is higher, so also requirement (4) is fulfilled. It turns out that the verification outcomes provide evidence that the model does what is expected.

Table 2. Inputs and equilibrium outcomes of the first simulation

3.2 Results of Simulation Experiments

For the simulated scenarios discussed in this section, we assumed that the 3 users involved are very close friends. We did not use real people facing real situations, but we imagine that the events that occurred were announced by them via Facebook posts and all of them could read it through the Facebook timeline. They provided support to each other with conversations by direct messages via the Facebook messenger and, finally, all of them did tell how they were feeling after each conversation session. The proposed model can show a wide variety of possible behavioural outcomes according to different inputs over time. Only two of them are discussed here. In both cases we performed our model from time t = 0 until t = 40 with Δt = 0.02, and for all states speed factor η = 0.5, steepness σ = 5 and threshold τ = 0.15. The first scenario concerns static input from the world and was done for the analysis of equilibria. Table 2 describes the stimuli and the final values for all states for this simulation. Note that, in this case, person A only faces minor stress and substantially more positive events. Because of that A has resources to provide support to the other persons.

Table 3. Inputs and outcomes per phase for the second scenario

Besides that, persons B and C both face relatively high amounts of stressful events, B a bit more than C. That is the reason why B receives more support from A rather than C. Figure 2 shows the evolution of the state values of all persons (A, B and C, respectively) over time. Here the horizontal axis represents time and the vertical axis the state values. By looking at such a chart it is clear that all state values reach an equilibrium: after a sufficiently large amount of time point t the states do not change over time anymore.

The second scenario chosen is much more challenging. For the same time interval and step of the first scenario simulated, the positive and negative events were changed 3 times during the execution (each 500 time steps). These changing environmental conditions starting at time points 0, 10, 20, and 30 are shown in Table 3, together with the resulting state values after each period (see also Fig. 3). In the first period all three can handle the stressful events themselves, so no mutual help is needed. All states get level 0 except the resources that reach level 0.52 at time point 10. In the second period starting at time t = 10 person A starts to provide support to both persons B and C respecting the following condition: supA,B < supA,C. That occurs because C has a higher stress level than B: sB < sC. In the third period, starting at t = 20 the same amounts of positive and negative events occur for all persons, respecting pe X  > ne X . From this moment on, the stress levels of persons B and C start to decrease considerably until their values get close to 0. The same happens with the states supA,X .

Fig. 3.
figure 3

The patterns for the second scenario

The resource levels of persons B and C start to increase as well. Such a behaviour was again expected since, with higher levels of positive events rather than the negative ones, lower stress levels are expected (both s X and oos X ) which leads to less needs for support, so low values for the states sup X,Y can be expected. Finally, at t = 30 the amounts of positive and negative events were changed again. Persons B and C have the same configuration which respects the condition pe X  > ne X . On the other hand, person A encounters a more stressful period: peA < neA. From that moment on, it can be seen that the state sA starts to increase as expected, leading to the growth of the values of the states sup X,A. Note that in all simulations it can be observed that the states sup X,Y always reduce the growth of s Y .

Moreover, note that, due to abrupt changes on the environmental conditions, a given person may give support to another one even though he or she is facing stressful events. This situation occurs because it takes a while until such a negative event consumes all the resources of this person: the person has a buffer for the encountered stress. This indeed can happen in the real world and therefore the computational model should also show such a behaviour.

4 Discussion

A dynamic computational model was presented to simulate a mutual support network with persons that may face stress. In such a context, persons who are connected with each other in a social network can provide support to their friends who are facing stress and receive support as well when it is necessary. It is important to make clear that this process might be seen as different from an emotion contagion process since, in our case, the emotional states values of every individual tends to be different along time if they are receiving different stimuli. According to what was found in the literature, it was assumed that positive and negative events can affect a given person’s stress level, leading to a stressful state of mind. However, receiving support from others, such as friends, is a good help in coping with stress.

The model was designed based on the temporal-causal network modelling approach described in [16]. The mathematical analysis as well as the results from the simulations that were performed showed that the model acts as we expect: the social network members feel the positive and negative effects of encountered events on their stress levels and, additionally, they also are able to provide support to others when it is necessary, leading to a reduction in other’s stress levels.

In the literature not much work can be found on computational models for mutual support networks to handle stress. Some exceptions are [24]. Here [3, 4] have a different scope in that they focus on more complex internal cognitive structures and explicit interactions initiated by requesting actions for support.

However, [3] is more related to the perspective followed here. In this work a global configuration approach for support provision is followed, based on information for the whole network on need for support and possibilities to give support for all members of the network. Based on such an overall picture of all relevant information for the network a configuration of support provision is determined in a sequential manner by a kind of sequential generate and test (and backtrack) method. The approach proposed in the current paper is different in that it works at a more local level, and not in a global manner for the network as a whole. At each point in time each member of the network determines in a dynamic and autonomous manner the support to be provided only for his or her contacts, independent of other nonconnected members. Because this happens in a dynamic manner, the process is emergent and highly adaptive; for example if, for a given member support is provided by more members, this will contribute to effectiveness, and therefore soon the level of support can be adapted.

The presented model can be a basis to develop a human-aware or socially aware software agent application (e.g., [5, 9, 10, 15]) that can provide support in the social interaction, for example, by including a smart social media application helping in monitoring the states of the members of the network, and giving signals when somebody’s stress levels are becoming too high. In other future work the aim is to study more factors that could play some role on this process despite the ones described here. For instance, can different types of connections between persons be incorporated? Additionally, it could be interesting to expand the model to cope with a network containing a significant number of members. Another future challenge is to find out how to collect real data in order to see how the model would act in a real world scenario. It is also important to state that two different individuals could need different amount of support due to the same stressful situation, but we don’t take it into account in our model as a matter of simplification. It could be implemented in a future work as well. Finally, we believe that the simulated scenarios described could be executed using human users facing real stressful events in an extension of this work.