Multi-criteria Analysis and Decision Methodology for the Selection of Internet-of-Things Hardware Platforms

. The Internet-of-Things (IoT) is today a reality, and Smart Systems have taken advantage of this to improve its own sense, act and control capabilities. IoT is a highly heterogeneous environment composed by a vast number of “things” (sensors, smart objects, etc .). These “things” are based on hardware platforms which can differ widely since manufactures are being capable of develop new devices every day to tackle different application domains. Consequently, a problem emerges regarding which will be the suitable, proper hardware solution for an IoT deployment. Make a right decision is probably one of the toughest challenges for science and technology managers. This work proposes a novel methodology to analyze a set of hardware alternatives based on user ’ s multi-criteria requirements, and advice on the more suitable hardware solution for a specific situation. For proof-of-concept it is used different Arduino boards as hardware alternatives, in which user requirements are based on hardware features. This methodology foresees its use during the development of Smart Systems (e.g.: Transportation, Healthcare) to optimize the selection of hardware platforms.


Introduction
The emerging Internet-of-Things (IoT) technology is becoming more and more important in society.Devices are being used for environment awareness giving to people a more truly interaction with the surrounding world.With advances in microelectronic technologies, manufactures are being capable to develop small and cheap devices, to tackle different application domains and services based on IoT deployments [1].Hence, these devices have limited resources, for example low power, small processing and storage capabilities, and for this reason, devices must be chosen properly accordingly to the task they will fulfil.Consequently, a research question arises: "which is the more suitable device (hardware platform) to implement a certain Smart System solution in IoT?".
Multi-Criteria Decision-Making (MCDM) is one of the most widely used decision methodologies in sciences, business, government and engineering worlds.MCDM methods can help to improve the quality of decisions by making the decision-making process more explicit, rational, and efficient [2,3].MCDM is an approach comprehensive of a set of techniques which provides ranking methods to classify criteria of a certain problem and assist on decision phase.MCDM can tear down complex problems into small, manageable problems, in such way that small sets of data can be analyzed from which is obtained reasonable judgements.Reassembling all pieces is then formed a coherent overall system view that will aid decision makers on their decisions [4].From this emerges the following hypothesis that could respond to the question in place: "If during a Smart System design, engineers could use a multi-criteria methodology to rank IoT hardware solutions, then more proper solutions could be selected, leading to a more suitable (i.e.: low-energy consumption, low cost, etc.) design of Smart-Systems."This work presents a methodology capable of analyse a set of hardware alternatives based on user's multicriteria requisites and advise which is the more suitable hardware solution for a specific situation.Consequently, improve in overall, a Smart System deployment and operation (see Figure 1).

Hardware Platforms of Smart Systems
People are living in an environment where Smart Systems are everywhere.These systems can be found in areas such as transportation, manufacturing, healthcare, energy, etc.In a succinct definition, Smart Systems can be seen as a system capable to sense, act and control a certain situation.Smart Systems present unique capabilities (cognitive as physical) to optimize their performance in response to external (sensed) information.With the technological advances in the microelectronic these capabilities have improved widely [5].Deployment of a Smart Systems can vary in many ways, in scale, functionality, implementations and technologies.Although, developers struggle with the same challenges during the deployments design phase.One of problems arises with the need to choose a suitable hardware platform (device) or platforms between a set of alternatives.Even more when manufacturers are being capable of develop new devices to tackle different application domains.These devices, also known as motes or sensor nodes, have some particular characteristics such as small size, low-power, sensing units, wireless communication and they are cheap [6].As a result of such features they are categorized as Resource-Constrained Devices (RCD).Multi-Criteria Decision Methods (MCDM) can assist on the development of Smart Systems, in a way that a decision could be provided in terms of what will be a more proper hardware solution for a certain task.For example, sense the environment, perform a system action or apply/compute a control function.
3 Literature Review

Hardware Platforms for IoT: Resource-Constrained Devices
With the growing interest of major technology players on Internet-of-Things (IoT), it has been seen a constant evolution of microelectronic technologies, bringing to this domain a series of devices which enables the realization of the IoT concept.These devices, also known as motes or sensor nodes, have some particular features such as small size, low-power, and processing, storage, sensing and wireless communication capabilities.These characteristics, from which comes the categorization as Resource-Constrained Devices (RCD), allow Wireless Sensor Networks (WSN)s to differ from other wireless technologies.Devices are reasonably cheap, and still maintain accurateness/preciseness and reliability.Although, energy efficiency is considered to be the major requirement for these type of devices [6,7].

Methods for Multi-Criteria Decision-Making
Multi-Criteria Decision-Making (MCDM) is a process that takes a decision upon a set of available solutions, assessing which one is more suitable across diverse, contradicting, qualitative and/or quantitative criteria.MCDM methods have been applied to engineering problems, providing useful insights to decision makers, making their decisions more qualified to overcome complex problems [8].Based in [8][9][10], as others could be point out, three of the most widely used decision making methods in literature are the: AHP (Analytic Hierarchy Process); PROMETHEE (Preference Ranking Organization Method for Enrichment Evaluation); and ELECTRE (Elimination Et Choix Traduisant la Realite).
Analytic Hierarchy Process (AHP).The Analytic Hierarchy Process (AHP) was proposed by Thomas L. Saaty [11], and it is aimed to solve problems with multiple and conflicting criteria.AHP is a powerful decision making methodology capable of decompose a complex problem into a systematic hierarchy procedure [12], as depicted in Figure 2. AHP applies a criteria pairwise comparison based on decision maker judgement, creating the Saaty 1-9 scale to define the criteria priority.In which qualifying a criterion with 1 indicates equal importance, and 9 extremely important.With an n criteria and p solutions it is achieved a decision matrix of p*n size, in which the {dpn} element indicates the value for pth solution in respect to the nth criteria.The pairwise comparison matrix is a m*n size, in which the {vmn} element indicates the value for mth criteria in respect to the nth criteria.Normalized comparison matrix has its elements calculated as follows: Nvpn=vpn/wn ; wn=∑vpn, p=1, 2 ....The contribution of each criteria n for the problem objective, i.e. the eigenvector, is then computed as: CWn=∑wn/n, n=1,2 ... [13].Identified the eigenvector, is then possible to rank the solutions through a simple matrix multiplication, i.e.: the decision matrix multiplied by the eigenvector.
PROMOTHEE.Preference Ranking Organization Method for Enrichment Evaluation (PROMETHEE) [14] is a MCDM method, with six different versions based on ranking.The first version, PROMETHEE I, consists on partial ranking; PROMETHEE II on complete ranking; PROMETHEE III performs ranking based on intervals and PROMETHEE IV is a method for the continuous case; PROMETHEE V method has integer linear programming and net flows; finally the PROMETHEE VI method includes a representation of the human brain [13,15].The PROMETHEE methodology can be described in five steps, as Figure 3 shows.The decision maker chooses a preference function defined into two independently actions (e.g.Boolean function -value 0 or 1), and then it is applied a solutions comparison.The comparison results and criteria values are used to form a matrix, on which methods can then be applied.For example, PROMETHEE I to create a partial solutions rank and PROMETHEE II to obtain a final solutions ranking [16].PROMETHEE methods I and IV use preference functions which are more suitable for qualitative criteria.Methods type III and V are normally chosen for quantitative criteria problems.Type II and VI preference functions are used with less frequency.ELECTRE.Elimination Et Choix Traduisant la Realite (ELECTRE -Elimination and Choice Expressing the Reality) method was created by Bernard Roy [17].Similar to the previous decision method, ELECTRE has also six variations: type I, II, III, IV, IS and TRI.All ELECTRE methods are based on the same background, but have different process.In ELECTRE I and IS a single solution or a group of solutions are selected and assigned as a possible solution.ELECTRE II was developed to deal with problems that need to rank solutions from the best to the worst solution.ELECTRE III introduced pseudo-criteria and fuzzy binary outranking relations.ELECTRE IV method was possible to rank solutions without the use of relative criteria coefficients (the only ELECTRE method that did not use it).Finally, ELECTRE TRI assigns categories to solutions [8,14].ELECTRE is a preference-based model, performing a pair-wise comparison between solutions.The model assumes three types of relations between solutions: is preferred to; is indifferent to; and incomparable to.ELECTRE brings the notion of thresholds values, used to set concordance and discordance indexes.These indexes are used to classify a solution in relation to another.Summary.The Analytic Hierarchy Process (AHP) follows a prioritization theory, dealing with complex problems that need multi criteria consideration simultaneously.Although, AHP presents some disadvantages.The pairwise comparison based on decision makers' subjective judgment, and the criterion weight has a direct impact on the final score.The PROMETHEE method is consistent, easy to use and does not need great interaction with decision makers.Although, PROMETHEE presents as downside the incapability to react when new alternatives are introduced.The method II is unable to present a preferred solution in a bi-criteria problem, after the method I have been applied.Generally, ELECTRE method does not frequently leads to the case in which one solution stands out from the others.For this reason the method is considered to be more suitable for problems with several solutions and not so many criteria.Also, it is considered to be difficult to understand, and thresholds definition is a problem since there is no "correct" value.

Proposed Methodology
This section will describe the proposed methodology which enables users, developers and researchers to assess which hardware platform is more suitable for their own application.The methodology provides means to indicate restrictions if any and/or criteria optimization methods, combined with a criteria prioritization based on decision maker judgement.
Possible solutions, i.e. hardware platforms, are represented by set S in ( 1): (1) The amount of alternatives is a finite number and is defined by the user, i.e. users select the solutions that will be analyzed.Platforms have a vast number of features, , although user may or may not consider all of them as important.The set of features/criteria, called F, is defined as in (2). (2) With the sets of possible solutions and criteria defined is then possible to create an Evaluation Table .The Evaluation Table , , given by ( 3), is an n-by-m matrix.Rows represent the contemplated solutions and the columns the assessment features.The element represents the value for feature j of the alternative i. ( Hardware platforms, in our case the possible alternatives, present a vast number of features, and each feature has its own units.Features values are treated as dimensionless.Hardware platforms, in our case the possible alternatives, present a vast number of features, and each feature has its own units.Features values are treated as dimensionless.To perform an analysis on a set of hardware alternatives, considering user's multi-criteria requisites, to obtain an advise on which is the more suitable hardware solution for a specific situation, users must indicate restrictions if any and/or criteria optimization method (minimize or maximize).Currently the proposed methodology presents seven types of restrictions/optimization, from now on call Assessment Constraints, which can be applied by users to assess the more suitable solution(s).The Assessment Constraints set, AC, is defined in (4).Each constraint can be applied to one or more criteria.Two or more constraints can be applied to single feature/criteria.
(3) Assessment Constraint min and max (optimization methods) are used respectively when user's purpose is to minimize or maximize values of a feature.Constraint mustHave is used for cases in which a feature must be present.Constraint cannotHave is used in the opposite case, i.e. criteria/feature cannot be available in the final proposed solution(s).Constraints lessThan, equal and greaterThan, enables users to set threshold values or look for a specific feature value.When users apply the Assessment Constraints, points are assigned.In the case of min and max, points are assigned from 1 to n points.For instance, in a minimization applied to a feature , a solution with the smallest value for get n points, and the solution with the higher value in get 1 point.The same principle is used for maximization, 1 point for the lowest value and n points for the higher.For the other Assessment Constraints, it is assigned 0 or n points.For example, the mustHave case, a solution with value different from zero gets n points, if the value is zero (which indicates that the feature is not present in that solution) it get 0 points.When more than one Assessment Criteria is applied to a single feature, assigned points are multiplied.Applying the selected Assessment Criteria to the Evaluation Table , , is formed the Score Table , , formalized next in ( 5): (4) To this point, users are able to optimize features using minimization or maximization methods.Are able to set binding rules between solutions and its features, as well as define thresholds for feature values.However, it is not yet possible to assign preference between features, i.e. features priority.To achieve this goal, the proposed methodology takes use of Analytic Hierarchy Process (AHP) presented in Section 3.2.AHP applies to features a pairwise comparison based on decision maker (users) judgement, using the Saaty 1-9 scale to establish criteria priority.Qualifying a feature with 1 indicates equal importance, and 9 extremely important.The AHP comparison matrix, , is given in (6).The element represents the comparison value for feature j and feature k.It is also important to note that the comparison value, , has the inverse value of .Specifically, the impact of feature j in feature k has the inverse importance of feature k in feature j.The AHP comparison matrix, , is then normalized as presented in (7).The contribution of each feature/criteria on the selection of a proper solution is given by the eigenvector and it is computed as described in (8).The final solution ranking, , is then given by ( 9). (

Case Study on Hardware Platforms
The selected hardware platforms chosen to validate the proposed methodology are based on Arduino platform.Five different devices were selected, represented by set S, as described in (10).Arduino devices present several features and characteristics suitable for the development of sensor networks.Among the vast number of features, were selected eight to serve as assessment criteria, as described in (11).
Table 1 summaries the selected hardware platforms and values for each feature.
Possible solutions and features are placed in the same order as given in (10,11).
. ( 10) The values for features Cost, Clock speed, Data Ram Memory, Program Flash Memory and Weight, respectively , were retrieved from Arduino page 1 .Values for features Used Memory Ram and Program Flash when an Empty application is installed on the selected Arduino devices, respectively , were retrieved using Arduino IDE version 1.5.7.Arduino IDE was used to program the Empty application into devices.Empty application is the Arduino operating system without any kind of operation, mainly the operating system footprint.Values of feature Energy , were obtained by placing a multimeter between the power source and the Arduino and then was read the current consumed (milliamps).The Evaluation Table , , can be obtained directly from Table 1.
To define the Analytic Hierarchy Process (AHP) table, , reflecting user criteria importance/preference, was performed a research using popular search tools (IEEE eXplore, Harzing's Publish and BASE).The research was based on titles that contain some key words.The key words "Internet" and "Things" were stuck and varying worlds such "energy", "cost", "weight", etc.The results are summarized in Table 2.The AHP table , , presented in ( 12) is formed basically from the preformed research.Notice that this AHP table will be used in the application scenario in Section 6.It also reflects a preference example, since criteria importance can differ widely from one user to others, and it also depends on application purposes.From , is possible to compute the normalized AHP comparison matrix, , from which the eigenvector, i.e. importance of each feature on selecting the more suitable solution, is obtain.The eigenvector is presented in (13).(12) 6 Application Example: Small Storage Unit For application example was selected one scenario, a Small Storage Unit, where it is needed a hardware platform which presents a small energy consumption, it is cheap and has a large amount of memory available.Since there is no available data regarding energy consumption for the specific application, let's consider the energy consumption of the operating system footprint (in this case Arduino operating system).Accordingly, is then possible to build the Assessment Constraints set, , presented in (14), and the Score Table , , as described in ( 15): The , presented in ( 14) minimizes the first criteria (energy consumption), , to classify the available hardware platforms in energy consumption terms.Constraint, , to minimize the cost, and constraints , to maximize the available memory.( 14) Results Comparison.Table 3 presents the final classification results for each available hardware solution.Three different evaluations are available to perform a methods comparison.The first column shows the results when AHP method, alone, is applied to features values.As discussed in Section 3.2, this method presents a direct influence of feature values on the final score.Also, it is not able to reflect user assessment constraints (e.g.min, max).Considering, the objective to minimize all selected criteria, this method advice Uno Rev3.But the scenario also includes memory maximization, leading to DUE solution.Normally, using AHP method the solution with the higher score is considered the best one.In this scenario that is wrong, excessive energy consumption and cost.Consequently, the result is inconclusive for the presented case study.Since the application objective is more than that, the midway result, , which consists only on assessment constraints enforcement, indicates that the proper solution is Mini 05.The complete proposed methodology execution indicates the same solution, Mini 05, but reflects criteria preference and removes all solutions draws.This methodology brings to developers the capability to select the proper solution for a certain task from a set of available solutions.Provides methods to select criteria importance and it is also able to apply constraints functions to features, improving solutions assessment.

Conclusion and Future Work
There are many features/criteria which can influence the overall performance of an application running in a hardware platform.Also, developers have different perspectives of which feature is more important.The proposed methodology enables users, developers and researchers to assess which hardware platform is more suitable for their own application, depending on the application scenario.It is possible to indicate restrictions (e.g.: must have a certain feature, thresholds for feature values), and apply criteria optimization (minimize or maximize).The solutions ranking is attained using a well-known decision making method, Analytic Hierarchy Process (AHP), aimed to solve problems with multiple and conflicting criteria.Methodology results were able to point out the better/proper solution from the available ones.It also presents a more clear solution ranking compared to the AHP method, which presents an ambiguous result.Future work involves the extension of the analysis to different hardware elements/features.A further step will consider the inclusion of hardware platforms formal descriptions, to facilitate the inclusion process of new criteria.

Fig. 1 .
Fig. 1.Multi-Criteria Decision Methodology for the Selection of IoT Hardware Platforms.

Fig. 2 .
Fig. 2. Example of a criteria and solutions hierarchy.

Table 1 .
Hardware Solutions versus Assessment Criteria.

Table 2 .
Research Results Summary: A criteria preference/importance.

Table 3 .
Application Example Results.