JoseMerseguer,JavierCampos,andEduardoMena
Dpto.deInformaticaeIngenieradeSistemas,UniversityofZaragoza,Spain
fjmerse,jcampos,emenag@posta .uniz ar.e s
Abstract. Formalmethodsarethemostsuitablewaytomodelandan-
alyzeseveralkindsofsoftwaresystems.However,conventionalmethods
aregainingplacedinSoftwareEngineeringeldbecausetheycanbeeas-
ilyappliedinall thestages ofthe software lifecycle. Thecombination
offormalandconventionalmethodscouldbeaninterestingapproachto
describeand analyzesomesoftwareaspects,asforexample, theperfor-
manceofthesystem.Inthisway,wemakeuseofasoftwareperformance
processenrichedwithformaltechniques.Theprocess hasas important
features that it usesUML as a design notation and it uses stochastic
Petrinetsasformalmodel.Petrinetsprovideaformalsemanticsforthe
system and a performance model, while UML supplies the framework
andtoolstodocumentthesystem.
Theprocessisusedinthisarticletopresentaperformancecomparison
betweensoftwareretrievalsystems.Nowadays,thereexistwebsitesthat
allowusersto retrieve andinstallsoftware inaneasyway.The perfor-
manceofthesesitesmaybepooriftheyareusedinwirelessnetworks;
thereasonis theinadequateuseofthenet resourcestheyneed.Inthis
article,we show that ifthis kindofsystemsare designed usingmobile
agenttechnologythepreviousproblemmightbeavoided.
Keywords: Softwareperformance engineering,stochastic Petri nets,Inter-
net,UML,wirelessnetworks,mobileagenttechnology.
1 Introduction
ThetasksofretrievingandinstallingsoftwareusingInternethavebecomecom-
monin thelast years. Therearesites (e.g., Tucows.com[3],Download.com[1],
and GameCenter.com [2])which permit to performthese tasks in aneasy and
friendlyway.Buttheprocessofselectingthesoftwarecouldbecomecostlyand
sometimes slow: the user must select a great number of categories until s/he
ndsthedesiredsoftware,speciallyifs/he isanaiveuser.Everytimetheuser
selects acategory,the website sends anew HTML page with the contents of
thecategory.Thistechniquemakesanintensiveuseofthenetworkconnection,
whichcanresult in apoor performance andexpensivecommunicationcost (in
awireless environment).Thus, itwouldbeinterestingto get resultsaboutthe
performanceofthiskindof systemstoexactlyknowhowcostlyisthisprocess.
?
ThisworkhasbeendevelopedwithintheprojectUZ00-TEC-03oftheUniversityof
A new technology, mobile agents [14], can aid to reduce the network con-
nection time. We recall in this papera software retrieval service belonging to
the ANTARCTICA system [9] which has been designed using mobile agents.
Theaimofthisserviceisto proposeanalternativemethod tothecurrentweb-
based software retrieval systems, called in this article \Tucows-like" systems.
TheANTARCTICAsystemhasbeenthoughtobeusedinwirelesscommunica-
tionenvironventswherenetspeedisaproblem,say800bytes/sec.isrealinGSM
networks.Therefore,itpromotesabetteruseofthenetresources,thussupply-
ingbetterperformanceresults.Inthefollowing,werefertotheANTARCTICA
softwareretrievalserviceasthe\ANTARCTICASRS".
Software performance engineering [16] proposes evaluating performance of
software systemsin the early stages of the developmentprocess. Thus, if per-
formance problems are detected, it will be easier and less expensive to take
theappropriatedesigndecisionstosolvethem.TheUniedModellingLanguage
(UML) [4] is the design notation that we will use to model software retrieval
systems.TheselectionofUMLismotivatedbecauseitiswidelyacceptedbythe
softwareengineering communityand it ts verywellin thesoftwarelife cycle.
Sinceweareinterestedinperformanceaspects,weuseUMLextendedwithper-
formance annotations. In general, software systems are complex systems even
more if they are distributed, so we advocate for the use of formal models to
obtain performance indices. But UML lacksof the necessaryformal semantics
to apply analyticaltechniques.Thus, weproposeto semi-automaticallyobtain
Petri nets (PNs) [13] from UML diagrams and to use them to obtain perfor-
manceindices.PNsareawidelyused formalmodelforconcurrentsystemsand
providedwithastochastictimeinterpretation,theyaresuitableforperformance
evaluation.Concretely,weusestochasticwell-formedcolourednets(SWNs)[5].
Ourgoalin thisworkistocomparetheperformanceofTucows-likesystems
withtheperformanceoftheANTARCTICASRSusinganalyticalsoftwareper-
formance techniques. The performance index under study for both systems is
thenetworktime,i.e.,howmuchtimethenetworkconnectionneedstobeopen
inordertoretrieveasoftwareproduct.Also,itwillbestudiedtheimpactofthe
intelligentagentsintheANTARCTICASRS.
Therest of the paperis organizedas follows. Insection 2, the process fol-
lowedtoevaluatesoftwareperformanceisdescribed.Insection3,aTucows-like
software retrieval system is modeled using UML and this model is translated
into SWNs. In section 4, the main characteristics of the ANTARCTICA SRS
are described. Insection 5, wepresentacomparison between performance g-
ures for both approaches. Finally, in section 6, some concluding remarks and
relatedwork arestressed.
2 The software performance process
\Thesoftwareperformanceengineering(SPE)isamethodforconstructingsoft-
ware systems to meet performance objectives. SPE augments others software
{time}
Do:examine
for download
{1K}
{1K}
{1K}
{1K}
wait
select_category(url)
^webServer.select_URL(url)
{20K..30K}
{1K}
{1K}
{1K}
{1K}
reply {file_size}
get(html_page)
^user.observe(html_page)
^user.succ_install
^webServer.download(url)
[^user.satisfied]select_sw(url) {1K}
[not_satisfied]
download(url)
^Browser.reply(file) WAIT
{1sg.} {1sg.}
{20K..30K}
{1K}
select_URL(url)
(d) (a)
(c) (b)
^Browser.get(html_page) Do:find_html_page Do:find_file
{1K}
{file_size}
wait for
wait
{1K}
[satisfied]^Browser.select_sw(url)
^Browser.select_category(url)
succ_install() html page
observe(html_page)
{1K}
WebServer
{20K..30K}
[satisfied]
WAIT {0.1}
get(html_page)
download(url)
succ_install() {1K}
{file_size}
{1K}
{1K}
{1K}
select_sw(url) {20K..30K}
observe(html_page)
{1K}
select_URL(url) select_category(url)
Browser
1..n
Fig.1.(a)AnnotatedsequencediagramfortheTucows-likesystem.AnnotatedSTDs
fortheTucows-likesystem:(b)user, (c)thewebserver,and(d)browser
brie y presenta software performance process, introduced in [11,10], that will
be applied in sections 3 and 4 to the software retrieval systems proposed in
the introduction. An interestingcharacteristic of this process is that it uses a
formal model (SWNs) to obtain performance indices. This formal model can
beobtainedsemi-automaticallyinsidethesoftwaredevelopmentprocess.Inthis
way, withoutmuch eort,theprocessallowstoobtainaperformance modelas
aby-productanditpreservesthebenetsofthesoftwaredesignmethodologies.
2.1 Modelingusing performance annotated UMLdiagrams
Theprocessbeginsbymodelingthesystemdynamicsinaconventionalway.The
UMLdynamicdiagrams[4]willguidetheprocess.Sequencediagrams andstate
transitiondiagrams(STDs)willbeusedinthispaper.Activitydiagrams arenot
used because we are not interested in modeling the actions performed by the
systemsthat wemodel.
Figure 1.a depictsan example of sequence diagram,that will be explained
lateron.Asequencediagramrepresentsmessagessentamongobjects.Messages
inthescopeofthemodeledsystem(forinstance,themessagessentbetweenthe
userand the browser in Figure 1.a). Messagessent among objectson dierent
computers,thosewhichtravelthroughthenet,willconsumetimeasafunction
ofthe messagesize andthenet speed(forinstance, in Figure1.athemessages
sentbetweenthebrowserand thewebserver). Each messagesize isannotated
inside braces. For instance, the selectURL message is labelled with f1 Kbyteg
in Figure 1.a. Itis also possibleto annotate thesize with arangein the UML
commonway(likethe getmessagewithlabelf20K..30Kgin Figure1.a). Ifthe
messagesize is unknown, theannotationis alabel representingaperformance
parameter(e.g., thereturnofthedownloadmessageisannotatedwiththelabel
flesizeg,alsoin Figure1.a).
Inasequencediagram,conditionsrepresentthepossibilityfortheassociated
messageto be dispatched. Annotations,also betweenbraces, expresstheevent
probability success associated with each condition (for instance, see probabil-
ity f0.1g associated with the condition [satised]in Figure 1.a). A range or a
probability(unknown)parameterareacceptedtooaseventprobabilitysuccess.
Inordertogetacompleteviewofthesystemdynamics,aSTDforeachclass
withrelevantdynamicbehaviourmustbedeveloped,asthosedepictedinFigures
1.b, 1.c and 1.d. To study performance aspects on a STD, two elements are
meaningful,theactivities andtheguards.Inthefollowing,webrie ycomment
theannotationsusedin thesekindofdiagrams.
Activitiesrepresenttasksperformedbytheobject,therefore,theyconsume
computationtimethatmustbeannotated.Theannotationwillbedonebetween
braces.Forexample,seeinFigure1.ctheboldlabelf1sec.gclosetotheactivity
ndle.Ifitisnecessary,minimumandmaximumvalueswill beannotated.
Guardsshowconditionsin atransition.Theymusthold inorder torethe
eventthat theylabel.Theprobabilityassociatedtothem,alreadyannotatedin
the sequence diagrams,are also indicated in STDs to gain readability. In the
sameway,thesize ofthemessagesmaybeannotatedoromitted.
2.2 Fromperformance annotated UMLdiagrams to SWNs
FromtheperformanceannotatedUMLdiagramsitwillbeinterestingtoobtain
performanceindicesforthesystem.But,aswesaid,UMLlacksofthenecessary
formalsemanticstoapplyquantitativeanalysistechniquestoobtainthem.Even
more,itisnotsuitabletospecifysomesystemaspects,forexampleconcurrency,
whichisfundamentalinperformanceevaluation.Therefore,theUML diagrams
willbetranslatedintoSWNs,whichallowtoobtainperformanceindices,taking
theproperdecisionsfortheunspeciedsystemrequirements.
The strategy to obtain the SWNs from the performance annotated UML
diagramsisasfollows.
1. DerivationofaSWNfromeachSTD.TheseSWNswillbecalledcomponent
nets.TheyrepresentthebehaviourforeachclasswiththeunderlyingSWN
formalsemantics.ToobtainacomponentnetfromaSTDseveralrulesmust
{ Each stateof theSTD isrepresented byaplace, with the samename,
intheSWN.
{ Foreachtransitionin theSTD,there willbeintheSWN:
(a) A transitionwith thesameastheeventwhichlabelsthe transition
in theSTD.
(b) Anarcfromtheplace(whichrepresentstheinitialstateintheSTD)
to thetransitionin theSWN(which representthetransitionin the
STD).
(c) An arcfromthetransitionintheSWN(whichrepresentthetransi-
tionintheSTD)totheplace(whichrepresentsthenalstateinthe
STD).
{ Guardsin theSTD will becomeimmediate transitionswith theassoci-
atedcorrespondingprobabilitiesfortheresolutionof con icts.
{ Activities inside a state of a STD are considering as time consuming,
sointheSWNtheywill be consideredastimedtransitions; therateof
the exponentiallydistributed service time of the timed transitions are
obtainedautomaticallyfrom thetimeannotationoftheSTD.
Asanexample,seeinFigure2thecomponentnetsobtainedfromtheSTDs
inFigure1.
2. ObtainingaSWNfor the system.Fromthecomponentnets,andguidedby
thesequencediagram/s,acomplete SWNforthesystemisobtained.Tran-
sitionsinthecomponentnetsthatrepresentthesamemessagearesynchro-
nizedifthe messagehaswait semantics;ontheother hand,ifthemessage
has no wait semantics the transitions are connected with an extra place,
modelingacommunicationbuer.
TheoutcomeSWNmodelsthebehaviourofthewholesystem.Figure3depicts
an example of a complete net obtained from the component nets in Figure 2
and from thesequence diagram in Figure 1.a. Theperformanceguresfor the
systemareobtainedbyanalyzingthecomplete SWNforthesystem.
3 Modeling the Tucows-like software retrieval system
There are avarietyof softwareretrievalsystems, asthe popularweb sites Tu-
cows.com [3], Download.com [1] or Gamecenter.com [2], that provide Internet
users withfacilities to retrieveand install software. These systems allowusers
to nd software in twodierentways,byusing akeyword-basedsearchengine
orbynavigatingthroughcategoriesespeciallydesignedtomakethetaskeasier.
Thesoftwarearchitectureofthesekindofsystemsforthenavigationfacility
isbasicallythesame,therefore,itispossibletomodelhowthesekindofsystems
work, making a number of assumptions, without loosing reality with respect
to performance aspects. We will refer to these kind of systems as Tucows-
like systems. Our intend is to evaluate performance indices for a Tucows-like
system in order to compare them with those obtained forthe ANTARCTICA
Thekeyword-basedsearchengineoershelp tothose usersthatknowsome
features of the wanted software. This search facility will not be considered in
this paper since it does not exist its counterpart in the ANTARCTICA SRS,
thereforenocomparisoncanbemade.Thenavigationfacilityconsistsofseveral
webpagesresidinginaserverandorganizedascategorieslinkedbetweenthem
in away that guides theuser to nd the software. For instance, a number of
thesesystemspresentaninitialwebpagewhere thecategoriescorrespondwith
dierentoperatingsystems,sayWindows2000,Windows95/98,LinuxorUnix
Themes.TheANTARCTICASRSoersamechanismtoretrievesoftwaresimilar
to thenavigationfacility, but itmakesuseof intelligentagentsto performthe
task,thereforeaperformancecomparisoncanbemadebetweenthetwosystems.
Inthissection,weapplythesoftwareperformanceprocesstothenavigation
facilityoftheTucows-likesystems.
3.1 Systemdescription and modelingassumptions
InaTucows-likesystem,theuser navigates,withthehelpofabrowser,through
dierentHTMLpages(representingsoftwarecategoriesanddescriptionsofcon-
cretepiecesofsoftware)untils/hendsapieceofsoftwarethatsatisesher/his
needs.Then,that pieceofsoftwareisdownloaded.
Itmustbeassumedthat theuserspendssometimereading theinformation
presented by the system. An exponentially distributed random variable with
parameter
examine (
examine
isobtainedastheinverseofthetimein seconds)
willbeusedtomodelseveralkindsofusers.
The number of HTML pages that the user must navigate until s/he nds
the software is diÆcult to estimate (it depends on her/his experience). The
probability that the user nds the software by selecting n categories models
dierentkindsofusers,fromnaiveusers,thosewhoneedtovisitmanycategories
to nd thesoftware, to expert users, those whond thesoftwarevisiting very
fewcategories.
WhenevertheuserrequestsanHTMLpage oraconcretepiece ofsoftware,
thewebservermustperformthecorrespondingactivitiestondthepageorthe
piece.The timeconsumed bythese activities will be modeled asexponentially
distributed randomvariableswithparameters
findHTML and
findFile .
Thebrowser, in the clientmachine, sendsmessages throughthe netto the
web server in the servermachine and vice versa. A exponentially distributed
randomvariablewithparameter
m
i
willmodelthetimespentbythemessagei
navigatingthroughthenet.Noticethatthemessagessentbetweentheuserand
thebrowserdonotconsumenetresources.
3.2 UML diagramswith performanceannotations
In this section we model the dynamic view of the Tucows-like system using
UML notation as proposed in [11]. Thesequence diagram in Figure 1.a shows
themessagessentamongtheobjectsinthesystemwiththepurposetoretrieve
distinguished,thosethat travelthroughthenet(sentbetweenthebrowserand
thewebserver)andthosethatdonot(sentbetweentheuserandthebrowser).
This feature will be relevant in the SWN model in order to associatetime to
transitions that represent messagessend through the net, taking into account
theassumptionsmadeintheprevioussection.
Thesequence diagram in Figure 1.a beginswith a selectcategory(url) mes-
sage, its size is f1 Kbyteg, sent by the user to the browser. It represents the
\click" performed by theuser in thebrowser to select a categoryin a HTML
page.Therestofthediagram describesin thesamewaythestepsexplainedin
theprevioussectionforselectingsoftware.
InordertogetacompletedescriptionoftheTucows-likesystemdynamicsand
itsload,weare goingtodeveloptheSTD foreachclass withrelevantdynamic
behaviour.
User state transition diagram. In Figure 1.b, the behaviour of a user is
represented.Theuserisinthewaitstateuntils/heactivatestheselectcategory
event. This event sets the user in the wait for HTML page state. The observe
event,sentbythebrowser,allowstheusertoperformtheexamineactivitythat
hasassociatedthelabelftimeg.Thislabelmodelsthetimethattheuserspends
readingtheHTMLpage.This activitywillbetranslatedin theSWNnetin an
exponentially distributed transition, and by modifying its rate dierent kinds
of users can be modeled, as wepointed outin the previous section. Once the
activityisperformedtwosituationscanarise:
{ IftherequestedsoftwareisnotpresentinthecurrentHTMLpagetheuser
returnstothewaitstate.
{ Inothercase,theusersendstheselectsw(url)messagetothebrowser,where
url means the direction where the software is located in the server, and
entersinthewaitfordownloadstate.Whenthebrowserfulllsthenecessary
activitiesto complete the download, it sends to the user the succ install()
messageandtheuserreturnstothewaitstate.
Browserstatetransitiondiagram.Figure1.dshowsthebrowser'sSTD.The
browserbehavesas aserverobject:itiswaiting foruser'srequests,represented
byselectcategoryandselectswevents.
Whenaselectcategory eventarrivesrequesting aurl,the browser sendsto
thewebservertheselectURLmessageandwaitsforanewHTMLpage.When
thewebserverobtainsresults,ittriggersthegeteventattachingthenewHTML
page,whoseestimatedsizeisf20K..30Kg.Sincethismessageissentthroughthe
net,itwillbetranslatedin theSWNasanexponentiallydistributed transition
withrate
mg et
,aswepointedoutintheprevioussection.Afterthat,theHTML
pageisshownto theuser.
When a selectsw event arrives requesting a url that contains a piece of
softwareadownloadmessagewiththeurl issenttothewebserver.Thebrowser
waits forthereply messagethat containstherequestedlewith sizele size,it
willbetranslatedin theSWNin atransitionwithrate
m
r eply
.Finally,thele
isinstalled(succinstall).
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)
Fig.2. Component PNs for the Tucows-like system: (a) user, (b)browser, (c) web
server.
Web server state transition diagram. As thebrowser, thewebserverbe-
havesas aserverobject.It is waiting fora request (select URLand download)
from thebrowser. For eachrequest, thewebserverperformsthecorresponding
actionstoserveit(nd htmlpageandndle).Whentheactionsarecompleted,
it sends the corresponding message to the browser. Figure 1.c showsthe web
server'sstatetransitiondiagram.
3.3 Modelingthe system with SWNs
Inthissection, wedetailtheSWNmodelfortheTucows-likesystem.Thenets
havebeenobtainedbyapplyingthetranslationrules,givenin[11]andschemat-
icallyshown in section 2.In order to model situations that the Petri netscan
express but the UML notationcannot, the appropriatedecisionswill betaken
andcommented.
Figure2representsthecomponent nets,those obtainedfrom theSTDs, for
theTucows-likesystemandFigure3representsthenetforthewholesystem,ob-
tainedbysynchronizingthecomponentnets.Westartdescribingthecomponent
nets.
User component net. The number of tokens in the place wait models how
manyconcurrentuserssupportsthesystem.Thisparametercannotbemodeled
intheUMLdiagrams.
The ring of the transition named Browser.selectcategory models the dis-
patchto thebrowserofamessageto specializethecurrentHTMLpage,it will
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
Fig.3.CompleteSWNfortheTucows-likesystem.
examine models the time spent by the user reading the information presented
in the new HTML page. After theend of the reading,a choice will determine
whether the useris satisedwith any ofthe productsshown (ringof theim-
mediate transitionBrowser.selectsw ),ornot(ringoftheimmediatetransition
notsatised).
Thering oftheimmediatetransition namedsuccinstallmodelsthearrival
of amessageto conrm that theretrieveof thesoftware hasbeensuccessfully
completed.
Browser componentnet.Thenumberoftokensintheplacewaitmodelshow
manyconcurrentbrowseraccesstothesystem.Thecolouristhesameasinthe
usercomponentnettoidentifyeachbrowserwithauser.Thisparametercannot
bemodeledintheUMLdiagrams.
Theringofthetransitionnamedselectcategorymodelsthearrivalofmes-
sages from the user requesting for a specialization of the category that s/he
hasexamined,thetransition isimmediatebecauseboth,thesenderandthere-
ceiver,arein theclientmachine.Therequestissenttothewebserverthrough
the net, therefore consuming time by ring the timed transition named web-
Server.select URL.The ringof transitionsgetand user.observemodels,respec-
tively,theobtainingoftheHTMLpagewithnewcategoriesanditsdispatchto
theuser.
Thering ofthe transition named selectsw modelsthe arrivalofmessages
from the user requesting a concrete piece of software. The request is sent to
the web server through the net by ring the timed transition named web-
Server.download.Thering ofthe timedtransition named replymodels theob-
taining of the le requested by previous transition. Finally, the ring of the
transitionnameduser.succ installmodelstheadvertisementtotheuserthatthe
Theselectcategoryandselectswtransitionswillbesynchronizedinthecom-
pletenetwiththetransitionsin theusercomponentnetwiththesamename.
Web server componentnet.Thenumberoftokensin theplace waitmodels
howmanyconcurrentprocesseshasopenedthewebserverto attendbrowser's
requests.ThisparametercouldnotbemodeledintheUMLdiagrams.
TheringofthetimedtransitionnamedselectURLmodelsthearrivalofare-
motemessagetorequestforanewHTMLpage.Theringofthetimedtransition
nameddownloadmodelsthearrivalofaremotemessagetorequestforaconcrete
pieceofsoftware.Theringofthetimedtransitionnamedndhtmlpagemod-
elsthecompletionofthesearchforanewHTMLpage.Theringof thetimed
transition named ndle models the completion of the search for a requested
piece of software. Thering of thetimed transition namedBrowser.getmodels
thedispatch oftheHTMLpage tothebrowser. Finally, theringofthe timed
transitionnamedBrowser.replymodelsthedispatchoftheletothebrowser.
TheselectURL, download, Browser.get and Browser.reply transitionswill be
synchronizedinthecompletenetwiththetransitionsinthebrowsercomponent
netwiththesamename.
As we said before, the net for the whole system, depicted in Figure 3, is
obtainedbyapplyingtherulesgivenin[11].
4 The ANTARCTICA Software Retrieval Service
ThegoaloftheANTARCTICASRS[9]istoprovidemobilecomputeruserswith
aservicetoselectanddownloadsoftwarein aneasyandeÆcient way.EÆcient
becausethesystemoptimizesbatteryconsumptionandwirelesscommunication
costs.Itprovidesseveralinterestingfeatures:
{ Thesystemmanagestheknowledgeneededtoretrievesoftwarewithoutuser
intervention,usinganontology.
{ Thelocationandaccessmethod toremotesoftwareis transparenttousers.
{ Thereisa\catalog"browsingfeature tohelpuserinsoftwareselection.
{ Thesystem maintains up to date the information related to the available
software.
Thesoftwareperformanceprocessgivenin[11]wasappliedtotheANTARC-
TICASRSin[12,10].TheUMLdiagrams,theSWNscomponentsandtheSWN
net for the system were obtained. The SWN net for the system will be used
in thenextsectionto obtainperformanceresults.Itwill beinterestingtocom-
pare the performance of theANTARCTICA SRSwith theperformanceof the
Tucows-likesystem, in orderto obtainconclusions aboutthe impactof mobile
agenttechnologyin awirelessnetwork(lowspeed,costly,disconnections).
5 Performance results
TheresultspresentedinthissectionhavebeenobtainedfromthecompleteSWNs
which model the Tucows-like system (see Figure 3) and the ANTARCTICA
to be connected to the net, network time, in the presence of a user request.
Also, it is interesting to know how much intelligent the browser agent in the
ANTARCTICA SRS must be, to obtain the same or better results than the
Tucows-likesystem.
InordertoobtainthenetworktimeintheTucows-likesystem,thethrough-
putofthesuccinstalltransitionwillbecalculatedbycomputingthesteady-state
distributionof the isomorphic Continuous Time Markov Chain (CTMC) with
GreatSPN [6].Theinverseofthepreviousresultgivesthenetworktime.Inthe
ANTARCTICAsoftwaresystemthetargettransitionisselectswservice.
Tostudythenetworktime,wehavedevelopedatesttakingintoaccountthe
followingscenarios:
1. Totest theuser renement request, wehave consideredsix dierent possi-
bilities. A user requestinga mean of5, 10, 20, 30, 40 and 50 renements 1
(modelingdierentexpertiseoftheuser).
2. Twodierentkindsofusershavebeenconsidered:auserwhospends10sec.
tostudy the information presentedby thesystem (webpage orasoftware
catalog)andauserwhospends60sec.inthattask(modelingtheinformation
processingspeedoftheuser).
3. We have considered two cases for the net speed: 1 Kbytes/sec. and 5
Kbytes/sec.Byconsideringthese lowspeedvalueswewanttocomparethe
performance ofbothapproachesin awireless computingenvironment(real
GSMnetworkspeedisaround800bytes/sec).
FortheANTARCTICASRS,wehavealsoconsidered:
1. Abrowserwhichdoesnotneedtoaskforinformationtothesoftwareman-
agerthe 70%of the times that the user asks for a renement. When the
browser needs information, it requests the information by a remote proce-
durecall (RPC).
2. Thesizeof thecatalog obtainedbythebrowseris50Kbytes.
Figure 4 shows network time (in minutes) forthe Tucows-like systemand the
ANTARCTICASRSin dierentscenarios.Concretelyin Figure4.bwecanob-
servethatwhenthenetspeedis1kbyte/sec.,theuserisnaiveandperforms50
renements (the worst case),then theANTARCTICA SRS is almost thirteen
seconds faster than the Tucows-like system. The same results are obtained if
theuser isexpert,see Figure4.a. However,when thenetspeedisincreasedto
5kbyte/sec.(seeFigure 4.d),thedierencesdecrease,and ifthe userperforms
morethanthirtyrenementstheANTARCTICASRSbehavesworse.Inconclu-
sion, we cansaythat theANTARCTICA approach behavesmuch better than
a Tucows-like system for low network speed. Dierences between the two ap-
proachesbecomelesssignicantforahighernetworkspeed.Takingthisanalysis
asbasiswecouldestimatewhich approachisbetterforagivensituation.
About the intelligenceof the ANTARCTICA SRS browser agent,Figure 5
give us interesting results. This gure shows the same scenarios than Figure
4.a and 4.b, but varying the intelligence of the ANTARCTICA SRS browser,
1
Wemeanbyrenementa\click" inaTucows-likesystemandacatalogrenement
(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
Fig.4. Network time for dierent scenarios: (a) and (b)represent a net speed of 1
Kbyte/sec,(c)and (d)representanetspeedof5Kbyte/sec.,(a)and(c)representa
\userdelay"of10sec.,(b)and(d)representa\userdelay"of60sec.Theintelligence
oftheANTARCTICA'sbrowserhasbeensetto70%.
(a) (b)
Fig.5.(a)and(b)representthesamescenariosthanFigures4.aand4.b,respectively,
butvaryingtheintelligenceoftheANTARCTICASRSbrowser.
from a browser that needs to ask for information the 100% of the times to
a browser that needs to ask for information the 0% of the times. When the
intelligenceofthebrowserislessthan40(itdoesnotneedtoaskforinformation
the40%ofthetimes)theANTARCTICASRSbehavesworsethantheTucows-
likesystem.However,whentheintelligenceofthebrowserdoesnotneedtoask
forinformationthe40%ofthetimesormore,thenANTARCTICASRSobtains
similaror betterresultsthanaTucows-likesystem.
6 Conclusions and Related work
In this paperwehave compared the performance between a classicalsoftware
retrieval system (the so-called Tucows-like system) and another one proposed
using mobileagents(the ANTARCTICA SRS). Thecomparisonhas been per-
formedbyapplyingtoeachofthemasoftwareperformanceevaluationprocess,
whichhas as amajor advantagethat it isintegrated in theearly stagesof the
softwarelifecycle.
Wewouldliketostressthefollowingpoints:
{ ThecombinationofaUMLperformanceextensionandSWNsisexpressive
enoughtomodelcomplexdistributed softwaresystemseventakingintoac-
countdierenttechnologies.Itmustberemarkedthataperformanceformal
model (SWN) can be obtained semi-automatically from the UML perfor-
manceannotateddiagramsinthecontextofthesoftwarelife cycle.
{ Dierentscenarioscanbetestedeasilybyusingthisprocesswithoutinvest-
ingtimein implementingprototypes.
{ As a result of our tests, we can aÆrm that the ANTARCTICA SRS be-
havesbetter than Tucows-likesystem when thenet speed is slow. So, the
ANTARCTICASRSisappropriateforwirelessenvironments.
{ Asafuture work,weplan togivesemanticsto theUML diagramsinterms
ofPetrinets.
Concerning related work, in [8] stochastic Petri nets are obtained from UML
diagramswithperformanceevaluationpurpose.Inouropinion,itisnotclearly
stated the translation process, and it is not clear how the performance model
is obtained. Therefore, it has not been possible to test their techniquein our
examples to compare their solution with ours. In [17] an approach to perfor-
mance prediction for the real time eld is presented. It uses ROOM [15] as a
developmentmethodandalayeredqueuingnetwork asaperformancemodel,a
prototypetoolhasbeendevelopedto assisttheprocess.A parallelwork toour
softwareperformance processusing UML and SWNsis beingdeveloped in [7].
However,weclaimthatforthecaseofparallelanddistributedsystems,asthose
presentedinthispaper,Petrinetsimprovestheadequacyofqueuenetwork,since
theyprovidegeneralsynchronizationmechanismsandvalidation techniques for
logicalproperties.
Acknowledgements:WewouldliketothankLauraRecaldeforallthehelpful
References
1. CNET Inc.,1999. http://www.download.com.
2. CNET Inc.,1999. http://www.gamecenter.com.
3. Tucows.cominc.,1999.http://www.tucows.com.
4. G.Booch,I.Jacobson,andJ.Rumbaugh,OMGUniedModelingLanguagespec-
ication,June1999,version1.3.
5. G.Chiola,C.Dutheillet,G.Franceschinis,andS.Haddad,Stochasticwell-formed
coloured nets for symmetric modelling applications, IEEETransactions onCom-
puters42(1993),no.11,1343{1360.
6. G.Chiola,G.Franceschinis,R.Gaeta,andM.Ribaudo,GreatSPN1.7:GRaphical
EditorandAnalyzerforTimedandStochasticPetriNets,PerformanceEvaluation
24(1995),47{68.
7. V. Cortellesaand R.Mirandola, Deriving a queueing networkbased performance
model from UML diagrams, Proceedings of the Second International Workshop
onSoftware andPerformance (WOSP2000)(Ottawa,Canada),ACM,September
2000,pp.58{69.
8. P.KingandR.Pooley,UsingUMLtoderivestochasticPetrinetsmodels,Proceed-
ingsoftheFifteenthAnnual UKPerformance EngineeringWorkshop(J.Bradley
andN.Davies,eds.),DepartmentofComputerScience,UniversityofBristol,July
1999,pp.45{56.
9. E. Mena, A. Illarramendi, and A. Go~ni, A software retrieval service based on
knowledge-driven agents, Cooperative Information Systems CoopIS'2000 (Eliat,
Israel),OpherEtzion,PeterScheuermanneditors.LectureNotesinComputerSci-
ence,(LNCS)Vol.1901,Springer,September2000,pp.174{185.
10. J.Merseguer,J.Campos,andE.Mena,Evaluatingperformance onmobileagents
software design, Actas de las VIII Jornadas de Concurrencia (Cuenca, Spain)
(DiegoCazorla,ed.),UniversidaddeCastilla-laMancha,June2000,pp.291{307.
11. J Merseguer,J Campos,and E. Mena, Performance evaluation for thedesign of
agent-basedsystems:A Petrinetapproach,ProceedingsoftheWorkshoponSoft-
wareEngineeringandPetriNets,withinthe21stInternationalConferenceonAp-
plicationandTheory ofPetriNets (Aarhus,Denmark)(MauroPezzeandSolM.
Shatz,eds.),UniversityofAarhus,June2000, pp.1{20.
12. J. Merseguer, J. Campos, and E. Mena, A performance engineering case study:
Softwareretrieval system,PerformanceEngineering.StateoftheArtandCurrent
Trends (R. Dumke, C. Rautenstrauch, A. Schmietendorf, and A. Scholz, eds.),
LectureNotesinComputerScience,Springer-Verlag,Heidelberg,2001,Toappear.
13. T.Murata, Petri nets: Properties, analysis, andapplications,Proceedings of the
IEEE77(1989),no.4,541{580.
14. E.PitouraandG.Samaras,Datamanagementformobilecomputing,KluwerAca-
demicPublishers,1998.
15. B. Selic, G.Guleckson, and P.Ward, Real-time object-oriented modeling, Wiley,
1994.
16. C.U.Smith,Performance engineeringofsoftwaresystems,TheSeiSeriesinSoft-
wareEngineering,Addison{Wesley,1990.
17. M. Woodside, C.Hrischuck, B. Selic, and S.Bayarov, A wide band approach to
integratingperformancepredictionintoasoftwaredesignenvironment,Proceedings
ofthe1stInternationalWorkshoponSoftwarePerformance(WOSP'98),1998.