Table Of ContentDEPARTMENTOFCOMPUTERSCIENCE
SERIESOFPUBLICATIONSA
REPORTA-2003-2
Supporting NomadicAgent-basedApplications
intheFIPAAgentArchitecture
HeikkiHelin
Tobepresented,
withthepermissionoftheFacultyofScienceoftheUniversityofHelsinki,
forpubliccriticisminAuditoriumXIV,MainBuilding,
onFebruary15th,2003,at10o’clock.
UNIVERSITYOFHELSINKI
FINLAND
ContactInformation
Postaladdress:
DepartmentofComputerScience
P.O.Box26(Teollisuuskatu23)
FIN-00014UniversityofHelsinki
Finland
Emailaddress:[email protected]
URL:http://www.cs.Helsinki.FI/
Telephone:+35891911
Telefax:+358919144441
Copyright(cid:0)c 2003byHeikkiHelin
ISSN1238-8645
ISBN952-10-0882-2(paperback)
ISBN952-10-0883-0(PDF)
ComputingReviews(1998)Classi(cid:2)cation:C.2.4,C.2.6,D.2.11,I.2.11
Helsinki2003
HelsinkiUniversityPrintingHouse
SupportingNomadicAgent-basedApplications
intheFIPAAgentArchitecture
HeikkiHelin
DepartmentofComputerScience
P.O.Box26,FIN-00014UniversityofHelsinki,Finland
[email protected]
PhDThesis,SeriesofPublicationsA,ReportA-2003-2
Helsinki,January2003,xvii+200pages
ISSN1238-8645
ISBN952-10-0882-2(paperback)
ISBN952-10-0883-0(PDF)
Abstract
The progressin wireless network technologies and mobile devices changes the way in
whichpeopleaccessservices.Ausermayaccessthesameservicesasshewouldusingher
desktopcomputer,butinthenomadicenvironmentsheisabletodosoanywhere,atany
timeandevenusingavarietyofdifferentkindsofdevices. Suchanenvironmentplaces
newchallengesonthearchitectureimplementingtheservices.Thedissertationdealswith
exploitationofsoftwareagenttechnologyinnomadiccomputing.
Software agent technology has raised much enthusiasm in both research communities
andcommercialmarkets,anditisassumedtobeanef(cid:2)cientdesignandimplementation
methodforcomplexdistributedsystems. Combiningnomadiccomputingandsoftware
agentsmakesitpossibletocreateasolidbasisforfuturenomadicapplications.
Themainattentioninthedissertationisinsoftwareagentcommunicationinanenviron-
mentwhereatleastsomepartofthecommunicationpathisimplementedusingwireless
networktechnology.Insuchenvironments,thecharacteristicsofthecommunicationpath
should be consideredin each communication layer. Sometimes, applying changes only
at onelayermightbe meaninglessasan inef(cid:2)cient solutionat onelayerdeterioratesall
thechangesatotherlayers. Theessentialresultsofthedissertationhavebeenpublished
in international forumsand have affectedsubstantially to international agent standards
speci(cid:2)edbyFoundationforIntelligentPhysicalAgents(FIPA)standardisationorganisa-
tion.
Wepresentan agent-based architectureprovidingmeans forbuildingadaptive applica-
tionsfornomadicusers.Thearchitectureintroducesanagentformonitoringandcontrol-
lingawirelesslink,QualityofService(QoS)ontology,andsupportforanef(cid:2)cientwayfor
agentcommunicationoverawirelesslink. TheCommunicationAgentcarriesoutmoni-
toringandcontrollingofthewirelesslink. Theontologyde(cid:2)nesaQoSterminologyand
methodsaccessingservicesoftheCommunicationAgent.Inthewirelessenvironment,the
(agent)communicationshouldbetailoredtoprovideanef(cid:2)cientuseofscarceand(cid:3)uctu-
atingdatacommunicationresources. Sometimes,ef(cid:2)ciencyisnotasimportantaspectas,
forexample,reliability. Nevertheless,thecommunicationsolutionsusedinmoderndis-
tributedsystemsoragentsystemsseldomful(cid:2)ltheserequirements.
iv
AhighvarietyofQoSindatatransmissionoverwirelessnetworkscreateschallengesthat
today’sInternet-basedservicesaddressesinadequately.Whereastoday’sapplicationsmay
resultintreatingrapidandextremechangesinQoSasfailures,inthenomadicenviron-
menttheseshouldbeconsideredasausualcase. Therefore,thecomplexityofdatatrans-
missionshouldbehiddenfromthenomadicuserandapplications, andmanagedbyan
intelligentmiddleware. Thisdissertationismotivatedbytheneedtoprovideasoftware
solutiontoovercomethechallengesinnomadicenvironments.
ComputingReviews(1998)CategoriesandSubjectDescriptors:
C.2.4Computer-communicationnetworks:DistributedSystems
C.2.6Computer-communicationnetworks:Internetworking
D.2.11SoftwareEngineering:SoftwareArchitectures
I.2.11Arti(cid:2)cialIntelligence:DistributedArti(cid:2)cialIntelligence
GeneralTerms:
Design,Standardisation
AdditionalKeyWordsandPhrases:
Software agent technology, distributed systems, middleware, communication, software
architectures
Acknowledgments
ThestoryofthisdissertationbeganinNovember 1998, inDallas, Texas. Sincethenithas been
alongway(cid:151)inbothtimeanddistance(roughly400,000frequent(cid:3)yermiles...)(cid:151)andIcouldnot
havecompletedthisdissertationwithoutthesupportofseveralkeypeople.
First of all, I would like to thank my supervisor, Professor Kimmo Raatikainen, for his support
andguidanceinmywork, andforgivingopportunitiestoparticipateresearchprojectsunderhis
guidance.
Secondly, I am grateful to Heimo Laamanen for introducing FIPA to me and for being always
happy, and, particularly, for ensuringthatIwasabletoparticipate researchprojects supporting
thisdissertation. Further,Heimo’ssupportwasessentialthatIeverstartedworkingonsoftware
agenttechnology.
ThisworkhasbeenmainlycarriedoutattheDepartmentofComputerScienceoftheUniversity
ofHelsinki. Thedepartment, headed byProfessorsMarttiTienari,EskoUkkonen,TimoAlanko,
andnowadaysJukkaPaakki,providedanexcellentworkingenvironment. Moreover,Iwouldlike
tothankeveryonewhohasbeeninvolvedinresearchprojectsMowgli(wirelessstuff)andMonads
(agentstuff). SpecialthankstoTimoAlanko,MarkkuKojo,PauliMisikangas,andOskariKoski-
mies.Especially,IwouldliketothankTimoforhiscontinuoussupportduringmyacademicstudies.
ThanksalsotoMarinaKurtØnforcorrectingthelanguageinthisdissertation.
The support of many people involved in FIPA has been essential over the years. In particular,
thanksmustgotomembersofTCE(NomadicApplicationSupport),TCGateways,andTCAd-
Hoc,especiallytoMichaelBerger,StefanoCampadello,HeimoLaamanen,JohnShepherdson,and
SanttuToivonen. Additionally, numerousotherpeoplehave participatedtoworkoftheseTCs(cid:151)
thankstoallofthem.
ThanksarealsoduetomycolleaguesatSoneraCorporation.Especially,IwouldliketothankMikko
Laukkanenforhisvaluablecommentsandforimplementingmostofthearchitectureintroducedin
thisdissertation. IalsothankSoneraCorporationforprovidingmesuchaworkingenvironment
thatgavemeanopportunitytoparticipateFIPAstandardisationmeetingsduringtheseyears.
Iwouldalsoliketothankallmyfriendsoutsideoftheacademicworld.Especially,Iamgratefulto
MinnaTuulari(cid:151)herencouragementwasessentialthatIeverstartedacademicstudies.
Finally,thankstomyfamily(cid:151)Marjut,Velmu,andFrank,fortheirsupportandexistence.
Kirkkonummi,January2003
HeikkiHelin
vi
Contents
Abstract iii
Acknowledgments v
I INTRODUCTION
1 Introduction 3
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 OverviewoftheApproach . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 StructureoftheDissertation . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 ResearchHistory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
II BACKGROUND
2 SoftwareAgentTechnology 13
2.1 SoftwareAgent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.1 AgentTheories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.2 AgentArchitectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.3 AgentLanguages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.4 AgentApplications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 AgentCommunication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.2 AgentCommunicationLanguages . . . . . . . . . . . . . . . . . . . 22
2.2.3 ContentLanguages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3 Ontologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.1 De(cid:2)nitionofOntology . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.2 DesignPrinciples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.3 MethodologiesforBuildingOntologies . . . . . . . . . . . . . . . . . 30
2.4 FoundationforIntelligentPhysicalAgents(FIPA) . . . . . . . . . . . . . . . 30
2.4.1 OverviewofFIPASpeci(cid:2)cations . . . . . . . . . . . . . . . . . . . . . 30
2.4.2 FIPAAgentPlatform . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4.3 FIPACommunicationModel . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.4 TechnicalCommitteeE(NomadicApplicationSupport) . . . . . . . 33
3 WirelessEnvironmentsandAdaptiveApplications 35
3.1 ApplicationAdaptation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
viii CONTENTS
3.2 SystemSupportforMobileApplications . . . . . . . . . . . . . . . . . . . . 38
3.2.1 TransportProtocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2.2 MiddlewareSupport . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.3 ApplicationLevelSupport . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3 QualityofService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3.1 QoSCharacteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3.2 QoSManagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3.3 QoSinWirelessNetworks . . . . . . . . . . . . . . . . . . . . . . . . 44
III NOMADIC APPLICATIONSUPPORT
4 AgentCommunicationinWirelessEnvironments 49
4.1 LayeredModelofAgentCommunication . . . . . . . . . . . . . . . . . . . . 49
4.1.1 AnalyticalPerformanceModel. . . . . . . . . . . . . . . . . . . . . . 51
4.2 TransportandSignallingLayer. . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3 MessageTransportProtocolLayer . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3.1 FIPABaselineMTPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.3.2 OtherOptionsforMTP . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3.3 PerformanceEvaluation . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3.4 ReliabilityIssues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.4 MessageEnvelopeLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.4.1 ReliabilityIssues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.4.2 PerformanceEvaluation . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.5 AgentCommunicationLanguageLayer. . . . . . . . . . . . . . . . . . . . . 70
4.5.1 PerformanceEvaluation . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.6 ContentLanguageLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.6.1 PerformanceEvaluation . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.7 ConversationLayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.8 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5 Agent-BasedMiddlewareforNomadicApplications 83
5.1 ReferenceModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.2 QoSOntology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.1 ReferenceModelandDe(cid:2)nitions . . . . . . . . . . . . . . . . . . . . 85
5.2.2 QoSVocabulary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.2.3 ExpressingParameterValue . . . . . . . . . . . . . . . . . . . . . . . 99
5.2.4 QoSInformationExchange . . . . . . . . . . . . . . . . . . . . . . . . 100
5.3 ControlFunctionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.3.1 CommunicationChannelFunctions . . . . . . . . . . . . . . . . . . . 105
5.3.2 TransportProtocolFunctions. . . . . . . . . . . . . . . . . . . . . . . 107
5.4 MonitorFunctionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.4.1 QoSInformationQuery. . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.4.2 SubscribetoQoSNoti(cid:2)cations . . . . . . . . . . . . . . . . . . . . . . 112
5.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6 ExampleApplications 117
6.1 WebScenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.2 AuctionScenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.3 LocationServiceScenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
CONTENTS ix
IV CONCLUSIONS
7 Conclusions 129
7.1 SummaryoftheDissertation . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.2 FutureWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.3 FinalRemarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
V APPENDICESAND REFERENCES
A NomadicApplicationSupportOntology 135
A.1 ObjectDescriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
A.1.1 QualityofServiceDescription . . . . . . . . . . . . . . . . . . . . . . 136
A.1.2 QoSReport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
A.1.3 TimeValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
A.1.4 RateValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
A.1.5 ProbabilityValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
A.1.6 QoSParameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
A.1.7 ChangeConstraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
A.1.8 TimeConstraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
A.1.9 MessageTransportProtocolDescription . . . . . . . . . . . . . . . . 138
A.1.10 CommunicationChannelDescription . . . . . . . . . . . . . . . . . . 138
A.1.11 SubscriptionIdenti(cid:2)er . . . . . . . . . . . . . . . . . . . . . . . . . . 139
A.1.12 Watermark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
A.2 FunctionsandPredicates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
A.2.1 SubscribetoChanges . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
A.2.2 CancelSubscribedNoti(cid:2)cation . . . . . . . . . . . . . . . . . . . . . 140
A.2.3 QueryMonitoringInformation . . . . . . . . . . . . . . . . . . . . . 140
A.2.4 ActivateaCommunicationChannelConnectionoraMessageTrans-
portProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
A.2.5 DeactivateaCommunicationChannelConnectionora
MessageTransportProtocol . . . . . . . . . . . . . . . . . . . . . . . 141
A.2.6 RequestMonitoringInformation . . . . . . . . . . . . . . . . . . . . 141
A.3 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
A.3.1 NotUnderstoodExceptionPropositions . . . . . . . . . . . . . . . . 141
A.3.2 RefusalExceptionPropositions . . . . . . . . . . . . . . . . . . . . . 141
A.3.3 FailureExceptionPropositions. . . . . . . . . . . . . . . . . . . . . . 142
B ResultsoftheMTPExperiment 143
B.1 HTTP/FIPAQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
B.2 HTTP/FIPARequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
B.3 HTTP/Subscribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
B.4 P-HTTP/FIPARequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
B.5 P-HTTP/Subscribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
B.6 IIOP/FIPAQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
B.7 IIOP/FIPARequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
B.8 IIOP/Subscribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
B.9 CFW/FIPAQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
B.10 CFW/FIPARequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
B.11 CFW/Subscribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
B.12 MAMA/FIPAQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
x CONTENTS
B.13 MAMA/FIPARequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
B.14 MAMA/Subscribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
B.15 RMI/FIPAQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
B.16 RMI/FIPARequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
B.17 RMI/Subscribe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
C Binary-XMLEncodingTokensforFIPAMessage 161
C.1 EncodingTokensforFIPAMessageEnvelope . . . . . . . . . . . . . . . . . 161
C.1.1 TagTokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
C.1.2 AttributeStartTokens. . . . . . . . . . . . . . . . . . . . . . . . . . . 161
C.1.3 AttributeValueTokens . . . . . . . . . . . . . . . . . . . . . . . . . . 162
C.2 EncodingTokensforFIPA-ACL . . . . . . . . . . . . . . . . . . . . . . . . . 162
C.2.1 TagTokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
C.2.2 AttributeStartTokens. . . . . . . . . . . . . . . . . . . . . . . . . . . 162
C.2.3 AttributeValueTokens . . . . . . . . . . . . . . . . . . . . . . . . . . 162
C.3 EncodingTokensforFIPA-SL . . . . . . . . . . . . . . . . . . . . . . . . . . 163
C.3.1 TagTokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
C.3.2 AttributeStartTokens. . . . . . . . . . . . . . . . . . . . . . . . . . . 164
C.3.3 AttributeValueTokens . . . . . . . . . . . . . . . . . . . . . . . . . . 164
C.4 EncodingTokensforFIPA-CCL . . . . . . . . . . . . . . . . . . . . . . . . . 164
C.4.1 TagTokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
C.4.2 AttributeStartTokens. . . . . . . . . . . . . . . . . . . . . . . . . . . 164
C.4.3 AttributeValueTokens . . . . . . . . . . . . . . . . . . . . . . . . . . 165
D DatausedinMeasurements 167
D.1 MessageEnvelopeMeasurements . . . . . . . . . . . . . . . . . . . . . . . . 167
D.1.1 AMinimalMessageEnvelope . . . . . . . . . . . . . . . . . . . . . . 167
D.1.2 AMoreRealisticMessageEnvelope . . . . . . . . . . . . . . . . . . . 167
D.1.3 ABigMessageEnvelope . . . . . . . . . . . . . . . . . . . . . . . . . 168
D.2 FIPA-ACLRepresentationMeasurements. . . . . . . . . . . . . . . . . . . . 170
D.2.1 Case1(cid:151)FIPARequest . . . . . . . . . . . . . . . . . . . . . . . . . . 170
D.2.2 Case2(cid:151)FIPAQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
D.2.3 Case3(cid:151)Subscribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
D.3 ContentLanguageMeasurements . . . . . . . . . . . . . . . . . . . . . . . . 172
D.3.1 MessageContentsusedintheFIPA-SLEvaluation . . . . . . . . . . 172
D.3.2 MessageContentsusedintheFIPA-CCLEvaluation . . . . . . . . . 174
References 176
Description:exploitation of software agent technology in nomadic computing. Software agent technology agents makes it possible to create a solid basis for future nomadic applications. The main attention in the assembler. The procedural