9
Conceptual data modeling for realizing context-aware services Dinoh Choi a , Namgyu Kim b,, Dao Tuan Hung a a Graduate School of Business IT, Kookmin University, South Korea b School of Management Information Systems, Kookmin University, South Korea article info Keywords: Conceptual data modeling Conceptual dependency Context-aware services Database design Entity-Relationship Modeling abstract Recently, context-aware applications, which provide customized services using personalized contextual information, have gained much attention. However, core IT technologies for realizing context-aware ser- vices are not sufficient to support the actual development of context-aware applications. Especially, it is very hard to find studies on context-aware data modeling that can provide different responses even for the same information according to users’ situation. In practice, most context-aware services are manag- ing contextual information in the phase of application development in a rather ad-hoc way. Unfortu- nately, this approach has an obvious limitation of expansibility when the amount of rapidly increasing contextual information is considered. In this paper, we first define the concept of contextual dependency among data objects. Second, we provide a context-aware data modeling methodology for modeling con- textual information into the Entity-Relationship Diagram (ERD, for short) based on contextual depen- dency. Finally, we design a simple scenario for context-aware services, construct an ERD from the scenario based on the discovered design rules, and implement a prototype of the service. Ó 2011 Elsevier Ltd. All rights reserved. 1. Introduction Recently, various services using location-aware technology have appeared owing to the development of sensor networks. At the same time, with the rapid minimization of smart phone related components such as chips, tags, display components, and batteries, ubiquitous environments (Weiser, 1993) that enable users to use computers anytime, anywhere without recognizing the existence of a physical computer is gaining much attention. Additionally, be- cause more users are getting used to the most advanced mobile de- vices such as mobile phones, PDAs, and GPS navigations, there is an increased need for integrating various functions of diverse mobile devices into a smart phone (Jang & Woo, 2003). Smart phones not only allow users to install selective applications according to their choices, but also support context-aware services by acquiring con- textual information such as users’ situation and their preference. Context-aware services refer to the services that utilize person- alized contextual information, and they regarded as the hottest is- sues in ubiquitous system-based applications. Context-aware services can be implemented through an interwork of various tech- nologies such as sensor networks, mobile database systems, and current technologies related to gathering and organizing informa- tion. Based on these technologies, the context-aware service is cur- rently being extended to application areas such as finding optimal routes, personalized online shopping, smart museums, etc. Fig. 1 shows WHYRE Ò system (Cinotti et al., 2004) as an example of a smart museum adopting context-aware technology. Fig. 1(a) shows the WHYRE Ò device’s initial screen that appears when a user enters the museum, while Fig. 1(b) shows a new screen that appears when a user is located in front of specific piece so-called ‘Darsena’. Besides the smart museum service, there are many different types of context-aware applications. Context-aware recommendation systems (Davis et al., 2006) can recommend dif- ferent products depending on the user’s tendency and contextual information. Context-aware routing systems (Kim, Lee, Oh, & Choi, 2009) can find the optimal route according to the user’s location, destination, current time, and subway schedules. Moreover, medi- cal context-aware systems (Kidd et al., 1999) can examine the user’s health and prescribe appropriate medicine according to the user’s status. Currently, many attempts have been made to com- bine smart phones and augmented reality technology (Jang & Woo, 2003) to provide context-aware services. In spite of the importance of the development of context-aware services, unfortunately, only a few efforts have been made towards core IT technologies, except for some areas such as sensor net- works. Especially, it is very hard to find studies on database design for contextual information although achieving a contextual data modeling technique is essential to store and manage various kinds of information for context-aware applications. For instance, we can realize the needs and importance of context-aware data modeling by observing a simple on-line shop example (Roussos, Stavrakas, & 0957-4174/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2011.08.164 Corresponding author. Address: School of Management Information Systems, Kookmin University, 861-1 Jeongneung-Dong, Seongbuk-Gu, Seoul 136-702, South Korea. Tel.: +82 2 910 5425. E-mail address: [email protected] (N. Kim). Expert Systems with Applications 39 (2012) 3022–3030 Contents lists available at SciVerse ScienceDirect Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa

Conceptual data modeling for realizing context-aware services

Embed Size (px)

Citation preview

Page 1: Conceptual data modeling for realizing context-aware services

Expert Systems with Applications 39 (2012) 3022–3030

Contents lists available at SciVerse ScienceDirect

Expert Systems with Applications

journal homepage: www.elsevier .com/locate /eswa

Conceptual data modeling for realizing context-aware services

Dinoh Choi a, Namgyu Kim b,⇑, Dao Tuan Hung a

a Graduate School of Business IT, Kookmin University, South Koreab School of Management Information Systems, Kookmin University, South Korea

a r t i c l e i n f o a b s t r a c t

Keywords:Conceptual data modelingConceptual dependencyContext-aware servicesDatabase designEntity-Relationship Modeling

0957-4174/$ - see front matter � 2011 Elsevier Ltd. Adoi:10.1016/j.eswa.2011.08.164

⇑ Corresponding author. Address: School of ManagKookmin University, 861-1 Jeongneung-Dong, SeongbKorea. Tel.: +82 2 910 5425.

E-mail address: [email protected] (N. Kim).

Recently, context-aware applications, which provide customized services using personalized contextualinformation, have gained much attention. However, core IT technologies for realizing context-aware ser-vices are not sufficient to support the actual development of context-aware applications. Especially, it isvery hard to find studies on context-aware data modeling that can provide different responses even forthe same information according to users’ situation. In practice, most context-aware services are manag-ing contextual information in the phase of application development in a rather ad-hoc way. Unfortu-nately, this approach has an obvious limitation of expansibility when the amount of rapidly increasingcontextual information is considered. In this paper, we first define the concept of contextual dependencyamong data objects. Second, we provide a context-aware data modeling methodology for modeling con-textual information into the Entity-Relationship Diagram (ERD, for short) based on contextual depen-dency. Finally, we design a simple scenario for context-aware services, construct an ERD from thescenario based on the discovered design rules, and implement a prototype of the service.

� 2011 Elsevier Ltd. All rights reserved.

1. Introduction

Recently, various services using location-aware technologyhave appeared owing to the development of sensor networks. Atthe same time, with the rapid minimization of smart phone relatedcomponents such as chips, tags, display components, and batteries,ubiquitous environments (Weiser, 1993) that enable users to usecomputers anytime, anywhere without recognizing the existenceof a physical computer is gaining much attention. Additionally, be-cause more users are getting used to the most advanced mobile de-vices such as mobile phones, PDAs, and GPS navigations, there is anincreased need for integrating various functions of diverse mobiledevices into a smart phone (Jang & Woo, 2003). Smart phones notonly allow users to install selective applications according to theirchoices, but also support context-aware services by acquiring con-textual information such as users’ situation and their preference.

Context-aware services refer to the services that utilize person-alized contextual information, and they regarded as the hottest is-sues in ubiquitous system-based applications. Context-awareservices can be implemented through an interwork of various tech-nologies such as sensor networks, mobile database systems, andcurrent technologies related to gathering and organizing informa-tion. Based on these technologies, the context-aware service is cur-

ll rights reserved.

ement Information Systems,uk-Gu, Seoul 136-702, South

rently being extended to application areas such as finding optimalroutes, personalized online shopping, smart museums, etc. Fig. 1shows WHYRE� system (Cinotti et al., 2004) as an example of asmart museum adopting context-aware technology.

Fig. 1(a) shows the WHYRE� device’s initial screen that appearswhen a user enters the museum, while Fig. 1(b) shows a newscreen that appears when a user is located in front of specific pieceso-called ‘Darsena’. Besides the smart museum service, there aremany different types of context-aware applications. Context-awarerecommendation systems (Davis et al., 2006) can recommend dif-ferent products depending on the user’s tendency and contextualinformation. Context-aware routing systems (Kim, Lee, Oh, & Choi,2009) can find the optimal route according to the user’s location,destination, current time, and subway schedules. Moreover, medi-cal context-aware systems (Kidd et al., 1999) can examine theuser’s health and prescribe appropriate medicine according to theuser’s status. Currently, many attempts have been made to com-bine smart phones and augmented reality technology (Jang &Woo, 2003) to provide context-aware services.

In spite of the importance of the development of context-awareservices, unfortunately, only a few efforts have been made towardscore IT technologies, except for some areas such as sensor net-works. Especially, it is very hard to find studies on database designfor contextual information although achieving a contextual datamodeling technique is essential to store and manage various kindsof information for context-aware applications. For instance, we canrealize the needs and importance of context-aware data modelingby observing a simple on-line shop example (Roussos, Stavrakas, &

Page 2: Conceptual data modeling for realizing context-aware services

Fig. 1. Example of a smart museum – WHYRE�.

D. Choi et al. / Expert Systems with Applications 39 (2012) 3022–3030 3023

Vassia, 2005). An on-line shop is selling digital cameras, and theshop provides camera information such as brand, model name,product images, price, etc. Some information like the model nameis provided equally to all concerned users, while other informationlike product image is provided differently depending on the user’scontext. For example, if a user connects to the system by PC, thesystem provides high-resolution image files. However, for a userconnected by PDA, the system should provide low-resolution im-age files. Finally, if a user connects by cell phone, then no image fileis provided. In this case, we can notice that the system providesdifferent answers to users even for the same product. This exampleexplains the reason why creating a new data model is necessary forstoring contextual information.

There have been two main approaches (Roussos et al., 2005) fordealing with contextual information. The first approach attemptsto manage contextual information at the application logic levelrather than data storage level. However, this approach can causeside effects due to the well-known problem, program-data depen-dency. It means that the way to handle data should be changedpromptly whenever the application logic is changed. Of course, fre-quent change may raise maintenance cost. The second approach lo-cates a mediator between the application and data for processingand managing contextual information. However, this methodforces the system to manage a vast amount of context metadatato link the application to data. The problem will certainly worsendue to the rapidly increasing contextual information.

Therefore, managing contextual information at the level ofdatabase systems can be regarded as the best solution for con-text-aware services. By handling the contextual information atthe level of database systems, we can directly apply various func-tions of database management systems (DBMS, for short) such aschecking consistency and integrity, concurrency control, and secu-rity management to manage contextual information. Currently, forthese reasons, a few attempts have been made to model contextualinformation from the viewpoint of database management. Amongthem, the most famous and intuitive approach is a data cube-basedone (Roussos et al., 2005). This approach first makes all possiblecombinations of context variables, and it then makes as manyduplicate tables as the number of combinations. In other words,this approach uses a 3-dimensional data cube by adding a newdimension of combinations of context variables to the traditional2-dimensional relational tables. Although this approach is veryintuitive and easily implemented, its effectiveness is definitelyquestionable due to the storage waste, especially when the numberof context variables is large.

With the development and maturity of context-aware services,it is clear that each application needs more complex and abundantcontextual information. It implies the need for an alternative newdata modeling methodology for context-aware applications. More-over, the practicability of the methodology may be maximized

when it is compatible with the relation database that is the mostwidely used commercial database system. In this sense, we pro-pose a methodology for contextual information modeling usingthe Entity-Relationship Model (ERM, for short) because of ERM’scompatibility with the relational database. The remainder of thispaper is organized as follows. The next section introduces relatedworks on context-aware services, data modeling, and data model-ing for context-aware services. A methodology for modeling con-textual information into an Entity-Relationship Diagram (ERD, forshort) is presented in detail in Section 3. Section 4 introduces asimple scenario of a context-aware service, constructs an ERD fromthe scenario based on the discovered design rules, and implementsa prototype of the service. Finally, Section 5 concludes this paper.

2. Related works

Context-aware services refer to all kinds of services that utilizeuser’s contextual information. In the literature, contextual infor-mation has been defined and used differently depending on the re-searcher’s viewpoint. Diversities in definition and coverage ofcontextual information may be some of the reasons that make itdifficult to investigate solutions for efficiently storing contextualinformation. There have been a few studies aimed to design con-textual information in a systematic manner.

One of the representatives of previous studies on contextualinformation modeling is Context Relation Model (Roussos et al.,2005), which stores the data in the form of a 3-dimensional OLAPcube by extending the dimensions of the existing 2-dimensionalrelational tables. The principles of this method can be explainedwith a simple example, as is shown in Fig. 2.

Fig. 2 shows an example of a data cube that stores the informa-tion of digital cameras in an on-line shop. It manages five attri-butes of digital cameras such as Brand, Model, MPix, Photo, andPrice. Among them, Photo and Price are assumed to be used as con-textual information. It implies that every user can see the same va-lue of Brand, Model, and MPix for the same product, while they cansee different values of Photo and Price even for the same productdepending on their access devices and payment methods. In detail,the example assumed that there are three access devices includingPC, PDA, and Cellular Phone; and two payment methods, Cash andCard. In this case, the number of possible combinations of Photoand Price is six because Photo and Price have three and two values,respectively. In this example, each possible combination is nameda World, and those six Worlds are forming one axis in Fig. 2. For in-stance, there may be some combinations like w1 = (PC,Cash),w2 = (PC,Card).

The contribution of the context relational model can be found inits intuitive structure that simply extends the traditional relationaltable to a 3-dimensional data cube for storing contextual informa-

Page 3: Conceptual data modeling for realizing context-aware services

Fig. 2. Context-aware data modeling using data cube.

3024 D. Choi et al. / Expert Systems with Applications 39 (2012) 3022–3030

tion. However, it should be noted that many attributes for non con-textual information such as Brand, Model, and MPix store their val-ues redundantly although they have the same values for everyworld. The unnecessary redundancy induces the waste of storage,and it can be regarded as the most critical limitation. Additionally,the number of Worlds tends to rapidly increase when the numberof context variables and the number of possible values of each var-iable increase. It implies that this approach cannot model compli-cated scenarios due to the increasing cost of storage managementand degradation of response time.

Another representative research for contextual informationmodeling is the one based on the Object-role Model (ORM, for short)(Henricksen, Indulska, & Rakotonirainy, 2003). In this research, theauthors classified contextual information into Static Fact Type andDynamic Fact Type according to the changeability of values. Also, Dy-namic Fact Type can be further classified into Profiled, Sensed, and De-rived Fact Type according to its source. The authors provided somerules to model each fact type into ORM components. For instance,one of the modeling rules for Derived Fact Type is represented inFig. 3. In Fig. 3(a), each ellipse represents an entity type, and eachrectangle between entities represents a fact type. Fig. 3(a) illustratesa situation in which the fact type located near between Person andDevice is derived from a fact type located at between Person and Loca-tion and a fact type located at between Device and Location. The cor-responding SQL sentences for creating a view from the fact typelocated near appears in Fig. 3(b).

The main contributions of this research can be found in that itclassified contextual information into some fact types andsuggested modeling rules to convert each fact type into ORM

(a) ORM representation for derived fact type

Fig. 3. ORM-based contextua

components. Additionally, it provided basic guidelines to managethe temporal information and dependencies between contextualinformation. However, some limitations of this research can bepointed out. First, there is a disadvantage of readability as theyadded too many new elements to the existing ORM to present thecontextual information. Additionally, they provided a trigger-basedsolution instead of the clear mapping rule for some of their new con-cepts. Therefore, the concreteness of this method would matter inthe implementation phase. In addition, there is another approachfor contextual information modeling using ontology (Gu, Wang,Pung, & Zhang, 2004) with increasing interest in the semantic web.However, this approach will need plenty of time and efforts to bepragmatically implemented because the concepts of ontology andthe relationship between ontology and traditional database systemsare still being developed.

3. Contextual information modeling using Entity-RelationshipModel

3.1. Classifying contextual information

To correctly design contextual information, there should be aclear definition and classification for contextual information. How-ever, contextual information is defined differently according toeach researcher’s view. Moreover, some kinds of information areclassified as contextual information in some studies and non-con-textual information in other studies (Dey, 2001; Stefanidis, Pitoura,& Vassilia dis, 2007). Despite the discrepancy between researchers’views, most studies have usually classified contextual informationinto two types, static or dynamic, depending on their changeabil-ity. The static contextual information usually refers to the user’sown properties such as name, date of birth, or blood type. The dy-namic contextual information usually changes its value accordingto the change of context. User’s current location and time areexamples of dynamic information.

In the most widely referred research (Henricksen & Indulska,2004) for contextual information classification, information is di-vided into two groups as mentioned in the previous section; staticand dynamic. Once again, dynamic information is divided into pro-filed, sensed, and derived ones. Profiled information is the user’sinputted information such as age or hobby. Examples of sensedinformation are time, location, and temperature, and they can besensed by hardware or software sensors. Finally, derived informa-tion is derived from and dependent on other contextual informa-tion. An example of derived information is the weather status atthe user’s current location.

If each contextual information that is classified in a specific cate-gory can be always represented as an entity or attribute in ERM, thengenerating an ERD from the set of classified contextual informationwill be very easy and straightforward. However, unfortunately, wediscovered that mapping between the above classification of con-textual information and ERM components is ambiguous. This ambi-

CREATE VIEW LocatedNear AS

SELECT Person.Name, DeviceID

FROM PersoLocatedAt, DeviceLocatedAt

WHERE PersonLocatedAt.LocationName

= DeviceLocatedAt.LocationName

(b) SQL code for view creation

l information modeling.

Page 4: Conceptual data modeling for realizing context-aware services

D. Choi et al. / Expert Systems with Applications 39 (2012) 3022–3030 3025

guity can be explained through the following counter examples. Forinstance, ‘affiliation’ information that belongs to profiled informa-tion can be represented as an attribute of ‘user’ entity, but it alsocan be represented as an ‘affiliation’ entity that has a relationshipwith the ‘user’ entity as well. Similarly, ‘location’ information thatbelongs to sensed information can be represented as an attributeof ‘user’ entity, but it also can be represented as a ‘location’ entitythat has a relationship with the ‘user’ entity as well. It implies thatclassified contextual information cannot be straightforwardly con-verted into ERM components.

Alternatively, there is a method to classify contextual informa-tion based on previous studies for ERM. In practice, the conceptualmodeling is often regarded to be an art rather than in a science be-cause of the ambiguous design criteria. Nevertheless, there havebeen plenty of studies (Teorey & Yang, 1991) suggesting systematicguidelines for ERM. The following modeling guidelines have beenrecommended by those studies. First, every object that has addi-tional information to explain itself should be represented as an en-tity. Second, an object that can have multiple values is representedas an entity. Recently, an attempt (Kim, Lee, & Moon, 2007) to auto-matically discover entity and attribute from business requirementshas been made. The remainder of this section is devoted to theexplanation of applying basic principles of the ERM methodologyto contextual information modeling with a simple context-awarescenario.

3.2. Context-aware Entity-Relationship Modeling methodology

We revisit the digital camera scenario shown in Fig. 2 to aid inunderstanding the context-aware ERM process. Fig. 4 shows a sim-ple ERM of a situation in which the system provides various reso-lutions of photos depending on the access devices and differentprices depending on payment types. In this paper, the term ‘object’will be used to designate the concept of either ‘entity’ or ‘attribute’.

In Fig. 4, contextual information Device and Payment type aregrayed out to be easily distinguished from non-contextual infor-mation. Also, three objects File Name, File Size, and Price whose val-ues vary depending on the user’s contextual information arebounded by a dotted line. Now, we define the terminology contex-tual dependency as follows to express the object whose values aredependent on contextual information.

User

ID Name

searc

FileName

orde

PaymentType

use

Device

DeviceID

Wired/Wireless

BatteryLife

M

N

1

M

Fig. 4. An ERD example includi

Definition 1 (Contextual dependency). If a value of a particularobject B varies depending on object A that represents the contex-tual information, then we define that B is contextually dependenton A. The contextual dependency of B on A can be expressed asfollows:

A!c:d BBy the definition above, the contextual dependencies discov-

ered in Fig. 4 can be represented as below:

Device!c:d FileName; FileSize; PaymentType!c:d Price

With the definition of contextual dependency, the context-aware ERM process can be summarized by the following foursteps:

Step 1 (Expression of non-contextual information): Non-con-textual information can be represented using the traditionalERM design methodology. So, we do not explain this processin detail here. According to this methodology, File Name, FileSize, and Price information are temporary classified attributesof Digital Camera entity.Step 2 (Entitization of contextual information): If contextualinformation has additional information to explain itself or if itcan have multiple values, the contextual information shouldbe entitized. In Fig. 4, Device is represented as an entity becauseDevice has additional information such as Device ID, Wired/Wire-less, and Battery life.Step 3 (Making attribute for contextual information): Thecontextual information that was not represented as an entityin Step 2 will be represented as an attribute. This step can besubdivided depending on the generators of contextualinformation.Step 3-1 (Inherent attribute of entity): Contextual informationthat can be generated by a specific entity should be representedas an attribute of the entity. This situation will appear in thecase study in Section 4 although we cannot find this situationin Fig. 4.Step 3-2 (Making attribute of relationship between entities): Ifthe contextual information is generated only after a relation-ship between entities is established, then the informationshould be represented as an attribute of that relationship. Pay-ment type of Order relationship in Fig. 4 belongs to this case.

h

FileSize

DigitalCamera

Model

Brand

M-Pix

r

Price

N

N

FileName

FileSize

Price

ng contextual information.

Page 5: Conceptual data modeling for realizing context-aware services

3026 D. Choi et al. / Expert Systems with Applications 39 (2012) 3022–3030

Step 4 (Attribute migration due to contextual dependency):The initial ERD should be refined in consideration of the contex-tual dependency. When we assume that there is a contextualdependency A !c:d B, and object B is an attribute of entity E, themigration process of attribute B is subdivided as below, depend-ing on the type of object A.Step 4-1 (Migrating contextually dependent attribute on con-textual entity): If object A represents an entity, then attribute Bis moved to be an attribute of relationship between entity A andentity E. In Fig. 4, File Name and File Size are moved to be attri-butes of the relationship search by this rule.Step 4-2 (Migrating contextually dependent attribute on con-textual attribute of entity): If object A represents an attributeof entity EA, then attribute B is moved to be an attribute ofthe relationship between entity EA and entity E.Step 4-3 (Migrating contextually dependent attribute on con-textual attribute of relationship): If object A represents an attri-bute of relationship RA, then attribute B is moved to be anattribute of relationship RA. In Fig. 4, Price is moved to be anattribute of order according to this rule.

Deriving the Relational table schema from ERD can be straight-forwardly performed using the traditional methodology (Elmasri &Navathe, 2007). Fig. 5 shows the relational schema for ERD in Fig. 4with some imaginary instances. In Order table in Fig. 5, we can no-tice that two different values for the same Model are available foreach Payment type. Similarly, File Name and File Size can have differ-ent values for the same Model for each Device ID in Search table.

4. Prototype – context-aware leisure recommendation service

In this section, we apply the proposed contextual ERM designmethodology to a more complex scenario, and we then formulatethe corresponding relational schema from the contextual ERM.Furthermore, to illustrate the interaction between contextualquery and the formulated relational database, we provide a proto-type for a simple context-aware leisure recommendation service.

4.1. Context-aware leisure recommendation service

We assume that only two types of leisure activities are avail-able, movies and sport games. The user can search for the appropri-ate leisure activities using a mobile device. After obtaining theuser’s contextual information, the system searches and shows theuser a list of all activities that he/she is able to participate in by

Searc

De

PC_

CP_A

PC_

PDA

OrderU-ID Model Payment type Price

1 M01 Cash 100 $1 M01 Card 120 $2 M02 Cash 80 $2 M02 Card 110 $

Digital CameraModel Brand M-PixM01 Sony 2,000,000M02 Samsung 3,000,000

UserU-ID Name

1 Tom2 Risa

Devic

Dev

PC_

PC_

CP_A

PDA

Fig. 5. Relational tables deri

rejecting other activities that are impossible to attend. The mainreasons (and useful information) for rejection are as follows: (1)The activity has already started (Current time, Activity start time).(2) User cannot reach the location before the activity starts by anytransportation (Current time, Activity start time, Current location,Activity location). (3) Activity could be canceled because of theweather (Activity start time, Activity location, Weather). The sys-tem shows the recommended activity list according to the abovedecision. If a user selects a specific activity in the list, then thescreen shows the detailed information including activity location,starting time, transportation, arrival time, weather, etc. Also, theuser can review the list of rejected activities, and the user can beprovided the reasons in detail as to why those activities wereexcluded.

4.2. Constructing ERM and relational schema for a context-awareleisure recommendation service

Fig. 6 shows the resultant ERD from the scenario mentioned inthe previous subsection. Each component in Fig. 6 can be explainedas follows: There are two types of activities – Movie and Sports –each of which takes place in the Cinema and Stadium, respectively.We assume that all Cinemas are indoor ones, and Stadiums can beeither indoor or outdoor ones. Location has code, location name,and location’s type as attributes of Cinema and Stadium. Location’sweather is represented by the Weather entity. Time taken betweenLocations is recorded in the Distant from relationship, and the re-quired time depends on transportation such as by car, subway,bus, or on foot. The contextual information is grayed out to be easilydistinguished from non-contextual information. For instance,Search time that is represented as an attribute of Current relation-ship indicates the starting time of the user’s search (i.e., currenttime).

Fig. 7 shows the relational tables derived from ERD in Fig. 6 withsome imaginary instances. Each attribute and instance will be usedfor demonstrating the operations of the prototype in the next sub-section. In table Weather, it should be remembered that the defaultweather is assumed to be ‘Sunny’ if there are no rows appropriatefor a certain situation.

4.3. Prototype

In this chapter, we demonstrate the service process using a pro-totype developed by Visual FoxPro software. At this stage, the mainfocus of the prototype was brought on user interfaces and query

h

vice ID Model File Name File Size

IBM01 M01 M01_High 1,000 KB

PPLE1 M01 N/A 0 KB

IBM02 M02 M02_High 1,500 KB

_LX2 M02 M02_Low 120 KB

e

ice ID Wired/Wireless Life U-ID

IBM01 Wired 1,000 Hour 1

IBM02 Wired 1,000 Hour 2

PPLE1 Wireless 3 Hour 1

_LX2 Wireless 10 Hour 2

ved from ERD in Fig. 4.

Page 6: Conceptual data modeling for realizing context-aware services

P-ID Name Age Gender A-ID A_nameStarttime

L-code L_name typeSearchTime

From Time

To Time

typeAmountW_code

Req_Time Transportation

Activity

Weather

determineS_located

C_Located

Distantfrom

C_play

S_play

Person

Current

Location

C-ID

C-Name

Address

Genre

Runtime

event

S-ID

Address

S-Name

Awayteam

Indoor OrOutdoor

Cinema

Sports

Movie

Stadium

Hometeam

Outdoor MatchPossibility

Film Name

1 N

1

N

N

1

N1

M

NM

N

M

N

Fig. 6. ERD for context-aware leisure recommendation service.

PersonP-ID Name Gender Age

1 Tom M 28

2 Risa F 26

Activity

A-ID A-Name Start-timeM01 Movie – Titanic 15:30M02 Movie – Titanic 19:30M03 Movie – Whitechicks 15:30M04 Movie – Whitechicks 18:30B01 Baseball (Diamondbacks vs. Redsox) 19:30S01 Soccer (FC Florida vs. Steelers) 20:00

LocationL-Code L-Name Type

L01 Kentucky Business quarters

L02 Texas City, Art Street

L03 New York Downtown

L04 Florida Downtown

L05 Arizona Cultured city

WeatherW-Code Type Amount Outdoor Match Possibility

W01 Sunny 0 PossibleW02 Cloudy 0 PossibleW03 Rainy 20 PossibleW04 Rainy 70 Impossible

CinemaC-ID C-Name Address L-CodeC01 Kentucky Cinema 305 Hustville U.S.A L01C02 TX Cinema 405 Strasfield U.S.A L02C03 NT Cinema 301 Burwood Newyork U.S.A L03

CurrentP-ID L-Code Search-time

1 L01 18:002 L02 17:00

DetermineL-Code W-Code From-time To-time

L05 W04 19:00 21:00

L03 W04 19:00 21:00

L01 W01 14:00 20:00

MovieA-ID Film Name Genre Run time C-IDM01 Titanic Romance 200min C03M02 Titanic Romance 200min C03M03 Whitechicks Comedy 110min C02M04 Whitechicks Comedy 110min C02

SportsA-ID Event Home team Away team S-IDB01 Baseball Diamondbacks Redsox S02S01 Soccer FC Florida Steelers S01

Stadium

S-ID S-Name AddressIndoor or Outdoor

L-Code

S01 Olympic Stadium 501 Campsie U.S.A Outdoor L04S02 Ash. Stadium 111 Ashifield U.S.A Outdoor L05

Distant fromFrom code To code Transportation Req-time

L01 L05 Subway 60minL01 L05 Bus 120minL01 L05 Car 120minL01 L04 Subway 90minL01 L04 Bus 120minL01 L04 Car 120minL01 L02 Subway 60minL01 L02 Bus 90minL01 L02 Car 60minL01 L03 Subway 80minL01 L03 Bus 120minL01 L03 Car 60min

Fig. 7. Relational tables derived from ERD in Fig. 6.

D. Choi et al. / Expert Systems with Applications 39 (2012) 3022–3030 3027

parameters. Person table in Fig. 7 consists of two user’s informa-tion. We assume that this demonstration will be performed onlyby Tom, Tom is in Kentucky now, and the current time is 18:00.Thus, according to the Activity table, the system can notice that

M01 and M03 are already started. So, these activities will be simplyexcluded from all searches. The start-up screen for the search ser-vice is shown in Fig. 8. The system automatically shows the loca-tion, current time and weather information on the start-up

Page 7: Conceptual data modeling for realizing context-aware services

Fig. 8. Service start-up screen.

Fig. 9. List of recommendations.

Fig. 10. Recommendation details.

Fig. 11. List of rejections.

3028 D. Choi et al. / Expert Systems with Applications 39 (2012) 3022–3030

screen. The user can check the type of leisure and transportationthat the user wants to search in the start-up screen. By clickingthe search button, the user can see a list of recommended results(Fig. 9).

In the recommendation lists in Fig. 9, the first and second onesindicate the same activity, Activity M02, while the third one is for

Activity S01. Activity M02 takes place in Location L03. From theuser’s current location L01 to L03, it takes 80min by Subway,120min by Bus, or 60min by Car. Therefore, if Tom uses Subwayor Car, then he will arrive at the destination before 19:30, whichis the activity starting time. Therefore, the system presents tworecommendations for Activity M02. Similarly, Activity S01 is per-

Page 8: Conceptual data modeling for realizing context-aware services

Fig. 12. Rejection details – 1.

Fig. 13. Rejection details – 2.

D. Choi et al. / Expert Systems with Applications 39 (2012) 3022–3030 3029

formed in L04, if Tom uses Subway from L01 to L04, then it will take90min. Thus, it is possible to arrive at the destination before thestarting time at 20:00. This is represented in the third place inthe recommendation list. Fig. 10 shows a detailed informationscreen when Tom chooses the first recommended activity in

Fig. 9. It provides transportation, expected arrival time, and otherbasic information for the activity.

Fig. 11 shows that Activity M04 and Activity B01 are excludedfrom the recommendations. The user can revise the rejected reasonof each activity on the screens shown in Figs. 12 and 13. ActivityM04 is performed in Location L02. It takes at least 1h from LocationL01 to L02. Therefore, the earliest expected arrival time is 19:00,while the activity starts at 18:30. Therefore, the activity has beenexcluded from the recommendations (Fig. 12). On the contrary,Activity B01 starts at 19:30 in Location L05. We anticipate that itwill be raining in L05 from 19:00 to 21:00 from the tables Deter-mine and Weather in Fig. 7. It implies that the game will be impos-sible to be held. That is why the activity has been excluded fromthe recommendations (Fig. 13).

At this stage, this prototype considers only three types of con-textual information such as location, time, and weather. However,more and more types of contextual information will be used in thereal-world applications. We expect that the complexities of con-textual information can be managed efficiently with the context-aware database system designed by the proposed methodology.

5. Conclusion

In this paper, we defined the contextual dependency amongcontextual information and proposed the context-aware ERM de-sign methodology based on the contextual dependency. Also, weconstructed a relational schema from the derived ERD, and weintroduced the prototype of context-aware leisure recommenda-tion systems. Contrary to previous approaches, the proposed meth-odology manages contextual information at the database levelrather than the application logic or middleware level. When con-sidering the current trend that contextual information becomesmore complex and are getting more diversified, we expect thatthe proposed methodology can manage extensive contextual infor-mation more effectively than the traditional solutions.

We recommend that further studies should include the follow-ing factors. First, practicability is one of the most important criteriafor this kind of studies. In this sense, it is necessary to perform anintensive case study of a more complex and realistic scenario. Sec-ond, the completeness and consistency of every rule used for themethodology need to be analyzed. Lastly, it is worthwhile to com-bine sets of research findings of ontology-based modeling to ourmethodology. In other words, investigating the data modeling forcontextual information in semantic web environments is required.

Acknowledgements

This work was supported by research program 2011 of KookminUniversity in Korea.

References

Cinotti, T., Raffa, G., Roffia, L., Garzotto, F., Muzii, R., Varlese, V., et al. (2004).Evaluating context-aware mobile applications. In Museums: Experiences from theMUSE project. Museums and the web, Arlington Virginia, USA.

Davis, Z., Hu, M., Prasad, S., Schuricht, M., Melliar-Smith, P. M., & Moser, L. E. (2006).A personal handheld multi-modal shopping assistant. In International conferenceon networking and service, California, USA.

Dey, A. K. (2001). Understanding and using context. Personal and UbiquitousComputing, 5(1), 4–7.

Elmasri, R., & Navathe, S. B. (2007). Fundamentals of database systems (5th ed.).Addison-Wesley Professional.

Gu, T., Wang, X. H., Pung, H. K., & Zhang, D. Q. (2004). An ontology-based contextmodel in intelligent environment. In Communication networks and distributedsystems modeling and simulation conference, California, USA.

Henricksen, K., Indulska, J., & Rakotonirainy, A. (2003). Generating contextmanagement infrastructure from high-level context models. In Fourthinternational conference on mobile data management, Melbourne, Australia (pp.1–6).

Page 9: Conceptual data modeling for realizing context-aware services

3030 D. Choi et al. / Expert Systems with Applications 39 (2012) 3022–3030

Henricksen, K., & Indulska, J. (2004). Modelling and using imperfect contextualinformation. In Second IEEE annual conference on pervasive computing andcommunications workshops (pp. 33–37).

Jang, S., & Woo, W. (2003). Survey on pervasive sensing and context-aware forubiquitous computing applications. Korean Institute of Information Scientists andEngineers, 21(5), 18–28.

Kidd, C. D., Orr, R., Abowd, G. D., Atkeson, C. G., Essa, I. A., MacIntyre, B., et al. (1999).The aware home: A living laboratory for ubiquitous computing research. InSecond international workshop on cooperative buildings, Pennsylvania, USA (pp.191–198).

Kim, N., Lee, D., & Moon, S. (2007). Behavior-inductive data modeling for enterpriseinformation systems. Journal of Computer Information Systems, 48(1), 105–116.

Kim, N., Lee, H. S., Oh, K. J., & Choi, J. Y. (2009). Context-aware mobile service forrouting the fastest subway path. Expert Systems with Applications, 36,3319–3326.

Roussos, Y., Stavrakas, Y., & Vassia, P. (2005). Towards a context-aware relationalmodel. In Workshop on context representation and reasoning.

Stefanidis, K., Pitoura, E., & Vassilia dis, P. (2007). A context-aware preferencedatabase system. International Journal of Pervasive Computing andCommunications, 3(4), 439–460.

Teorey, T. J., & Yang, D. (1991). Usage refinement for ER-to-relation designtransformations. Information Sciences, 55(1–3), 49–67.

Weiser, M. (1993). Some computer science issues in ubiquitous computing.Communications of the ACM, 36(7), 74–83.