Jun Maeda, Masaaki Takase, and Mitsuaki Kakemizu 58 A Service Control Method Using Semantic Constraint on Context Interpretation Jun Maeda, Masaaki Takase, and Mitsuaki Kakemizu interpretation" in this paper. The context interpretation is Abstract— When constructing a personalized context-aware performed by deriving related information about the service service system, much work is required to develop the service control necessary to achieve the objective from the context. So control programs that provide services in various personalized far, context interpretation processing is usually realized by the contexts. Then, a common control system that interprets the context and dynamically generates various service execution following method 1. methods is necessary. A platform that generates service execution methods by combining context interpretation information is Method 1 (individual application processing) proposed. The semantic constraint is introduced as a part of the service definition. It generates appropriate service execution In this method, each application program performs context methods by specifying how to use the context and it also improves interpretation. The typical processing sequence is as follows: processing performance. (1) the application registers trigger information in the platform; (2) the platform calls the application when the context matches Index Terms— context-aware, context interpretation, service the trigger information; (3) the application generates the service control, service definition execution method by interpreting the context; and (4) service control action is performed according to the service execution I. INTRODUCTION method. Existing platforms such as the CASC (Context-aware service control) system [3]-[4] are designed with such a I n the age of ubiquitous and personal services, context-aware services [1]-[2] that provide suitable services for individual processing style, however this method requires a variety of context interpretation programs in the application program user's situations (context) are expected. Context-aware service because of various personalized contexts. As a result, the control platforms [3]-[6] have been developed as basic facilities problem of the expanding application program development for such as acquisition, sharing and use of the context. To emerges. Fig. 1 shows an example of the application program provide a context-aware service, a service execution method interpreting context using method 1. While it is the case that the that achieves the user's objective under the precondition of context interpretation is performed in the platform, if context is necessary. The service execution methods are information on the service execution method for an individual described in the application programs on the platform, however service is provided by the application, this is classified as because the service execution methods differ according to the method 1. context even if the user's objective of the service is the same, it if Context1 derives information A by relation R4 is necessary to consider various contexts in the application { programs, and much work is required for the program if Information A derives service objective D by relation R2 development. It therefore becomes necessary for the service A service execution method is found. execution methods to be generated dynamically. This research if Information A derives service objective E by relation R3 A service execution method is found. aims to develop a function to reactively generate personalized } service execution methods based on the context as a higher if Context1 derives information B by relation R1 layer function of the context-aware service control platforms. { if Information B derives service objective D by relation R2 A service execution method is found. II. PROBLEM if Information B derives service objective E by relation R3 A service execution method is found. The function to generate the service execution method from } the context and the user's objective is termed "context if Context1 derives information C by relation R11 if Information C derives service objective D by relation R2 A service execution method is found. if Context1 derives information L by relation R11 Jun Maeda is with Fujitsu Limited, Kawasaki, 211-8588 Japan (e-mail: if Information L derives service objective M by relation R5 maeda.jun@jp.fujitsu.com). A service execution method is found. Masaaki Takase is with Fujitsu Limited, Kawasaki, 211-8588 Japan (e-mail: masaaki.takase@jp.fujitsu.com). Mitsuaki Kakemizu is with Fujitsu Limited, Kawasaki, 211-8588 Japan Fig. 1. Context interpretation program by Method 1 (e-mail: kake@jp.fujitsu.com). ubiPCMM 2005 59 It is essential that the platform generates service execution objective. In Fig. 2, for instance, context interpretation method for personalized context-aware services. We then information "There is an air-conditioner A in room R2" can be adopted the following method 2. combined with context interpretation information "The room next to room R1 is room R2" through "room R2" as essential Method 2 (common processing) information. However, if the semantic constraint for the This method performs context interpretation by common objective "file opening" specifies "derive information about IT processing. The processing sequence is as follows: (1) the equipment," "air-conditioner A" does not satisfy the semantic application registers trigger information in the platform; (2) the constraint and this context interpretation information is not platform generates the service execution method by selected. This method generates semantically appropriate interpreting the context; and (3) the platform calls applications service execution methods, and reduces context interpretation that control service action according to the service execution processing by eliminating the search process for meaningless method. service execution methods. A platform that constructs a user profile to be used by Fig. 3 shows the entire mechanism. The following describes applications was proposed [5]. In this system, the control of the explanations of each part, details of context interpretation individual services is performed by the application program processing and discussions about the proposed method. (method 1), but the platform performs a part of context interpretation that does not depend on individual services. If Precondition context Semantic constraint Service Objective this idea is expanded for the entire context interpretation, the Service Category 1 Precondition Category of Category Obj definition → Relation → derived →… service execution method can be constructed from the context. context information This is performed by looking for the "story" that reaches the matching matching matching matching matching service objective by combining context interpretation Input → Relation → Output Category 1 Category X information (various information derived from the context) Context interpretattion Context interpretation information entity with the context. Fig. 2 shows a sample of context interpretation. A mechanism that enables flexible and efficient context Context interpretation is required. It is also necessary to make service Category 1: Value 1 Category X: Value X … … Category Obj: Value Obj development simple. Category 2: Value 2 Description of relation between … … Context Context interpretation information Service Value1 and ValueX Objective Personal computer P Service execution method The user is in room Room R2 is next to Personal computer P Software S has software S to R1. room R1. is in room R2. show file F. opens file F. Fig. 3. Service control mechanism using semantic constraint The user requests to show the content of file F. A. Context Service execution method The context is information that shows various situations of Fig. 2. A sample of context interpretation the real world. The context includes information supplied by sensors or information providers, etc. Information that a user III. PROPOSED CONTEXT-AWARE SERVICE CONTROL METHOD enters from a personal terminal (parameters for specific service, and personal information such as location of user, age, hobbies, We designed a context interpretation mechanism as follows. etc.) is also included in the context. The context is represented 1) It is necessary that the mechanism be able to generate diverse by category (type of information) and value. The following are service execution methods to provide services by flexible examples of context: "User's location: conference room," means. Essential information that is in the context or the "Time: ten o'clock," "Document name specified by user: context interpretation information is then used to combine the document_1" and "User's address: Tokyo". context interpretation information. For instance, essential B. Context interpretation information information items in Fig. 2 are user's location R1, room R2, personal computer P and so on. This method deals with every This information gives the interpretation of the context and is item of context interpretation information that has a possibility provided from the context interpretation entities. When the of being combined, then it can generate varied service context interpretation entity receives an input value that execution methods. belongs to a specific category, it then outputs a value that belongs to a specific category and context interpretation 2) It is not that the related context interpretation information is information according to semantic relations between the input simply combined with the context, but the context and output defined for each entity. For instance, a context interpretation information suitable for the service objective interpretation entity receives the input value "User's location: should be combined. The semantic constraint then selects the R1," then outputs the value "Room: R2," and context context interpretation information suitable for the service interpretation information "Room R2 exists on the same floor Jun Maeda, Masaaki Takase, and Mitsuaki Kakemizu 60 as R1" according to a semantic relation "Existing on the same context interpretation information is combined by repeating floor." this process (next context interpretation entity receives a value that matches the output value of the previous entity). If output C. Service definition of a context interpretation entity matches the category The service definition consists of the precondition context, described as a service objective, a set of combined context the service objective, and the semantic constraint. This interpretation information becomes a service execution method. describes "What action is performed (service objective) by This describes, for instance, "Run software S on personal using which information (precondition context) and how such computer P which is in the room next to user's location to information is used (semantic constraint)." Service objective achieve the service objective that file F is shown". Generated describes the category that shows the service action such as service execution method is reliable in terms of semantic "Document edit" and "Air-conditioning control." Precondition appropriateness for the service objective by satisfying semantic context describes the category of the information used in the constraint. service such as "User's location" and "User specified Context interpretation also can be personalized according to document." Semantic constraint is provided for each the situations like user's location or behavior. The following is precondition context. This defines the scope of the semantic one method. relation between the precondition context and the context 1) Context interpretation entities are classified into groups, interpretation information that it is combined with, and the such as general, specific field, district, office and home. scope of category which that derived value belongs to in the 2) Groups suitable for the user's situation are selected and used context interpretation processing. Similarly, it defines the for context interpretation. constraint of context interpretation information combined with This provides services by context interpretation suitable for a derived information. Semantic constraint of the precondition user's situation and efficient processing by eliminating context not used to derive any information is indicated as unnecessary context interpretation information. For instance, "Direct use". users at different locations can use services peculiar to each Examples of semantic constraint are shown below. place by selecting the context interpretation entity group for each district, and the processing becomes efficient by not using 1) Precondition context: User's location -> Relation: Existing in context interpretation information for other districts. same place -> Derived information: Equipment. 2) Precondition context: User's location -> Relation: Existing in E. Effect of proposed method: efficient context same place -> Derived information: Personal computer. interpretation 3) Precondition context: User's location -> Relation: Existing The amount of processing becomes enormous to find every on the same floor -> Derived information: Place -> Relation: possible service execution method when the context amount Existing in same place -> Derived information: Equipment. and the interpretation information increase. Fig. 4 shows the 4) Precondition context: User's location -> Relation: Attribute context interpretation processing by the platform -> Derived information: Temperature. corresponding to the application program in Fig. 1. As shown 5) Precondition context: User specified document name -> in Fig. 4, the context interpretation result includes a lot of Relation: Direct use. meaningless service execution methods, because there are many context interpretations which are not relevant for the A hierarchical structure is used for representing relations in service objective. different abstraction levels, from general relations to specific This unnecessary context interpretation processing is relations. Similarly, the categories of derived information use a reduced by semantic constraint. That is, because context hierarchical structure. interpretation entities that are not consistent with semantic constraint are not invoked, meaningless combinations of D. Context interpretation processing context interpretation information provided by those entities In context interpretation processing, the present context is are omitted. In Fig. 4, "X" shows the points where context first compared with the precondition context that is described in interpretation information is not combined. the service definitions registered for each user, and if the F. Effect of proposed method: simple service development precondition context of a service definition matches the present context, the definition is activated. The context interpretation The service definition method using semantic constraint information is then combined based on the activated service enables the development of services more simply and easily definition using graph search processing. than method 1 because it is not necessary to describe a detailed Combining context interpretation information is performed context interpretation procedure. Semantic constraint uses as follows. First the context interpretation entity that receives a hierarchical representations of relations and categories of value belonging to a category that matches the precondition derived information as shown in Fig. 4. This enables service context and is consistent with semantic constraint is invoked. definitions to be described with the necessary abstraction level Context interpretation information provided from the context from the user's viewpoint. Context interpretation generates interpretation entity is combined with the context. More various service execution methods suitable for the context ubiPCMM 2005 61 using the graph search algorithm within the scope of a specified something used for the service) and their personal requests are abstraction level, thus the amount of description necessary to derived from each entity that provides those items of define the service is significantly reduced compared with the information. Conflict resolution entities then decide the description for the application program in method 1. The appropriate action (resource control) by considering other service definition described in Fig. 4 is equivalent to the people’s requests. The conflict can be resolved by combining application program in Fig. 1. those entities with the service execution method in context On the other hand, if detailed relations and categories are interpretation processing. Since the processes of conflict specified in the semantic constraint, it is also possible that the resolution depend on every detail of conflict, it is required to service definition describes a precise procedure similar to provide corresponding conflict resolution entities. method 1. Context Service Objective The service definition composed from service objective, Request-user: Conflict resolution entity precondition context and semantic constraint seems to be close Req-u Location: Appliance: Control- Appliance- to the ideas considered when the designers develop new L1 A1 information: C1 control: Appliance control services. Request-x: entity Req1 Person-x: Information A is related Service Objective D is related (relation R2) to information A. Context1 (relation R4) to Context1. Pa Service Objective E is related (relation R3) to information A. Person-y: Request-y: Pb Req2 Information K is related (relation R9) to information A. Fig. 5. Conflict resolution Information J is related (relation R10) to information A. Information B is related Service Objective D is related (relation R2) to information B. IV. CONCLUSION (relation R1) to Context1. Service Objective E is related (relation R3) to information B. A context-aware service provides customized services for Information J is related (relation R10) to information B. each user according to the dynamically changing personalized Information C is related (relation R11) to Context1. Service Objective D is related (relation R2) to information C. context. This paper proposes a basic mechanism for a context-aware service control platform. The fundamental idea Information D is related (relation R9) to information C. Information L is related (relation R11) to Context1. is to generate an appropriate service execution method using Service Objective M is related (relation R5) to information L. the service definition represented by the service objective, Information G is related (relation R7) to Context1. precondition context and semantic constraint, together with the Information F is related context interpretation processing that derives the required (relation R7) to Context1. action from the precondition context based on semantic Service definition constraint. This method can efficiently generate a service Precondition context Semantic constraint Service Objective Context 1 Context 1→Relation R11 → Category L → Relation R5→ Category M Category M execution method suitable for the context. We hope to apply this method to the actual environment and to verify it. Relation hierarchy Category hierarchy This research is the result of contract research on "Ubiquitous network control and management technologies" for the Ministry of Internal Affairs and Communications. L M N O P R11 R12 R13 R14 R15 A B C D E F GH I J K REFERENCES R4 R5 R6 R7 R8 R9 R10 [1] B. Schilit, N. Adams and R. Want, "Context-aware computing R1 R2 R3 Meaningless context interpretation applications," IEEE workshop on mobile computing systems and applications, 1994 Derived interpretation [2] G. Chen and D. Kotz, "A survey of context-aware mobile computing Not derived interpretation research," Dartmouth Computer Science Technical Report TR2000-381, Fig. 4. Context interpretation by Method 2 with semantic constraint 2000 [3] Y. Igarashi, M. Takase, M. Kakemizu, and M. Wakamoto, "Location G. Service conflict information control architecture for ubiquitous services platform," When services are executed, the requests of users may cause Technical Report of IEICE, NS2003-59, 2003 [4] M. Takase, Y. Igarashi, H. Takeyoshi, and M. Kakemizu, a conflict. A pattern of the conflict is the case that the effect of "Situation-dependent service activation and resource handling method for service Sa, which is based on the context of user A, is removed context-aware application and services," Technical Report of IEICE, by other services (for instance, service Sb, which is based on NS2003-243, 2004 the context of user B) that are in effect at the same time. This [5] D. Morikawa, M. Honjo, N. Kotsuka, A. Yamaguchi and M. Ohashi, "Profile aggregation and dissemination; a framework for personalized brings inconvenience to user A. Another pattern is the case service provisioning," Ubicomp 2004 Workshop, 2004. where the execution of service Sc, which is based on the [6] M. Minami, K. Sugita, H. Morikawa, and T. Aoyama, "A design of context of user C, alone brings some inconvenience to user A. internet application platform for ubiquitous computing environment," IEICE Trans. Communications (Japanese Edition), Vol. J85-B No.12, Fig. 5 shows an idea to resolve the conflicts in the framework 2002. of the service execution generation system. Other people related to a service execution method (for instance, a person in the place where the service is executed or the owner of