If objects could talk: a novel resource discovery approach for pervasive environments

19
Int. J. Internet Protocol Technology, Vol. 2, Nos. 3/4, 2007 199 If objects could talk: a novel resource discovery approach for pervasive environments Michele Ruta , Tommaso Di Noia, Eugenio Di Sciascio, Floriano Scioscia and Giacomo Piscitelli SisInfLab, Politecnico di Bari, Bari, Italy E-mail: [email protected] E-mail: [email protected] E-mail: [email protected] E-mail: [email protected] E-mail: [email protected] Corresponding author Abstract: We propose to extend standard Radio Frequency IDentification (RFID) usage by storing semantically annotated data within RFID tags memory, so that objects may actually ‘describe themselves’ in a variety of scenarios. In particular here we exploit our approach to carry out an advanced matchmaking process using metadata stored in RFIDs. A ‘fully backward compatible’ modification to the original RFID data exchange protocol is presented, allowing to implement an advanced resource discovery framework. A compression algorithm specifically devised to ease embedding of annotated DIG description is also proposed. Motivations and benefits of the approach are outlined in a tracking of agricultural and food products case study. Keywords: RFID; Semantic Web; matchmaking; pervasive computing. Reference to this paper should be made as follows: Ruta, M., Di Noia, T., Di Sciascio, E., Scioscia, F. and Piscitelli, G. (2007) ‘If objects could talk: a novel resource discovery approach for pervasive environments’, Int. J. Internet Protocol Technology, Vol. 2, Nos. 3/4, pp.199–217. Biographical notes: Michele Ruta received the Laurea Degree in Electronic Engineering from Politecnico di Bari (Technical University of Bari) in 2002 and his PhD in Information Engineering from the same University in 2007. His research interests include pervasive computing and ubiquitous web, mobile service discovery and composition, knowledge representation systems and applications for wireless ad-hoc contexts. On these topics he has co-authored various papers in international journals and conferences. He is involved in various research projects related to his research interests. Tommaso Di Noia is an Assistant Professor in Information Technology Engineering at Technical University of Bari (Politecnico di Bari). He got his PhD from Technical University of Bari. His main scientific interests include: description logics – theoretical and practical aspects; resource matchmaking; knowledge representation systems for electronic commerce; automatic (web) services discovery and composition; knowledge representation systems and applications for the semantic web. He co-authored papers which received the best paper award at conferences ICEC-2004 and IEEE CEC-EEE-2006. Eugenio Di Sciascio received the ‘Laurea’ Degree with honours from University of Bari, and the PhD from Politecnico di Bari, Technical University of Bari. He is currently Full Professor of Information Technology Engineering at Technical University of Bari, and leads the research group of SisInfLab, the Information Systems Laboratory of Technical University of Bari. Formerly, he has been an Assistant Professor at University of Lecce and Associate Professor at Technical University of Bari. His research interests include multimedia information retrieval, knowledge representation and e-commerce. He is involved in several national and European research projects related to his research interests. He co-authored papers that received best paper awards at conferences ICEC-2004 and IEEE CEC-EEE-2006. Floriano Scioscia received the Laurea Degree in Information Technology Engineering from Politecnico di Bari, Technical University of Bari in 2006. He is currently pursuing his PhD in Information Engineering at the same University. His research interests include pervasive computing, mobile service discovery and composition, knowledge representation systems and applications for wireless ad-hoc contexts. Giacomo Piscitelli received the ‘Laurea’ Degree in Physics from the University of Bari. He is currently Full Professor of Information Technology Engineering at Technical University of Bari. His research interests include real time operating systems, information retrieval, Copyright © 2007 Inderscience Enterprises Ltd.

Transcript of If objects could talk: a novel resource discovery approach for pervasive environments

Int. J. Internet Protocol Technology, Vol. 2, Nos. 3/4, 2007 199

If objects could talk: a novel resource discovery

approach for pervasive environments

Michele Ruta∗, Tommaso Di Noia, Eugenio Di Sciascio,

Floriano Scioscia and Giacomo Piscitelli

SisInfLab, Politecnico di Bari,Bari, ItalyE-mail: [email protected] E-mail: [email protected]: [email protected] E-mail: [email protected]: [email protected]∗Corresponding author

Abstract: We propose to extend standard Radio Frequency IDentification (RFID) usage bystoring semantically annotated data within RFID tags memory, so that objects may actually‘describe themselves’ in avarietyof scenarios. Inparticularherewe exploit our approach to carryout an advanced matchmaking process using metadata stored in RFIDs. A ‘fully backwardcompatible’ modification to the original RFID data exchange protocol is presented, allowingto implement an advanced resource discovery framework. A compression algorithm specificallydevised to ease embedding of annotated DIG description is also proposed. Motivations andbenefits of the approach are outlined in a tracking of agricultural and food products case study.

Keywords: RFID; Semantic Web; matchmaking; pervasive computing.

Reference to this paper should be made as follows: Ruta, M., Di Noia, T., Di Sciascio, E.,Scioscia, F. and Piscitelli, G. (2007) ‘If objects could talk: a novel resource discovery approachfor pervasive environments’, Int. J. Internet Protocol Technology, Vol. 2, Nos. 3/4, pp.199–217.

Biographical notes: Michele Ruta received the Laurea Degree in Electronic Engineeringfrom Politecnico di Bari (Technical University of Bari) in 2002 and his PhD in InformationEngineering from the same University in 2007. His research interests include pervasivecomputing and ubiquitous web, mobile service discovery and composition, knowledgerepresentation systems and applications for wireless ad-hoc contexts. On these topics he hasco-authored various papers in international journals and conferences. He is involved in variousresearch projects related to his research interests.

Tommaso Di Noia is an Assistant Professor in Information Technology Engineering atTechnical University of Bari (Politecnico di Bari). He got his PhD from Technical Universityof Bari. His main scientific interests include: description logics – theoretical and practicalaspects; resource matchmaking; knowledge representation systems for electronic commerce;automatic (web) services discovery and composition; knowledge representation systems andapplications for the semantic web. He co-authored papers which received the best paper awardat conferences ICEC-2004 and IEEE CEC-EEE-2006.

Eugenio Di Sciascio received the ‘Laurea’ Degree with honours from University of Bari, andthe PhD from Politecnico di Bari, Technical University of Bari. He is currently Full Professorof Information Technology Engineering at Technical University of Bari, and leads the researchgroup of SisInfLab, the Information Systems Laboratory of Technical University of Bari.Formerly, he has been an Assistant Professor at University of Lecce and Associate Professor atTechnical University of Bari. His research interests include multimedia information retrieval,knowledge representation and e-commerce. He is involved in several national and Europeanresearch projects related to his research interests. He co-authored papers that received bestpaper awards at conferences ICEC-2004 and IEEE CEC-EEE-2006.

Floriano Scioscia received the Laurea Degree in Information Technology Engineering fromPolitecnico di Bari, Technical University of Bari in 2006. He is currently pursuing his PhDin Information Engineering at the same University. His research interests include pervasivecomputing, mobile service discovery and composition, knowledge representation systems andapplications for wireless ad-hoc contexts.

Giacomo Piscitelli received the ‘Laurea’ Degree in Physics from the University of Bari. He iscurrently Full Professor of Information Technology Engineering at Technical Universityof Bari. His research interests include real time operating systems, information retrieval,

Copyright © 2007 Inderscience Enterprises Ltd.

200 M. Ruta et al.

knowledge representation and ubiquitous computing. He is involved in several national andEuropean research projects related to his research interests. He co-authored various papers ininternational journals and conferences.

1 Introduction

Ubiquitous Computing paradigm, introduced by Weiser(1999), refers to manifold aspects involving pervasivenessin information storage, processing and discovery. It isaimed to a model of human-computer interaction whereinformation as well as computational capabilities havebeen deeply ‘integrated’ into everyday objects and/oractions. As opposed to classical paradigms, wherea single user explicitly engages a single device toperform a specific task, exploiting ubiquitous computingfeatures, the user will interact with many computationaldevices simultaneously, extracting data from the objectspermeating the environment during ordinary activities,even not necessarily being aware of what is happening.

An interesting point of view is that ubiquitouscomputing technologies allow novel interactions withobjects (the ‘anything’ dimension of a model whichalready allowed to perform transactions ‘at any time’ andfrom ‘anywhere’ for ‘anyone’). Information technologycan assist users in discovering more alternatives andanalysing choices, thus giving people more elements tomake rational decisions (Watson et al., 2002). The impactof pervasive approaches over the evolution of currentdiscovery paradigms has been largely analysed up togive a more detailed definition of them, based on theubiquity, universality, uniqueness and unison networkproperties.

Radio-Frequency IDentification (RFID) is apromisinginfrastructure-less technology interconnecting via radiotwo main components:

• a transponder carrying data (tag), located on theobject to be identified

• an interrogator (reader), able to receive thetransmitted data.

Traditional RFID applications have been focused onsupply chain management and asset tracking (Weinstein,2005). Nevertheless, at the state of the art, tags withhighermemory capacity andon-board sensorsdisclosenewscenarios and enable further applications.

We present a semantic-based environment wheretagged objects become resources exposing to a reader nota trivial identification code but a semantically annotateddescription. This enables objects equipped with RFIDtags to describe themselves in a variety of scenarios e.g.,during supply chain management, shipment, storing, selland post-sell, without depending on centralised databaseand infrastructure.

Weborrowand adapt both ideas and technologies fromthe Semantic Web to fully pervasive contexts intended

as mobile ad-hoc environments, where objects endowedwith RFID tags expose in an automatic and decentralisedfashion their relevant properties and features. Users canbe assisted in discovering items satisfying their needsas well as in exploring implicit product information atdifferent stages of its life cycle. To this aim an extensionof EPCglobal specifications1 for RFID tag data standardshas been devised, allowing to provide semantic-basedvalue-added services. Its deployment is presented in anadvanced matchmaking setting.

Coping with limited storage and computationalcapabilities of mobile and embedded devices, andwith reduced bandwidth provided by wireless links,issues related to the verbosity of semantic annotationlanguages cannot be neglected. Compression techniquesbecome essential to enable storage and transmission ofsemantically annotated information on mobile devices.Hence, in order to make our approach sustainable inreality, we devised and exploited a novel efficient XMLcompression algorithm, specifically targeted for DIG 1.1(Bechhofer et al., 2003) document instances.

The remaining of the paper is structured as follows.In the next section we detail motivation of the approachand the rationale behind it with the aid of a simplereference example. Section 3 recalls fundamentals of logicformalisms we exploit in our framework, as well asmost significant basics of EPCglobal RFID standard.Furthermore Section 4 outlines the proposed framework,sketching enhancements and related benefits with respectto the reference case study. Finally we comment on relatedwork in Section 5; Section 6 closes the paper.

2 Motivation

Currently, RFID technology is merely used as a linkbetween physical objects and a ‘virtual counterpart’(Römer et al., 2004) in the digital world. Tags onlystore an identification code, which is used as a keyto retrieve relevant properties of the object from aninformation server, through a networked infrastructure.Two main issues restrain an overall exploitation of thestandard capabilities. First of all the original identificationmechanism only enables a rudimentary string matching,providing exclusively ‘yes/no’ replies. Furthermore,RFID-based technology usually relies, to extractinformation, on stable support infrastructure and fixeddatabase servers.

Several techniques have been proposed to enhancethe identification and monitoring features provided byRFID systems. No formal frameworks, however, havebeen devised yet for enabling applications that involve

If objects could talk: a novel resource discovery approach for pervasive environments 201

Figure 1 Progressive semantic annotation in a product life cycle

resources equipped with RFID technologies in scenarioswhere a ‘simple’ identification of an item is not enough.

The core idea of our approach is that an extensionof current RFID technology supporting logic-basedformalisms for knowledge representation allowssemantically rich and unambiguous information tofollow a product in each step of its life cycle. Semantic-based annotations are stored on RFID tags, exploitingmachine-understandable ontological languages originallyconceived for the Semantic Web effort, such as OWL(W3C Recommendation, 2004). Product and processinformation can be queried, updated and integrated duringmanufacturing, packaging and supply chain management,thus allowing full traceability up to sales, and intelligentand de-localised querying of product data. To this aimwe propose an extension of EPCglobal standards (Traubet al., 2005) enabling semantic-based services in a pervasivematchmaking framework. Noteworthily, protocols toread or write tags are preserved in the proposed extension,maintaining original code-based access, thus keeping abackward compatibility with basic applications practicallywithout any modification.

A semantic-based approach would provide severalbenefits w.r.t. traditional ones, justifying highercomplexity. As shown in Figure 1, different informationfragments – related both to product properties andprocesses they are subject to – can be added or updatedin real time at each stage of product life cycle. Thatinformation would then be immediately available inlater stages, without resorting to a particular supportinfrastructure. Such an approach can improve traceabilityduring production and distribution, facilitate sales andpost-sale services, and finally provide means for moreefficient recycling and disposal (Yasuura, 2003). Inaccordance with the original vision of the Semantic Webas proposed by Tim Berners Lee et al. in order to enableautomated knowledge management and integration forsuch a wide array of activities, we use formal ontologiesand describe items w.r.t. them.

A simple reference example will clarify our setting, alsohighlighting its benefits. Let us suppose to monitor thelife cycle of a typical product of the Apulia region, themozzarella, and to follow production steps ‘from farm to

fork’ surveying and extracting relevant product/processinformation.Eachproduction stagewill see the progressivejoining of annotations to enhanced RFID tags attachedfor instance to milk tankers (first production stage), tocontainers (logistic step) or to product packages (final salephase). Because of traceability requirements, a tag willstore:

• quantitative data pertaining to the product besides theEPC code

• high-level qualitative information about productionor delivery/logistics processes, expressed as semanticannotations w.r.t. a reference ontology.

Information extracted via RFID can be used for a varietyof purposes. First of all – at each stage of the productevolution – accurate verifications can be performed aboutexpected quality requirements of the product or process.Moreover, intelligent deliveries can be routed fromwarehouse to different production departments accordingto their specific characteristics.A product can inherit (relevant parts of) the semanticallyannotated description of its raw materials, throughproperties defined in the ontology. Further productattributes can also be stored on the RFID tag, such asweight, production date or expiration date.

Finally, in the post selling, the product endowed withan RFID tag attached to its original package enablesadvanced matchmaking applications. Beyond previousrather basic feature enabled by a data-oriented usageof RFID, our semantic based approach enables furtherinteractions. After purchase, mozzarella is going to bestored at home in an RFID-enabled ‘smart fridge’,which – for example – can suggest the best recipes to usethe product when its near expiration is detected.

3 Basics

In this subsection we summarise notions and definitionsfor technologies, languages and tools we exploit in ourapproach.

202 M. Ruta et al.

3.1 DLs, OWL and DIG

Description Logics (DLs) are a family of logic formalismsfor Knowledge Representation (Borgida, 1995; Doniniet al., 1996) – also known as Terminological languages,Concept languages – in a decidable fragment ofFirstOrderLogic. In DLs, the basic syntax elements are:

• concept names, e.g., milk, Apulia, oliveOil

• role names, like hasOrigin

• individuals, like CapreseSalad.

Intuitively, concepts stand for sets of objects and roles linkobjects in different concepts, e.g., the role hasOrigin linksproducts to production region. Individuals are used forspecial named elements belonging to concepts.

A semantic interpretation is a pair I = (∆, ·I),consisting of a domain ∆ and an interpretation function·I which maps every concept to a subset of ∆, every roleto a subset of ∆ × ∆, and every individual to an elementof ∆. We assume that different individuals are mappedto different elements of ∆, i.e., if a �= b then aI �= bI .This restriction is usually called Unique Name Assumption(UNA).

Previous basic elements can be combined usingconstructors to form concept and role expressions. EachDL has a different set of constructors. A constructor usedin everyDL is theoneallowing the conjunctionof concepts,usually denoted as �; some DLs include also disjunction� and complement ¬ to close concept expressions underboolean operations.

Roles can be combined with concepts using existentialrole quantification (e.g., salad � ∃madeOf.Tomato, whichindicates the set of salads whose ingredients includetomato) and universal role quantification (e.g., milk �∀hasSource.bovine, which describes only cow milk).Other constructs may involve counting, as numberrestrictions: (product� ≤ 1 hasSeller) expressesproducts commercialised by just one dealer, and (recipe �≥ 2 hasIngredient) describes recipes combining at leasttwo ingredients.

Many other constructs can be defined, up to createn-ary relations (Calvanese et al., 1998), so increasing theexpressiveness of the DL.

Semantics of the expressions is given defining theinterpretation function over each construct. For example,concept conjunction is interpreted as set intersection:(C � D)I = CI ∩ DI , whereas the other connectives� and ¬, if present, maintain the usual theoreticalinterpretation of ∪ operator and complement one. Theinterpretation of constructs involving role quantificationneeds tomake explicit domain elements: (∀R.C)I = {d1 ∈∆ | ∀d2 ∈ ∆ : (d1, d2) ∈ RI → d2 ∈ CI}.

Concept expressions can be used in inclusion assertionsand definitions, which impose restrictions on possibleinterpretations according to the knowledge elicited fora given domain. For example, we could impose thatcoffee can be divided into beans and powder using thetwo inclusions: coffee coffeeBeans � coffeePowder

and coffeeBeans ¬coffeePowder, or that precookedfood undergo only a first preliminary cooking processas precookedFood ≤ 1 isCooked. Definitions are usefulto give a meaningful name to particular combinations,as in goatMilk ≡ milk � ∀hasSource.goat. Sets ofsuch inclusions are called Terminological Box (TBox).In simple DLs, only a concept name can appear on theleft-hand side of an inclusion.

Semantics of inclusions and definitions is based onset containment: an interpretation I satisfies an inclusionC D if CI ⊆ DI , and it satisfies a definition C = Dwhen CI = DI . Amodel of a TBox T is an interpretationsatisfying all inclusions and definitions in T .

Adding new constructors, makes DL languages moreexpressives. Nevertheless, this usually leads to a growth incomputational complexity of inference services (Brachmanand Levesque, 1984). Hence a trade-off is worthwhile.

The basic idea of the Semantic Web initiative is toannotate information by means of markup languages,based on XML, such as RDF and RDFS2, DAML+OIL3

(McGuinness et al., 2002) and more recently OWL4.These languages have been conceived to allow machineunderstandable, unambiguous representation of webcontents through the creation of domain ontologies,increasing openness and interoperability in the WWW.The strong relationsbetweenDLsand theabove referencedlanguages for the Semantic Web (Baader et al., 2003) isalso evident in the definition of the OWL language. In factthere are three different sub-languages for OWL:

• OWL-Lite. It allows class hierarchy and simpleconstraints on relations between classes.

• OWL-DL. Based on DLs theoretical studies, itallows a great expressiveness keeping computationalcompleteness and decidability.

• OWL-Full. Using such a language, there is a hugesyntactic flexibility and expressiveness. This freedomis paid in terms of no computational guarantee.

In this paper we will refer to theAttributive Language withunqualified Number restrictions (ALN ) DL, a subset ofOWL-DL5. Constructs of ALN DL are reported in whatfollows (see Table 1 for further details):

• �, universal concept. All the objects in the domain.

• ⊥, bottom concept. The empty set.

• A, atomic concept. All the objects belonging to the setA.

• ¬A, atomic negation. All the objects not belonging tothe set A.

• C � D, intersection. The objects belonging both to Cand D.

• ∀R.C, universal restriction. All the objectsparticipating in the R relation in whose range are allthe objects belonging to C.

If objects could talk: a novel resource discovery approach for pervasive environments 203

• ∃R, unqualified existential restriction. There exists atleast one object participating in the relation R.

• (≥ nR6, ≤ nR), (= nR)7 unqualified numberrestrictions.Respectively theminimum, themaximumand the exact number of objects participating in therelation R.

Table 1 Syntax and semantics of ALN constructs

Name Syntax Semantics

Top � ∆IBottom ⊥ ∅Intersection C � D CI ∩ DIAtomic negation ¬A ∆I\AIUniversal ∀R.C {d1 | ∀d2 : (d1, d2) ∈ RI → d2 ∈ CI}quantificationNumber (≥ nR) {d1 | �{d2 | (d1, d2) ∈ RI} ≥ n}restrictions (≤ nR) {d1 | �{d2 | (d1, d2) ∈ RI} ≤ n}

Ontologies are usually designed as simple-TBox in order toexpress the relations among objects in the domain. With asimple-TBox the left side is represented by a concept namein all the axioms (for both inclusion and definition). SeeTable 2 for details.

• definition: oliveOil ≡ oil � ∀hasSource.olive• inclusion: mixture ≥ 2 hasIngredient

Table 2 Syntax and semantics of the TBox assertions

Name Syntax Semantics

Definition A ≡ C AI = CI

Inclusion A � C AI ⊆ CI

As part of the activity of the Description LogicImplementation Group (DIG), a new interface tocommunicate with DL reasoners has been defined(Bechhofer et al., 2003). The DIG interface uses HTTPas the underlying transfer protocol. It allows client(and server) developers to use existing libraries forimplementation.

ForDIGrequests, theprotocol imposes toadoptHTTPPOST. The body of the request must be an XML encodedmessage corresponding to a DIG request.

The original DIG specification concept languageis based on SHOIQ(D), that is a description logicthat includes boolean concept operators (and, or,not), universal and existential restrictions, cardinalityconstraints, a role hierarchy, inverse roles, the one-ofconstruct and concrete domains. For our purposes,we adopted the ALN description logic, which hasa polynomial complexity, both for standard andnon-standard inferences.

There is a strict correspondence amongOWL,DIGandDL syntax as shown in the following Table 3. Neverthelessin the implementation of the proposed system we willuse only DIG formalism in expressing demands as wellas resource descriptions, because it is less verbose and

more compact, amandatory requirement inmobile ad-hocapplications.

In the rest of the paper we will formalise examples byadopting DL syntax instead of OWL-DL or DIG one forcompactness. Nevertheless all the semantically annotatedresources as well as the ontology employed to model them,canbe easily rewritten usingOWL-DLorDIG formalisms.

3.2 Inference services

It should be noticed that DL-based systems usually onlyprovide two basic reasoning services:

• Concept satisfiability T |= C � ⊥: Given a domainontology T (for Terminology) and a description C(for concept), is the information represented by Cconsistent with the one in T ?

• Subsumption T |= C1 C2: Given an ontology Tand two descriptions C1 and C2, is the information inC1 more specific than the one represented by C2 withrespect to what is modelled in T ?

In a semantically-enabled resource retrieval scenario,where a matchmaking process between a request –described by D – and each of the available resources –represented by C – is needed, using subsumption it ispossible to establish ifC is more specific thanD, T |= C D. If the previous relation holds, then the information Cassociated to the retrieved resource completely satisfies theone requested byD, i.e., a fullmatchoccurs.WithConceptSatisfiability the discovery of incompatible resources withrespect to the request can be performed. If D � C is notsatisfiable w.r.t. the ontology T , then C is not compatiblewith the request.

Unfortunately full matches cannot be deemed the onlyuseful, as they will be probably rare. Given a request anda set of resources, usually both C � D and D � C � ⊥w.r.t. T hold. That is, the resource does not completelysatisfy the request but it is compatible with it. Hence,ametric is needed to establish ‘howmuch’ the resourceC iscompatiblewith the requestD or, equivalently, ‘howmuch’it is not specified in C to completely satisfy D, in orderto make the subsumption relation C D true. Di Noiaet al. (2004) proposed rankPotential algorithm, for theALN subset of OWL DL, able to evaluate this measure.Given anALN ontology T and twoALN conceptsC andD both satisfiable in T , rankPotential(C, D, T ) computesa semantic distance of C from D with respect to theontology T .

Notice that we write the distance of C from D ratherthan the distance between D and C because of thenon-symmetric behavior of rankPotential (see Di Noiaet al. (2004) for further details). In fact the relation we needto reach here is C D rather than C ≡ D.

With the aid of rankPotential it is also possible tocompute a complex concept depth with respect to thetaxonomy represented by the axioms set T . In fact, ifD ≡ � then rankPotential(D, C) = rankPotential(�, C)represents the distance of C from �, i.e., the most generic

204 M. Ruta et al.

Table 3 Correspondence between OWL, DL and DIG syntax

OWL syntax DIG syntax DL syntax

< owl : Thing/ > < top/ > T< owl : Classrdf : ID = ”C”/ > < catom name = ”C”/ > C< owl : ObjectPropertyrdf : ID = ”R”/ > < ratom name = ”R”/ > R< rdfs : subClassOf/ > < impliesc > C � E

< catom name = ”C”/ >E

< /impliesc >< owl : equivalentClass/ > < equalc > C ≡ E

< catom name = ”C”/ >E

< /equalc >< owl : disjointWith/ > < disjoint > C1 ⇔ ¬C2

< catom name = ”C1”/ >< catom name = ”C2”/ >

< /disjoint >< owl : intersectionOf/ > < and > C1 � C2

C1C2

< /and >< owl : allV aluesFrom/ > < all > ∀R.E

< ratom name = ”R”/ >E

< /all >< owl : maxCardinality/ > < atmost num = ”n” > ≤ nR

< ratom name = ”R”/ >< top/ >

< /atmost >< owl : minCardinality/ > < atleast num = ”n” > ≥ nR

< ratom name = ”R”/ >< top/ >

< /atleast >< owl : cardinality/ > < and > = nR

< atleast num = ”n” >< ratom name = ”R”/ >< top/ >

< /atleast >< atmost num = ”n” >

< ratom name = ”R”/ >< top/ >

< /atmost >< /and >

concept in the ontology. Notice that such distance is nottrivially the depth of a node in a tree for at least two mainreasons:

• An ALN ontology, typically, is not a simple termstaxonomy tree, i.e., it does not contain only IS-Arelations between two atomic concepts, and can bebetter represented as a labeled oriented graph

• In ALN a complex concept is the conjunction ofatomic concepts and role expressions.

The value returned by rankPotential(�, C)here representshow specific is a complex concept expression C withrespect to an ontology T .

If some requirements in the request D are in conflictwith the resourceC, then rankPotential cannot be applied.

Nevertheless, in looking for least unsatisfactory proposalswhen recovering from an initial ‘no potential match’, apartial match could be ‘not so bad’! Di Noia et al. (2004)proposed the rankPartial algorithm for ranking incoherentpairs of supplies and requests. Given an ontology Tand two concept expressions D and C, both satisfiablewith respect to T , if D is not compatible with C i.e.,their conjunction is not satisfiable with respect to T ,then rankPartial returns a score measuring the semanticincompatibility of D and C.

3.3 Radio Frequency IDentification (RFID)

In our framework we refer to RFID transpondersconforming to the EPC standard for class I – secondgeneration UHF tags (Traub et al., 2005). As shown in

If objects could talk: a novel resource discovery approach for pervasive environments 205

Figure 2, thememory of anEPC class IGeneration-2UHFRFID tag is divided in four logical banks (Epcglobal Inc.,2005):

• Reserved. It is optional; if present, it stores 32-bit killand access passwords.

• Electronic Product Code (EPC). It stores, startingfrom address 0:

• 16 bits for a Cyclic Redundancy Check (CRC)code

• a 16-bit Protocol Control (PC) field, composedby (I) 5 bits for identification code length, (II)2 bits reserved for future use and (III) 9 bits ofnumbering system for the identification

• an EPC field for the identification code.

• Tag identification (TID). It stores at least:

• 8 bits having fixed binary value 111000102

• 12 bits for tag manufacturer IDentification

• 12 bits for tag model identification.

This bank may be enlarged to store othermanufacturer or model-specific data (e.g., a tag serialnumber) that could allow to recognise the supportfor optional characteristics and protocol commands.

• User. An optional bank that stores data definedby the user application. Memory organisation isuser-defined.

Figure 2 Memory model for adopted UHF RFID tags(from EPCglobal)

EPCglobal Generation-2 UHF RFID air interfaceprotocol is an Interrogator-Talks-First (ITF) protocol:tagsonly reply to reader commands.Herewebrieflyoutlinethe protocol features required to better understand ourwork.

An RFID reader can preselect a subset of the tagpopulation currently in range, according to user-definedcriteria, by means of a sequence of Select commands.

Select command sends a bit string to all tags in range.Each tag will compare it to a memory area specified bythe reader, then it will set or reset one of its status flagsaccording to the comparison result (match or no-match).Parameters are as follows:

• Target determines which tag status flag will bemodified by the Select command

• Action tells how a tag is required to modify the flag(set, reset, do nothing) for either positive or negativematch outcome (a three-bit field is thus required toencode the six cases)

• MemBank indicates what memory bank must becompared

• Pointer is the address of the first bit of MemBank tagmemory area that must be compared

• Length is the length of the bit string to be compared

• Mask is the bit string to be compared with the contentof the memory area selected by MemBank, Pointerand Length values

• Truncate tells the tag to send only part of its EPC codein the following protocol step

• CRC used for command data integrity protection.

After this phase, the inventory loop begins. In eachiteration the reader isolates one tag in range, reads its EPCcode and has the opportunity to access itsmemory content.Among available commands, only Read and Write arerelevant for our purposes.

• Read command allows to read from one of the fourtag memory banks. Parameters are:

• MemBank indicates the bank data must be readfrom

• WordPtr points to the first 16-bit memory wordto be read

• WordCount is the number of consecutive 16-bitmemory words that must be read (if it is 0, thenthe tag will send data stored up to the end of thememory bank)

• RN, random number used as access transactionidentifier between reader and tag

• CRC.

• Write command allows a reader to write a 16-bit wordto one of the four tag memory banks. Its structure issimilar to the READ one.

Together with previous features, the EPCglobal standardprovides a support infrastructure for RFID applications:the Object Naming Service (ONS) (EPCglobal RatifiedSpecification, 2005). It allows to locate metadata and

206 M. Ruta et al.

services associated to a specified EPC. They are providedby the authority managing the object family the tagbelongs to. TheONS is basedon theDomainNameSystemadopted to solve symbolic internet addresses. In particular,ONS format for requests and replies must adhere to DNSstandards. Basically the system performs the translationof the EPC code into a domain name and results ofthis interrogation correspond to valid records of DNSresources.

EPCglobal Network Protocol Parameter Registry,maintained by EPCglobal consortium, includes all theregistered service suffixes, such as ws for a Web Service,epcis for an EPCglobal Information Service (providingauthoritative information about objects associatedwith anEPC code) and html for a Web Page of the manufacturer.

4 Framework

In advanced pervasive computing scenarios, matchmakingbetween a request and a supplied product, typicallyinvolves not only the description of the product itself,but also data-oriented properties. Price and quantity areobvious examples of such numerical product attributes.Pervasive environments are usually resource-constrained,therefore context-aware attributes (e.g., remaining devicebattery power) may also be taken into consideration formore effective matchmaking. That is, the overall matchvalue should take into account not only the descriptionof the resource and of the request but also some (context-aware) values. An overall utility function has to combineall these parameters to give a global value representing thematch degree (Ruta et al., 2006).

Practical feasibility of a proposal for advanced usageof RFID technologies must take into account thesevere bandwidth and memory limitations of currentRFID systems, in order to meet cost requirements forlarge-scale adoption. Due to technological advances andgrowing demand, passive RFID tags with greater memoryamounts are expected to be available (Bridgelall, 2003).Nevertheless, XML-based ontological formats like OWLand DIG are far too verbose for direct storages onRFID tags. Finally, a further goal is to preserve theoriginal EPCglobal RFID technology standards as muchas possible, in order to ensure compatibility and smoothcoexistence of new semantic-based object discoveryapplications and legacy identification and tracking ones.

To address all of the above issues, innovative solutionswere devised. Semantically annotated information isencoded in a compact way by means of a novel algorithmaimed at efficient compression of XML-based ontologicallanguages. Tag memory structure was extended inorder to store the additional information required forsemantic-basedobject discovery.The air interface protocolfor UHF Generation 2 RFID systems was exploitedin innovative ways, but neither new commands normodification to existing ones were introduced, thuskeeping full backward-compatibility with current RFIDreaders.

The proposed approach is hereafter outlined by meansof a running example covering several steps in a productlife cycle.

We refer to the food industry, since it represents aremarkable case of traceability requirements imposed bycurrent legislation, that can be effectively satisfied in theproposed framework. At the same time, it is versatileenough to let us demonstrate the relevant aspects ofour approach. To this aim, a prototypical food industryontology F was developed. In F, only subclass axioms arerepresented to make the example more readable. In whatfollows, all examples of DL expressions will be formalisedin classical logic-based syntax for the sake of compactness.Figure 3 reports a relevant subset of axioms in F fora better comprehension of the examples. Individualsbelonging to knowledge bases built w.r.t. this ontology canrepresent products (either finished or unfinished) in thefood industry. Each individual can be defined by meansof a single concept representing the product class andpossible role restrictions describing its relevant properties(e.g., origin, production processes, certifications).

As said before, in our scenario we focused onmozzarella, a fresh cheesewhich is typical ofApulia regionand can be used in several recipes, both cold and warm.It is introduced in F ontology by the inclusion axiom:

mozzarella fresh_cheese � ∀has_raw_material.milk

� ∀has_source.bovine � ∀has_colour.white

Figure 3 Axioms in F toy food ontology used in the case study

If objects could talk: a novel resource discovery approach for pervasive environments 207

We are going to follow production and packaging ofmozzarella. After purchase, it is going to be stored at homein an RFID-enabled ‘smart fridge’, which will alert whenexpiration date is approaching and suggest the best recipesto use the product.

4.1 From farm to factory

A cheese factory receives milk delivered daily fromdairy farms in the area. Milk deliveries are identifiedand described by means of semantic-enabled RFID tagsattached to tankers, which are scanned upon arrival atthe factory warehouse. Due to traceability requirements,a tag must store quantity and a production time stampbesides the EPC code. Qualitative information about milkand its production process are also stored within thetag, expressed as a semantic annotation w.r.t. the foodindustry ontology F.

To ease reading, let us consider a simple descriptionof a milk delivery, stating that it is cow milk from Apuliaregion that underwent a refrigeration process only.

M1: cow_milk � ∀has_origin.Apulia �∀processed_with.refrigerationTime stamp reveals that milk was produced 2h ago.

Information extracted via RFID is stored into the factoryinformation system, where it can be used for a varietyof purposes. For instance, cheese maker can verify thatdelivered milk meets the product/process requirementsestablished in the contract with supplier. Moreover,each milk delivery can be routed from warehouse to adifferent cheese production department according to itscharacteristics.

For example, it is known that mozzarella is made withbovine milk only and that the fresh milk is better. Letus further suppose that our cheese maker prefers skimmilk rather than whole milk to produce mozzarella, andthat the following two milk deliveries are available in thewarehouse in addition to the formerly described M1:

M2: cow milk from Apulia region processed withrefrigeration and skimming. This is represented in DL as:

cow_milk � ∀has_origin.Apulia �∀processed_with.refrigeration � skimming

It was produced 5h ago.

M3: goat milk from Apulia region processed withrefrigeration. This is represented in DL as:

goat_milk � ∀has_origin.Apulia� ∀processed_with.refrigerationIt was produced 6h ago.

In that case a DL reasoner providing rankPotentialinference service can be exploited to find the most suitablemilk delivery for mozzarella production8. Each of theabove supplies is matched with the following request:

MR: cow_milk � ∀processed_with.refrigeration �skimming.

Moreover, the following utility function is applied to takeproduct contextual attributes into account and computean overall match degree:

f(pot_match, ts) =pot_match

2+

tnow − tsα3600

where pot_match is the rankPotential outcome, tnow andts represent current time stamp and supply time stamprespectively (measured in seconds starting from a commonreference). A lower utility function value corresponds to abetter overall match. Finally, the α parameter weights thecontribution of milk age. If we choose α = 8: then every8h of milk age will add 1 to the overall score.

Results of the abovematchmaking process are reportedinTable 4; since rankPotentialyields ameasureof semanticdistance, the lowest value is the best. M2 fully matchesthe request and provides the best overall score, whereasM1 can be deemed as secondary choice, even though M2is older. Moreover, since goat milk is disjoint with cowmilk in the F ontology, M3 results to be incompatible withMR and rankPotential cannot be computed. This allowsto discard M3 as unsuitable for mozzarella production.Let us point out that full matches will be seldom achievedwhen dealing with more complex resource descriptions.However, rankPotential will still provide a significantsemantic-based ranking of resources w.r.t. the request.

Table 4 Results of matchmaking between milk supplies andrequired product characteristics for mozzarellaproduction

Compatibility rankPotentialSupply (Y/N) score f(·)M1: whole cow milk Y 2 1.25M2: skim cow milk Y 0 0.625M3: whole goat milk N − −

During packaging operations, RFID semantic-enabledtags are written and then attached to each mozzarellapackage before shipping.

In our approach, a product can inherit (relevant partsof) the semantically annotated description of its rawmaterials, through properties defined in the ontology.Further product attributes can also be stored on the RFIDtag, such as weight, production date and expiration date.Let us suppose that those three values are written into theRFID tag attached to mozzarella produced with milkM2,along with the DIG expression referred to the followingsemantic annotation:

mozzarella � ∀has_origin.Apulia∀has_raw_material

.(cow_milk � ∀processed_with.skimming).

4.2 Protocol enhancement

In order to enable the scenario described so far,RFID tags and air interface protocol must provideread/write capabilities for semantically annotated

208 M. Ruta et al.

product descriptions w.r.t. a reference ontology, alongwith additional data-oriented attributes. Moreover, amechanism is clearly required to distinguish semanticenabled tags from standard ones, so that semanticbased applications can exploit the new features withoutinterfering with legacy applications.

In order to accomplish that, we extend the memoryorganisation of tags compliant with the EPCglobalstandard for class I Generation-2 UHF RFID systemsdescribed in Section 3.3. We exploit two bits in the EPCtag memory area currently reserved for future purposes.The first one – at 15hex address – is used to indicatewhether the tag has a user memory (bit set) or not (bitreset). The second one – at 16hex address – is set tomark semantic enabled tags. In this way, a reader caneasily distinguish semantic based tags by means of aSELECT command with parameter values as shown inTable 5. Values for the triple MemBank, Pointer andLength identify the two-bit memory area starting at 15hex

address in EPCmemory bank. The reader commands eachtag in range to compare those two bits with bit mask112. The match outcome will be positive for semanticenabled tags only. The Target and Action parametervalues mean that in case of positive match the tag mustset its SL flag and clear it otherwise. The followinginventory step will skip tags having SL flag cleared,thus allowing a reader to identify only semantic enabledtags (protocol commands belonging to the inventory stephave not been described, because they are used in thestandard fashion).

The EPC standard for UHF – class I tags imposesthe content of TID memory up to 1Fhex bit is fixed.Optional information could be stored in further optionalTID memory. Generally these information are serialnumbers or manufacturer data. Hence we use the TIDmemory area starting from 1000002 address. In that areawe store a 128-bit Ontology Universally Unique Identifier(OUUID) marking the ontology w.r.t. the descriptioncontained within the tag is expressed. In our example,the value of OUUIDF will be stored. Finally, in order toretrieve the OUUID value stored within a tag, a readerwill exploit a READ command by adopting parametervalues as shown in the following Table 6. MemBankparameter value identifies TIDmemory bank andWordPtrvalue specifies that the reading must start from the third16-bit memory word, i.e., from 20hex address. Finally,WordCount parameter indicates that 128 bits (eight 16-bitwords) have to be read.

Contextual parameters (whosemeaning depends on thespecific application) will be stored within the User memorybank of the tag, together with the semantically annotateddescription of the good the tag is clung to. Due to the strictamount of memory available, the resource descriptionhas to be coded. Recall that semantically annotateddescriptions are expressed in DIG syntax – which is anXML formalism (Bechhofer et al., 2003) – hence becauseof verbosity of that format, the use of a compressionalgorithm is needed. We use a simple compressiontechnique in order to reduce the memory occupancy.

Details concerning characteristics and performanceof the adopted DIG encoding tool are coveredin Section 4.3.

An RFID reader can perform extraction and storingof a description on a tag by means of one or more READor WRITE commands, respectively. Both commandsare obviously compliant with the RFID air interfaceprotocol. Table 7 reports parameter values of theREAD command for extracting the full contents of Usermemory, comprising both contextual parameters and thecompressed description.

As formerly illustrated, togetherwith previous features,the EPCglobal standard provides a support infrastructurefor RFID applications: the ONS (EPCglobal RatifiedSpecification, 2005). In our approach the ONSmechanismis considered as a supplementary system able to grantthe so-called ontology support. Recall that the wholeproposed system is basically structured as a MANET.Hence, in case the reader does not manage the ontologyw.r.t. is expressed the description within the tag, it needsan Internet connection in order to retrieve the relatedDIG file. For this purpose we use the ONS service andwe hypothesise to register within the EPCglobal NetworkProtocol Parameter Registry the new service suffix dig.Recall that the registry maintains all the registered servicesuffixes. The new dig suffix will indicate a service ableto retrieve ontologies with a specified OUUID value. Ofcourse the same could be done for OWL or any otherontological language.

In case of EPC derived from the GS1 standard9, weassume that the pair of fields used for ONS requests – andreferred to the manufacturer and to the merchandise classof the good – will correspond to a specific ontology. In factthatpair identifies exactly theproduct category.Twogoodswith the same values for that field parameters will be surelyhomogeneous or even equal. Nevertheless the vice versais not verified. Products belonging to the same category,described by means of the same ontology, could havedifferent values for parameters. This is the case of similargoods with different manufacturer or manufactured bythe same producer but belonging to different merchandiseclasses.

4.3 Data compression

A compression algorithm specifically targeted to thepacking of standard DIG 1.1 format (Bechhofer et al.,2003) has been devised in our framework. The generalapproach, however, is easily adaptable to any otherontological language based on XML, such as OWL.

Each DIG document instance follows DIG XMLSchema, which comprises at most 40 different tags.The document creator inserts elements she thinks mostappropriate. In a DIG document, no value is set insideany tag; only tag attributes can be specified, within awell defined finite set of types. For example, the DIGdocument representing the above M2 milk delivery isreported hereafter.

If objects could talk: a novel resource discovery approach for pervasive environments 209

Table 5 SELECT command able to detect only semantic enabled tags

Parameter Target Action MemBank Pointer Length Mask

Value 1002 0002 012 000101012 000000102 112

Description SL flag set in case of match, EPC memory initial number bit maskreset otherwise bank to compare address of bit

Table 6 READ command able to extract OUUID from the TID memory bank

Parameter MemBank WordPtr WordCount

Value 102 0000000102 000010002

Description TID memory bank starting address read up to 8 words (128 bit)

Table 7 READ command able to extract the semantically annotated description from the user memory bank

Parameter MemBank WordPtr WordCount

Value 112 0000000002 000000002

Description user memory bank starting address read up to the end

<?xml version="1.0" encoding="UTF-8"?> <tellsxmlns="http://dl.kr.org/dig/2003/02/lang">

<defindividual name="milk_delivery_M2"/><instanceof>

<individual name="milk_delivery_M2"/><and>

<catom name="cow_milk"/><all>

<ratom name="has_origin"/><catom name="Apulia"/>

</all><all>

<ratom name="processed_with"/><catom name="refrigeration"/>

</all></and>

</instanceof></tells>

We propose a simple DIG compression solutionparticularly suitable for pervasive applications, whosestructure is shown in Figure 4. Three fundamental phasescan be identified:

• data structures packing

• attribute values packing

• zlib packing.

We exploit the peculiarity of the DIG format having few,well defined and limited tag elements. A typical DIG file ismostly composed of empty XML elements.

Figure 4 Structure of the proposed DIG compression tool

Data-structures packing

The proposed compression algorithm is based on twofundamental principles. First of all, pure data have to

be divided from data structures; furthermore data anddata structures have to be separately encoded in orderto obtain a higher compression rate. Data structures arebasically XML elements with possible related attributes,whereas data simply are attribute values. As noted above,data-structures in DIG syntax are fixed and well definedby DIG XML Schema, whereas data are different fromdocument to document. XML elements are coded byassociating an unambiguous 8-bit code to each structure ina static fashion. Consider that DIG files adopt either ISO8859-1 or UTF-8 character encodings, which use one bytefor each character (special characters requiring more thanone byte inUTF-8 do not belong to the symbol set ofDIG):so an early size saving is achieved. The association betweenXML structures and the corresponding code is fixed andinvariable. This is a further advantage because, unlikegeneral purpose XML compressors, it is not necessary toinsert a header containing the decoding table within thecompressed file.

The result of this first stage on our example file cuts filesize down from 459 B to 101 B: the intermediate encodingis reported in the following (for the sake of readability,codes are shown in hexadecimal representation, whereasattribute values as character strings; whitespace was alsoadded manually for visual clarity).

cd b7 c9 milk_delivery_M1be cb milk_delivery_M1b5 c6 cow_milkb6 cc has_originc6 Apuliaa7 b6 cc processed_withc6 refrigerationa7 a6 b0 b3

Attribute-values packing

Most recurrent words are identified in the previouslydistinguished data section. They will be coded with a16-bit sequence. A header of the compressed file is thusbuilt, containing correspondences between each text string

210 M. Ruta et al.

and the related 16-bit code. It is dynamically created andexclusively belongs to a specific DIG document instance.Theprovidedheaderwill be exploited in thedecompressionsteps. Assigned codes differ by their second byte, becausethe first octet is adopted as padding in order to distinguishthe attribute value coding from regular ASCII characters.This second compression stage allows to obtain a furthersize saving, particularly in ontologies with very frequentconcepts and roles. On the other hand, the use of theheader could compromise compression performances forshort files, as the space consumption for the header reducessavings obtained with compression. Hence the encodingof all the string values of a DIG file without any a-prioridistinction has to be definitely avoided.

A correct compression procedure should properly takeinto account both the length of an attribute string andits number of occurrences within the file. The minimumlength of strings to encode can be trivially calculatedby comparing the size consumption needed to storestring/code correspondences and the saving obtained withthe encoding: in the proposed approachonly text attributeswith a length of at least three characters will be encoded.Furthermore we must evaluate the number of occurrencesof each attribute i (from now on nr_occurencesi). We setan optimal minimum value nr_occurences_min and wewill encodeonly iattribute valueswherenr_occurencesi >nr_occurences_min. We have performed statisticalevaluations trying the compression of 72 sample DIGdocuments and evaluating obtained compression ratesvarying nr_occurences_min. Results show that the bestcompression rates are produced by nr_occurences_minvalues within the range [2–8] with an average of 4.03 anda standard deviation in the range [0–0.3]. Thus we setnr_occurences_min = 4, so only attribute strings with atleast three characters and recurring at least four times willbe encoded.

Since no attribute value occurs more than twice in ourexample DIG document, the compressed file header willbe empty. Only the header delimiter character fehex willbe added in front of the encoded document, as shownhereafter, taking size to 102 B.

fe cd b7 c9 milk_delivery_M1be cb milk_delivery_M1b5 c6 cow_milkb6 cc has_originc6 Apuliaa7 b6 cc processed_withc6 refrigerationa7 a6 b0 b3

zlib packing

Finally zlib library based on the Ziv-Lempel compressionalgorithm (Ziv and Lempel, 1977) is exploited to applyan eventual third compression level, optimising the overallresult.Ziv-Lempel algorithmdoesnotperformparticularlywellwhen compressing apartially coded input (it is difficultto find more occurrences of the same character sequence).The use of zlib, however, resulted useful in our approachspecially for large files, where it produces the compression

of words excluded by previous compression steps and ofthe file header.

In our very short example document, this final stepbrings file size from 102 B to 95 B.

Performance evaluation of the proposed algorithm hasbeen carried out estimating three fundamental parameters:

• compression rate

• turnaround time

• memory usage.

Two tools were developed in C language implementingour compression and decompression algorithms. Theywere named DIG Compressor and DIG Decompressor,respectively. Currently, Windows and Linux platforms aresupported, leveraging the freely available zlib compressionlibrary.

Tests for compression rate and running time wereperformed using:

• a PC equipped with an Intel Pentium 4 CPU(3.06GHz clock frequency), 512 MB RAM at266MHz and Windows XP operating system

• a PC running Gentoo GNU/Linux with 2.6.19 kernelversion and Valgrind (Nethercote and Seward, 2007)profiling toolkit.

This second PC was equipped with a Pentium M CPU(2.00GHz clock frequency) and 1GB RAM at 533MHz.

Firstly, compression rates achieved by the proposedalgorithm were considered, in order to assess whether ourapproach is adequate to the purposes outlined. We carriedout tests with 70 DIG documents of various size. Our aimwas to evaluate compression rates for both smaller instancedescriptions and larger ontologies. Figure 5 shows averagecompression rates and standard deviations for differentsize ranges of DIG input data.

Figure 5 Obtained compression rates

Overall average compression rate is 92.58 ± 3.58%.As expected, higher compression rates were achieved forlarger documents. Even for very shortDIGfiles (less than 2KB), however, average compression rate is 87.05 ± 2.80%,which is surely satisfactory.

A comparative evaluation was carried out using asbenchmarks the general purpose XML compressor XMill(Liefke and Suciu, 2000) and gzip10 generic compressor.

If objects could talk: a novel resource discovery approach for pervasive environments 211

Testing the compression rate, the proposed system allowedto obtain smallest resulting files, as shown in Figure 6. Foreach DIG file, original size in bytes is reported. It shouldbe noticed our algorithm performed significantly betterfor small DIG documents. This result is very encouraging,since in our mobile scenarios we usually deal with smallXMLdocuments representing the annotations of availableresources.

Figure 6 Performance comparison: Compression rate

In order to evaluate the turnaround time, each test wasrun ten times consecutively, and the average of the lasteight runs was taken. Results are presented in Figure 7. Itcan be noted that DIGCompressor has higher turnaroundtimes than other tools, though absolute values are stillquite acceptable. Such an outcome suggests we shouldput further work into optimising our implementation forexecution speed.

Figure 7 Performance comparison: Turnaround time

Finally, memory usage analysis was performed usingMassif tool of Valgrind debugging and profilingtoolkit. Massif measures stack and heap memory profilethroughout the life of a process. For our comparison,only the memory occupancy peak was considered. DIGCompressor memory usage is only slightly higher thanthe one of gzip, with high correlation (r = 0.96) betweenthe two value sets. This result could be expected, sinceour algorithm relies on Ziv–Lempel compression in itslast phase. On the contrary, XMill showed a moreerratic behavior. Outcomes can be reputed as encouragingbecause memory–efficient implementations of zlib libraryare currently available for all major mobile platforms.

4.4 From factory to fork

Coming back to our running example: let us suppose aconsumer buys a mozzarella package endowed with asemantic enabled RFID tag containing the informationreported in Section 4.1. She takes it home and storesit in her ‘smart fridge’, which integrates an RFIDreader for scanning products and a tablet computerfor user interaction. The smart fridge scans its contentperiodically. In particular, it can detect productsapproaching their expiration and alert the user.

This is accomplished usingRFID air interface protocolcommandsdescribed inSection4.2. Inparticular, bymeansof a READ command the smart fridge can obtain theexpiration date from the RFID tag attached to eachproduct.

Beyond this rather basic feature enabled by adata-oriented usage of RFID, our semantic-basedapproach enables further interactions. When a productnear expiration is detected, the smart fridge can suggest thebest recipes that use the product, according to its currentcontent.

The fridge RFID reader reads the expiration dateof mozzarella from the RFID tag on the package andcomputes that expiration is due tomorrow. Therefore thefridge computer starts searching for the best recipes thatcan bemade up with the products it has detected via RFIDas currently present.

To this aim, we hypothesise that the fridge computeris equipped with a semantic facilitator providing theinference services described in Section 3.1. In fact, theenvisioned scenario can be modelled as a semantic basedmatchmaking problem.

4.5 Eat parade: a semantic-based approach forfood discovery and composition

A preliminary remark has to be made in order to correctlymotivate advanced features disclosed by our framework.Note that in the case study matchmaking problem, theperspective is somewhat inverted w.r.t. classical ones,because here one supply (given by the conjunction of moreingredients) is matched with n demands (a set of recipes).That is, in our running example, the content of the fridgeconstitutes the supply, while known recipes are the possibledemands.

The supply S is defined as the conjunction of thesemantically annotated descriptions of available productsin the fridge. Each recipe R(i) is instead modelled as anindividual of a KB managed by the reasoner embedded inthe fridge computer. We assume that each recipe is definedw.r.t. the same ontology food F as the products and it isdescribed simply as conjunction of concepts representingthe required ingredients. In this way, demands best fittingour supply can be found through rankPotential algorithmcited in Section 3.1.

Before delving into matchmaking details, it shouldbe pointed out that care has to be paid whenmodelling food product resources, in order to avoid

212 M. Ruta et al.

inconsistency of the conjunction of different products.Moreover, this approach can be deemed as an implicitand simplified resource combination where a semanticfacilitator attempts to identify a demand in a set, bestmatching a specified supply. This approach tries to finda compromise between expressiveness and simplicity. Itis aimed at discovering resources for an activity (cookingrecipes at home) that does not require rigid and formalprocess specification. More complex semantic-basedservice composition techniques could be adopted whenprocesses must be thoroughly formalised and inputs,outputs, preconditions and effects have to be consideredfor each elementary service available for composition.

Currently in the fridge thereare the followingproductsbesides mozzarella: butter, tomatoes, eggs, ham, basil.

For the sake of simplicity, we omit detailed resourcedescriptions. The supply S can be therefore described as:

S : mozzarella � butter � tomato � egg

� ham � basil � C

where C represents the conjunction of furthersemantically annotated characteristics taken from theRFID tag on each product. In the following matchmakingexample we will assume C ≡ �.

Let us suppose the following recipes are presentin the KB:

R1 – omelette with ham:

egg � ham � butter

R2 – insalata caprese, a fresh salad with tomatoes,mozzarella, olive oil and basil:

tomato � mozzarella � olive_oil � basil

R3 – pizza Margherita, pizza bread with tomato,mozzarella and basil toppings:

pizza � tomato � mozzarella � olive_oil � basil.

A further peculiarity of this matchmaking problem is thatwe want to be able to set strict constraints, requiringnecessarily that a particular product is used. These strictrequirements can be triggered automaticallywhen an eventoccurs, or may be set by the user. In our example use case,the smart fridge automatically sets a strict requirement onproducts near expiration. Therefore in a preliminary stepa request Ps is defined as the conjunction of strict resourcerequirements. In our example:

Ps − mozzarella.

A first matchmaking round is performed usingrankPotential. In this step, Ps is considered as a demandand each Ri as supplies. Only those Ri for which a fullmatch occurs (i.e., rankPotential returns 0) will be used inthe second matchmaking step. Results of this preliminarymatchmaking are given in Table 8 for our example. As wecan see, only R2 and R3 give a full match. R1 will notbe used in the next step because it does not containmozzarella, even though we can see that all ingredients foromelette are present in the smart fridge.

Table 8 Results of matchmaking between strict food productrequirements and recipes

Supply rankPotential score

R1: omelette 13R2: insalata caprese 0R3: pizza Margherita 0

Results of final matchmaking are shown in Table 9. As wecan see, R2 results in a smaller rankPotential value thanR3, i.e., it has a closer semantic distance. This impliesthat we need to purchase fewer products to make insalatacaprese than pizza Margherita.

Table 9 Results of matchmaking between recipes and availablefood products

Supply rankPotential score

R2: insalata caprese 3R3: pizza Margherita 4

When the user goes into her kitchen, she sees analert on thefridge screen. It says thatmozzarella is about to expireandgives a ranked list of suggestions for recipes containingmozzarella. On top of the list there are those recipes thatrequire to buy the fewest additional products.

When considering a recipe knowledge base with highcardinality of individuals, the proposed approach mightseem too lengthy to be practically feasible. It should benoted, however, that the whole process needs no userintervention, since information on available supplies iscollected through RFID, possible demands are known apriori (from the recipe KB) and matchmaking is fullyautomated. Consequently, the discovery can be performedeven when a user is away or during night time. Results willbe displayed on the fridge screen, so that when user goesin her kitchen she can see both the expiration alert and thesuggested recipes. Moreover, as long as the content of thefridge does not change, the matchmaking process needsto be executed automatically no more than once a day,since food expiration is measured with day granularity.Nevertheless, through periodical RFID scans with higherfrequency (e.g., every 5 min), the smart fridge can detectif products are added or removed and consequentlyrecompute matchmaking results.

The same object discovery and matchmakingframework can support additional use cases. For example,the user can search explicitly for suitable recipes to beprepared with a given product. Besides, if the user is aboutto leave home for some days, she may desire to consumeall perishable products in her fridge. In such cases, she willset strict constraints on products she wants to use. Theseadditional use cases are not currently implemented, butare trivially achievable with the elements described so far.We limited the current case study to a single smartappliance. By using mobile ad-hoc wireless technologiessuch as semantic-enhanced Bluetooth (Ruta et al., 2006),however, the approach could be extended toward a ‘smart

If objects could talk: a novel resource discovery approach for pervasive environments 213

kitchen’ comprising several product repositories (e.g., afridge, a pantry and a cupboard), each equipped withan RFID reader to discover and monitor its content.Each repository could then advertise product descriptionsand cooperate in matchmaking, in a coordinate anddecentralised fashion.

4.6 Performance evaluation

A thorough experimental evaluation of all aspects ofsystem performance, requires a complete implementationof our framework into a testbedwith real semantic-enabledRFID devices. That would only be possible throughpartnership agreements with device manufacturers/integrators, that we are currently pursuing. At this stage,a prototypical semantic-enhanced RFID infrastructurehas been simulated by extending IBM WebSphere RFIDTracking Kit middleware solution for RFID applications.RFID simulations and tests are performed on that testbed,which is deployed on a laptop PC equipped with PentiumM processor (2.00GHz clock frequency), 1GB RAM at533MHz and Microsoft Windows XP operating system.

Performance analysis focused on a preliminarymeasure, that can provide insightful information aboutpractical feasibility and efficiency of the proposedapproach. Reading and decompression times of simulatedsemantic-enhanced RFID tags was evaluated, in order toprovide an initial investigation assessing the impact thatour approach may have on RFID system performance.Compressed semantic annotations of 40 different productswere used. Their average size is 266 ± 104 B (range91–440 B). Simulated RFID data access from each taggeditem was repeated 100 times, recording the sum of bothreading and decompression time. For each item the meanvalue was then considered.

Results are reported in Figure 8. Average access timeis 2.02 ± 0.36 ms, corresponding to a theoretical tag readrate of approximately 500 tags/s. Since tests were runon a software-simulated RFID platform, exact numericalvalues are not significant as their order of magnitude. Thelatter can be sensibly compared to performance of RFIDsystems compliant with EPCglobal standards for Class 1Generation-2 UHF RFID systems.

Figure 8 Simulated RFID tag reading and decompression timefor 40 resource descriptions. Regression line is plotted

It is known that RFID system performance in thefield highly depends on the particular application,environmental conditions (electromagnetic noise, RFIDreader density) and local regulations affecting the availablebandwidth. Early simulations and tests carried out byuniversities and independent laboratories estimated readrates in a range of 7–100 tags/s in typical conditions(Ramakrishnan and Deavours, 2006; Kawakita andMistugi, 2006). Our simulation results are quite abovethese with such data, thus providing a very preliminaryevidence that adoption of compressed semantic resourceannotations on RFID tags does not impair performancesin the field w.r.t. to traditional ones. The latter, in turn,will not suffer any direct performance degradation fromthe newly introduced features, as they will read the EPConly.

Finally, access time showed a moderate positivecorrelation (r = 0.60) with annotation size. This maysuggest that structure of a DIG annotation (i.e., exploitedlogic constructors and frequency of attribute names) hasalso an impact over the decompression. This aspect wasnot investigated further as it can be deemed not relevantfor any practical purpose.

4.7 Benefits of the proposed approach

The detailed analysis of our framework and itsapplication to a practical example showed how innovativeenhancements of EPCglobal RFID technologicalstandards enable advanced semantic-based thingdiscovery. Our approach can support a range of use cases,involving different stakeholders in each step of a productlife cycle.

During product manufacturing and distribution,a wide-area support network interconnecting commercialpartners is not strictly needed. This is a significantinnovation w.r.t. common RFID supply chainmanagement solutions. By means of their semanticenabled RFID tags, products are always accompanied bya structured and rich description of their characteristics,endowed with unambiguous and machine-understandablesemantics. Products then auto-expose their descriptionto whatever RFID-enabled computing environment isreached. This favours decentralised approaches in orderto offer context-aware application solutions in pervasivecomputing environments, based on less expensive andmore manageable mobile ad-hoc networks.

It has been also shown that, beyond improvedtraceability, a semantic-based approach providesunique value-added capabilities. Non-standard inferenceservices described in Section 3.1 allow a semantic-basedmatchmaking. Query flexibility and expressiveness aremuch greater than both keyword-based informationretrieval and standard service/resource discoveryprotocols, which support code-based exact matchesonly. Non-exact match types are prevalent in realscenarios, involving a large number of resources by manydifferent sources. Semantic-based techniques supportnon-exact matches, further providing means for outcome

214 M. Ruta et al.

explanation. This enables an effective query refinementprocess and can strengthen user trust in the discoveryfacility. Semantic-enhanced RFID object discovery can beleveraged also for sale and post-sale services, by assistingcustomers in using the products they purchased moreeffectively.

5 Related work

A decentralised approach is fundamental for applicationsaiming to be really ubiquitous. A support infrastructurebuilt upon powerful devices and expensive large-scalenetwork links shouldnotbe amandatoryprerequisite, eventhough it may be exploited when available. Vasudevan(2004) envisions such a flexible and context-awareubiquitous service infrastructure. The biggest obstacletowarddecentralised approaches is seen in the toohigh costof RFID tags with sufficient memory. Notwithstanding,the growing demand of RFID solutions and the constantprogress in micro devices (Moore’s law) allow to expectthat passive RFID tags with higher memory capacity willbe available at low cost in the next few years (Bridgelall,2003).

De et al. (2004) presented a pervasive architecture fortracking mobile objects in real-time for supply chain andB2B transaction management. A global and persistentIT infrastructure is necessary in order to interfaceRFID system within partner organisations through theInternet. These requirements make the approach lesssuitable for mobile B2C and C2C scenarios. An XMLformalism named Physical Markup Language (PML) isused to describe objects and processes. While allowing thecreation of expressions extending the basic language, itdoes not exploit any semantics of resource descriptions.Conceptual domain knowledge is embedded in the PMLspecification itself. It only allows string matching resourcediscovery.

A similar approach is followed by Boukraa and Ando(2002) to enhance a 3D scene visual analysis system. RFIDtags attached to objects in the environment are used toidentify items and to retrieve their geometrical models,stored in a database as XML documents. Models describegeometrically invariant configurations that help the systemin recognising location and orientation of objects in theobserved space.

Römer et al. (2004) present two frameworksfor ubiquitous computing applications using smartidentification technologies. Core design abstractions suchas object location, neighbourhood, composition, historyand context make them flexible, and they were indeedadapted to several applications. Nevertheless, as admittedby the authors, scalability issues are present. They may berelated to the virtual counterpart approach, which seemsto be unsuitable to real mobile applications. A furtherlimitation is that semantics of object properties andcapabilities is not explicit, but it is encapsulated in eitherJava classes or web services. Jini and UDDI are used asservice discovery protocols.

Several efforts have been spent on exploiting RFtechnologies to enhance Human-Computer Interaction(HCI) in wearable computer architectures. Hum (2001)early introduced an OSI-like protocol stack he calledFabric Area Network (FAN), supporting a dynamic datarouting between RFID tags deployed on garments anda single wearable base station. Different clothing layerscan be associated to different applications, such as healthmonitoring (through sensors embedded inRFID tags) andpersonal security (by letting the FAN interact with RFIDtags attached to user wallet and keys).

Schmidt et al. (2000) focus on implicit HCI in pervasivecomputing, taking user activity in the real world as input tocomputers. In their paper the authors introduce awearableRFID solution enabling operations on an informationsystem simply by picking up or using an operation-related tagged object. The proposed system has been alsointegratedwith SAPR/3 in a case study. Since no semanticinformation are associated to RFID tags themselves, avirtual counterpart is always needed. Interaction patternsare quite unnatural in some cases, because real-worldobjects are used to start even those tasks that need explicitHCI (e.g., editing a document in a word processor).

Interaction patterns between users endowed withGSM phones and everyday objects are investigated bySiegemund and Florkemeier (2003). Exploited objectsare augmented through so-called BTnodes, active RFIDtransponders equipped with on-board sensors, modestcomputing capabilities and Bluetooth connectivity. Aninfrastructure enabling a hybrid implicit-explicit HCImodel is implemented. In order to minimise theuser involvement, an ‘invisible’ pre–selection, based oncontextual conditions, is performed. Elected objects sendinteraction stubs to theGSMterminal of the user (basicallystubs are SMS templates to issue commands to objects orto ask their status). Authors claim proposed interactionpatterns are perceived as natural, but sending SMS tospecial objects requires toomuch user attention so alteringnormal relationships between people and things. The needfor a costly communication link such as GSM is an openissue.

User intention detection is a relevant question forcontext–aware ubiquitous applications. Proper techniquesmust be devised to recognise user tasks in order to assisther in timely and unobtrusive ways, without either beinginappropriate or altering her habits. Nakauchi et al. (2003)present a prototypical activity detection and supportsystem. It consists in a room where all furniture elementsare equipped with sensors connected to amachine learningsystem exploiting RFID tags. Although limited to a smallset of possible tasks, experimental tests showed learningalgorithms may improve system accuracy in recognisinghuman activities.

Kawakita et al. (2004) present a support system aimedat enhancing information exchange within a conferenceroom. RFID–enabled badges are given to the meetingattendants having a remotely stored profile. Each roomhas an RFID reader. A middleware tracks participantswhile entering or exiting meetings. Location–keyed

If objects could talk: a novel resource discovery approach for pervasive environments 215

and user–keyed databases are populated in order toverify user attendance at the events. Upon this basicinfrastructure, two support services are implemented. Aninstant messaging tool, running on the laptops of usersattending the same room, automatically invites them toa shared chat session. Furthermore a remote file systemfolder is associated to each meeting event and the accessto it is dynamically granted to users as long as they stay inthe room. The applicability of a such proposal is limitedby the preliminary explicit profiling of both users andevents of interest. Nevertheless, it is a good example ofimplicit HCI in ubiquitous computing, because it enhancesuser experience without modifying people habits or theirinteractions with the environment.

gzip (along with its library version zlib11) is a verypopular universal compression tool. It is based on a variantof theLZ77Ziv-Lempel algorithm (Ziv andLempel, 1977).It basically searches for string sequences recurring at leastone time within the file to be compressed. Furthermore itsubstitutes the secondoccurrencewith the pair: distance (inbyte) from the first exemplar of the sequence and length ofthe sequence itself. Among general purpose compressionalgorithms and tools, the PAQ family (Mahoney, 2005)currently shows the best compression rates. It is basedon two fundamental ideas which evolve upon classicHuffman (1952) encoding algorithm: context mixing andarithmetic coding. Context mixing, in particular, consistsin adaptively weighting several source models in order toassign the overall symbol probabilities during encoding.A major drawback of PAQ algorithms is their hugeprocessing and memory requirements, which currently arefar beyond what is provided by mobile computing devices.

XMill (Liefke and Suciu, 2000) is an efficientschema-aware XML compressor. Its approach is basedupon the separation of XML content into differentcontainers, which are stored sequentially in the outputfile. The first container is always used for encodingdocument structure. Another one lists XML tag andattribute names and is compressed using zlib. For eachXML tag type in the source document, onemore containeris created. Each of these data containers is compressed by aspecialisedmodule.XMill provides optimised compressionmodules for several basic data types (such as text, integersand dates), as well as an API to add custom modulesfor application-specific data types. XMill performancesare better than generic compressors for medium andlarge XML documents. For small files (up to 20 KBapproximately), however, tests showed lower compressionrates than generic algorithms such as gzip. Since eachcontainer is compressed separately, in those cases efficiencyof compression algorithms is penalised by the smallsize of containers. For our intended applications, it isimportant to achieve high compression rates even forshort documents as DIG annotations stored within taggedobjects, sensors or micro-devices. A different approachw.r.t. the one of XMill is therefore required.

Harrusi et al. (2006) adopt a syntactic approach toXMLcompression.ADTDorXMLSchema is treated as aDictionary Grammar, which is a variant of a Context Free

Grammar. A parser generator was developed, that buildsa parser for the DTD or XML Schema of the documentto be compressed. The XML document is then parsed andsymbols are encoded using Partial Prediction Matching(PPM), an adaptive encoding technique (Cleary andWitten, 1984). Authors showed that grammar-driven PPMis more efficient than other PPM-based XML encodingtechniques. Compression rates are higher than XMill,though PPM-based compressors are generally slower.A further advantage of that approach is in allowing thecompression of XML data streams. That feature can beuseful innetworkapplications.Unfortunatelywe couldnotcompare proposed algorithm with that tool, since it is notpublicly available. The XML corpus used in Harrusi et al.(2006) for benchmarking does not contain documents inDIG formalism.

6 Conclusion

In this paper we proposed a framework enhancing RFIDtechnologies purposes with the aid of formal semanticssupport. Objects tagged with RFID transponders carrya semantically annotated description so permitting toimplement an advanced ‘thing’ discovery. Some slightmodifications to the EPCglobal standards allowed themanagement of ontology-based data as well as to supportnon standard inference services, while keeping backwardcompatibility.

The system has been implemented within a message-oriented commercial middleware in order to test thefeasibility and the usability of the proposed solution.The framework includes a compression tool based on anefficient algorithm specifically aiming at size reductionof document instances expressed in various ontologicallanguages.

Future extensions of the framework will see thesubstitution of wired nodes with wireless devices, such asPDAs or smartphones, in order to make the approachfully decentralised. Proposed case study is being activelyimplemented in an experimental environment to fullyevaluate the approach, in the framework of an ApuliaRegion research initiative.

Acknowledgements

Wewish to acknowledge support ofApulia project PE_074“IC Technologies for tracking of agricultural and foodproducts equipped with RFID tags”.

References

Baader, F., Horrocks, I. and Sattler, U. (2003) ‘Description logicsas ontology languages for the semantic web’, Festschriftin honor of Jorg Siekmann, Lecture Notes in ArtificialIntelligence, Springer-Verlag.

216 M. Ruta et al.

Bechhofer, S., Möller, R. and Crowther, P. (2003) ‘The DIGdescription logic interface’, Proceedings of the 16thInternational Workshop on Description Logics (DL’03),Vol. 81 of CEURWorkshop Proceedings September, http://SunSITE.Informatik.RWTH-Aachen.de/Publications/CEUR-WS/Vol-81/bechhofer.ps.

Borgida, A. (1995) ‘Description logics in data management’,IEEE Transactions on Knowledge and Data Engineering,Vol. 7, No. 5, pp.671–682.

Boukraa,M. andAndo, S. (2002) ‘Tag-based vision: assisting 3Dscene analysis with radio-frequency tags’, Proceedings ofthe Fifth International Conference on Information Fusion,Vol. 1, pp.412–418.

Brachman, R. and Levesque, H. (1984) ‘The tractability ofsubsumption in frame-based description languages’, 4thNational Conference on Artificial Intelligence (AAAI-84),Morgan Kaufmann, pp.34–37.

Bridgelall, R. (2003) ‘Enabling mobile commerce throughpervasive communications with ubiquitous RF tags’, IEEEWirelessCommunications andNetworking, (WCNC), Vol. 3,pp.2041–2046.

Calvanese, D., De Giacomo, G. and Lenzerini, M. (1998) ‘On thedecidability of query containment under constraints’, 17thACMSIGACT-SIGMOD-SIGART Symposium onPrinciplesof Database Systems(PODS ’98), ACM Press, pp.149–158.

Cleary, J.G. and Witten, E.H. (1984) ‘Data compressionusing adaptive coding and partial string matching’,IEEE Transactions on Communications, Vol. 32, No. 4,pp.396–402.

De, P., Basu, K. and Das, S. (2004) ‘An ubiquitous architecturalframework and protocol for object tracking using RFIDtags’, The First Annual International Conference onMobile and Ubiquitous Systems: Networking and Services(MOBIQUITOUS 2004), pp.174–182.

Di Noia, T., Di Sciascio, E., Donini, F. and Mongiello, M.(2004) ‘A system for principled matchmaking in anelectronicmarketplace’, International Journal ofElectronicCommerce, Vol. 8, No. 4, pp.9–37.

Donini, F., Lenzerini, M., Nardi, D. and Schaerf, A. (1996)‘Reasoning in description logics’, in Brewka, G. (Ed.):Principles of Knowledge Representation: Studies inLogic, Language and Information, CSLI Publications,pp.191–236.

EPCglobal Inc. (2005) EPC Radio-Frequency IdentityProtocols Class-1 Generation-2 UHF RFID ProtocolforCommunications at 860 MHz–960 MHz, Technical Report,EPCglobal.

EPCglobal Ratified Specification Object Naming Service (2005)(ONS–ver. 1.0), October, 4, http://www.epcglobalinc. org.

Harrusi, S., Averbuch, A. and Yehudai, A. (2006) ‘XML syntaxconscious compression’, Data Compression Conference(DCC2006), pp.402–411.

Huffman, D.A. (1952) ‘A method for the construction ofminimum redundancy codes’, Proceedings of the IRE,Vol. 40, No. 9, pp.1098–1101.

Hum, A. (2001) ‘Fabric area network a new wirelesscommunications infrastructure to enable ubiquitousnetworking and sensing on intelligent clothing’, ComputerNetworks, Vol. 35, No. 4, pp.391–399.

Kawakita, Y. and Mistugi, J. (2006) ‘Anti-collision performanceof Gen2 air protocol in random error communicationlink’, Proceedings of the International Symposium onApplications and the Internet Workshops–SAINT 2006,pp.68–71.

Kawakita, Y., Wakayama, S., Hada, H., Nakamura, O. andMurai, J. (2004) ‘Rendezvous enhancement for conferencesupport system based on RFID’, International Symposiumon Applications and the Internet Workshops (SAINT 2004),pp.280–286.

Liefke, H. and Suciu, D. (2000) ‘Xmill: an efficient compressorfor xml data’, SIGMOD Rec., Vol. 29, No. 2, pp.153–164.

Mahoney,M.V. (2005) ‘Adaptive weighing of context models forlossless data compression’, Florida Tech., Technical ReportCS-2005-16.

McGuinness, D., Fikes, R., Hendler, J. and Stein, L. (2002)‘DAML+OIL: an ontology language for the semantic web’,IEEE Intelligent Systems, Vol. 17, No. 5, pp.72–80.

Nakauchi, Y., Noguchi, K., Somwong, P., Matsubara, T.and Namatame, A. (2003) ‘Vivid room: human intentiondetection and activity support environment for ubiquitousautonomy’, IEEE/RSJ International Conference onIntelligent Robots and Systems (IROS2003), Vol. 1,pp.773–778.

Nethercote, N. and Seward, J. (2007) ‘Valgrind: a framework forheavyweight dynamic binary instrumentation’, Proceedingsof the 2007 ACM SIGPLAN Conference on ProgrammingLanguage Design and Implementation–PLDI 07, ACMPress, New York, NY, USA, June, pp.89–100.

Ramakrishnan, K. and Deavours, D. (2006) ‘Performancebenchmarks for passive UHF RFID tags’, Proceedings ofthe 13th GI/ITG Conference on Measurement, Modeling,and Evaluation of Computer and Communication Systems.

Römer, K., Schoch, T., Mattern, F. and Dübendorfer, T. (2004)‘Smart identification frameworks for ubiquitous computingapplications’,WirelessNetworks, Vol. 10,No. 6, pp.689–700.

Ruta, M., Di Noia, T., Di Sciascio, E. and Donini, F.(2006) ‘Semantic-enhanced bluetooth discovery protocol forM-commerce applications’, International Journal of Weband Grid Services, Vol. 2, No. 4, pp.424–452.

Schmidt, A., Gellersen, H. and Merz, C. (2000) ‘Enablingimplicit human computer interaction: a wearable RFID-tagreader’, The Fourth International Symposium on WearableComputers, pp.193, 194.

Siegemund, F. and Florkemeier, C. (2003) ‘Interaction inpervasive computing settings using bluetooth-enabledActiveTags and passive RFID technology togetherwith mobile phones’, Proceedings of the First IEEEInternational Conference on Pervasive Computing andCommunications (PerCom 2003), pp.378–387.

Traub, K., Allgair, G., Barthel, H., Bustein, L., Garrett, J.,Hogan, B., Rodrigues, B., Sarma, S., Schmidt, J.,Schramek, C., Stewart, R. and Suen, K. (2005) EPCglobalArchitecture Framework, Technical Report, EPCglobal.

Vasudevan, V. (2004) ‘Ensembleware: contextual serviceprovisioning in an ubiquitous servicesworld’, InternationalSymposium on Applications and the Internet, p.10.

W3C Recommendation (2004) OWL Web Ontology Language,www.w3.org/TR/owl-features/.

If objects could talk: a novel resource discovery approach for pervasive environments 217

Watson, R., Pitt, L., Berthon, P. and Zinkhan, G. (2002)‘U-Commerce: expanding the universe of marketing’,Journal of the Academy of Marketing Science, Vol. 30,No. 4, pp.333–347.

Weinstein, R. (2005) ‘RFID: A technical overview and itsapplication to the enterprise’, IT Professional, Vol. 7, No. 3,pp.27–33.

Weiser, M. (1999) ‘The computer for the 21st century’,SIGMOBILE Mob. Comput. Commun. Rev., Vol. 3, No. 3,pp.3–11.

Yasuura, H. (2003) ‘Towards the digitally named world– challenges for new social infrastructures based oninformation technologies’, Euromicro Symposium onDigital System Design, pp.17–22.

Ziv, J. and Lempel, A. (1977) ‘A universal algorithm forsequential data compression’, IEEE Transactions onInformation Theory, Vol. 23, No. 3, pp.337–343.

Notes

1EPCglobal consortium web site: http://www.epcglobalinc.org2RDF Primer, W3C Recommendation, February 10th 2004,available at http://www.w3.org/TR/rdf-primer/.

3DAML+OIL specifications available at http://www.daml.org/2001/03/daml+oil-index.html.

4OWL Web Ontology Language, W3C Recommendation,February 10th 2004, available at http://www.w3.org/TR/owl-features/.

5OWL-S: Semantic Markup for Web Services, http://www.daml.org/services/owl-s/1.1/overview/.

6Notice that ∃R is equivalent to ≥ 1R.7We write = nR for ≥ nR� ≤ nR.8In our current prototype implementation, we adoptMAMAS-tng (Di Noia et al., 2004).

9GS1 (originally EAN.UCC) is an international organisationinterested in design and distribution of industrial standardsfor increasing the quality of good and service exchanges. Itintroduced the bar code identification of products and services.

10GZIP compression utility: http://www.gzip.org/.11ZLIB library, available at http://www.zlib.net.