<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JILSA</journal-id><journal-title-group><journal-title>Journal of Intelligent Learning Systems and Applications</journal-title></journal-title-group><issn pub-type="epub">2150-8402</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jilsa.2015.71001</article-id><article-id pub-id-type="publisher-id">JILSA-53451</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  A Novel Fuzzy Membership Partitioning for Improved Voting in Fault Tolerant System
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>khilesh</surname><given-names>Pathak</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Tarang</surname><given-names>Agarwal</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Anand</surname><given-names>Mohan</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Department of Electronics Engineering, Institute of Technology, Banaras Hindu University, Varanasi, India</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>pathak.akhilesh@gmail.com(KP)</email>;<email>agarwaltarang07@gmail.com(TA)</email>;<email>amohan@bhu.ac.in(AM)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>22</day><month>01</month><year>2015</year></pub-date><volume>07</volume><issue>01</issue><fpage>1</fpage><lpage>10</lpage><history><date date-type="received"><day>27</day>	<month>December</month>	<year>2014</year></date><date date-type="rev-recd"><day>accepted</day>	<month>20</month>	<year>January</year>	</date><date date-type="accepted"><day>22</day>	<month>January</month>	<year>2015</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  This paper presents a novel technique for improved voting by adaptively varying the membership boundaries of a fuzzy voter to achieve realistic consensus among inputs of redundant modules of a fault tolerant system. We demonstrate that suggested dynamic membership partitioning minimizes the number of occurrences of incorrect outputs of a voter as compared to the fixed membership partitioning voter implementations. Simulation results for the proposed voter for Triple Modular Redundancy (TMR) fault tolerant system indicate that our algorithm shows better safety and availability performance as compared to the existing one. However, our voter design is general and thus it can be potentially useful for improving safety and availability of critical fault tolerant systems.
 
</p></abstract><kwd-group><kwd>Fault Tolerance</kwd><kwd> Fault Masking</kwd><kwd> Threshold</kwd><kwd> Fuzzy Voting</kwd><kwd> Majority Voting</kwd><kwd> Safety</kwd><kwd> Availability</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>The fault tolerant systems frequently use hardware redundancy along with a voter to achieve enhanced operational availability of critical mission oriented systems against predefined set of faults. One of the most commonly used methods is based on static redundancy technique incorporating Triple-Modular Redundancy (TMR) [<xref ref-type="bibr" rid="scirp.53451-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.53451-ref2">2</xref>] where a majority voter determines the correct output value. In digital voting scheme, the determination of exact majority vote is straight forward, however, while finding the majority consensus among the outputs of redundant analog modules of a TMR requires determination of majority considering two closest matching analog outputs of the redundant analog modules. For example, it is very difficult to obtain an exact match between the outputs of replicated analog sensors of a fault tolerant data acquisition system or if the output is generated by diversely implemented software using floating point arithmetic. Therefore the design and performance of analog fault tolerant systems has been deeply focusing on development of improved voter design which can use “hard threshold” or “soft threshold” based voter implementation [<xref ref-type="bibr" rid="scirp.53451-ref3">3</xref>] - [<xref ref-type="bibr" rid="scirp.53451-ref6">6</xref>] . The hard threshold based voter implementations determine the majority consensus among the outputs of redundant analog modules using mid-value, fixed threshold, or history based weighted average threshold [<xref ref-type="bibr" rid="scirp.53451-ref4">4</xref>] [<xref ref-type="bibr" rid="scirp.53451-ref7">7</xref>] - [<xref ref-type="bibr" rid="scirp.53451-ref9">9</xref>] . The mid-value selector voting algorithm [<xref ref-type="bibr" rid="scirp.53451-ref7">7</xref>] generates voted output by considering the mid values of the outputs of redundant modules; fixed threshold voting [<xref ref-type="bibr" rid="scirp.53451-ref8">8</xref>] scheme generates majority output if the absolute difference between the outputs of different pairs of redundant modules is less than a prefixed value. The history based weighted average voting [<xref ref-type="bibr" rid="scirp.53451-ref9">9</xref>] [<xref ref-type="bibr" rid="scirp.53451-ref10">10</xref>] calculates the output with the help of weighted average. Here each redundant module is assigned a weight value depending upon its performance record and the weighted average is used to determine the voted output. Thus this method also uses a hard threshold value to decide the agreeability of individual modules with other modules. Therefore all hard threshold methods use a fixed threshold value for making majority decision which makes the majority voter non-adaptable against larger differences between outputs of redundant modules/changes in their output range. This is because the error in the voted output with respect to the desired output of the voter increases for larger differences between outputs of redundant modules/changes in their output range. Thus hard voting schemes become unsuitable for TMR voter implementation under these situations. Alternatively, soft threshold based fuzzy voters [<xref ref-type="bibr" rid="scirp.53451-ref3">3</xref>] can be used to tackle the voter’s accuracy problem due to large output and range variations of the redundant voter modules. These voters convert the mod value of relative differences into fuzzy membership and apply fuzzy rules to generate consensus output from the voter. The fuzzy voters perform better than hard threshold voting schemes having fixed threshold but it proves ineffective beyond moderate differences between outputs of redundant modules. In addition to this, the fuzzy voters do not perform satisfactorily in offering constant error in the voted output for multi band agreement tolerances as needed in flight control computers [<xref ref-type="bibr" rid="scirp.53451-ref11">11</xref>] - [<xref ref-type="bibr" rid="scirp.53451-ref13">13</xref>] .</p><p>This paper presents an improved design of fuzzy voter based on adaptive fuzzy membership boundaries of the mod values of the differences between analog outputs of the redundant modules and its range. The availability and safety performance of the proposed voter design is evaluated through MATLAB simulation studies and it is shown that our voter design is potentially useful for handling larger mod differences (&gt;1.5) between the outputs of redundant analog channels. It offers 20% error reduction in the voted output as compared to the fuzzy voter suggested by Shabgahi [<xref ref-type="bibr" rid="scirp.53451-ref3">3</xref>] , 12% higher availability, and 18% improvement in safety. Section 2 describes the basic concepts of the fuzzy voter [<xref ref-type="bibr" rid="scirp.53451-ref3">3</xref>] [<xref ref-type="bibr" rid="scirp.53451-ref14">14</xref>] followed by the proposed design of the voter in Section 3. Section 4 presents MATLAB simulation of the proposed fuzzy voter along with different varied differences between outputs of the redundant modules. The simulation results indicating the error minimization in the voted output along with achievable improvements in availability and safety are also discussed in this section. Section 5 contains the conclusion indicating the major outcome and its benefit in design of fault tolerant avionic systems.</p></sec><sec id="s2"><title>2. Fuzzy Voter Concepts</title><p>Fuzzy voters [<xref ref-type="bibr" rid="scirp.53451-ref3">3</xref>] are used to eliminate the limitations of fixed threshold TMR voting logic discussed in Section 1. <xref ref-type="fig" rid="fig1">Figure 1</xref> shows the block schematic of a 3-input <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x5.png" xlink:type="simple"/></inline-formula> fuzzy voter which contains fuzzifier and defuzzyfier to generate the weights for calculating a weighted average output <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x6.png" xlink:type="simple"/></inline-formula> from the voter.</p><p>The fuzzification is achieved by transforming the numerical differences<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x7.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x8.png" xlink:type="simple"/></inline-formula>, and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x9.png" xlink:type="simple"/></inline-formula> between the input pairs<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x10.png" xlink:type="simple"/></inline-formula>, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x11.png" xlink:type="simple"/></inline-formula>, and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x12.png" xlink:type="simple"/></inline-formula> into fuzzy membership for each pair <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x13.png" xlink:type="simple"/></inline-formula> having numerical difference <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x14.png" xlink:type="simple"/></inline-formula> such that the fuzzy membership follows a triangular functions [<xref ref-type="bibr" rid="scirp.53451-ref3">3</xref>] as shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>. Here, the fuzzy difference variable are represented by a set of membership grades<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x15.png" xlink:type="simple"/></inline-formula>, where A: {small, medium, large}.</p><p>Referring <xref ref-type="fig" rid="fig2">Figure 2</xref>, the variables and fuzzy membership functions considering the difference between two voter inputs: <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x16.png" xlink:type="simple"/></inline-formula>can be defined as below:</p><p>Symmetry:<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x17.png" xlink:type="simple"/></inline-formula>, where p, q and r are real numbers and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x18.png" xlink:type="simple"/></inline-formula></p><disp-formula id="scirp.53451-formula170"><label>(1)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/1-9601096x19.png"  xlink:type="simple"/></disp-formula><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> Block schematic of 3-input fuzzy voter</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9601096x20.png"/></fig><fig id="fig2"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Representation of membership grades<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x22.png" xlink:type="simple"/></inline-formula></title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9601096x21.png"/></fig><disp-formula id="scirp.53451-formula171"><label>(2)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/1-9601096x23.png"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.53451-formula172"><label>(3)</label><graphic position="anchor" xlink:href="http://html.scirp.org/file/1-9601096x24.png"  xlink:type="simple"/></disp-formula><p>Equations (1)-(3) describe the functions for small, medium, and large membership grades respectively.</p><sec id="s2_1"><title>2.1. Defining the Fuzzy Agreeability of Each Input</title><p>For each of the input<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x25.png" xlink:type="simple"/></inline-formula>, a fuzzy agreeability variable <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x25.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x26.png" xlink:type="simple"/></inline-formula> is defined in <xref ref-type="fig" rid="fig3">Figure 3</xref> with respect to the other inputs. The fuzzy agreeability value is a measure of the extent to which an input agrees with the other two inputs. For each fuzzy agreeability variable, a five overlapping set is defined B: (vlow, low, med, high, vhigh).</p></sec><sec id="s2_2"><title>2.2. Fuzzy Rules to Find out Agreeability of Each Input</title><p><xref ref-type="table" rid="table1">Table 1</xref> shows the rule matrix to find out agreeability of each input with other inputs.</p><p>Where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x27.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x28.png" xlink:type="simple"/></inline-formula> are the fuzzified difference values of ith input with respect to other two inputs respectively. According to the membership values of <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x29.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x30.png" xlink:type="simple"/></inline-formula> the agreeability of ith input can be calculated for example if both <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x31.png" xlink:type="simple"/></inline-formula> and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x27.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x28.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x29.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x30.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x31.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x32.png" xlink:type="simple"/></inline-formula> will be small then agreeability of ith input will be vhigh and so on.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Rule matrix used for fuzzy input variables</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  >&amp;</th><th align="center" valign="middle"  colspan="4"  ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x33.png" xlink:type="simple"/></inline-formula></th></tr></thead><tr><td align="center" valign="middle"  colspan="2"  >Small</td><td align="center" valign="middle" >Medium</td><td align="center" valign="middle" >Large</td></tr><tr><td align="center" valign="middle"  rowspan="3"  ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x34.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >Small</td><td align="center" valign="middle" >Vhigh</td><td align="center" valign="middle" >High</td><td align="center" valign="middle" >Medium</td></tr><tr><td align="center" valign="middle" >Medium</td><td align="center" valign="middle" >High</td><td align="center" valign="middle" >Low</td><td align="center" valign="middle" >Vlow</td></tr><tr><td align="center" valign="middle" >Large</td><td align="center" valign="middle" >Medium</td><td align="center" valign="middle" >Vlow</td><td align="center" valign="middle" >Vlow</td></tr></tbody></table></table-wrap><fig id="fig3"  position="float"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> Representation of output fuzzy variable membership grades<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x36.png" xlink:type="simple"/></inline-formula></title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9601096x35.png"/></fig></sec><sec id="s2_3"><title>2.3. Calculating the Voted Voter Output</title><p>The fuzzified value of agreeability is converted in to numerical value of weight <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x37.png" xlink:type="simple"/></inline-formula> with the defuzzification method. The defuzzification method used is centroid method. And the final output of voter y is calculated as:</p><disp-formula id="scirp.53451-formula173"><graphic  xlink:href="http://html.scirp.org/file/1-9601096x38.png"  xlink:type="simple"/></disp-formula></sec></sec><sec id="s3"><title>3. Proposed Fuzzy Voter</title><p>The existing fuzzy voter considered fixed fuzzy partitioning parameter i.e. the values of parameter p, q and r are fixed. While the values of parameters p, q and r will not be optimum for all values of input ranges for example for very small magnitude of inputs, the value of p, q and r should be less as the accuracy tolerance between generated output and correct output will be less and for larger magnitude of input, the values of p, q and r could be high. so a modified fuzzy voting unit has been proposed in this paper where the value of output from voting unit is calculated with the same method as in the above fuzzy voting unit but the values of fuzzy partitioning will not be fixed, they will change themselves according to the input values and the numerical values of differences between them. The value of p is chosen considering the maximum and minimum of the input values and the minimum of the distance between input pairs. <xref ref-type="fig" rid="fig4">Figure 4</xref> shows the block schematic of improved fuzzy voter:</p><p>The value of parameter p is calculated on the basis of fuzzy classification and values of q and r will be multiple of p, the fuzzy classification of p is achieved with three parameters as a, b, and c and their functions have been defined for module output ranging from {0 - 25}, while the partitioning of these parameters can be changed according to the application and the ranges of inputs.</p><p>The fuzzy membership a (<xref ref-type="fig" rid="fig5">Figure 5</xref>) which is defined as<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x39.png" xlink:type="simple"/></inline-formula>, is categorized in three memberships as {small, medium, large}.</p><p>The fuzzy membership b (<xref ref-type="fig" rid="fig6">Figure 6</xref>) which is defined as<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x40.png" xlink:type="simple"/></inline-formula>, is categorized in three memberships as {small, medium, large}.</p><p>The fuzzy membership c (<xref ref-type="fig" rid="fig7">Figure 7</xref>) which is defined as<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x41.png" xlink:type="simple"/></inline-formula>, is categorized in three memberships as {small, medium, large}.</p><p>The fuzzy membership function for output variable p (<xref ref-type="fig" rid="fig8">Figure 8</xref>) is categorized in four memberships as {small, medium, high, vhigh}.</p><p>The fuzzy membership for output p is:</p><p>The value of p is categorized in four memberships values {small, medium, high, vhigh} which are governed by the fuzzy rules formulated as under.</p><p>1) if (c is small) and (b is small) then (p is small);</p><fig id="fig4"  position="float"><label><xref ref-type="fig" rid="fig4">Figure 4</xref></label><caption><title> Block schematic of 3-input improved fuzzy voter</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9601096x42.png"/></fig><fig id="fig5"  position="float"><label><xref ref-type="fig" rid="fig5">Figure 5</xref></label><caption><title> Definition of membership functions of variable a</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9601096x43.png"/></fig><fig id="fig6"  position="float"><label><xref ref-type="fig" rid="fig6">Figure 6</xref></label><caption><title> Definition of membership functions of variable b</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9601096x44.png"/></fig><fig id="fig7"  position="float"><label><xref ref-type="fig" rid="fig7">Figure 7</xref></label><caption><title> Definition of membership functions of variable c</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9601096x45.png"/></fig><fig id="fig8"  position="float"><label><xref ref-type="fig" rid="fig8">Figure 8</xref></label><caption><title> Definition of membership functions of output p</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9601096x46.png"/></fig><p>2) if (c is small) and (b is medium) then (p is medium);</p><p>3) if (c is small) and (b is large) then (p is medium);</p><p>4) if (a is small) and (c is medium) then (p is medium);</p><p>5) if (a is medium) and (b is small) and (c is medium) then (p is high);</p><p>6) if (a is medium) and (b is medium) and (c is medium) then (p is medium);</p><p>7) if (a is medium) and (b is large) and (c is medium) then (p is medium);</p><p>8) if (a is large) and (b is small) and (c is medium) then (p is high);</p><p>9) if (a is large) and (b is medium) and (c is medium) then (p is medium);</p><p>10) if (a is large) and (b is large) and (c is medium) then (p is high);</p><p>11) if (a is small) and (c is large) then (p is medium);</p><p>12) if (a is medium) and(b is small) and (c is large) then (p is medium);</p><p>13) if (a is medium) and(b is medium) and (c is large) then (p is medium);</p><p>14) if (a is medium) and (b is large) and (c is large) then (p is high);</p><p>15) if (a is large) and (c is large) then (p is vhigh).</p><p>Rule No. 1 to 3 deals with cases where difference between at least two inputs are small it implies that there is a reasonably high degree of agreeability therefore p is categorized as either small or medium depending upon maximum value of inputs. Rules 4 to 10 define conditions when minimum of differences in inputs is in medium range, here the value of p will be either medium or high depending on the distance between minimum and maximum of the inputs. Similarly rules 11 to 15 have been formulated to deal with poor agreeability between set of inputs i.e. when minimum of differences in inputs is in large range, here the value of p will be either medium, high or vhigh depending on the distance between minimum and maximum of the inputs.</p><p>Based on the above parameters and the set of fuzzy rules the value of p will be in range {0.2 - 0.9} and the values of q and r are arrived at as multiples of p i.e. <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x47.png" xlink:type="simple"/></inline-formula>and<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x47.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x48.png" xlink:type="simple"/></inline-formula>.</p><p>The defuzzification method used to calculate value of p is centroid method.</p><p>The output y will be calculated in same way as proposed in previous section but now the values of fuzzy partitioning parameters will not be fixed, they will adapt themselves according to inputs values and their differences.</p></sec><sec id="s4"><title>4. Simulation Experiments</title><sec id="s4_1"><title>4.1. Experiment 1</title><p>The first experiment proves that the voted output generated by improved fuzzy voter is more closed to the actual output as compared to fuzzy voter proposed in [<xref ref-type="bibr" rid="scirp.53451-ref3">3</xref>] . <xref ref-type="table" rid="table2">Table 2</xref> shows the output of the improved fuzzy voter and reference fuzzy voter [<xref ref-type="bibr" rid="scirp.53451-ref3">3</xref>] for 10 independent cases where the correct output value is 1 and where all the channels are subjected to errors.</p></sec><sec id="s4_2"><title>4.2. Experiment 2</title><p>To compare the performance of improved fuzzy voter with reference fuzzy voter, the parameters used for simulation experiments are listed below:</p><p>The input to modules: sinusoidal function <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x49.png" xlink:type="simple"/></inline-formula> sampled at 0.1 second.</p><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Comparison of results of both the voters</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Case</th><th align="center" valign="middle" >Voter input</th><th align="center" valign="middle" >Improved fuzzy voter output (y)</th><th align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x50.png" xlink:type="simple"/></inline-formula></th><th align="center" valign="middle" >Reference fuzzy voter output (y')</th><th align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x51.png" xlink:type="simple"/></inline-formula></th></tr></thead><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >[1.1 1.2 1.8]</td><td align="center" valign="middle" >1.5</td><td align="center" valign="middle" >0.15</td><td align="center" valign="middle" >1.32</td><td align="center" valign="middle" >0.32</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >[1.05 1.8 2.8]</td><td align="center" valign="middle" >1.43</td><td align="center" valign="middle" >0.43</td><td align="center" valign="middle" >1.88</td><td align="center" valign="middle" >0.88</td></tr><tr><td align="center" valign="middle" >3</td><td align="center" valign="middle" >[0.8 1.2 2.0]</td><td align="center" valign="middle" >1.03</td><td align="center" valign="middle" >0.03</td><td align="center" valign="middle" >1.10</td><td align="center" valign="middle" >0.10</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >[0.75 1.6 2.9]</td><td align="center" valign="middle" >1.17</td><td align="center" valign="middle" >0.17</td><td align="center" valign="middle" >1.71</td><td align="center" valign="middle" >0.71</td></tr><tr><td align="center" valign="middle" >5</td><td align="center" valign="middle" >[1.0 1.2 1.6]</td><td align="center" valign="middle" >1.12</td><td align="center" valign="middle" >0.12</td><td align="center" valign="middle" >1.26</td><td align="center" valign="middle" >0.26</td></tr><tr><td align="center" valign="middle" >6</td><td align="center" valign="middle" >[1.0 1.2 1.3]</td><td align="center" valign="middle" >1.17</td><td align="center" valign="middle" >0.17</td><td align="center" valign="middle" >1.17</td><td align="center" valign="middle" >0.17</td></tr><tr><td align="center" valign="middle" >7</td><td align="center" valign="middle" >[0.78 1.3 1.9]</td><td align="center" valign="middle" >1.33</td><td align="center" valign="middle" >0.33</td><td align="center" valign="middle" >1.30</td><td align="center" valign="middle" >0.30</td></tr><tr><td align="center" valign="middle" >8</td><td align="center" valign="middle" >[0.9 1.2 2.5]</td><td align="center" valign="middle" >1.05</td><td align="center" valign="middle" >0.05</td><td align="center" valign="middle" >1.15</td><td align="center" valign="middle" >0.15</td></tr><tr><td align="center" valign="middle" >9</td><td align="center" valign="middle" >[1.0 1.5 3.5]</td><td align="center" valign="middle" >1.25</td><td align="center" valign="middle" >0.25</td><td align="center" valign="middle" >1.42</td><td align="center" valign="middle" >0.42</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >[0.6 0.95 1.6]</td><td align="center" valign="middle" >1.03</td><td align="center" valign="middle" >0.03</td><td align="center" valign="middle" >0.97</td><td align="center" valign="middle" >0.03</td></tr></tbody></table></table-wrap><p>The errors has been injected in any two modules using a random generator with uniform distribution with amplitude from the interval {−emax +emax}.</p><p>Here the value of correct input will range from (0 - 20), the accuracy threshold value (ATV) will be different for different magnitudes of inputs, ATV is the max error allowed from the true output value and it is defined as:</p><p>if <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x52.png" xlink:type="simple"/></inline-formula></p><p>else if <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x53.png" xlink:type="simple"/></inline-formula></p><p>else if <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x54.png" xlink:type="simple"/></inline-formula></p><p>where <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x55.png" xlink:type="simple"/></inline-formula> is the min output generated by three channels.</p><p>Reference fuzzy voter has been designed by taking following values:</p><disp-formula id="scirp.53451-formula174"><graphic  xlink:href="http://html.scirp.org/file/1-9601096x56.png"  xlink:type="simple"/></disp-formula><p>The improved fuzzy voter uses same values for u, v, and w i.e.</p><disp-formula id="scirp.53451-formula175"><graphic  xlink:href="http://html.scirp.org/file/1-9601096x57.png"  xlink:type="simple"/></disp-formula><p>The voter output can be interpreted as correct, incorrect, or benign output. For each voter, the results of 104 voting cycles are performed. And <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x58.png" xlink:type="simple"/></inline-formula> correct outputs, <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x58.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x59.png" xlink:type="simple"/></inline-formula>incorrect outputs, and <inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x58.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x59.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x60.png" xlink:type="simple"/></inline-formula> benign outputs are calculated.</p><p>The availability A will be defined as:<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x61.png" xlink:type="simple"/></inline-formula>.</p><p>And safety S will be defined as:<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x62.png" xlink:type="simple"/></inline-formula>, where<inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x62.png" xlink:type="simple"/></inline-formula><inline-formula><inline-graphic xlink:href="http://html.scirp.org/file/1-9601096x63.png" xlink:type="simple"/></inline-formula>.</p><p>Simulation Results of Experiment 2:</p><p><xref ref-type="fig" rid="fig9">Figure 9</xref>(a) and <xref ref-type="fig" rid="fig9">Figure 9</xref>(b) show availability and safety plots respectively where one module is fault free and the faults in two modules have been injected randomly by uniform distribution in range {−emax +emax}. The x-axis is the max error injected in the two modules. Results show that our improved fuzzy voter gives 1% - 8% better availability and 1% - 5% better safety as compared to reference fuzzy voter proposed in [<xref ref-type="bibr" rid="scirp.53451-ref3">3</xref>] .</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref>0(a) and <xref ref-type="fig" rid="fig1">Figure 1</xref>0(b) show availability and safety plots respectively when one module is fault free, the error in second has been injected randomly by uniform distribution in range {−emax +emax}. The x-axis is the max error injected in the second module. The third module is more faulty in which error has been injected randomly by uniform distribution in range {−5 +5}. Results show that our improved fuzzy voter gives 1% - 12% better availability and 1% - 18% better safety as compared to reference fuzzy voter proposed in [<xref ref-type="bibr" rid="scirp.53451-ref3">3</xref>] .</p></sec></sec><sec id="s5"><title>5. Conclusion</title><p>A fuzzy voter proposed by Shabgahi has been studied for its performance in various conditions. The fuzzy voter</p><fig-group id="fig9"><label><xref ref-type="fig" rid="fig9">Figure 9</xref></label><caption><title> (a) Performance comparison of voters in terms of availability when two modules are equally faulty; (b) Performance comparison of voters in terms of safety when two modules are equally faulty.</title></caption><fig id ="fig9_1"><label>(b)</label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9601096x64.png"/></fig><fig id ="fig9_2"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9601096x65.png"/></fig></fig-group><p>falls short of expectations with respect to safety and availability parameters for larger errors, so here we proposed an improvement to the fuzzy voter. The proposed modification considers dynamic partitioning parameter variation in a given range which can be chosen depending on the system requirements. The study shows that the</p><fig-group id="fig10"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>0</label><caption><title> (a) Performance comparison of voters in terms of availability when one module is less faulty and the other is more faulty; (b) Performance comparison of voters in terms of safety when one module is less faulty and the other is more faulty.</title></caption><fig id ="fig10_1"><label>(b)</label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9601096x66.png"/></fig><fig id ="fig10_2"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9601096x67.png"/></fig></fig-group><p>proposed improved fuzzy voter yields better results as compared to the existing voter. This scheme can be adapted to different operational conditions of the system by varying the accuracy requirements and fuzzy partitioning parameters. The future work envisaged in this area is to integrate various other techniques like history based module selection, TMR with spare etc. into the fuzzy voters to further improve the availability and reliability of the systems.</p></sec></body><back><ref-list><title>References</title><ref id="scirp.53451-ref1"><label>1</label><mixed-citation publication-type="book" xlink:type="simple">Von Neumann, J. (1956) Probabilistic Logics and Synthesis of Reliable Organisms from Unreliable Components. In: Shannon, C.E. and McCarthy, J., Eds., Automata Studies, in Annals of Mathematical Studies, No. 34, Princeton University Press, Princeton, 43-98.</mixed-citation></ref><ref id="scirp.53451-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Ross, T.J. (2008) Fuzzy Logic with Engineering Applications. Wiley Student Edition.</mixed-citation></ref><ref id="scirp.53451-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Latif-Shabgahi, G. and Hirst, A.J. (2005) A Fuzzy Voting Scheme for Hardware and Software Fault Tolerant Systems. Fuzzy Sets and Systems, 150, 579-598. http://dx.doi.org/10.1016/j.fss.2004.02.014</mixed-citation></ref><ref id="scirp.53451-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Agarwal, T., Pathak, A. and Mohan, A. (2011) A Novel Hybrid Voter Using Genetic Algorithm and Performance History. International Journal of Artificial Intelligence and Expert Systems, 2, 117-125.</mixed-citation></ref><ref id="scirp.53451-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Manic, M. and Frincke, D. (2001) Towards the Fault Tolerant Software: Fuzzy Extension of Crisp Equivalence Voters. IECON’01: The 27th Annual Conference of the IEEE Industrial Electronics Society.</mixed-citation></ref><ref id="scirp.53451-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Latif-Shabgahi, G., Tokhi, M.O. and Taghvaei, M. (2005) Voting with Dynamic Threshold Values for Real-Time Fault Tolerant Control Systems.</mixed-citation></ref><ref id="scirp.53451-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Krstic, M.D., Stojcev, M.K., Djordjevic, G.Lj. and Andrejic, I.D. (2005) A Mid-Value Select Voter. Microelectronics Reliability, 45, 733-738. http://dx.doi.org/10.1016/j.microrel.2004.07.006</mixed-citation></ref><ref id="scirp.53451-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Parhami, B. (1994) Voting Algorithms. IEEE Transactions on Reliability, 43, 617-629.http://dx.doi.org/10.1109/24.370218</mixed-citation></ref><ref id="scirp.53451-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Lala, P.K. (1984) Fault Tolerant and Fault Testable Hardware Design. BS Publications.</mixed-citation></ref><ref id="scirp.53451-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Latif-Shabgahi, G., Bass, J.M. and Bennett, S. (2001) History-Based Weighted Average Voter: A Novel Software Voting Algorithm for Fault-Tolerant Computer Systems. 9th Workshop Parallel and Dis-tributed Processing, 402-409.</mixed-citation></ref><ref id="scirp.53451-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Parhami, B. (1992) Optimal Algorithm for Exact, Inexact and Approval Voting. FTCS-22: 22nd International Symposium on Fault Tolerant Computing, Boston, July 1992, 404-411.</mixed-citation></ref><ref id="scirp.53451-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Hopgood, A. (2001) Intelligent Systems for Engineers and Scientists. 2nd Edition, CRC Press, Boca Raton.</mixed-citation></ref><ref id="scirp.53451-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Minichino, M., Ciancamerla, E., Chiaradonna, S. and Bondavalli, A. (2000) An Experience of Depen-dability Assessment of a Typical Industrial Safety-Critical PLC. http://bonda.cnuce.cnr.it/Documentation/Reports/Doc2000/PDF00/C48.pdf</mixed-citation></ref><ref id="scirp.53451-ref14"><label>14</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Nurmi</surname><given-names> H. </given-names></name>,<etal>et al</etal>. (<year>2003</year>)<article-title>A Fuzzy Solution to a Majority Voting Game</article-title><source> Fuzzy Sets and Systems</source><volume> 2</volume>,<fpage> 187</fpage>-<lpage>198</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref></ref-list></back></article>