Available online at www.sciencedirect.com
ScienceDirect Procedia Computer Science 34 (2014) 607 – 612
International Symposium on Emerging Inter-networks, Communication and Mobility (EICM -2014)
Extraction of Interesting Adaptation Rules Rim Nasfi, Makram Soui* Higher Institute of Management Gabes, Tunisia Street Jilani Habib, Gabes 6002, Tunisia
Abstract Adaptive System (AS) aims to provide tailored services to users in various contexts. To achieve such behaviour, the system needs a user model providing information about users, e.g., about their preferences and custom information while ensuring their adaptation to the needs of each user. In fact, the diversity of contexts and the proliferation of profiles make adaptation a very sophisticated process. Adaptation is a major challenge for the information system. In this context, this paper presents an adaptive method based on the principle of genetic programming (GP) by extracting the best adaptation rules. The idea is to extract interesting adaptation rules and apply them to adapt interface to each user. To this end, we use the GP which is an evolutionary method that can be used to control a system evolution and ensuring the adaptation of population toward changing conditions (adaptation, reactivity and taking account of the environment).
© Elsevier B.V.Published This is anby open access article under the CC BY-NC-ND license © 2014 2014 The Authors. Elsevier B.V. (http://creativecommons.org/licenses/by-nc-nd/3.0/). Peer-review under responsibility of the Program Chairs of FNC-2014. Selection and peer-review under responsibility of Conference Program Chairs
Keywords: Adapative Systems, Adaptation Rules, Context of Use, Genetic Programming;
1. Introduction According to [1], adaptation is modeled as two complementary system properties: adaptability and adaptivity. Adaptability is the capacity of the system to allow users to customize their system from a predefined set of parameters. Adaptivity means the system performs adaptation automatically without deliberate action from the user's part. According to [2] [3], User Interface (UI) adaptation deals with a system adaptation capacity which is
* Corresponding author. Tel.: +21698903396. E-mail address:
[email protected]
1877-0509 © 2014 Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/3.0/). Selection and peer-review under responsibility of Conference Program Chairs doi:10.1016/j.procs.2014.07.081
608
Rim Nasfi and Makram Soui / Procedia Computer Science 34 (2014) 607 – 612
considering some information related to the context of use (P: platform, U: user and E: environment). Interface adaptation depends on two properties: adaptability [4] [5] and adaptivity[6]. The challenge of adaptive systems to the contexts of use is an attempt answering the new requirements of the universal interactive systems. Indeed, adaptation can be seen as the process of modifying systems to work adequately in a given context, which means the system suits perfectly user expectation in a given context. The earliest platforms integrate technologies based on reflection [7], and others incorporate aspects weaved to web services to gain both interoperability and adaptation [8]. Pervasive systems [9] aim to make information available anywhere and at any time. These systems must be used in different contexts depending on the user’s environment, his/her profile [10] and the used platform [11]. The remainder of this paper is structured as follows. In Section 2, we give an overview of our proposal. Then, Section 3 explains the generation of references examples. Section 4 details our adaptations to improve the adaptation rules quality. Section 5 presents and discusses the validation results. We conclude and suggest future research directions in Section 6. 2. The proposed Approach The purpose of the method is to adapt interface. It is based on the context of use. The idea is to extract interesting adaptation rules and apply them to adapt interface to each user. Due to a large search space, the diversity of the contexts of use and the very large number of adaptation rules, we chose to model our problem as an optimization problem. To this end, we use the Genetic Programming (GP) as a heuristic search optimization method inspired by the Darwinian theory of evolution. The aim is to explore the search space by making a population of candidate solutions, also called individuals, evolve toward an interesting solution of a specific problem. In addition, it is possible to keep more than one solution as a result of a development, to evaluate several over the basis of examples and so choose the one that offers the best fitness (fig 1). The example base contains traces that were captured in monitoring phase basing on aspect oriented programming in real situations. This makes genetic programming an adaptable technique to our problem of searching for the best rules. Indeed, the use of GP in our work results from the need to generate an adapted interface basing on rules that the best solutions produced along all generations (interface adaptation phase). References examples
Interface Monitoring Context
Adaptation
Interesting rules Rules extraction
rules Fig. 1 Approach overview
3. Generation of reference examples Aspect Oriented Programming (AOP) is a technique for modularizing crosscutting concerns such as monitoring, tracing, and logging. Thanks to the principle of separation of concerns, AOP can inject traces mechanism in existing applications by writing aspects. In our work, the idea is to generate reference examples that will be used for the evaluation of the adaptation rules. The monitoring phase is divided into three steps: (1) configuration of the system to evaluate (2) weaving and (3) generation of the examples base.
609
Rim Nasfi and Makram Soui / Procedia Computer Science 34 (2014) 607 – 612
Interface Context
Configuration
Interface
Weaving
Tracing file
Generation of Examples
Examples Base
Fig. 2. Monitoring phase.
3.1. Configuration of the system to evaluate This step consists to identify the user interface events and define the pointcuts. An aspect is composed of pointcuts and advices. Pointcuts are used to define a set of join points on which will have to activate an advice. Advice is a piece of code that defines actions that the advised joint point refers to. A join point represents a particular location in the flow of the program instructions. For example, we can declare a pointcut to capture joint points that make a call to method actionPerformed() for any handler that implements the ActionListner interface. 3.2. Weaving These aspects are then weaved with the initial code of evaluated application. The code produced by weaving contains then the initial code and code of aspects. The figure 3 shows the aspect principle.
Fig. 3.The aspect principle
3.3. Generation of reference examples base This step is based on the traces collected by aspects of users that have succeeded in search task with the interface. Theses traces are then evaluated by an expert and become reference examples. Figure 4 shows a set of reference examples.
610
Rim Nasfi and Makram Soui / Procedia Computer Science 34 (2014) 607 – 612
Fig. 4. Generation of reference examples base
4. Discovery of interesting rules basing on GP adaptation The aim of GP is to generate the best individuals from a randomly chosen initial population. This phase has five sub phases: (1) evaluation of the initial population, (2) selection of parents, (3) generation of the children population, (4) merge parents and children and (5) evaluation of the new population. Subphase 1: evaluation of individuals of the initial population: In GP, a solution is an adaptation rules which is usually represented as a tree, where the internal nodes are functions and the leaf nodes are terminal symbols. Both the function set and the terminal set must contain symbols that are appropriate for the target problem. The aim is to randomly generate a set of adaptation rules. The premises of these rules are a combination of the characteristics of the context and the conclusions are a combination of the characteristics of the interface. This subphase has three steps (1) Generation of individuals of the initial population (2) encoding and (3) evaluation. - Generation rules of the initial population: This step takes in input the context criteria (experience, age, motivation..), logical connectors (and, or) and the attributes of the interface (guidance, facility of memorization, density of information..). This step allows extracting an initial population of rules in a random manner from a possible combination of adaptation rules. At this level, we eliminate also the possible solutions that we believe are not promising rules in trying to avoid the rules that have no meaning for example a novice user can never have low guidance. Recall that each attribute of the context corresponds a characteristic of the interface. For example, the experience criterion corresponds to the Guidance characteristic of the interface. - Encoding: The GP needs a coding of individuals to facilitate the processing of the algorithm. Indeed, the coding can have a significant impact on the way in which rules are processed. The rules of adaptation will undergo a process of improvement; they must then be presented in a tree form. In our work we opt for the real encoding. It is a natural coding approaching reality because of his nuanced character that not only takes type 'True' and 'False' values like binary encoding. It is based on the concept of the scaling. - Evaluation of individuals of the initial population: at this level, the idea is to evaluate the adaptation rules of the initial population in order to estimate the interesting rules. This evaluation is based on the calculation of the fitness
Rim Nasfi and Makram Soui / Procedia Computer Science 34 (2014) 607 – 612
611
function which will determine the quality of each rule by referring to the basis of concrete cases (examples) generated during the monitoring phase basing on the aspect programming. Subphase 2: Selection of the parents: In this step, two parent individuals (rules) are selected from the initial population. Thus, to guide the selection process, our method uses the fitness function to select elements having the best fitness from the population that represents the best elements to be reproduced in the child population using genetic operators such as mutation and crossover. Subphase 3: Generation of the children population This phase is based on two principal GP genetic operators: crossover and mutation. - Crossover: the crossover operator combines the genetic material of two parents by swapping a part of one parent with a part of other. Each child thus combines information from both parents. In any given generation, a variant will be the parent in at most one crossover operation. - Mutation: Mutation operates on only one individual. Normally, after crossover has occurred, each child produced by the crossover undergoes mutation with a low probability. Subphase 4: Merging the population of parents with the children population This step allows the replacement of the parents by the generated children. In our work, it is proposed to keep the two populations candidates with the aim of pushing the chromosomes the more far possible to not eliminate potentially promising individuals of the reproductive process. The new descendants created will be added to the initial population. Subphase 5: Evaluation of the new population Once reproduction and crossover have been applied according to given probabilities, the newly created generation of individuals is evaluated by the fitness function. This process is repeated iteratively, usually for a fixed number of generations. The result of genetic programming is the best individuals produced along all generations.
5. Evaluation of the proposed method The aim of our method is to generate interesting adaptation rules. The output of this method is a database containing a set of interesting rules. The evaluation is based on the average fitness value of each best population obtained through 8 iterations. We can conclude that when the number of iterations increases, the average fitness value of the interesting rules increases (Cf. fig 5).To our best knowledge, our proposal is the first work that uses GP to generate interesting adaptation rules in order to personalize the user interface.
Fig. 5. Variation of the average fitness value
612
Rim Nasfi and Makram Soui / Procedia Computer Science 34 (2014) 607 – 612
6. Conclusion In the recent years, the need for adaptive interactive systems is in an intensive increase. Though they are important, up to now the evaluation of these systems is neglected and ignored. In this paper we define and explain the general concepts related to adaptation. Today, these systems are indispensable to those who want to retrieve appropriate information with less effort at anytime and anywhere. In this context, the aim of the proposed method is to generate a population of interesting adaptation rules. To improve the performance of our method, it will be interesting to define criteria to facilitate the extraction of the initial population in a more dynamic manner basing on many criteria candidates. This will generate an even broader set of solutions and consequently improve the performance of the algorithm. Finally, we tend to apply our method in other areas of application such as e-Learning and e-commerce. Acknowledgements The authors thank also Marouane Kessentini, Asma Abdel Elbaaki for their participation in this project and their help concerning this work.
References 1.
2. 3. 4.
5. 6. 7. 8. 9. 10. 11. 12. 13.
Monfort, V. and Cherif, S. Bridging the Gap between Technical Heterogeneity of Context-Aware Platforms: Experimenting a Service Based Connectivity between Adaptable Android, WComp and OpenORB IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011 ISSN : 1694-0814. Sluijs, K. and Houben, G.-J., Towards a Generic User Model Component, Workshop on Personalisation on the Semantic Web held in conjunction with the 10th International Conference on User Modeling, 24 - 30 July 2005. Brown, P. Bovey, J. and Chen X., «Context-Aware applications: From the Laboratory to the Marketplace,» IEEE Personal Communications, vol. 4, n° %15, pp. 58-64, 1997. Stephanidis, C., Paramythis, A., Sfyrakis, M., Stergiou, A., Maou, N., Leventis A., Paparoulis, G. and Karagiannidis C., «Adaptable and Adaptive User Interfaces for Disabled Users in the AVANTI Project,» 5th International Conference on Intelligence and Services in Networks, IS&N'98, Antwerp, Belgium, 1998. Habieb-Mammar, H. and Tarpin-Bernard, F., CUMAPH: Cognitive User Modeling for Adaptive Presentation of Hyper-documents. An Experimental Study, Adaptive Hypermedia and Adaptive Web-Based Systems, Eindhoven, The Netherlands, 2004. Frasincar, F. and. Houben, G.-J , Hypermedia Presentation Adaptation on the Semantic Web, Adaptive Hypermedia and Adaptive WebBased Systems, Second International Conference, AH 2002, Malaga, Spain, 2002. Mulet, P. Malenfant, J. and Cointe, P. Towards a Methodology for Explicit Composition of MetaObjects,» chez OOPSLA'95, Proceedings of the Tenth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, Austin, Texas, USA, 1995. Hmida, M. B., Tomaz, R. F., and Monfort, V. Applying AOP concepts to increase web services flexibility. Journal of Digital Information Management (JDIM), 4(1):37–43, 2006. Weiser, M., Ubiquitous Computing, IEEE Computer 26.10, 1993. Klyne, G.and Carroll, J. Resource Description Framework (RDF): Concepts and Abstract Syntax,» W3C Recommendation, Février 2004. Seffah A., Forbrig P. and Javahery H., Multi-devices "Multiple user interfaces: development models and research opportunities, Journal of Systems and Software (JSS), vol. 73, n° 11, pp. 287-300, September 2004. Abdourahmane, A. Development of a customized information systems methodology: Application to an information service for users of land passenger transport system. PhD thesis, University of Valenciennes and Hainaut Cambrai 2006. Soui Makram, Abed Mourad., Kolski Christophe, Ghédira Khaled Evaluation by simulation to optimise information systems’ personalisation quality in logistics. International Journal of Production Research, Juillet 2012.