final draft - version 4.1.doc
TRANSCRIPT
-
8/10/2019 Final draft - version 4.1.doc
1/82
DELAY-OPTIMAL BROADCAST FOR MULTIHOP
WIRELESS NETWORKS USING SELF-
INTERFERENCE CANCELLATION
A
DISSERTATION
Submitted in partial fulfillment for the award of the degree of
Master of Engineering in Web Technologies
Submitted !
JAIGOPI K
(12GAMK4003)
"nder the #uidance of
M! K"#$ KAssistant $rofessor
Dept% of &SE
"'&E( angalore%
D%'%$' * C&+'% S,"%$,% #$ E$."$%%"$.UNI/ERSITY /IS/ES/ARAYA COLLEGE OF ENGINEERING
angalore "ni)ersit!
-
8/10/2019 Final draft - version 4.1.doc
2/82
-
8/10/2019 Final draft - version 4.1.doc
3/82
AN#A*ORE "NI'ERSIT+UNI/ERSITY /IS/ES/ARAYA COLLEGE OF ENGINEERING
K R C",% B#$.#%-0001
D%'%$' * C&+'% S,"%$,% #$ E$."$%%"$.
CERTIFICATE
This is to certif! that JAIGOPI K (12GAMK4003) has satisfactoril!
completed the $ro,ect entitled -DELAY-OPTIMAL BROADCAST
FOR MULTIHOP WIRELESS NETWORKS USING SELF-
INTERFERENCE CANCELLATION. in partial fulfillment for the
re/uirement of 0ourth semester( Master of Engineering( Web
Technologies( prescribed b! angalore "ni)ersit!( during the academic
!ear 1234 5 1236%
G+"% C5#"&%6$
555555555555555555555555555 555555555555555555555555555
M! K"#$ K D! P DEEPA SHENOY
Assistant $rofessor( $rofessor 7 &hairperson(
Dept of &SE( Department of &SE(
"'&E( angalore523% "'&E( angalore523
E7#"$% 1 8888888888888 E7#"$% 2 8888888888888
-
8/10/2019 Final draft - version 4.1.doc
4/82
ACKNOWLEDGEMENT
I am indeed )er! happ! to greatl! ac8nowledge the numerous personalities
in)ol)ed in lending their help to ma8e m! $ro,ect on 9DELAY-OPTIMAL
BROADCAST FOR MULTIHOP WIRELESS NETWORKS USING
SELF-INTERFERENCE CANCELLATION: a successful one%
At the outset( I e9press m! most sincere grateful ac8nowledgement to
9UNI/ERSITY /IS/ES/ARAYA COLLEGE OF ENGINEERING: for
gi)ing me an opportunit! to pursue the ME degree course in WE
TE&:NO*O#IES and thus helping in shaping m! career%
I would li8e to e9press m! gratitude to D! /%$+. K R( $rincipal(
"ni)ersit! 'is)es)ara!a &ollege of Engineering( angalore( for his inspiration(
constant support in de)elopment of pro,ect wor8%
I would li8e to than8 D! P D%% S5%$;( $rofessor 7 &hairperson(
Department of &omputer Science and Engineering( "'&E%
I li8e to than8 M! K"#$ K A66"6'#$' P*%66 Department of &omputerscience and Engineering( "'&E( under whose guidance this pro,ect wor8 has
been carried out and completed successfull!% I am than8ful for his timel!
ad)ices that helped me to complete this pro,ect wor8%
I e9press m! gratitude and than8s to all the Teaching( Non5Teaching staff( m!
classmates and m! friends for their 8ind help and their timel! support and
suggestions in bringing out this pro,ect within the stipulated time%
JAIGOPI K
12GAMK4003
-
8/10/2019 Final draft - version 4.1.doc
5/82
ABSTRACT
&on)entional wireless broadcast protocols rel! hea)il! on the ;21%335based
&SMA
-
8/10/2019 Final draft - version 4.1.doc
6/82
TABLE OF CONTENTS
S $ T&", P#.% $
3% Introduction 3
1% *iterature Sur)e! 6
4% S!stem Architecture ?
4%3 S!stem &onfiguration ;
6% S!stem Anal!sis 32
6%3 E9isting S!stem 32
6%1 $roposed S!stem 32
6%4 0easibilit! Stud! 31
@% S!stem Design 36
@%3 Input design 36
@%1 Output design 3@
% S!stem Implementation 12
%3 Implementation 12
%1 Software En)ironment 12
%4 OD& 1
%6 BD& 1?
?% S!stem Testing 4
?%3 Testing Methodologies 4
?%1 S!stem Testing 4C
?%4 "ser training 63
?%6 Maintenance 61
?%@ Testing Strateg! 61
;% Results 64
C% &onclusion ?1
References ?4
ii
-
8/10/2019 Final draft - version 4.1.doc
7/82
LIST OF FIGURES
F".+% N F".+%6 P#.% N
0igure 4%3 S!stem &onfiguration ;
0igure @%3 &lass diagram 3
0igure @%1 Data 0low diagram 3?
0igure @%4 Se/uence diagram 3;
0igure @%6 "se case diagram 3C
0igure %3 Ba)a !te code 13
0igure %1 Ba)a $latform Independent 11
0igure %4 Ba)a A$I $latform 14
0igure %6 Ba)a IDE 16
0igure %@ Ba)a Runtime En)ironment 42
0igure % T&$
-
8/10/2019 Final draft - version 4.1.doc
8/82
-
8/10/2019 Final draft - version 4.1.doc
9/82
CHAPTER 1
INTRODUCTION
NETWOR5WIDE broadcast is a fundamental primiti)e for man! communication
protocols in multihop wireless networ8s( such as route disco)er! and information
dissemination% An efficient broadcast protocol needs to deli)er a pac8et For a continuous
stream of pac8etsG from the source node to all other nodes in the networ8( with high pac8et5
deli)er! ratio F$DRG and low latenc!% To impro)e $DR in a loss! networ8( multiple rela!
nodes can forward and retransmit each pac8et( thereb! creating retransmission di)ersit!% To
reduce latenc! and resource usage( howe)er( the number of transmissions must be 8ept to
minimum( since redundant retransmissions waste channel time( slowing down the pac8et=s
deli)er! to the edge of the networ8% Therefore( a delicate balance needs to be maintained
between $DR and dela!% To date( efficient broadcast support( in the form of theoretical
anal!sis or practical protocol design( has mostl! focused on the &SMA
-
8/10/2019 Final draft - version 4.1.doc
10/82
&:A$TER 3 INTROD"&TION
In this pro,ect( a no)el broadcast protocol called &horus( based on a MA& la!er that adopts
&SMA with collision resolution F&SMAed )ia its collision
resolution scheme( which is based on self5interference cancellation% "nli8e traditional
transmit di)ersit! schemes such as beam forming( &horus re/uires neither s!mbol time
s!nchroni>ation nor instantaneous channel state information% In realit!( it is difficult to
s!nchroni>e the independent transmitters A and at the s!mbol le)el% &horus e9ploits the
as!nchron! between them to identif! collision5free s!mbols in the o)erlapping pac8ets% It
then initiates an iterati)e cancellation process that subtracts clean and 8nown s!mbols from
the collided ones( and obtains estimates of un8nown s!mbols% The decoding succeeds as long
as one pac8et has sufficient SNR( hence reali>ing the di)ersit! offered b! multiple
transmitters%
At the MA& la!er( &horus adds a cogniti)e sensing and scheduling module to the ;21%33
&SMA mechanisms% Specificall!( senders bac8 off onl! when the! sense a pac8et on the air
that has a different identit! from what the! intend to transmit% Such a cogniti)e MA& allows
&horus to full! e9ploit the ad)antage of collision resolution( while maintaining friendliness
to bac8ground traffic% In addition( the collision5resolution capabilit! enables anon!mous
broadcast at the networ8 la!er( without an! topolog! or neighborhood information% To
/uantif! the effecti)eness of &horus( which establish an anal!tical framewor8 for its
Dept% of &SE( "'&E 1234536 1
-
8/10/2019 Final draft - version 4.1.doc
11/82
&:A$TER 3 INTROD"&TION
achie)able SNR and bit error rate FERG( which ta8es into account the error5propagation
effects in iterati)e collision resolution% 0urther anal!>e its networ85le)el performance in
terms of latenc! and throughput% With a ,oint design of &SMA
-
8/10/2019 Final draft - version 4.1.doc
12/82
CHAPTER 2
LITERATURE SUR/EY
*iterature sur)e! is the most important step in software de)elopment process% efore
de)eloping the tool it is necessar! to determine the time factor( econom! n compan! strength%
Once these things r satisfied( ten ne9t steps are to determine which operating s!stem and
language can be used for de)eloping the tool% Once the programmersstart building the tool
the programmers need lot of e9ternal support% This support can be obtained from senior
programmers( from boo8 or from websites% efore building the s!stem the abo)e
consideration r ta8en into account for de)eloping the proposed s!stem%
M"$""6
A wide range of applications for wireless ad hoc networ8s are time5critical and impose
stringent re/uirement on the communication latenc!% The studies the problem Minimum5
*atenc! roadcast Scheduling FM*SG in wireless ad hoc networ8s represented b! unit5dis8
graphs% This problem is N$5hard% A tri)ial lower bound on the minimum broadcast latenc! is
the radius R of the networ8 with respect to the source of the broadcast( which is the
Dept% of &SE( "'&E 1234536 6
http://www.blurtit.com/q876299.htmlhttp://www.blurtit.com/q876299.htmlhttp://www.blurtit.com/q876299.htmlhttp://www.blurtit.com/q876299.htmlhttp://www.blurtit.com/q876299.htmlhttp://www.blurtit.com/q876299.htmlhttp://www.blurtit.com/q876299.html -
8/10/2019 Final draft - version 4.1.doc
13/82
&:A$TER 1 *ITERAT"RE S"R'E+
ma9imum distance of all the nodes from the source of the broadcast% The pre)iousl! best5
8nown appro9imation algorithm for M*S produces a broadcast schedule with latenc! at
most 6; R( three progressi)el! impro)ed appro9imation algorithms for M*S% The!
produce broadcast schedules with latenc! at most 16 R 514( 3 R 53@( and R H O Flog RG
respecti)el!%
B#,#6' S,5%+"$. "$ I$'%*%%$,% E$?"$%$'
roadcast is a fundamental operation in wireless networ8s and nai)e flooding is not practical
because it cannot deal with interference% Scheduling is a good wa! to a)oid interference( but
pre)ious studies on broadcast scheduling algorithms all assume highl! theoretical models
such as the unit dis8 graph model% In this wor8( this problem is re5in)estigated using the 15
dis8 and the signal5to5interference5plus5noise5ratio FSINRG model to reali>e it% Design aconstant appro9imation algorithm for the 15dis8 model and then e9tend it to the SINR model%
This result is the first result on broadcast scheduling algorithms in SINR model( to the best of
the 8nowledge%
T=# B#,#6' R%"#@""'; "$ M@"% A H, N%'=>6 ="'5 D+@% C?%#.%
The broadcast operation( as a fundamental ser)ice in mobile ad hoc networ8s FMANETsG( is
prone to the broadcast storm problem if forwarding nodes are not carefull! designated% The
ob,ecti)e of reducing broadcast redundanc! while still pro)iding high deli)er! ratio under
high transmission error rate is a ma,or challenge in MANETs% A simple broadcast algorithm
double5co)ered broadcast FD&G( which ta8es ad)antage of broadcast redundanc! to
impro)e the deli)er! ratio in an en)ironment that has rather high transmission error rate%
Among the 35hop neighbors of the sender( onl! selected forwarding nodes retransmit the
broadcast message% 0orwarding nodes are selected in such a wa! that 3G the senders 15hop
neighbors are co)ered and 1G the senders 35hop neighbors are either forwarding nodes or
nonforwarding nodes co)ered b! at least two forwarding neighbors% The retransmissions of
the forwarding nodes are recei)ed b! the sender as the confirmation of their reception of the
pac8et% The nonforwarding 35hop neighbors of the sender do not ac8nowledge the reception
of the broadcast% If the sender does not detect all its forwarding nodes retransmissions( it
resends the pac8et until the ma9imum number of retries is reached%
Dept% of &SE( "'&E 1234536 @
-
8/10/2019 Final draft - version 4.1.doc
14/82
&:A$TER 1 *ITERAT"RE S"R'E+
E**","%$' B#,#6'"$. U6"$. N%'=> C"$.
The problem of broadcasting in an ad hoc wireless networ8 is considered( where all nodes of
the networ8 are sources that want to transmit information to all other nodes% The figure of
merit is energ! efficienc!( a critical design parameter for wireless networ8s since it directl!
affects batter! life and thus networ8 lifetime% It is pro)ed that appl!ing ideas from networ8
coding allows to reali>e significant benefits in terms of energ! efficienc! for the problem of
broadcasting( and implemented )er! simple algorithms that allow to reali>e these benefits in
practice% In particular( the theoretical anal!sis shows that networ8 coding impro)es
performance b! a constant factor in fi9ed networ8s% This factor is calculated e9actl! for some
canonical configurations% Then show that in networ8s where the topolog! d!namicall!
changes( for e9ample due to mobilit!( and where operations are restricted to simple
distributed algorithms( networ8 coding can offer impro)ements of a factor of ( where is the
number of nodes in the networ8% It uses the insights gained from the theoretical anal!sis to
propose low5comple9it! distributed algorithms for realistic wireless ad hoc scenarios( discuss
a number of practical considerations( and e)aluate the algorithms through pac8et le)el
simulation%
Dept% of &SE( "'&E 1234536
-
8/10/2019 Final draft - version 4.1.doc
15/82
CHAPTER 3
SYSTEM ARCHITECTURE
3!1 S;6'% C$*".+#'"$
The file is selected for broadcasting using the Ser)ice $ro)ider and uploaded to the
Router% Once the router recei)es the file( it splits the data into N &horus pac8ets% The chorus
pac8ets are broadcasted in a selected indi)idual path for each pac8et which has a uni/ue path
for each pac8et% The router will also chec8 for an! collision and a)oid the collision% If the
router finds there is no path further then automaticall! it applies self interference
cancellation% 0inall! the pac8ets are broadcasted to the destination MA& la!er% All the chorus
pac8ets will be chec8ed and the path selection is done to broadcast the pac8ets as shown in
the fig 4%3%
The destination will recei)e the indi)idual pac8ets and merge the pac8ets( later stores
the data% It sends the file recei)ing confirmation and the data stored confirmation to the router
in turn the router will send the file recei)ing confirmation to the ser)ice pro)ider%
Dept% of &SE( "'&E 1234536 ?
-
8/10/2019 Final draft - version 4.1.doc
16/82
&:A$TER 4 S+STEM AR&:ITE&T"RE
F". 3!1 S;6'% C$*".+#'"$
Dept% of &SE( "'&E 1234536 ;
DESTINATION
Ser)ice$ro)ide
r
Recei)e the data
Split into JN= pac8ets
Select indi)idual path
for each pac8et
MA& *A+ER
A)oid &ollision
roadcast the data torecei)er
Router
-
8/10/2019 Final draft - version 4.1.doc
17/82
&:A$TER 4 S+STEM AR&:ITE&T"RE
3!1!1 HW S;6'% C$*".+#'"$-
$rocessor Intel core1 Duo
Speed 5 1%C4 #h>
RAM 1# RAM
:ard Dis8 5 @22 #
e! oard 5 Standard Windows e!board
3!1!2SW S;6'% C$*".+#'"$-
Operating S!stemK L$ and windows ?
0ront EndK Ba)a FAWT( SWIN#S( Networ8ingG
ac8 EndK MS Access < M! S*
Dept% of &SE( "'&E 1234536 C
-
8/10/2019 Final draft - version 4.1.doc
18/82
CHAPTER 4
SYSTEM ANALYSIS
4!1 EISTING SYSTEM
The abo)e algorithmic solutions generall! assume perfect MA&5la!er scheduling% In realit!(
scheduling in wireless networ8s is mostl! based on distributed &SMA< &A% The widel! used
;21%33 standards pro)ide best effort ser)ice broadcast( using &SMA
-
8/10/2019 Final draft - version 4.1.doc
19/82
&:A$TER 6 S+STEM ANA*+SIS
scalabilit!( reliabilit!( dela!( etc%( under a broad range of networ8 scenarios Fe%g%(
single
-
8/10/2019 Final draft - version 4.1.doc
20/82
&:A$TER 6 S+STEM ANA*+SIS
4!3 FEASIBILITY STUDY
The feasibilit! of the pro,ect is anal!>ed in this phase and business proposal is put
forth with a )er! general plan for the pro,ect and some cost estimates% During s!stem
anal!sis the feasibilit! stud! of the proposed s!stem is to be carried out% This is to ensure
that the proposed s!stem is not a burden to the compan!% 0or feasibilit! anal!sis( some
understanding of the ma,or re/uirements for the s!stem is essential%
Three 8e! considerations in)ol)ed in the feasibilit! anal!sis are
Economical 0easibilit!
Technical 0easibilit!
Social 0easibilit!
4!3!1 ECONOMICAL FEASIBILITY
This stud! is carried out to chec8 the economic impact that the s!stem will ha)e on
the organi>ation% The amount of fund that the compan! can pour into the research and
de)elopment of the s!stem is limited% The e9penditures must be ,ustified% Thus the de)eloped
s!stem as well within the budget and this was achie)ed because most of the technologies
used are freel! a)ailable% Onl! the customi>ed products had to be purchased%
4!3!2 TECHNICAL FEASIBILITY
This stud! is carried out to chec8 the technical feasibilit!( that is( the technical
re/uirements of the s!stem% An! s!stem de)eloped must not ha)e a high demand on the
a)ailable technical resources% This will lead to high demands on the a)ailable technical
resources% This will lead to high demands being placed on the client% The de)eloped s!stem
must ha)e a modest re/uirement( as onl! minimal or null changes are re/uired for
implementing this s!stem%
Dept% of &SE( "'&E 1234536 31
-
8/10/2019 Final draft - version 4.1.doc
21/82
&:A$TER 6 S+STEM ANA*+SIS
4!3!3 SOCIAL FEASIBILITY
The aspect of stud! is to chec8 the le)el of acceptance of the s!stem b! the user% This
includes the process of training the user to use the s!stem efficientl!% The user must not feel
threatened b! the s!stem( instead must accept it as a necessit!% The le)el of acceptance b! the
users solel! depends on the methods that are emplo!ed to educate the user about the s!stem
and to ma8e him familiar with it% :is le)el of confidence must be raised so that he is also
able to ma8e some constructi)e criticism( which is welcomed( as he is the final user of the
s!stem%
Dept% of &SE( "'&E 1234536 34
-
8/10/2019 Final draft - version 4.1.doc
22/82
CHAPTER
SYSTEM DESIGN
!1 INPUT DESIGN
The input design is the lin8 between the information s!stem and the user% It comprises the
de)eloping specification and procedures for data preparation and those steps are necessar! to
put transaction data in to a usable form for processing can be achie)ed b! inspecting the
computer to read data from a written or printed document or it can occur b! ha)ing people
8e!ing the data directl! into the s!stem% The design of input focuses on controlling the
amount of input re/uired( controlling the errors( a)oiding dela!( a)oiding e9tra steps and
8eeping the process simple% The input is designed in such a wa! so that it pro)ides securit!
and ease of use with retaining the pri)ac!% Input Design considered the following thingsK
What data should be gi)en as input
:ow the data should be arranged or coded
The dialog to guide the operating personnel in pro)iding input%
Methods for preparing input )alidations and steps to follow when error occur%
OBJECTI/ES3% Input Design is the process of con)erting a user5oriented description of the input into a
computer5based s!stem% This design is important to a)oid errors in the data input process and
show the correct direction to the management for getting correct information from the
computeri>ed s!stem%
1% It is achie)ed b! creating user5friendl! screens for the data entr! to handle large )olume of
data% The goal of designing input is to ma8e data entr! easier and to be free from errors% The
data entr! screen is designed in such a wa! that all the data manipulates can be performed% It
also pro)ides record )iewing facilities%
4% When the data is entered it will chec8 for its )alidit!% Data can be entered with the help of
screens% Appropriate messages are pro)ided as when needed so that the user will not be in
Dept% of &SE( "'&E 1234536 36
-
8/10/2019 Final draft - version 4.1.doc
23/82
&:A$TER @ S+STEM DESI#N
mai>e of instant% Thus the ob,ecti)e of input design is to create an input la!out that is eas! to
follow
!2 OUTPUT DESIGN
The Output from the computer is re/uired to mainl! create an efficient method of
communication within the compan! primaril! among the pro,ect leader and his team
members( in other words( the administrator and the clients% The output of '$N is the s!stem
which allows the pro,ect leader to manage his clients in terms of creating new clients and
assigning new pro,ects to them( maintaining a record of the pro,ect )alidit! and pro)iding
folder le)el access to each client on the user side depending on the pro,ects allotted to him%
After completion of a pro,ect( a new pro,ect ma! be assigned to the client% "serauthentication procedures are maintained at the initial stages itself% A new user ma! be
created b! the administrator himself or a user can himself register as a new user but the tas8
of assigning pro,ects and )alidating a new user rests with the administrator onl!%
The application starts running when it is e9ecuted for the first time% The ser)er has to be
started and then the internet e9plorer in used as the browser% The pro,ect will run on the local
area networ8 so the ser)er machine will ser)e as the administrator while the other connected
s!stems can act as the clients% The de)eloped s!stem is highl! user friendl! and can be easil!
understood b! an!one using it e)en for the first time%
Dept% of &SE( "'&E 1234536 3@
-
8/10/2019 Final draft - version 4.1.doc
24/82
&:A$TER @ S+STEM DESI#N
!3 CLASS DIAGRAM
There are )arious methods and members in the class which pro)ides the broadcasting of the
pac8ets successfull!% It has ser)ice pro)ider( router and destination classes with their methods
and members as shown in the fig @%3
F". !1 C#66 D"#.#
Dept% of &SE( "'&E 1234536 3
Members
Members
Members
Methods
Methods
Methods
Ser)ice $ro)ider
rowse( "pload(
Reset0ile Name( Sender
Name( Router
Name( Destination
Name
&onnect( Recei)er(
Switch FG( 0low Slice FG(Alter FG( 0orward FG(
selectPpathFG(
splitPpac8etsFG
&ollision(
Timedela!(paths(&horus
$ac8ets(
Recei)er FG( Store FG
$ac8etPname(recei)e
Ppac8et(mergePpac8e
t and store
Router
-
8/10/2019 Final draft - version 4.1.doc
25/82
&:A$TER @ S+STEM DESI#N
!4 DATA FLOW
There are )arious components which broadcasting of the pac8ets transmits% It has mainl!
sender( router and recei)er% It shows how the pac8ets are transmitted in the s!stem as shown
in the fig @%1
N Y%6
F". !2 D#'# F= D"#.#
Dept% of &SE( "'&E 1234536 3?
R+'%
S&"' '5% #'# "$'
S%%,' D"**%%$'
#'5 * %#,5
C5%,>
6
C"6"
$S%$ D#'#
A?" '5% ,"6"$ @; 6%%,'"$.E#,5 "$"?"+# '5
B#,#6' '5% ,>%'6R%,%"?% M+'" ,>%'
B=6%
#$
6%$ *"%
B=6%
#$
6%$ *"%
-
8/10/2019 Final draft - version 4.1.doc
26/82
&:A$TER @ S+STEM DESI#N
!SEUENCE DIAGRAM
The se/uence diagram shows the se/uence of which pac8ets are broadcasted% It has mainl!
ser)ice pro)ider( router( base station and recei)er% The se/uence of pac8ets transmitted in the
s!stem as shown in the fig @%4%
S%%,'F"%
F". !3 S%+%$,% D"#.#
Dept% of &SE( "'&E 1234536 3;
Store 0ile
Send file to &luster :ead
Recei)e 0ile
Send Top5 ueries
Re/uest for Top58
ueries
0ind Attac8er
$rocess Top58 ueries
Recei)e file
F"% S%$"$.
C$*"#'"$
S%%,' C+6'%
Ser)ice $ro)ider &lustered Router Recei)er ase Station
Recei)e file
#enerateS to file
Send file download
re/uest to S
'iew Top58ueries
Select Sensor Details ased on SS
Send Sensor Details to ase Station
U F"%
To ase station
'erif! 0name and S
Send file to Recei)er
&hec8 file A)ailabilit!
0ile not A)ailable
Search file in &lustered Router
-
8/10/2019 Final draft - version 4.1.doc
27/82
&:A$TER @ S+STEM DESI#N
! U6% C#6% D"#.#
The use case diagram shows )arious interactions of the user with the s!stem when
broadcasting the file as shown in the fig @%6
Dept% of &SE( "'&E 1234536 3C
rowse 0ile
"pload
0ile
Recei)e data
Split data into JN=
$ac8ets
Select uni/ue path for eachpac8et
A)oid &ollision
Merge $ac8ets
Store data
Recei)e $ac8ets
'iew Time dela!
R%,%"?%
S%$%
R+'%
-
8/10/2019 Final draft - version 4.1.doc
28/82
&:A$TER @ S+STEM DESI#N
F". !4 U6% C#6% D"#.#
Dept% of &SE( "'&E 1234536 12
-
8/10/2019 Final draft - version 4.1.doc
29/82
-
8/10/2019 Final draft - version 4.1.doc
30/82
&:A$TER S+STEM IM$*EMENTATION
D!namic
Secure
With most programming languages( either compile or interpret a program so that it can run it
on the computer% The Ba)a programming language is unusual in that a program is both
compiled and interpreted% With the compiler( first translate a program into an intermediate
language called Java byte codes Qthe platform5independent codes interpreted b! the
interpreter on the Ba)a platform% The interpreter parses and runs each Ba)a b!te code
instruction on the computer% &ompilation happens ,ust once interpretation occurs each time
the program is e9ecuted% The fig %3 illustrates how this wor8s%
F". !1 J#?# B;'% C%
It can thought of Ba)a b!te codes as the machine code instructions for the Java Virtual
Machine FBa)a 'MG% E)er! Ba)a interpreter( whether it=s a de)elopment tool or a Web
browser that can run applets( is an implementation of the Ba)a 'M% Ba)a b!te codes help
ma8e -write once( run an!where. possible% It can compile the program into b!te codes on
an! platform that has a Ba)a compiler% The b!te codes can then be run on an! implementation
of the Ba)a 'M% That means that as long as a computer has a Ba)a 'M( the same program
written in the Ba)a programming language can run on Windows 1222( a Solaris wor8station(
or on an iMac as shown in fig %1%
Dept% of &SE( "'&E 1234536 11
-
8/10/2019 Final draft - version 4.1.doc
31/82
&:A$TER S+STEM IM$*EMENTATION
F". !2 J#?# P#'* I$%&%$%$'
!2!2 T5% J#?# P#'*
Aplatformis the hardware or software en)ironment in which a program runs% It has alread!
mentioned some of the most popular platforms li8e Windows 1222( *inu9( Solaris( and
MacOS% Most platforms can be described as a combination of the operating s!stem and
hardware% The Ba)a platform differs from most other platforms in that it=s a software5onl!
platform that runs on top of other hardware5based platforms%
The Ba)a platform has two componentsK
TheJava Virtual MachineFBa)a 'MG
TheJava Application Programming InterfaceFBa)a A$IG
It is alread! been introduced to the Ba)a 'M% It=s the base for the Ba)a platform and is ported
onto )arious hardware5based platforms%
The Ba)a A$I is a large collection of read!5made software components that pro)ide man!
useful capabilities( such as graphical user interface F#"IG widgets% The Ba)a A$I is grouped
into libraries of related classes and interfaces these libraries are 8nown as packages% The
ne9t section( What &an Ba)a Technolog! Do :ighlights what functionalit! some of the
pac8ages in the Ba)a A$I pro)ide%
The following figure depicts a program that=s running on the Ba)a platform% As the figure
shows( the Ba)a A$I and the )irtual machine insulate the program from the hardware%
Dept% of &SE( "'&E 1234536 14
-
8/10/2019 Final draft - version 4.1.doc
32/82
&:A$TER S+STEM IM$*EMENTATION
F". !3 J#?# API P#'*
Nati)e code is code that after compile it( the compiled code runs on a specific hardware
platform% As a platform5independent en)ironment( the Ba)a platform can be a bit slower than
nati)e code% :owe)er( smart compilers( well5tuned interpreters( and ,ust5in5time b!te code
compilers can bring performance close to that of nati)e code without threatening portabilit!%
What Can Java Technology Do?
The most common t!pes of programs written in the Ba)a programming language are applets
and applications% If it is surfed the Web( it is probabl! alread! familiar with applets% An
applet is a program that adheres to certain con)entions that allow it to run within a Ba)a5
enabled browser%
:owe)er( the Ba)a programming language is not ,ust for writing cute( entertaining applets for
the Web% The general5purpose( high5le)el Ba)a programming language is also a powerful
software platform% "sing the generous A$I( can write man! t!pes of programs%
An application is a standalone program that runs directl! on the Ba)a platform% A special 8ind
of application 8nown as a server ser)es and supports clients on a networ8% E9amples of
ser)ers are Web ser)ers( pro9! ser)ers( mail ser)ers( and print ser)ers% Another speciali>ed
program is aservlet% A ser)let can almost be thought of as an applet that runs on the ser)er
side% Ba)a Ser)lets are a popular choice for building interacti)e web applications( replacing
the use of I scripts% Ser)lets are similar to applets in that the! are runtime e9tensions of
applications% Instead of wor8ing in browsers( though( ser)lets run within Ba)a Web ser)ers(
configuring or tailoring the ser)er%
:ow does the A$I support all these 8inds of programs It does so with pac8ages of software
components that pro)ides a wide range of functionalit!% E)er! full implementation of the
Ba)a platform gi)es the following featuresK
T5% %66%$'"#6K Ob,ects( strings( threads( numbers( input and output( data structures(
s!stem properties( date and time( and so on%
Dept% of &SE( "'&E 1234536 16
-
8/10/2019 Final draft - version 4.1.doc
33/82
&:A$TER S+STEM IM$*EMENTATION
A&&%'6K The set of con)entions used b! applets%
N%'=>"$.K "R*s( T&$ FTransmission &ontrol $rotocolG( "D$ F"ser Data gram
$rotocolG soc8ets( and I$ FInternet $rotocolG addresses%
I$'%$#'"$#"
-
8/10/2019 Final draft - version 4.1.doc
34/82
&:A$TER S+STEM IM$*EMENTATION
How Will Java Technology Change Life?
It can=t promise fame( fortune( or e)en a ,ob if it is Ba)a programming language% Still( it is
li8el! to ma8e the programs better and re/uires less effort than other languages% It is
belie)ed that Ba)a technolog! will help to do the followingK
G%' 6'#'% +",>;K Although the Ba)a programming language is a powerful ob,ect5
oriented language( it=s eas! to learn( especiall! for programmers alread! familiar with &
or &HH%
W"'% %66 ,%K &omparisons of program metrics Fclass counts( method counts( and so
onG suggest that a program written in the Ba)a programming language can be four times
smaller than the same program in &HH%
W"'% @%''% ,%The Ba)a programming language encourages good coding practices(
and its garbage collection helps a)oid memor! lea8s% Its ob,ect orientation( its Ba)aeans
component architecture( and its wide5ranging( easil! e9tendible A$I let reuse other
people=s tested code and introduce fewer bugs%
D%?%& &.#6 % +",>;K The de)elopment time ma! be as much as twice as fast
)ersus writing the same program in &HH% Wh! write fewer lines of code and it is a
simpler programming language than &HH%
A?" '* %&%$%$,"%6 ="'5 100 P+% J#?#K It can 8eep the program portable
b! a)oiding the use of libraries written in other languages% The 322 $ure Ba)a
TM
$roduct&ertification $rogram has a repositor! of historical process manuals( white papers(
brochures( and similar materials online%
W"'% $,% +$ #$;=5%%K ecause 322 $ure Ba)a programs are compiled into
machine5independent b!te codes( the! run consistentl! on an! Ba)a platform%
D"6'"@+'% 6*'=#% % %#6";K It can upgrade applets easil! from a central ser)er%
Applets ta8e ad)antage of the feature of allowing new classes to be loaded -on the fl!(.
without recompiling the entire program%
Dept% of &SE( "'&E 1234536 1
-
8/10/2019 Final draft - version 4.1.doc
35/82
&:A$TER S+STEM IM$*EMENTATION
!3 ODBC
Microsoft Open Database &onnecti)it! FOD&G is a standard programming interface for
application de)elopers and database s!stems pro)iders% efore OD& became a de facto
standard for Windows programs to interface with database s!stems( programmers had to use
proprietar! languages for each database the! wanted to connect to% Now( OD& has made
the choice of the database s!stem almost irrele)ant from a coding perspecti)e( which is as it
should be% Application de)elopers ha)e much more important things to worr! about than the
s!nta9 that is needed to port their program from one database to another when business needs
suddenl! change%
Through the OD& Administrator in &ontrol $anel( can specif! the particular database that is
associated with a data source that an OD& application program is written to use% Thin8 of
an OD& data source as a door with a name on it% Each door will lead to a particular
database% 0or e9ample( the data source named Sales 0igures might be a S* Ser)er database(
whereas the Accounts $a!able data source could refer to an Access database% The ph!sical
database referred to b! a data source can reside an!where on the *AN%
The OD& s!stem files are not installed on the s!stem b! Windows C@% Rather( the! are
installed when it is setup a separate database application( such as S* Ser)er &lient or 'isual
asic 6%2% When the OD& icon is installed in &ontrol $anel( it uses a file called
OD&INST%D**% It is also possible to administer the OD& data sources through a stand5alone program called OD&ADM%ELE% There is a 35bit and a 415bit )ersion of this
program and each maintains a separate list of OD& data sources%
0rom a programming perspecti)e( the beaut! of OD& is that the application can be written
to use the same set of function calls to interface with an! data source( regardless of the
database )endor% The source code of the application doesn=t change whether it tal8s to Oracle
or S* Ser)er% It onl! mention these two as an e9ample% There are OD& dri)ers a)ailable
for se)eral do>en popular database s!stems% E)en E9cel spreadsheets and plain te9t files can
be turned into data sources% The operating s!stem uses the Registr! information written b!
OD& Administrator to determine which low5le)el OD& dri)ers are needed to tal8 to the
data source Fsuch as the interface to Oracle or S* Ser)erG% The loading of the OD& dri)ers
is transparent to the OD& application program% In a client
-
8/10/2019 Final draft - version 4.1.doc
36/82
&:A$TER S+STEM IM$*EMENTATION
The ad)antages of this scheme are so numerous that the! are probabl! thin8ing there must be
some catch% The onl! disad)antage of OD& is that it isn=t as efficient as tal8ing directl! to
the nati)e database interface% OD& has had man! detractors ma8e the charge that it is too
slow% Microsoft has alwa!s claimed that the critical factor in performance is the /ualit! of the
dri)er software that is used% In humble opinion( this is true% The a)ailabilit! of good OD&
dri)ers has impro)ed a great deal recentl!% And an!wa!( the criticism about performance is
somewhat analogous to those who said that compilers would ne)er match the speed of pure
assembl! language% Ma!be not( but the compiler For OD&G gi)es the opportunit! to write
cleaner programs( which means finish sooner% Meanwhile( computers get faster e)er! !ear%
!4 JDBC
In an effort to set an independent database standard A$I for Ba)a Sun Micros!stems
de)eloped Ba)a Database &onnecti)it!( or BD&% BD& offers a generic S* database access
mechanism that pro)ides a consistent interface to a )ariet! of RDMSs% This consistent
interface is achie)ed through the use of -plug5in. database connecti)it! modules( or drivers%
If a database )endor wishes to ha)e BD& support( he or she must pro)ide the dri)er for each
platform that the database and Ba)a run on%
To gain a wider acceptance of BD&( Sun based BD&=s framewor8 on OD&% As
disco)ered earlier in this chapter( OD& has widespread support on a )ariet! of platforms%
asing BD& on OD& will allow )endors to bring BD& dri)ers to mar8et much faster
than de)eloping a completel! new connecti)it! solution%
BD& was announced in March of 3CC% It was released for a C2 da! public re)iew that
ended Bune ;( 3CC% ecause of user input( the final BD& )3%2 specification was released
soon after%
The remainder of this section will co)er enough information about BD& for to 8now what it
is about and how to use it effecti)el!% This is b! no means a complete o)er)iew of BD&%
That would fill an entire boo8%
Dept% of &SE( "'&E 1234536 1;
-
8/10/2019 Final draft - version 4.1.doc
37/82
&:A$TER S+STEM IM$*EMENTATION
JDBC G#6-
0ew software pac8ages are designed without goals in mind% BD& is one that( because of its
man! goals( dro)e the de)elopment of the A$I% These goals( in con,unction with earl!
re)iewer feedbac8( ha)e finali>ed the BD& class librar! into a solid framewor8 for building
database applications in Ba)a%
The goals that were set for BD& are important% The! will gi)e some insight as to wh!
certain classes and functionalities beha)e the wa! the! do% The eight design goals for BD&
are as followsK
!4!1 SL L%?% API
The designers felt that their main goal was to define a S* interface for Ba)a% Although not
the lowest database interface le)el possible( it is at a low enough le)el for higher5le)el tools
and A$Is to be created% &on)ersel!( it is at a high enough le)el for application programmers
to use it confidentl!% Attaining this goal allows for future tool )endors to -generate. BD&
code and to hide man! of BD&=s comple9ities from the end user%
!4!2 SL C$*#$,%
S* s!nta9 )aries as it mo)e from database )endor to database )endor% In an effort to
support a wide )ariet! of )endors( BD& will allow an! /uer! statement to be passed through
it to the underl!ing database dri)er% This allows the connecti)it! module to handle non5
standard functionalit! in a manner that is suitable for its users%
!4!3 JDBC +6' @% "&%%$'# $ '& * ,$ #'#@#6% "$'%*#,%6
The BD& S* A$I must -sit. on top of other common S* le)el A$Is% This goal allows
BD& to use e9isting OD& le)el dri)ers b! the use of a software interface% This interface
would translate BD& calls to OD& and )ice )ersa%
!4!4 P?"% # J#?# "$'%*#,% '5#' "6 ,$6"6'%$' ="'5 '5% %6' * '5% J#?# 6;6'%
ecause of Ba)a=s acceptance in the user communit! thus far( the designers feel that the!
should not stra! from the current design of the core Ba)a s!stem%
Dept% of &SE( "'&E 1234536 1C
-
8/10/2019 Final draft - version 4.1.doc
38/82
&:A$TER S+STEM IM$*EMENTATION
!4! K%%& "' 6"&%
This goal probabl! appears in all software design goal listings% BD& is no e9ception% Sun
felt that the design of BD& should be )er! simple( allowing for onl! one method of
completing a tas8 per mechanism% Allowing duplicate functionalit! onl! ser)es to confuse
the users of the A$I%
!4! U6% 6'$. 6'#'", ';&"$. =5%%?% &66"@%
Strong t!ping allows for more error chec8ing to be done at compile time also( less error
appear at runtime%
!4! K%%& '5% ,$ ,#6%6 6"&%
ecause more often than not( the usual S* calls used b! the programmer are simple
SELECT=s( INSERT=s( DELETE=s and UPDATE=s( these /ueries should be simple to perform with
BD&% :owe)er( more comple9 S* statements should also be possible%
0inall! decided to proceed the implementation using Ba)a Networ8ing% And for
d!namicall! updating the cache table go for MSAccessdatabase%
Ba)a has two thingsK a programming language and a platform%
Ba)a is a high5le)el programming language that is all of the following
Simple Architecture5neutral
Ob,ect5oriented $ortable
Distributed :igh5performance
Interpreted multithreaded
Robust D!namic
Secure
Ba)a is also unusual in that each Ba)a program is both compiled and interpreted%
With a compile translate a Ba)a program into an intermediate language called Ba)a
Dept% of &SE( "'&E 1234536 42
-
8/10/2019 Final draft - version 4.1.doc
39/82
&:A$TER S+STEM IM$*EMENTATION
b!te codes the platform5independent code instruction is passed and run on the
computer%
&ompilation happens ,ust once interpretation occurs each time the program is
e9ecuted% The figure %6 illustrates how this wor8s%
F". !4 J#?# R+$'"% E$?"$%$'
It can be thought of Ba)a b!te codes as the machine code instructions for the Ba)a
'irtual Machine FBa)a 'MG% E)er! Ba)a interpreter( whether it=s a Ba)a de)elopment
tool or a Web browser that can run Ba)a applets( is an implementation of the Ba)a
'M% The Ba)a 'M can also be implemented in hardware%
Ba)a b!te codes help ma8e -write once( run an!where. possible% It can compile Ba)a
program into b!te codes on the platform that has a Ba)a compiler% The b!te codes
can then be run an! implementation of the Ba)a 'M% 0or e9ample( the same Ba)a
program can run Windows NT( Solaris( and Macintosh%
! TCPIP 6'#,>
The T&$
-
8/10/2019 Final draft - version 4.1.doc
40/82
&:A$TER S+STEM IM$*EMENTATION
F". ! TCPIP 6'#,>
T&$ is a connection5oriented protocol "D$ F"ser Datagram $rotocolG is a connectionless
protocol%
!!1 IP #'#.#6
The I$ la!er pro)ides a connectionless and unreliable deli)er! s!stem% It considers each
datagram independentl! of the others% An! association between datagram must be supplied
b! the higher la!ers% The I$ la!er supplies a chec8sum that includes its own header% The
header includes the source and destination addresses% The I$ la!er handles routing through an
Internet% It is also responsible for brea8ing up large datagram into smaller ones for
transmission and reassembling them at the other end%
!!2 UDP
"D$ is also connectionless and unreliable% What it adds to I$ is a chec8sum for the contents
of the datagram and port numbers% These are used to gi)e a client
-
8/10/2019 Final draft - version 4.1.doc
41/82
&:A$TER S+STEM IM$*EMENTATION
!!3 TCP
T&$ supplies logic to gi)e a reliable connection5oriented protocol abo)e I$% It pro)ides a
)irtual circuit that two processes can use to communicate%
!!4 I$'%$%' #%66%6
In order to use a ser)ice( it must be able to find it% The Internet uses an address scheme for
machines so that the! can be located% The address is a 41 bit integer which gi)es the I$
address% This encodes a networ8 ID and more addressing% The networ8 ID falls into )arious
classes according to the si>e of the networ8 address%
!! N%'=> #%66
&lass A uses ; bits for the networ8 address with 16 bits left o)er for other addressing% &lass
uses 3 bit networ8 addressing% &lass & uses 16 bit networ8 addressing and class D uses all
41%
!! S+@$%' #%66
Internall!( the "NIL networ8 is di)ided into sub networ8s% uilding 33 is currentl! on one
sub networ8 and uses 325bit addressing( allowing 3216 different hosts%
!! H6' #%66
; bits are finall! used for host addresses within the subnet% This places a limit of 1@
machines that can be on the subnet%
Dept% of &SE( "'&E 1234536 44
-
8/10/2019 Final draft - version 4.1.doc
42/82
&:A$TER S+STEM IM$*EMENTATION
!! T'# #%66
The 41 bit address is usuall! written as 6 integers separated b! dots%
!! P' #%66%6
A ser)ice e9ists on a host( and is identified b! its port% This is a 3 bit number% To send a
message to a ser)er( send it to the port for that ser)ice of the host that it is running on% This is
not location transparenc! &ertain of these ports are well 8nown%
!!10 S,>%'6
A soc8et is a data structure maintained b! the s!stem to handle networ8 connections% A
soc8et is created using the call socket% It returns an integer that is li8e a file descriptor% In
fact( under Windows( this handle can be used with Read Fileand Write Filefunctions%
Uinclude Vs!s
-
8/10/2019 Final draft - version 4.1.doc
43/82
&:A$TER S+STEM IM$*EMENTATION
!!11 JF%% C5#'
B0ree&hart is a free 322 Ba)a chart librar! that ma8es it eas! for de)elopers to displa!
professional /ualit! charts in their applications% B0ree&harts e9tensi)e feature set includesK
A consistent and well5documented A$I( supporting a wide range of chart t!pes
A fle9ible design that is eas! to e9tend( and targets both ser)er5side and client5side
applications%
Support for man! output t!pes( including Swing components( image files Fincluding $N#
and B$E#G( and )ector graphics file formats Fincluding $D0( E$S and S'#G
B0ree&hart is open source or( more specificall!( free software% It is distributed under the
terms of the #N" *esser #eneral $ublic *icenseF*#$*G( which permits use in proprietar!applications%
&harts showing )alues that relate to geographical areas% Some e9amples includeK FaG
population densit! in each state of the "nited States( FbG income per capita for each countr!
in Europe( FcG life e9pectanc! in each countr! of the world% The tas8s in this pro,ect includeK
Sourcing freel! redistributable )ector outlines for the countries of the world( states
-
8/10/2019 Final draft - version 4.1.doc
44/82
-
8/10/2019 Final draft - version 4.1.doc
45/82
CHAPTER
SYSTEM TESTING
!1 TESTING METHODOLOGIES
The following are the Testing MethodologiesK
o U$"' T%6'"$.!
o I$'%.#'"$ T%6'"$.!
o U6% A,,%&'#$,% T%6'"$.!
o O+'&+' T%6'"$.!
o /#"#'"$ T%6'"$.!
!1!1 UNIT TESTING
"nit testing focuses )erification effort on the smallest unit of Software design that is the
module% "nit testing e9ercises specific paths in a module=s control structure to ensure
complete co)erage and ma9imum error detection% This test focuses on each module
indi)iduall!( ensuring that it functions properl! as a unit% :ence( the naming is "nit Testing%
During this testing( each module is tested indi)iduall! and the module interfaces are )erified
for the consistenc! with design specification% All important processing path are tested for thee9pected results% All error handling paths are also tested%
!1!2 INTEGRATION TESTING
Integration testing addresses the issues associated with the dual problems of )erification and
program construction% After the software has been integrated a set of high order tests are
conducted% The main ob,ecti)e in this testing process is to ta8e unit tested modules and builds
a program structure that has been dictated b! design%
T5% *="$. #% '5% ';&%6 * I$'%.#'"$ T%6'"$.
1! T& D=$ I$'%.#'"$
Dept% of &SE( "'&E 1234536 4?
-
8/10/2019 Final draft - version 4.1.doc
46/82
&:A$TER ? S+STEM TESTIN#
This method is an incremental approach to the construction of program structure% Modules
are integrated b! mo)ing downward through the control hierarch!( beginning with the main
program module% The module subordinates to the main program module are incorporated into
the structure in either a depth first or breadth first manner%
In this method( the software is tested from main module and indi)idual stubs are replaced
when the test proceeds downwards%
2! B''-+& I$'%.#'"$
This method begins the construction and testing with the modules at the lowest le)el in the
program structure% Since the modules are integrated from the bottom up( processing re/uired
for modules subordinate to a gi)en le)el is alwa!s a)ailable and the need for stubs is
eliminated% The bottom up integration strateg! ma! be implemented with the following stepsK
The low5le)el modules are combined into clusters into clusters that perform a specific
Software sub5function%
A dri)er Fi%e%G the control program for testing is written to coordinate test case input and
output%
The cluster is tested%
Dri)ers are remo)ed and clusters are combined mo)ing upward in the program structure
The bottom up approaches tests each module indi)iduall! and then each module is module is
integrated with a main module and tested for functionalit!%
!1!3 USER ACCEPTANCE TESTING
"ser Acceptance of a s!stem is the 8e! factor for the success of an! s!stem% The s!stem
under consideration is tested for user acceptance b! constantl! 8eeping in touch with theprospecti)e s!stem users at the time of de)eloping and ma8ing changes where)er re/uired%
The s!stem de)eloped pro)ides a friendl! user interface that can easil! be understood e)en
b! a person who is new to the s!stem%
!1!4 OUTPUT TESTING
Dept% of &SE( "'&E 1234536 4;
-
8/10/2019 Final draft - version 4.1.doc
47/82
&:A$TER ? S+STEM TESTIN#
After performing the )alidation testing( the ne9t step is output testing of the proposed s!stem(
since no s!stem could be useful if it does not produce the re/uired output in the specified
format% As8ing the users about the format re/uired b! them tests the outputs generated or
displa!ed b! the s!stem under consideration% :ence the output format is considered in 1
wa!s one is on screen and another in printed format%
!1! /ALIDATION CHECKING
'alidation chec8s are performed on the following fields%
!1!!1 T%7' F"%
The te9t field can contain onl! the number of characters lesser than or e/ual to its si>e% The
te9t fields are alphanumeric in some tables and alphabetic in other tables% Incorrect entr!
alwa!s flashes and error message%
!1!!2 N+%", F"%
The numeric field can contain onl! numbers from 2 to C% An entr! of an! character flashes an
error messages% The indi)idual modules are chec8ed for accurac! and what it has to perform%
Each module is sub,ected to test run along with sample data% The indi)iduall! tested
modules are integrated into a single s!stem% Testing in)ol)es e9ecuting the real data
information is used in the program the e9istence of an! program defect is inferred from the
output% The testing should be planned so that all the re/uirements are indi)iduall! tested%
A successful test is one that gi)es out the defects for the inappropriate data and produces
and output re)ealing the errors in the s!stem%
!1!!3 P%#'"$ * T%6' D#'#
Ta8ing )arious 8inds of test data does the abo)e testing% $reparation of test data pla!s a )ital
role in the s!stem testing% After preparing the test data the s!stem under stud! is tested using
that test data% While testing the s!stem b! using test data errors are again unco)ered and
corrected b! using abo)e testing steps and corrections are also noted for future use%
!1!!4 U6"$. L"?% T%6' D#'#
Dept% of &SE( "'&E 1234536 4C
-
8/10/2019 Final draft - version 4.1.doc
48/82
-
8/10/2019 Final draft - version 4.1.doc
49/82
&:A$TER ? S+STEM TESTIN#
TYPES OF TESTS
7.2.1 Unit testing
"nit testing in)ol)es the design of test cases that )alidate that the internal program logic is
functioning properl!( and that program inputs produce )alid outputs% All decision branches
and internal code flow should be )alidated% It is the testing of indi)idual software units of the
application %it is done after the completion of an indi)idual unit before integration% This is a
structural testing( that relies on 8nowledge of its construction and is in)asi)e% "nit tests
perform basic tests at component le)el and test a specific business process( application(
and
-
8/10/2019 Final draft - version 4.1.doc
50/82
&:A$TER ? S+STEM TESTIN#
0unctions K identified functions must be e9ercised%
Output K identified classes of application outputs must be e9ercised%
S!stemsation and preparation of functional tests is focused on re/uirements( 8e! functions( or
special test cases% In addition( s!stematic co)erage pertaining to identif! usiness process
flows data fields( predefined processes( and successi)e processes must be considered for
testing% efore functional testing is complete( additional tests are identified and the effecti)e
)alue of current tests is determined%
!2!4 S;6'% T%6'
S!stem testing ensures that the entire integrated software s!stem meets re/uirements% It tests
a configuration to ensure 8nown and predictable results% An e9ample of s!stem testing is the
configuration oriented s!stem integration test% S!stem testing is based on process
descriptions and flows( emphasi>ing pre5dri)en process lin8s and integration points%
!2!4!1 W5"'% B7 T%6'"$.
White o9 Testing is a testing in which in which the software tester has 8nowledge of the
inner wor8ings( structure and language of the software( or at least its purpose% It is purpose% It
is used to test areas that cannot be reached from a blac8 bo9 le)el%
!2!4!2 B#,> B7 T%6'"$.
lac8 o9 Testing is testing the software without an! 8nowledge of the inner wor8ings(
structure or language of the module being tested% lac8 bo9 tests( as most other 8inds of
tests( must be written from a definiti)e source document( such as specification or
re/uirements document( such as specification or re/uirements document% It is a testing in
which the software under test is treated( as a blac8 bo9( cannot -see. into it% The test pro)ides
inputs and responds to outputs without considering how the software wor8s%
!3 USER TRAINING
Whene)er a new s!stem is de)eloped( user training is re/uired to educate them about the
wor8ing of the s!stem so that it can be put to efficient use b! those for whom the s!stem has
Dept% of &SE( "'&E 1234536 61
-
8/10/2019 Final draft - version 4.1.doc
51/82
&:A$TER ? S+STEM TESTIN#
been primaril! designed% 0or this purpose the normal wor8ing of the pro,ect was
demonstrated to the prospecti)e users% Its wor8ing is easil! understandable and since the
e9pected users are people who ha)e good 8nowledge of computers( the use of this s!stem is
)er! eas!%
!4 MAINTENANCE
This co)ers a wide range of acti)ities including correcting code and design errors% To reduce
the need for maintenance in the long run( need to ha)e more accuratel! defined the user=s
re/uirements during the process of s!stem de)elopment% Depending on the re/uirements( this
s!stem has been de)eloped to satisf! the needs to the largest possible e9tent% With
de)elopment in technolog!( it ma! be possible to add man! more features based on the
re/uirements in future% The coding and designing is simple and eas! to understand which will
ma8e maintenance easier%
! TESTING STRATEGY
A strateg! for s!stem testing integrates s!stem test cases and design techni/ues into a well5
planned series of steps that results in the successful construction of software% The testing
strateg! must co5operate test planning( test case design( test e9ecution( and the resultant data
collection and e)aluation %A strateg! for software testing must accommodate low5le)el
tests that are necessar! to )erif! that a small source code segment has been correctl!
implemented as well as high le)el tests that )alidate ma,or s!stem functions against user
re/uirements%
Software testing is a critical element of software /ualit! assurance and represents the
ultimate re)iew of specification design and coding% Testing represents an interesting anomal!
for the software% Thus( a series of testing are performed for the proposed s!stem before the
s!stem is read! for user acceptance testing
Dept% of &SE( "'&E 1234536 64
-
8/10/2019 Final draft - version 4.1.doc
52/82
-
8/10/2019 Final draft - version 4.1.doc
53/82
-
8/10/2019 Final draft - version 4.1.doc
54/82
&:A$TER ; RES"*TS
A recei)er dialog is to recei)e the file from the source% The recei)ed file will be displa!ed
within the area pro)ided as shown in fig ;%6%
F". !4 R%,%"?%
Dept% of &SE( "'&E 1234536 6
-
8/10/2019 Final draft - version 4.1.doc
55/82
&:A$TER ; RES"*TS
A source is initiated at node S% $ac8ets are di)ided into two and reaches node N3 and node
N1% Self interference cancellation occurs at N16 as shown in fig ;%@ due to leaf node%
F". ! S%*-I$'%*%%$,% C#$,%#'"$ #' N24
Dept% of &SE( "'&E 1234536 6?
-
8/10/2019 Final draft - version 4.1.doc
56/82
&:A$TER ; RES"*TS
During the data transmission in the path56( at N34 there is no further nodes and hence Self
interference cancellation occurs at N34 as shown in fig ;%%
F". ! S%*-I$'%*%%$,% C#$,%#'"$ #' N13
Dept% of &SE( "'&E 1234536 6;
-
8/10/2019 Final draft - version 4.1.doc
57/82
&:A$TER ; RES"*TS
All the split data nearing to the destination D( wherein the data is merged and pac8ets will be
combined at D as shown in fig ;%?%
F". ! C@"$"$. ,>%'6
Dept% of &SE( "'&E 1234536 6C
-
8/10/2019 Final draft - version 4.1.doc
58/82
&:A$TER ; RES"*TS
A file is recei)ed from the source on to the recei)er% The recei)ed file is displa!ed within the
area pro)ided as shown in fig ;%;%
F". ! R%,%"?% *"%
Dept% of &SE( "'&E 1234536 @2
-
8/10/2019 Final draft - version 4.1.doc
59/82
&:A$TER ; RES"*TS
A time dela! of pac8et 3 is displa!ed after pac8et 3 reaching the destination D as shown in
fig ;%C% The pac8et 3 has tra)elled in path53%
F". ! P#,>%' 1 '"% %#;
Dept% of &SE( "'&E 1234536 @3
-
8/10/2019 Final draft - version 4.1.doc
60/82
&:A$TER ; RES"*TS
A time dela! of pac8et 1 is displa!ed after pac8et 1 reaching the destination D as shown in
fig ;%32% The pac8et 3 has tra)elled in path51%
F". !10 P#,>%' 2 '"% %#;
Dept% of &SE( "'&E 1234536 @1
-
8/10/2019 Final draft - version 4.1.doc
61/82
&:A$TER ; RES"*TS
A time dela! of pac8et 4 is displa!ed after pac8et 4 reaching the destination D as shown in
fig ;%33% The pac8et 3 has tra)elled in path54%
F". !11 P#,>%' 3 '"% %#;
Dept% of &SE( "'&E 1234536 @4
-
8/10/2019 Final draft - version 4.1.doc
62/82
&:A$TER ; RES"*TS
A time dela! of pac8et 6 is displa!ed after pac8et 6 reaching the destination D as shown in
fig ;%31% The pac8et 3 has tra)elled in path56%
F". !12 P#,>%' 4 '"% %#;
Dept% of &SE( "'&E 1234536 @6
-
8/10/2019 Final draft - version 4.1.doc
63/82
&:A$TER ; RES"*TS
A total time dela! of all the pac8ets is displa!ed after pac8ets are reaching the destination D
and combining as shown in fig ;%34%
F". !13 T'# '"% %#;
Dept% of &SE( "'&E 1234536 @@
-
8/10/2019 Final draft - version 4.1.doc
64/82
-
8/10/2019 Final draft - version 4.1.doc
65/82
&:A$TER ; RES"*TS
MA& la!er routing is selected as Routing algorithm in the parameters to implement as shown
in fig ;%3@%
F". !1 MAC #;% +'"$.
Dept% of &SE( "'&E 1234536 @?
-
8/10/2019 Final draft - version 4.1.doc
66/82
&:A$TER ; RES"*TS
Speed of simulation speed is selected as slow in the MA& la!er routing in the parameters as
shown in fig ;%3%
F". !1 S&%% * 6"+#'"$ 6&%% - 6=
Dept% of &SE( "'&E 1234536 @;
-
8/10/2019 Final draft - version 4.1.doc
67/82
-
8/10/2019 Final draft - version 4.1.doc
68/82
&:A$TER ; RES"*TS
$ac8et started from source node 3% It carries Data pac8et and Destination address from the
source as shown in fig ;%3;
F". !1 P#,>%' 6'#'% * 6+,%
Dept% of &SE( "'&E 1234536 2
-
8/10/2019 Final draft - version 4.1.doc
69/82
&:A$TER ; RES"*TS
$ac8et has reached node 1 starting from source node 3% The distance from node 3 to node 1 is
1 units and the distance from node 3 to node 4 is units% The pac8et goes to the node 1 which
has a minimum distance as shown in fig ;%3C%
F". !1 P#,>%' %#,5% $% 2
Dept% of &SE( "'&E 1234536 3
-
8/10/2019 Final draft - version 4.1.doc
70/82
&:A$TER ; RES"*TS
$ac8et has reached node 6 starting from node 1% The distance from node 1 to node 6 is 1 units
and the distance from node 1 to node is ? units% The pac8et goes to the node 6 which has a
minimum distance as shown in fig ;%12
F". !20 P#,>%' %#,5% $% 4
Dept% of &SE( "'&E 1234536 1
-
8/10/2019 Final draft - version 4.1.doc
71/82
-
8/10/2019 Final draft - version 4.1.doc
72/82
&:A$TER ; RES"*TS
$ac8et has reached node ? starting from node @% The distance from node @ to node is 4 units
and the distance from node @ to node ? is 1 units% The pac8et goes to the node ? which has a
minimum distance as shown in fig ;%11
F". !22 P#,>%' ?"$. '=#6 %6'"$#'"$
Dept% of &SE( "'&E 1234536 6
-
8/10/2019 Final draft - version 4.1.doc
73/82
&:A$TER ; RES"*TS
&SMA la!er routing is selected as Routing algorithm in the parameters to implement as
shown in fig ;%14%
F". !23 S%%,' CSMA #;% +'"$.
Dept% of &SE( "'&E 1234536 @
-
8/10/2019 Final draft - version 4.1.doc
74/82
&:A$TER ; RES"*TS
Speed of simulation speed is selected as slow in the &SMA la!er routing in the parameters as
shown in fig ;%16%
F". !24 S%%,' 6&%% * 6"+#'"$ * CSMA
Dept% of &SE( "'&E 1234536
-
8/10/2019 Final draft - version 4.1.doc
75/82
-
8/10/2019 Final draft - version 4.1.doc
76/82
&:A$TER ; RES"*TS
$ac8et started from node 3 as shown in fig ;%1% The pac8et will be split from node 3 and
will be sent to node 1 and node 4%
F". !2 P#,>%' 6'#'% * $% 1
Dept% of &SE( "'&E 1234536 ;
-
8/10/2019 Final draft - version 4.1.doc
77/82
&:A$TER ; RES"*TS
$ac8et reached node 1 and node 4 from source% The pac8et reached node 1 has split and sent
to node 6 and node as shown in fig ;%1?%
F". !2 P#,>%' %#,5% $% 3
Dept% of &SE( "'&E 1234536 C
-
8/10/2019 Final draft - version 4.1.doc
78/82
&:A$TER ; RES"*TS
$ac8et reached node 6 from node 1 and node 4% When there is a collision( The duplicate
pac8et is re,ected at node 6 and sent to node @ as shown in fig ;%1;%
F". !2 D+&",#'% P#,>%'6
Dept% of &SE( "'&E 1234536 ?2
-
8/10/2019 Final draft - version 4.1.doc
79/82
&:A$TER ; RES"*TS
$ac8et dispatching at node @( reaching node and node ?% $ac8et arri)ed at node from
node 1 and node @% When there is a collision( duplicate pac8et is re,ected as shown in fig
;%1C%
F". !2 P#,>%' "6',5"$. #' $% #$
Dept% of &SE( "'&E 1234536 ?3
-
8/10/2019 Final draft - version 4.1.doc
80/82
&:A$TER ; RES"*TS
$ac8ets reaching destination node ; from node and node ?% $ac8et arri)ed at destination
will be merged as shown in fig ;%1C%
F". !30 P#,>%' %#,5% %6'"$#'"$
Dept% of &SE( "'&E 1234536 ?1
-
8/10/2019 Final draft - version 4.1.doc
81/82
CONCLUSION
Theoretical and practical results demonstrate the feasibilit! and ad)antages of a collision5
resolution protocol for wireless broadcast% &horus allows forwarders with the same outgoing
pac8ets to transmit roughl! at the same time( and then emplo!s ph!sical5la!er iterati)e
decoding to resol)e collisions at the recei)er%
! decoding multiple )ersions of a pac8et at once( &horus achie)es transmit di)ersit! and
impro)es loss resilience without an! retransmission% More importantl!( with its collision5
tolerant MA&( &horus significantl! simplifies the &SMA scheduling and impro)es its spatial
reuse% The theoretical anal!sis and s!mbol5le)el simulation show that &horus=s iterati)e
decoding algorithm can effecti)el! resol)e collisions with negligible error propagation effect%
It established an as!mptotic latenc! bound of when using &horus for broadcast( where r is the
networ8 radius% This networ85le)el simulation e9periments further show that &horus
outperforms a t!pical &SMA
-
8/10/2019 Final draft - version 4.1.doc
82/82
REFERENCES
X3Y Lin!u Zhang and ang #% Shin -Dela!5Optimal roadcast for Multihop Wireless
Networ8s "sing Self5Interference &ancellation. IEEE Transaction% Mobile &omputing(
)ol% 31( no% 3( Ban 1234%
X1Y R% #andhi( S% $arthasarath!( and A% Mishra( -Minimi>ing roadcast *atenc! and
Redundanc! in Ad :oc Networ8s(. $roc% A&M Mobi:oc( 1224%
X4Y S%5:% :uang( $%5B% Wan( L% Bia( :% Du( and W% Shang( -Minimum5*atenc! roadcast
Scheduling in Wireless Ad :oc Networ8s(.$roc% IEEE IN0O&OM( 122?%
X6Y S% :uang( $ %B% Wan( B% Deng( and +% :an( -roadcast Scheduling in Interference
En)ironment.IEEE Trans% Mobile &omputing( )ol% ?( no% 33( pp% 344;5346;( No)%122;%
X@Y W% *ou and B% Wu( -Toward roadcast Reliabilit! in Mobile Ad :oc Networ8s with
Double &o)erage(. IEEE Transaction% Mobile &omputing( )ol% ( no% 1( pp% 36;534(
0eb%122?%
XY D% Tse and $% 'iswanath( 0undamentals of Wireless &ommunication% &ambridge "ni)%(
122@%
X?Y R% Mudumbai( D%R% rown( "% Madhow( and :%'% $oor( -Distributed Transmit
eamformingK &hallenges and Recent $rogress(. EEE &omm% Maga>ine( )ol% 6?( no%1(
pp% 3215332( 0eb% 122C%
X;Y %S% &hlebus( *% #asieniec( A% #ibbons( A% $elc( and W% R!tter( -Deterministic
roadcasting in "n8nown Radio Networ8s(. $roc% A&M5SIAM S!mp% Discrete
Algorithms FSODAG( 1222%
XCY R% Mah,ourian( 0% &hen( R% Tiwari( M% Thai( :% Zhai( and +% 0ang( -An Appro9imation
Algorithm for &onflict5Aware roadcast Scheduling in Wireless Ad :oc Networ8s(.
$ A&M M bi& 122;