Volume11,Number3,pp.289303. http://www.spe.org ©2010SCPE
CREATING, EDITING, AND SHARING COMPLEXUBIQUITOUS COMPUTING
ENVIRONMENTCONFIGURATIONS WITHCOLLABORATIONBUS
TOM GROSS
∗
AND NICOLAI MARQUARDT
†
Abstrat. Earlysensor-basedinfrastrutures wereoftendevelopedbyexpertswithathoroughknowledgeofbasetehnology
forsensinginformation,forproessingthe aptureddata,andforadaptingthe system'sbehaviouraordingly. Inthispaperwe
arguethatalsoend-usersshouldbeabletoongureUbiquitousComputingenvironments.WeintroduetheCollaborationBus
appliation: agraphialeditorthatprovidesabstrationsfrombasetehnologyandtherebyallowsmultifarioususerstoongure
UbiquitousComputingenvironments. Byomposingpipelinesusersaneasilyspeifytheinformationowfromseletedsensors
viaoptionallters forproessing thesensor data toatuators hangingthe systembehaviour aordingto theirwishes. Users
anomposepipelines forbothhomeandworkenvironments. Anintegratedsharingmehanismallowsthemtosharetheirown
ompositions,andtoreuseandbuilduponothers'ompositions. Real-timevisualisationshelpthemunderstandhowtheinformation
owsthroughtheirpipelines.Inthispaperwepresenttheonept,implementation,anduserinterfaeoftheCollaborationBus
appliation.
Keywords: ubiquitousomputing;editor;onguration
1. Introdution. Thedevelopmentofearly sensor-basedinfrastruturesoftenrequired expert
program-merswithathoroughknowledgeof basetehnologyforsensinginformation, forproessingtheaptureddata,
andforadaptingthesystem'sbehaviouraordingly[10℄[23℄[24℄[26℄. Inthispaperwearguethatalsoend-users
should beable toongure Ubiquitous Computingenvironments. There aresomeresearh projetsproviding
easy-to-use ongurationinterfaesfor non-expert usersto reate sensor-based Ubiquitous Computing
appli-ations,yet mostlyonly fortheprivatehome[4℄ [8℄ [15℄ [18℄ [25℄. Furthermore,mostsystemslak integrated
failitiesfortheollaborativeexhangeofusers'ongurations. Onlysomesystemstypiallyomplex
ongu-rationtools[2℄[3℄[5℄[16℄provideenhanedvisualisationsofthedataowandsensor-networkdatatosupport
userswhilereatingoronguringappliations.
Inthis paperweintrodue CollaborationBus: agraphial editor that providesadequate abstrations
frombasetehnologyandtherebyallowsmultifarioususersrangingfromnovietoexpertstoeasilyongure
omplexUbiquitous Computingenvironments.
By omposing pipelines usersan easily speify the information ows from seleted sensors viaoptional
lters for proessing the sensor data to atuators hanging the system behaviour aording to their wishes.
Whenever thesensors apture valuesthat are in therange indiatedby the users,the atuatorsperform the
speied ations. All pipeline ompositions are stored in the respetiveuser's personal repository. A entral
interfaeallowsuserstoontroltheirrespetiverepositorytheyanreatenewpipelineompositions,oredit,
ativateordeativateexistingones.
An integratedsharingmehanismallowsusersto sharetheirown pipelineompositionswith othersusers.
Inananalogousmannertheyanaddothers'ompositionstotheirownrepository,andbuildnewompositions
basedontheseompositions. Real-timevisualisations displayrelationsbetweeninomingand outgoingevents
of the pipeline, and let the user interatively adjust and keep trak of the information ow through their
pipelines. Theyhelp theusersunderstandtheinformationowthroughtheirompositions,whih anbeome
quiteomplexonsistingofsetsofsensors,lters,andatuators.
In this paper we present the onept, implementation, and user interfae of the CollaborationBus
appliation. First,wedevelopsenariosof ongurationsfor Ubiquitous Computingenvironmentsand derive
requirements. Thenwedesribetheoneptandimplementationof CollaborationBus,andpresentitsuser
interfae. We ontinuewith adisussion of related work. Finally, we draw onlusions and report on future
work.
2. Requirements. InthissetionwedevelopsenariosofongurationsforUbiquitousComputing
envi-ronmentsandderiverequirementsfortheCollaborationBuseditor.
2.1. Appliation Senarios. Usersshould be ableto ongure environmentsin their private homesas
wellasin theirworkplaes.
∗
FaultyofMedia,Bauhaus-UniversityWeimar,Germany(e-mail:tom.gross(at)medien.uni -we imar .de ).
†
Department ofComputerSiene, Universityof Calgary. Calgary, AB,CANADA, T2N1N4. (e-mail: niolai.marquardt
SmartTelephone. Inarstsenariouserswishtoontrolthesoundvolumeoftheirmusiplayersandstart
theiralendarappliationindependeneoftheiroetelephones'state. Asimplebinarysensorattahedtothe
telephoneistherstinputsoureofthispipeline. Theseondinputsourehekswhethertheuserisurrently
loggedin at theoe omputer. The onditionmodules hekthetelephone sensorstate aswellasthelogin
information. Finally, the user speies the desired information ow: if the attahed sensor detets that the
phone isused, asriptis started(e.g., AppleSripton aMaOS X omputer,ora shellsript onWindows)
andmutesthevolumeoftheomputer(e.g., Ma,orPC), aninfraredontrol (e.g.,onasensorboard)mutes
thesoundsystem,andanothersriptstartstheuser'salendarappliation(e.g.,iCal,orOutlook),sothatthe
useraninputnewappointmentsduring the phoneall. Whenthe phoneallends, theappliation fadesthe
musibakinagainafterafewseonds.
PersonalNotiation Seletion. Inaseondsenario,userswanttogetinformationabouttheurrent
a-tivitiesoftheirremoteo-workersandfriends. Usersanaddastatesensortotheinstantmessagingappliation
aswellasmovementandnoisesensorsassouresoftheirpipeline. Thenusersanspeifyquerieswithkeyword
ltersthatanalysethesensordataoftheinstantmessagingsensorandhekiftheymaththenamesoftheir
remote o-workers orprojet desriptions. As atuators the users might wish to speify that all events are
olletedand sent asadaily email summary one a day. Additionally, if thenumber of messagesontaining
the keywords reahesa speied ourrenethreshold, the system additionallysends the usersan immediate
summary messageto theirmobile phonesviaan SMS gateway(a short messageserviesendinga messageto
themobilephone).
Informal Group Awareness. Inanal senario,theusersoftworemotelabswantaninformationhannel
of the lab ativities asRSS feed that an be integrated into tikertapedisplays or sreensavers. They wish
to reeive information on the ativities at the other site. They reate a pipeline omposition and add the
followinginformation soures as input soures: the urrentlab members logged in on the server and in the
instantmessagingsystem,theurrentCVSsubmissionsofthedevelopers,theaveragevaluesofthemovement
and noisesensors andthe urrenttemperatureofthe twolabs andtheoee lounge. Asatuatoromponent
fortheoutputtheyaddanRSSfeedgeneratorandpublishtheRSSletoaserver. Now,thelabmembersan
aess thisRSSfeed and addit to theirfavourite notiationdisplay(e.g., aWeb browser, orasreensaver).
This summary of group events and ativities an help users to nd out more about the whole development
team,andanfailitatetheinformalandspontaneousommuniationbetweentheolleagues.
2.2. FuntionalRequirements. Thefollowingfuntionalrequirementswerederivedfromvarious
appli-ationsenarios(wedesribedthreeoftheminthepreedingsub-setion),andfromadetailed studyofrelated
work (wepresentsomeexamplesofrelatedworkinSetion6below).
•
Provideadequateabstrationforvariousappliationsdomains: Congurationeditorsshouldallowuserstointegrateavarietyofsoftwareandhardwaresensorsapturing information,andsoftwareand
hard-wareatuatorsadaptingthebehaviouroftheenvironmentaordingly. Theintegrationofexistingand
new sensors and atuators should be easy. Various ongurations should be possiblerangingfrom
ongurationsforhomeenvironmentsaswellasforworkenvironments.
•
Supportdiverseusers withheterogeneousknowledge,rangingfromnovie toexperts: Congurationed-itors should failitatethe immediate utilisation. Forthis purpose, they should provide a pre-dened
libraryof ommon ongurationsand ongurationassistantsthat allowthe usersespeiallynovie
userstousetheeditorimmediatelyandto inrementallyexploreitsfuntionality. Additionally,
on-gurationeditorsshould oerguidedompositions. Therefore,theuserinterfaeandthefuntionality
provided should be restritedto signiant andneeded funtions; funtions that are notadequate or
notneededshould bedisabled (e.g., ifasensoraptures datain theform of textstrings,alulations
suhasaverageshould bedisabled). Finally, ongurationeditorsshould providedetails ondemand.
Forthis purpose, espeially moreexperiened usersshould beablemovefrom moreabstrat tomore
ne-grainedlayers,andtoseeandmanipulatedetails.
•
Supportthe exhangeof ongurationsamongusers: Congurationeditorsshould allowthesharingofongurationsamongusers. Thesharingofongurationsisusefulforworkgroupsandfriends,beause
itallowsuserstobuildontheresultsofotherusers,andgiveslessexperienedusersthehanetobenet
Table3.1
Appliationswithsensors/atuatorsinhomeandworkenvironments.
Homeatuators Oe atuators
Home
sensors
a) Smart Home Appliations: often
on-netions betweenhardwaresensors and
a-tuators (e.g., to ontrol eletrial devies
(power plugs) in dependene of observed
sensor values, or to ontrol multimedia
homedevies)
b)HomeAwarenessAppliations: mixeduse
ofsoftwareandhardwaresensorsand
atua-tors (e.g., to observethe private homefrom
theworkoe, ortodisplaystateof family
membersat home)
Oe
sensors
) Oe Awareness Appliations: mixed
use ofsoftwareand hardwaresensors (e.g.,
to summarise information of projets and
to inform people at homeaboutthe
work-ingativity)
d) Collaborative Work Appliations: often
appliations based on software sensors and
atuators (e.g., to observe omputer logins,
instantmessengerpresene,andother
ativ-ities)
3. Conept. In this setionwedesribeCollaborationBus' keyonepts for ageneri approah, for
pipelines,foradiverseuserexperiene,andforollaborativesharing.
3.1. Generi Approah. The approah of CollaborationBus is generiit works aross multiple
appliationsdomains,temporalpatterns,andomplexitypatterns.
3.1.1. Spanning Appliation Domains. Sensor-and atuator-basedappliations in the private home
dierfromthoseintheooperativeworkdomain. Whilewetrytointegrateaommon,universaluserinterfae
andmetaphorsforusersofbothdomains,thesedomainsanvaryintheiruseofhardwareandsoftwaresensors
asillustratedinTable3.1.
SmartHomeAppliations (f.a inTable3.1)aremainlybuiltwithhardwaresensorsandatuators,where
thedevelopedsensor-basedappliationsadapt thehomeenvironmentautomatiallytotherequirementsofthe
privateusers. Whileomputerappliationsprovideappropriatefuntionalityfortheongurationandreation
of these appliations, the omputer and its appliations should disappear during the everyday exeution of
thesensor-basedappliations. In orderto support thedevelopmentof appropriateappliations,the
Collab-orationBus editor supports avariety of hardware sensors and atuators, and the editor is only needed for
omposingthesetting.
Inontrastto thesemainly hardware-basedappliations,mostCollaborative Work Appliations arebased
onbothhardwareandsoftwaresensorsandatuators(f.d in Table3.1). Sineomputersarein generalpart
of the workplae, software sensors and their events (e.g., appointments, emails, tasks, projet ativity) and
softwareatuators(e.g.,forsendingemails,displayingmessagesontheomputersreen)anbeusedtoreate
sensor-basedappliationsforawarenessandinformation-owofworkgroups. Atthesametime,theintegration
ofhardwarebothsensorsandatuatorsandtheirphysialuserinterfaesanfailitatetheinteration with
theseappliations. Thisresultsintangibleuserinterfaesforappliationsattheworkplae(e.g.,physialsliders
soset thepresene in an instantmessaging systems; LCD displays for displayingimportant email messages;
audio signals to inform about the urrent projet's state). CollaborationBus supports the reation and
ongurationof allthese free ombinations of physial userinterfaeswith software eventsasamain feature
andallowsuserstoreatetheirenvisionedinterfaesthemselves.
In between these two domains are appliations that bridge the gap between the private home and the
businesswork(f.bandinTable3.1).HomeAwareness Appliations (f.b inTable3.1)supportonnetions
to family members and friends at the workplae. For instane, ambient displays let the users pereive the
information in multi-sensoryways. This inludes that users an ongure their sensor-based appliations at
homeaswellasattheiroe;thusauniversalappliation interfaeisrequired.
Oe Awareness Appliations bridge the gap betweenthe home and thework environment (f. in T
a-ble3.1)by informingusersabouteventsfromtheoe whiletheyare athome. Usersdene theirown
infor-mationhannelsthat onnethomeenvironmentwith theirwork environment(e.g.,projetreportsummaries
thataregenerated anddeliveredto theprivatehome,importantemailorinstantmessagesthat areforwarded
Onawholebothenvironmentshomeandworkhavebeomeinreasinglyintertwinedinthereentyears
(e.g., telework). Therefore,utilities needtoallowthebuilding ofuniversalsensor-basedappliations spanning
bothambienesandtheintegrationofsoftwaresensorsandatuatorsaswellashardwaresensorsareneeded.
3.1.2. Spanning Temporal Patterns. Inanyappliation domainvarious patternswith regardto
ap-turingongoingdataand startingatuatorsanbeidentied:
•
Reurrent,permanent(e.g.,appliationswithongoingolletionofdata)•
Reurrent,oasionally(e.g.,appliationsdependingonday-time,duringtheholidays,atnight)•
One-time(e.g.,appliationswithall-bakiftherequiredpersonisreahable)The software needs adequate methods to support any of these temporal patterns, and should provide a
strutured overview of the urrent ongurationsof auser. Anotherimportant aspet is to enable the easy
re-useofreatedongurationsin thepast: aopymethod andtemplates anspeedup thereationproess.
Systemssupportingallthesetemporalpatternsareneeded.
3.1.3. Spanning Complexity Patterns. Eah setting an have aspei omplexity pattern ranging
fromsimplesensor-atuatortuplestonetworksofsensorsandatuators:
•
Onesensor,oneatuator(e.g.,onebinarysensorontrolsoneatuator)•
Sensor,lters,atuator(e.g., onlyreattoertaintemperaturevaluesof atemperaturesensor)•
Multipleparallelsensors,ltersandatuators(e.g.,reatesummariesofvarioussensorsoures,ontrolaset ofatuators)
•
Complexnetwork ofomponents(e.g.,determinetheurrentativityorevenmoodofaperson)The CollaborationBus editor supports any appliation domain, and any temporal pattern desribed
above. It supports any omplexity pattern, exept for omplex networks. Complex networks are typially
not onguredwith agraphial editor, but rather developed with programminglanguages; therefore, herea
graphialeditorwould notbeusedanyways.
3.2. Pipelines. In CollaborationBusallrelations betweensensorsand atuators are handled witha
pipelinemetaphor.
Pipelinesareompositionsthatinludeseveralomponents:atleastonesensorandoneatuatoromponent,
and additionallyfurther lteromponents forproessing sensor values (e.g., to delimit theforwardedvalues,
ortoonvert dataformats). Allomponentsinside of aompositionare onnetedviapipelinesthat forward
eventsbetweenthem. Pipelinesanbenestedin variousways: severalparallelsub-pipelinesanbeadded(this
representstheORondition);sequenesofsensorsouresanbereated(ANDondition);ornegationsanbe
speied(NOT ondition).
Sensorsarethesouresofanyinitialeventinapipeline. Theyaneitherbehardwaresensors(e.g.,sensors
fortemperature,movement,lightintensity)orsoftwaresensors(e.g.,sensorsforunreademails,mouseativity,
sharedworkspaeevents,openappliations).
Atuatorsareatthesink-sideofthepipelineomposition. Hardwareatuatorsaettherealenvironment
oftheusers(e.g.,ativatelightsouresordevies),whilesoftwareatuatorsonlyinuenetheomputersystem
(e.g.,displaysreenmessages,startappliations).
Filtersforproessingtheaptureddataarebetweensensorsattheonesideandatuatorsattheother. The
lteromponentsanproessallinomingeventsofasensorsoure. Eahlteromponentrepresentsasingle
ondition ortransformation based on the inoming event value. Filters typiallygenerate data of partiular
formats(e.g., integervalues,Boolean values,strings). There areuniversallter typesthat anbeapplied to
anytypeofsensordataandspeiltertypesthatanonlybeappliedtopartiulartypesofsensordata. The
respetiveltertypesandothefollowingproessing:
•
Universal(e.g., ounttheeventourrene,reateeventsummaryreports)•
Numerialproessing(e.g.,numerithreshold,interpolation,average)•
Stringproessing(e.g.,searhforspeiedkeywords)•
Binaryproessing(e.g., negation,onjuntion)•
Transformations(e.g., numerivalueto stringmessage,binaryvaluetonumeri)Filtersanbeassembledinmanydierentombinations. Thisinludes,forexample,anadaptivebehaviour
to hangedonditionsof thesensor soures(e.g., modiedupperorlowerlimit ofa temperaturesensor, ora
omponentsalsoinludeavarietyoftransformationmethods(e.g.,forgeneratingashortmessagetothemobile
phone(SMS)astringmessageanbeentered, andthevaluesoftherespetivesensorsanbeattahed).
With CollaborationBususers an easily onnet loal sensors and atuatorsorsensors and atuators
fromremoteloationsandbuildnewongurationsinafewseondsbyvisualprogrammingthough
point-and-lik. Eah pipeline omposition inludes all these omponentssensors, atuators, and ltersand denes
aomplete information ow through them. Experts an program newpipeline omponents by deriving new
lassesfrom thePipelineComponent lass (f. nextsetion for details). All ompositions of auserare stored
in a personal repository. This repository inludes all data to dynamially instantiate the inluded pipeline
ompositions.
Fig.3.1.Userexperienelevels,andadequatetoolstosupportusers.
3.3. ExperieneforDiverseUsers. TheCollaborationBuseditoranbeusedbyuserswithdiverse
levelsoftehnialbakground. Users'knowledgeanrangefromnoexperieneatalltoverythoroughtehnial
knowledge. Figure3.1showsvarioususertypesrangingfromnovieuserswithnoexperienetomoreexperiened
usersand to experts. It showsthe methods that are available andanbe usedin dependene of theexisting
knowledge. Italsoshowstheuserinterfaesandsupporttoolsthatareoeredfortherespetiveusertypes(the
userinterfaesandsupportingtoolsaredesribedbelow).
NovieuserswithnopriortehnialknowledgeanstartusingCollaborationBusbyloadingand
adapt-ingpre-ongured appliation ongurationsthat arepartof the CollaborationBusdistribution. As they
progress,theyanuse theintegratedsharingtooltoloadotherusers'ongurationsand tousethem as
tem-platesfortheirownongurations. Theyan,furthermore,modifyandenhanetheappliationongurations
andtemplates.
Moreexperienedusersanreatetheirownappliationongurations,andexeutetheminordertolearn
moreaboutintra-pipelineeventforwarding.
Expertusersanreatetheenvisionedsystem-behaviourbydevelopingtherequiredsoftwareinahigh-level
programminglanguage. Typially, forthese ativitiestheyusetoolkits,platforms, libraries,and development
anddebuggingenvironmentstofailitateandspeedupthedevelopmentproess.
Taking these diverse usertypes into onsiderationis aoreonept of CollaborationBusand its user
interfae(the latterisdesribedbelow).
•
Sensorandeventsharing: userseithersharetheeventsoftheirownsensors,ortheproessedeventsoftheirsensors.
•
Atuator sharing: usersshare theontrol ofapersonalatuator withother users,so that otherusersansend ommandstotheatuatorandontrolthesystembehaviour.
•
Pipeline sharing: usersshareompletemoreorlessomplexpipelineompositionswithothers.Therstsharingmethodletsusersreatetheirownongurationindependeneofremoteloatedsensors
of other users. The seond sharing method lets users ontrol the atuators of other users (leading to new
hallengesofpotentiallyonurrentaesstoatuators). Andthethirdsharingmethodletsusersexhangeand
re-instantiateompletepipelineompositions,requiringaunieddesriptionformatandexhangeprotoolfor
pipeline ompositions. In thelatter ase thereipientsof the ompositions an hange this released pipeline
ompositiontottotheirrequirements. Beauseeahuserreatesanewinstaneofthispipelineomposition,
thehangesofotherusersarenotaetingtheoriginalomposition.
CollaborationBussupportsseurityandprivay protetionthoughtadequatelevelsofabstration and
ontrol overaess privilegesofthe owninformationsouresare needed. Inorder to restrittheshared
infor-mation, users an hoose the sharing of abstrat templates. In these shared pipeline ompositions, only the
skeletonofapipelineisshared,andtheoriginalsensorsandatuatorsofauserarenotinludedinthesharing
entry. Thus,theabstrat templateofaomposition ontainsmainly theongurationofalllteromponents
betweenthesensorsandatuators. Usingthisabstrattemplate,otherusersaninserttheirownsensorsinthe
plaeholdersat the beginningof thepipeline omposition,and theirown atuatorsat theend. Thislet them
usetheknowledgeoftheproessinglteromponentsoftheomposition,whileatthesametheuserwhoshares
hispipelineompositiondoesnotsharehisownsensorsandatuators.
These integrated ollaborativesharingmethods providea powerfuland easy-to-use method of knowledge
exhange betweendierent usersof thesystem. Asprior desribed in Figure 3.1, anovie and inexperiened
useranusepre-onguredpipelineompositionsofanotheruser(if thisusersharestheompletepipeline),or
theuser anloadanabstrat pipeline template andll in his own sensorsand atuators. Ateverytimeit is
veryeasyfortheuserstosharetheirnewpipelineompositionsagain,andstorethemin thesharedrepository.
Thefollowingexampleillustrates asituation where these abstrat templates are appropriate. A userhas
reated an ambient notiation display of importantinoming email messages: all messages are sanned for
adequate keywords or sender addresses, and if the san was suessful, a message will be displayed on an
ambientexternalLC display. Theuserdeidestosharethis onguration,while atthesametime itstandsto
reasonthattheuserdonotwantto sharehispersonalemail-sensor,ortheexatongurationofthekeyword
lter. Byusing theabstrat template,the useransharethe basionatenationofinomingsensors, lters,
andtheatuatordisplay,withoutsharinghis personalsensors.
On the other hand, a user who has reateda SMS notiation servie for the average temperature of a
seriesof temperaturesensors maywish toshare thisomplete onguration,andthereforeshares thepipeline
ompositionswithalltheassoiatedsensors.
4. Implementation. Inthis setion wedesribe the implementation of CollaborationBus: software
arhitetureandlassdiagram.
4.1. CollaborationBus Software Arhiteture. Figure 4.1 provides an overviewof the software
arhiteture of CollaborationBus. All sensor and atuator omponents are onneted to the SensBase
infrastruture, whih provides adapters for the onnetion of sensors and atuators, a entral registry of all
onnetedomponentsandadatabaseforpersistentstorageofsensor eventdata. SensBase wasimplemented
with the Sens-ation platform [13℄. SensBase provides inferene engines that an transform, interpret, and
aggregatesensor values. A variety ofgateways(e.g., WebServie, XML-RPC, Sokets) provide interfaesfor
theretrievalofsensordesriptions,eventdata, atuators,andso forth.
The CBServer uses these gateways to register for the sensor values needed for the users' pipeline
om-positions. Eah time when hanges our at one of the onneted sensors, the SensBase server forwards a
hangeeventtotheCBServer. Theseeventsareforwardedto theadequateomponentsinsideofeahpipeline
omposition. TheompositionsareinsideofthePersonalRepositoryofeahuserandinludetheomplete
de-sriptionofallassembledomponents(inserialisedXMLformat,forplatformindependenyandeasyexhange
ofpipelineompositiondesriptions). TheCBServer anserialiseandde-serialisetheseXMLdesriptions,and
Fig.4.1.CollaborationBussoftwarearhiteture.
Insideoftheseomponentswehavemultiplethreadsrunningtoensurerapidproessingofdataaswellasrapid
forwardingofeventstothesubsequentomponent. Whilethesensorand atuatoromponentsinside ofthese
ompositionsatasaproxyfortheexisting(andonneted)devies,thelterobjetsrepresenttheproessing
andtransformationpartinside of theseompositions. Apipelineomposition aninlude multiple proessing
pipelinessimultaneously, andtheusersanrunandstopasmanyofthese ompositions astheylike(by using
theControlUserInterfae).
IntheSharedRepositorythepublishedpipelineompositionsarestored. TheyaresavedintheXMLformat
aswell,andXML proessingisusedtooperatebasedonthesedesriptions(e.g., tomodifyexistingentries,or
toreateanabstratpipelineompositiontemplate). Furthermore,theCBServermanagesadiretoryofallthe
varioussensorandatuatortypes,aswellaslteromponents,andsubmitsthemtothelientappliation. The
dynamidiretoryanbeextendedwithnewomponentsatanytime,andthisensurestheeasyextendibilityof
CollaborationBus. Ifuserswanttointegratedierentatuatorsorsensors, theyneedtoimplementanew
adapterdriverattheSensBase level;thisisindependentfromtheCollaborationBusarhiteture. However,
if new lter omponents are needed for a dierent data proessing, then a new lass (by deriving from an
abstratbase lasswith theorefuntionality ofeah lteromponent)is neededtorepresentthis proessing
step. Whilethisanbedonewithminoreortbyanysoftwaredeveloper,itisnoteasyto addanewlterfor
non-programmers.
TheCBClient implementstheGUIs desribed above. Forreating,ontrollingand editingpipeline
om-positions it is neessary to support all the XML operations of the server, and the methods for instantiating
pipelineompositionsaswell(fortheeditor andtesting tools).
4.2. CollaborationBus Class Diagram. The lassstruture ofthe repositoriesandpipeline
om-positionsisillustratedin anUMLlassdiagraminFigure4.2. ThePersonalRepository lassprovidesmethods
to add, remove, modify, and get PipelineComposition objets. The SharedRepository ontains a olletion
of SharedRepositoryEntries, whih wraps one PipelineComposition and speify the sharingattributes of this
PipelineComposition (e.g., abstratorompletetemplate).
ThePipelineComposition objetis aompositeobjetforaseries ofPipelineComponents. Itenapsulates
Fig.4.2. CollaborationBusrepositoryandpipelineUMLlassdiagram.
It providesommonmethods foreah pipelineomponent(likeproessing, forwardingandahingofevents).
InsidethePipelineComponents multiplethreads (ProessingThread)are runningtoensurerapidproessingof
data as well as rapid forwarding of events to the subsequent omponent. Sensor, Filter, and Atuator are
abstratbaselassesfortheonretepipelineomponentsallowingto respetively: retrievesensorvaluesfrom
any numberofsensorsfrom theSensBase infrastrutureand pushthem into thepipelineproess(e.g., sensor
values from the Embedded Sensor Board orPhidgets hardware devies [11℄); proess inoming values (e.g.,
keywords,average,or thresholdlter); and ontrolthe atuatorelements(e.g., generatean RSSfeed, showa
messageonatext display, ordrive otherappliations viaAppleSript). CollaborationBusisimplemented
in Java with Swing libraries for the GUIs. Several libraries are used for XML [30℄ proessing (e.g., for the
serialisationofpipelineompositions[27℄,forparsingsensordesriptions,forreatingXPathexpressions[29℄);
andforremoteonnetions(e.g., XML-RPC[28℄,andSOAP[1℄).
5. User Interfae. TheCollaborationBuseditorprovidesfourmajor graphialuserinterfae(GUI)
omponents: the Login and Control GUI; the Editor GUI; the Shared Repository GUI; and the Real-Time
VisualisationGUI.
5.1. Loginand ControlGUI. TheControlGUIistheentralaesspointforalluserstotheirpersonal
repositoryof ongurations. Inorder to getto their Control GUI, usershaveto loginrst. Figure5.1 shows
theLoginandtheControl GUIs.
After login, users an see the Control GUI with the listing of their pipeline ompositions, inluding an
indiator of the urrent stateof eah pipeline omposition (retangle to the right of the pipeline name): O
(grey),Running (green),orIn EditMode (orange).
All funtions for modifying the repository and its ompositions are available from within this interfae:
Add, Remove, Rename, and Clone pipeline ompositions (via the Commands button). Usersan Start and
Stop the threaded exeution of eah omposition (via the Start/Stop button). And, they an usethe Share
methodto uploadtheseletedomposition diretlytothesharedrepository(viatheCommandsbutton).
5.2. Editor GUI. WhilethebasifuntionsforthepersonalrepositoryareavailableintheControlGUI,
theunderlyinglterompositionofeahofthepipelinesisonlyavailableintheEditorGUIthatanbeopened
Fig.5.1.LoginGUIandControlGUI.
button), et. Inthe middle area the respetivepipeline with itssensors, onditions, and atuators is shown
(eah individualitem isrepresentedasaretangular box). Inthebottomareathepropertiesofthe urrently
seletedpipelinepart(retangularbox)areshownandanbealtered.
In order to reate a newpipeline omposition, users anrst disover theavailable sensor soures (e.g.,
movementsensor, temperature, sensortelephonesensor, instantmessengerstatus sensor)oftheinfrastruture
in a graphialsensor browser (the browser anbestarted by pressingthe +-sign to the right of Sensors and
Conditions), andaddthesensorstheyneedtothepipeline. Thentheyanspeifyrulesandonditions(these
an also be viewed by pressing the +-sign to the right of Sensors and Conditions) for the sensor values by
addingsetsofltersandoperators. Foreah sensortypeswith theaordingsensorvaluetype,spei lters
and operators anbeseleted (e.g., anevent valuethreshold, a ounter for numberof ourrenes). Finally,
theatuatorsanbespeiedbyseletingtheminthegraphialatuatorbrowser(the browseranbestarted
bypressingthe+-signtothe rightof Atuators). Here,the editorprovidestheoptiontospeifythemapping
Fig.5.2. EditorGUI.
5.3. Shared Repository GUI. The ollaborative sharing mehanism desribed above is integrated in
the Control GUI and in the Editor GUI. Inorder to makea pipeline omposition available for others, users
have two options. They an either selet the Share method in the Control GUI (via the Shared button; f.
Figure 5.1). Here thedefaultsettings forsharingare usedand noadditionalparametersareneeded. Orthey
anhoosetheSharingommandintheEditorGUI (viatheSharingbutton;f. thetopareain Figure5.2)to
speifyfurthersettingsfor thesharedomposition. Further settingsinludedesription,ategory,andtypeof
sharing(f. threetypesofsharingabove). Finallytheusersanuploadthepipelineomposition.
In order to use oneof theshared pipeline ompositions, the useran aess the Shared RepositoryGUI
from within theControlGUI. Figure 5.3 showstheShared RepositoryGUI. Byseleting oneof theavailable
ompositionsinthelistattheleftside,theinformationforthisentryisdisplayedattherightsideofthedialogue
(desription,owner,ategory,typeofsharing,usedsensorsouresandatuators). Usersanthendownloadthe
respetiveomposition.
5.4. Real-Time Visualisation GUI. Inthe assembly of pipeline ompositions with a varietyof
Fig.5.3.Shared RepositoryGUI.
providesavarietyofgraphvisualisationsthataneitherdisplaytheforwardedvaluesofeahomponentofthe
pipeline(e.g.,usefulforinterpolationandthresholdlters) orthequantityofforwardedvalues(e.g.,usefulfor
gatelters,ountersortimers).
Figure5.4 showstheReal-Time VisualisationGUIwith atimeplotvisualisation ontheleft (showingthe
absolute values of 4 temperature sensors), and an overview of the pipeline events on the right (showing the
numberofourrenesof eventsinaspei pipeline).
With thesevisualisations, theuserobtainsaninside viewofthepipeline proessing. TheommandStart
Pipelines (via theStart Pipelines button) ativatesall omponentsof the respetivepipeline(s) andregisters
fortherespetivesensorevents,startstheproessingofthreads,preparestheatuatormodules,andgenerates
and dynamially updates the visualisations. When any of the omponents of a pipeline is hanged (e.g., a
threshold,oraninterpolationsettings),theimpliationtotheproessinganbereognisedimmediately. Thus
the adjustment and ne-tuning of omponent parameters beomes easier. In order to enable the testing of
pipelineomposition,wehave,furthermore,integratedaninputinterfaeforsimulatedsensorevents. Itallows
theuserstomanuallyinsertsensorvaluestotestandverifythepipelineompositionwithouthavingtowaitfor
realsensorvaluesfromthesensors. So,theproessingofthedatathoughthewholepipelineanbesimulated.
6. Related Work. Thishapter givesan overview ofresearhrelated tothe omposition ofsensor-and
atuator-basedappliations. WeintrodueexamplesofprogrammingtoolsforUbiquitous Computing
applia-tions,softwareforontrollingsensornetworks,andollaborativesharingbetweenusers.
6.1. ProgrammingUbiquitousComputingAppliations. Severalresearhprojetsaddressthe
hal-lengetoallowend-userstoreateandongureintelligentappliationsforin-homeenvironments. WithiCAP,
ap-Fig.5.4.Real-TimeVisualisationGUI(with timeplotvisualization,andoverviewofthepipelineevents).
juntion ofrulesin theirsheets issimilar toourparallelandsequentialpipelines(yet wethinkthat
workow-adapted pipelines stimulatea better understanding ofrule ompositions than freearrangements).iCAP does
notsupportsharing,or real-timevisualisations.
Irene Mavrommati et al. have introdued an editing tool for reatingdevie assoiations in anin-home
environment[18℄. Theireditor onnetsvariousomponentsalled e-Gadgets torealiseUbiquitous Computing
senarios at home (similar to our onneted proessing omponents). Yet, it does not support workplae
environments. The jigsaw editor of Jan Humble et al. [15℄ [22℄ demonstrates another appliation for getting
ontrol overthetehnologialhome environment. Themetaphor ofspeifyingthe appliations' behaviourby
assembling piees of a jigsawpuzzle sounds intuitive. Yet, we would liketo givethe usersmore ontrol over
theirappliationthantheenapsulatedjigsawpiees allow.
Somesystemsarebasedonmobiledeviestoontrolongurationsfromeveryloationateverytime. This
inludes systemsfor PDAs [18℄, mobile phones [4℄, and TabletPCs [15℄. These mobile systems often provide
onlylimitedaesstoomplexongurationmethods. Wehavenotreatedaversionformobiledeviesyet,but
alightweightmobileversionof CollaborationBuswould ertainlybehighlyomplementaryto theexisting
version.
AnotherapproahforonguringUbiquitous Computingenvironmentsisprogrammingbydemonstration.
This method requires an extended period of observation of relevant sensor values. In a later denition and
learningphase,theusersspeify relevantsensoreventsintheeventtimeline,so thatalgorithmsfrom artiial
intelligeneandetetpatterns in theobservedsensorvaluesand automatially exeutedesiredatuators[8℄.
Programmingbydemonstrationtoolshidemostspeidetailsoftheunderlyingmehanismsfromtheusers. On
theonehandthisreduesthebarrierfornon-tehnialuserstoongureUbiquitousComputingenvironments,
butontheotherhandrestritstheinuene andontrolmethodsforusers.
Therelatedworkappliationsmentionedsofaraddressthedevelopmentofompletesensor-based
applia-tionsinaratherabstratway. IntheeBloksprojet[6℄[7℄auserinterfaeforbuildingsensor-basedappliations
andonguringBooleanonditiontablesisintrodued. Astheauthorsshowintheirevaluation,usersstillneed
support in building these Boolean tables (e.g., support by dierent olours or written text [6℄). Therefore,
ThePhidgets toolkitreatedat theGroupLabbyGreenbergandFithett [11℄ failitatesthedevelopment
of physial userinterfaes. It provides arange ofsensor and atuator elementsasbuilding bloks forletting
developers rapidly prototype sensor-based appliations. The inluded developers' toolkit allows easy aess
to these hardware omponents from within thesoftware. This approah wasfurther extended to distributed
arhiteturesbyMarquardtandGreenberg[17℄. Insummary,theuseofPhidgetsrequiresfewhardwareskills,
butonsiderableprogrammingknowledgeandisthereforenotsuitableforend-users.
6.2. SensorNetworkCompositionSoftware. Avarietyofappliationsfortheompositionsof
sensor-basednetworksisavailable[3℄[21℄. Forinstane,theVisualSensemodellingandsimulationframeworkaspart
ofthePTOLEMYIIprojet[2℄[3℄isatoolkitfortheontrolovernegranularsensornetworkommuniation
andproessing. TheGUIinludesfuntionalityforproessingomponentassembly,andforgraphvisualisations
todisplaytheproessedvaluesofomponents.
Sinetheevaluationoftheommuniationinsensornetworksanbediultfornewlyreatedappliations,
several speial omplex development environments have been presented (e.g., SensorSim [21℄, EmTOS [9℄,
TinyDB[16℄,andJ-Sim[24℄). Thesetoolsprovideadequatedevelopmentenvironmentsforexpertusers(beause
theyinludeprogramminglanguages,operatorsets,mathematialproessinglibraries,visualisationtools,et.).
The integration of visualisations for the event ow inside of sensor-network arrangements is interesting for
our purpose [5℄. However, users with a non-tehnial bakground probably have diulties in using these
appliations. Furthermore,theselatterenvironmentdonotsupportthesharingofdevelopmentongurations.
6.3. Collaborative Sharing. While in Computer-Supported CooperativeWork (CSCW) ollaborative
sharing of loation information, les, workspaes, software and patterns is wide-spread[12℄, an approah to
sharingsensor- and atuator-based appliations among users is still missing. In [12℄ design issues of CSCW
appliations that use data sharing are examined. This inludes proposals for aess ontrol, adding
meta-information,versionhistory,and methodsforhandlingupdates andonurrenydiulties. Furtherommon
lassiationsofsharingbetweenusersaredesribedin[19℄[20℄. Theyhavefoundommongroupswithsimilar
sharing preferenes, and patterns in the sharing behaviour of users. Integrating support for these lustered
groupsouldfailitatetheusageofsharingmehanisms.
Hilbert and Trevor desribe the importane of personalisation as well as shared devies for Ubiquitous
Computing appliations [14℄. With the modiation of appliations to the personal needs, the use of these
appliationsbeomeseasierforusers.
7. Conlusion. Inthispaperwehaveintrodued theCollaborationBuseditorallowinganyusersto
reatesensor-atuatorrelations.
7.1. Summary. Evennovie usersaneasily speifyomplexUbiquitous Computingenvironmentswith
theCollaborationBuseditor, withouthavingto dealwith omplexongurationsettingsorprogramming
details. TheCollaborationBuseditorprovidesnovelabstrationsbyenapsulatingandhidingthedetailsof
theunderlying basetehnology(e.g., thesensorinfrastruture,thesensorandatuatorregistration,thesensor
eventregistration). Atthesametime,moreexperienedusersanontrolthepipelineompositiononguration
inanytehnialdetailtheyneedandgetdetailsondemand.
Furthermore,usersansharetheirpipelineompositionswitholleaguesandfriendsviaasharedrepository.
Usersanalsodeidehowauratetheywanttoshare(e.g.,ompleteompositions,abstrattemplate,onlythe
proessedeventvalue).Withaminimumeort,eahuseranbrowsethesharedrepositoryanddownloadshared
pipelineompositionsand adaptthe usedsharedrepositorytemplate tot to theirneeds(byspeifyingtheir
ownpersonalpropertiesofthepipeline). ThiswaytheCollaborationBusfeaturesaninrementallygrowing
library of ready-to-use pipeline ompositions that form a diverse network of ollaborative
sensor-atuator-relations.
7.2. Evaluation. WhiletheevaluationoftheCollaborationBusGUI andfuntionalityaswellasthe
produedpipelineompositionsisofvitalinteresttous, aformaluserevaluationisstillmissing. Nevertheless,
wehaveolletedseveraluseropinions at thepublidemonstration of CollaborationBusto manyvisitors
attheCooperativeMediaLabOpenHouse2005from14to17July2005,wherethevisitorshadthehaneto
tryouttheCollaborationBussoftwareindetail(withahugesetofonnetedsensorsandatuators).
Mostofthevisitorsquiklystartedtoreatetheirownompositions,andtoseletdesiredsensors,atuators
asewastheReal-TimeVisualisationGUI;inpartiular,theativationofthegraphviewsofallpipelineevents.
Itsupportedusersinunderstanding theeet ofparameterhanges.
Themostpopularfuntion ofthetoolwastheintegratedsharingmehanism. Usersenjoyedbrowsingthe
large set of ready-to-use pipeline ompositions in the shared repository. Often they used one of the shared
ompositionsastemplate,modiedparametersintheompositionsorbuiltanewongurationonthebasisof
this omposition andsometimessharedthis omposition again. Theyalsolikedthe ideaofsharingtheir own
ompositionswithothers.
Atypialbarrierofuserswhenreatingsensor-basedappliationswithCollaborationBuswasthatthey
worriedaboutprivayissues. Manyofthevisitorssaidthatitisanimportantriterioninueningtheirdeision
tousesuhassystemswastoexatlyknowalloutgoingorsharedpersonaldataandtobeabletoquiklyand
easilyhangethesettings.
7.3. FutureWork. CurrentlyallomponentsoftheCollaborationBussystempresentedinthispaper
have been implemented. In the future we would like to evaluate the reated pipeline ompositions of users
(espeially those in thesharedrepository),and identify ommon patternsin thereatedompositions. From
that we would like to develop assistivefuntions that provide userssuggestions for reasonableompositions.
Theongurationinterfae ofthe lteromponentsin theEditorGUI analso be improvedto beomemore
intuitivefor theuser. A graphial mappingouldallow usersto dragand drop thedesired inputand output
ommandsandtheomponentonguration.
Analimportantaspetrelatedtoseurityandprivayistheintrodutionofasystem-wideauthorisation
andauthentiationsystemin ordertofurtherseuretheaess tothesensorvaluesandpipelineompositions.
Forthis purpose theCollaborationBusrepositorystorage andthe sensorvalue aessould beintegrated
intheseuritysystemoftheSens-ationplatform.
8. Aknowledgement. We would liketo thankall membersof the CooperativeMedia Labespeially
TaregEgla, and Christoph Oemigfor inspiring disussions on CollaborationBus, and for providing the
PRIMIandSens-ationplatforms. Thanksto theanonymousreviewersforvaluableomments.
REFERENCES
[1℄ Apahe Software Foundation, WebServies - Axis Arhiteture Guide. http://ws.apahe.org/axis/java/arh itetur
e-guide.html,2005. (Aessed5/5/2010).
[2℄ P.Baldwin,S.Kohli,E.Lee,X.Liu,andY.Zhao,Modellingofsensornetsinptolemyii,inProeedingsoftheThird
InternationalSymposiumonInformationProessinginSensorNetworks-IPSN2004(Apr.27-27,Berkeley,CA),New
York,NY,USA,2004,ACMPress,pp.359368.
[3℄ ,Visualsense-VisualModelingforWirelessand SensorNetworkSystems,teh.report,ReportNumber: UCBERL
MemorandumUCB/ERLM04/8,PtolemyProjet,2004.
[4℄ L.BarkhuusandA.Vallgarda,SmartHomeinYourPoket,inInterativePoster:PresentedatTheFifthInternational
ConfereneonUbiquitousComputing-UbiComp2003(Ot.12-15,Seattle,WA).,2003.
[5℄ C. Bushmann, D. Pfisterer, S. Fisher, S. Fekete, and A. Kroeller, SpyGlass: AWireless Sensor Network
Visualiser,SIGBEDReview2,1,(2005),pp.16.
[6℄ S.CotterellandF.Vahid,ALogiBlokEnablingLogiCongurationbyNon-expertsinSensorNetworks,inExtended
Abstratsofthe23thACMConfereneonHumanFatorsinComputingSystems-CHI2005(Portland,Oregon,USA),
NewYork,NY,USA,2005,ACMPress,pp.19251928.
[7℄ S.Cotterell,F. Vahid,W. Najjar,andH.Hsieh,FirstResultswitheBloks: Embedded SystemsBuildingBloks,in
Proeedingsofthe1stIEEE/ACM/IFIPInternationalConfereneonHardware/SoftwareCodesignandSystemSynthesis
-CODES+ISSS2003(Ot.1-3,NewportBeah,CA),IEEEComputerSoiety,2003,pp.168175.
[8℄ A.Dey,R. Hamid,C. Bekmann,andD.Hsu,ACAPpella: Programming byDemonstrationof Context-Aware
Appli-ations, inProeedingsofthe Confereneon HumanFatorsinComputing Systems-CHI 2004(Apr. 24-29,Vienna,
Austria),ACMPress,2004,pp.3340.
[9℄ H.Gellersen,G.Kortuem,A.Shmidt,andM.Beigl,PhysialPrototypingwithSmart-Its,IEEEPervasiveComputing,
3(2004),pp.7482.
[10℄ L. Girod, T. Stathopoulos, N. Ramanathan, J. Elson, D. Estrin, E. Osterweil, and T. Shoellhammer,A
System forSimulation, Emulation,and Deployment of Heterogeneous Sensor Networks,inInProeedingsof the2nd
InternationalConfereneonEmbeddedNetworkedSensorSystems-SenSys2004(Nov.3-5,Baltimore,MD),ACMPress,
2004,pp.201213.
[11℄ S.GreenbergandC. Fithett,Phidgets: EasyDevelopmentof PhysialInterfaes ThroughPhysialWidgets,in
Pro-eedingsofthe14thAnnualACMSymposiumonUserInterfaeSoftwareandTehnology-UIST2001(Orlando,Florida,
USA),NewYork,NY,USA,2001,ACMPress,pp.209218.
[13℄ T. Gross,T. Egla, andN.Marquardt,Sens-ation: AServie-OrientedPlatformforDevelopingSensor-Based
Infras-trutures,InternationalJournalofInternetProtoolTehnology(IJIPT),1(2006),pp.159167.
[14℄ D.HilbertandJ.Trevor,Personalizingsharedubiquitousdevies,ACMinterations11,3,(2004),pp.3443.
[15℄ J.Humble,A.Crabtree,T.Hemmings,K.-P.Åkesson,B.Koleva,T.Rodden,andP.Hansson,"Playingwiththe
Bits"-User-Congurationof UbiquitousDomestiEnvironments,inProeedingsoftheFifthInternational Conferene
onUbiquitousComputing-UbiComp2003(Seattle,Washington,USA),Seattle,WA,USA,2003,pp.256263.
[16℄ S. Madden, M. Franklin, J. Hellerstein, and W. Hong, TinyDB: An Aquisitional Query Proessing System for
Sensor Networks,ACMTransationsonDatabaseSystems30,1,(2005),pp.122173.
[17℄ N.MarquardtandS.Greenberg,DistributedPhysialInterfaeswithShared Phidgets,inProeedingsofthe1st
Inter-nationalConfereneonTangibleandEmbeddedInteration-TEI2007(BatonRouge,LA,USA),NewYork,NY,USA,
2007,ACMPress,pp.1320.
[18℄ I.Mavrommati,A.Kameas, andP. Markopoulos,AnEditingToolthatManagesDevieAssoiationsIn anin-home
Environment,PersonalandUbiquitousComputing,8(2004),pp.255263.
[19℄ J.Olson,J.Grudin,andE.Horvitz,TowardsUnderstandingPreferenesforSharingandPrivay,teh.report,Report
Number:MSR-TR-2004-138,MirosoftResearh,2004.
[20℄ , AStudy of Preferene for Sharing and Privay, inExtended Abstrats of the Conferene on Human Fators in
ComputingSystems-CHI2005(Apr.2-7,Portland,OR),ACM,2005,pp.19851988.
[21℄ S. Park,A.Savvides,andM.Srivastava,SensorSim: ASimulationFrameworkforSensor Networks,inProeedingsof
the3rdACMInternationalWorkshoponModelling,Analysis,andSimulationofWirelessandMobileSystems-MSWiM
2000(Aug.11,Boston,MA),ACM,2000,pp.104111.
[22℄ T. Rodden, A.Crabtree, T. Hemmings, B. Koleva, J. Humble, K.-P. Akesson, and P. Hansson,Between the
Dazzleof a NewBuildingand itsEventualCorpse: AssemblingtheUbiquitousHome,inProeedingsofthe5th ACM
ConfereneonDesigningInterativeSystems-DIS2004(Cambridge,Massahusetts,USA),NewYork,NY,USA,2004,
ACMPress,pp.7180.
[23℄ D.Salber,A.K.Dey,andG.D.Abowd,TheContextToolkit: AidingtheDevelopmentofContext-EnabledAppliations,
inProeedingsoftheACMConfereneonHumanFatorsinComputingSystems-CHI1999(Pittsburgh,Pennsylvania,
USA),NewYork,NY,USA,1999,ACMPress,pp.434441.
[24℄ A. Sobeih, W.-P. Chen, J. Hou, L.-C. Kung, N.Li, H.Lim, H.-Y. Tyan, and K. Zhang,J-Sim: ASimulation
EnvironmentforWirelessSensorNetworks,inProeedingsofthe38thAnnualSymposiumonSimulation(Apr.2-8,San
Diego,CA),IEEEComputerSoiety,2005,pp.175187.
[25℄ T. SohnandA. Dey,iCAP:AnInformal Tool forInterativePrototyping of Context-AwareAppliations, inExtended
Abstratsofthe21stACMConfereneonHumanFatorsinComputingSystems-CHI2003(FortLauderdale,Florida,
USA),NewYork,NY,USA,2003,ACMPress,pp.974975.
[26℄ S.Talja,InformationSharinginAademiCommunities,NewReviewofInformationBehaviourResearh3,(2002),pp.143
159.
[27℄ J.Walnes,XStream-ArhitetureOverview.http://xstream.odehaus.org/arhiteture.html, 2010.(Aessed5/5/2010).
[28℄ D.Winer,XML-RPCSpeiation. http://www.xmlrp.om/spe,1999.(Aessed5/5/2010).
[29℄ World Wide WebConsortium(W3C),XMLPathLanguage(XPath).http://www.w3.org/tr/xpath. W3C
Reommen-dation,November1999. (Aessed5/5/2010).
[30℄ ,ExtensibleMarkupLanguage(XML)1.0.http://www.w3.org/xml/. W3CReommendation,August2006. (Aessed
5/5/2010).
Editedby: PasquaD'Ambra,Danieladi Serano,MarioRosarioGuarraino,FranesaPerla
Reeived: June2007