Internet Scale Resource Intensive Sensor Network Service Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Fuzzy logic is a multivalued problem solving control system methodology evolved from fuzzy set theory for handling logical reasoning of data that are estimated instead of exact or precise values. It can be implemented in systems ranging from small micro-controllers to large computerized process control systems. Fuzzy interference system integrates a simple, flexible rule-based 'IF P AND Q, THEN S' approach for solving a control problem rather than mathematically modeling a system. The rules that are used for designing a fuzzy system are easy to operate and modify.

In short fuzzy logic is an easy, flexible and very descriptive language to handle data (both input and output) more like a human operator. It is inherently robust as it does not demand accurate and noise free inputs.

1.2 IRISNet (Internet-Scale Resource-Intensive Sensor Network Service)

IRISNet service is a research project that is carried out by Intel and Carnegie Mellon University. The main intend leading to IRISNet was to provide up-to-date information about happenings in the outside world. IRISNet actually relies on a sensor network that consists of PC's enabled with sensing devices such as webcams and these PC's are connected to each other PC's in the network through the internet. The sensing devices that are enabled in the PC's are used to collect the outside world information such as intensity of traffic, occupancy at the parking area and distance to the parking area and return the data to the network and hence the customer's query is answered.

1.3 Building a Fuzzy Interferance System

In this case study, the IRISNet parking space finder service is designed as a fuzzy interference system i.e., with the help of fuzzy logic. IRISNet comprises of a global collection of Sensing Agents (SAs) and Organizing Agents (OAs).

SAs constitute devices with minimal processing power, memory and capability. They acquire and process data from their PC enabled sensing devices.

OAs constitutes any internet connected, PC-class devices. They provide facilities for querying present and past data.

It is not necessary for the SAs and OAs to have a keyboard or display.

A person on his way to a particular destination queries online the IRISNet service. Then the system with the help of SAs acquire and process data regarding the traffic intensity, average distance and occupancy of the particular location the customer intend to reach. After processing the data the system proposes the nearest available parking areas to the destination where free spaces are available to the customer.

The main aim of the system is to propose or suggest the customer to take certain decision policies. In this way the customer can be satisfied as he will be able to reduce his travel time to the destination by knowing available parking slot ahead of time.

To fulfill the above mentioned IRISNet Parking Space Finder system, I prefer fuzzy logic development tool (MATLAB toolbox or Fuzzy Knowledge Builder).


The parking system designed using fuzzy logic has been assigned four variables. Three input and one output variable.

Input Variables:

Traffic intensity factor to the parking area, ʽρʼ(CCTV).

Average distance to the parking area, ʽsʼ(GIS).

Average occupancy factor, ʽmʼ(LOCAL WEBCAMS).

Output Variable:

Average travel time to destination, ʽnʼ(hours)

The three input variables are assigned with three membership functions each as shown below.

Input Variables

Membership Functions













Now the output variable is generated with seven membership functions .

Output Variable












The range of the input membership functions are assigned between the closed interval [0 1]. Membership Functions of the three input variables and one output variable is shown below:



a= readfis ('IRISNet Parking Service.fis');

plotmf (a,ʽinputʼ,1)


plotmf (a,ʽinputʼ,2)

Occupancy (m):

plotmf (a,ʽinputʼ,3)


Time (n):

plotmf (a,ʽoutputʼ,1)

As shown in the above graphs the three inputs are assigned with three membership functions and the output with seven membership functions.

As all the three input variables are defined in the same range they will have the same graphs. Now considering any one of the graphs of input variables, we can see that the first membership function is placed upto 0.35 out of 1. It indicates that the first membership functions of all input variables will be considered for the first 30% of total time only. Similarly the second membership functions is represented using a Gaussian function and its range is between 0.2 and

0.8 out of 1 that is in the sense the second membership function is active only between 20-80% of the total time.

In this way for the output the middle range is between 0.25-0.75 that is between 25-75% of total time of the process.

In my case for the membership functions in between the maximum and minimum points, are taken as Gaussian functions because it gives smooth curves. According to me the data in the middle portion of the total range would not have sudden increase or decrease rather assumed as smooth variations. So use of Gaussian curves seemed appropriate for me.


The rule editor for the fuzzy system is shown by the above screenshots. This window is used to create different set of rules for the system. A rule is set by choosing a membership function from each input and the type of connection. Then we get an ʽifʼ condition and now by selecting the output membership function it gives the total rule. Here for this system we are operating with logical AND operation. Different combinations of membership functions can be put together to get many rules(in this case 27 rules).



Surface viewer is a read only tool that gives or displays the dependency of the output of the system with any one or more inputs. The surface views are shown below:

Traffic(r) Vs Distance(s)

Distance(s) Vs Occupancy(m)

Occupancy(m) Vs Traffic(r)

Gensurf(a): It is the command used in matlab for generating the plot between one or two inputs against the system output, the result of which will be a 2-D or 3-D graph as shown below:

The screenshot shown above gives the comparison between the distance to parking and Traffic to the destination with respect to time. From the graph it indicates that:

If the distance and traffic is minimum then the time taken is by the customer is also minimum.

If the distance and traffic is in medium range then the time taken by the customer is also medium.

If the distance and traffic range is high then time taken by the customer to reach is also high.

As seen in the graph the curve increases uniformly from bottom to middle to top. From this it can be concluded that the rules are reasonable.


It is also a read only tool used to view and compare the efficiencies of the rules set by us.

The above screen shots shows the rule viewer tool. From this we get that:

All the inputs are assigned 0.4, and then we get the output time in hours as 0.5.

All the inputs are assigned 0.9, and then we get the output time in hours as 0.948.

The inputs are assigned 0.25, 0.5 and 0.75 respectively, and then the output time in hours is 0.5.

The inputs are assigned 0.2, 0.6 and 0.9 respectively, and then the output time in hours is 0.503.


The system designed for IRISNet parking service based on fuzzy logic is up to the expectations. The performance and capability of the system is obtained by analyzing the surface and rule viewer. Hence it seems that the system for IRISNet parking service is working properly.


By using different shaped curves for the input and output membership functions appropriately will generate more accurate or unique outputs.

The system efficiency can be increased considerably by using more number of membership functions for each input variables.

In our case logical ʽANDʼ is used for setting the rules. So much accurate results would have been obtained if other Logical conditions like ʽORʼ or ʽNOTʼ were used.

The accuracy of the parking service finder system can be increased by also adding more input variables such as timings, weather, location etc.

6. APPENDIX: Program Code


Name='IRISNet Parking Space Finder'













Range=[0 1]


MF1='Low':'trapmf',[0 0 0.15 0.35]

MF2='Moderate':'gaussmf',[0.1 0.5]

MF3='Heavy':'trapmf',[0.65 0.85 1 1]



Range=[0 1]


MF1='Short':'trapmf',[0 0 0.15 0.35]

MF2='Medium':'gaussmf',[0.1 0.5]

MF3='Long':'trapmf',[0.65 0.85 1 1]



Range=[0 1]


MF1='Low':'trapmf',[0 0 0.15 0.35]

MF2='Medium':'gaussmf',[0.1 0.5]

MF3='High':'trapmf',[0.65 0.85 1 1]



Range=[0 1]


MF1='VShort':'trapmf',[0 0 0.05 0.15]

MF2='Short':'gaussmf',[0.025 0.15]

MF3='RShort':'gaussmf',[0.05 0.3]

MF4='Medium':'gaussmf',[0.075 0.5]

MF5='RLong':'gaussmf',[0.05 0.7]

MF6='Long':'gaussmf',[0.025 0.85]

MF7='VLong':'trapmf',[0.85 0.95 1 1]


1 1 1, 1 (1) : 1

1 1 2, 2 (1) : 1

1 1 3, 3 (1) : 1

1 2 1, 2 (1) : 1

1 2 2, 3 (1) : 1

1 2 3, 4 (1) : 1

1 3 1, 3 (1) : 1

1 3 2, 4 (1) : 1

1 3 3, 5 (1) : 1

2 1 1, 2 (1) : 1

2 1 2, 3 (1) : 1

2 1 3, 4 (1) : 1

2 2 1, 3 (1) : 1

2 2 2, 4 (1) : 1

2 2 3, 5 (1) : 1

2 3 1, 4 (1) : 1

2 3 2, 5 (1) : 1

2 3 3, 6 (1) : 1

3 1 1, 3 (1) : 1

3 1 2, 4 (1) : 1

3 1 3, 5 (1) : 1

3 2 1, 4 (1) : 1

3 2 2, 5 (1) : 1

3 2 3, 6 (1) : 1

3 3 1, 5 (1) : 1

3 3 2, 6 (1) : 1

3 3 3, 7 (1) : 1