# Probabilistic Hesitant Fuzzy Methods for Prioritizing Distributed Stream Processing Frameworks for IoT Applications

Authors: Zhimin Lin; Chao Huang; Mingwei Lin
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

Distributed stream processing frameworks (DSPFs) are the vital engine, which can handle real-time data processing and analytics for IoT applications. How to prioritize DSPFs and select the most suitable one for special IoT applications is an open issue. To help developers of IoT applications to solve this complex issue, a novel probabilistic hesitant fuzzy multicriteria decision making (MCDM) model is put forward in this paper. To characterize the requirements for large-scale IoT data stream processing, a novel evaluation criteria system including qualitative and quantitative criteria is established. To accurately model the collective opinions from skilled developers and consider their psychological distance, the definition of probabilistic hesitant fuzzy sets (PHFSs) is used. To derive the importance degrees of criteria, a novel probabilistic hesitant fuzzy best-worst (PHFBW) method is proposed based on the score value. To prioritize the DSPFs and choose the most suitable one, a novel probabilistic hesitant fuzzy MULTIMOORA method is put forward. Finally, a practical case composed of four Apache stream processing frameworks, namely, Storm, Flink, Spark, and Samza, is studied. The obtained results indicate that throughput, latency, and reliability are considered to be the three most important criteria, and Flink is the most suitable stream framework.


---

## Body

## 1. Introduction

Internet of things (IoT) technology [1] is a new computing paradigm, which uses a large number of physical things for continuously monitoring and collecting data from surrounding objects, transmitting the collected data over the network, and feeding the collected data into backend servers. These physical things may be smartphones, wearable devices, tablets, sensors, and cameras. It has been widely used in various domains, such as transportation, health care, logistics, and agriculture [2]. In the IoT applications, millions of IoT devices are deployed and they continuously output large amounts of data [3], which are valuable for the enterprises to make reasonable business decisions in realtime [4]. However, how to process and analyze the IoT stream data are a big challenge for enterprises since traditional batch processing architecture cannot process large amounts of data in realtime. Even worse, data are produced continuously at a high speed [5].The distributed stream processing frameworks (DSPFs) [6] are the practicable technique solution, which can be used to fulfil such large-scale data processing and analytics for IoT applications in realtime [7, 8]. The DSPFs have become a vital component of each IoT solution stack [9]. There are so many kinds of DSPFs that it is difficult for enterprises to choose the most suitable one since the DSPFs have different features [10] and enterprises have conflicting requirements for creating their IoT applications. The wrong choice may lead to failures in developing IoT applications. Thus, how to evaluate the DSPFs and choose the most suitable one is a critical step for creating IoT applications [11]. Up to now, there are no research studies focusing on how to evaluate DSPFs and select the most suitable one to support the requirements for large-scale IoT data stream processing.In this paper, we plan to formulate the process of evaluating DSPFs and choosing the most suitable one to be a multicriteria decision making (MCDM) problem since some DSPFs should be evaluated with respect to their criteria. To the best of our knowledge, it is the first study that focuses on addressing this problem. The contributions of our study are summarized as follows:(1)
To characterize multiple requirements for large-scale IoT data stream processing, a hybrid evaluation criteria system composed of qualitative and quantitative criteria is established for DSPFs.(2)
To accurately model collective opinions from a group of experienced professionals in the technical committee and also consider the psychological distance among linguistic terms, the concept of probabilistic hesitant fuzzy sets (PHFSs) is introduced.(3)
A novel probabilistic hesitant fuzzy best-worst (PHFBW) method is put forward for computing the weights of criteria. Afterward, the importance of degrees of criteria are analyzed.(4)
To prioritize the DSPFs, we put forward a novel probabilistic hesitant fuzzy MULTIMOORA method to derive the ranking values and ranking orders of the DSPFs by using three subsystems and then propose an extended Borda method to fuse the ranking values and ranking orders.This study can help the enterprise to make correct decisions according to the requirements for large-scale IoT data stream processing. It is easy to extend this study for solving the other decision-making problems in the organization management. In this paper, the following contents are organized as follows:In Section2, the research results of DSPFs and information representation in the MCDM problem are briefly given. Four DSPFs and some basic knowledge about probabilistic hesitant fuzzy sets are provided in Section 3. In Section 4, a hybrid evaluation criteria system composed of qualitative criteria and quantitative criteria is established. Then, we propose a novel probabilistic hesitant fuzzy best-worst method for deriving the importance degrees of criteria and a new probabilistic hesitant fuzzy MULTIMOORA method to determine the ranking order of four DSPFs. The numerical analysis is used to show the implementation processes of the probabilistic hesitant fuzzy MCDM model in Section 5. Finally, Section 6 presents some valuable conclusions.


## 2. Literature Review

In this section, the research studies focusing on DSPFs and information representation in the decision-making process are briefly reviewed.


### 2.1. Review on Streaming Frameworks

There are many research results on DSPFs. Various DSPFs have been proposed for special purposes, such as multimedia streaming framework [12], P2P live framework [13], and fraud detection framework [14]. To process genomics data in a fast and efficient way, a novel sequence aligner was implemented on Apache Spark [15]. The multiquery component of Apache Flink was optimized for big data [16]. An efficient tool was put forward by Espinosa et al. [17] for testing the functions of Apache Flink. Researchers also used the streaming frameworks for the health status predictions [18], congestion prediction [19], and precise medicine [20]. To the best of our knowledge, there are no research studies focusing on evaluating DSPFs for large-scale IoT data stream processing.


### 2.2. Information Representation

In the early stage of the decision-making evolution, crisp values are usually adopted by human beings to express their opinions [21]. Due to the uncertainty in human beings’ complicated activities, fuzzy sets [22] were proposed for describing uncertain information or vague information. To further highlight human beings’ hesitant attitudes, the concept of hesitant fuzzy sets (HFSs) [23] was proposed so that several possible fuzzy values from the interval [0 and 1] can be used to express the quantitative hesitant information or group preference information. Nevertheless, the HFSs may distort the original opinions when they are used to model the group preference information since they do not have the ability to contain the probability information of each fuzzy value. To solve this defect, the probabilistic HFSs (PHFSs) [24, 25] were developed to accurately model the group preference information without losing probability information [26–48].In some cases, human beings prefer to use the qualitative tools for expressing their opinions. For example, human beings may use the linguistic terms “high” or “low” when evaluating the maturity of streaming frameworks. The fuzzy linguistic method was put forward in [49] to portray these linguistic terms. Although there are some extensions of the fuzzy linguistic method, such as linguistic 2-tuple concepts [50] and virtual linguistic term model [51], they still have the limitation that they cannot contain several linguistic terms simultaneously. Motivated by HFSs, two qualitative tools: hesitant fuzzy linguistic term sets (HFLTSs) [52] and extended HFLTSs [53] were proposed for expressing the qualitative hesitant information of individuals [54] or the group preference information from a group of skilled experts. Similar to the HFSs, HFLTSs and extended HFLTSs also cannot contain the probability information of each linguistic term. Hence, the idea of probabilistic linguistic term sets (PLTSs) [55] was implemented to associate each linguistic term with probability information. Because of the strong capability of expressing the group preference information in the qualitative context, PLTSs have been applied into various fields, such as edge computing [56] and evaluation of hospitals [57].


## 2.1. Review on Streaming Frameworks

There are many research results on DSPFs. Various DSPFs have been proposed for special purposes, such as multimedia streaming framework [12], P2P live framework [13], and fraud detection framework [14]. To process genomics data in a fast and efficient way, a novel sequence aligner was implemented on Apache Spark [15]. The multiquery component of Apache Flink was optimized for big data [16]. An efficient tool was put forward by Espinosa et al. [17] for testing the functions of Apache Flink. Researchers also used the streaming frameworks for the health status predictions [18], congestion prediction [19], and precise medicine [20]. To the best of our knowledge, there are no research studies focusing on evaluating DSPFs for large-scale IoT data stream processing.


## 2.2. Information Representation

In the early stage of the decision-making evolution, crisp values are usually adopted by human beings to express their opinions [21]. Due to the uncertainty in human beings’ complicated activities, fuzzy sets [22] were proposed for describing uncertain information or vague information. To further highlight human beings’ hesitant attitudes, the concept of hesitant fuzzy sets (HFSs) [23] was proposed so that several possible fuzzy values from the interval [0 and 1] can be used to express the quantitative hesitant information or group preference information. Nevertheless, the HFSs may distort the original opinions when they are used to model the group preference information since they do not have the ability to contain the probability information of each fuzzy value. To solve this defect, the probabilistic HFSs (PHFSs) [24, 25] were developed to accurately model the group preference information without losing probability information [26–48].In some cases, human beings prefer to use the qualitative tools for expressing their opinions. For example, human beings may use the linguistic terms “high” or “low” when evaluating the maturity of streaming frameworks. The fuzzy linguistic method was put forward in [49] to portray these linguistic terms. Although there are some extensions of the fuzzy linguistic method, such as linguistic 2-tuple concepts [50] and virtual linguistic term model [51], they still have the limitation that they cannot contain several linguistic terms simultaneously. Motivated by HFSs, two qualitative tools: hesitant fuzzy linguistic term sets (HFLTSs) [52] and extended HFLTSs [53] were proposed for expressing the qualitative hesitant information of individuals [54] or the group preference information from a group of skilled experts. Similar to the HFSs, HFLTSs and extended HFLTSs also cannot contain the probability information of each linguistic term. Hence, the idea of probabilistic linguistic term sets (PLTSs) [55] was implemented to associate each linguistic term with probability information. Because of the strong capability of expressing the group preference information in the qualitative context, PLTSs have been applied into various fields, such as edge computing [56] and evaluation of hospitals [57].


## 3. Preliminaries

In this section, the introductions of the DSPFs are given, and then, the knowledge on probabilistic hesitant fuzzy sets is given.


### 3.1. Introductions of Four DSPFs

There are many well-known DSPFs that have the ability to perform the IoT data stream processing. After screening DSPFs, the enterprise chooses to evaluate four DSPFs of Apache for the large-scale IoT data stream processing according to its requirements. The four Apache streaming frameworks are introduced as follows:


#### 3.1.1. Apache Storm

Storm is a well-known streaming framework [58], which is equipped with various queueing and database technologies and can be also compatible with any programming language. It can handle streaming events at a high speed. The benchmarking results show that Storm has the ability to process the streaming events at more than 1,000,000 events per second per node. It also has a flexible topology that allows streaming events to be processed in any way and repartitioned from node to node in any way.


#### 3.1.2. Apache Flink

Flink [59] can not only process the collected data in batches but also provide the way of event streaming processing. It can be deployed on all the mainstream cluster platforms, and it also has the ability to process streaming events at in-memory speed and at an arbitrary scale. When it is configured for the purpose of high availability, Flink has the ability to scale to thousands of cores and trillions of events per day, while still keeping low latency and high throughput.


#### 3.1.3. Apache Spark

Spark [60] is a scalable streaming framework that supports the functions of high-throughput and fault-tolerant processing. The processed streaming data in Spark can be collected from various sources, processed, and fed into file systems, databases, and live dashboards. Different from other frameworks, it processes data in microbatches, not the event streaming way. Since it can process data in extremely small batches, these extremely small batches can be solved in rapid succession, closely approximate to the real-time requirement of event streaming. Moreover, it is broadly applied in the industrial environments. Hence, in this paper, it is compared with the native streaming frameworks.


#### 3.1.4. Apache Samza

Samza [61] is equipped with a scalable and high-performance storage scheme, which allows organizations to execute stateful streaming applications. Hence, stateful streaming processing is a core function of Samza. This excellent feature makes Samza smoothly execute extremely complicated streaming jobs. It can migrate jobs from one node to another without influencing the overall performance.


### 3.2. Knowledge on PLTSs and PHFSs

The linguistic term set [62], abbreviated to LTS, is the data source of PLTSs. It consists of several ordered linguistic terms that mathematically represent the natural language such as “high” and “good”. It is defined as S=sρ|ρ=−l,…,0,…,l. When the maturity of a streaming framework is evaluated, we can use the following LTS: S=s−2=very low,s−1=low,s0=Neutral,s1=high,ands2=very high.Definition 1 (See [55]).
LetS be an LTS, then the PLTS can be mathematically defined as(1)H=Lα,pα|Lα∈S;∑α=1Hpα≤1;0≤pα≤1,where Lα is a linguistic term from S and pα is its probability information, H denotes the number of elements within the set of H.Definition 2 (See [24]).
The PHFS is mathematically defined as(2)F=fα,pα|fα∈0,1;∑α=1Fpα≤1;0≤pα≤1,where fα denotes the αth fuzzy value from the unit interval and F is the number of elements within the set of F.
In the qualitative linguistic context, there exist two methods for calculating linguistic terms: (1) the semantic method mapping linguistic terms into fuzzy values by considering psychological distances between linguistic terms; (2) the symbolic method using the subscripts of linguistic terms directly [54]. Therefore, using the semantic method, PLTSs can be transformed into PHFSs.
If the psychological distances between any two consecutive linguistic terms are equal, then the PLTSs can be transformed using the following definition:Definition 3.
LetS=sρ|ρ=−l,…,0,…,l be an LTS and H=Lα,pα|Lα∈S denote any PLTS, then the PLTS is transformed into the PHFS F=gLα,pα|α=1,2,…,H using the following function:(3)g:−l,l⟶0,1,gLα=SubLα2l+12,where H denotes the number of elements within the set of H and SubLα is the subscript of linguistic term Lα.Definition 4 (See [24]).
LetF=fα,pα|α=1,2,…,F denote a PHFS, then SF=∑α=1Ffαpα is defined to be the score value of this PHFS.
It is difficult to compute various measures between PHFSs when they have different numbers of elements. Therefore, they should be normalized using the following definition:Definition 5.
Suppose thatF1=fα1,pα1|α=1,2,…,F1 and F2=fα2,pα2|α=1,2,…,F2 are PHFSs with F1>F2, then F1−F2 elements should be added into the PHFS F2 and the added elements are the minimum fuzzy value in the PHFS F2 and associated with the probability of zero. At the same time, the elements within the PHFSs are rearranged according to the descending order of the values of fα1pα1 and fα2pα2.Definition 6.
Suppose thatF1=fα1,pα1|α=1,2,…,F1 and F2=fα2,pα2|α=1,2,…,F2 are PHFSs with F1=F2, then the distance between these two PHFSs is computed as(4)dF1,F2=∑α=1F1fα1pα1−fα2pα22F1,where F1 and F2 are the numbers of elements in F1 and F2.


## 3.1. Introductions of Four DSPFs

There are many well-known DSPFs that have the ability to perform the IoT data stream processing. After screening DSPFs, the enterprise chooses to evaluate four DSPFs of Apache for the large-scale IoT data stream processing according to its requirements. The four Apache streaming frameworks are introduced as follows:


### 3.1.1. Apache Storm

Storm is a well-known streaming framework [58], which is equipped with various queueing and database technologies and can be also compatible with any programming language. It can handle streaming events at a high speed. The benchmarking results show that Storm has the ability to process the streaming events at more than 1,000,000 events per second per node. It also has a flexible topology that allows streaming events to be processed in any way and repartitioned from node to node in any way.


### 3.1.2. Apache Flink

Flink [59] can not only process the collected data in batches but also provide the way of event streaming processing. It can be deployed on all the mainstream cluster platforms, and it also has the ability to process streaming events at in-memory speed and at an arbitrary scale. When it is configured for the purpose of high availability, Flink has the ability to scale to thousands of cores and trillions of events per day, while still keeping low latency and high throughput.


### 3.1.3. Apache Spark

Spark [60] is a scalable streaming framework that supports the functions of high-throughput and fault-tolerant processing. The processed streaming data in Spark can be collected from various sources, processed, and fed into file systems, databases, and live dashboards. Different from other frameworks, it processes data in microbatches, not the event streaming way. Since it can process data in extremely small batches, these extremely small batches can be solved in rapid succession, closely approximate to the real-time requirement of event streaming. Moreover, it is broadly applied in the industrial environments. Hence, in this paper, it is compared with the native streaming frameworks.


### 3.1.4. Apache Samza

Samza [61] is equipped with a scalable and high-performance storage scheme, which allows organizations to execute stateful streaming applications. Hence, stateful streaming processing is a core function of Samza. This excellent feature makes Samza smoothly execute extremely complicated streaming jobs. It can migrate jobs from one node to another without influencing the overall performance.


## 3.1.1. Apache Storm

Storm is a well-known streaming framework [58], which is equipped with various queueing and database technologies and can be also compatible with any programming language. It can handle streaming events at a high speed. The benchmarking results show that Storm has the ability to process the streaming events at more than 1,000,000 events per second per node. It also has a flexible topology that allows streaming events to be processed in any way and repartitioned from node to node in any way.


## 3.1.2. Apache Flink

Flink [59] can not only process the collected data in batches but also provide the way of event streaming processing. It can be deployed on all the mainstream cluster platforms, and it also has the ability to process streaming events at in-memory speed and at an arbitrary scale. When it is configured for the purpose of high availability, Flink has the ability to scale to thousands of cores and trillions of events per day, while still keeping low latency and high throughput.


## 3.1.3. Apache Spark

Spark [60] is a scalable streaming framework that supports the functions of high-throughput and fault-tolerant processing. The processed streaming data in Spark can be collected from various sources, processed, and fed into file systems, databases, and live dashboards. Different from other frameworks, it processes data in microbatches, not the event streaming way. Since it can process data in extremely small batches, these extremely small batches can be solved in rapid succession, closely approximate to the real-time requirement of event streaming. Moreover, it is broadly applied in the industrial environments. Hence, in this paper, it is compared with the native streaming frameworks.


## 3.1.4. Apache Samza

Samza [61] is equipped with a scalable and high-performance storage scheme, which allows organizations to execute stateful streaming applications. Hence, stateful streaming processing is a core function of Samza. This excellent feature makes Samza smoothly execute extremely complicated streaming jobs. It can migrate jobs from one node to another without influencing the overall performance.


## 3.2. Knowledge on PLTSs and PHFSs

The linguistic term set [62], abbreviated to LTS, is the data source of PLTSs. It consists of several ordered linguistic terms that mathematically represent the natural language such as “high” and “good”. It is defined as S=sρ|ρ=−l,…,0,…,l. When the maturity of a streaming framework is evaluated, we can use the following LTS: S=s−2=very low,s−1=low,s0=Neutral,s1=high,ands2=very high.Definition 1 (See [55]).
LetS be an LTS, then the PLTS can be mathematically defined as(1)H=Lα,pα|Lα∈S;∑α=1Hpα≤1;0≤pα≤1,where Lα is a linguistic term from S and pα is its probability information, H denotes the number of elements within the set of H.Definition 2 (See [24]).
The PHFS is mathematically defined as(2)F=fα,pα|fα∈0,1;∑α=1Fpα≤1;0≤pα≤1,where fα denotes the αth fuzzy value from the unit interval and F is the number of elements within the set of F.
In the qualitative linguistic context, there exist two methods for calculating linguistic terms: (1) the semantic method mapping linguistic terms into fuzzy values by considering psychological distances between linguistic terms; (2) the symbolic method using the subscripts of linguistic terms directly [54]. Therefore, using the semantic method, PLTSs can be transformed into PHFSs.
If the psychological distances between any two consecutive linguistic terms are equal, then the PLTSs can be transformed using the following definition:Definition 3.
LetS=sρ|ρ=−l,…,0,…,l be an LTS and H=Lα,pα|Lα∈S denote any PLTS, then the PLTS is transformed into the PHFS F=gLα,pα|α=1,2,…,H using the following function:(3)g:−l,l⟶0,1,gLα=SubLα2l+12,where H denotes the number of elements within the set of H and SubLα is the subscript of linguistic term Lα.Definition 4 (See [24]).
LetF=fα,pα|α=1,2,…,F denote a PHFS, then SF=∑α=1Ffαpα is defined to be the score value of this PHFS.
It is difficult to compute various measures between PHFSs when they have different numbers of elements. Therefore, they should be normalized using the following definition:Definition 5.
Suppose thatF1=fα1,pα1|α=1,2,…,F1 and F2=fα2,pα2|α=1,2,…,F2 are PHFSs with F1>F2, then F1−F2 elements should be added into the PHFS F2 and the added elements are the minimum fuzzy value in the PHFS F2 and associated with the probability of zero. At the same time, the elements within the PHFSs are rearranged according to the descending order of the values of fα1pα1 and fα2pα2.Definition 6.
Suppose thatF1=fα1,pα1|α=1,2,…,F1 and F2=fα2,pα2|α=1,2,…,F2 are PHFSs with F1=F2, then the distance between these two PHFSs is computed as(4)dF1,F2=∑α=1F1fα1pα1−fα2pα22F1,where F1 and F2 are the numbers of elements in F1 and F2.


## 4. Methodology

In this section, an evaluation criteria system is put forward according to the requirements for supporting large-scale IoT data stream processing, and a novel probabilistic hesitant fuzzy best-worst method is proposed to determine the importance degrees of criteria. Finally, to select the most suitable one from four DSPFs, we put forward a novel probabilistic hesitant fuzzy MULTIMOORA method.


### 4.1. Evaluation Criteria Set

To comprehensively characterize the requirements for large-scale IoT data stream processing, we need to establish a hybrid evaluation criteria system as shown in Figure1.Figure 1
Evaluating four streaming frameworks according to the evaluation criteria system.It can be seen that this evaluation criteria system consists of four qualitative criteria and three quantitative criteria. We give a description of these seven criteria as follows:


#### 4.1.1. Maintainability

The criterion maintainability measures the ease with which the DSPFs can be changed so that they can be compatible with the existing IT systems of enterprises and adapt to the change of the existing IT systems.


#### 4.1.2. Developer Friendliness

The developer friendliness measures the ease for developers to deploy the DSPFs and program so as to perform the large-scale IoT data stream processing. It is measured from the following four aspects: (1) ease of understanding this model, documentation, and code; (2) number of parameters, which should be tuned; (3) job history and debuggability; (4) APIs.


#### 4.1.3. Framework Complexity

The criterion complexity measures the ease of operations of DSPFs and their compatibilities. It can be measured from four aspects: (1) ease of setup and monitoring; (2) the complexity of dependencies; (3) version limitations; (4) multitenancy support.


#### 4.1.4. Framework Maturity

This criterion can measure the maturity of an organization’s streaming framework development process. It can be measured from the following factors: (1) community support; (2) number of contributions to the open-source communities; (3) how fast a bug is fixed; (4) release frequency; (5) notable companies using the streaming framework.


#### 4.1.5. Throughput

It is an important metric for evaluating the performances of streaming frameworks. It measures the rate at which streaming events are processed per second.


#### 4.1.6. Latency

It is an important metric for measuring the real-time feature of streaming frameworks. It actually measures the time that is taken to complete one event.


#### 4.1.7. Reliability

The criterion is a metric used to measure the probability that streaming frameworks experience crashes or failures during a given amount of time.As shown in Figure1, it can be seen that evaluating these four DSPFs with respect to the evaluation criteria system should be formulated to be an MCDM problem, in which four DSPFs are denoted as(5)A=a1=Storm,a2=Flink,a3=Spark,a4=Samza,and seven criteria are denoted as(6)C=c1=maintainability,c2=developer friendliness,c3=framework complexity,c4=maturity,c5=throughput,c6=latency,andc7=reliability.Therefore, evaluating these four DSPFs with respect to this evaluation criteria system can be transformed into solving the above MCDM problem. To evaluate these four DSPFs, the enterprise establishes the technical committee, which is composed of ten experts denoted asD1,D2,…,D10. Each expert chooses one linguistic term from the following LTS S=s−2=very low,s−1=low,s0=Neutral,s1=high,ands2=very high to express his/her preference information over each DSPF with respect to each criterion. We can derive the group preference information of each DSPF with respect to each criterion using the following definition:Definition 7.
LetS=sρ|ρ=−2,−1,0,1,2 be an LTS and Ee=ℓee=1,2,…,10 be the preference information of the expert De, then the group preference information over each DSPF with respect to each criterion can be derived as(7)H=Lα,pα|Lα∈E1∪E2,…,∪E10,pα=∑e=110ne10,
with(8)ne=1,ifLα∈Ee,0,ifLα∉Ee,where the group preference information H is actually a PLTS.
All the obtained PLTSs are used to construct a probabilistic linguistic decision matrix (PLDM)H4×7 as(9)H4×7=a1a2a3a4c1c2⋯c7H11H12⋯H17H21H22⋯H27H31H32⋯⋮H41H42⋯H47,where the element Hij is a PLTS and it is the group preference information of the DSPF ai with respect to criterion cj.
In order to consider the psychological distances among two consecutive linguistic terms, Definition3 is used to transform the PLDM H4×7 to a probabilistic hesitant fuzzy decision matrix (PHFDM) F4×7.


### 4.2. Probabilistic Hesitant Fuzzy Best-Worst Method

The best-worst method [63] is a subjective method, which is used to determine the importance of degrees of criteria according to the preference information from the organization. Compared with the AHP (analytic hierarchy process), the best-worst method requires less times for pairwise comparisons among the streaming frameworks. Moreover, it is easier to be understood. Because of these advantages, the best-worst method is extended to develop a subjective probabilistic hesitant fuzzy best-worst (PHFBW) method, whose steps are summarized as follows:(i)
Step 1. The most important criterion cb and least important criterion cw should be determined by the technical committee from the evaluation criteria set as follows:(10)C=c1=maintainability,c2=developer friendliness,c3=framework complexity,c4=maturity,c5=throughput,c6=latency,andc7=reliability.(ii)
Step 2. Each expert De from the technical committee (TC) evaluates the intensity of the most important criterion cb over other criteria using the following LTS:(11)S=s−2=very low,s−1=low,s0=Neutral,s1=high,s2=very high,and then obtain the most-to-all (MtA) vector as(12)MtAe=ℓb1e,ℓb2e,…,ℓbje,…,ℓb7e,where ℓbje, a linguistic term from S, is the intensity of the most important criterion cb over the criterion cj.(iii)
Step 3. Each expert De from the technical committee need to assess the intensity of each criterion over the least important criterion cw using the LTS S and obtain the all-to-least (AtL) vector as(13)AtLe=ℓ1we,ℓ2we,…,ℓjwe,…,ℓ7we,where ℓjwe, a linguistic term from S, represents the intensity of each criterion cj over the least important criterion cw.(iv)
Step 4. Definition 7 is used to aggregate the preference information of ten experts and obtain the following probabilistic linguistic MtA (PLMtA) vector as follows:(14)PLMtA=Hb1,Hb2,…,Hbj,…,Hb7,where Hbj denotes a PLTS and it means the group preference information about the intensity of the most important criterion cb over the criterion cj.(v)
Step 5. Definition 7 is used to aggregate the preference information of ten experts and obtain the following probabilistic linguistic AtL (PLAtL) vector as follows:(15)PLAtL=H1w,H2w,…,Hjw,…,H7w,where Hjw denotes a PLTS and it means the group preference information on the intensity of the criterion cj over the least important criterion cw.(vi)
Step 6. Definition 3 is used to transform the PLMtA vector into probabilistic hesitant fuzzy MtA (PHFMtA) vector as(16)PHFMtA=Fb1,Fb2,…,Fbj,…,Fb7,where Fbj denotes a PHFS.(vii)
Step 7. Definition 3 is used to transform the PLAtL vector into the probabilistic hesitant fuzzy AtL (PHFAtL) vector as(17)PHFAtL=F1w,F2w,…,Fjw,…,F7w,where Fjw denotes a PHFS.(viii)
Step 8. The elements in the PHFMtA and PHFAtL vectors are the PHFSs that are complex information structures. To facilitate the computation process, we use the score values of PHFSs to approximately represent PHFSs in the PHFMtA and PHFAtL vectors. The above two vectors can be transformed into(18)SPHFMtA=SFb1,SFb2,…,SFbj,…,SFb7,SPHFAtL=SF1w,SF2w,…,SFjw,…,SF7w,where SFbj and SFjw are the score values of PHFSs Fbj and Fjw.(ix)
Step 9. If the PHFMtA and PHFAtL vectors are completely consistent, the weights of criteria should satisfy the following formulas: ωb/ωb+ωj=SFbj and ωj/ωj+ωw=SFjw.In fact, the PHFMtA and PHFAtL vectors cannot satisfy the condition of completely consistent. Thus, the optimal weights of criteria should satisfy Model 1.(19)minmaxjωbωb+ωj−SFbj,ωjωj+ωw−SFjw.To obtain the solutions from Model 1, a slack variableξ is introduced. Then, Model 1 is equivalently transformed into Model 2(20)minξ,s.t.∑j=1nωj=1,ωj≥0,j=1,2,…,n,ωbωb+ωj−SFbj≤ξ,ωjωj+ωw−SFjw≤ξ.Then, the weights of the above seven criteria can be derived by solving Model 2.The advantage of this subjective method for determining the weights is that the technical committee can determine the most and least important criteria according to their requirements for large-scale IoT data stream processing, and that can reflect the intensities of the most important criterion over others, and the intensities of the criteria over the least important criterion. Therefore, this subjective method can integrate with the group preference information from experts to prioritize criteria reasonably according to their special requirements.


### 4.3. Probabilistic Hesitant Fuzzy MULTIMOORA Method

The MULTIMOORA method [64] uses the ratio subsystem (RS), reference point subsystem (RPS), and full-multiplicative form subsystem (FMFS) to obtain ranking values and ranking results. For determining the final ranking result, the dominancy theory is used to aggregate the ranking values and ranking results of three subsystems. The experimental results in [65] showed that the MULTIMOORA method obtains better decision performance than some well-known decision-making methods. However, it has not been extended to process the PHFS information. In this subsection, we put forward a novel probabilistic hesitant fuzzy MULTIMOORA (PHF-MULTIMOORA) method to rank four DSPFs with respect to their criteria. The steps are listed as(i)
Step 1. The RS model is used to compute the ranking values of four DSPFs as(21)R1ai=∑j=1nbωjSFij−∑j=nb+17ωjSFij,where R1ai is the ranking value of the DSPF ai by using the RS model, nb is the number of benefit-type criteria that have positive impacts on the ranking value and 7−nb is the number of cost-type criteria that show negative impacts on the ranking value. The DSPF having a higher ranking value is better, hence these DSPFs are prioritized according to the descending order of the ranking values, and then, the ranking order of these four DSPFs is determined as O1=o1a1,o1a2,o1a3,o1a4, where o1ai is the position of the DSPF ai.(ii)
Step 2. The RPS model is used to derive the ranking values of four DSPFs as(22)R2ai=maxj∈1,2,…,7ωjdFj+,FijdFj+,Fj−,where Fj+ and Fj− denote the best and worst values of DSPFs with respect to the criterion cj. They can be computed as follows:the best value of DSPFs with respect to criterion cj can be determined as(23)Fj+=maxi∈1,2,3,4Fij,if criterioncjis benefit−type,mini∈1,2,3,4Fij,if criterioncjis cost−type,and the worst value of DSPFs with respect to criterion cj can be determined as(24)Fj−=maxi∈1,2,3,4Fij,if criterioncjis cost−type,mini∈1,2,3,4Fij,if criterioncjis benefit−type,where maxi∈1,2,3,4Fij denotes Fij with the largest score value and mini∈1,2,3,4Fij is Fij having the smallest score value.The DSPF having the smaller ranking value is better. Therefore, these four DSPFs can be ranked according to the ascending order of their ranking values and then the ranking order of these four DSPFs is determined asO2=o2a1,o2a2,o2a3,o2a4, where o2ai is the position of the DSPF ai.(iii)
Step 3. The FMFS model is used to compute the ranking values of four DSPFs as(25)R3ai=∏j=1nb2−1−SFijωjnb∏j=nb+172−1−SFijωj7−nb.The DSPF owning a larger ranking value is better, thus these four DSPFs should be prioritized according to the descending order of their ranking values. The ranking order of these four DSPFs can be determined asO3=o3a1,o3a2,o3a3,ando3a4.(iv)
Step 4. Aggregate the ranking values and ranking orders of three subsystems into the final ranking values.In the original MULTIMOORA method [64], the dominance theory was applied to aggregate the ranking orders of subsystems. However, it does not consider their ranking values [66]. In this paper, a novel Borda is extended to aggregate the ranking values and ranking orders from three subsystems. Therefore, RS (Q1), RPS (Q2), and FMFS (Q3) are considered as three criteria of DSPFs, and these four DSPFs are associated with the ranking values Rkai and ranking orders okai with respect to three criteria Qkk=1,2,3. The fusion of these ranking values and ranking orders from three subsystems can be transformed into the problem that how to fuse two matrices: ranking value matrix R=Rkai4×3 and ranking order matrix O=okai4×3.(26)R=Rkai4×3=a1a2a3a4Q1Q2Q3R1a1R2a1R3a1R1a2R2a2R3a2R1a3R2a3R3a3R1a4R2a4R3a4,O=okai4×3=a1a2a3a4Q1Q2Q3o1a1o2a1o3a1o1a2o2a2o3a2o1a3o2a3o3a3o1a4o2a4o3a4.Before computing the final ranking values of DSPFs, the ranking value matrix should be normalized to beR˜=Rk˜ai4×3, where the element Rk˜ai=Rkai/∑i=14Rkai2.According to the Borda rule [66], the DSPF with a larger value is better. However, in the RPS, the DSPF with a smaller value is better. It is in conflict with the Borda rule. Therefore, the final ranking value fai of the DSPF ai is calculated as(27)fai=R1˜ai∗4−o1ai+144+1/2−R2˜ai∗o2ai44+1/2+R3˜ai∗4−o3ai+144+1/2.From the above equation, it can be noted that the DSPF with a higher ranking value is better. Thus, the final ranking order of DSPFs is derived according to the descending order of the final ranking valuesfai.


## 4.1. Evaluation Criteria Set

To comprehensively characterize the requirements for large-scale IoT data stream processing, we need to establish a hybrid evaluation criteria system as shown in Figure1.Figure 1
Evaluating four streaming frameworks according to the evaluation criteria system.It can be seen that this evaluation criteria system consists of four qualitative criteria and three quantitative criteria. We give a description of these seven criteria as follows:


### 4.1.1. Maintainability

The criterion maintainability measures the ease with which the DSPFs can be changed so that they can be compatible with the existing IT systems of enterprises and adapt to the change of the existing IT systems.


### 4.1.2. Developer Friendliness

The developer friendliness measures the ease for developers to deploy the DSPFs and program so as to perform the large-scale IoT data stream processing. It is measured from the following four aspects: (1) ease of understanding this model, documentation, and code; (2) number of parameters, which should be tuned; (3) job history and debuggability; (4) APIs.


### 4.1.3. Framework Complexity

The criterion complexity measures the ease of operations of DSPFs and their compatibilities. It can be measured from four aspects: (1) ease of setup and monitoring; (2) the complexity of dependencies; (3) version limitations; (4) multitenancy support.


### 4.1.4. Framework Maturity

This criterion can measure the maturity of an organization’s streaming framework development process. It can be measured from the following factors: (1) community support; (2) number of contributions to the open-source communities; (3) how fast a bug is fixed; (4) release frequency; (5) notable companies using the streaming framework.


### 4.1.5. Throughput

It is an important metric for evaluating the performances of streaming frameworks. It measures the rate at which streaming events are processed per second.


### 4.1.6. Latency

It is an important metric for measuring the real-time feature of streaming frameworks. It actually measures the time that is taken to complete one event.


### 4.1.7. Reliability

The criterion is a metric used to measure the probability that streaming frameworks experience crashes or failures during a given amount of time.As shown in Figure1, it can be seen that evaluating these four DSPFs with respect to the evaluation criteria system should be formulated to be an MCDM problem, in which four DSPFs are denoted as(5)A=a1=Storm,a2=Flink,a3=Spark,a4=Samza,and seven criteria are denoted as(6)C=c1=maintainability,c2=developer friendliness,c3=framework complexity,c4=maturity,c5=throughput,c6=latency,andc7=reliability.Therefore, evaluating these four DSPFs with respect to this evaluation criteria system can be transformed into solving the above MCDM problem. To evaluate these four DSPFs, the enterprise establishes the technical committee, which is composed of ten experts denoted asD1,D2,…,D10. Each expert chooses one linguistic term from the following LTS S=s−2=very low,s−1=low,s0=Neutral,s1=high,ands2=very high to express his/her preference information over each DSPF with respect to each criterion. We can derive the group preference information of each DSPF with respect to each criterion using the following definition:Definition 7.
LetS=sρ|ρ=−2,−1,0,1,2 be an LTS and Ee=ℓee=1,2,…,10 be the preference information of the expert De, then the group preference information over each DSPF with respect to each criterion can be derived as(7)H=Lα,pα|Lα∈E1∪E2,…,∪E10,pα=∑e=110ne10,
with(8)ne=1,ifLα∈Ee,0,ifLα∉Ee,where the group preference information H is actually a PLTS.
All the obtained PLTSs are used to construct a probabilistic linguistic decision matrix (PLDM)H4×7 as(9)H4×7=a1a2a3a4c1c2⋯c7H11H12⋯H17H21H22⋯H27H31H32⋯⋮H41H42⋯H47,where the element Hij is a PLTS and it is the group preference information of the DSPF ai with respect to criterion cj.
In order to consider the psychological distances among two consecutive linguistic terms, Definition3 is used to transform the PLDM H4×7 to a probabilistic hesitant fuzzy decision matrix (PHFDM) F4×7.


## 4.1.1. Maintainability

The criterion maintainability measures the ease with which the DSPFs can be changed so that they can be compatible with the existing IT systems of enterprises and adapt to the change of the existing IT systems.


## 4.1.2. Developer Friendliness

The developer friendliness measures the ease for developers to deploy the DSPFs and program so as to perform the large-scale IoT data stream processing. It is measured from the following four aspects: (1) ease of understanding this model, documentation, and code; (2) number of parameters, which should be tuned; (3) job history and debuggability; (4) APIs.


## 4.1.3. Framework Complexity

The criterion complexity measures the ease of operations of DSPFs and their compatibilities. It can be measured from four aspects: (1) ease of setup and monitoring; (2) the complexity of dependencies; (3) version limitations; (4) multitenancy support.


## 4.1.4. Framework Maturity

This criterion can measure the maturity of an organization’s streaming framework development process. It can be measured from the following factors: (1) community support; (2) number of contributions to the open-source communities; (3) how fast a bug is fixed; (4) release frequency; (5) notable companies using the streaming framework.


## 4.1.5. Throughput

It is an important metric for evaluating the performances of streaming frameworks. It measures the rate at which streaming events are processed per second.


## 4.1.6. Latency

It is an important metric for measuring the real-time feature of streaming frameworks. It actually measures the time that is taken to complete one event.


## 4.1.7. Reliability

The criterion is a metric used to measure the probability that streaming frameworks experience crashes or failures during a given amount of time.As shown in Figure1, it can be seen that evaluating these four DSPFs with respect to the evaluation criteria system should be formulated to be an MCDM problem, in which four DSPFs are denoted as(5)A=a1=Storm,a2=Flink,a3=Spark,a4=Samza,and seven criteria are denoted as(6)C=c1=maintainability,c2=developer friendliness,c3=framework complexity,c4=maturity,c5=throughput,c6=latency,andc7=reliability.Therefore, evaluating these four DSPFs with respect to this evaluation criteria system can be transformed into solving the above MCDM problem. To evaluate these four DSPFs, the enterprise establishes the technical committee, which is composed of ten experts denoted asD1,D2,…,D10. Each expert chooses one linguistic term from the following LTS S=s−2=very low,s−1=low,s0=Neutral,s1=high,ands2=very high to express his/her preference information over each DSPF with respect to each criterion. We can derive the group preference information of each DSPF with respect to each criterion using the following definition:Definition 7.
LetS=sρ|ρ=−2,−1,0,1,2 be an LTS and Ee=ℓee=1,2,…,10 be the preference information of the expert De, then the group preference information over each DSPF with respect to each criterion can be derived as(7)H=Lα,pα|Lα∈E1∪E2,…,∪E10,pα=∑e=110ne10,
with(8)ne=1,ifLα∈Ee,0,ifLα∉Ee,where the group preference information H is actually a PLTS.
All the obtained PLTSs are used to construct a probabilistic linguistic decision matrix (PLDM)H4×7 as(9)H4×7=a1a2a3a4c1c2⋯c7H11H12⋯H17H21H22⋯H27H31H32⋯⋮H41H42⋯H47,where the element Hij is a PLTS and it is the group preference information of the DSPF ai with respect to criterion cj.
In order to consider the psychological distances among two consecutive linguistic terms, Definition3 is used to transform the PLDM H4×7 to a probabilistic hesitant fuzzy decision matrix (PHFDM) F4×7.


## 4.2. Probabilistic Hesitant Fuzzy Best-Worst Method

The best-worst method [63] is a subjective method, which is used to determine the importance of degrees of criteria according to the preference information from the organization. Compared with the AHP (analytic hierarchy process), the best-worst method requires less times for pairwise comparisons among the streaming frameworks. Moreover, it is easier to be understood. Because of these advantages, the best-worst method is extended to develop a subjective probabilistic hesitant fuzzy best-worst (PHFBW) method, whose steps are summarized as follows:(i)
Step 1. The most important criterion cb and least important criterion cw should be determined by the technical committee from the evaluation criteria set as follows:(10)C=c1=maintainability,c2=developer friendliness,c3=framework complexity,c4=maturity,c5=throughput,c6=latency,andc7=reliability.(ii)
Step 2. Each expert De from the technical committee (TC) evaluates the intensity of the most important criterion cb over other criteria using the following LTS:(11)S=s−2=very low,s−1=low,s0=Neutral,s1=high,s2=very high,and then obtain the most-to-all (MtA) vector as(12)MtAe=ℓb1e,ℓb2e,…,ℓbje,…,ℓb7e,where ℓbje, a linguistic term from S, is the intensity of the most important criterion cb over the criterion cj.(iii)
Step 3. Each expert De from the technical committee need to assess the intensity of each criterion over the least important criterion cw using the LTS S and obtain the all-to-least (AtL) vector as(13)AtLe=ℓ1we,ℓ2we,…,ℓjwe,…,ℓ7we,where ℓjwe, a linguistic term from S, represents the intensity of each criterion cj over the least important criterion cw.(iv)
Step 4. Definition 7 is used to aggregate the preference information of ten experts and obtain the following probabilistic linguistic MtA (PLMtA) vector as follows:(14)PLMtA=Hb1,Hb2,…,Hbj,…,Hb7,where Hbj denotes a PLTS and it means the group preference information about the intensity of the most important criterion cb over the criterion cj.(v)
Step 5. Definition 7 is used to aggregate the preference information of ten experts and obtain the following probabilistic linguistic AtL (PLAtL) vector as follows:(15)PLAtL=H1w,H2w,…,Hjw,…,H7w,where Hjw denotes a PLTS and it means the group preference information on the intensity of the criterion cj over the least important criterion cw.(vi)
Step 6. Definition 3 is used to transform the PLMtA vector into probabilistic hesitant fuzzy MtA (PHFMtA) vector as(16)PHFMtA=Fb1,Fb2,…,Fbj,…,Fb7,where Fbj denotes a PHFS.(vii)
Step 7. Definition 3 is used to transform the PLAtL vector into the probabilistic hesitant fuzzy AtL (PHFAtL) vector as(17)PHFAtL=F1w,F2w,…,Fjw,…,F7w,where Fjw denotes a PHFS.(viii)
Step 8. The elements in the PHFMtA and PHFAtL vectors are the PHFSs that are complex information structures. To facilitate the computation process, we use the score values of PHFSs to approximately represent PHFSs in the PHFMtA and PHFAtL vectors. The above two vectors can be transformed into(18)SPHFMtA=SFb1,SFb2,…,SFbj,…,SFb7,SPHFAtL=SF1w,SF2w,…,SFjw,…,SF7w,where SFbj and SFjw are the score values of PHFSs Fbj and Fjw.(ix)
Step 9. If the PHFMtA and PHFAtL vectors are completely consistent, the weights of criteria should satisfy the following formulas: ωb/ωb+ωj=SFbj and ωj/ωj+ωw=SFjw.In fact, the PHFMtA and PHFAtL vectors cannot satisfy the condition of completely consistent. Thus, the optimal weights of criteria should satisfy Model 1.(19)minmaxjωbωb+ωj−SFbj,ωjωj+ωw−SFjw.To obtain the solutions from Model 1, a slack variableξ is introduced. Then, Model 1 is equivalently transformed into Model 2(20)minξ,s.t.∑j=1nωj=1,ωj≥0,j=1,2,…,n,ωbωb+ωj−SFbj≤ξ,ωjωj+ωw−SFjw≤ξ.Then, the weights of the above seven criteria can be derived by solving Model 2.The advantage of this subjective method for determining the weights is that the technical committee can determine the most and least important criteria according to their requirements for large-scale IoT data stream processing, and that can reflect the intensities of the most important criterion over others, and the intensities of the criteria over the least important criterion. Therefore, this subjective method can integrate with the group preference information from experts to prioritize criteria reasonably according to their special requirements.


## 4.3. Probabilistic Hesitant Fuzzy MULTIMOORA Method

The MULTIMOORA method [64] uses the ratio subsystem (RS), reference point subsystem (RPS), and full-multiplicative form subsystem (FMFS) to obtain ranking values and ranking results. For determining the final ranking result, the dominancy theory is used to aggregate the ranking values and ranking results of three subsystems. The experimental results in [65] showed that the MULTIMOORA method obtains better decision performance than some well-known decision-making methods. However, it has not been extended to process the PHFS information. In this subsection, we put forward a novel probabilistic hesitant fuzzy MULTIMOORA (PHF-MULTIMOORA) method to rank four DSPFs with respect to their criteria. The steps are listed as(i)
Step 1. The RS model is used to compute the ranking values of four DSPFs as(21)R1ai=∑j=1nbωjSFij−∑j=nb+17ωjSFij,where R1ai is the ranking value of the DSPF ai by using the RS model, nb is the number of benefit-type criteria that have positive impacts on the ranking value and 7−nb is the number of cost-type criteria that show negative impacts on the ranking value. The DSPF having a higher ranking value is better, hence these DSPFs are prioritized according to the descending order of the ranking values, and then, the ranking order of these four DSPFs is determined as O1=o1a1,o1a2,o1a3,o1a4, where o1ai is the position of the DSPF ai.(ii)
Step 2. The RPS model is used to derive the ranking values of four DSPFs as(22)R2ai=maxj∈1,2,…,7ωjdFj+,FijdFj+,Fj−,where Fj+ and Fj− denote the best and worst values of DSPFs with respect to the criterion cj. They can be computed as follows:the best value of DSPFs with respect to criterion cj can be determined as(23)Fj+=maxi∈1,2,3,4Fij,if criterioncjis benefit−type,mini∈1,2,3,4Fij,if criterioncjis cost−type,and the worst value of DSPFs with respect to criterion cj can be determined as(24)Fj−=maxi∈1,2,3,4Fij,if criterioncjis cost−type,mini∈1,2,3,4Fij,if criterioncjis benefit−type,where maxi∈1,2,3,4Fij denotes Fij with the largest score value and mini∈1,2,3,4Fij is Fij having the smallest score value.The DSPF having the smaller ranking value is better. Therefore, these four DSPFs can be ranked according to the ascending order of their ranking values and then the ranking order of these four DSPFs is determined asO2=o2a1,o2a2,o2a3,o2a4, where o2ai is the position of the DSPF ai.(iii)
Step 3. The FMFS model is used to compute the ranking values of four DSPFs as(25)R3ai=∏j=1nb2−1−SFijωjnb∏j=nb+172−1−SFijωj7−nb.The DSPF owning a larger ranking value is better, thus these four DSPFs should be prioritized according to the descending order of their ranking values. The ranking order of these four DSPFs can be determined asO3=o3a1,o3a2,o3a3,ando3a4.(iv)
Step 4. Aggregate the ranking values and ranking orders of three subsystems into the final ranking values.In the original MULTIMOORA method [64], the dominance theory was applied to aggregate the ranking orders of subsystems. However, it does not consider their ranking values [66]. In this paper, a novel Borda is extended to aggregate the ranking values and ranking orders from three subsystems. Therefore, RS (Q1), RPS (Q2), and FMFS (Q3) are considered as three criteria of DSPFs, and these four DSPFs are associated with the ranking values Rkai and ranking orders okai with respect to three criteria Qkk=1,2,3. The fusion of these ranking values and ranking orders from three subsystems can be transformed into the problem that how to fuse two matrices: ranking value matrix R=Rkai4×3 and ranking order matrix O=okai4×3.(26)R=Rkai4×3=a1a2a3a4Q1Q2Q3R1a1R2a1R3a1R1a2R2a2R3a2R1a3R2a3R3a3R1a4R2a4R3a4,O=okai4×3=a1a2a3a4Q1Q2Q3o1a1o2a1o3a1o1a2o2a2o3a2o1a3o2a3o3a3o1a4o2a4o3a4.Before computing the final ranking values of DSPFs, the ranking value matrix should be normalized to beR˜=Rk˜ai4×3, where the element Rk˜ai=Rkai/∑i=14Rkai2.According to the Borda rule [66], the DSPF with a larger value is better. However, in the RPS, the DSPF with a smaller value is better. It is in conflict with the Borda rule. Therefore, the final ranking value fai of the DSPF ai is calculated as(27)fai=R1˜ai∗4−o1ai+144+1/2−R2˜ai∗o2ai44+1/2+R3˜ai∗4−o3ai+144+1/2.From the above equation, it can be noted that the DSPF with a higher ranking value is better. Thus, the final ranking order of DSPFs is derived according to the descending order of the final ranking valuesfai.


## 5. Numerical Analysis

In this section, the numerical analysis is presented to show the implementation process of the proposed PHF-BW method and PHF-MULTIMOORA method.


### 5.1. How to Determine the Importance Degrees of Criteria

According to the steps of the PHF-BW method, the process for determining importance degrees of criteria is implemented as(i)
Step 1. According to the requirements for large-scale IoT data stream processing, the technical committee selects the criterion throughput (c5) as the most important criterion and then selects the criterion framework complexity (c3) as the least important one from the evaluation criteria system.(ii)
Steps 2–5. Ten experts in the technical committee provide their preference information on the intensity of the criterion c5 over the other criteria and intensity of all the criteria over the criterion c3 and construct the PLMtA and PLAtL vectors as(28)PLMtA=s00.2,s20.8,s10.3,s20.7,s21,s10.8,s20.2,s01,s00.6,s10.4,s00.5,s10.5,PLAtL=s00.3,s10.7,s10.9,s20.1,s01,s00.6,s20.4,s21,s10.2,s20.8,s10.5,s20.5.(iii)
Steps 6–7. Definition 3 is used to transform the PLMtA vector into PHFMtA vector and PLAtL vector into PHFAtL vector as(29)PHFMtA=0.5,0.2,1,0.8,0.75,0.3,1,0.7,1,1,0.75,0.8,1,0.2,0.5,1,0.5,0.6,0.75,0.4,0.5,0.5,0.75,0.5,PHFAtL=0.5,0.3,0.75,0.7,0.75,0.9,1,0.1,0.5,1,0.5,0.6,1,0.4,1,1,0.75,0.2,1,0.8,0.75,0.5,1,0.5.(iv)
Step 8. Definition 4 is used to compute the score values of the elements in the PHFMtA vector and PHFAtL vector as(30)SPHFMtA=0.9,0.925,1,0.8,0.5,0.6,0.625,SPHFAtL=0.675,0.775,0.5,0.7,1,0.95,0.875.(v)
Step 9. The above score values is brought into Model 2.By solving Model 2, the weights of the seven criteria are derived as shown in Figure2.Figure 2
Importance degrees of criteria.From Figure2, it can be noted that the most important criterion is throughput c5 followed by latency c6 and reliability c7. The least important criterion is framework complexity c3.


### 5.2. How to Rank DSPFs

Ten experts in the technical committee are called to evaluate four DSPFs with respect to four qualitative criteria by using the LTSS and Definition 7 is applied to aggregate the individual preference information for constructing their group preference information. The preference information of four DSPFs with respect to three quantitative criteria are derived from the benchmarking results that are presented in Ref. [67]. To make the information representation be not different, the information of throughput, latency, and reliability are expressed by using the PLTSs. Finally, all the group preference information for qualitative and quantitative criteria are applied to construct the PLDM H4×7 as shown in Table 1.Table 1
The group preference information.
StormFlinkSparkSamzaMaintainabilitys2,0.8,s1,0.2s2,0.9,s1,0.1s2,0.9,s1,0.1s2,0.8,s1,0.2Developer friendlinesss2,1.0s2,0.7,s1,0.3s1,1.0s1,0.8,s0,0.2Framework complexitys−1,0.8,s0,0.2s−1,1.0s−2,0.9,s−1,0.1s1,1.0Maturitys2,1.0s2,0.7,s1,0.3s1,1.0s1,0.8,s0,0.2Throughputs1,1.0s2,1.0s2,1.0s1,1.0Latencys−2,1.0s−2,1.0s2,1.0s−2,1.0Reliabilitys2,1.0s2,1.0s−2,1.0s1,1.0For the evaluation criteria system, the framework complexity and latency are cost-type criteria and others are benefit-type.(i)
Step 1. The RS model is used to compute the ranking values of four DSPFs as(31)R1a1=0.6294,R1a2=0.7126,R1a3=0.2391,R1a4=0.3935,O1=o1a2,o1a1,o1a4,o1a3,a2>a1>a4>a3.(ii)
Step 2. The RPS model is used to compute the ranking values of four DSPFs as(32)R2a1=0.3600,R2a2=0.0673,R2a3=0.2610,R2a4=0.3600,O2=o2a2,o2a3,o2a1∼o2a4,a2>a3>a1∼a4.(iii)
Step 3. The FMFS model is used to compute the ranking values of four DSPFs as(33)R3a1=1.6615,R3a2=1.4345,R3a3=0.8650,R3a4=1.1665,O3=o3a1,o3a2,o3a4,o3a3,a1>a2>a4>a3.(iv)
Step 4. The ranking values and ranking orders of three subsystems are aggregated into the final ranking values as(34)fa1=0.2438,fa2=0.4217,fa3=−0.0351,fa4=−0.0243.Hence, the final ranking order of DSPFs isa2>a1>a4>a3 and the most suitable DSPF is Apache Flink. The Flink shows equal or better performances than the other three DSPFs in terms of throughput, latency, and reliability. As for the benchmarking testing results, Flink did not experience any crashes or failures. Moreover, Flink has enriched community support that can make subsequent development, deployment, and maintenance well. Thus, it can be seen that the result of our proposed PHF-MULTIMOORA method is reasonable.From the implementation process, it can be noted that the three models achieve different ranking orders. Our proposed PHF-MULTIMOORA method can fuse these different ranking orders into the final one. Therefore, the final ranking order is more reliable and robust.


### 5.3. Comparative Analysis

To show the superiority of the proposed PHF-MULTIMOORA method, we compare the proposed PHF-MULTIMOORA method with the existing TOPSIS and VIKOR methods [68]. We use the existing TOPSIS and VIKOR methods in Ref. [68] to handle the PLDM H4×7 in Table 1. The ranking orders of these two methods are listed in Table 2.Table 2
The ranking orders of these decision-making methods.
MethodsRank ordersOur proposed methoda2>a1>a4>a3VIKORa2>a1∼a4>a3 (a1,a2,anda4 are the compromise solutions)TOPSISa2>a4>a3>a1As shown in Table2, the best DSPF obtained from our proposed method is a2, which is the same as that of the existing TOPSIS method. However, their ranking orders are different. The existing VIKOR method has three compromise solutions a1,a2,anda4. It does not have a unique solution.


## 5.1. How to Determine the Importance Degrees of Criteria

According to the steps of the PHF-BW method, the process for determining importance degrees of criteria is implemented as(i)
Step 1. According to the requirements for large-scale IoT data stream processing, the technical committee selects the criterion throughput (c5) as the most important criterion and then selects the criterion framework complexity (c3) as the least important one from the evaluation criteria system.(ii)
Steps 2–5. Ten experts in the technical committee provide their preference information on the intensity of the criterion c5 over the other criteria and intensity of all the criteria over the criterion c3 and construct the PLMtA and PLAtL vectors as(28)PLMtA=s00.2,s20.8,s10.3,s20.7,s21,s10.8,s20.2,s01,s00.6,s10.4,s00.5,s10.5,PLAtL=s00.3,s10.7,s10.9,s20.1,s01,s00.6,s20.4,s21,s10.2,s20.8,s10.5,s20.5.(iii)
Steps 6–7. Definition 3 is used to transform the PLMtA vector into PHFMtA vector and PLAtL vector into PHFAtL vector as(29)PHFMtA=0.5,0.2,1,0.8,0.75,0.3,1,0.7,1,1,0.75,0.8,1,0.2,0.5,1,0.5,0.6,0.75,0.4,0.5,0.5,0.75,0.5,PHFAtL=0.5,0.3,0.75,0.7,0.75,0.9,1,0.1,0.5,1,0.5,0.6,1,0.4,1,1,0.75,0.2,1,0.8,0.75,0.5,1,0.5.(iv)
Step 8. Definition 4 is used to compute the score values of the elements in the PHFMtA vector and PHFAtL vector as(30)SPHFMtA=0.9,0.925,1,0.8,0.5,0.6,0.625,SPHFAtL=0.675,0.775,0.5,0.7,1,0.95,0.875.(v)
Step 9. The above score values is brought into Model 2.By solving Model 2, the weights of the seven criteria are derived as shown in Figure2.Figure 2
Importance degrees of criteria.From Figure2, it can be noted that the most important criterion is throughput c5 followed by latency c6 and reliability c7. The least important criterion is framework complexity c3.


## 5.2. How to Rank DSPFs

Ten experts in the technical committee are called to evaluate four DSPFs with respect to four qualitative criteria by using the LTSS and Definition 7 is applied to aggregate the individual preference information for constructing their group preference information. The preference information of four DSPFs with respect to three quantitative criteria are derived from the benchmarking results that are presented in Ref. [67]. To make the information representation be not different, the information of throughput, latency, and reliability are expressed by using the PLTSs. Finally, all the group preference information for qualitative and quantitative criteria are applied to construct the PLDM H4×7 as shown in Table 1.Table 1
The group preference information.
StormFlinkSparkSamzaMaintainabilitys2,0.8,s1,0.2s2,0.9,s1,0.1s2,0.9,s1,0.1s2,0.8,s1,0.2Developer friendlinesss2,1.0s2,0.7,s1,0.3s1,1.0s1,0.8,s0,0.2Framework complexitys−1,0.8,s0,0.2s−1,1.0s−2,0.9,s−1,0.1s1,1.0Maturitys2,1.0s2,0.7,s1,0.3s1,1.0s1,0.8,s0,0.2Throughputs1,1.0s2,1.0s2,1.0s1,1.0Latencys−2,1.0s−2,1.0s2,1.0s−2,1.0Reliabilitys2,1.0s2,1.0s−2,1.0s1,1.0For the evaluation criteria system, the framework complexity and latency are cost-type criteria and others are benefit-type.(i)
Step 1. The RS model is used to compute the ranking values of four DSPFs as(31)R1a1=0.6294,R1a2=0.7126,R1a3=0.2391,R1a4=0.3935,O1=o1a2,o1a1,o1a4,o1a3,a2>a1>a4>a3.(ii)
Step 2. The RPS model is used to compute the ranking values of four DSPFs as(32)R2a1=0.3600,R2a2=0.0673,R2a3=0.2610,R2a4=0.3600,O2=o2a2,o2a3,o2a1∼o2a4,a2>a3>a1∼a4.(iii)
Step 3. The FMFS model is used to compute the ranking values of four DSPFs as(33)R3a1=1.6615,R3a2=1.4345,R3a3=0.8650,R3a4=1.1665,O3=o3a1,o3a2,o3a4,o3a3,a1>a2>a4>a3.(iv)
Step 4. The ranking values and ranking orders of three subsystems are aggregated into the final ranking values as(34)fa1=0.2438,fa2=0.4217,fa3=−0.0351,fa4=−0.0243.Hence, the final ranking order of DSPFs isa2>a1>a4>a3 and the most suitable DSPF is Apache Flink. The Flink shows equal or better performances than the other three DSPFs in terms of throughput, latency, and reliability. As for the benchmarking testing results, Flink did not experience any crashes or failures. Moreover, Flink has enriched community support that can make subsequent development, deployment, and maintenance well. Thus, it can be seen that the result of our proposed PHF-MULTIMOORA method is reasonable.From the implementation process, it can be noted that the three models achieve different ranking orders. Our proposed PHF-MULTIMOORA method can fuse these different ranking orders into the final one. Therefore, the final ranking order is more reliable and robust.


## 5.3. Comparative Analysis

To show the superiority of the proposed PHF-MULTIMOORA method, we compare the proposed PHF-MULTIMOORA method with the existing TOPSIS and VIKOR methods [68]. We use the existing TOPSIS and VIKOR methods in Ref. [68] to handle the PLDM H4×7 in Table 1. The ranking orders of these two methods are listed in Table 2.Table 2
The ranking orders of these decision-making methods.
MethodsRank ordersOur proposed methoda2>a1>a4>a3VIKORa2>a1∼a4>a3 (a1,a2,anda4 are the compromise solutions)TOPSISa2>a4>a3>a1As shown in Table2, the best DSPF obtained from our proposed method is a2, which is the same as that of the existing TOPSIS method. However, their ranking orders are different. The existing VIKOR method has three compromise solutions a1,a2,anda4. It does not have a unique solution.


## 6. Conclusions

In this study, an evaluation criteria system consisting of seven criteria is proposed for characterizing the requirements of ranking the DSPFs, and the process of ranking the DSPFs with respect to the evaluation criteria system is formulated as an MCDM problem. A novel PHF-BW method is proposed to derive the weight values of seven criteria, and a novel PHF-MULTIMOORA method is proposed to rank these four DSPFs. The results from the numerical analysis show that the most important criterion is throughput followed by low latency and high reliability. Flink is selected as the most suitable DSPF. It is easy to extend this study for evaluating other IT systems according to the special requirements of enterprises.In future research, we plan to combine the subjective method and objective method for determining the weight values of criteria and use picture fuzzy sets for accurately modelling the collective opinions.



---

*Source: 6655477-2021-01-11.xml*