• No se han encontrado resultados

Performance Analysis of Internet Based Software Retrieval Systems Using Petri Nets

N/A
N/A
Protected

Academic year: 2023

Share "Performance Analysis of Internet Based Software Retrieval Systems Using Petri Nets"

Copied!
10
0
0

Texto completo

(1)

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

bythesoftwareengineeringcommunityandit tsverywell

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-

(2)

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-

tionfortherealtime eldispresented. 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. Inthe eld 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

e ort,theprocess allows toobtainaperformancemodelas

a by-product and it preserves the bene ts 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

thedownloadmessageisannotatedwiththelabelf lesizeg,

alsoinFigure1.b).

(3)

for theassociated message tobe dispatched. Annotations,

also between braces, express the event probability success

associatedwitheachcondition(forinstance,seeprobability

f0.1gassociatedwiththeconditionsatis edinFigure1.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 nd le. 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,takingtheproperdecisionsfortheunspeci edsys-

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(whichrepresentsthe nalstatein

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,

modelingacommunicationbu er.

TheoutcomeSWN modelsthebehaviourofthewholesys-

tem. Figure4depictsanexampleofacompletenetobtained

fromthecomponentnetsinFigure3andfromthesequence

diagraminFigure1.b. Theperformance guresforthesys-

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 di erent ways, by using

a keyword-basedsearch engine and bynavigatingthrough

(4)

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-basedsearchengineo ershelptothoseusers

thatknowsomefeaturesofthewantedsoftware. Thissearch

facilitywillnotbeconsideredinthispapersinceitcannotbe

usedbynaiveusersthatdonotknowntheconcretesoftware

that theyneed. Thenavigation facility consists of several

webpages residingonaserverand organized ascategories

linkedbetweentheminawaythatguidestheuserto ndthe

software. Forinstance, a numberofthese systemspresent

aninitialwebpagewherethecategoriescorrespondtodi er-

entoperatingsystems,sayWindows2000,Windows95/98,

LinuxorUnix. Theuserselectsthedesired categoryanda

newwebpagewithseveraltopicslikemultimedia,browsers

orInternettoolsisloaded,inthiswaytheusercancontinue

thesearchofthesoftware. TheANTARCTICASRSo ers

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 di erent HTML pages (representing

software categories and descriptions of concrete pieces of

software)untils/he ndsa piece of software that satis es

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 ful lls 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 di er-

entkindsofusers,fromnaiveusers,thosewhoneedtovisit

manycategoriesto ndthesoftware, toexpertusers,those

who ndthesoftwarevisitingveryfewcategories.

WhenevertheuserrequestsanHTMLpageoraconcrete

piece of software, the web server mustperform the corre-

spondingactivities to ndthepageorthepiece. 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-

(5)

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.

Twodi erentkindsofmessagescanbedistinguished,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-

ifyingitsratedi erentkindsofuserscanbemodeled,

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.

Whenthebrowserful llsthenecessaryactivities

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

nd le). 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 satis ed with any of the

products shown ( ring of the immediate transition

Browser.select sw ), or not ( ring of the immediate

transitionnotsatis ed).

The ring of the immediate transition named

succinstallmodelsthearrivalofamessage tocon rm

thattheretrievalofthesoftwarehasbeensuccessfully

completed.

Browsercomponent net. The number of tokens in the

place wait models how many concurrent browser ac-

(6)

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.

The ringofthetransitionnamedselectcategorymod-

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,

thereforeconsumingtimeby ringthetimedtransition

namedwebServer.selectURL.The ring oftransitions

get and user.observe models,respectively, theobtain-

ing of the HTML page with new categories and its

dispatchtotheuser.

The ringofthetransitionnamedselectswmodelsthe

arrivalofmessagesfromtheuserrequestingaconcrete

pieceofsoftware. Therequestissenttothewebserver

throughthenet by ringthetimedtransitionnamed

webServer.download. The ringofthetimedtransition

namedreplymodelstheobtainingofthe lerequested

byprevioustransition. Finally,the ringofthetransi-

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. The ringofthetimedtransition

named downloadmodels thearrivalofa remotemes-

sagetorequestforaconcretepieceofsoftware. The r-

ingofthetimedtransitionnamed ndhtmlpagemod-

Figure5: ArchitecturefortheANTARCTICASRS.

The ringofthetimedtransitionnamed nd lemod-

elsthe completionofthesearchfor arequested piece

ofsoftware. The ringofthetimedtransition named

Browser.getmodelsthedispatchoftheHTMLpageto

thebrowser. Finally,the ringofthetimedtransition

namedBrowser.replymodelsthedispatchofthe leto

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 iftwotransitionsindi er-

entnetsrepresentthesamemessage(thesenderandthere-

ceiver),theymustbeconnectedusinganintermediatebu er

place(nowaitsemantics)or theymustbesynchronizedin

a uniquetransition (wait semantics). If the message trav-

elsthroughthenet,thenthetransitionsaretimedandtwo

situationscanarise:

 Iftheyareconnectedinthecompletenetbyusingan

(7)

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-

(8)

(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 di erent 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

di erent systems,withdi erent availability,purpose,

etc. Thegoal ofthebrowseragent istointeract with

the user inorder to re ne 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

speci cactivitiesatdi erentlocations.

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

(9)

system,thethroughputofthesuccinstalltransitionwillbe

calculatedbycomputingthesteady-statedistributionofthe

isomorphicContinuousTimeMarkovChain (CTMC) with

GreatSPN [7]. Theinverseof theprevious resultgivesthe

networktime. IntheANTARCTICASRSthetargettran-

sitionisselectswservice.

Tostudythenetworktime,wehavedevelopedatesttak-

ingintoaccountthefollowingscenarios:

1. Totesttheuserre nementrequest,wehaveconsidered

sixdi erentpossibilities. Auserrequestingameanof

5,10,20,30,40and50re nements 2

(modelingdi er-

entexpertiseoftheuser).

2. Twodi erent 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

thattheuserasksforare nement. 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 di erent sce-

narios. ConcretelyinFigure7.b wecanobserve thatwhen

the net speed is 1 K/sec., the user is naive and performs

50 re nements (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 di erences decrease,

and ifthe user performsmore thanthirty re nementsthe

ANTARCTICASRSbehavesworse. Inconclusion, we can

saythattheANTARCTICAapproachbehavesmuchbetter

thana Tucows-like system for low networkspeed. Di er-

ences between the two approaches become less signi cant

forahighernetworkspeed. Takingthisanalysisasbasiswe

could estimatewhich approachis better for agiven situa-

tion.

AbouttheintelligenceoftheANTARCTICASRSbrowser

agent,Figure8giveusinterestingresults. This gureshows

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 re nementa\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-

(10)

automatically fromthe UMLperformance annotated

diagramsinthecontextofthesoftwarelifecycle.

 Di erent 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

Uni edModelingLanguagespeci cation,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.

Referencias

Documento similar

(A1’) the net structure is known; (A2’) the initial mark- ing is not known or is only known to belong to an initial macromarking, i.e., a given linear convex set; (A3’) all

The main contribution of this paper is a new approach for the computation of the steady state flow of mono T-semiflow reducible nets. A tight bound is obtained solving a

To reduce the computational complexity of the analysis or syn- thesis of Petri nets, two relaxations have been introduced at two different levels: (1) at net level, leading

The ring of the transition named select category models the arriv al of mes-. sages from the user requesting for a specialization of the category

[r]

In this paper, we focus on FT systems using shared resources modelled as Petri nets (PNs)

Hence, with the initial configuration and the given budget, the number of security hosts needs to be increased by five units and the number of DB application hosts by two units in

In [9], it is proven that the lim-reachability problem for consistent CPN systems with no empty siphons in the initial marking is decidable in polynomial time.. We improve this