• Nie Znaleziono Wyników

Designing context-aware systems: A method for understanding and analysing context in practice

N/A
N/A
Protected

Academic year: 2021

Share "Designing context-aware systems: A method for understanding and analysing context in practice"

Copied!
27
0
0

Pełen tekst

(1)

Designing context-aware systems: A method for understanding and analysing context in

practice

van Engelenburg, Sélinde; Janssen, Marijn; Klievink, Bram

DOI

10.1016/j.jlamp.2018.11.003

Publication date

2018

Document Version

Final published version

Published in

Journal of Logical and Algebraic Methods in Programming

Citation (APA)

van Engelenburg, S., Janssen, M., & Klievink, B. (2018). Designing context-aware systems: A method for

understanding and analysing context in practice. Journal of Logical and Algebraic Methods in Programming,

103, 79-104. https://doi.org/10.1016/j.jlamp.2018.11.003

Important note

To cite this publication, please use the final published version (if applicable).

Please check the document version above.

Copyright

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons. Takedown policy

Please contact us and provide details if you believe this document breaches copyrights. We will remove access to the work immediately and investigate your claim.

This work is downloaded from Delft University of Technology.

(2)

Contents lists available atScienceDirect

Journal

of

Logical

and

Algebraic

Methods

in

Programming

www.elsevier.com/locate/jlamp

Designing

context-aware

systems:

A

method

for

understanding

and

analysing

context

in

practice

Sélinde van Engelenburg

,

Marijn Janssen,

Bram Klievink

DelftUniversityofTechnology,Jaffalaan5,Delft2628BX,TheNetherlands

a

r

t

i

c

l

e

i

n

f

o

a

b

s

t

r

a

c

t

Articlehistory:

Received 19 February 2018

Received in revised form 19 October 2018 Accepted 8 November 2018

Available online 15 November 2018

Keywords: Context Context awareness Context elements Design Requirements engineering

Business-to-government information sharing

Context-aware systems are systems that have the ability to sense and adapt to the

environment. To operate in large-scale multi-stakeholder environments, systems often

require context awareness. The context elements that systems in such environments

should takeintoaccountarebecomingevermorecomplexand gobeyondelementslike

geographic location. Inaddition, theseenvironments are themselves socomplex that it is hard to determine what parts of them belongto the relevant context ofa context-awaresystem.However, insightintowhatbelongs tothiscontext isneededto establish whatthedesign ofacontext-awaresystemshouldbetomeetitsgoal.Theambiguityof whatbelongstocontextinthesecomplexorganizationalenvironmentscausesthedesign processtobecomeeitherinefficientorlesseffective.Inthispaper,weprovideamethod toidentifywhatelementsoftheenvironmentare relevantcontextandtothenbasethe designonthisinsight.Theproposedmethodconsistsofthreesteps:1)gettinginsightinto context,2)determiningwhatcomponentsareneededtosenseandadapttocontext,and 3)determiningtherulesforhowthesystemshouldadaptindifferentsituations.Toreduce ambiguity by organizations,the method requires amore specified definition ofcontext thanthe onesin currentliterature,whichwealsoprovideinthispaper. In addition to

reducing ambiguity, the highly structuredway in whichthe components and rulesare

derivedfrominsightintocontextprovidesawaytofurtherdealwiththehighcomplexity ofthecontext.Themethodwasappliedforthe developmentofacontext-aware system forbusiness-to-government (B2G)informationsharinginthecontainershippingdomain. Information sharinginthisdomainishighlycomplex,as legislation,manystakeholders, and amixofcooperation andcompetition result inahighlycomplexenvironment.The developmentofthisB2Ginformationsharingsystemthusprovidesanexampleofhowthe methodcanbeusedtodevelopacontext-awaresysteminahighlycomplexenvironment.

©2018TheAuthors.PublishedbyElsevierInc.ThisisanopenaccessarticleundertheCC BYlicense(http://creativecommons.org/licenses/by/4.0/).

1. Introduction

Technologicaldevelopments,such asbigdataandtheInternetofThings(IoT),resultinmoreandmoresoftware appli-cationstakingthecontextintoaccount.Thereareplentyofexamplesofdevelopmentsthatrequiresuchsystems.Atypical andtraditionalexampleintheliteratureisthatofacontext-awaretourguide.Suchtourguidesprovideinformationtotheir usersthatisrelevantconsidering,forinstance,theirlocationorpersonal preferences[1].Anotherexamplearedevicesthat

*

Corresponding author.

E-mailaddresses:S.H.vanEngelenburg@tudelft.nl(S. van Engelenburg), M.F.W.H.A.Janssen@tudelft.nl(M. Janssen), A.J.Klievink@tudelft.nl(B. Klievink). https://doi.org/10.1016/j.jlamp.2018.11.003

2352-2208/©2018 The Authors. Published by Elsevier Inc. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).

(3)

are usedtomaintain balanceonasmartenergygrid[2].Thisrequiresthemonitoringofenergypoints inhouses[2].This contextual informationmightthen beusedto coordinatethechargingofelectronic vehicles[2,3]. Toachieve itspurpose, such asystemshouldinteractwithavariety ofsystemsthat monitorenergyconsumptionandthatswitch onandoffthe chargingofthe vehicles.Furthermore,thesystemshouldbe designedsuchthat itmeets therequirementsofa varietyof businesses,familiesandotherpartiesthatuseandprovideenergyandinformation.Inaddition,itneedstobeableto main-tain abalanceunderavarietyofcircumstances,suchasaheatwave,whichleadstohighenergyconsumption.Thesystem thusrequirestakingintoaccountthecontext.Atthesametime,theenvironmentofthesystemishighlycomplex.

All in all, the types of opportunities enabled by developments such as the IoT and big data are growing and they often involvethesensing ofcontextualinformation.Forexample,IoT offersthe opportunityto monitoralmostevery link in a supply chain and to adapt to changes in the market fast [4,5]. Such systems that sense and adapt to context are context-aware[6,7].Theenvironmentsinwhichthesesystemsoperateareoftenhighlycomplex.

In1994,SchilitandTheimer[8] wereamongthefirsttointroducetheterm‘context-aware’inrelationshiptocomputing. Anoverviewofcontext-awaresystemsbyHong,SuhandKim [6] showsthatcontextawarenessinvolvesacquiring,sensing orbeingawareofcontext,aswell asadapting toitorusingit.Correspondingly,accordingtoDey andAbowd[9] context awarenessfallsintotwocategories,namelyusingcontextandadaptingtocontext.

Theenvironmentinwhichacontext-awaresystemexistscanbeviewedasopenandinfinite.However,whendesigning asystem,onlypartofthisenvironmentisrelevanttotakeintoaccount,i.e.thecontextofthesystem.Theidentificationof what partsoftheenvironmentare partsoftherelevantcontextisnon-trivial, astheenvironmentcanbe highly complex andinvolveahighnumberofelementsthatarepossiblyrelevant.Therefore,amethodisneededtoinvestigatethecontext ofcontext-awaresystemsincomplexenvironmentsandtodeterminewhatisrelevanttotakeintoaccountintheirdesign.

Theneedforsuchamethodoriginatedfrompractice.Intheinternationalcontainer-shippingdomain,newsystems sup-portingbusiness-to-government(B2G) informationsharingare required[10].Themain needforsuch amethodoriginates fromthe highnumberofelementsthatpossiblycouldbetakenintoaccount.Thereareseveralfactorsthatmakethis envi-ronmenthighly complex.Firstofall,theideathatiscurrentlydominantinthedomain,istosupportbusiness-to-business (B2B) informationsharingsuchthat customscanreusethisdataandpiggybackon it(seee.g.,[11–14]).Thismeansthat thesystemshouldsupportB2Ginformationsharing,aswellasB2Binformationsharinginasupplychain.

A supply chain is a massiveset oftangled branches [15]. Supply chains include a high variety of businesses having differentinterestandavarietyoflegacysystems.Thesebusinessesvaryonthetypeofservicestheyprovide(i.e.,primaryor secondary),theireconomicactivity,leveloftechnicalcapabilityandinterdependencieswithothers,amongstothers[16–19]. Theinformationneedsdifferperorganizationandforhighqualityinformationthecompaniesaredependentoneachother. Those who makeprofit fromsellingdatamight notbenefit fromfreelysharing itandthey thus havenoincentive to do so. The same business might performdifferent functionsin differentsupply chains or within the samesupply chain.In addition,oftenbusinessesauthoriseotherstoactontheirbehalf(e.g.,customsbroker).

Notonlythebusinessesinvolvedintheinformationsharingvaryconsiderable.Differenttypesofgoodsmightbeshipped aswell,includinghighvalue,perishable,ordangerousgoods.Furthermore,informationsharingwilloftenbeinternational, which means that it is governed by legislation from a variety ofsources. The information that is shared alsocan be of different types.There isIoT data fromsensors, such astemperatureorGPS location. In addition,businesses mightshare various contracts, invoices andother documentation with each other. Furthermore,they share various declarations with customs,suchasEntrySummaryDeclarationsandimportdeclarations.Inaddition,anumberofsystemsmightbeinvolved ininformationsharingandthesemightvaryaswell,forexample,email,phone,andelectronicdatainterchange(EDI)[20,

21].

Thiscomplexity requiresacontext-aware systemto supportinformationsharing.Itislikelythat indifferentsituations the informationsharingneeds tobesupported ina differentwaybythesystem. Manyofthethings abovecould havean impactonwhetherandwithwhominformationshouldandcanbesharedandinwhatway.

At thesame time,thiscomplexity makes itdifficultto establishexactlywhat belongstothe context.Itis difficultfor many ofthese elements tosee atfirst sight whetherthey should be taken intoaccount ascontext in thedesign of the B2G information sharing systemto sense and adaptto. A method is needed to eitheravoid the making (of unrealistic) assumptions, or spending a lotof resources on investigating each element. The former would make the design process less effective, while the latter would make the design process less efficient. Instead, we developed a new method for investigatingcontext.

Adetailedunderstandingofthecontext isneededtounderstandwhatacontext-awaresystemshould senseandadapt to. Theinvolvement of,forexample, manyactorswithdifferentandeven opposingrequirements andvariouslegislations basedonthecontext,meansthatitisnoteasytodeterminewhichelementsinthecontextshouldbesensedandadapted to bythesystem. Identifyingwhat belongsto thecontextrequiresan identificationofthe situationsinwhichthesystem needs to operate and the balancing of the requirements of the stakeholders in those situations. In complex large-scale multi-stakeholderenvironments,thevarietyofthesesituationsandstakeholdersislarger.

At thesame time,what belongstothe relevantcontext influences whatthedesign ofa context-awaresystemshould look like.Thatis,it determineswhat sensorsare neededto gathercontext informationandwhatadaptorsare neededto adapttothecontext.Italsodetermineswhatrulesthesystemshouldincorporateforadaptingtodifferentsituationsbased on thecontextinformationobtainedfromthesensors.Thismeansthat athoroughinvestigation ofthe contextshouldbe partoftheintegraldesignprocessforsuchsystems.

(4)

Havinga methodtoeasily andsystematicallydecidewhatbelongstocontextcanhelpto improvetheefficiencyofthe designprocess.Furthermore,havingamethodtogatherandstructureknowledgeoftherelevantcontextandsystematically derivethedesignofthesystemfromthat,mightimproveeffectivity.

The current literature on designing context-aware systems does not provide a method to systematically investigate context andbase the design ofa context-aware system on this(see section 2). In thisresearch, we address this gapin knowledge by proposing amethod that canbe used to investigatecontext ina structured manner,to clearly distinguish irrelevant elementsintheenvironment fromrelevantcontext elementsandtobasethedesignofacontext-aware system directlyonthisinsight.

Inthispaper, weuse twosystems asrunningexamples,viz. acontext-aware tourguideanda context-awareB2G in-formation sharing system. The example ofthe tour guidewill conform with the idea that mostreaders haveof what a traditionalcontext-aware systemis,asthere isquitesome workon it[1]. Itprovides aneasy tounderstand andfamiliar example.However, the methodwill be mostusefulin morecomplex cases,such asthat ofthe B2Ginformationsharing system.Thedevelopmentofsuchasystemwaswhatinitiallymotivatedthedevelopmentofthemethod.Thecomplexityis mainlyinthehighnumberofthingsthatcouldbelongtocontext.Fortheexamples,wefocusonwhatelementswefound tobe partofthecontext andhow weidentified them.Itis impossibleto showall elements thatwouldlikelyhavebeen takenintoconsiderationfruitlesslywithouttheuseofthemethod.Therefore,wecannotusethisexampletoshowthefull complexityofthedomain.Instead,weuseittoillustratehowthemethodcanbeusedinpractice.

This paper isstructured asfollows. In the following section, we discuss related work on context-aware systems. We then discussourmethods insection 3. Contextcan onlybe investigatedeffectively andefficientlywhen itis possibleto easilydecide whatdoesandwhatdoesnotbelongtocontext. Thisrequiresa definitionofcontextthat makesclearwhat distinguishesrelevantelementsintheenvironmentfromirrelevantones.Insection4,weprovideamorespecifieddefinition ofcontext. Thisdefinitionis thebasis forthegatheringandanalysisof datathat isnecessary togetinsight intocontext instep1ofourmethod.Themethoditselfispresentedinsection 5.Weprovideadetaileddiscussionofwhatadesigner shoulddoto performeachstep.Furthermore,wediscusswhywebelieve thatthisistheappropriate courseofactionfor thedesignerinthatstep.Insection6,wedrawconclusionsanddiscusstheimplicationsoftheuseoftheproposedmethod. Wealsodescribehowfutureworkcouldhelptofurtherevaluatethemethod.

2. Relatedwork

Thereis muchrelatedresearch available.However, thisresearchis notfocused ondesigning context-awaresystems in thehighlycomplexenvironmentswe discussedintheintroduction.First,wediscusstheworkondesigningcontext-aware systems.Then,insection2.2,wediscusstheworkonrequirementengineeringindesigningcontext-awaresystems.Insight into contextdoesnot only needto be obtainedduring the designprocess andtranslated intodesign.The context-aware systemalsoneeds tosense contextandadapttoit atruntime.Therefore, contextneeds tobemodelled inthesystemas well.Insection2.3,wediscusssomeoftheworkonrepresentingcontextinformationandrulesforadaptingtocontext. De-terminingwhatbelongstotherelevantcontextofcontext-awaresystemsrequiresanunambiguousandeasytounderstand criterionfordecidingthis,asmostactorsarenon-expertsandhavelimitedtechnologicalknowledge.Suchacriterionshould bederived fromacleardefinitionofcontext.We discusstherelatedworkondefinitionsofcontext insubsection 2.4.We provideourowndefinitionofcontextinsection4.

2.1. Guidelines,toolsandframeworksfordevelopingcontext-awaresystems

In2009,Hong,SuhandKim[6] foundthatabout5.5%ofthepapersoncontext-awaresystemsprovideguidelinesfor de-velopment.Aportionofthiswork,andmorerecentsimilarwork,focusesonsolvingissuesinaspecificapplicationdomain orwithspecifictypesofsensors(seee.g.[22,23]).Themajorityoftheworkisonprovidingtechnicaltools,frameworksand infrastructuresthatadesignercanusetobuildcontext-awareapplications(seee.g.[24–30]).Inthis‘infrastructure-centred approach’thereisanassumptionthatthecomplexityofdevelopingthesystemscanbereducedbyusinganinfrastructure that cangather,manageanddistributecontextinformation[31].Thesetoolsandframeworksfordesigningcontext-aware systemscanbe quiteusefultodesigners, helpingthemto elaboratethetechnicaldetails andcreatethesystem. However, thisassumesthatthecontextisinvestigated.

Inamorerecentsurvey,Alegre,AugustoandClark[32] provideanoverviewofmethodsforengineeringcontext-aware systems.An analysisofthedescribed methods showsthatthey donot includethe investigationofcontext asanexplicit andfundamentalstageinthedesignprocess.Inconcordance, Alegre,AugustoandClark[32] concludethat theworkdoes notincludetechniquesandtoolsforunderstandingthecontext.

The research by Alegre,Augusto andClark [32] does show that insightinto contextis important.Onthe basis ofthe results of a questionnaire completed by 750 researchers, they determine that among the most important features of a method fordevelopingcontext-aware systems isthe ability to representsituations inwhich the systemshould adaptin order to betterunderstand them [32]. On thebasis of an analysis ofthe literature, they state the following: “Allcontext informationmodellingandreasoningtechniquesneedtoenablethesituationrepresentation,butthereisnosupportforunderstanding thesituationsandthecontextsthattheyaregoingtoberepresented,stemmingfromtherequirements.” [32,p.24].Ourmethod,in

(5)

whichgettinginsightintocontextisafundamentalstageinthedesignprocess,thusaddressesaproblemthatisimportant toresearchersinvolvedinthedesignofcontext-awaresystems.

2.2. Contextawareness,designandrequirementsengineering

In their work on context-aware services, Finkelsteinand Savigni[33] make a distinction betweenfixed goals and re-quirements.Theystate thatgoalsarefixedobjectivesandrequirementsarevolatileandcanbeinfluencedbycontext[33]. Due totheirdependenceoncontext,thefunctionalrequirementsinthecaseofacontext-awaresystemcanbeviewedas conditional. Forexample,‘filteringpricinginformationfromthedata’could bea requirementthat needstobe metunder theconditionthatacertainsituationhappensatruntime,e.g.,whenacompetitorwouldgetaccessotherwise.

This conditionality requiressituations to be found in which the functionalrequirements for thesystem are different. Thisinsight intocontextisnecessaryto establishwhat adaptorsareneededtofulfilthefunctionalrequirementsinthose situations.Furthermore,relatingthesesituationstothefunctionalrequirementsisnecessarytoascertainaccordingtowhat rulesthesystemshouldadapt.Inaddition,itneedstobedeterminedwhatelementsinthosesituationsneedtobesensed inordertoidentifythesituationthesystemisinatruntime.

In general, therequirements engineeringprocessdoesnot seem toprovide awayto getthe insightinto contextthat isneededtodevelopcontext-awaresystems.NuseibehandEasterbrook[34] describetherequirementsengineeringprocess asconsistingofcontextandgroundwork,elicitingrequirements,modellingandanalysingrequirements,andcommunicating requirements. The stage ofcontext and groundworkis viewedaspreparation andisused to determine thefeasibility of the project andto select methodsfor further development [34]. It thus doesnot involve the systematicinvestigation of contextthat weneed.Thestage ofrequirementselicitationinvolvesidentifyingstakeholdersandgoals[34].Thisalsodoes notinvolvelinkingsituationstofunctionalrequirements.

Theworkspecificallyonrequirementsengineeringinlightofcontextawarenessislimited.Thenotionofcontext-aware systems is oftennot mentioned explicitly inthiswork. Instead, the work discusses,for example,context-aware services, dynamic adaptive systemsorself-adaptive systems[33,35,36]. Thisliterature does, however,acknowledgetheimportance anddifferenttypeofrelationshipbetweencontextandrequirementsinthe caseofcontextawareness[33,35,37].Insome cases,itevengoesasfarasviewingadaptationasrequirementsengineeringbythesystemitselforasrequiringrequirement awarenessbythesystem[35,36].

Eventhoughtheexistingworkappreciatesthecomplexityofrequirementsengineeringinthecaseofcontextawareness andtheneedtohaveinsightintocontext,itdoesnotprovideawaytosystematically getthisinsight.Instead,itproposes the useof existing usability methods or interviews, for instance [37,38]. Ofcourse, such techniques might be useful in gathering theappropriate datanecessaryforgettinginsightintocontext. Nevertheless,thesemethods donot providethe structurenecessarytoinvestigatecontextinthecaseoflarge-scalemulti-stakeholderenvironments.Morespecifically,they donotprovideawaytoeasilydecidewhatbelongstothecontext,andthisisnecessarytoensureefficiency.

Requirements engineering is part of a larger process of designing systems. According to Hevner [39], design science consists ofa relevance cycle, rigour cycle anda design cycle. The connectionto the environment madein therelevance cycle isto ensurethat the designproblemis relevant,that the artefactis usable inpracticeandthat it actually offers a solution tothe problem[39,40].Thiscycleinvolves determiningthe requirementsforthe systemandfieldtesting ofthe system[39].

The distinctive propertyofcontext-aware systemsis thatthey sense andadaptto context todelivera solutionto the design problem. Designing such systemsthus involves determiningwhat the systemneeds to sense, whatadaptations it needs tomake,andinresponseto whatsensorinformation.Contextawarenessmainlyimpacts thedesignprocess inthe relevancecycle,asthisiswheretheconnectiontotheenvironmentismade.

However, forcontext-awaresystems,an additionalconnection needsto bemadetodetermine whatconditionsshould be included fortheir conditional requirements.In other words,it needs tobe determined what designcould deliverthe solutionto theproblemindifferentsituations.Whensuch aconnectionisnotmade, thenthecontexttakenintoaccount is based on assumptions ofthe designer. These assumptions could be checked to some extent inthe relevance cycleby determiningwhetherasolutiontotheproblemisfound.However,thischeckingisindirectandthusleadstoaninefficient designprocess.Furthermore,thiswayoftestingmakesitveryhard,ifnotimpossible,toruleoutthatpartsofthecontext areincludedthatdonothelpinsolvingtheproblem.Thiscanleadtoadesignofasystemthatisneedlesslycomplex.

Peffers etal.[41] describeseveralactivitiesthat are commonindesign scienceresearch, viz.1)problemidentification andmotivation,2)definetheobjectivesforasolution,3)designanddevelopment,4)demonstration,5)evaluation,and6) communication.Toensurethattheproblem,objectivesandsolutionarerelevant,aconnectiontotheenvironmentneedsto be madeinthedesignprocessduringactivity1and5.Inactivity3,theartefact’sdesiredfunctionalityanditsarchitecture isdetermined[41].Basedonthis,theactualartefactiscreated[41].

The designofcontext-awaresystemsshouldfollowthesamesteps.However,theadditionalconnectiontothe environ-mentthatisnecessaryfordevelopingcontext-awaresystemsshouldbemadeinactivity2and3,becauseforcontext-aware systemsthefunctionalityandarchitecturepartiallydependsonwhatelementsoftheenvironmentarepartsoftherelevant context. For functionality,insight intocontext is neededto determine what thesystem needs to be able tosense, what adaptationsitneedstobeabletomakeandwhatsituationsshouldleadtowhatadaptations.Thearchitectureshouldhave thenecessarysensorsandadaptorstobeabletoofferthisfunctionality.

(6)

2.3. Representingcontextinformationandrulesforadaptingtocontext

Anin-depthoverviewofexistingworkonrepresentingcontextandreasoningwithcontextinformationisnotwithinthe scopeofthisresearch.Thisarea isveryextensiveandtheliterature alreadycontains severaloverviews(e.g.[42–45]).The main differencebetweenourwork andtheexisting work liesinthewaythe representationsandrules forreasoningare established.Inourcase,thesefollowdirectlyfromaninvestigationintothecontextofacontext-awaresystem.

Toexplain therelationshipwiththeexistingworksonrepresentationandreasoning,westartwithWinograd[46],who statesthefollowing:“Thehardpartofthisdesignwillbetheconceptualstructure,nottheencoding.Onceweunderstandwhatneeds tobeencoded,itisrelativelystraightforwardtoputitintodatastructures,databases,etc.” [46,p. 417].Winograd[46] stresses theimportanceofhavingaconceptualmodelofcontext.Thisrequiresinsightintothenatureofcontext.However,thereis currentlynosharedunderstandingofcontext[32].Thislackofsharedunderstandingisassociatedwithimprecisedefinitions ofcontextinliteratureandalackofconsensusoncontextdefinitions.

Inthiswork, we providea definitionofcontext that isintended to beapplicable in avariety ofapplicationdomains. Theproposeddefinitionisbasedondefinitionsofseveralotherconcepts,suchas‘focus’,‘situations’,‘contextelements’and ‘context relationships’. The methodhelps designersto build the conceptual modelfor thecontext of their systembased onthesedefinitions.Infact,thisisthefirststepofthemethod(see section5.1).The conceptualmodelisthenusedasa basisforexpressingrulesinthesystemanddeterminingitsrequiredsensorsandadaptors(seesections5.2and5.3).The conceptualmodelthusbridgesthegapbetweeninvestigatingcontextandrepresentingcontextinacontext-awaresystem. Thisallowsforadirecttranslationofinsightintocontextintotheruleswithwhichthesystemshouldreason.

Winograd[46] notesthatencodingorrepresentingcontextitselfisnotthehardpart.Yet,Pertunnen,RiekkiandLassila [42] note that conceptual models have received little attention in literature, compared to context representation. There is evenlesswork on determiningwhat context andrules should be representedin aspecific context-aware system. The research that doesfocusonthis issuecoversonly aspecific domain,such asm-commerce[47] orweb engineering[48]. Thisworkisthusoflimitedapplicationinotherdomains.

TheworkofCrowley[49] focusesonaspecificdomainaswell,viz.observinghumanbehaviour.However,hementions someideasthatwewilladaptandextend.Crowley[49] statesthatdesignersshouldonlyincludeentitiesandrelationships thatarerelevanttoasystemtasktopreventthesystemfrombecomingverycomplex.Therelevantentitiesandrelationships areselectedby“firstspecifyingthesystemoutputstate,thenforeachstatespecifyingthesituations,andforeachsituationspecifying theentitiesandrelations” [49,p. 112].The relations thatherefers to are thepropertiesof theentities.They arecloserto whatwe define ascontextelements thanto thecontext relationshipsthat describe theimpactofcontext inourmethod (see section 4.4). Determining thecontext relationships wouldbeakinto determiningwhat situationshould bespecified foranoutputstateintheworkofCrowley[49].Incontrasttoourwork,Crowley[49] doesnotprovideexplicitguidanceon howtoinvestigatethisandonhowtoexpresscontextrelationshipsasruleswithwhichthesystemcanreason.

2.4. Definitionsofcontextinliterature

Thelargevolumeofliteratureoncontext-awaresystemscontains manydifferentdefinitions.Thereiscurrentlyno con-sensusonthe definitionofcontextinthe literature[32]. Theearlierwork oncontextawareness contains definitionsthat usesynonyms forcontext(e.g. situation,environment)oruseexamples (e.g.location) [7].This leads togenerality inthe former caseandto incompleteness inthe lattercase [50]. Fordesignersof context-awaresystems, such definitions thus respectivelyprovidetoolittleguidanceforinvestigatingcontext,orcouldexclude partsofcontextthatshouldbeincluded inthedesignofthesystem.

Inthe literature,severalattemptshave beenmadetodefine context foroperationalusewithoutrelying onsynonyms or examples. Especiallythe work ofDey andAbowd is often used asa basis forapplication-specific or domain-specific definitions(see e.g. [47,51–54]).Dey andAbowd[7,p. 3] definecontext asfollows:“Contextisanyinformationthatcanbe usedtocharacterizethesituationofanentity.Anentityisaperson,place,orobjectthatisconsideredrelevanttotheinteraction betweenauserandanapplication,includingtheuserandapplicationsthemselves.”

AccordingtothedefinitiongivenbyDeyandAbowd[7],themostimportantcharacteristicsforbelongingtocontextare 1) characterising a situationand2) beingconsidered relevant. However, thedefinition cannot be usedasa basis for,for instance,quicklydecidingwhethersomethingbelongstocontext.Theirdefinitionstillleavesimplicitwhatitmeans tobe considered relevantto an interaction andto characterise asituation.We need to knowwhat thenotions ‘relevance’ and ‘characterising’meantobeabletodecidewhethersomethingbelongstocontext.

Winograd[46] argues thatthedefinitiongivenby DeyandAbowd[7] istoobroad.Hestatesthat:“Somethingiscontext becauseofthewayitisusedininterpretation,notduetoitsinherentproperties” [46,p.405].Zimmermanetal.[50] alsomention thisissue withthe definition givenby Dey andAbowd[7]. Theirsolution is tocategorise context into the fundamental categories of individuality, activity, location, time andrelations. According to them, the activitypredominantly adds the relevanceofcontextelements.

Accordingto Winograd[46] and Zimmermanetal.[50],something iscontext becauseofitsrelationship tosomething else.ThisconformswiththeinteractionalviewoncontextdescribedbyDourish[55].AccordingtoDourish[55,p.5],when viewedasaninteractionalproblem, “contextualityisarelationalpropertythatholdsbetweenobjectsoractivities”.The

(7)

interac-tionalviewimpliesthatsomethingbelongstocontextwhenithasarelationalpropertywithsomethingelse.However,we stillhavenocertaintyaboutwhenexactlythisisthecase.

Brézillon [56] statesthatcontextcannot bespokenaboutoutofits context.Contextthus isalways acontextof some-thing. According to Brézillon [56], this‘something’ is afocus of an actor. Brézillon [56,p. 57] explains focusas follows:

“Contextsurroundsafocus (e.g.thetaskathandortheinteraction)andgivesmeaningtoitemsrelatedtothefocus.Thecontextguides thefocusofattention,i.e.thesubsetofcommongroundthatispertinenttothecurrenttask.” Heviewscontextasknowledgeand the focus helpsto discriminateirrelevant external knowledge fromrelevant contextual knowledge.However, as Brézillon [56,p.57] himself states,“thefrontierbetweenexternalandcontextualknowledgeisporous”.When inhismodelfortask ac-complishment,adiscrepancyisfoundbetweenthemodelandwhatauserdoes,theuserissimplyaskedforanexplanation [56].Thenewknowledgeisthenaddedtothemodel.Thismeansthat Brézillon[56] doesnot makeexplicitwhatbelongs tocontexteither.Thisdecisionisultimatelylefttotheuser.

The notion of a contextual element is central to the definition of context given by Vieira et al.[57], namely that a contextualelementis“anypieceofdataorinformationthatcanbeusedtocharacterizeanentityinanapplicationdomain” [57].In a similarveinasintheworkofBrézillon[56],contextualelements arerelevanttoafocus,whichisdetermined byatask andanagent[57].

A contextual elementis an attributeof acontextual entity[57], which isan entitythat should beconsidered forthe purposeofcontextmanipulation[57].Contextualelementscanbeidentifiedfromtheattributesandrelationshipstheentity has [57].Vieira etal.[57] already note thatthe criterionforidentifying aproperty asacontextual elementintheir case is subjective anddependsonthe contextrequirements andaconceptual model.Therefore,the question ofwhat belongs to contextbecomes a question ofwhatshould bein theconceptualmodel.The problemofdeterminingwhat belongsto contexthasthusbeenmovedratherthansolved.

In theworkabove, thereisa focusontherelevance ofsomething asarising fromanactivity oractor.Similarly,other workdiscussingrelevancefocusesondeterminingtherelevanceofsomethingatruntimeanddynamicallydefiningcontext forthespecifictaskoractivityathand(seee.g. [57,58]).Itisimportanttomakeclearthedistinctionbetweensuch work andourwork. Thework presentedinthispaperisconcerned withsupporting thedeterminationof whatisrelevantand what shouldbeincludedinthecontextwhendesigning asystem.We thusfocusonwhatacontext-aware systemshould beabletosenseandwhatadaptationsitshouldbeabletomake,andinwhatpossiblesituations.

To summarise, our work adds to the existing work a definition of context that can be used to clearly decide what doesanddoesnotbelongtocontext.Furthermore,itprovidesamethodforgettinginsightintocontextanddecidingwhat belongsto therelevantcontext, basedonthisdefinition.Italsoprovides awayto identifythesensorsandadaptorsthat thecontext-aware systemneedstofulfilitsfunctionalrequirements.Inaddition,itsupportstheidentificationoftherules accordingtowhichthesystemshouldadapt,aswell asexpressingtheserulesinsuch awaythatthesystemcanuseitto reasonwith.

3. Designscienceresearchmethod

Thenewmethodwas developedusingadesignscienceapproach.Design scienceresearch startswithaproblemthatis importantaswellasrelevant[59].We establishedtheneedforanewmethodina triangularfashion.First,weidentified the need forthe method inpractice when developinga B2G informationsharing systemin the domainof international container shipping (see section 1). Next, we searched the relevant literature for a suitable method that we could use. However, the relevantliterature did not provide such a method (see section 2). Furthermore, we found that a lack ofa methodforinvestigatingcontextismentionedasanissueintheliteratureaswell[32].

Designscienceresearchinvolvestwoprocesses,namelybuildandevaluate[60].Themethodweproposerequiresa spec-ifieddefinitionofcontext.Withoutsuchspecification,itisnotpossibletoclearly distinguishelements intheenvironment thatarerelevantandthuspartofthecontext,fromthosethatarenot.Wethereforestartedthe‘build’processbysearching the literatureforasuitable definitionofcontext.However, theliteraturedidnot containsucha definition(see section 2). Therefore, wedeveloped anewdefinitionofcontext (see section 4). Furthermorewe formalisedthisdefinitionto ensure thatitispreciseenoughforourpurposes.Wethendevelopedthemethodbasedonthisnewdefinition(seesection5).

The evaluation of a method like this is highly complex. We evaluated the method by applying it in practice when developinga context-awaresystemforB2Ginformationsharingininternationalcontainer-shipping.We establishedinthe first step that a new method isneeded, becausethe design process of context-aware systems incomplex environments otherwiseislikelytobecomeeitherineffectiveorinefficient.AccordingtoPries-Hejeetal.[61] theevaluationofaprocess, suchasamethod,canrelyontheideathatagoodprocesswillleadtoagoodproduct.Wecanestablishwhetherusingthe method leads toan effectivedesignprocess by determiningwhetherthe modeloftherelevant contextestablished using it iscorrect.Wedidthisby lettingexpertsinthedomaincheckthemodel.Wekeeptrackoftheefficiencyanddiscussed thiswiththeprojectpartners.Inaddition,weexplainedtheconceptsofcontextelementsandcontextrelationshipstothe partiesweinteractedwithintheproject,suchasprojectpartnersandintervieweesandusedthemtodiscusscontext.We discusstheresultsoftheevaluationinsection6.

(8)

4. Adefinitionofcontext

Inthissection, weprovideadefinitionofcontextthat canbeusedtodevelopacriterion fordecidingwhatbelongsto contextinstep1ofourmethod(section5.1).Itcanalsobeusedtostructureknowledgeoncontextinsuchawaythatthe sensorsandadaptorsthesystemneedsandaccordingtowhatrulesitshouldadaptcanbeeasilydetermined(sections5.2

and5.3).

Insection 4.1,wediscussourchoice forusinga logicprogrammingparadigm toformalisethedefinitions.We makea distinctionbetweensemanticsandsyntax.Weprovideourbasicsyntaxinsection 4.2.Next,insection4.3,wedefinesome basicnotionsthatourdefinitionofcontextisbuiltupon.Insection4.4,weprovideourdefinitionofcontext.

4.1. Theneedforaformalisationofthedefinitions

Thereareseveralimportantbenefitsofrepresentingthedefinitionofcontextandrelatedconceptsusingaformal nota-tion.Wesetouttodefinecontextaspreciselyaspossible.Aswediscussintheprevioussections,thiscanhelpwithclearly identifying whatbelongs tocontext andthiscan improveefficiency andeffectivity ofthedesign process. The processof formalisingenforcesacertainlevelofprecision.

Theother reasonsforformalisingthedefinitionshavetodowiththewayinwhichweintenttousethedefinitionsin the methoditself.In step1.1of themethod,the designerbuilds amodel ofthecontext. However, theenvironment that they are investigatingcan be highly complex. Consistentlyandsystematically expressingknowledge aboutcontext might help designersto dealwiththishighcomplexity.More specifically,itcould helpthem withdetecting inconsistencies and gapsinknowledge.Themodelofthedesignersisbasedonthedefinitionofcontext.Thesecondreasonforformalisingthe definitionsisthusthatitprovidesdesignerswiththelanguageandsemanticstoconsistentlyandsystematicallymodelthe contextoftheirsystem.

In step2 of themethod, thesensors that the systemneeds tocollect context information andthe adaptorsthat the systemneedstoadaptaredirectlyderived fromthemodelofcontext.Furthermore,instep3,thecontextrules for deter-miningwhatadaptationstomakebasedonthecontextinformationarealsodirectlyderivedfromthemodelofcontext.The formalisationsupportsthisbyprovidingawaytomodelcontextthatallowsforsuchadirectderivation.

In addition,the same formalisationis usedto provide a wayto expresscontext information gatheredby the sensors of the system at runtime.Furthermore, it allows for expressing a command to an adaptor to perform a certain action. Inaddition, itallows forexpressing contextrules. The contextrules expresshow thesystemshould adapt,based onthe contextinformationobtainedbythesensors.Thisiswherelogicprogrammingmorespecificallyplaysarole. Byusingthe logicprogrammingparadigmforourformalisation,themodelofthecontextmadebythedesigner canalmostdirectlybe translatedto context rules. Furthermore,these rules are thensuitable foruse ina logic program that can be used by a reasoningcomponentofacontext-awaresystemtodecidewhatistheappropriateadaptationindifferentsituations.

Thismakesthestepofgoingfromamodelofcontexttoalogicprogramthatcanbeusedbythereasoningcomponent ofthecontext-aware systemverysmall.Thismakes iteasierforthedesigner tomakesuch atranslation.Furthermore,it helpstoensurethatthelogicprogramisveryclosetowhatitshouldbeaccordingtothemodelofcontext.

4.2. Syntax

In early work on logic programming, Kowalski [62] noted the usefulnessof predicatelogic in programming. In 1977, Warren, Pereira andPereira [63] implementeda more efficientversion of thelogic programming language Prolog,based onthis workandthe workofColmerauer [64] and vanEmden [65].Subsequently, manyothersbuild onthisfundament to further extendand refine logic programming. Lifschitz [66] provides an extensive survey of the foundations of logic programmingwithclassicnegationandnegationasfailure.Unlessotherwisestated,wefollowthenotationandterminology ofLifschitz[66] todescribeoursyntax.

Westart withanonemptysetofatoms A.Thechoice of A dependsonthe languageused.Inour case,theatomsare simplepredicatesasdefinedbelow.Wedirectlyintroducevariablesinthelanguageandintroducethenotionofschematic atoms.

Definition1.GivenasetofconstantsymbolsC

= {

a

,

b

,

c

, . . .

}

andasetofvariablesymbolsV

= {

X

,

Y

,

Z

, . . .

}

,

anyconstantc

C isaterm,and

anyvariable X

V isaterm.

Givena setofpredicatesymbols S

= {

p

,

q

,

r

, . . .

}

,anexpression p

(

t1

, . . . ,

tn

)

where p

S isann-arypredicatesymbol

andt1

,

. . . ,

tn areterms,isanatom.Ifoneormoretermsoft1

,

. . . ,

tnarevariables,thenp

(

t1

, . . . ,

tn

)

iscalledaschematic

atom.Iftermst1

,

. . . ,

tn areallconstants,then p

(

t1

, . . . ,

tn

)

iscalledagroundatom.

Atomsarecalledpositiveliterals.Atomsprecededbyaclassicalnegationsymbol‘

¬

’,arecallednegativeliterals.Following Lifschitz[66] again, we referto apositive literal oranegative literal asaliteral. Aschematic atom iscalleda schematic

(9)

literal. A groundatom is calleda ground literal.We follow the convention that terms witha capitalas their first letter denotevariables.

Example1.

isU ser

(

U ser

)

isanatomandapositiveschematicliteral

• ¬

isU ser

(

mar y

)

isanegativegroundliteral

Context rules are the sameasbasic rules definedby Lifschitz [66]. Again, we alsointroduce the notion ofschematic contextruleinthesamedefinition.

Definition2.Acontext rule is an orderedpair Head

Body, where Head isa literal and Body isa finitesetofliterals. A contextrulewithheadL0 andbody

{

L1

, . . . ,

Ln

}

canbewrittenasL0

L1

,

. . . ,

Ln.Ifthebodyisempty,then

canbe

dropped.IfoneormoreliteralsofL0

,

. . . ,

Ln areschematicliterals,then L0

L1

,

. . . ,

Ln iscalledaschematiccontextrule.

IfL0

,

. . . ,

Ln areallgroundliterals,thentherule L0

L1

,

. . . ,

Ln iscalledagroundcontextrule.

Example2.

The followingschematic contextruleexpresses thatwhen thesightthat isthesubjectofinformationandauserare lessthan150metresfromeachother,theinformationshouldbeprovidedtotheuserbythesystem.

is P rovidedT o

(

I

,

U

)

isU ser

(

U

) ,

subject O f

(

S

,

I

) ,

hasLocation

(

U

,

L1

) ,

hasLocation

(

S

,

L2

) ,

distance

(

L1

,

L2

,

Distance

) ,

Distance

<

150

The following ground context rule expresses that when Mary is at the location with coordinate 29◦5845

.

03N 31◦0803

.

69E,theninf o shouldbeprovidedtoMarybythesystem.

is P rovidedT o

(

inf o

,

mar y

)

isU ser

(

mar y

) ,

hasLocation



mar y

,

29◦5845

.

03N 31◦0803

.

69E



In addition tocontext rules, we need toexpresscontext relationships. The definitionof a contextrelationship rule is similar tothat ofacontextruleanditis alsobasedonthedefinitionofabasicruleby Lifschitz[66].However, itusesa differentoperatortoconnecttheheadandthebodyoftherule.

The use ofa different operator signifies that context rules andcontext relationship rules are different typesof rules. Contextrulesareusedtoexpresswhatadaptationsshouldbemadeindifferentsituations.Thebodyoftheruleexpresses thesituationinwhichtheadaptationneedstobemade.Theheadexpresseswhatadaptationshouldbemadebythesystem, namelyan adaptationthatmakestheheadtrue.Contextrelationshiprules expressadependencyofthetruthofthehead oftheruleonthesituationexpressedinitsbody.Inotherwords,contextrelationshiprulesexpressthattheir headistrue whentheir bodyistrue.Thisisadifferenttypeofrelationship.Contextrulesare furtherdiscussedinsection 5.3.Context relationshipsarefurtherdiscussedinsection4.4.

Definition3.Acontext relationship rule isan orderedpair Head

Body, where Head isaliteral andBody isafiniteset ofliterals. Acontext relationshipwithhead L0 andnon-emptybody

{

L1

, . . . ,

Ln

}

can bewrittenasL0

L1

,

. . . ,

Ln.Ifone

ormoreliteralsin L0

,

. . . ,

Ln areschematic literals,then L0

L1

,

. . . ,

Ln iscalledaschematic contextrelationshiprule.If

L0

,

. . . ,

Ln areallgroundliterals,thentheruleL0

L1

,

. . . ,

Ln iscalledagroundcontextrelationshiprule.

Example3.

Thefollowingschematiccontextrelationshipruleexpressesthatwhenthesightthatisthesubjectofinformationand a user are lessthan 150 metres fromeach other and theinformation is provided tothe user, then the information providedtotheuserisrelevant.

(10)

hasRelevance

(

I

,

U

,

relevant

)

is P rovidedT o

(

I

,

U

) ,

isU ser

(

U

) ,

hasLocation

(

U

,

L1

) ,

hasLocation

(

S

,

L2

) ,

distance

(

L1

,

L2

,

Distance

) ,

Distance

<

150

,

subject O f

(

S

,

I

)

ThefollowinggroundcontextrelationshipruleexpressesthatwhenthePyramidofCheopsisthesubjectofinformation

inf o and Mary is at a location with coordinate 29◦5845

.

03N 31◦0803

.

69E and inf o is provided to Mary, then informationinf o providedtoMaryisrelevant.

hasRelevance

(

inf o

,

mar y

,

relevant

)

is P rovidedT o

(

inf o

,

mar y

) ,

isU ser

(

mar y

) ,

hasLocation



mar y

,

29◦5845

.

03N 31◦0803

.

69E



,

subject O f

(

pyramidO f Cheops

,

inf o

)

AccordingtoLifschitz[66],Ground

(

R

)

standsforallthegroundinstancesofaschematicruleR.Thesamefunctioncan beappliedtotheliterals,contextrulesandcontextrelationshipsinourcasetomakethemstandforthesetoftheirground instances.Forexample,isU ser

(

mar y

)

canbeagroundinstanceofisU ser

(

U ser

)

.

Aprogramisasetofrules.Inthiscase,wewillusethecontextrulestoreasonwithinalogicprogramtoderivewhat adaptations needtobe madebasedonthe contextinformationsensed. As wewillfurther explainin section4.4,context relationshipruleshaveadifferentfunctionandwedonotneedtousetheminalogicprogram.

Definition4.Alogic program isasetofcontextrules.

Example4.Thefollowingisalogicprogram.Itsmeaningisdiscussedindetailinsection5.3.

{

is P rovidedT o

(

I

,

U

)

isU ser

(

U

) ,

subject O f

(

S

,

I

) ,

hasLocation

(

U

,

L1

),

hasLocation

(

S

,

L2

),

distance

(

L1

,

L2

,

Dist

) ,

Dist

<

150

,

isU ser

(

mar y

) ,

hasLocation



mar y

,

29◦5845

.

03N 31◦0803

.

69E



,

hasLocation



pyramidO f Cheops

,

29◦5827

.

00N 31◦082

.

21E



,

subject O f

(

pyramidO f Cheops

,

inf o

)

}

4.3. Environmentelements,situationsandthefocusofacontext

Context-awaresystems should sense context andadaptto context. Tosense, there needs tobe something in thereal world that can be observed. Forinstance, the GPS coordinates of a usercan be observed. Furthermore, to adapt, there needstobesomething intherealworldthatcanbe manipulated;forinstance,theinformationprovidedtoausercanbe manipulated.Thesethingsshould bepartofthecontext.First,wethus haveto definewhatelements oftheenvironment canbeobservedandmanipulatedbyasystem. Theseelements arecandidateforbeingpartoftherelevantcontextofthe context-awaresystem.

Inourpreviousworkondefiningcontext[67],wefocused onwhichattributesofobjectsdobelongtocontextandwhich donot. Theattributeswere viewedaspossiblyhavingdifferentvalues.Forinstance,accordingtothiswork, theattribute ‘colour’ofanobject‘apple’couldhavevaluessuchas‘green’or‘red’.Relationshipswerealsoreducedtoattributes,asthe addedvalueofincludingthemwasunclearatthetimeandattributesseemedeasiertodealwith.Furthermore,webuilton otherworkthatalsodescribescontextasattributes[55,57].

Astheresearchprogressed,werealisedthatthedefinitionofcontextcanbeusednotonlyfordecidingwhatbelongsto thecontext ofa system,butalsoasabasis forguidingtheinformationgatheringprocess forgettinginsightintocontext. WhileinvestigatingthecontextoftheB2Ginformationsharingsystem,wecameacrosscomplexrelationships thatshould be takenintoaccount inthecontext-awaresystem. Usingadefinitionthat onlyincludesattributesrequireseachofthese relationships to be reduced to an attribute. When relationships are complicated, this is counterintuitive and makes the investigationofcontextmorecomplex.

We illustrate the counterintuitivity of reducing relationships to attributeswith an example. For the B2Ginformation sharingsystem, wewanttoensurethat itsupportsflowsofinformationinwhichbusinessesarewilling toparticipate.In somecases,businessAmightnotwantbusinessBtohavecertain dataelements, becauseAandBarecompetitors.When dataissharedinsuchawaythatBcanaccessit,Amightnotbewillingtoparticipate.However,businessAmightwantto

(11)

shareotherdataelements withbusinessBthatarenotsensitive.Sensitivityinthat casecanmostintuitively bedescribed asarelationshipbetweenbusinessesAandBandadataelement.

Attributescanbeeasilydescribedasrelationships.Forinstance,anapplecanhavea‘hascolour’relationshipwith‘green’ or‘red’.Forthecontext-awaretourguide, wewanttoprovideinformationaboutsightsthatisrelevantto theuser.What informationisrelevantprobablydependsonwheretheuseris.Inthepreviouswork,theuserwouldhavehadanattribute ‘location’thathasacoordinateasavalue.Inthenewdefinitionofcontext,theuserhasa‘haslocation’relationshipwitha coordinate.

In addition,itonly makessense to tryto senseormanipulate somethingthat could changeorvary. Forexample,the location ofausercanvaryastheymovearound.Whenmultiplepeople useasystem,thenwhoistheusermightvaryas well. Bothofthesethingsmightbeusefultosense.However,otherthings arelesslikelytovary,orarenotvariableatall. Forexample,thespeedoflightisnotvariable.Forthetourguide,itmightturnoutthat(almost)allusershaveapreference forbeingprovidedtheinformationinthesamelanguage.Inthatcase,itisnotusefultosensewhatlanguageusersprefer.

The relationships are the elements of the environment for which we want to decide whether they are part of the relevant context.Therefore, we willrefer tosuch a relationshipasan environment element. Itis importanttonote, that by ‘environment’herewerefertotheenvironmentofthesystem.Wemadeaselectionofwhatintheenvironmentcould be manipulatedorsensed.We havenotyetmadeaselectionofwhat ofthosethingsarepartoftherelevantcontextthat shouldbemanipulatedorsensed.Inthiscase,‘environment’thusshouldbeinterpretedinthebroadestsensepossible.

Informally, an environment element isa relationship betweenobjects inthe environment ofa system. The objects in theenvironmentcouldincludephysicalobjects,butalsootherthings,suchasqualities,orlocations.Syntactically,theyare representedbyliterals.

Forexample,theliteralhasLocation



mar y

,

29◦5845

.

03N 31◦0803

.

69E



expressesthatauser,Maryisatthelocation withcoordinate29◦5845

.

03N31◦0803

.

69E.Asanotherexample,businessAcanhavea‘willingnesstoparticipate’ rela-tionshipwithaflowofinformationandalevelofwillingness‘willing’.Thisenvironmentelementisexpressedastheliteral

willingnessT o P articipate

(

business A

,

inf ormationF low

,

willing

)

.

The semanticsofenvironmentelements,i.e.,whethertheliteralistrueornot,willbedeterminedinthesystemusing sensors, orwillbe manipulatedby an adaptor.Inourmodelling, we onlywanttoincludeliteralsthat can havedifferent truthvalues.

Definition 5. An environment element is expressed by a ground literal p

(

s1

,

. . . ,

sn

)

, where p is predicate symbol and

s1

,

. . . ,

sn denoteenvironment objects.Aschematic literal L canbe used toexpressthe setof environmentelements

ex-pressedbytheliteralsinGround

(

L

)

.

A state ofthe world,or asituation,is differentfromanother state ofthe worldor situationwhen thetruth value of atleastoneenvironmentelementchanges.Forasystemtobecontext-aware,itshouldsense oradapttothesedifferences whentheyarerelevant.Furthermore,itshouldonlyconsidersituationsthat couldexistintherealworld,andforinstance notsituationsthatareinconsistent.

Asituation isastateoftheworlddeterminedbytheenvironmentelements thataretrue.Syntactically,theyare repre-sentedbyasetofgroundliterals.

Forexample,therecouldbea situationinwhichMaryhasa‘haslocation’relationshipwithcoordinate29◦5845

.

03N 31◦0803

.

69E andinwhichsheisauserofthecontext-awaretourguide.Thiscanbedescribedbyset

{

hasLocation

(

mar y

,

29◦5845

.

03N31◦0803

.

69E

),

isU ser

(

mar y

)

}

.

This situation is different from one in which the location of Mary is 29◦5831N 31◦0816E. This situation can be described by set



hasLocation



mar y

,

29◦5831N 31◦0816E



,

isU ser

(

mar y

)



. In addition, the set of literals



hasLocation



mar y

,

29◦5831N 31◦0816E



,

¬

hasLocation



mar y

,

29◦5831N 31◦0816E





doesnotexpressasituationasitisinconsistent.

As another example, for the B2G information sharing system, a situation could exist in which business A has a sensitivity relationship with data element ‘client name’ and business B. This situation is different from one where the client name is not sensitive from B according to A. Respectively, these situations are expressed by the sets

{

isSensiti ve

(

business A

,

client Name

,

businessB

)

}

and

isSensiti ve

(

business A

,

client Name

,

businessB

)

}

.

Definition6. A situation is expressed as a nonempty and consistent set of ground literals

{

L1

,

L2

,

. . .

}

, where each Li

expresses an environment element that is true.A finite set

{

L1

,

. . . ,

Ln

}

describes part of a situation and stands forall

situationsinwhich L1

,

. . . ,

Ln aretrue.

Theoriginofthenotionofcontextliesinthedomainoflinguistics[68].Inthisdomain,themeaningofatexthastobe constructed basedonthesurroundingtext[46].Thissurroundingtext canbeviewedasthe contextofthetextforwhich themeaningisconstructed.

Outside the domain of linguistics, context is always a context of something as well. We need to identify what this something is and what to call it. In linguistics, this ‘something’ (i.e. the text for which the meaning is constructed) is calleda ‘focalevent’ [69]. Inthedomain ofcontext-awaresystems,forDey [70] itis theinteraction betweenauserand

(12)

anapplication,andforBrézillon[56] andVieiraetal.[57] itisafocus.Accordingly,werefertothethingthatcontextisa contextofasafocus.Contextisthusthecontextofafocus.

Now we have a namefor it, we need to determine what a focus isin the case ofcontext-aware systems.We want ourdefinitionofcontexttobegenericenoughtomakeourmethodusefulforavarietyofapplicationdomainsinwhicha context-awaresystemis designed.Therefore,we believethat limitingthefocusto theinteractionbetweena userandan application,likeDey [70] does,istoorestrictive. Wehaveto lookmorebroadlyatandexaminewhatthenature isofthe relationshipbetweencontextsandtheirfocusforcontext-awaresystems.

Thedesignerofacontext-awaresystemhasagoalandtheywanttodesignthesystemtoreachthat goal[33,71].This design goal is determined by the designer based on the designgoals ofthe different stakeholdersin the context-aware system.Thedesigngoalisthesameinallsituations[33].However,whetherthedesigngoalisreachedcandependonthe situation.Everythingthatcouldaffectwhetherthedesigngoalisreachedatruntimeshouldbelongtothecontext;that is, thesituations inwhichthe designgoalisnot reachedshouldbe sensed. Thisshould thenresultinan adaptationby the systemthatchangesthesituationinsuchawaythatthedesigngoalisreached.Anythingthatdoesnotimpactwhetherthe designgoalisreachedshouldnotbelongtothecontextthatthedesignershouldtakeintoaccount.Thefocusofthecontext shouldthusberelatedtothedesigngoalofthedesigner.

The focus of context isthe environmentelement that a designer ofcontext-aware systemsneeds to be trueto reach their design goal.As it is an environment element, itis syntactically representedby aliteral, in the samewayas other environmentelements.

Forexample,a designer canhavethe designgoal ofdevelopinga context-awaretour guidethat provides information aboutsightsthatisrelevanttousers.Thisgoalisreachedwhentheinformationprovidedisrelevanttousers.Thisfocuscan beexpressedbytheliteralhasRelevance

(

P rovidedInf o

,

U ser

,

relevant

)

whenthereareseveraldifferentlevelsofrelevance. Itcanbe representedbytheliteral isRelevant

(

P rovidedInf o

,

U ser

)

,whentheinformationisviewedaseitherrelevantor notrelevant.

Notethatwhatinformationisrelevantisthepartthatisimportanthere.Thisiswhatshouldbeadaptedtointheend. Thisisnotthecaseforwhatinformationisprovidedtotheuser.Justprovidinginformationwithoutrequiringrelevanceof theinformationdoesnotrequirecontextawareness.Therefore,thepredicateweuseishasRelevance andnotis P rovidedT o.

Asdiscussed insection 5.2,the decisionfortakingintoaccount contextforreaching agoalisinpartone thatshould be madeby thedesigneron beforehand.Asthe focusisdirectlydependent onthegoalof thedesigner,the designerhasas muchfreedomtoselectafocusastheyhavetoselectagoal.

InthecaseoftheB2Ginformationsharingsystem, adesigner canhavethedesigngoalofdevelopingacontext-aware systemthat supports flows ofinformation in whichbusinesses are willing to participate. This goalis reachedwhen the system supports flows of informationin which businessesare willing to participate. The focus can be expressed by the literalwillingnessT o P articipate

(

Business

,

SupportedInf ormationF low

,

willing

)

.

Itisimportanttonotetheuseofschematicliteralsintheexampleshere.Thedesigngoalsofadesignerareusuallyhigh level.Thedesigner’sgoalisnottoprovideMaryandBobwithrelevantinformation,buttoprovidealluserswithrelevant information.Schematicliteralscanbeusedtoreflectthis.

Definition7.Afocus ofcontextcanbeexpressedusingaliteralinthesamewayasotherenvironmentelements.

4.4. Contextrelationships,contextelementsandcontext

Atfirstsight,achievingadefinitionofcontextseemsproblematic,sincewhatbelongstocontextmightbedifferentfor each context-aware system. However, context isdetermined by its relationship withits focus. In fact,something isonly contextifithassome contextrelationship withthefocus.Forinstance,theweather forecastonlybelongstothecontextof thetourguideifithasacontextrelationshipwiththerelevanceofinformationprovidedtotheuser.Thetypeofrelationship isnotspecific toacertainfocus,butthesameforall foci.Inthisway,itcanbe usedtoformulateadefinitionofcontext fromwhichwhatbelongstothecontextofaspecificfocuscanbederived.

A context relationship isa relationship between a focus anda set of environment elements, where ineach situation where these environment elements have the same truth value, the focus has the same truth value. We say that these situationsrestrictthefocus.Syntactically,contextrelationshipsarerepresentedbycontextrelationshiprules.

Notethatthecontextrelationshipisnotthesametype ofrelationshipastheenvironmentelements. Itconnects differ-entenvironment elements witheach other.Thecontext relationship isthus ona higherlevelandcan morenaturally be representedbyanoperatorthanbyapredicate.

Forthecontext-awaretourguide,thefocusistherelevanceoftheinformationprovidedtotheuser.Letusassumethat informationaboutasightisrelevantwhentheuserisclosetothesightandtheinformationisaboutthesight.Thismeans thatinallsituationsinwhichthe‘haslocation’relationshipoftheuserhasacoordinatewithinafewmetresofasightand the‘subjectof’relationshipofthedataprovidedisthissight,thevalueofthefocusissuchthattheinformationprovidedis relevanttotheuser.Inthatcase,thereisacontextrelationship.Forcompleteness,itshouldbenotedthat,forinstance,the ‘isuser’relationshipbetweentheuserandthecontext-awaresystemandthe‘providedto’relationshiprestrictthefocusas well.

(13)

Forthecontext-awareB2Ginformationsharingsystem,thefocusistherelationshipofwillingnesstoparticipatebetween a flow ofinformation,a businessanda levelofwillingness. We foundthat businessesare not willing toparticipateina flowofinformationwhenthedataissensitivetothemandthereisasystemintheflowofinformationthatbroadcastsit. Therefore,thepreviouslymentionedsensitivityrelationshiphasacontextrelationshipwiththefocus.Thesameisthecase withthebroadcastingrelationshipasystemhaswithinformationandthe‘beingpartof’relationshipofasystemandaflow ofinformation.Thiscontextrelationshipcanbeexpressedasfollows.

¬

willingnessT o P articipate

(

Business

,

SupportedInf ormationF low

,

willing

)

sensiti vite

(

Business

,

Competitor

,

Data

),

part O f F low

(

SupportedInf ormationF low

,

S ystem

) ,

broadcasts

(

S ystem

,

Data

)

It isimportanttonote thatbusinessesmightbe eitherwillingorunwilling tosharewhentheinformationis not sen-sitive, thesystemisnotpartoftheflowofinformationorthesystemdoesnotbroadcasttheinformation.Thisispossible considering thecontext relationship we have identified. There isonly a dependence onthe focus when all the environ-ment elementshavethevaluesmentioned intheexample.Contextrelationships,however,mightinother casesconstrain thevalue ofafocusforanothertruthvalue oftheir contextelementsaswell.Inaddition,theremightbemultiplesetsof contextelementsthathaveacontextrelationshipwithasinglefocus.

Forexample,whattheauthorsofthispaperhavefordinnerdoesnothaveacontextrelationshipwitheitherthefocus ofthetourguideorthefocusoftheB2Ginformationsharingarchitecture,asthisdoesnotrestrictthem.

Definition8.Acontext relationship canberepresentedbyagroundcontextrelationshipruleL0

L1

,

. . . ,

Ln,whereL isa

literal representingthefocusandwhereL1

,

. . . ,

Ln are literalsrepresentingthecontext elementsthat restrictthefocus.A

schematiccontextrelationshipruleR canbeusedtorepresentthesetofcontextrelationshipsrepresentedby Ground

(

R

)

.

It isimportanttonote theeffectofusingschematic rulestorepresentcontextrelationships. Forexample,thedistance betweentwolocationswillusuallynot besubjecttochange.Thismeansthatthe‘distance’relationshipbetweenlocations willnotbepartofthecontextrelationshipinthecaseofthecontext-awaretourguide.Thismeansthatintheory,expressing thatthelocationoftheuserandthatofthesighthavetobewithinacertaindistancecouldbedonebylistingthesamerule overandoveragain,eachtimewithdifferentlocationsthatarewithinthisdistance.Inpractice,thiswouldbeimpossible.It wouldbemucheasiertojustuseaschematicrulethatstandsforthissetofrulesandincludestherelationshipof‘distance’ toconstraintheinstancesthatarerepresentedbytheschematicrule.Thereisnoobviousprohibitionagainstallowingthis, aslongasitisclearthatfromasemanticpointofview,theseliteralsrepresentconstraintsandarenotpartofthesetof environment elementsthathaveacontextrelationshipwiththefocus.Inthecaseofthecontext-awaretourguide,such a schematicrule,includingtheconstraintscouldbeexpressedasfollows(constraintsareunderlined):

hasRelevance

(

P rovidedInf o

,

U ser

,

relevant

)

isU ser

(

U ser

) ,

hasLocation

(

U ser

,

Location1

) ,

providedT o

(

U ser

,

P rovidedInf o

) ,

hasLocation



Sight

,

Location2

,

distance



Location1

,

Location2

,

Distance



,

Distance

<

10

,

subject



P rovidedInf o

,

Sight

Using the notion of context relationship, we can determine whether an environment element belongs to context. A context element of a focusisan environment element thatis partofa setofenvironment elements that havea context relationshipwiththefocus.Asitisanenvironmentelement,itissyntacticallyrepresentedbyaliteralinthesamewayas otherenvironmentelements.

Forexample,thelocationofauserisacontextelementofthefocusinthetourguideexample.Ifitisunlikelythatthe location ofasightwillchange,orifitisimpossibleforittochange(e.g.inthecaseofthePyramidofCheops),thenthe ‘haslocation’ relationshipof thesight witha coordinatedoesnot haveacontext relationship withthefocus,becauseits truthvalueneverchangesandthereforeitisnotanenvironmentelement.

Furthermore,the sensitivityrelationship isacontext elementofthe focusoftheB2Ginformationsharingexample,as it hasacontext relationship withthat focus.Incontrast,what theauthorsof thispaperhavefordinneris nota context element,asitdoesnothaveacontextrelationshipwiththefocus.

(14)

Fig. 1. Overview of the steps in the method and their input and output.

Whenanenvironmentelementisacontextelementofafocus,thismeansthatitisrelevanttothedesigner.Adesigner achieves their designgoal when thefocus has acertain value. Toachieve the design goal,they thus haveto design the context-aware systemsuch that the focus hasthis value when itis used. Acontext element of thefocus influences the valueofthatfocus.Therefore,thesystemneedstobedesignedsuchthatitcansensethecontextelementsandmanipulate them if the focus has an undesired value. This makes the context element relevant to the design and therefore to the designer.

Thedefinitionofcontextisbasedontheothernotionsdefinedabove.Thecontext ofafocusisthesetofallitscontext elements.

Forexample,thecontextofthefocusofthetourguideexampleincludesthelocationofauser.Inaddition,thecontextof thefocusoftheB2Ginformationsharingexampleincludesthesensitivityrelationship.Syntactically,contextitisrepresented byasetofliterals.

Definition10.Thecontext ofafocuscanbeexpressedbyasetofliterals

{

L1

,

L2

,

. . .

}

,whereeachLiexpressesan

environ-mentelement.

5. Amethodfordesigningcontext-awaresystems

Inthissection,wepresentthethreestepsoftheproposedmethodfordesigningcontext-awaresystemsbasedoninsight into context, viz. 1) gettinginsight into context, 2) determining the components needed to sense context andadapt to context,and3)determiningtherulesforreasoningwithcontextinformation.Themethodtakesapracticalproblemthata designerwantstosolveasastartingpoint.Instep1,itisdeterminedwhatcontextrelationshipsandcontextelementsthe systemshouldtakeintoaccounttosolvetheproblemandattainthedesigner’sgoal.Instep2,thelistofcontextelements isusedtodeterminewhatsensorsandadaptorsareneeded.Instep3,thelistofsensorsandadaptors,togetherwithalist ofcontextrelationshipsfromstep1,isusedtoderiveandexpresstherulesaccordingtowhichthesystemneedstoadapt. Steps1and2consistofseveralsub-steps.Foreachsub-stepweprovideanillustrationofhowitcanbeperformedforthe examplesofthetourguideandtheB2Ginformationsharingsystem.Fig.1providesanoverviewofthestepsinthemethod

5.1. Step1:gettinginsightintocontext

The objective of the designer in the first step is to get insight into context. The first step of our method should be precededbytheidentificationofthepracticalproblemthat thecontext-awaresystemshouldsolveandadeterminationof therelevanceofthatproblem.Howtodothisisalreadydescribedextensivelyinscientificliterature(seee.g.[40,41]).This isthusnotnew,andthereforenotpartofourmethod.

However, what context shouldbe taken intoaccount inthe design ofthe systemisrelated tothe designgoal ofthe designer. Wecanderive thisdesigngoalfromtheproblemthatisidentified.The specificationofthepracticalproblemis thustheinputforthisstep.

Thesensors andadaptorsofacontext-awaresystemandtherules thatthesystemshould reasonwithdepend onthe context that should be takeninto account (see section 1). This meansthat in thisstep insight intocontext needs to be gainedtodeterminewhatbelongstocontextandwhattheimpactofdifferentsituationsis.Informationaboutthisshould thusbe theoutputofsteps 2and3.Thisinformationshouldbe structuredinsuch awaythatthenecessarysensorsand adaptersforthearchitecture,aswellastherules,caneasilybederivedfromit.

Forthe first step of our method,we propose that thedesigner performs the followingsub-steps: 1.1) determine the focus,1.2)gatherdata,1.3)analysethedata.

5.1.1. Step1.1:determinethefocus

Theoverallprocessfordeterminingthefocus(step1.1)isshowninFig.2.Theinputofthisstepisthepracticalproblem andtheoutputisafocus.

Thefocusofthecontextisrelatedtothedesigngoalofthedesigner.Thedesigngoalofthedesigner,initsturn,isbased on theproblemthat they wantto solvewiththeir system. Toperform step1.1, the designercan usethe specificationof theirproblemtospecifytheirdesigngoal.

Thedesigngoalofthedesignercanbeviewedassolvingthepracticalproblem.Thedesigngoalcanthusbeexpressed aswhatthesystemshouldbeabletodoataveryhighlevelinordertosolvetheproblem.Adesigngoalisreachedwhen

(15)

Fig. 2. Determining the focus.

the world isina certainstate. Therefore,the nextstep forthedesigner isto describethe stateof theworld whentheir designgoalisreached.

AccordingtoDefinition7,afocusofadesigneristheenvironmentelementthat thedesignerneedstobetruetoreach theirdesigngoal.Thisrelationshipcanbeidentifiedfromthedescriptionofthestateoftheworld.

Fig.3showsthestepsforderivingthefocusforthetourguideexample.Fig.4showsthestepsforderivingthefocusfor thetourguideexample.

It is possiblethat a morecomplexdesign goalcan lead tomultiple foci,orthat there aremultiple designgoals. This should notbeaproblem.However, eachofthefociwillhaveitsowncontext relationshipsandcontext elementsandwill requireitsowninvestigationbythedesigner.

Illustrationstep1.1(tourguide):

Fig. 3. Deriving the focus for the example of the context-aware tour guide.

Illustrationstep1.1(B2Ginformationsharingsystem):

Fig. 4. Deriving a focus for the example of the B2G information sharing system.

5.1.2. Step1.2:gatherdata

The overallprocess ofperformingstep 1.2is shownin Fig.5.Theinput isthefocusfromstep1.1andtheoutputis a tablewithsituationsthatrestrictthefocus.

Afterthedesignerhasidentifiedthefocus,theyshouldfirstselectthedatacollectionmethodsandsourcesthattheywill usetoinvestigatecontext.Animportantrequirementisthatthedatathatthedesignergathersshouldprovideinformation on what environmentalelements restrict thefocus.There are manydifferentapproachesthat could betaken. A designer could,forinstance,performcasestudiesinwhichthefocushascertainvaluesandthendeterminewhythefocushasthese values.Anotherpossibleapproachistodoaliteraturesearch,usingadescriptionofthefocus.Furthermore,adesignercould conductinterviewsandasktheintervieweesdirectlyorindirectlywhattheythinkimpactsthefocus.Inaddition,theusual considerations,suchastheaccuracyandaccessibilityofdata,willalsoplayaroleinmakingachoice.

IllustrationStep1.2(tourguide): For the tourguideexample,the selectionshould depend onwhat datasayssomething about thelevel ofrelevance of informationaboutsights to users.This could very well be theusers themselves, andthe designermightaskthemtocompletequestionnairesorinterviewthemaboutinwhatcasestheyfindinformationrelevant. Amongtheotherpossibilitiesareinterviewingexpertsordoingaliteraturestudyonthematter.

Cytaty

Powiązane dokumenty

Zasługą Chorużego jest przedstawienie pierw szego zarysu dziejów tych lat, w części na podstaw ie w łasnych obserwacji, dzięki czem u przyszły historyk zyskał nić

 Brak kontaktu wzrokowego  Nieprawidłowy kontakt wzrokowy  Brak własciwej reakcji na imię  Sprawia wrażenie głuchego  Brak uśmiechu społecznego 

Norma PN-EN ISO 17225-2 kla- syfikuje pellet drzewny według następujących klas: A1 – najwyższej jakości pellet do stoso- wania w kotłach i piecach ogrzewających gospodarstwa

22 Chloride Cl and sodium Na distributions determined by LIBS analysis a,b; legend c; crack and vertical rebar position d in Slag-55 specimen... 23 Chloride Cl and sodium

Zachodnią granicę opola stanowiła nadal Samica, choć widoczne jest w tym okresie intensywne osadnictwo po zachodniej stronie tej rzeczki, w dolinie i na skraju doliny

Even if there are the temperature changes in gas flow fields, the spark tracing method with the present correction technique has the advantage to measure the velocity distributions

[8] performed a flow visualization experiment with a scale-up model to image the steady streaming behavior near a single cylinder in an oscillating flow inside a rectangular

the analysis of the limits of truthfulness encountered and transcended in science, similarly to other types of limitations, provokes a reflection on the issue of scientific truth