Keywords

1 Introduction

Recently Fuzzy Cognitive Maps (FCM) have been extended to use linguistic 2-tuples values [1, 2]. The use of the linguistic representation model based on linguistic 2-tuple in FCM allows to perform the Computing with Words(CWW) processes without losing information, improving accuracy regarding classical symbolic approaches [3].

Mental models are cognitive structures which are useful for causal knowledge elicitation and analysis that can be represented by means of FCM [1]. Humans have limitations for representing the world; therefore, mental models are uncompleted representations of reality making it necessary the development of collective mental models.

Modelling causality by means of linguistic information in a multi-expert environment can involve problems defined in multiple linguistic scale contexts. The extended hierarchical linguistic model (ELH) [4] allows different experts to have different uncertainty degrees about causal relations making use of several linguistic term sets with a different granularity of uncertainty.

The aim of this article is to deal with causality modelling problems defined in multigranular linguistic frameworks using fuzzy cognitive maps. Our proposal consists of a new approach for dealing with multiple linguistic scales FCM, which is able to handle any linguistic term set in a symbolic way and without losing information using ELH.

This paper is structured as follows: Sect. 2 reviews some important concepts about FCM. Section 3 provides a description of the linguistic representation model based in 2-tuples and ELH model. In Sect. 4, we present a method for modeling fuzzy cognitive maps using ELH. Section 5 shows illustrative examples of the proposed model applied to non-functional software requirements modelling. The paper ends with conclusions and further work recommendations in Sect. 6.

2 Fuzzy Cognitive Maps

Cognitive maps, introduced by Axelrod [5] nodes represent concepts or variables in a domain. Arcs indicate positive or negative causal relations. Cognitive mapping lacks representation of uncertain important factors in complex systems modeling [6].

Fuzzy cognitive maps (FCM) [7] (Fig. 1) are fuzzy graph structures for representing causal knowledge. Fuzzy cognitive maps (FCM) [7] extend cognitive maps with fuzzy values in [−1, 1] to indicate the strength of causal relations, frequently elicited from multiple experts [8, 9]. For k experts, aggregated adjacency matrix (E) can be obtained as follows:

Fig. 1.
figure 1

Example of FCM graphical representation [10].

$$ E = \frac{{(E_{1} + E_{2} + \ldots + E_{k} )}}{k} $$
(1)

Fuzzy logic allows expressing the degree of causality between concepts by means of fuzzy values using linguistic expressions as “very high”, “negatively weak” “positively weak”, etc. In these cases, linguistic information models the knowledge from experts in a flexible way, and involves processes of computing with words (CWW).

FCM have been applied to diverse areas specially decision support and complex system analysis [11]. Further extensions have been developed such as interval fuzzy cognitive maps [12], fuzzy grey cognitive maps [13], intuitionistic fuzzy cognitive maps [14] and linguistic2-tuple fuzzy cognitive map [1].

The matrix representation of FCM allows to make causal inferences. In 2-tuple fuzzy cognitive maps [1] there are three possible types of causal relations between nodes represented in the matrix:

  • \( {\text{W}}_{\text{ij}} < {\text{s}}_{g/2} \), which indicates negative causality between nodes \( {\text{C}}_{\text{i}} \) and \( {\text{C}}_{\text{j}} \). The increase (decrease) in the value of \( {\text{C}}_{\text{i}} \) leads to the decrease (increase) in the value of \( {\text{C}}_{\text{j}} \) (negative causality).

  • \( {\text{W}}_{\text{ij}} > {\text{s}}_{g/2} \), which indicates positive causality between nodes \( {\text{C}}_{\text{i}} \) and \( {\text{C}}_{\text{j}} \). The increase (decrease) in the value of \( {\text{C}}_{\text{i}} \) leads to the increase (decrease) in the value of \( {\text{C}}_{\text{j}} \) (negative causality).

  • \( {\text{W}}_{\text{ij}} = {\text{s}}_{g/2} \), which indicates no relationship between nodes \( {\text{C}}_{\text{i}} \) and \( {\text{C}}_{\text{j}} \) (zero causality).

FCM aggregation makes the development of group causal modelseasier [15]. Experts have different experience or knowledge, so it seems logical that they might use different evaluation scales to express their opinions about causal relations in a FCM.

3 Extended Hierarchical Linguistic Model

The linguistic representation model based on 2-tuples defines a set of transformation functions for linguistic 2-tuple in order to carry out CWW process without loss of information [16]. This model has many advantages for working with linguistic information making it easy the elicitation of preferences and knowledge from experts [17].

Definition 1.

[18] Being \( \upbeta \in [0,{\text{g}}] \) a value that represents the result of a symbolic operation in the interval of granularity of the linguistic term terms set \( s = \{ {\text{s}}_{0} , \ldots ,{\text{s}}_{\text{g}} \} \). The symbolic translation is a numerical value assessed in [−0.5, 0.5) that supports the difference of information between a counting of information β assessed in the interval of granularity [0, g] of the term set S and the closest value in {0,…, g} which indicates the index of the closest linguistic term in S.

The 2-tuple linguistic representation model defines a set of transformation functions between numeric values to facilitate linguistic computational processes.

Definition 2.

[18] The 2-tuple that expresses the equivalent information to β is obtained with the function \( \Delta :\left[ {0,{\text{g}}} \right] \to {\text{S}} \times \left[ { - 0.5, 0.5} \right) \) given by,

$$ \Delta \left(\upbeta \right) = \left( {{\text{s}}_{\text{i}} , \propto } \right), {\text{with}}\left\{ {\begin{array}{*{20}c} {{\text{s}}_{\text{i}}, {\rm i} = \text{round}\left(\upbeta \right)} \\ { \propto =\upbeta - {\rm i}, } \\ \end{array} } \right. $$
(2)

where round is the usual rounding operation, i is index of the closed label, \( {\text{s}}_{\text{i}} \), to β, and ∝ is the value of the symbolic translation.

We note that ∆ function is bijective [18] and \( \Delta^{ - 1} :\left[ {0,{\text{g}}} \right] \to {\text{S}} \times [ - 0.5, 0.5) \) is defined by:

$$ \Delta^{ - 1} \left( {{\text{s}}_{\text{i}} , \propto } \right) = {\text{i}} + \propto $$
(3)

Then the 2-tuples of S × [−0.5, 0.5) will be identified with numerical values in the interval [0, g].

In the proposal of 2-tuple fuzzy cognitive maps [1] the transformation of the 2-tuple value to the numerical equivalent value in the [−1,1] interval is developed as follows:

$$ \gamma : \left[ {0,g} \right] \to \left[ { - 1,1} \right] $$
$$ \gamma \left(\upbeta \right): = \frac{{2\upbeta}}{g - 1} - 1 $$
(4)

where \( g \) is the granularity of the linguistic term setS. This function makes it possible to develop the traditional inference process on FCM.

The ELH framework proposes a new way of building linguistic hierarchies (Fig. 2) and a novel unification process. To deal with any scale in the multigranular linguistic framework, extended hierarchical rules were proposed [19]:

Fig. 2.
figure 2

A linguistic hierarchy of 7 and 13 labels [4].

  • Rule 1: to construct an ELH, it should include a finite number of the levels, l(t, n(t)), with t = 1,…, m that defines the multigranular linguistic framework required by the experts to express their knowledge. It is not necessary to keep the former modal points among each other, it might be one.

  • Rule 2: to obtain an ELH, a new level \( l(t^{*} , n(t^{*} )) \) with \( t^{*} = m + 1 \) should be added to keep all the former modal points of all the previous levels l(t, n(t)), t = 1,…, m within this new level.

An ELH is a union of the m levels required by experts and the new \( {\text{l}}({\text{t}}^{ *} , {\text{n(t}}^{ *} )) \) that keeps all the previous modal points providing accuracy in the process of CWW.

$$ ELH = \mathop {\bigcup }\limits_{t = 1}^{t = m + 1} l(t,n\left( t \right)) $$
(5)

Values in level t can be expressed in any linguistic term set in \( {\text{t}}^{ '} \) level of the ELH by using the correspondent transformation function [19]:

$$ TF_{{t^{ '} }}^{t} \left( {s_{i}^{n(t) } , \propto^{n(t)} } \right) = \Delta^{ - 1} \left( {\frac{{\Delta \left( {s_{i}^{n(t) } , \propto^{n(t)} } \right) \cdot (n\left( {t^{ '} } \right) - 1)}}{n\left( t \right) - 1}} \right) $$
(6)

The transformations between levels of a linguistic hierarchy are carried out without loss of information.

4 Using the Extended Hierarchical Linguistic in Fuzzy Cognitive Maps

Our aim is to develop a framework for modeling causality based on the extended hierarchical linguistic model and fuzzy cognitive maps. The model consists of the following phases (graphically, Fig. 3).

Fig. 3.
figure 3

A framework for using the extended hierarchical linguistic in fuzzy cognitive maps.

4.1 Initial Preparation

First, experts representing different points of view in the system to mode are selected allowing multi-expert causality modelling using linguistic 2-tuples values. Then, linguistic hierarchy (LH) is constructed. The multigranular linguistic frameworks offered by LH must satisfy several rules shown in [17]. Additionally, the limits of the system to be modelled are set and the nodes are selected.

4.2 Identify Individual Relationships Between NFR

For each expert his/her mental model is elicited using the linguistic term set previously chosen for expressing causality. The weight of the relation from node \( {\text{N}}_{\text{i}} \) to node \( {\text{N}}_{\text{j}} \) given by expert k is elicited by means of the 2-tuple linguistic model as follows:

$$ w_{ij}^{k} = (s_{u} , \alpha )_{ij}^{k} $$
(7)

Experts use different linguistic scales to express causal relations according to their knowledge.

4.3 Unification of the Information

The unification process is based on the transformation function \( {\text{TF}}_{{{\text{t}}^{ '} }}^{\text{t}} \) (4). By means of this function, we can develop a transformation function between any pair of term sets in the ELH.

4.4 Aggregation of the Information

The final aim is to obtain a collective FCM according to all experts. To do so, this process will aggregate all the experts’ collective assessment using a linguistic 2-tuple aggregation operator. Some examples of this kind of operators are shown in [18].

Different aggregation operators can be used according to the needs, but to simplify the computation process we consider that all the experts have the same importance, so we use the-tuples arithmetic means to aggregate the FCM.

Let \( x = \left\{ {\left( {s_{1} , \propto_{1} } \right), \ldots \left( {s_{n} , \propto_{n} } \right)} \right\} \) be a set of 2-tuples, the 2-tuples arithmetic means \( \bar{x}^{e} \) is computed as [3]:

$$ \bar{x}^{e} = \Delta \left( {\sum\nolimits_{i = 1}^{n} {\frac{1}{n}\Delta^{ - 1} \left( {s_{i} , \propto_{i} } \right)} } \right) = \Delta \left( {\frac{1}{n}\sum\nolimits_{i = 1}^{n} {\upbeta_{i} } } \right) $$
(8)

The arithmetic mean for 2-tuples allows computing the mean of linguistic values without loss of information.

5 Illustrative Example

Software engineers are involved in complex decisions that require multiple points of view. One frequent reason that causes low quality software is associated to problems related to identifying and analyzing requirements [20]. Nonfunctional requirements (NFR) also known as nonfunctional-concerns [20] refer to global properties and usually to quality of functional requirements. It is generally recognized that NFR are an important and difficult part of the requirement engineering process; that they play a key role in software quality, and that is considered a critical problem [21].

Nonfunctional requirements are difficult to evaluate particularly because they are subjective, relative and interdependent [22]. In order to analyze NFR, uncertainty arises, making it desirable to compute with qualitative information. In software development projects analysts must identify and specify relationships between NFR. Current approaches differentiate three types of relationships: negative (−), positive (+) or null (no contribution). The opportunity to evaluate NFR depends on the type of these relationships. When two NFR which contribute positively or negatively to each other are composed, then one NFR will influence positively or negatively the correct working of the other [23].

Softgoal Interdependency Graphs is a technique used for modeling non-functional requirements and interdependencies between them but the types of contributions are only modeled using a limited scale [24]. Bendjenna [23] proposed the use of fuzzy cognitive maps (FCM) relationships between NFCs and the weight of these relationships expressed with fuzzy weights in the range 0 to 1. This model lacks additional techniques for analyzing the resulting FCM.

Interrelations among NFR are difficult to be assessed in a quantitative form. In that case, a better approach may be the use of linguistic assessments instead of numerical values. In this work we proposed a to model interdependencies in NFR using FCM, computing with words (CWW) and the extended hierarchical linguistic model (ELH) based on the proposal developed in this paper.

The granularity for each linguistic term set of the LH was defined based on linguistic hierarchy basic rules [25]. The first scale of linguistic term sets with cardinality 5 is used to provide causal relations (Table 1).

Table 1. Linguistic term set (\( \varvec{S}^{5} \))

Additionally a linguistic term sets with cardinality 7 is used to provide causal relations in the second scale (Table 2).

Table 2. Linguistic term set (\( \varvec{s}^{7} \))

l(1,5), l(2,7) and a third level (Fig. 3) l(3,n(3)) l(3) = LCM(4,6) + 1 = 13 is defined, where LCM is the least common multiple [19] (Fig. 4). LCM was used in order to make the use and construction of an ELH simple rand minimize the granularity of the third level.

Fig. 4.
figure 4

An ELH of 5, 7, 13 labels.

The five non-functional concerns \( {\text{R}} = (\text{r}_{1} , \ldots ,{\text{r}}_{5} ) \) are shown in Table 3.

Table 3. Non-functional requirements

The experts provide the following linguistic causal relations:

$$ W^{1} = \left( {\begin{array}{*{20}c} {s_{2}^{5} } & {s_{2}^{5} } & {s_{2}^{5} } & {s_{4}^{5} } & {s_{2}^{5} } \\ {s_{4}^{5} } & {s_{2}^{5} } & {s_{2}^{5} } & {s_{2}^{5} } & {s_{2}^{5} } \\ {s_{4}^{5} } & {s_{2}^{5} } & {s_{2}^{5} } & {s_{2}^{5} } & {s_{2}^{5} } \\ {s_{2}^{5} } & {s_{2}^{5} } & {s_{2}^{5} } & {s_{2}^{5} } & {s_{2}^{5} } \\ {s_{2}^{5} } & {s_{2}^{5} } & {s_{2}^{5} } & {s_{1}^{5} } & {s_{2}^{5} } \\ \end{array} } \right) $$
$$ W^{2} = \left( {\begin{array}{*{20}c} {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{5}^{7} } & {s_{3}^{7} } \\ {s_{6}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } \\ {s_{6}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } \\ {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } \\ {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{1}^{7} } & {s_{3}^{7} } \\ \end{array} } \right) $$
$$ W^{3} = \left( {\begin{array}{*{20}c} {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } \\ {s_{6}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{6}^{7} } & {s_{3}^{7} } \\ {s_{5}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } \\ {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } \\ {s_{3}^{7} } & {s_{3}^{7} } & {s_{3}^{7} } & {s_{0}^{7} } & {s_{3}^{7} } \\ \end{array} } \right) $$

The experts’ information is transformed into linguistic 2-tuples in the level t = 3 by means of the transformation functions, \( {\text{TF}}_{3}^{1} \) and \( {\text{TF}}_{3}^{2} \). The results of this transformation are shown:

$$ W^{1} = \left( {\begin{array}{*{20}c} {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{12}^{13} } & {s_{6}^{13} } \\ {s_{12}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } \\ {s_{12}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } \\ {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } \\ {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{3}^{13} } & {s_{6}^{13} } \\ \end{array} } \right) $$
$$ W^{2} = \left( {\begin{array}{*{20}c} {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{10}^{13} } & {s_{6}^{13} } \\ {s_{12}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } \\ {s_{12}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } \\ {s_{12}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } \\ {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{2}^{13} } & {s_{6}^{13} } \\ \end{array} } \right) $$
$$ W^{3} = \left( {\begin{array}{*{20}c} {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{10}^{13} } & {s_{6}^{13} } \\ {s_{12}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } \\ {s_{10}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } \\ {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } \\ {s_{6}^{13} } & {s_{6}^{13} } & {s_{6}^{13} } & {s_{0}^{13} } & {s_{6}^{13} } \\ \end{array} } \right) $$

The information is aggregated applying the linguistic 2-tuple arithmetic mean operator (6) [18].

$$ W^{13} = \left( {\begin{array}{*{20}c} {(s_{6}^{13} ,0)} & {(s_{6}^{13} ,0)} & {(s_{6}^{13} ,0)} & {(s_{11}^{13} , - 0.333)} & {(s_{6}^{13} ,0)} \\ {(s_{12}^{13} ,0)} & {(s_{6}^{13} ,0)} & {(s_{6}^{13} ,0)} & {(s_{6}^{13} ,0)} & {(s_{6}^{13} ,0)} \\ {(s_{11}^{13} , - 0.333)} & {(s_{6}^{13} ,0)} & {(s_{6}^{13} ,0)} & {(s_{6}^{13} ,0)} & {(s_{6}^{13} ,0)} \\ {(s_{6}^{13} ,0)} & {(s_{6}^{13} ,0)} & {(s_{6}^{13} ,0)} & {(s_{6}^{13} ,0)} & {(s_{6}^{13} ,0)} \\ {(s_{6}^{13} ,0)} & {(s_{6}^{13} ,0)} & {(s_{6}^{13} ,0)} & {(s_{2}^{13} , - 0.333)} & {(s_{6}^{13} ,0)} \\ \end{array} } \right) $$

The collective FCM in \( {\text{s}}^{5} \) is shown.

$$ W^{5} = \left( {\begin{array}{*{20}c} {(s_{2}^{5} ,0)} & {(s_{2}^{5} ,0)} & {(s_{2}^{5} ,0)} & {\left( {s_{4}^{5} , - 0.444} \right)} & {(s_{2}^{5} ,0)} \\ {(s_{4}^{5} ,0)} & {(s_{2}^{5} ,0)} & {(s_{2}^{5} ,0)} & {(s_{2}^{5} ,0)} & {(s_{2}^{5} ,0)} \\ {\left( {s_{4}^{5} , - 0.444} \right)} & {(s_{2}^{5} ,0)} & {(s_{2}^{5} ,0)} & {(s_{2}^{5} ,0)} & {(s_{2}^{5} ,0)} \\ {(s_{2}^{5} ,0)} & {(s_{2}^{5} ,0)} & {(s_{2}^{5} ,0)} & {(s_{2}^{5} ,0)} & {(s_{2}^{5} ,0)} \\ {(s_{2}^{5} ,0)} & {(s_{2}^{5} ,0)} & {(s_{2}^{5} ,0)} & {\left( {s_{1}^{5} , - 0.444} \right)} & {(s_{2}^{5} ,0)} \\ \end{array} } \right) $$

Figure 5 shows the collective FCM in \( {\text{s}}^{7} \).

Fig. 5.
figure 5

Final FCM in \( \text{s}^{7} \).

The experts found that FCM in conjunction with ELH offers great flexibility for representing causality. The interpretability of the 2-tuple linguistic representation model is another strength. Additionally, the resulting collective mental model can be useful for future decision support and knowledge management in software engineering. Software developer can use this FCM to increase the competitiveness and to improve the product quality through scenario and static analysis with high degree of interpretability.

The proposed model provides the flexibility for dealing with mental models elicitation with FCM defined in multiple linguistic scale contexts. Additionally, the computations of the proposed approach n are quick and simple.

6 Conclusions

FCM are useful for eliciting causal relations for multiple experts, this can involve problems defined in multiple linguistic scales contexts. This paper proposes a new framework for modelling FCM, using CWW and the ELH. The linguistic 2-tuples representation model is used to develop CWW process.

The inclusion of ELH in this model makes it possible to represent causal relation by means of linguistic information where experts use different linguistic scales to express causal relations. Building a 2-tuple fuzzy cognitive map using ELH follows amore similar approach to human mental models representation. An illustrative example applied to NFR modelling was presented showing the applicability of the proposal.

Further work will concentrate on three objectives:

  • Developing a consensus model using ELH including automatic search mechanisms for conflict areas and recommendations generation to the experts to bring their mental models closer.

  • Developing an expert system based on 2-tuple fuzzy cognitive maps for reasoning about interrelations among NFR.

  • Developing new forms of inference 2-tuple fuzzy cognitive maps based on 2-tuple aggregation operators.