Performance Analysis of Internet based Software Retrieval Systems using Petri Nets
Jos ´e Merseguer
Dpto. de Inform ´atica e Ingenier´ıa de Sistemas, University of Zaragoza, Spain
[email protected]
Javier Campos
Dpto. de Inform ´atica e Ingenier´ıa de Sistemas, University of Zaragoza, Spain
[email protected]
Eduardo Mena
Dpto. de Inform ´atica e Ingenier´ıa de Sistemas, University of Zaragoza, Spain
[email protected]
ABSTRACT
Nowadays,thereexistwebsitesthatallowuserstoretrieve
and install software inan easy way. The performance of
these sites may be poor if they are used in wireless net-
works;thereasonistheinadequateuseofthenetresources
theyneed. Ifthiskindofsystemsaredesignedusingmobile
agent technology the previous problem might be avoided.
Inthispaper,wepresent acomparisonbetweentheperfor-
manceofasoftware retrievalsystemespeciallydesigned to
be usedin wireless networks (e.g., mobile computers)and
theperformanceofasoftwareretrievalsystemsimilartothe
well-knownTucows.comorDownload.comwebsites.
Inordertocompareperformance,wemakeuseofasoft-
ware performanceprocess enrichedwithformaltechniques.
TheprocesshasasimportantfeaturesthatitusesUMLas
adesignnotationanditusesstochasticPetrinetsasformal
model. Petrinetsprovideaformalsemanticsforthesystem
andaperformancemodel.
Keywords
Softwareperformanceengineering,stochasticPetrinets,In-
ternet,UML,wirelessnetworks,mobileagenttechnology
1. INTRODUCTION
The tasks of retrievingand installing software usingIn-
ternet have become common in the last years. There are
sites (e.g., Tucows.com [3], Download.com [1], and Game-
Center.com [2])whichpermit toperformthesetasks inan
easyandfriendlyway. Buttheprocessofselectingthesoft-
ware could become costly and sometimes slow: the user
must select a great number of categories until s/he nds
thedesired software, specially if s/he is anaive user. Ev-
ery time the user selects a category, the web site sends a
new HTMLpage with the contents of the category. This
This work has been developed within the project UZ00-
TEC-03oftheUniversityofZaragoza.
techniquemakesanintensiveuseofthenetworkconnection,
whichcanresultinapoorperformanceandexpensivecom-
municationcost(inawirelessenvironment).Thus,itwould
be interesting toget results aboutthe performance ofthis
kindofsystemstoexactlyknowhowcostlythisprocessis.
A newtechnology, mobileagents [17], canaid to reduce
the network connection time. We recall in this paper a
software retrieval service [11] belonging to the ANTARC-
TICA system [20] which has been designed using mobile
agents. The aim of this service is to propose an alter-
native methodto the current web-based software retrieval
systems, called inthis article \Tucows-like" systems. The
ANTARCTICAsystemhasbeendesignedtobeusedinwire-
lesscommunicationenvironmentswherenetspeedisaprob-
lem, say 800 bytes/sec. in GSM networks. Therefore, it
promotes abetter use ofthe netresources, thus supplying
betterperformanceresults. Inthefollowing,werefertothe
ANTARCTICAsoftwareretrievalserviceasthe\ANTARC-
TICASRS".
Ourgoal in this workis to compare theperformance of
Tucows-likesystemswiththeperformanceoftheANTARC-
TICA SRS using analytical software performance tech-
niques. Theperformance indexunder studyfor both sys-
temsisthe networktime, i.e., howmuchtimethe network
connection needs to be open in order to retrieve a soft-
ware product. Theimpactof the intelligent agentsin the
ANTARCTICASRSwillbeanalyzedtoo.
Thesoftware performanceengineering [19]proposeseval-
uating performanceof software systemsinthe earlystages
ofthedevelopmentprocess. Thus,ifperformanceproblems
are detected, it will be easier and less expensive to take
the appropriate design decisions to solve them. The Uni-
ed Modelling Language (UML) [5] is the design notation
that we will use to model software retrievalsystems. The
selectionofUMLismotivatedbecauseitiswidelyaccepted
bythesoftwareengineeringcommunityandittsverywell
inthesoftware lifecycle. Sinceweareinterestedinperfor-
manceaspects,weuseUMLextendedwithperformancean-
notations. Ingeneral,softwaresystemsarecomplexsystems
evenmoreiftheyaredistributed,soweadvocatetheuseof
formalmodelstoobtainperformanceindices. HoweverUML
lacksofthenecessaryformalsemanticsto applyanalytical
techniques. Thus,wepropose tosemi-automaticallyobtain
Petrinets (PNs)[16]fromUMLdiagramsandtousethem
toobtainperformanceindices. PNsareawidelyusedformal
modelforconcurrentsystemsandprovidedwithastochastic
timeinterpretation,theyaresuitableforperformanceeval-
uation. Concretely,we usestochastic well-formed coloured
nets(SWNs)[6].
Thereexistseveralworksthatcombinedesignmethodolo-
giesandperformancemodeling. In[10]stochasticPetrinets
areobtained fromUMLdiagramswithperformance evalu-
ationpurpose. Inour opinion, it is not clearly stated the
translationprocess,anditisnotclearhowtheperformance
modelis obtained. Therefore, it has not been possible to
testtheirtechniqueinourexamplestocomparetheir solu-
tionwithours. In[21] anapproachtoperformancepredic-
tionfortherealtimeeldispresented. ItusesROOM[18]
asadevelopmentmethodandalayeredqueuingnetworkas
aperformancemodel, aprototypetoolhasbeendeveloped
toassist the process. A parallelworkto oursoftware per-
formanceprocessusingUMLandqueueingnetworks(QNs)
is being developed in[8]. However, we claim that for the
caseofparallelanddistributedsystems,asthosepresented
inthispaper,PNsimprovetheadequacyofQNs,sincethey
providegeneralsynchronizationmechanismsandvalidation
techniquesfor logicalproperties. Intheeld ofprocessal-
gebras,thereexistinterestingworks,see[4], closelyrelated
toours.
Therestofthepaperisorganizedasfollows. Insection2,
theprocessfollowedtoevaluatesoftwareperformanceisde-
scribed. Insection 3,a Tucows-like software retrieval sys-
temismodeledusingUMLandthismodelistranslatedinto
SWNs.Insection4,themaincomponentsoftheANTARC-
TICASRS are described. Insection 5,we present acom-
parison between performance gures for both approaches.
Finally,someconcludingremarksarestressedinsection6.
2. THE SOFTWARE PERFORMANCE PROCESS
\Thesoftwareperformanceengineering(SPE)isamethod
for constructing software systems tomeet performance ob-
jectives.SPEaugmentsotherssoftwareengineeringmethod-
ologies; itdoes not replace them" [19]. In thissection, we
brie ypresent asoftware performance process, introduced
in[13, 14], that will beapplied insections3 and 4to the
softwareretrievalsystemsproposedintheintroduction. An
interestingcharacteristicofthisprocessisthatitusesafor-
malmodel(SWNs)toobtainperformanceindices. Thisfor-
mal model can be obtained semi-automatically inside the
software development process. In this way, without much
eort,theprocess allows toobtainaperformancemodelas
a by-product and it preserves the benets of the software
design methodologies. A complementary approach to ob-
taintheperformancemodel,basedon\designpatterns"[9],
isbeingdeveloped,itcanbefoundin[12].
The performance of a system is traditionally obtained
from itsdynamic view. So, we concentrate on developing
the UML diagrams corresponding to the dynamic model.
Unfortunately, UML lacks of the necessary expressiveness
to accurately describe the system load, which is needed
to obtain performance gures. To bridge the gap, we use
a UML time extension proposed in [13] to successfully
deal with performance features at the designstage. Once
the UMLmodels have beendeveloped, we have to obtain
performance indices from them. As UML lacks of the
necessary formal semantics to obtain them, we use PNs
with this purpose. Our approach is to provide a formal
(a) (b)
1..n
{20K..30K}
[satisfied]
get(html_page)
{0.1}
observe(html_page) {1K}
select_category(url)
select_URL(url)
select_sw(url) {1K}
{1K}
{20K..30K}
{1K}
download(url)
succ_install() {1K}
{file_size}
Browser WebServer
search engine Navigation
facility
Keyword-based User
1-p p
Figure 1: (a) Use cases for the Tucows-like system
and(b)annotated sequencediagramforthe naviga-
tionfacility use case.
we propose a translation from the UML time annotated
diagrams into SWNs. This translation will be performed
using the techniques given in [13]. From SWNs, perfor-
manceindices may be computed by applying quantitative
analysistechniquesalreadydevelopedintheliterature. The
techniques that we will use are those implemented in the
GreatSPN tool[7].
2.1 Modeling the behaviour of a system using performance annotated UML diagrams
Theprocessbeginsby modelingthesystem dynamicsin
a conventional way. The UML dynamic diagrams [5] will
guide the process. Use case diagrams, sequence diagrams
andstatechartdiagramswillbeusedinthispaper. Activity
diagramsarenotusedbecausewearenotinterestedinmod-
elingtheactionsperformedbythesystemsthatwemodel.
Figure 1 depicts an example of use case and sequence
diagram, that will be explained later on. A sequence di-
agram represents messagessent among objects. Messages
sent among objects on the same computer are considered
as notime consuminginthe scope of the modeledsystem
(for instance, the messages sent betweenthe user and the
browserinFigure1.b). Messagessentamongobjectsondif-
ferent computers, thosewhichtravelthrough thenet, will
consumetimeasafunctionofthemessagesizeandthenet
speed(forinstance,inFigure1.bthemessagessentbetween
the browser andthewebserver). Eachmessagesize is an-
notatedinsidebraces. Forinstance,theselectURLmessage
is labelledwith f1Kg inFigure 1.b. It is also possible to
annotate the size witha range inthe UML common way
(liketheget messagewithlabelf20K..30Kg inFigure1.b).
If the message size is unknown, the annotation is a label
representing a performance parameter (e.g., the return of
thedownloadmessageisannotatedwiththelabelflesizeg,
alsoinFigure1.b).
for theassociated message tobe dispatched. Annotations,
also between braces, express the event probability success
associatedwitheachcondition(forinstance,seeprobability
f0.1gassociatedwiththeconditionsatisedinFigure1.b).
Iftheprobabilityisunknown,theannotationisalabelrep-
resentingaperformanceparameter.
In order to get a complete view of the system dynam-
ics, a statechart for each class with relevant dynamic be-
haviour mustbedeveloped, as thosedepictedinFigure 2.
Tostudyperformanceaspectsonastatechart,twoelements
aremeaningful,theactivities andtheguards. Inthefollow-
ing,webrie ycommenttheannotationsusedinthesekind
ofdiagrams.
Activitiesrepresenttasksperformedbytheobject,there-
fore, theyconsume computationtime that mustbe anno-
tated. The annotation will be done between braces. For
example, seein Figure2.c the bold labelf1 sec.g close to
theactivity ndle. Ifitisnecessary,minimumandmaxi-
mumvalueswillbeannotated.
Guardsshowconditionsinatransition. Theymusthold
in order to re the event that they label. The probabil-
ity associated to them,already annotated inthe sequence
diagrams,arealsoindicatedinthestatechartstogainread-
ability. Inthe sameway,the size of the messagesmay be
annotatedoromitted.
2.2 Translation of the performance annotated UML diagrams into SWNs
FromtheperformanceannotatedUMLdiagramsitisin-
terestingtoobtainperformanceindicesforthesystem. But,
as we said before, UML lacks of the necessary formal se-
manticstoapplyquantitativeanalysistechniquestoobtain
them. Evenmore,itisnotsuitabletospecifysomesystem
aspects, for exampleconcurrency, whichis fundamental in
performanceevaluation. Therefore,theUMLdiagramswill
betranslatedintoSWNs,whichallowtoobtainperformance
indices,takingtheproperdecisionsfortheunspeciedsys-
temrequirements.
Thestrategy toobtain the SWNsfromthe performance
annotatedUMLdiagramsisasfollows.
1. Derivation of a SWN from each statechart. These
SWNswill becalled component nets. Theyrepresent
thebehaviourofeachclasswiththeunderlyingSWN
formalsemantics. Toobtainacomponentnetfroma
statechartseveralrulesmustbeapplied,detailscanbe
foundin[13];thefollowingarethemostimportant:
Eachstate of the statechart is represented by a
place,withthesamename,intheSWN.
For each transition in the statechart, there will
beintheSWN:
(a) Atransitionwiththesamenameastheevent
thatlabelsthetransitioninthestatechart.
(b) Anarc fromtheplace(whichrepresentsthe
initial state inthestatechart) tothe transi-
tionintheSWN(whichrepresentsthetran-
sitioninthestatechart).
(c) AnarcfromthetransitionintheSWN(which
representsthetransitioninthestatechart)to
theplace(whichrepresentsthenalstatein
thestatechart).
(b)
(c) (a)
[^user.satisfied]select_sw(url)
^webServer.download(url) {file_size}
get(html_page)
^user.observe(html_page) {1K}
^user.succ_install
{1K}
{1K}
{1K}
WAIT {1K}
reply
select_category(url)
^webServer.select_URL(url)
{20K..30K}
{1K}
download(url) select_URL(url)
Do:find_html_page Do:find_file
{20K..30K}
^Browser.get(html_page) {1sec.}
{1K}
^Browser.reply(file)
WAIT {1sec.}
{1K}
{file_size}
{1K}
[satisfied]^Browser.select_sw(url) {1K}
observe(html_page) [not_satisfied]
wait
{1K}
succ_install() {1K}
{1K}
^Browser.select_category(url) wait
{time}
Do:examine for html page
wait download
for
Figure2: AnnotatedstatechartsforTucows-likesys-
tem: (a)user, (b)browser,and (c) the webserver
Guards in the statechart becomes immediate
transitions with the associated corresponding
probabilities fortheresolutionofcon icts.
Activities insideastate of a statechart are con-
sidered as time consuming,so inthe SWNthey
are expressed as timedtransitions. The rate of
the exponentiallydistributedservice timeof the
timedtransitionsareobtainedautomaticallyfrom
thetimeannotationofthestatechart.
Asexample, seeinFigure 3 the component nets ob-
tainedfromthestatechartsinFigure2.
2. ObtainingaSWNforthesystem. Fromthecomponent
nets, andguided by thesequencediagram(s), acom-
plete SWNfor thesystemis obtained. Transitionsin
thecomponent netsthat represent thesamemessage
are synchronized if the message has wait semantics;
ontheotherhand,ifthemessagehasnowaitseman-
ticsthetransitionsareconnectedwithanextraplace,
modelingacommunicationbuer.
TheoutcomeSWN modelsthebehaviourofthewholesys-
tem. Figure4depictsanexampleofacompletenetobtained
fromthecomponentnetsinFigure3andfromthesequence
diagraminFigure1.b. Theperformanceguresforthesys-
tem are obtained by analyzing the completeSWN for the
system.
3. MODELING THE TUCOWS-LIKE SOFTWARE RETRIEVAL SYSTEM
There are avariety of software retrievalsystems, as the
popular web sites Tucows.com [3], Download.com [1] or
Gamecenter.com [2], that provide Internet users with fa-
cilities to retrieve and install software. These systemsal-
low users to nd software in two dierent ways, by using
a keyword-basedsearch engine and bynavigatingthrough
navigationfacility isbasicallythesame,therefore,itispos-
sible to modelhow these kindof systemswork, making a
numberofassumptions,withoutlosingreality withrespect
toperformance aspects. Wewillrefer tothesekindof sys-
tems as Tucows-like systems. Our intent is to evaluate
performance indices for a Tucows-like system in order to
comparethemwiththose obtainedfor theANTARCTICA
SRS.
Thekeyword-basedsearchengineoershelptothoseusers
thatknowsomefeaturesofthewantedsoftware. Thissearch
facilitywillnotbeconsideredinthispapersinceitcannotbe
usedbynaiveusersthatdonotknowntheconcretesoftware
that theyneed. Thenavigation facility consists of several
webpages residingonaserverand organized ascategories
linkedbetweentheminawaythatguidestheusertondthe
software. Forinstance, a numberofthese systemspresent
aninitialwebpagewherethecategoriescorrespondtodier-
entoperatingsystems,sayWindows2000,Windows95/98,
LinuxorUnix. Theuserselectsthedesired categoryanda
newwebpagewithseveraltopicslikemultimedia,browsers
orInternettoolsisloaded,inthiswaytheusercancontinue
thesearchofthesoftware. TheANTARCTICASRSoers
amechanism toretrievesoftware similarto thenavigation
facility, but it makes use of intelligent agents to perform
thetask,thereforeaperformance comparisoncanbemade
betweenthetwosystems.
Inthissection,wedescribeand modelthenavigationfa-
cilityoftheTucows-likesystems.Accordingtothesoftware
performance process described in the previous section, we
aregoing tomodelthe Tucows-like systemusing UMLen-
hanced with performance annotations. Later, this model,
representedbyanumberofdiagrams,willbeconvertedinto
anSWNbyapplyingtherulesgivenin[13]andsummarized
insection 2. Therefore, we will obtain a formal modelas
the input for the analytical techniques in order to obtain
thedesiredperformanceindicesforthesystem.
3.1 System description of a Tucows-like sys- tem and modeling assumptions
InaTucows-likesystem,theuser navigates,withthehelp
of abrowser, through dierent HTML pages (representing
software categories and descriptions of concrete pieces of
software)untils/he ndsa piece of software that satises
her/hisneeds. Then,thatpieceofsoftwareisdownloaded.
Inshort, the process of selecting software bynavigating
HTMLpagesisasfollows: Theuser\clicks"onacategory,
thenthebrowserrequeststhewebserverforthecorrespond-
ing HTMLpage. Thewebserverreturns the HTMLpage
tothebrowser,whichpresentsittotheuser. Afterreading
this page, theuser can\click" onanother linkinorderto
accessanewwebpagewithothercategoriesoralistofsoft-
ware underthe current category. Thisprocess is repeated
until the user nds a software that fullls her/his needs.
Then the browserrequests the web serverfor theselected
software,whichisdownloadedintotheusercomputer.
Itmustbeassumedthattheuserspendssometime read-
ing the information presented by the system. An expo-
nentially distributed random variable with rate
examine
(examine isobtainedastheinverseofthetimeinseconds)
willbeusedtomodelseveralkindsofusers.
ThenumberofHTMLpagesthattheusermustnavigate
wait S R
P3 R
P4 R P5 R
examine
observe not_satisfied
Browser.select_category
Browser.select_sw succ_install
<x>
<x>
<x> <x>
<x>
<x>
<x>
<x>
<x>
<x> <x> <x>
R:c request:c S:m
(a)
wait S R
P2 R
P5 R
P7 R
P8 P11 R R
reply
user.observe get
user.succ_install
webServer.selectURL select_category
webServer.download select_sw
<x>
<x>
<x>
<x>
<x>
<x> <x> <x>
<x>
<x>
<x>
<x> <x>
<x> <x>
R:c request:c S:m
(b)
wait
P2
P3 P4
P5 Browser.reply
download select_URL
Browser.get
find_file find_html_page
(c)
Figure 3: Component PNsfor the Tucows-like sys-
tem: (a)user, (b)browser,(c) web server.
pendsonher/hisexperience).Theprobabilitythattheuser
nds the software by selecting n categories models dier-
entkindsofusers,fromnaiveusers,thosewhoneedtovisit
manycategoriestondthesoftware, toexpertusers,those
whondthesoftwarevisitingveryfewcategories.
WhenevertheuserrequestsanHTMLpageoraconcrete
piece of software, the web server mustperform the corre-
spondingactivities tondthepageorthepiece. Thetime
consumed by theseactivities will be modeledby variables
withrates
findHTML and
findFile .
The browser, in the client machine, sends messages
through the net to the web server in the server machine
and vice versa. A variablewith ratem
i
modelsthe time
spentbythemessage i navigatingthroughthenet. Notice
thatthemessagessentbetweentheuserandthebrowserdo
notconsumenetresources.
Itcouldbearguedthatexponentialassumptionisnotre-
alistic for the modeling ofnetworkdelays,and that heavy
tailed distributions would be better. However, a perfor-
mancemodelmustmanytimesloseinaccuracyoftherep-
resentation of reality in order to be able to be analyzed.
Anyhow, the possibility of representing delays with non-
exponentialdistributionscould beconsideredinthefuture
ifsimulationtechniquesareusedinsteadoftheanalyticap-
proachfollowedhere.
3.2 UML diagrams with performance annota- tions
InthissectionwemodelthedynamicviewoftheTucows-
scenarios for the system: the navigation facility and the
keyword-based search engine. Ithasbeendevelopedfollow-
ingthenotationgivenin[8]wherepmeanstheprobability
that the userexecutes the scenario. We assume that p=1
becausewe arenot interestedinthekeyword-basedsearch
engine, in this way all user executions correspond to the
navigationfacility.
Thesequence diagram inFigure1.b shows adetailedde-
scriptionofthe\navigationfacility" scenario. Itshowsthe
messagessentamongtheobjectsinthesystemwiththepur-
pose to retrieve the pieceof software that the userneeds.
Twodierentkindsofmessagescanbedistinguished,those
thattravelthroughthe net(sent betweenthebrowserand
thewebserver)andthosethatdonot(sentbetweentheuser
andthebrowser). ThisfeaturewillberelevantintheSWN
modelinorderto associate timeto transitionsthat repre-
sentmessagessentthroughthenet,takingintoaccountthe
assumptionsmadeintheprevioussection.
The sequence diagram begins with a selectcategory(url)
message, its size is f1 Kbyteg, sent by the user to the
browser. It represents the \click" performed by the user
inthebrowserto selectacategoryinanHTMLpage. The
restofthediagramdescribesinthesamewaythestepsex-
plainedintheprevioussectionforselecting software.
InordertogetacompletedescriptionoftheTucows-like
systemdynamicsanditsload,weare goingto developthe
statechartforeachclasswithrelevantdynamicbehaviour.
Userstatechartdiagram. In Figure 2.a, the behaviour
of auseris represented. Theuserisinthewaitstate
until s/he activates the selectcategory event. This
event sets the user inthe wait for HTML pagestate.
Theobserveevent,sentbythebrowser,allowstheuser
toperformtheexamineactivitythathasassociatedthe
labelftimeg. Thislabelmodelsthetimethattheuser
spendsreading theHTMLpage. Thisactivitywillbe
translatedintheSWNnetinatransition,andbymod-
ifyingitsratedierentkindsofuserscanbemodeled,
as we pointed out inthe previous section. Oncethe
activityisperformedtwosituationscanarise:
If the requested software is not present in the
currentHTMLpagetheuserreturnstothewait
state.
In other case, the user sends the selectsw(url)
message to the browser, where url means the
webaddresswherethesoftware islocated inthe
server,and enters inthewait fordownloadstate.
Whenthebrowserfulllsthenecessaryactivities
tocompletethedownload,itsendstotheuserthe
succinstall()messageandtheuserreturnstothe
waitstate.
Browserstatechart diagram. Figure 2.b shows the
browser'sstatechart. Thebrowserbehavesasaserver
object:itiswaitingforuser'srequests,representedby
selectcategoryandselectswevents.
Whena selectcategoryevent arrivesrequestingaurl,
the browser sends to the web server the selectURL
message and waits for a new HTML page. When
thewebserverobtainsit,ittriggers thegeteventat-
net, itwill betranslatedin theSWN as atransition
withratem
g et
,aswepointedoutintheprevioussec-
tion.Afterthat,theHTMLpageisshowntotheuser.
When a selectsw event arrives requesting a url that
contains apieceofsoftware adownloadmessage with
the url is sent to the web server. Thebrowser waits
for thereply message that contains therequested le
with size lesize, it will be translated in the SWN
ina transition withrate
m
r eply
. Finally, the le is
installed(succinstall).
Web serverstatechart diagram. As the browser, the
web server behaves as a server object. It is wait-
ing forarequest(select URLanddownload)from the
browser. Foreachrequest,thewebserverperformsthe
corresponding actions to serve it (ndhtmlpage and
ndle). When the actions are completed, it sends
thecorrespondingmessagetothebrowser. Figure2.c
showsthewebserver'sstatechartdiagram.
3.3 Modeling the system with SWNs
PNs are a suitable formalism for the modeling of con-
current phenomena. There are situations that cannot be
expressedwithUMLdiagramsbuttheycanbeperfectlyde-
scribedwithPNs. Forexample,withaPNwecanexactly
modelhowmanyconcurrentrequeststodownloadsoftware
thesystemmightserve;UMLdiagramscannotexpressthat.
Inthissection,wedetailtheSWNmodelfortheTucows-
likesystem. Thenetshave beenobtainedbyapplying the
translation rules, givenin[13] and schematically shownin
section 2. Inordertomodelsituations that thePetrinets
canexpressbuttheUMLnotationcannot, theappropriate
decisionswillbetakenandcommented.
Figure 3 represents the component nets, those obtained
from the statecharts, for the Tucows-like system and Fig-
ure 4representsthe netfor thewhole system,obtainedby
synchronizingthecomponentnets. Westartdescribingthe
componentnets.
User component net. Thenumberoftokensintheplace
waitmodelshow many concurrentuserssupports the
system. This parameter cannot be modeled in the
UMLdiagrams.
The ring of the transition named
Browser.select category models the dispatch to
the browser of a message to specialize the current
HTMLpage,itwillarrivewhenthetransitionnamed
observe res. The ring of the transition named
examine models the time spent by the user reading
the information presented in the new HTML page.
After the end of the reading, a choice will deter-
mine whether the user is satised with any of the
products shown (ring of the immediate transition
Browser.select sw ), or not (ring of the immediate
transitionnotsatised).
The ring of the immediate transition named
succinstallmodelsthearrivalofamessage toconrm
thattheretrievalofthesoftwarehasbeensuccessfully
completed.
Browsercomponent net. The number of tokens in the
place wait models how many concurrent browser ac-
P4 R
wait_WebServer P2
R P3 R
P5 R wait_Browser
S R
P10 R
buffer_download R P12 R
P13 R
P15 R wait_user
S R
P17 R
uffer_select_sw R
buffer_get R
P25 R
P28 buffer_reply R R P26 R
download_browser
select_URL get get_browser
examine
find_file find_html_page
reply select_category
select_sw_user not_satisfied
observe
Browser.reply download_webServer
select_sw_browser
succ_install
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x> <x> <x>
<x>
<x> <x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x> <x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
R:c request:c S:m
Figure4: CompleteSWNforthe Tucows-like system.
user component net to identify each browser with a
user. ThisparametercannotbemodeledintheUML
diagrams.
Theringofthetransitionnamedselectcategorymod-
elsthearrivalofmessagesfromtheuserrequestingfor
a specialization of the category that s/he has exam-
ined, the transition is immediate because both, the
sender and the receiver, are in the client machine.
Therequestissenttothewebserverthroughthenet,
thereforeconsumingtimebyringthetimedtransition
namedwebServer.selectURL.Thering oftransitions
get and user.observe models,respectively, theobtain-
ing of the HTML page with new categories and its
dispatchtotheuser.
Theringofthetransitionnamedselectswmodelsthe
arrivalofmessagesfromtheuserrequestingaconcrete
pieceofsoftware. Therequestissenttothewebserver
throughthenet byringthetimedtransitionnamed
webServer.download. Theringofthetimedtransition
namedreplymodelstheobtainingofthelerequested
byprevioustransition. Finally,theringofthetransi-
tionnameduser.succinstallmodelstheadvertisement
to theuserthattheretrieveofthesoftware hasbeen
successfullycompleted.
The selectcategory and selectsw transitions will be
synchronizedinthecompletenetwiththetransitions
intheusercomponentnetwiththesamename.
Webserver componentnet. The number of tokens in
theplacewaitmodelshowmanyconcurrentprocesses
the web server has launched to attend browser's re-
quests. Thisparametercould notbemodeledinthe
UMLdiagrams.
The ring of the timed transition named selectURL
modelsthearrivalofaremotemessagetorequestfor
anewHTMLpage. Theringofthetimedtransition
named downloadmodels thearrivalofa remotemes-
sagetorequestforaconcretepieceofsoftware. Ther-
ingofthetimedtransitionnamedndhtmlpagemod-
Figure5: ArchitecturefortheANTARCTICASRS.
Theringofthetimedtransitionnamedndlemod-
elsthe completionofthesearchfor arequested piece
ofsoftware. Theringofthetimedtransition named
Browser.getmodelsthedispatchoftheHTMLpageto
thebrowser. Finally,theringofthetimedtransition
namedBrowser.replymodelsthedispatchoftheleto
thebrowser.
The selectURL, download, Browser.get and
Browser.reply transitions will be synchronized in
the completenet with the transitionsinthe browser
componentnetwiththesamename.
Aswesaidbefore,thenetforthewholesystem,depicted
inFigure4,isobtainedbyapplyingthe rulesgivenin[13].
These rules basicallystatethat iftwotransitionsindier-
entnetsrepresentthesamemessage(thesenderandthere-
ceiver),theymustbeconnectedusinganintermediatebuer
place(nowaitsemantics)or theymustbesynchronizedin
a uniquetransition (wait semantics). If the message trav-
elsthroughthenet,thenthetransitionsaretimedandtwo
situationscanarise:
Iftheyareconnectedinthecompletenetbyusingan
P1 R
wait_SwManager
P5 R P6 R
R P7
P8 R
wait_UserforService m1 R wait_UserforCatalog
R
P15 R
P16 R
R P17 P18 R
P19 m1 R P20 R
begin_add_info_sale R
P22 R P23 R
end_add_info_saleR
P25 m1 R P26
R P27
R
wait_Browser R
P29 R
P30 R
P31 R
wait_Alfred P35
R
P36 R
P37 R
P38 R P39 R
P40 R
P41 R
P42 R
P43 R
P46 R P44 R
P45 R P47
R P49
R
P48 R P50 R
P51 R P52 R
P53 R
P54 R
R P55 P56 R
goto_MU_Place2
browser.reply
get_info
observe_GUI_catalog
more_information_remote goto_MU_Place
goto_Sw_Place
add_info_sale show_catalog_GUI
create_catalog
add_info4
create_salesman
add_info3 add_info2
add_info
refine
create_BrowserAgent create_GUI
info_need_travel info_need_local
select_sw
refine_catalog
T39
not_info_need
salesman.reply
request
select_sw_browser refine_catalog_browser
select_sw_service get_catalog
t38
t37
t36
electronic_commerce not_info_need_or_local
info_need_travel1
more_information_local
delete_browser
begin_ec end_ec
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x> <x>
<x>
<x>
<x> <x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x> <x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x> <x>
<x>
<x>
<x>
<x>
<x> <x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x>
<x> R:c
request:c
S:m m1:m
Figure6: CompleteSWNfor theANTARCTICASRS.
mainsasatimedtransition,andtheotherwillbecon-
vertedinto animmediatetransition. Asanexample,
see the timedtransition nameddownload inthe web
servercomponentnet(Figure3.c)andthetimedtran-
sitionnamedwebServer.downloadinthebrowsercom-
ponent net(Figure 3.b). Inthecompletenet(Figure
4)thetimedtransitionnameddownloadbrowsermod-
elsthe timespentbythemessagenavigatingthrough
the net and the immediate transition named down-
loadwebServermodelsthereceptionofthemessage.
Ifthesynchronizationinthecompletenetismodeled
usingonlyonetransition,itremainsasatimedtransi-
tion. Asexample,seethetimedtransitionnamedse-
lectURLinthewebservercomponentnet(Figure3.c)
and thetimedtransitionnamedwebServer.selectURL
in the browser component net (Figure 3.b); in the
complete net (Figure 4) the timed transition named
selectURLmodelsthetimespentbythemessagenav-
igating throughthenetandthereceptionofthemes-
sage.
4. THE ANTARCTICA SOFTWARE RE- TRIEVAL SERVICE
Inthis section we present theANTARCTICA SRS[11].
Thegoalofthesystemistoprovidemobilecomputerusers
witha service to select and downloadsoftware inaneasy
and eÆcient way. EÆcient because the system optimizes
batteryconsumptionand wirelesscommunicationcosts. It
providesseveralinterestingfeatures:
Thesystemmanagestheknowledgeneededtoretrieve
softwarewithoutuserintervention,usinganontology.
Thelocationandaccessmethodtoremotesoftwareis
There isa\catalog" browsingfeatureto helpuserin
softwareselection.
Thesystemmaintainsup to datetheinformation re-
latedtotheavailablesoftware.
TheANTARCTICASRSissituatedinaconcreteserver
called the GSN 1
.Agentsare executedincontexts denomi-
natedplaces[15]. Mobileagentscantravelfromoneplaceto
another. Theserviceincorporatestwoplaces: oneplaceon
the usercomputercalled theMobile User place, andother
situated on the GSN, called the Software place (see Fig-
ure5).
TheprocedurethattheANTARCTICASRSsupportsfor
thesoftwareretrievalprocessisthefollowing: theusersends
requests for software to anagent (Alfred). Therequest is
senttotheGSNandanagent(thebrowser)iscreated. The
userreceivesthevisitofthe browser, whichhelpstheuser
toselectthemostappropriatesoftware bybrowsingacata-
log customizedtothat concreteuser. Theusercanrequest
more detailedinformation untils/he nally selectsa piece
ofsoftware. Thenanewagentarrivestotheusercomputer
(thesalesman)withtheselectedpieceofsoftware.
Inthefollowingsuchagentsaredescribed,groupedintwo
categories:
1. Theuseragent. AlfredisaneÆcientmajordomothat
serves the user and is in charge of storing as much
information about the user computer, and the user
her/himself,aspossible.
2. Informationexploitation. Thesoftwaremanageragent
createsandprovidesthebrowseragentwithacatalog
1
TheGatewaySupportNode istheproxythatprovidesser-
(a) (b)
(c) (d)
0 5 10 15 20 25 30 35 40
refinements
mi nutes
TUCOWS 4,28779693 7,891414141 15,09661836 22,16312057 29,55082742 37,28560776 ANTARCTICA 5,062778453 7,208765859 11,49425287 15,69365976 20,08032129 24,72799209
5 10 20 30 40 50 0
10 20 30 40 50 60 70 80 90
refinements
mi nutes
TUCOWS 9,331840239 17,1998624 32,93807642 48,30917874 64,35006435 81,30081301 ANTARCTICA 10,10713564 16,51800463 29,29115407 41,8760469 55,00550055 68,87052342
5 10 20 30 40 50
mi nutes
0 2 4 6 8 10 12 14 16 18
refinements
TUCOWS 1,782912566 3,242542153 6,191183754 9,082652134 12,10360687 16,35590448 ANTARCTICA 1,868041545 3,06710833 5,462689828 7,813720894 10,26904909 12,85016705
5 10 20 30 40 50 0
10 20 30 40 50 60 70
refinements
minutes
TUCOWS 6,811061163 12,5502008 24,01536984 35,23608175 49,75124378 56,88282139 ANTARCTICA 8,304268394 12,37317496 23,24500232 39,40110323 52,24660397 59,31198102
5 10 20 30 40 50
Figure 7: Network time for dierent scenarios: (a) and (b) represent a net speed of 1 K/sec., (c) and (d)
represent a net speedof 5 K/sec., (a) and (c) represent a \user delay" of 10 sec., (b) and (d) represent a
\userdelay"of60 sec. Theintelligence oftheANTARCTICA'sbrowserhasbeensetto 70%.
of the available software, according to the needs ex-
pressed by Alfred (on behalf of the user), i.e., it is
capabletoobtaincustomizedmetadataabouttheun-
derlying software. For this task, the Software Man-
ager consults anontology. Thesoftware itselfcanbe
eitherstoredlocallyontheGSNoraccessiblethrough
thewebinexternaldatasources. Thus,theGSNcan
haveaccesstoagreatnumberofdistinctsoftware for
dierent systems,withdierent availability,purpose,
etc. Thegoal ofthebrowseragent istointeract with
the user inorder to rene a catalog of software un-
til the user nally chooses a concrete piece of soft-
ware. Whenthisis done, the Salesmanagent carries
theprogramselectedbytheusertoher/hiscomputer,
performs anyelectronic commerce interactionneeded
(whichdependsontheconcretepieceofsoftware),and
installstheprogram,wheneverpossible.
Someoftheadvantagesoftheuseofmobileagents,related
toaccessingremoteinformation,arethefollowing:
Theyencapsulatecommunicationprotocols.
Theydonotneedsynchronousremotecommunications
towork.
Theycanactinanautonomouswayandcarryknowl-
insteadofperformingseveralremoteprocedurecalls.
They can make use of remote facilities and perform
specicactivitiesatdierentlocations.
Thesoftware performance process given in[13] was ap-
pliedtotheANTARCTICASRS(notdetailedhereforlack
ofspace). TheUMLdiagrams, theSWNscomponentsand
the SWNnetforthe systemwereobtained. TheSWN net
forthesystem(seeFigure6)willbeusedinthenextsection
toobtainperformanceresults. Itwillbeinterestingtocom-
pare theperformance ofthe ANTARCTICASRSwiththe
performance of the Tucows-likesystem, in ordertoobtain
conclusionsabouttheimpactofmobileagenttechnologyin
awirelessnetwork(lowspeed,costly,disconnections).
5. PERFORMANCE RESULTS
Theresultspresented inthissection havebeenobtained
fromthecomplete SWNswhichmodeltheTucows-likesys-
temand theANTARCTICASRS(Figures4and6respec-
tively). It is of our interest to study how much time the
systemsneedto be connectedto thenet, networktime, in
thepresenceofauserrequest. Also,itisinterestingtoknow
how much intelligent the browser agent inthe ANTARC-
TICA SRSmustbe, to obtain the same or better results
system,thethroughputofthesuccinstalltransitionwillbe
calculatedbycomputingthesteady-statedistributionofthe
isomorphicContinuousTimeMarkovChain (CTMC) with
GreatSPN [7]. Theinverseof theprevious resultgivesthe
networktime. IntheANTARCTICASRSthetargettran-
sitionisselectswservice.
Tostudythenetworktime,wehavedevelopedatesttak-
ingintoaccountthefollowingscenarios:
1. Totesttheuserrenementrequest,wehaveconsidered
sixdierentpossibilities. Auserrequestingameanof
5,10,20,30,40and50renements 2
(modelingdier-
entexpertiseoftheuser).
2. Twodierent kindsof usershavebeen considered: a
userwhospends10sec. tostudytheinformationpre-
sentedbythesystem(webpageorasoftwarecatalog)
andauserwhospends60sec. inthattask(modeling
theinformationprocessing speedoftheuser).
3. We have considered two cases for the net speed: 1
K/sec. and5K/sec. Byconsideringtheselow speed
values we want to compare the performance of both
approaches inawirelesscomputingenvironment(real
GSMnetworkspeedisaround800bytes/sec.).
FortheANTARCTICASRS,wehavealsoconsidered:
1. Abrowserwhichdoesnotneedtoaskforinformation
to the software manager agent the 70% of the times
thattheuserasksforarenement. Whenthebrowser
needs information, it requests the information by a
remote procedure call(RPC).
2. Thesizeofthecatalogobtainedbythebrowseris50K.
Figure7showsnetworktime(inminutes)fortheTucows-
like system and the ANTARCTICA SRS in dierent sce-
narios. ConcretelyinFigure7.b wecanobserve thatwhen
the net speed is 1 K/sec., the user is naive and performs
50 renements (theworst case), then the ANTARCTICA
SRSisalmostthirteenminutesfaster thantheTucows-like
system. Thesameresultsareobtainediftheuserisexpert,
seeFigure 7.a. However, whenthe net speed is increased
to 5 kbyte/sec. (see Figure 7.d), the dierences decrease,
and ifthe user performsmore thanthirty renementsthe
ANTARCTICASRSbehavesworse. Inconclusion, we can
saythattheANTARCTICAapproachbehavesmuchbetter
thana Tucows-like system for low networkspeed. Dier-
ences between the two approaches become less signicant
forahighernetworkspeed. Takingthisanalysisasbasiswe
could estimatewhich approachis better for agiven situa-
tion.
AbouttheintelligenceoftheANTARCTICASRSbrowser
agent,Figure8giveusinterestingresults. Thisgureshows
the same scenarios than Figure 7.a and 7.b, but varying
theintelligenceoftheANTARCTICASRSbrowser,froma
browser thatneeds toaskfor information the100% ofthe
timestoabrowserthatneedstoaskforinformationthe0%
of the times. When the intelligence of the browser is less
than40(itdoesnotneedtoaskforinformationthe40%of
thetimes)theANTARCTICASRSbehavesworsethanthe
2
Wemeanby renementa\click" inaTucows-likesystem
(a)
(b)
Figure 8: (a) and (b) represent the samescenarios
than Figures 7.a and 7.b, respectively,but varying
theintelligenceoftheANTARCTICASRSbrowser.
Tucows-likesystem. However, whenthe intelligenceof the
browserdoesnotneedtoaskforinformationthe40%ofthe
timesormore,thenANTARCTICASRSobtainssimilaror
betterresultsthanaTucows-likesystem.
6. CONCLUSIONS
Inthispaperwehavecomparedtheperformancebetween
aclassical software retrievalsystem (theso-called Tucows-
likesystem)andanotheroneproposedusingmobileagents
(theANTARCTICA SRS). Thecomparison has been per-
formedbyapplyingtoeachofthemasoftwareperformance
evaluationprocess,whichhasasamajor advantagethat it
isintegratedintheearlystagesofthesoftware lifecycle.
Wewouldliketostressthefollowing points:
The combination of a UML performance extension
andSWNsisexpressiveenoughtomodelcomplexdis-
tributedsoftwaresystemseventakingintoaccountdif-
automatically fromthe UMLperformance annotated
diagramsinthecontextofthesoftwarelifecycle.
Dierent scenarioscan be testedeasily by usingthis
processwithoutinvestingtimeinimplementingproto-
types.
As a result of our tests, we can aÆrm that the
ANTARCTICASRSbehavesbetterthanTucows-like
systemwhenthenetspeedisslow. So,theANTARC-
TICASRSisappropriateforwirelessenvironments.
7. ACKNOWLEDGMENTS
WewouldliketothankLaura Recaldefor allthehelpful
collaboration.
8. REFERENCES
[1] CNETInc.,1999. http://www.download.com.
[2] CNETInc.,1999. http://www.gamecenter.com.
[3] Tucows.cominc., 1999.http://www.tucows.com.
[4] M.Bernardo,P.Ciancarini,andL.Donatiello.
AEMPA:Aprocessalgebraicdescriptionlanguagefor
theperformanceanalysisofsoftwarearchitectures.In
Proceedings oftheSecondInternationalWorkshopon
SoftwareandPerformance (WOSP2000),pages1{11,
Ottawa,Canada,September2000.ACM.
[5] G.Booch,I.Jacobson,andJ.Rumbaugh.OMG
UniedModelingLanguagespecication,June1999.
version1.3.
[6] G.Chiola,C.Dutheillet,G.Franceschinis,and
S.Haddad.Stochasticwell-formedcolourednetsfor
symmetricmodellingapplications.IEEE Transactions
onComputers,42(11):1343{1360, November1993.
[7] G.Chiola,G.Franceschinis, R.Gaeta,and
M.Ribaudo.GreatSPN1.7: GRaphicalEditorand
AnalyzerforTimedandStochasticPetriNets.
Performance Evaluation,24:47{68,1995.
[8] V.CortellesaandR.Mirandola.Derivingaqueueing
networkbasedperformancemodelfromUML
diagrams.InProceedingsoftheSecondInternational
WorkshoponSoftware andPerformance
(WOSP2000),pages58{70,Ottawa,Canada,
September2000.ACM.
[9] E.Gamma,R.Helm,R.Johnson,andJ.Vlissides.
DesignPatterns: ElementsofReusable
Object-Oriented Software.Addison-Wesley,1995.
[10] P.KingandR.Pooley.UsingUMLtoderive
stochasticPetrinetsmodels.InJ.Bradleyand
N.Davies,editors,Proceedings oftheFifteenthAnnual
UKPerformanceEngineering Workshop,pages45{56.
DepartmentofComputerScience,Universityof
Bristol,July1999.
retrievalservicebasedonknowledge-drivenagents.In
Cooperative InformationSystemsCoopIS'2000, pages
174{185,Eliat,Israel,September2000.OpherEtzion,
PeterScheuermanneditors.LectureNotesin
ComputerScience,(LNCS)Vol.1901,Springer.
[12] J.Merseguer,J.Campos,andE.Mena.A
pattern-basedapproachtomodelsoftware
performance.InProceedings oftheSecond
InternationalWorkshoponSoftwareandPerformance
(WOSP2000),pages137{142,Ottawa,Canada,
September2000.ACM.
[13] J.Merseguer,J.Campos,andE.Mena.Performance
evaluationforthedesignofagent-basedsystems:A
Petrinetapproach.InM.PezzeandS.M.Shatz,
editors, Proceedingsof theWorkshoponSoftware
EngineeringandPetriNets,withinthe21st
InternationalConference onApplicationandTheory
of PetriNets,pages1{20,Aarhus,Denmark,June
2000.UniversityofAarhus.
[14] J.Merseguer,J.Campos,andE.Mena.A
performanceengineeringcase study: Softwareretrieval
system.InR.Dumke,C.Rautenstrauch,
A.Schmietendorf,andA.Scholz,editors,Performance
Engineering.State oftheArtandCurrentTrends,
LectureNotesinComputerScience,(LNCS)Vol.
2047,pages317{332.Springer-Verlag,Heidelberg,
2001.
[15] D. Milojicic,M.Breugst, I.Busse,J.Campbell,
S.Covaci,B.Friedman,K.Kosaka,D.Lange,K.Ono,
M. Oshima,C.Tham,S.Virdhagriswaran,and
J.White.MASIF,theOMGmobileagentsystem
interoperabilityfacility.InProceedings ofMobile
Agents '98,September1998.
[16] T.Murata.Petrinets: Properties,analysis,and
applications.ProceedingsoftheIEEE,77(4):541{580,
April1989.
[17] E.PitouraandG.Samaras.DataManagementfor
MobileComputing.KluwerAcademicPublishers,1998.
[18] B. Selic,G.Guleckson,andP.Ward.Real-Time
Object-OrientedModeling.JohnWiley&Sons,1994.
[19] C.U.Smith.Performance Engineering ofSoftware
Systems. TheSeiSeriesinSoftware Engineering.
Addison{Wesley,1990.
[20] Y.Villate,D.Gil,A.Go~ni, andA.Illarramendi.
Mobileagentsforprovidingmobilecomputerswith
dataservices.InProceedingsof theNinthIFIP/IEEE
InternationalWorkshoponDistributed Systems:
OperationsandManagement(DSOM98), 1998.
[21] M. Woodside,C.Hrischuck,B.Selic, andS.Bayarov.
Awidebandapproachtointegratingperformance
predictionintoasoftware designenvironment.In
Proceedingsofthe1st InternationalWorkshopon
Software Performance(WOSP'98),1998.