With the development of Internet of things and Web of things, computing becomes more pervasive, invisible and present everywhere. In fact, in our environment, we are surrounded by multiple devices that deliver (web) s...With the development of Internet of things and Web of things, computing becomes more pervasive, invisible and present everywhere. In fact, in our environment, we are surrounded by multiple devices that deliver (web) services which meet the needs of the users. However, the mobility of these devices as the users has important repercussions that challenge software design of these applications because the variability of the environment cannot be anticipated at the design time. Thus, it will be interesting to dynamically discover the environment and adapt the application during its execution to the new contextual conditions. We therefore, propose a model of a context-aware middleware that can address this issue through a monitoring service which is capable of reasoning and observation channels capable of calculating the context during the runtime. The monitoring service evaluates the pre-defined X-Query predicates in the context manager and uses Prolog to deduce the services needed to respond back. An independent observation channel for each different predicate is then dynamically generated by the monitoring service depending on the current state of the environment. Each channel sends its result directly to the context manager which consequently calculates the context based on all the predicates’ results while preserving the reactivity of the self-adaptive system.展开更多
A context-aware service in a smart environment aims to supply services according to user situational information,which changes dynamically.Most existing context-aware systems provide context-aware services based on s...A context-aware service in a smart environment aims to supply services according to user situational information,which changes dynamically.Most existing context-aware systems provide context-aware services based on supervised algorithms.Reinforcement algorithms are another type of machine-learning algorithm that have been shown to be useful in dynamic environments through trialand-error interactions.They also have the ability to build excellent self-adaptive systems.In this study,we aim to incorporate reinforcement algorithms(Q-learning)into a context-aware system to provide relevant services based on a user’s dynamic context.To accelerate the convergence of reinforcement learning(RL)algorithms and provide the correct services in real situations,we propose a combination of the Q-learning and case-based reasoning(CBR)algorithms.We then analyze how the incorporation of CBR enables Q-learning to become more effi-cient and adapt to changing environments by continuously producing suitable services.Simulation results demonstrate the effectiveness of the proposed approach compared to the traditional CBR approach.展开更多
文摘With the development of Internet of things and Web of things, computing becomes more pervasive, invisible and present everywhere. In fact, in our environment, we are surrounded by multiple devices that deliver (web) services which meet the needs of the users. However, the mobility of these devices as the users has important repercussions that challenge software design of these applications because the variability of the environment cannot be anticipated at the design time. Thus, it will be interesting to dynamically discover the environment and adapt the application during its execution to the new contextual conditions. We therefore, propose a model of a context-aware middleware that can address this issue through a monitoring service which is capable of reasoning and observation channels capable of calculating the context during the runtime. The monitoring service evaluates the pre-defined X-Query predicates in the context manager and uses Prolog to deduce the services needed to respond back. An independent observation channel for each different predicate is then dynamically generated by the monitoring service depending on the current state of the environment. Each channel sends its result directly to the context manager which consequently calculates the context based on all the predicates’ results while preserving the reactivity of the self-adaptive system.
文摘A context-aware service in a smart environment aims to supply services according to user situational information,which changes dynamically.Most existing context-aware systems provide context-aware services based on supervised algorithms.Reinforcement algorithms are another type of machine-learning algorithm that have been shown to be useful in dynamic environments through trialand-error interactions.They also have the ability to build excellent self-adaptive systems.In this study,we aim to incorporate reinforcement algorithms(Q-learning)into a context-aware system to provide relevant services based on a user’s dynamic context.To accelerate the convergence of reinforcement learning(RL)algorithms and provide the correct services in real situations,we propose a combination of the Q-learning and case-based reasoning(CBR)algorithms.We then analyze how the incorporation of CBR enables Q-learning to become more effi-cient and adapt to changing environments by continuously producing suitable services.Simulation results demonstrate the effectiveness of the proposed approach compared to the traditional CBR approach.