You are on page 1of 39

ColLective cIty memOry

,..407,,

,.,,

,,,

,2010

.
2010 .
.
, .. 407, .
. , , .
. , . , .
.,,.,
, , , .
,,,.,
,..407,..
,
,

.
http://collectivecitymemory.net/.


.
.

.
:
, 2 , ,
,14.

.

,2011

...................................................................................................................................6
Summary .................................................................................................................................... 7
...................................................................................................................................8
..................................................................................................................................9
................................................................................................................................ 11
........................................................................................................................... 13
......................................................................................................................... 16
irecall ..................................................... 16
CLIO........................................ 18

Layar .......................................................................................................22
...................................................................................22
.................................................................................................... 23
.................................................................................25
...................................................................................................... 27
CLIO...............................................................................................28
CLIODESIGN........................................................................................................................28
A.ContextModel ..............................................................................................................28

B.SystemArchitecture ..................................................................................................... 30
CLIOIMPLEMENTATION ..................................................................................................... 31
A.Softwareplatform ........................................................................................................ 31
APPLICATIONS .................................................................................................................... 35
A.Profilebasedamblingthroughmemories..................................................................... 35
B.Profileupdatebasedonmemoryselection ................................................................... 37
C.Groupbasedrecommendations ................................................................................... 38

. ,

.
, .

.
, .

:
.,,2010
http://collectivecitymemory.net/

639

Summary
The collective city memory is a form of collective memory that is created through the
interactionamongindividualmemoriesattachedtothecitylandscape.Personalmemoriespass
onfromgenerationtogenerationvianarrationsonsignificanteventsthatoccurredinthepast,
whichusuallyremainwithinanarrowaudience,likethemembersofafamilyorasocialgroup.
As a result, valuable memories remain in isolation, they do not interact to form collective
memories and in time perish. This study created an environment using which personal
memoriescanbecollectedandpreservedformingacollectivecitymemory.Thisenvironment
hasbeenappliedinCorfuallowingustoperformanumberoflearningactivities.Thecollected
memorieshavebeensemanticallyannotatedregardingthetime,spaceandthemetheirrefer
to. A contextaware system has been developed on top of which a number of applications
present to the user memories relevant to the space or era he selects. The user can access
memoriesviawebmapsorinsituusingmobiledevices.Inbothwebandmobileaccesstheuser
context as this is expressed by his profile, preferences and location is exploited in order to
presenttherightmemorytotherightuser.

:
.,,2010
http://collectivecitymemory.net/

739


,,
.


.
,
,
.
,

.,,

,
.


.

.

.
,
.

,
,

.
:
.,,2010
http://collectivecitymemory.net/

839


,.

.
,
,
. ,
,

,
1.,
2
,
.
.

,
.
Halbwachs
(Olick,2007)
. ,
,
.Nora3,
,

StanfordEncyclopediaofPhilosophy,2004
Halbwachs,.OnCollectiveMemory,UnivofChicagoPress,ISBN0226115968,1992
3
Nora,P.(1989).Betweenmemoryandhistory:Leslieuxdememoire.Representations,26,725
2

:
.,,2010
http://collectivecitymemory.net/

939

(milieux de mmoire)
(les lieux de mmoire). Huyssen4


.
Boyer5
.,
, .
, Crinson6
(urban memory). , Postalcy et al.7,

.
,,

.
,
, saeculum,
.
Web

.
Cities and citizens writing history and shaping the future8
.
IndigenousKnowledgeandResourceManagement9

Huyssen,A.Twilightmemories:Markingtimeinacultureofamnesia.NewYork:Routledge,1995
Boyer,C.M.Thecityofcollectivememory.Cambridge,MA:MITPress,1994
6
Crinson, M. (Ed.). Urban memory: History and amnesia in the modern city. London: Routledge.
doi:10.4324/9780203414613,2005
7
Postalcy, E., Kuru Ada, A., & zbek Eren, Y. (2006). The new urban memory. Paper presented at the 42nd
InternationalSocietyofCityandRegionalPlanners(ISoCaRP)Congress,Instanbul,Turkey.
8
http://www.fdcw.org/maastrichtvks/research/
9
fromhttp://www.cdu.edu.au/centres/ik/about.html
5

:
.,,2010
http://collectivecitymemory.net/

1039


.
, StoryCorps10, The City of
Memory11,StoryMapping12SharingStories13.
,WithoutVisibleScars:TheMemory
Walk14 video15
.
WebWeb2.0

.Urban
Tapestries16, Urban Pilot17 1001 stories from Denmark18
, Hansen and Gronbaek19

.

: )
,
, )
)

10

http://www.storycorps.org/
http://www.cityofmemory.org/
12
http://www.storymapping.org/resources.html
13
Klaebe, H. G., Foth, M., Burgess, J. E., & Bilandzic,M. (2007). Digital storytelling and history lines: Community
engagement in a masterplanned development. In Proceedings of the 13th International Conference on Virtual
SystemsandMultimedia(VSMM07),Brisbane,Australia
14
Aceti, L. (2009). Without visible scars: Digital art and the memory of war. Leonardo, 42(1), 1626.
doi:10.1162/leon.2009.42.1.16
15
Sas, C., Dix, A., Davies, N., & Friday, A. (2006). Capturing and sharing war memories. Paper presented at the
workshopDesigningforCollectiveRememberingattheCHI2006,Montreal,Canada.
16
Angus, A., Lane, G., Martin, K., West, N., Thelwall, S., & Papadogkonas, D. (2008). Urban social tapestries.
PervasiveComputing,7(4),4451.doi:10.1109/MPRV.2008.84
17
Goel,A.(2002).Urbanpilot:Ahandheldcityguidethatmapspersonalandcollectiveexperiencesthroughsocial
networks. In M. Tanabe, P. V. D. Besselaar, & T. Ishida (Eds.), Digital cities II: Computational and sociological
approaches(LectureNotesinComputerScience,Vol.2362,pp.621629).Berlin:SpringerVerlag.
18
http://www.kulturarv.dk/1001fortaellinger/en_GB
19
Hansen, F.A.,&Gronbaek, K.(2008). SocialWebapplications inthecity:Alightweightinfrastructure for urban
computing.In[NewYork:ACM.].ProceedingsoftheHypertext,2008,175180.
11

:
.,,2010
http://collectivecitymemory.net/

1139


.



,.
m2
during the
WWII at
Kofinetta

m1

at the Ionian
Academy1958

m3

m4

m5

m7

m6

m8

1:

Ionian Academy

Kofinetta
m2

m7

m1

m4
1958

m5

m8
m3

m6

WWII

2:
m1

m9

m4, m6,
m7, m25,

1958

2010

3:

:
.,,2010
http://collectivecitymemory.net/

1239

13.
,
.
,
,.

.

.

.

.

. ,
,,,,
, .. , , , ..,
, , , ...
,
.,
,
, .

80100.
,
,.
:
.,,2010
http://collectivecitymemory.net/

1339


& 20,

/
.


.

2010,
,

..20092010


.
20102011

2010,
:
, 2 , , 1
4.


.
.

20

,.&,.(2006),,

:
.,,2010
http://collectivecitymemory.net/

1439


, , .

, ,
, .
,
,
.
irecall
.

MoCOnto,
,

.
CLIO,

. T CLIO contextawareurban
computing context (,
) MoCOnto.CLIO
,,
,broswers,,
smartphones,.
,
,
Layar.
,
.
CLIO
.

:
.,,2010
http://collectivecitymemory.net/

1539

.
,

(mobile and ubiquitous learning), .

20102011.

CLIO.

.

.

http://collectivecitymemory.net.
.

irecall

.

irecall.
, , ,
video . irecall
.

.
,
:
.,,2010
http://collectivecitymemory.net/

1639

.
.

4:irecall

5:irecall
:
.,,2010
http://collectivecitymemory.net/

1739

irecall DublinCore
,DSpace,
MoCOnto,
,OWL.

CLIO

, .
,
, , .
/,,.

CLIO, contextaware urban
computing . 6,
CLIO
CLIO,.

6CLIO
:
.,,2010
http://collectivecitymemory.net/

1839


.
,
CLIO, 7.

,8.

:
.,,2010
http://collectivecitymemory.net/

1939


.,9,
,,,video,
,
.

CLIO,
10.

10

:
.,,2010
http://collectivecitymemory.net/

2039

CLIO
, 11.

,12.

11

12

:
.,,2010
http://collectivecitymemory.net/

2139


Layar

browser,
Layar, smart phonesiPhone, Android
Symbian. Layar

collectivecitymemorycorfu21
.

,



,
13

Layar

.

,

,
,

21

http://m.layar.com/layers/collectivecitymemorycorfu

:
.,,2010
http://collectivecitymemory.net/

2239

.

,
,
.

.
.
1.RingasD.,ChristopoulouE.,StefanidakisM.,UrbanMemoryinSpaceandTime.Chapter16
inStyliarasG.,KoukopoulosD.,LazarinisF.(Eds.)HandbookofResearchonTechnologiesand
CulturalHeritage:ApplicationsandEnvironments,2011,IGIGlobal(ISBN:9781609600440)
Abstract:Citiesareplaceswherevariousaspectsofpasteventsareprojectedandexpressed
through personal memories and narrations; urban memory can be regarded as an
expression of collective memory that has been shaped within a particular space as time
goes by. This chapter considers urban memory as an important aspect of the cultural
heritage of a cityto be captured and preserved for future generations. This chapter
introducestheconceptofurbanmemoryandhowitisrelatedtospaceandtime.Itpresents
a survey of applications that aim to capture, preserve and exploit urban memory and
proposesasystemthatallowscitizenstointeractwithurbanmemorybothbyofferingtheir
memoriesandbyviewingothersmemories.Theproposedsystemaimstotransformcities
inaculturalenvironmentwhereculturalheritageisbothpreservedandenhanced.
http://www.igiglobal.com/bookstore/titledetails.aspx?titleid=41892
2. ., . . 1
,2022,2011,,
:
.

.
, ,

:
.,,2010
http://collectivecitymemory.net/

2339

.
.


.
http://www.publicspace.gr/
3. Christopoulou E., Ringas D. CLIO: Context Supporting Collective City Memory. 5th FTRA
InternationalConferenceonMultimediaandUbiquitousEngineering(MUE2011),2830June,
2011,Crete,Greece
Abstract: Personal memories as expressed through narrations, photos or drawings,
publishedorconfinedtexts,oftendescribeeventsthathaveoccurredincities;intimethese
personal memories are melded into a collective memory attached to the physical space.
Collective memory is closely related to location, refers to a time period and reflects the
social interactions of people who share it. All these parameters of context, location, time
andsocialinteractions,whichaffectthewaycollectivememoryisformed,areparameters
of context that modern contextaware systems can exploit; therefore contextaware
computing can fundamentally change how people interact with collective memory. This
paper presents a contextaware system that allows people to form and interact with
collective city memory, called CLIO. CLIO exploits context to provide users with a
ubiquitous environment where they can interact with collective memory. The selected
context model for CLIO integrates the advantages of ontologybased and hierarchical
model. CLIO supports ubiquitous applications that interact with collective memory based
onareasoningandinferenceprocessthatexploitsbothcontextandrulesonit.
http://www.ftrai.org/mue2011/
4.RingasD.,ChristopoulouE.,StefanidakisM.CitizensInteractingwithUrbanMemory.What
can the Internet of Things do for the citizen (CIoT)? workshop at the 8th International
ConferenceonPervasiveComputing,1720May,2010,Helsinki,Finland
Abstract: Personal memories as expressed through narrations, photos or drawings,
published or confined texts, often describe events that have occurred in cities and have
shaped their character; in time these personal memories are melded into collective
:
.,,2010
http://collectivecitymemory.net/

2439

memoriesthat are attached to the physical space they refer to, thusforming an ambient
urban memory. The individual memories that contribute to the urban memory, though,
haveashorttimehorizonastheycanbelostalongtheircarriersoralteredthroughtime.
Advances in mobile devices and pervasive technologies today allow us to capture and
preserve urban memory and make it available to present citizens, as well as, for the
generationstocome.Thispaperintroducestheconceptofurbanmemoryandhowthisis
relatedtospaceandtimeandproposesasystemthatallowscitizenstointeractwithurban
memorybothbycontributingtheirmemoriesandbyinteractingwithothersmemories.
http://www.autoidlabs.org/events/ciot2010

:)

, ) )

.
. CLIO

,
.

,
.CLIO

.
CLIO.

:
.,,2010
http://collectivecitymemory.net/

2539


.
,
.
CLIO

.

1stInternationalOpenUbiquitousCityChallenge("UBI
Challenge") Oulu (Finland).
Oulu

.
2011.
Oulu 2011
.

,
. 10th
InternationalConferenceonMobileand UbiquitousMultimedia(MUM2011)22,Beijing,China,
Dec792011.

22

http://media.au.tsinghua.edu.cn/mum2011

:
.,,2010
http://collectivecitymemory.net/

2639


Collective Memory:
,
Collective City Memory: ,

Semantic Annotation:
, , , ,
..,
Ubiquitous Computing:
,
.
UrbanComputing:,


.

:
.,,2010
http://collectivecitymemory.net/

2739

CLIO
CLIODESIGN
The CLIO system has been designed in order to support various contextaware computing
applications in a pervasive environment; our main challenge is to enable users to navigate
within a pervasive environment that provides them with a number of applications to interact
with collective city memory. CLIOs design leverages context exploitation in order to provide
therightmemorytotherightuserattherighttimeandplace.
A.ContextModel
The context parameters that affect the applications built on top of CLIO depend on the
conceptsthatconstitutetheCLIOpervasiveenvironment.WeconsiderCLIOasanextensionof
a contextaware cultural heritage environment, where memories are attached to the city
landscape. Therefore the primary concepts of CLIO environment are the ones of a cultural
heritage environment, like users, places, objects, time and physical environment [37], and
memories.
Thememories that CLIO holds are greatly heterogeneousintermsof content and contextas
theymightrefertoanyaspectofsociallife.ThememoriesstoredinCLIOaredescribedbythe
context their refer to; this includes spatial and temporal information, thematic areas they
cover,alistofrelatedeventsorcharacters,informationaboutthepersonwhohascontributed
them,etc.
We selected to represent context using an ontologybased model that allows us to describe
knowledgefromvariousdomainsandperformreasoningbasedondomainknowledge;inorder
to overcome itsinefficient storingandqueryingwe integratedahierarchical model that does
wellindatamaintenanceandretrieve.
The context knowledge represented by the MoCOnto ontology is divided into two sets:
concepts and instances. Concepts are used to describe the primary concepts of CLIO
environmentandtheirinterrelationsasclassesandcanberegardedasacommonlanguagefor
theapplicationsbuiltontopofCLIO.Instancesrepresentinstancesoftheprimaryconceptsand
describe the current state of the CLIO environment by expressing the state of specific users,

:
.,,2010
http://collectivecitymemory.net/

2839

devices,etc.ConceptsandInstancescanberegardedastheTBoxandABoxoftheMoCOnto
ontology,respectively.
Fig.2depictsafewprimaryconceptsoftheMoCOntoontology.IntheCLIOenvironmentthe
userhasasetofpersonalinformation,hecarriesandusesvariousdevices,e.g.smartphones
and public displays and he can set preferences like what kind of languages he understands,
whattypeofmediahepreferstoview,e.g.audio,video,textandimages,whichlevelofdetail
he wants for the presented content, which are the domains of his interest. A memory in the
CLIO can be represented by a number of different contents, e.g. presented in different
language or various media types, is remembered by a user and is attached to a point of
interestthatdefinesitslocation.Thenotionofcontentrepresentstheinformationthatwillbe
presentedattheusers;itispresentedinonelanguage,ithasamediatypeandalevelofdetail,
it fits for various domains of interest and it refers to a number of points of interest and
locations. In order to track user visits we have incorporated the notion of user log, which
containsmanyuserlogpointsthatrecordsthecontentitemsthattheuserhasselectedtoview.
We selected OWLDL to represent the MoCOnto ontology, as the OWLDL is the ontology
languagewiththemostpowerfulexpressionabilitytoguaranteethereasoningcompleteness.

Figure2.

AfewprimaryconceptsoftheMoCOntoontology

Then all context knowledge is partitioned into two levels; the low level context comes from
various context providers such as sensors and the high level context need some fusion,
reasoningorinferring.Forexamplealowlevelcontextistheuserslocationrepresentedbyits
:
.,,2010
http://collectivecitymemory.net/

2939

gpscoordinates.Todefineiftheuserisclosetoaspecificlandmark,e.g.apointofinterest,a
ruleisnecessarytotakeintoaccountboththeuserslocationandpointsofinterestlocation.
Thereforearulebasedlogicwasselectedfortherepresentationofthehighlevelcontext.This
partitionallowsusbothtodecoupletheprocessofcontextacquisitionfromcontextuseandto
usethesamecontextsourcesinvariedwaysindifferentapplications.
B.SystemArchitecture
The primary function of the contextaware applications that CLIO supports is to deliver the
rightcontenttotherightuserbasedoncontext.Themaincomponentsofourarchitectureare
thecontextproviders,anontologymanagerandarulemanagerthatmanagetheknowledge
baseandanapplicationserverthathoststhecontextawareapplicationsbuiltontopofCLIO.
AscontextprovidersweconsiderallsensorsanddevicestakingpartintheCLIOenvironment;
additionallyboththememoriesthatarestoredandtheusersthatrequestthemareconsidered
as context sources. The memories stored in CLIO are described by the context they refer to;
e.g.spatialandtemporalinformation,thematicareastheycover,informationabouttheperson
who has contributed them, etc. Each user, when he uses a CLIO application, provides his
context, for instance his location, profile and preferences, feedback on memories he has
accessed, etc. A factor that differentiates memory context from user context is volatility;
memory context is rarely updated whereas user context is constantly updated as he uses a
certain application. Nevertheless, both types of context are taken into account when a CLIO
applicationattemptstoselecttheappropriatememoryforeachuser.
In our system we have utilised ontologies for the knowledge base storage, as well as for
performing reasoning on this knowledge in order to extract facts that are not explicitly
expressed. These tasks areperformed bythe Ontology Manager, a modulethataccesses the
concepts of MoCOnto ontology, which describes the basic concepts in our system, and the
contentanduserontologyfilesthat store allknowledge aboutthe entitiesthat participate in
the CLIO applications. The Ontology Manager loads the knowledge base at start up and
serialisesanyupdatestoitthatoccurduringtheapplicationsexecution.Additionally,itmakes
use of a pluggable ontology reasoner in order to extract facts that are not explicitly declared
andthusimprovetheselectionofthecontentthatisbestfittoeachusersprofile,preferences
andcurrentcontext.

:
.,,2010
http://collectivecitymemory.net/

3039

During the use of the CLIO applications, new context is accumulated and stored as new
knowledge.Thismightbenewmemoriesthatareaddedtothesystem,orsimplyupdatesina
usersprofileoractivitylog.Someofthisnewknowledgecanlead,asasideeffect,toupdates
intheexistingknowledge;for instance in thecaseof useractivity log,whenauser selectsto
repeatedly access content that does not fall within the preferences he has selected, his
preferences areupdated by thesystem in order to beappropriately expanded.In order tobe
abletoincorporate sucha level of applicationlogic,which can becomevery complicated and
mightneedtobeoftenreadjusted,weselectedtomakeuseofaruleengine.ARuleManager
component was therefore designed; at startup the Rule Manager has to load all known
knowledgeasthesetofinitialfacts,aswellastherulesthatwillbeapplied;thereaftertheRule
Managerhastobenotifiedofanyupdatesthatoccurintheknowledgebase.Wheneveraruleis
triggered,i.e.itsconditionallefthandsideissatisfied,theRuleManagernotifiestheOntology
Manageraboutthenewknowledgeithasinferredandneedstobestored.
Ourdesign,finally,includesanapplicationserverthatmediatesbetweentheapplicationsthat
aredeployedonCLIOandtheCLIOsystemitself.Theroleofthisapplicationserveristoload
the aforementioned CLIO modules and offer them to applications, as well as to accept client
connections and thus on one hand propagate context updates to the Ontology and Rule
Managers,andontheotherhandtodelivercontenttotheusers.

CLIOIMPLEMENTATION
Animplementationofourarchitecturehasbeendeployedasacontextawarecitywideservice
offeringsmartphoneandpcaccesstosemanticallyannotatedcontent.Exploitationofcontext
wastwofold;inthecaseofanonymousaccesstheserviceappearsasamerelocationbasedone
which presents to the user content based on its proximity to him; upon user registration and
profilecompletion,theservicepresentstotheusercontentthatisrelevanttothepreferences
he has set or that is inferred to be within the user's domains of interest judging from the
responses of the user to system's recommendations. Delivery of content is achieved via an
Internet connection to the server; particularly in the case of smartphones both 3G data
connectionsandlocalWiFihotspotscanbeexploited.
A.Softwareplatform
Thesoftwareplatformthatwehaveimplementedconsistsofthreelayers;atthelowestlevel
laysthe Ontology Managerthe cornerstone stackwhich coordinates access to theontology
:
.,,2010
http://collectivecitymemory.net/

3139

knowledgebaseandtheRuleManagerwhichappliesinferringtotheknowledgebase,aboveit
a Contextaware Application Server hosts the applications that are delivered to the users,
finally,ontopapplicationscanbedeployedofferingaccesstothehostedcontent.
1)TheOntologyManager
The Ontology Manager, Fig. 3, coordinates the access to the ontology knowledge base. It is
consideredtobethecornerstoneofourarchitectureasallknowledgeisencodedinanumberof
ontologyfilesallowingflexibilityandextensibility,comparedtodatabasedrivenarchitectures,
butontheotherhandposingpressureforstabilityandperformance.

Figure3.

TheOntologyManager

The underlying MoCOnto ontology was developed using Protg 4.1 and was serialised in
RDF/XML. The ontology content is divided in two parts; the concepts which holds basic
conceptsandtheirrespectiveclassdefinitionsinastaticfile,andontopofthattheinstances
thatholdsknowledgeaboutthecontentandtheusersstoredinanumberoffiles.
AllprogrammaticaccesstotheontologyisperformedusingtheOWLAPIversion2,aJavaAPI
and reference implementation for creating, manipulating and serialising OWL Ontologies.
UsingtheOWLAPIweloadtheconceptsMoCOntoontologyandallthecontentontologiesin
memory where all processing occurs; on user login the respective user ontology file is also
loaded.Whenapplicationdrivenupdatesarerequired,e.g.anupdatetoauserprofileentryor
an activity log such as that a user has selected to see a particular content, changes in the
knowledge base are performed in memory and then serialised to the respective ontology file
againusingtheOWLAPI.
:
.,,2010
http://collectivecitymemory.net/

3239

Selection of the content that is delivered to the user is determined based on proximity for
anonymoususersandonmatchingpreferencestocontentsemanticinformationforloggedin
users. The OWL API can support this either inherently or via an OWL reasoner. In our
implementation wehaveoptedforthe lattercaseutilisingtheHermiT OWL Reasonerasthis
identifies not only direct matches between class instances but also infers subsumption
relationshipsresultinginricherresultssets.TheHermiTreasonerisaccessedviatheOWLAPI's
OWLReasonerinterface.
2)

TheRuleManager

Ubiquitous applications development often proves hard to tackle as many parameters affect
thedesiredbehaviourofsuchsystems;exploitationofruleengineshasprovedtobeparticularly
usefulwhenitcomestoprogrammingthelogicthatsuchapplicationsimplement[38].Forthe
role of the rule engine we have looked into several candidates; ranging from ontology rule
languages,suchasSWRL,tostandaloneJavaruleengineslikeJess.Forourimplementationwe
haveselectedtheJess7.1ruleenginewhichallowsustoreasonusingdeclarativerulesandto
applynonmonotonicreasoning.

Figure4.

TheRuleManager

TheRuleManager,Fig.4,isthemodulethatappliesinferringtotheknowledgebase.ForJess
toleveragetheontologybasedcontextawareenvironmentthatourapplicationsresidein,we
havetoloadtheknowledgestoredintheontologyknowledgebasedasinitialfactstoJessand
inform it of any ontology updates. Although this is an overhead, experience has shown that
performanceimpactisminimalasJessoperationisexceptionallyfast.Afterinitialisation,Jess
:
.,,2010
http://collectivecitymemory.net/

3339

rules run on every update that it receives; when a rule outcome requires an update in the
knowledge base, e.g. it has been inferred from the responses of a user to content that is
proposed to him that his profile should be updated, this is performed via the Ontology
Manager.
3)

TheContextawareApplicationServer

The Contextaware Application Server, Fig. 5, hosts the applications that are offered to the
users. User applications are deployed on it and can be accessed via the Internet using smart
phones, pads, netbooks, or stationary PCs. The Contextaware Application Server links the
applicationswiththeontologymanager,deliverscontextupdatesthatisreceivedfromtheuser
to the applications, offers a rule engine to support application logic and, finally, delivers
contenttotheusers.

Figure5.

TheContextawareApplicationServer

ThebaseoftheContextawareApplicationServerisanApacheTomcat6.0servletcontainer.It
allowsustodeploydynamicallyapplicationsthatcanbeaccessedviawebbrowsersonPCsand
webenabledsmartphones,orapplications that determinethe logicof network smartphone
applications. The Tomcat container apart from the Internet accessibility it provides to the
deployed applications a pair of resources; the Ontology Manager and the Rule Manager that
were presented earlier. Both these resources are offered as Java Naming and Directory
Interface (JNDI) resources which are constructed by the servlet container on the application
deploymentandthusinitialisationdelaysarehiddenfromtheuser;thisisparticularlyimportant

:
.,,2010
http://collectivecitymemory.net/

3439

inthecaseofthereasonerasitspreparationphasecantakemorethan60secondsfor100KB
ontologyfilesonatypicalPC.
Context updates are received from the user devices through servlets deployed with the
applications.Inthecaseofapplicationsthatareaccessedviaawebinterface,contextupdates
aremostlyreceivedencodedasHTTPPOSTs;inthecaseofsmartphoneapplicationscontext
updatesarereceivedencodedasJavaHashsets.Contextupdatesmaysimplyresultinupdates
oftheknowledgebaseandtheruleenginethatdonottriggercontenttotheuser,ormayresult
inupdatestothe content presentedtothe user;in thelatter case dependingonthe way the
useraccessestheapplicationthenewcontentisappropriatelyserialisedandreturned.
The Applications that are deployed on the described architecture collect context from the
clients, update the knowledge base appropriately, perform application logic to select new
contentthatshouldbedeliveredtotheuserandfinallyserialisethecontentappropriatelytobe
deliveredbacktotheclients.Theclientsarethindevicesthatcollectinputfromtheuserand
anyinstalledsensors,mostcommonlyGPS,transferittoanApplication,whichconsidersitas
user context, receive new content and, finally, update the user view. All application logic is
performed on the Contextaware Application Server and each Application is implemented
following the ModelViewController software architecture. In the case of web applications,
that are accessed from PCs or Webenabled smartphones like Maemo based ones, context
that is received via POST requests from the users is handled by servlets (Controller) which
updatetheknowledgebaseandevaluatenewcontentthathastobedeliveredtotheuserusing
thefacilitiesoftheOntologyManager(Model)and,finally,outputisreturnedtotheuserasJSP
pagesorpartialJSPpageupdatesusingAJAX.Inthecaseofsmartphoneapplications,atthe
momentlimitedtotheAndroidplatform,responsesarenotintheformofHTMLencodedbya
JSPpage,butratherJavaHashsetsthatdescribealltheUIelementsthatshouldbedisplayed
arereturnedtotheclientsandthenthesmartphoneapplicationrecreatestheUI.

APPLICATIONS
A.Profilebasedamblingthroughmemories
Nefeli,a21yearsoldstudentofhistory,visitsacityforthefirsttime.Asshewalksaroundthecity
a number of sights attract her interest. She uses her smart phone to explore memories that are
projectedattachedtothesightsclosetoher.

:
.,,2010
http://collectivecitymemory.net/

3539

Anewuserthatconnectsviahersmartphonebrowsertotheserviceispresentedaninterface
withbasicfunctionalityandminimalexploitationofcontext.Herlocationislocatedusingthe
W3C Geolocation API and the map interface centers itself around it. The Geolocation API
estimatestheuserlocationbasedonanumberofinputs;whenaGPSreceiverisavailable,this
is the first choice, otherwise it attempts to infer location exploiting WiFi hotspots, cell tower
triangulation, etc. Given the user location, memories close to it, approximately in walking
distanceorindirectview,arepresentedontheinterface.Astheusermovesinthecity,themap
periodicallyrecentersitself.Inordertoexperienceaserviceclosertoherinterests,theuserhas
to sign in to the service and select appropriate settings for her profile and preferences; on
subsequent uses of the service these information remain stored. On sign up the user selects
login credentials and selects the type of device she will use to access the service. Then he
movesontotheuserprofilewhichmainlyholds personal andcontactinformationandfinally
selects a number of preferences that cover areas such as domains of interest, preferred
languageandlevelofdetail,aswellasthetypeofmediathatuserwouldliketoacceptonhis
device.Alltheseinformationarestoredintheknowledgebase,inaseparatefileperuserthatis
loaded when she logs in; a fragment of the ontology code follows. After her sign up, the
memories that are presented to her are selected according to her preferences; hence their
numberissmallerbuttheircontentisclosertothedomainsofinterestthatshehasselected.
<owl:NamedIndividualrdf:about="MoCOnto:#User_nefeli">
<rdf:typerdf:resource="MoCOnto:#User"/>
<carriesDevicerdf:resource="MoCOnto:#Android_User_nefeli"/>
<hasInterestInrdf:resource="MoCOnto:#Architecture_Architecture"/>
<hasSelectedMediaTyperdf:resource="MoCOnto:#Audio_Audio"/>
<hasContactDatardf:resource="MoCOnto:#ContactData_User_nefeli"/>
<understandsLanguagerdf:resource="MoCOnto:#Greek_Greek"/>
<hasSelectedLevelofDetailrdf:resource="MoCOnto:#High_High"/>
<hasPersonalDatardf:resource="MoCOnto:#PersonalData_User_nefeli"/>
<hasUserLogrdf:resource="MoCOnto:#UserLog_User_nefeli"/>
</owl:NamedIndividual>
<owl:NamedIndividualrdf:about="MoCOnto:#Android_User_nefeli">
<rdf:typerdf:resource="MoCOnto:#Android"/>
</owl:NamedIndividual>
<owl:NamedIndividualrdf:about="MoCOnto:#ContactData_User_nefeli">
<rdf:typerdf:resource="MoCOnto:#ContactData"/>
<hasTelephonerdf:datatype="xmlschema:#string">&#39;302661041829</hasTelephone>
.
<hasEmailrdf:datatype="xmlschema:#string">nefeli@ionio.gr</hasEmail>
<contactdataBelongstoUserrdf:resource="MoCOnto:#User_nefeli"/>
</owl:NamedIndividual>
<owl:NamedIndividualrdf:about="MoCOnto:#PersonalData_User_nefeli">
<rdf:typerdf:resource="MoCOnto:#PersonalData"/>
<hasNamerdf:datatype="xmlschema:#string">Nefeli</hasName>

<personaldataBelongstoUserrdf:resource="MoCOnto:#User_nefeli"/>
</owl:NamedIndividual>

:
.,,2010
http://collectivecitymemory.net/

3639

B.Profileupdatebasedonmemoryselection
As Nefeli walks around the city a number of sights attract her interest and she uses her smart
phone to explore memories that are projected attached to the sights close to her. Selecting
memoriesrelevanttolocaltraditionherprofileisupdatedinordertoexpandherinterests.
After signing up to the system, the user may select to use an application that highlights
memoriesrelevanttoherinterest,butalsorecommendsmemoriesthatmightinterestherwith
distinctinterfaceelements.Thisway,theusercanfocusoncontentthatexplicitlyinterestsher,
butcanalsoaccesscontentoutsideherdeclaredinterestsshouldthiscontentorthelocationit
refers to attract her attention. For each content, both within her domains of interest and
outsidethattheuserselectstoaccess,alogiskeptbythesystem.Thislogisrecordedinthe
ontology knowledge base and is relayed to the Rule Manager. Whenever a user selects to
accessmorethatapredefinednumberofmemoriesthatfallinadomainofinterestoutsideher
declaredones,arulelikethefollowingoneresultsinanupdateoftheuserspreferences;these
are appropriately expanded to include a new domain of interest. In order to achieve this, the
rule engine that runs in the Rule Manager has to trigger a call back method of the Ontology
Manager. Thereafter, all memories that fall in the expanded list of domains of interest are
presentedontheupdateduserinterface.
(defruleruleuserlogpoints
"AssertaDomainOfInterestatauserifhehasviewedthreecontentswiththesamedoianduserhasnotselectedthisdoi"
(triple(predicate"MoCOnto:#userlogBelongstoUser")
(subject?ul)(object?u))
(triple(predicate"MoCOnto:#userlogpointBelongstoUserLog")
(subject?ulp1)(object?ul))
(triple(predicate"MoCOnto:#userlogpointBelongstoUserLog")
(subject?ulp2&~?ulp1)(object?ul))
(triple(predicate"MoCOnto:#userlogpointBelongstoUserLog")
(subject?ulp3&~?ulp1)(subject?ulp3&~?ulp2)(object?ul))
(triple(predicate"MoCOnto:#userlogpointViewedContent")
(subject?ulp1)(object?c1))
(triple(predicate"MoCOnto:#userlogpointViewedContent")
(subject?ulp2)(object?c2&~?c1))
(triple(predicate"MoCOnto:#userlogpointViewedContent")
(subject?ulp3)(object?c3&~?c1)(object?c3&~?c2))
(triple(predicate"MoCOnto:#fitsDomainOfInterest")
(subject?c1)(object?doi))
(triple(predicate"MoCOnto:#fitsDomainOfInterest")
(subject?c2)(object?doi))
(triple(predicate"MoCOnto:#fitsDomainOfInterest")
(subject?c3)(object?doi))
(not(exists
(triple(predicate"MoCOnto:#hasInterestIn")
(subject?u)(object?doi))))
=>(assert
(triple(predicate"MoCOnto:#hasInterestIn")
(subject?u)(object?doi)))
(bind?cbl(newnet.collectivecitymemory.ontologyforms.JessCallbackListener))
(call?cblassertNewUserDOI?u?doi))
:
.,,2010
http://collectivecitymemory.net/

3739

C.Groupbasedrecommendations
Nikos, a 35 year old historian, visits a city for the first time. His profile is similar to the one of
Nefelis,anoldervisitor.AsNikoswalksaroundthecity,bothmemoriesattachedtosightscloseto
himandmemoriesthatNefelihasselectedappearathissmartphone.
Avaluablesourceofcontextthatisexploitedisthesimilaritiesthatuserprofilesexhibit;rules
similartotheonesdetailedintheprevioususescenarioidentifywhentwoormoreuserscanbe
included in a group that denotes similarity of interests. Typically, this is assumed when two
usersshareanumberofdomainsofinterest,orwhentheactivitylogsdenotethattheyhave
accessedanumberofsharedmemories.Thisisdeterminedbyappropriaterulesthatarerunby
the Rule Manager and such updates are persisted in the knowledge base by the Ontology
Manager. The result of such update in the knowledge base is that group based memory
recommendationsarepresentedtotheuserwithdistinctinterfaceelements.

:
.,,2010
http://collectivecitymemory.net/

3839

:
:,
:.
:2010

ColLective cIty memOry


http://collectivecitymemory.net

You might also like