Paper Menu >>
Journal Menu >>
![]() Wireless Sensor Network, 2009, 1, 1-60 Published Online April 2009 in SciRes (http://www.SciRP.org/journal/wsn/). Copyright © 2009 SciRes. Wireless Sensor Network, 2009, 1, 1-60 Policy Based Self-Adaptive Scheme in Pervasive Computing Jian Quan OUYANG #*1 , Dian Xi SHI #2 , Bo DING #3 , Jin FENG ※ ※※ ※ 4 , Huai Min WANG #5 #1 School of Computer, National University of Defence Technology, Changsha, China * College of Information Engineering, Xiangtan University, Xiangtan, China ※ Nanchang Military Academy Unit Battle, Nanchang, China E-mail: 1 kissingman1@gmail.com, 2 dxshi@nudt.edu.cn, { 3 maildb, 5 whm _ w}@163.com, 4 fengjin0510@126.com Received February 15, 2009; revised March 6, 2009; accepted March 10, 2009 Abstract Nowadays, application systems in pervasive computing have to be self-adaptive, which means adapting themselves to dynamic environments. Our aim is to enable systematic development of self-adaptive compo- nent-based applications. The paper first introduces a novel policy based framework for self-adaptive scheme in pervasive computing. Then the proposed policy ontology and policy language are well expressive and eas- ily extensible to support the design of policy which is based on the Separation of Concerns principle. Fur- thermore, the context-driven event channel decouples the communication between the suppliers and con- sumers for asynchronous communication. The proposed framework can provide both a domain-independent and a flexible self-adaptation solution. Keywords: Policy Ontology, Self-Adaptive, Policy Language, Pervasive Computing 1. Introduction Technology of software evolution drives the need for software self-adaptive. Moreover, while pervasive com- puting environment is open and dynamic, application systems in pervasive computing have to be self-adaptive, which is adapt themselves to work in dynamic environ- ments. Previous adaptation work is based on predicting future circumstances and adapting themselves by way of embedding the adaptation decisions in the program code. It is clearly that it is done in an ad hoc way. While policy can define the behaviour of adaptive are applied by dif- ferent research projects for the flexible reconfiguration systems, it seems that a feasible approach to be decoup- led from functional concerns and systematically develop self-adaptive applications. Moreover, as it can separate the business logic (rules) from the controls (program- ming code) of the implementations, policy-based scheme are typically more flexible and adaptable than non- pol- icy-based approach. In a word, policies can specify and adapt the behavior of a system and can be applied to various areas: auction mechanisms, access control, Pri- vacy (Information Collection Policies), Context aware computing, etc. In this paper, we present a policy based adaptive ar- chitecture for pervasive computing. Different from cur- rent policy approach, in the view of the proposed scheme, the context information is used as meta data and the pol- icy is applied to meta protocol, thus it can materialize a reflective approach in the adaptation architecture. In ad- ditional, the proposed policy ontology and policy lan- guage can support for knowledge representation and reasoning and knowledge sharing. And they are feasible to support the design of policy which is based on the Separation of Concerns principle. The rest of the paper is structured as follows. In next section, we introduce the current state of the art. Section 3 discusses the requirements of self-adaption. Section 4 describes the overview of adaptation architecture. Fol- lowing this, Section 5 proposes a policy descriptive lan- guage for pervasive computing. Section 6 illustrates the event scheme. Section 7 will give an introduction to the prototyping applications in fire alarm scenario and pre- liminary experiments. Finally we summarize our work and give future plan in Section 8. 2. Current State of the Art There are several ways for proposing polices. Previously, the approaches to policy specification are proposals for policy language specification. Lobo [1] depicted the PDL (policy description language) to describe the strategies for mapping a series of events into a set of actions. Damianou [2] described a policy language (Ponder) ap- plying for both management and security policies for distributed systems. Anthony [3] introduced a policy ![]() J. Q. OUYANG ET AL. 49 Copyright © 2009 SciRes. Wireless Sensor Network, 2009, 1, 1-60 definition language which is designed to permit powerful expression of self-managing behaviours. Moreover, a prototype library implementation of the policy support mechanisms which can facilitate adaptive-policy de- ployment is illustrated. Ahn [4] proposed a high-level policy description language for formally specifying con- text entity relation, and introduced the translator which can provide automatic generation of Java classes for ubiquitous entities. The other approach is based on logic programming for supporting well defined semantic. Semantic Web Lan- guages for policy specification: KaoS [5] and Rei [6]. Uszok [5] proposed a framework for specification, man- agement, conflict resolution and enforcement of policies which is used OWL ontology. Kagal [6] introduced a policy language (Rei) for pervasive computing environ- ment which can express the behaviour of entities and it is used as part of a secure pervasive system. Recently, there are several policy based applications in the ubiquitous/pervasive computing scenarios. Rukzio [7] presented policy based adaptive services for mobile commerce, but the event scheme is not mentioned. Er- radi [8] introduced policy-based middleware, Manage- able and Adaptive Service Compositions (MASC), for dynamic self-adaptation of Web services compositions. David [9] presented an adaptive framework which is based on the Fractal component model. In the framework context-awareness service can provide information about the execution context. Chan [10] proposed an event model for a highly adaptive mobile middleware, Web Proxy for Active Deployable Service (WebPADS). Bandara [11] applied Event Calculus to transform both policy and system behaviour specifications into a formal notation. However, these methods did not concentrate the Separation of Concerns principle to support recon- figuring system based on reflective scheme. Lately, Adamczyk [12] proposed a lightweight framework called the Autonomic Management Toolkit, which can support dynamic deployment and manage- ment of adaptation loops. 3. Requirements of Adaptation in Pervasive Computing Environment Generally, self-adaptive applications need to control how and when decisions and actions are taken. Policy-based scheme can specific the adaptation layer and adaptation time [13]. Different from the three basic requirements (Uniformity, Separation and Generic) for the develop- ment of adaptation architecture [7], we define the fol- lowing three basic requirements of policy in pervasive computing environment: -Expressiveness: The first requirement is that suitable expression of policies is important for describing the rules to specify the behavior of a system. On the one hand, it is need to be restricted to avoid ambiguities or ill-defined policies. On the other hand, it can not be too complex for untrained user to write rules. -Well-defined semantics: The next requirement is well-defined semantics. Obviously, Well-defined policy can support for knowledge representation and reasoning and knowledge sharing of polices. Moreover, it can en- able interoperability of heterogeneous rules. -Usability: As the perspective pervasive computing is to seamless integration of computing into the user’s everyday life, make it easy for users to write rules is one of the critical requirement of policies. Make rules intelli- gible to the common user and declarative, human read- able interface is favourable for design polices -Lightweight: Foe the reason of limitation of resource in pervasive computing environment, strong rule engine is difficult to run for the various devices in pervasive computing environment. Lightweight policy architecture is necessary for devising the rule engine. 4. Overview of Adaptation Architecture 4.1. Core Idea The core idea of the adaptation architecture is shown in Figure 1. The architecture is based on the tenets of pol- icy-driven systems which are applied in various adaptive systems. We are using policies which can be seen as a set of sophisticated rules modelled by Event-Condition-Action rules for the definition of the adaptive behaviour in per- vasive computing environment. Thus it can react to changes of the context information by reconfiguring the application. Our proposed policy engine is based on the Separation of Concerns [14] principle: extract explicit rules of busi- ness logic from various applications. In the first step in a cycle, Context data is provided by context-aware com- ponent, PolicyController matches all polices with the Context data and select the appropriate policy. Then judge whether the conditions in the “action-event” table are met. If they are met, EventMonitor triggered by relevant events and notify PolicyExecutor. As the next step PolicyExecutor will executes the predefined rules and lead to a change of the context information. 4.2. Reflective Scheme A reflective scheme can ensure that can support struc- tural reconfiguration while examining and change envi- ronment, aiming to self-adapt at runtime. As shown in Figure 2, in our architecture, the strategy of the separa- tion of component and policy can gain the decoupling of meta-level scheme and based-level implementation. The advantage of the reflective scheme can conclude two parts: 1) The policy-based application system can be flexible, extensible and adaptive, since the policy can be deployed and modified in the course of runtime of systems. ![]() 50 J. Q. OUYANG ET AL. Copyright © 2009 SciRes. Wireless Sensor Network, 2009, 1, 1-60 Figure 1. The core idea of the adaptation architecture. 2) Policy-based scheme decouples the reusable com- ponent between the developments and deployability stage. The developer can only focus on using policy to describe the base-level business logic, and the deploy- mentor can designate the component according to the application environment. Context is the provider of the meta-level data, policy is the meta-level protocol between the business logic and context, policy engine is meta-level procedure, and be- haviour component is the base-level computing entity. 4.3. Context-driven Mechanism Context is one of the most important features of perva- sive computing. As the dynamic character of pervasive computing, it is necessary to model and specify context in a way such that context information can easily ex- change, share and reuse their knowledge. For simplicity, we define context as four tuple ConData=(ConSup, ConType, Value, TimeStamp), ConSup is the supplier of context data, ConType indicates the type of the context (e.g., location, temperature), Value gives the content of the context data, Timestamp describes the generation time of the context. Here, we classify the components into two classes: Context-aware components which gain and aggregate the context data and Behaviour components which carry out the actions according to the predefined rules in policy engine. The policy engine is driven by policies which are a set of rules in XML files and describe how the behav- iour component reacts in a specific context to support deployable application. As shown in Figure 2, context is the only starting point of self-adaptation and also the end point of adaptation. 4.4. Context-driven Policy Based Framework The model of context-driven policy consists of three layers, which is shown as Figure 3. The bottom layer is context layer. The top layer is self-adaptive layer, while the policy layer is in the middle. Context layer can ab- stract the state of physic and information space in perva- sive computing environments and context-driven events. The policy layer is used for describing self-adaptive rules including context constraint, description of actions. Self-adaptive layer is based on context-driven scheme. Context based event is the jumping-off point of the course of adapt procedure and the sole driver for adapt procedure. 5. Policy Descriptive Language for Perva- sive Computing (PDLPC) 5.1. Policy Ontology To attain better semantic language understanding and share knowledge for reusable, Figure 4 illustrates the policy ontology we are developing to express the struc- ture of polices precisely. The proposed policy ontology defines the vocabularies for indicating rules that perform different types of ac- tions. To describe policy rules, the ontology define the basic concepts of “policy ontology” including “Priority”, “Event”, “Precondition” and “LogicType”. Furthermore, we use “Unionof” relation to design the hierarchical structure of the policy ontology. The structure of the policy ontology is as follows. Priority: The “Priority” class defines the priority be- tween policies. It has been further classified into “High” and “Low” subclass. LogicType: LogicType class indicates types of logic including two-valued logic and fuzzy logic. Precondition: Preconditions are constraints on the ac- tion and environment. We use “Unionof” relation to model the composition of the value restriction. Event: The “Event” class implies the policy is trig- gered by the changed environment context. The “Event” class include: 1) “EventTpye” subclasses comprise “AtomEvent” and “Composite” subclasses. In the meantime, “Com- posite” subclass is composed by “EventOperator” and “AtomEvent” via “Unionof” relation. 2) “LogicTpye”. 3) “Precondition”. 4) “Component” subclasses can indicate the related component which can perform a specific action. 5) “Action” subclasses can represent an invocation to certain type of computing procedures to acquire user in- formation or provide services in the pervasive environ- ment. Also, the “Unionof” relation can describe the “Event- Tpye”, “LogicTpye”, “Precondition”, “Component” and “Action” to form “Event” class. 5.2. Policy Descriptive Language for Pervasive Computing (PDLPC) Policies can be described at different levels of abstraction. At a high level, Policies could be specified using natural language. At a low level, the method of logic or algebraic can be applied to specify policy description. In the inter- mediate point, production rules are be found to specify policies. In this paper, we prefer in the intermediate point for effectively computing in pervasive computing ![]() J. Q. OUYANG ET AL. 51 Copyright © 2009 SciRes. Wireless Sensor Network, 2009, 1, 1-60 Figure 2. Reflective scheme of context-driven policy scheme. Figure 3. Model of context-driven policy. environments. For this reason we propose a Policy De- scriptive Language for Pervasive Computing (PDLPC) based on the proposed policy ontology. The syntax of PDLPC is defined based on the BNF notation. The most important features of BNF used in this paper are as follows: ·=is the defining symbol. On the left-hand side is the name of the grammar rule and on the right-hand side is the definition of that name. ·| indicate optional elements. ·{and} indicate repetition. Zero or more elements. ·, is the definition separator symbol. It separates al- ternatives in a grammar rule. ·; is the terminator symbol. Every rule is terminated by this symbol. The definition of PDLPC is as follows. <PolicySet>::={<Policy>}; <Policy>::= <PolicyID>,<Priority>,<LogicType>, <EventPreconditionGroup>,<Event>; <Priority>::=<High>|<Low>; < LogicType >::=<Two-Valued >|<Fuzzy>; <EventPreconditionGroup>::= {<EventPrecondition>}; <EventPrecondition>::= <EventPreconditionid>, <EventCondition>,<Restriction>; <EventCondition>::=<Context>|<State>; <Con- text>:==<ContextTime>,<ContextAattribute>,<DataType>; <DataType>:==<int>|<char>|<float>|<double>|<datetime>; <Restriction>::=<LogicOperator>,<Value>; <LogicOperator>::=<Over>|<Below>|<Equate>; <Event>::=<EventType>,<LogicType>, <Precondi- tionGroup>,<Component>,<ActionGroup>; <EventType>::=<AtomEvent>|<CompositeEvent>; <AtomEvent>::=<ContextValueEvent >|<StateEvent>; <Compo- siteEvent>::=<AtomEvent>,<EventOperator>; <EventOperator>::=<→>|<and>|<or>|<not>|; <LogicType>:=<Two-valued>|<Fuzzy>; <PreconditionGroup>::={<Precondition>}; <Precondi- tion>::=<PreconditionID><Context>,<Restriction>; <ActionGroup>::={<Action>}; <Action>:: =<ActionID>, <Component>, <Method>, <ParameterSet>; PDLPC consists of there layers: policy-event-action. Policy is at a high level and could be a set of rules which govern the behaviour of a system can be triggered by events. At a low level, Action is a domain dependent action and Precondition is constraints on the Action and Compo- nent. It can reveal the execution of actions and consider greater understanding of the action and its parameters. In the middle level, Event is used to trigger policy and repre- sent the execution of action reacts in a specific context. From the above description, it is convenient to be able to define polices separately, and re-use them via PDLPC. 5.3. XML Based Representation For rules are intuitive and natural way of thinking, there is need to write rules conveniently. As XML becomes the de facto standards for data representation and inter- change, and XML data which can be viewed as a hierar- chically-structured rooted tree is convenient for represent the policy descriptive language. Here, we prefer to use XML-based representation for PDLPC. We use the fire alarm example to illustrate PDLPC using XML, as show in Figure 5. From the example, we can find the useful features of our approach. 1) Policy is a hierarchically-structured that can be fa- vourable to XML parser. 2) Events and parameters are attached to a component. 5.4. The Lifecycle of Polices The lifecycle of polices is as shown in Figure 6. It in- cludes the main steps and related activities in the policy life cycle. The step of policy analysis is to parse the policy set via XMLParser. In the meantime, for the efficiency and simplify of policy management, priorities of policies fall into two main categories: low and high. The conflict between the two policies can be resolved at run-time. When PolicyController check the policy is high prior- ity, the policy will be activated, otherwise it will be de- activated. According to the reflective scheme, applica- tion developer can adjust relevant policies to the new situation including insert, modify and delete policy in Policy Set. The policy maintenance mechanism is con- venient to improve the policy definition and deployment. ![]() 52 J. Q. OUYANG ET AL. Copyright © 2009 SciRes. Wireless Sensor Network, 2009, 1, 1-60 Figure 4. Policy ontology. <PolicySet PolicyID=”FireAlarm”> <Policy> <Priorities>High</Priorities> <LogicType>Two-Valued</LogicType> <PreconditionGroup> <Precondition PreconditionID=”First”> <Context> <ContextTime>180506</ContextTime> <ContextAattribute>temperature</ContextAattribute> <DataType>float</DataType> </Context> <Restriction> <Over> <Value>200</Value> </Over> </Restriction> <Component>Temperature_sensor_demo</Component> </Precondition> </ PreconditionGroup> <Event> <EventType>ContextEvent</type> < LogicType >IF-THEN</Type> < PreconditionGroup> < Precondition PreconditionID=”first”> <Context> <ContextTime>180507</ContextTime> <ContextAattribute>fog</ContextAattribute> <DataType>float</DataType> </Context> <Restriction> <Over> <Value>0.3</Value> </Over> </Restriction> <Component>Fog_sensor_demo</Component> </Precondition> </ PreconditionGroup> <ActionGroup> <Action ActionID=”Fire_alarm”> <Component>Fire_alarm_demo</Component> <Method>Forecast</Method> <ParameterSet></ParameterSet> </Action> </ActionGroup> </Event> </Policy> </PolicySet> Figure 5. Fire alarm example in XML. 6. Event Scheme 6.1. Context-Driven Event Channel The context-driven event channel decouples the commu- nication between the suppliers and consumers for asyn- chronous communication. Event scheme supports asyn- chronous communication and lets one or more suppliers to send events to more than one consumers occurring at the same time. Context-driven event channel is as shown in Figure 7. Figure 6. The lifecycle of polices. Figure 7. Context-driven event channel. ![]() J. Q. OUYANG ET AL. 53 Copyright © 2009 SciRes. Wireless Sensor Network, 2009, 1, 1-60 Context Suppliers and Consumers: ContextManager is the context suppliers consist of context data which is organized as hierarchical ontology including Service, Entity, User and Environment. When the context data is changed, context suppliers will push events to consumers. Context consumers which are managed by PolicyCon- troller are final goals of the events generated by the con- text suppliers pushing the events. Event Channel: The event channel plays the role of a central mediator between the context consumers and suppliers. Both the suppliers and consumers connect to one or more event channels which are managed by EventMontior. An event channel is responsible for trans- ferring events from the suppliers to the consumers. Reflective Scheme: PolicyExecutor can dynamically change context data via EventMonitor for reflection. Moreover, when the policy in Policy Set is modified or deleted, it will lead to relevant change in Context- eventTable and EventMonitor. 6.2. Event Composition An adaptation policy consists in a set of rules, each of the form Event-Condition-Action (ECA). The event can be classified into two classes: AtomEvent and Compo- siteEvent. AtomEvent consists of two types: ContextVal- ueEvent represents the change of the context data, while StateEvent gives a clue to the state of the system. There is four event operators that allow various kinds of complex events to be specified:→, and, or, not. ·→: If A and B are events, A→B denotes that event B must only be triggered after event A or that event A and B must be triggered in sequence. ·and: If A and B are events, A and B denotes that CompositeEvent is triggered when both event A and B have been happened no matter the occurrence time of event A, B. ·or: If A and B are event s, A or B denotes that CompositeEvent is triggered when either event A or B is happened. ·not: If A is a event, not A denotes that Compo- siteEvent is triggered when event A is not happened. The event composition can be composed via simple Boolean expressions. The hierarchical event composition consists of multiple levels of atom events. The example Figure 8. Hierarchical event composition example. is as shown in Figure 8, The composition event F is composed by five atom events A,B,C,D,E: (not A) and (B or (D→E)) and C. 7. The Implementation of Adaptation Architecture For the convenience of implementing the self adaption, we extend the CCM component container for supporting policy scheme. As shown in Figure 9, We augment the infrastructure of CCM component container including increasing the context list, Context-Event table, Policy- Controller, Policy Table and Policy Executor for sup- porting the parse and handle of policy. Context list is a two-dimension table, which consists of component name, context name and the value of the context data. Con- text-event table can describe the change of physical and information space. It includes the field of context name, event ID and event name. PolicyController is responsible for matching all polices with the Context data and select the appropriate policy. Policies are defined as a set of sophisticated rules which is described in XML (EXtensi- ble Markup Language). The Policy Table can maintain the policy information which contains policy ID, policy priority, event ID, The reference of PolicyExecutor pointer. They indicate the execution of action reacts in a specific context and are storaged by hash table. The functionality of Policy Engine is monitoring the change of the value of Context and executing the prede- fined polices. It comprises the Event Monitor, Policy Executor, PolicyController, Policy Table, Policy Parser and POA (Portable Object Adapter). Figure 9. Extension of CCM component container for component fault detection. ![]() 54 J. Q. OUYANG ET AL. Copyright © 2009 SciRes. Wireless Sensor Network, 2009, 1, 1-60 ◆ Policy Parser is a CORBA object, which is a XML parser. The functionality of Policy Parser is to match all polices in the Context Event Table and select the appropri- ate policy to dynamically generate the Policy Executor. ◆ Policy Executor is a two dimension pointer array. The first dimension is context name, and the second is a pointer which point to a group of CORBA objects and corresponding interfaces. The policy is storied as a structure of policy condition, action type, component name, method of component. Policy Executor can check the condition of policy is met, if it is true, the method of the component can be triggered by POA. ◆ PolicyController takes charge loading, uninstalling, activating/deactivating the polices. In the meantime, it can adjust the priority of the polices according the de- mand of the applications. ◆ Policy Table is initialized by PolicyController and can providing the query operation. For instance, it can retrieve the reference of the corresponding Policy Ex- ecutor by event ID. ◆ Event Monitor is also initialized by PolicyControl- ler. The role of Event Monitor is to register the event to the Context Event Table or remove the event from the Context Event Table. The event ID is unique and can be bound to the Policy Table. It can periodically monitor the change of value the Context List. When the change is detected, it judge whether the context event is in the Context Event Table, if it is false, insert the context event into Context Event List. 8. Prototype Implementation 8.1. Fire Alarm Scenario The first prototype implement is based on fire alarm scenario, as shown in Figure 9. There are temperature infrared sensor, sprinkler control valve and fire warning light in a room. The fire alarm application consists of sprinkler control valve component, fire warning light component, temperature-aware component and fire alarm policy. The temperature-aware component aggre- gate the context information from the temperature sensor and the aggregated data which is the occurrence likeli- hood of fire alarm (0%-100%) is displayed by fire monitor terminal. When the captured values from temperature sen- sor exceed the threshold, fire alarm component will drive the fire alarm lamp give off flashes of light and sprinkler control valve begin to sprinkle water which can be acti- vated by sprinkler control valve component. As the prede- fined value which is assigned by policy stored in XML file is update from 200 to 150, it is need to only restart the fire alarm application without recoding the program code. Moreover, while the temperature exceeds the threshold, policy engine will result in a change of the context infor- mation by way of executing the predefined polices. The XML parser is based on TinyXML parser (from SourceGauge Website). In the mean time, the register/ recall mechanism is used in the communication between the temperature-aware component and context manager component. 8.2. Error Tolerant Policy As pervasive computing environments is open and dy- namic, the technology is sustainable and high confident if it is inconspicuous to the user and does not disturb the user’s attention. This necessitates the pervasive comput- ing system has to be resilient to faults and should be able to be error-tolerant. Here, a prototype implementation of component error recovery has been realized based on fire alarm scenario. The instance of error tolerant policies is as shown in Figure 11. It means that “If temperature context name= [CompomentStatus], and context value=[Component Failure], then call the activate () method of tempera- ture-aware component”. Figure 10. Fire alarm scenario. <PolicySet> <Policy> <Policy Description>Temerature error tolerent policy</Policy Description > <Priorities>High</Priorities> <Event> <Event Description >Platform cotext event</Event Descrip- tion > <EventType>ContextEvent</type> <Type>IF-THEN</Type> <PreconditionGroup> <Precondition>//Error event triggered <Contextid> <Component>Temperature_sensor</Component> <ContextTime>180506</ContextTime>// <Attribute>ConponentState</Attribute> <LogicType>Bool</LogicType>// </Contextid> <Restriction> <Equate> <Value>Failure</Value>//The Component is failed </Equate> </Restriction> </Precondition> </PreconditionGroup> <ActionGroup>//action <Action> <Component>Temperature_sensor</Component> <Method>activate</Method>//reload the component <ParameterSet></ParameterSet> </Action> </ActionGroup> </Event> </Policy> </PolicySet> Figure 11. Instance of error tollrant policy. ![]() J. Q. OUYANG ET AL. 55 Copyright © 2009 SciRes. Wireless Sensor Network, 2009, 1, 1-60 8.3. Comparison with Current Methods The proposed self-adapt model is based on reflective scheme for adaptive middleware support. It means that context information is used as meta data and policy can be regarded as meta protocol. Thus it can separate self- adapt functionality from business logic of a system. Compared with David [9], the proposed framework can be more reusable and flexible. Compared with Adamczyk [12], the proposed policy ontology is well defined se- mantic. This means that it can adapt the behaviour of applications in the pervasive computing without re- coding functionality, and a change in the applications can be applied without restarting the system. Moreover, the proposed policy language is based on the policy ontology, which has a common semantic understanding of aadap- tive rules for well-defined semantics, thus it is well ex- pressive and easily extensible to support the design of policy engine which is based on the Separation of Con- cerns principle. However, there is still a limitation of the proposed scheme that has an impact on the complexity of compo- nent management because there both exist behaviour component in the base-level and context-aware compo- nent in the meta-level. 9. Conclusions In this paper, we have presented policy based adaptive architecture for pervasive computing. The proposed pol- icy ontology can support for knowledge representation and reasoning and knowledge sharing and integration for defining adaptive rules. Also, the proposed policy de- scriptive language for pervasive computing can enable define polices separately, and re-use them. Moreover, policy management allows application developers to ensure flexibility and adaptability. Furthermore, the pol- icy mechanism is based on not only event- condi- tion-action rules, but also more abstract utility/goal poli- cies. Now our ongoing work is to apply the adaptive archi- tecture to the museum monitor scenario in China in prac- tice. 10. Acknowledgment This work was supported by the National High-Tech Research and Development Plan of China under Grant No 2006AA01Z198 and China Postdoctoral Science Foundation Grant No 20070420187. 11. References [1] J. Lobo, R. Bhatia, and S. Naqvi, “A policy description language,” 16th National Conference on Artificial Intelligence, Orlando, Florida, USA, 1999. [2] N. Damianou, N. Dulay, E. Lupu, and M. Sloman, “Ponder: A language for specifying Security and management policies for distributed systems, V 2.3,” Imperial College Research Report DoC 2000/1, October 2000. [3] R. J. Anthony, “A policy-definition language and prototype implementation library for policy-based autonomic systems,” 2006 IEEE International Conference on Autonomic Computing, pp. 265-276, 2006. [4] J. Ahn, B. M. Chang, and K. G. Doh, “A policy description language for context-based access control and adaptation in ubiquitous environment,” Emerging Directions in Embedded and Ubiquitous Computing, pp. 650-659, 2006. [5] Uszok, Bradshaw, Jeffers, Suri, Hayes, Breedy, Bunch, Johnson, L. Kulkarni, “KAoS policy and domain services: Toward a description-logic approach to policy representation, deconfliction, and enforcement,” in POLICY, pp. 93-96, 2003. [6] K. Lalana, F. Tim, and J. Anupam, “A policy language for a pervasive computing environment,” Proceedings of the 4th International Workshop on Policies for Distributed Systems and Networks, Washington, DC, USA: IEEE Computer Society, pp. 63-74, 2003. [7] E. Rukzio, S. Siorpaes, O. Falke, and H. Hussmann, “Policy based adaptive services for mobile commerce,” 2nd Workshop on Mobile Commerce and Services (WMCS 2005), Munich, Germany, pp. 183-192, July 19, 2005. [8] P. C. David and T. Ledoux, “Towards a framework for self-adaptive component-based applications,” Proceedings of Distributed Applications and Interoperable Systems 2003, Lecture Notes in Computer Science 2893, pp. 1-14, November 2003. [9] A. Erradi1, P. Maheshwari, and V. Tosic, “Policy-driven middleware for self-adaptation of web services composi- tions,” Middleware 2006, LNCS 4290, pp. 62–80, 2006. [10] A. T. S. Chan, S. N. Chuang, J. N. Cao, and H. V. Leong, “An event-driven middleware for mobile context aware- ness,” The Computer Journal, 47(3), pp. 278-288, 2004. [11] A. K. Bandara, E. Lupu, and A. Russo, “Using event calculus to formalise policy specification and analysis,” 4th IEEE International Workshop on Policies for Distributed Systems and Networks, pp. 26-39, 2003. [12] J. Adamczyk, R. Chojnacki, M. Jarząb, and K. Zieliński, “Rule engine based lightweight framework for adaptive and autonomic computing,” International Conference on Computational Science 2008, LNCS 5101, pp. 355-364, June 23-25, 2008. [13] P. McKinley, S. Sadjadi, E. Kaste, and B. Cheng, “Composing composing adaptive software,” IEEE Computer, 37(7), pp. 56-64, July 2004. [14] W. Hürsch and C. V. Lopes, “Separation of concerns,” Technical Report NU-CCS-95-03, Northeastern University, Boston, Massachusetts, 1995. |