Journal of Emerging Technologies in Web Intelligence ISSN 1798-0461 Volume 4, Number 2, May 2012 Contents Special Issue: Selected Best Papers of the International Conference on Information and Communication Systems (ICICS 09) Guest Editors: Mohammad AL-Rousan Guest Editorial Mohammad AL-Rousan 117 SPECIAL ISSUE PAPERS The Boundaries of Natural Language Processing Techniques in Extracting Knowledge from Emails Thomas W. Jackson, Sara Tedmori, Chris J. Hinde, and Anoud I. Bani-Hani 119 MALURLS: A Lightweight Malicious Website Classification Based on URL Features Monther Aldwairi and Rami Alsalman 128 Vision-based Presentation Modeling of Web Applications: A Reverse Engineering Approach Natheer Khasawneh, Oduy Samarah, Safwan Al-Omari, and Stefan Conrad 134 Adaptive FEC Technique for Multimedia Applications Over the Internet Mohammad AL-Rousan and Ahamd Nawasrah 142 Semantic Approach for the Spatial Adaptation of Multimedia Documents Azze-Eddine Maredj and Nourredine Tonkin 148 Adaptive Backoff Algorithm for Wireless Internet Muneer O. Bani Yassein, Saher S. Manaseer, and Ahmad A. Momani 155 ConTest: A GUI-Based Tool to Manage Internet-Scale Experiments over PlanetLab Basheer Al-Duwairi, Mohammad Marei, Malek Ireksossi, and Belal Rehani 164 Context-oriented Software Development Basel Magableh and Stephen Barrett 172 Aggregated Search in XML Documents Fatma Zohra Bessai-Mechmache and Zaia Alimazighi 181 The Developing Economies’ Banks Branches Operational Strategy in the Era of E-Banking: The Case of Jordan Yazan Khalid Abed-Allah Migdadi 189 Evolving Polynomials of the Inputs for Decision Tree Building Chris J. Hinde, Anoud I. Bani-Hani, Thomas.W. Jackson, and Yen P. Cheung 198 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 117 Special Issue on Selected Best Papers of the International Conference on Information and Communication Systems (ICICS 09) Guest Editorial The International Conference on Information and Communications Systems (ICICS2011) is a forum for Industry Professionals and Academics from Companies, Governmental Agencies, and Universities around the world to present their latest research results, ideas, developments and applications in all areas of Computer and Information Sciences. The topics that have been covered in the ICICS2011 include, but are not limited to: Artificial Intelligence, Mobile Computing, Networking, Information Security and Cryptography, Web Content Mining, Bioinformatics and IT Applications, Database Technology, Systems Integration, Information Systems Analysis and Specification, and Telecommunications. We selected 11 high quality papers (out of 54 papers, which were presented at the ICICS2-11) and invited the authors of the selected papers to extend them and submit them for a complete new peer-review for consideration in this Special Issue (SI). The final decision for the inclusion in the SI has been strictly based on the outcome of the review process. The main objective of the SI is to make available the latest results in the field to the research community and report state-of-the-art and in-progress research on all aspects of information and communication systems. The selected papers span a broad range on the information retrieval, E-business and Internet. The contributions of these papers are outlined below. Jackson et. al, have studied the boundaries of natural language processing techniques in extracting Knowledge from emails, where they aimed to determine if natural language processing techniques can be used to fully automate the extraction of knowledge from emails. Based on the system built by the authors and it has been shown that although the f-measure results are world leading, there is still a requirement for user intervention to enable the system to be accurate enough to be of use to an organisation. On the hand, Al-Dwairi and Alsalman fcused on a very major problem in the World Wide Web where they proposed a lightweight system to detect malicious websites online based on URL lexical and host features and call it MALURLs. The system relies on Naïve Bayes classifier as a probabilistic model to detect if the target website is a malicious or benign. It introduces new features and employs self learning using Genetic Algorithm to improve the classification speed and precision. The system achieves an average precision of 87%. Two interesting studies have been presented for Web applications; The first one is vision-based presentation modelling of web applications, by Khasawneh et. al. This valuable work discussed the design, implementation, and evaluation of a reverse engineering tool that extracts and builds appropriate UML presentation model of existing Web applications. Their approach relies on a number of structured techniques such as page segmentation, the approach was applied and evaluated in the Goalzz home page. The Second work is presented by AL-Rousan and Nawasrah on techniques for Forward Error Correction (FEC) multimedia streams over the Internet. The work proposed a new approach of adaptive FEC scheme that optimized the redundancy of the generated codewords from a Reed-Solomon (RS) encoder. The adaptation of the FEC scheme is based on predefined probability equations, which are derived from the data loss rates related to the recovery rates at the clients. Along the same line, Maredj and Tonkin proposed a new generic approach to the spatial adaptation of multimedia documents. This approach allows heterogeneous devices (desktop computers, personal digital assistants, phones, via Internet, etc.), to play multimedia documents under various constraints (small screens, low bandwidth). This approach will enhance the access of multimedia content over the Internet regardless of their specifications Next, an interesting backoff algorithm for wireless Internet is proposed by Bani Yassein et al. Unlike the Binary Exponential Backoff algorithm which makes exponential increments to contention window sizes, their work studied the effect of choosing a combination between linear, exponential and logarithmic increments to contention windows. Results have shown that choosing the right increment based on network status enhances the data delivery ratio up to 37% compared to the Binary Exponential Backoff, and up to 39 % compared to the Pessimistic Linear Exponential Backoff algorithms for wireless Internet. A study presented by Al-Duwairi et al., introduced a new GUI-based tool to manage Internet-Scale experiments over PlanetLab PlanetLab is being used extensively to conduct experiments, implement and study large number of applications and protocols in Internet-like environment. The tool (called ConTest) enables PlanetLab users to setup experiment and collect results in a transparent and easy way. This tool also allows different measurements for different variables over the PlanetLab network. Content-oriented programming, searching, and retrieval are emerging techniques that enables these systems be more context aware. Magableh and Barrett described a development paradigm for building context-oriented applications using a combination of Model-Driven Architecture that generates an ADL, which presents the architecture as a components-based system, and a runtime infrastructure (middleware) that enables transparent self-adaptation with the underlying context environment. On the other hand, Zohra et. al. proposed an aggregated approach for searching a content of an XML documents. The objective of their work is to build a virtual elements that contain relevant and nonredundant elements, that are likely to answer better the query that elements taken separately. In related issue, e-banking © 2012 ACADEMY PUBLISHER doi:10.4304/jetwi.4.2.117-118 118 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 systems involves heavy retrieval and content-based transactions. Yazan Migdadi in his paper has addressed this issue with a particular attention paid to the e-banking in Jordanian. Finally, as guest –co-editors of this SI, we would like to express our deepest thanks to the Editor-in-Chief, Professor Sabah Mohammed for hosting this Issue in the JETWI and for his continued support and helpful guidance throughout all the stages of preparing this SI. Our sincere thanks also go to the Editorial-office staff of the journal for their excellent job during the course of preparing this special issue. We also thank the authors for their contributions, including those whose papers were not included. We thank and greatly appreciate the thoughtful work of many reviewers who provided invaluable evaluations and recommendations. Guest Editor Mohammad AL-Rousan College of Computer and Information Technology, Jordan University of Science & Technology, Jordan Email: alrousan@just.edu.jo Mohammad Al-Rousan is currently A full professor at the Department of Network Engineering and Security, Jordan University of Science and Technology (JUST). He was educated in KSA, Jordan and USA. He received his BSc in Computer Engineering from King Saud University, Saudi Arabia, in 1986. He received his M.S. in Electrical and Computer Engineering from University of Missouri-Columbia, MI, USA in 1992. In 1996 , he was awarded the PhD in Electrical and Computer Engineering from Brigham Young University, UT, USA. He was then an assistant professor at JUST, Jordan. In 2002, he joint the Computer Engineering Department at American University of Sharjah, UAE. Since 2008, he has been the Dean of College of Computer and Information Technology at JUST. He is the Director of the Artificial Inelegant and Robotics Laboratory, and a co-founder for the Nano-bio laboratory, at JUST. His search interests include wireless networking, System protocols, intelligent systems, computer applications, and Nanotechnology, Internet computing. Dr. Al-Rousan served on organising and program committees for many prestigious international conferences. He is the recipient of several prestigious awards and recognitions. He co-chaired international conferences on Information and Communication Systems (ICICS09 and ICICS11). © 2012 ACADEMY PUBLISHER JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 119 The Boundaries of Natural Language Processing Techniques in Extracting Knowledge from Emails Thomas W. Jackson Information Science, Loughborough University, UK Email: T.W.Jackson@lboro.ac.uk Sara Tedmori Computer Science Department, Princess Sumaya University for Technology, Jordan Email: S.Tedmori@psut.edu Chris J. Hinde and Anoud I. Bani-Hani Computer Science, Loughborough University, UK Email: C.J.Hinde@lboro.ac.uk; A.I.Bani-Hani@lboro.ac.uk Abstract—The aim of this research is to determine if natural language processing techniques can be used to fully automate the extraction of knowledge from emails. The paper reviews the five generations of building systems to share knowledge and highlights the challenges faced by all. The paper discuss the system built by the authors and shows that although the f-measure results are world leading, there is still a requirement for user intervention to enable the system to be accurate enough to be of use to an organisation. Index Terms—Natural Language Processing, Keyphrase Extraction, f-measure, Email Communication, Knowledge Extraction, NLP Limitations I. INTRODUCTION Over the last several decades, many reports [1], [2], [3], [4], [5] have indicated that people searching for information prefer to consult other people, rather than to use on-line or off-line manuals. Allen [5] found that engineers and scientists were roughly five times more likely to consult individuals rather than impersonal sources such as a database or file cabinet for information. In spite of the advancements in computing and communications technology, this tendency still holds; people remain the most valued and used source for knowledge[6], [7]. Unfortunately, finding individuals with the required expertise can be extremely expensive [8], [9], as it is time consuming and can interrupt the work of multiple persons. A common problem with many businesses today, large and small, is the difficulty associated with identifying where the knowledge lies. A lot of data and information generated and knowledge gained from projects reside in the minds of employees. Therefore the key problem is, how do you discover who possesses the knowledge sought? © 2012 ACADEMY PUBLISHER doi:10.4304/jetwi.4.2.119-127 In the search for the solution, information systems have been identified as key players with regards to their ability to connect people to people to enable them to share their expertise and collaborate with each other [10], [11], [12], [13]. Thus, the solution is not to attempt to archive all employees’ knowledge, but to link questions to answers or to knowledgeable people, who can help find the answers sought [14]. This has led to the interest in systems, which help connect people to others that can help them solve their problems, answer their questions, and work collaboratively. Cross et al. [15] reviewed [16], [17], [18], [19], [20], [21], [22], [23], [24], and summarises the benefits of seeking information from other people. These benefits include: • provision of solutions to problems; • provision of answers to questions; • provision of pointers to others that might know the answer • provision of pointers to other useful sources; • engagement in interaction that helps shape the dimension of the problem space; • psychological benefits (e.g. confidence, assurance); • social benefits (e.g. social approval for decisions, actions); • improvement in the effectiveness with which a person advances their knowledge in new and often diverse social contexts; • improvement in efficiency (e.g. reduction in time wasted pursuing other avenues); and • legitimation of decisions. Cross [15] identifies five categories that these benefits fall under: (1) solutions (know what and know how); (2) meta-knowledge (pointers to databases or other people); 120 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 (3) problem reformulation; (4) validation of plans or solutions; and (5) legitimation from contact with a respected person. It has been recognised that the idea of connecting people to people is a way forward, yet from a natural language processing viewpoint what has been attempted before and what are the limitations of the current systems. This paper reviews the expert finding approaches and discusses the natural language processing (NPL) techniques used to extract knowledge from email, including the one developed by the authors. It concludes by reflecting on the current f-measure scores for knowledge extraction and the role of the user in any knowledge location system. II. EMAIL, KNOWLEDGE WORK, AND EXPERTISE LOCATION This section explores the role of email in knowledge work, focusing on its potential value for expertise location. Email is an important knowledge channel [47], and collaboration tool [48], actively used by organisational knowledge workers worldwide. Email has been reported as the most common Internet activity, used daily by ninety-one percent of U.S. internet users [49]. The organisational dominance of email is also demonstrated by a recent study reporting that email messages involve an estimated average of 15.8 Megabytes of archive storage per corporate end-user per day[50]. Despite email’s popularity and ubiquity, there is little research on the value that email provides to organisational knowledge management (KM) strategies. Email enables greater knowledge work than possible in earlier technological eras [51], [52]. It enables knowledge, creation [53], [54], knowledge sharing and knowledge flow [55]. According to Tedmori et al., employees are motivated to use email for knowledge work for reasons including [56]: • • • • • • • • Email messages attract workers’ attention; Email is well integrated with everyday work; Email discourse provides a context for sensemaking about ideas, projects and other types of business knowledge; Email enables the referencing of work objects (such as digital documents), and provides a history via quoted messages; Email’s personalized messages are appealing, meaningful and easily understood; Email encourages commitment and accountability by automatically documenting email exchanges; Email is collected in inboxes and organisational archives, email represents valuable individual, collective and organisational memories that may be tapped later; and Email discourse facilitates the resolution of multiple conflicting perspectives which can © 2012 ACADEMY PUBLISHER stimulate an idea for a new or improved process, product or service. Email provides several important, often unexploited, opportunities for expertise-finding. Knowledge in email can be accessed and reused directly [57] or can serve indirectly as a pointer to an expert [30], [58], [56]. A recognized definition of an expert is someone who possesses specialised skills and knowledge derived from training and experience [59]. Traditionally, email clients were designed for the reuse of personal knowledge archives. For example, folders are popular structures for organising email messages so that they assist owners with knowledge reuse. This facility was highlighted by a recent study of Enron’s publicly available email archive, where significant folder usage was employed [60]. Employees often search personal email archives seeking knowledge, in preference to searching electronic knowledge repositories (EKR) [57], raising questions about the effectiveness of EKRs for reuse, an issue first raised by [61]. As mentioned earlier, Swaak et al.’s study also found that employees prefer to find an expert to help them with their knowledge-based concern, rather than searching directly for knowledge [57]. The next section describes automated expert finder tools that exploit email as evidence of expertise. III. EXPERT FINDING APPROACHES Various approaches to expertise location have been developed and implemented to link expertise seekers with internal experts. These have been initially discussed in Lichtenstein et al.’s research [62], but in this paper the authors extend the review to include the fifth generation of extraction systems. The first generation of such systems sprung out of the use of helpdesks as formal sources of knowledge, and comprised knowledge directories and expert databases. Microsoft’s SPUD project, Hewlett-Packard’s CONNEX KM system, and the SAGE expert finder are key examples of this genre. Generally expert databases have ‘Yellow Pages’ interfaces representing electronic directories of experts linked to their main areas of expertise. Such directories are based on expert profiles which must be maintained by experts on a voluntary basis. The key advantages of such directories include conveniently connecting those employees inadequately tapped into social and knowledge networks with relevant experts. However such approaches also suffer from significant shortcomings. Unless employees regularly update their profiles, the profiles lose accuracy and no longer reflect reality. Yet employees are notorious for neglecting to update such profiles as such duties are often considered onerous and low priority [25]. Employees may not wish to provide expertise. Overall, when large numbers of employees are registered and profiles are inaccurate, credibility is rapidly lost in such systems which are increasingly ignored by knowledge seekers, who instead rely on social networks or other methods [9]. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 In addition, expertise descriptions are usually incomplete and general, in contrast with the expert-related queries that are usually fine-grained and specific, and replete with various qualitative requirements [25]. In the second generation of expertise locators, companies took advantage of personal web pages where employees could advertise expertise internally or externally. Such pages are designed according to corporate templates or personal design, and are usually made accessible via the World Wide Web or corporate intranets. The convenience of web site creation and update, web site retrieval and access, and sophisticated search engines, are key advantages of this approach. However, employees may lack the motivation, time or technical expertise to develop or update their profiles, which rapidly lose accuracy and credibility and the capacity to meet expert location needs [25]. In addition, as noted by Yimam-Seid and Kobsa [25], employee use of search engines for locating an expert’s web page may be ineffective since such a process is based on a simple keyword matching task which does not always yield the most relevant experts’ web pages. The search activity can also be very time consuming when a high number of hits is returned and an employee must then systematically or randomly attempt to choose and explore the listed link(s). As Yimam-Seid and Kobsa have observed for this approach, knowledge seekers are allocated significant and often onerous responsibility for finding relevant experts ([25]. The second generation of approaches also included the development of more dynamic expert databases. Answer Garden [26], [27], which is a question-answering system, maintains a database of frequently asked questions and answers. When the system does not find required information in the database, an end-user may ask the question of the system. Answer Garden then routes the question to the corresponding experts. However, it is not clear with this approach how the system identifies experts and, in particular, whether experts have nominated their own areas and levels of expertise. The third generation of approaches relies primarily on secondary sources for expert identification. For example, the web application Expertise Browser [28], studies browsing patterns/activities in order to identify experts. With this application, if the user knows a particular expert, the user can ask the system to reveal the browsing path of that expert, relevant to the user’s query. Among other disadvantages, if an employee does not know an expert, the user must ask the system to identify one or more experts. The employee must then scan the browsing paths of the identified experts for possibly useful links, which can be a very time consuming process. Furthermore, it is likely that browsing reveals interests rather than expertise [25]. The monitoring of browsing patterns clearly involves privacy issues that such systems fail to address. Other secondary-source approaches utilise message board discussions as indicators of expertise. For example, ContactFinder [29] is a research prototype that reviews messages posted on message boards. ContactFinder analyses subject areas from messages and links them to the names of experts who wrote the © 2012 ACADEMY PUBLISHER 121 messages. It provides users seeking experts with expert referrals when user questions match expert’s earlier postings. All such approaches infer experts from secondary sources but do not allow experts to confirm such inferences. A recently recognised socially based approach is the use of social networks which provide a complex social structure for the development of social capital and the connection of novices and experts [11]. In a study conducted by [7], while some people were difficult to access, they were still judged to be valuable sources of help. The use of a social network to locate expertise has become popular because colleagues are often physically available, are personal friends, or are known to be experts on the topic. However, there is no guarantee that a genuine expert will be consulted, as users may choose to consult a moderately knowledgeable person, a person with whom a good relationship exists, a proximate employee, or a quickly located employee, simply as that person is within the expertise seeker’s social network. With this approach, low quality expertise may be systematically input into an organisation where it is quickly applied. Automated social network approaches such as Referral Web suffer from similar concerns. The fourth generation may include one or more the above approaches together with natural language processing and artificial intelligence techniques in order to analyse stored knowledge, seeking to identify expertise and experts [25], [30], [31]. A forerunner of such systems was Expert Locator which returns pointers to research groups in response to natural language queries on reports and web pages [32]. A second example is Expert Finder [33] which considers self-published documents containing the topic keyword, and the frequency of the person named near the same topic keyword in non-self-published documents, in order to produce expertise scores and ranks. In 1993 Schwartz and Wood first attempted to utilise e-mail messages, known to be heavily knowledge-based, to deduce shared-interest relationships between employees. In 2001, following other experts’ promising attempts, Sihn & Heeren implemented XpertFinder, the first substantial attempt to exploit the knowledge-based content of e-mail messages by employing technology to analyse message content. More recently Google Mail have use similar techniques to scan email content whilst reading messages on-line, to extract key phrases that can then be matched with specific marketing adverts that appear to the right hand side of the browser. This is more a case of just-in-time knowledge that could be extremely useful to employees if, for example, they were writing reports and the application would mine for keywords and link the user to existing written material or experts to aid in the report writing task. The drawback of many of the fourth generation approaches is the output. For example, expert listings are unordered when presented to a user seeking experts, which means significant user effort is required to identify the best expert. Such systems identify experts by textual analysis but rarely support expert selection by users. In addition, such systems fail to present the varying degrees 122 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 (or levels) of expertise that people possess and tend to assume a single level of expertise. It is thus entirely the user’s responsibility to systematically process the returned results in order to identify the most suitable experts for answering specific queries. Techniques employed to build the fourth generation expertise profiles should be advanced to ensure that the textual fragments analysed accurately convey employees’ expertise. To date, the automated techniques have been inadequate because they cannot distinguish between what is important and what is not important in identifying an expert. In addition, the system should be able to match user needs with expertise profiles by using appropriate retrieval techniques, ensuring that relevant experts are not overlooked and that less relevant experts are not overburdened with inappropriate queries. Numerous attempts have been made by researchers in both academia and industry to semi-automate/ automate the process of finding the right expert. What could be deemed as the fifth generation of systems, work by analyzing who we socialize with. IBM’s SmallBlue project (which is also part of the Atlas software suite) applies artificial intelligence algorithms for purpose of uncovering participants’ social network “who they know” and also the expertise of those participants “what they know” [63]. The application analyses employees’ email outboxes, but only for the employees that work at the same company. The application also analyses employees’ outgoing instant messaging chat transcripts and their profile information. The inferred social network for each participant is private and displayed as a visualization in Ego for each user. SmallBlue comes with a search engine that enables users to search for expertise based on a topic and displays the results in the context of the wider enterprise social network. There are many other systems available that could be deemed part of the fifth generation of systems, e.g. AskMe, Autonomy's IDOL, Triviumsoft's SEE-K, MITRE’s ExpertFinder, MITRE’s XpertNet, MindServer Expertise, but they also have similar limitations to those that have been discussed earlier in this section. This extended but abbreviated evolutionary review of expertise locator systems has highlighted the need for new expert locator systems with enhanced information retrieval techniques that provide user friendly expertise seeking techniques and high levels of accuracy in identifying relevant experts. In the next section, we summarise the techniques that have been used to extract key phrases and then discuss the latest attempts by the authors to improve upon the techniques to enhance the accuracy of the key phrases extracted and the ranking of their importance according to a user’s expertise. IV. KEY PHRASE EXTRACTION Numerous papers explore the task of producing a document summary by extracting key sentences from the document [34], [35], [36], [37], [38], [39], [40], [41], [42], [43]. © 2012 ACADEMY PUBLISHER The two main techniques are domain dependent and domain independent. Domain dependent techniques employ machine learning and require a collection of documents with key phrases already attached, for training purposes. Furthermore, the techniques (both domain dependent and domain independent) are related to linguistics and/or use pure statistical methods. A number of applications have been developed using such techniques. A full discussion of existing approaches, together with their merits and pitfalls, is provided in [44]. There are many weaknesses with current approaches to automatic key phrase identification, several of which are discussed here to illustrate the issues. First, the extraction of noun phrases from a passage of text is common to all such approaches [43], [45]. However, a disadvantage of the noun extraction approach is that, despite the application of filters, many extracted key phrases are common words likely to occur in numerous emails in many contexts. Therefore, it is important to distinguish between more general nouns and nouns more likely to comprise of key phrases. Second, Hulth [45] pinpoints two common drawbacks with existing algorithms, such as KEA. The first drawback is that the number of words in a key phrase is limited to three. The second drawback is that the user must state the number of keywords to extract from each document [45]. In the attempt to push the boundaries of key phrase extraction, work undertaken by the authors aimed to enable end-users to locate employees who may possess specialised knowledge that users seek. The underlying technical challenge in utilising e-mail message content for expert identification is the extraction of key phrases indicative of sender skills and experience. In developing the new system the Natural Language ToolKit (NLTK) was employed to build a key phrase extraction “engine”. NLTK comprises a suite of libraries and programs for symbolic and statistical natural language processing (NLP) for the Python programming language. The completed key phrase extractor was then embedded within EKE - an Email Knowledge Extraction process based on two stages. The first stage involves a training process which enables the creation of a speech-tagging model for tagging parts-of-speech (POS) within an e-mail message. The second stage involves the extraction of key phrases from e-mail messages with the help of the speech-tagging model. Figure 1 shows the keyphrase extraction steps of stage two. The email message sent by the user is captured by the system and the text in the email body is fed into the keyphrase extraction engine. The text is then divided into tokens using regular expression rules and tagged by their parts of speech with the help of the POS model created. Keyphrases are identified by applying rules which were manually set by the author to group all occurrences of specific sequences of tags together. The rule is formed from a sequence of grammatical tags which are most likely to contain words that make up a keyphrase. Once sequences of tags are collated, more rules are applied to remove a subset of non relevant phrases. Keyphrases are then chosen from the identified JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 candidate phrases. The process concludes with the use of linguistic filtering to extract the most important keyphrases. This results in a set of lines, each containing a sequence of tokens representing key competencies. Figure 2 depicts how the EKE system analyses e-mail messages to identify experts (but many other systems use a similar process). Once a message is sent by a user (step 1), the body of the message is captured by EKE. Figure 2 Stages of the extraction process EKE’s key phrase extraction engine will parse the body of the email seeking appropriate key phrases that might represent the user’s expertise (step 2). This process is fully automated and takes only milliseconds to complete, and is so far transparent to both sender and receiver. It is possible that key phrases will not be identified by the key phrase extraction engine as the message may not contain any text suggesting key phrases, or the message contains key phrases that were not detected. In such cases, EKE will not require any action from the user whose work activities will therefore remain uninterrupted. In step 3, if the engine identifies key phrases the user is requested to rank the extracted key phrase using a scale of 1 - 4, to denote level of user expertise in the corresponding field. The rankings 1 – 4 represent basic knowledge, working knowledge, expert knowledge, or not applicable. The four point categorisation scale was devised because a seeker of knowledge should be forewarned that a self-nominated expert may lack an expected capability. The knowledge seeker can then decide whether to proceed to contact such an expert for help. In Figure 1, “Questionnaire”, “Semantics”, “Casino” and “Online database” are examples of the key phases that have been extracted from the body of a message. On © 2012 ACADEMY PUBLISHER 123 average very few key phrases are extracted from a message because generally, according to our development tests and pilot studies, there are few key-phrases contained within any one e-mail message. Therefore typically a user is not unduly delayed by the key phrase expertise categorisation process. Once categorised (for example in Figure 1, “Questionnaire” may be categorised as basic knowledge, “Semantics” as expert knowledge, and so on), key phrases are stored in an expertise profile database (excluding key phrases categorised as “not applicable”). The user can access and edit his/her expert profile at anytime (step 4). The key phrases that are stored in the expertise profile database are also made available to other employees within the organisation, to enable them to locate relevant experts by querying the database (step 5). Figure 2 – Overview of the E-mail Knowledge Extraction System The EKE system has significant advantages compared with other e-mail key phrase extraction systems, not all of which perform steps 3 and 4. The present system gains accuracy by requiring a user in steps 3 and 4 to rank his or her level of expertise for a particular key phrase. Most existing systems attempt to rank experts automatically rather than consulting users for their perceptions of their level of expertise. Such systems are likely to be less successful at accurately identifying expertise levels as they do not capture employee knowledge of their own expertise. The above approach has been trialled at Loughborough University and has shown to be effective in correctly identifying experts [44]. However, it is important to note that this system used a hybrid approach of NLP and user intervention to determine the usefulness of the key phrases extracted. The focus of this paper is reviewing the boundaries of NLP techniques and the next section reviews the results of the NLP system without user intervention, which leads to a discussion about the boundaries of NLP in key phrase extraction. V. RESULTS AND BOUNDARIES OF NLP It is important to note that the full EKE system which includes user intervention has not been included in these 124 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 results. The full results have been published in Tedmori’s et al.’s research [44]. The purpose of showing the results in this paper is to illustrate that the f-measure results have not improved over a number of years. This highlights that the discipline has potential found the boundaries of NLP in extracting knowledge keyphrases from email. The Natural Language ToolKit system developed by the authors was tested on a number of corpuses. • • • Corpus 1 - Emails from various academic domains; Size 45 Corpus 2 - Total office solutions organisation; Size 19 Corpus 3 – Enron; Size 50 The sampling units were collected from subjects from different backgrounds (people with English as their first language and people who can communicate in English, but is not their first language). All subjects belong to the age group 24-60. All the sampling units were outgoing mail. The authors believe that sampling units are representative of typical messages that are sent out in institutional and corporate environments. The sampling units of the sample, Corpus 1, were collated from various academic disciplines (computer science, information science, building and construction engineering). The sampling units of the second sample, Corpus 2, are specific to one employee from a large supplier of total office solutions in the UK & Ireland, which for confidentiality reasons in is referred to as Employee E from Company XYZ. The sampling units of the final sample, Corpus 3, are collated from the Enron email dataset, which is freely available on the net. The f-measure, a widely used performance measure in information retrieval, was used to measure the system and is defined by (1). Equation 1 – F-Measure Calculation where precision is the estimate of the probability that if a given system outputs a phrase as a key phrase, then it is truly a key phrase and recall is an estimate of the probability that, if a given phrase is a key phrase, then a given system will output it as a key phrase. Table I – Results of testing the author’s Natural Language ToolKit system Corpus Precision Recall Corpus 1 Corpus 2 Corpus 3 53.3 59.6 41.7 57.6 63.1 48.3 fmeasure 55.4 61.3 44.8 In Table I, precision, recall, and the f-measure results are shown. The highest precision (59.6), recall (63.1), and f-measure (61.3) were achieved on the smallest © 2012 ACADEMY PUBLISHER sample (19 messages). Since only three sets were evaluated, one cannot determine the coloration between size of the sample and performance of the extractor. Turney [47] evaluates four key phrase extraction algorithms using 311 email messages collected from 6 employees, and in which 75% of each employee’s messages was used for training and 25% (approximately 78 messages) was used for testing. His evaluation approach is similar to the authors of this paper and the highest f-measure reported was that of the NRC, the extractor component of GenEx, which uses supervised learning from examples. The f-measure reported is 22.5, which is, as expected, significantly less than the fmeasures shown in Table I. Hulth [45] reports results from three different term selection approaches. The highest f-measure reported was 33.9 from the n-gram approach with POS tags assigned to the terms as features. All unigrams, bigrams, and trigrams were extracted, after which a stop list was used where all terms beginning or ending with a stopword were removed. The Natural Language ToolKit system developed by the authors appears to have the best f-measure results in the world when it comes to email knowledge extraction. Although the results are pleasing, the sight of a fully automated system that can extract knowledge from email without user intervention appears to be many years away, if at all possible. However, with the financial muscle of organizations like Google developing techniques for their range of information retrieval applications, this domain is likely to see rapid progress within a short period of time. VI. CONCLUSION This paper has reviewed the four generations of building systems to share knowledge and highlighted the challenges faced by all. The paper discussed the techniques used to extract key phrases and the limitations in the NLP approaches which have defined the boundaries of the domain. The paper has shown that although the f-measure results of the study are encouraging, there is still a requirement for user intervention to enable the system to be accurate enough to provide substantial results to the end users. It is concluded that NLP techniques are still many years away from providing a fully automated knowledge extraction system. REFERENCES [1] [2] [3] [4] [5] Hiltz, S.R. (1985). Online Communities: A Case Study of the Office of the Future, Ablex Publishing Corp, Norwood, NJ. Lang, K.N., Auld, R. & Lang, T. (1982). "The Goals and Methods of Computer Users", International Journal of Man-Machine Studies, vol. 17, no. 4, pp. 375-399. Mintzberg, H. (1973). The Nature of Managerial Work, Harper & Row, New York. Pelz, D.C. & Andrews, F.M. (1966). Scientists in Organizations: Productive Climates for Research and Development, Wiley, New York. Allen, T. (1977). Managing the Flow of Technology, MIT Press, Cambridge, MA. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] Cross, R. & Sproull, L. (2004). "More Than an Answer: Information Relationships for Actionable Knowledge", Organization Science, vol. 15, no. 4, pp. 446-462. Kraut, R.E. & Streeter, L.A. (1995). "Coordination in Software Development", Communications of the ACM, vol. 38, no. 3, pp. 69-81. Maltzahn, C. (1995). "Community Help: Discovering Tools and Locating Experts in a Dynamic Environment", CHI '95: Conference Companion on Human Factors in Computing SystemsACM, New York, NY, USA, pp. 260. Campbell, C.S., Maglio, P.P., Cozzi, A. & Dom, B. (2003). "Expertise Identification Using Email Communications", Twelfth International Conference on Information and Knowledge Management New Orleans, LA, pp. 528. Bishop, K. (2000). "Heads or Tales: Can Tacit Knowledge Really be Managed", Proceeding of ALIA Biennial Conference Canberra, pp. 23. Cross, R. & Baird, L. (2000). "Technology is not Enough: Improving Performance by Building Organizational Memory", Sloan Management Review, vol. 41, no. 3, pp. 41-54. Gibson, R. (1997). Rethinking the Future: Rethinking Business, Principles, Competition, Control & Complexity, Leadership, Markets, and the World, Nicholas Brealey, London. Lang, J.C. (2001). "Managing in Knowledge-based Competition", Journal of Organizational Change Management, vol. 14, no. 6, pp. 539-553. Stewart, T.A. (1997). Intellectual Capital: The New Wealth of Organizations, Doubleday, New York, NY, USA. Cross, R. (2000). "More than an Answer: How Seeking Information Through People Facilitates Knowledge Creation and Use", Toronto, Canada. Burt, R.S. (1992). Structural Holes: The Social Structure of Competition. Harvard University Press, Cambridge. Erickson, B.H. (1988). "The Relational Basis of Attitudes." in Social Structures: A Network Approach:, Barry Wellman and S. D. Berkowitz (eds.), edn, Cambridge University Press., New York:, pp. 99-121. Schön, D.A. (1993). "Generative Metaphor: A Perspective on Problem-setting in Social Policy" in Metaphor and Thought, ed. A. Ortony, 2nd edn, Cambridge University Press, Cambridge, pp. 137-163. Walsh, J.P. (1995). "Managerial and Organizational Cognition: Notes from a Trip down Memory Lane.", Organizational Science, vol. 6, no. 3, pp. 280-321. Weick, K.E. (1979). The Social Psychology of Organising, 2nd edn, McGraw-Hill, New York. Weick, K.E. (1995). Sense making in Organisations, Sage, London. Blau, P.M. (1986). Exchange and Power in Social Life, Transaction Publishers, New Brunswick, NJ. March, J.G. & Simon, H.A. (1958). Organizations, Wiley, New York. Lave, J. & Wenger, E. (1991). Situated Learning : Legitimate Peripheral Participation, Cambridge University Press, U.K. Yimam-Seid, D. and Kobsa, A. (2003) ‘Expert finding systems for organizations: problem and domain analysis and the DEMOIR approach’, Journal of Organizational Computing and Electronic Commerce, Vol. 13, No. 1, pp.1–24. © 2012 ACADEMY PUBLISHER [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] 125 Ackerman, M.S. and Malone, T.W. (1990) ‘Answer garden: a tool for growing organizational memory’, Proceedings of ACM Conference on Office Information Systems, Cambridge, Massachusetts, pp.31–39. Ackerman, M.S. (1994) ‘Augmenting the organizational memory: a field study of answer garden’, Proceedings of the ACM Conference on Computer-Supported Cooperative Work, pp.243–252. Cohen, A.L., Maglio, P.P. and Barrett, R. (1998) ‘The expertise browser: how to leverage distributed organizational knowledge’, Presented at Workshop on Collaborative Information Seeking at CSCW’98, Seattle, Washington. Krulwich, B. and Burkey, C. (1996a) ‘Learning user information interests through the extraction of semantically significant phrases’, In AAAI 1996 Spring Symposium on Machine Learning in Information Access, Stanford, California. Balog, K. and de Rijke, M. (2007) ‘Determining expert profiles (with an application to expert finding)’, Proceedings of the Twentieth International Joint Conferences on Artificial Intelligence, Hyderabad, India, pp.2657–2662. Maybury, M., D’Amore, R. and House, D. (2002) ‘Awareness of organizational expertise’, International Journal of Human-Computer Interaction, Vol. 14, No. 2, pp.199–217. Streeter, L.A. and Lochbaum, K.E. (1988) ‘An expert/expert-locating system based on automatic representation of semantic structure’, Proceedings of the Fourth Conference on Artificial Intelligence Applications, San Diego, California, pp.345–349. Mattox, D., Maybury, M. and Morey, D. (1999) ‘Enterprise expert and knowledge discovery’, Proceedings of the 8th International Conference on Human-Computer Interaction, Munich, Germany, pp.303–307. Luhn HP. 1958. The automatic creation of literature abstracts. I.B.M. Journal of Research and Development, 2 (2), 159-165. Marsh E, Hamburger H, Grishman R. 1984. A production rule system for message summarization. In AAAI-84, Proceedings of the American Association for Artificial Intelligence, pp. 243-246. Cambridge, MA: AAAI Press/MIT Press. Paice CD. 1990. Constructing literature abstracts by computer: Techniques and prospects. Information Processing and Management, 26 (1), 171-186. Paice CD, Jones PA. 1993. The identification of important concepts in highly structured technical papers. SIGIR-93: Proceedings of the 16th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 69-78, New York: ACM. Johnson FC, Paice CD, Black WJ, Neal AP. 1993. The application of linguistic processing to automatic abstract generation. Journal of Document and Text Management 1, 215-241. Salton G, Allan J, Buckley C, Singhal A. 1994. Automatic analysis, theme generation, and summarization of machine-readable texts. Science, 264, 1421-1426. Kupiec J, Pedersen J, Chen F. 1995. A trainable document summarizer. Proceedings of the 18th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 68-73, New York: ACM. 126 [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Brandow R, Mitze K, Rau LR. 1995. The automatic condensation of electronic publications by sentence selection. Information Processing and Management, 31 (5), 675-685. Jang DH, Myaeng SH. 1997. Development of a document summarization system for effective information services. RIAO 97 Conference Proceedings: Computer-Assisted Information Searching on Internet; 101-111. Montreal, Canada. Tzoukermann E, Muresan S, Klavans JL. 2001. GISTIT: Summarizing Email using Linguistic Knowledge and Machine Learning. In Proceeding of the HLT and KM Workshop, EACL/ACL. Tedmori, S., Jackson, T.W. and Bouchlaghem, D. (2006) ‘Locating knowledge sources through keyphrase extraction’, Knowledge and Process Management, Vol. 13, No. 2, pp.100–107. Hulth A. 2003. Improved Automatic Keyword Extraction Given More Linguistic Knowledge. In: Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP'03). Sapporo. Turney PD. 1997. Extraction of Keyphrases from Text: Evaluation of Four Algorithms, National Research Council, Institute for Information Technology, Technical Report ERB-1051. (NRC #41550) Lichtenstein, S. 2004, "Knowledge Development and Creation in Email", The 37th Annual Hawaii International Conference on System Sciences (HICSS'04) - Track 8IEEE Computer Society, Washington, DC, USA. Garcia, I. 2006, 04/03-last update, The Good in Email (or why Email is Still the Most adopted Collaboration Tool) [Homepage of Central Desktop], [Online]. Available: http://blog.centraldesktop.com/?entry=entry060403214628 [2011, 06/22]. Pew Internet & American Life Project 2007, 01/11last update, Pew Internet & American Life Project Surveys, March 2000-April 2006 [Homepage of Pew Research Center], [Online]. Available: http://www.pewinternet.org/trends/Internet_Activiti es_1.11.07.htm [2007, 11/27] . Derrington, S. 2006, 11/11-last update, Getting Control of the Storage Environment, [Online]. Available: http://www.datastorageconnection.com/article.mvc/ Gaining-Control-Of-The-Storage-Environment-iB0002 [2011, 06/22] . Jackson, T. & Burgess, A. 2003, "Capturing and managing email knowledge.", Business Innovation in the Knowledge Economy - Abstracts from the IBM \& Stratford-Upon-Avon Conference, eds. J. Abbot, L. Martin, R. Palmer, M. Stone & L.T. Wright, , pp. 28. Whittaker, S., Bellotti, V. & Moody, P. 2005, "Introduction to this special issue on revisiting and reinventing e-mail", Human-Computer Interaction, vol. 20, pp. 1-9. Ducheneaut, N. & Belloti, V. 2003, "Ceci n’est pas un objet? Talking about objects in e-mail", HumanComputer Interaction, vol. 18, pp. 85-110. Jackson, T.W. & Tedmori, S. 2004, "Capturing and Managing Electronic Knowledge: The Development of the Email Knowledge Extraction", The International Resource Management Association ConferenceIdea Group, New Orleans, USA, pp. 463. © 2012 ACADEMY PUBLISHER [55] [56] [57] [58] [59] [60] [61] [62] [63] Bontis, N., Fearon, M. & Hishon, M. (2003). "The e-Flow Audit: An Evaluation of Knowledge Flow Within and Outside a High-tech Firm", Journal of Knowledge Management, vol. 7, no. 1, pp. 6-19. Tedmori, S., Jackson, T.W., Bouchlaghem, N.M. & Nagaraju, R. 2006, "Expertise Profiling: Is Email Used to Generate, Organise, Share, or Leverage Knowledge", , eds. H. Rivard, E. Miresco & H. Melham, , pp. 179. Swaak, J., de Jong, T. & van Joolingen, W.R. 2004, "The effects of discovery learning and expository instruction on the acquisition of definitional and intuitive knowledge", Journal of COmputer Assisted Learning, vol. 20, no. 4, pp. 225-234. Campbell, C.S., Maglio, P.P., Cozzi, A. & Dom, B. 2003, "Expertise identification using email communications", twelfth international conference on Information and knowledge managementNew Orleans, LA, pp. 528. Shanteau, J. & Stewart, T.R. 1992, "Why study expert decision making? Some historical perspectives and comments", Organizational Behavior and Human Decision Processes, vol. 53, no. 2, pp. 95-106. Klimt, B. & Yang, Y. 2004, "Introducing the Enron Corpus", First Conference on Email and Anti-spam. Markus, M.L. 2001, "Toward a Theory of Knowledge Reuse: Types of Knowledge Reuse Situations and Factors in Reuse Success", Journal of Management Information Systems, vol. 18, no. 1, pp. 57-93. Lichtenstein, S., Tedmori, S. and Jackson, T.W., 2008, ''Socio-ethical issues for expertise location from electronic mail'', International Journal of Knowledge and Learning, 4(1), 58-74. Lin, C., Cao, N., Liu, S., Papadimitriou, S., Sun, J., and Yan, X. 2009, “SmallBlue:Social Network Analysis for Expertise Search and Collective Intelligence”, IEEE 25th International Conference on Data Engineering, pp. 1483-1486. Thomas W. Jackson - is a Senior Lecturer in the Department of Information Science at Loughborough University. Nicknamed ‘Dr. Email’ by the media Tom and his research team work in two main research areas, Electronic Communication and Information Retrieval within the Workplace, and Applied and Theory based Knowledge Management. He has published more than 70 papers in peer reviewed journals and conferences. He is on a number of editorial boards for international journals and reviews for many more. He has given a number of keynote talks throughout the world. In both research fields Tom has, and continues to work closely with both private and public sector organisations throughout the world and over the last few years he has brought in over £1M in research funding from research councils, including EPSRC. He is currently working on many research projects, including ones with The National Archives and the Welsh Assembly Government surrounding information management issues. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Sara Tedmori - In 2001, she received her BSc degree in Computer Science from the American University of Beirut, Lebanon. In 2003, she obtained her MSc degree in Multimedia and Internet Computing from Loughborough University. In 2008, she received her Engineering Doctorate in Computer Science from Loughborough University, UK. Currently she is appointed as an assistant Professor in the Computer Science Department at Princess Sumaya University of Technology, Jordan. Her research interests include: Object Tracking, image processing, expertise locator, knowledge extraction, knowledge sharing, and privacy. Chris Hinde is Professor of Computational Intelligence in the Department of Computer Science at Loughborough University. His interests are in various areas of Computational Intelligence including fuzzy systems, evolutionary computing, neural networks and data mining. In particular he has been working on contradictory and inconsistent logics with a view to using them for data mining. A recently completed project was concerned with railway scheduling using an evolutionary system. He has been funded by various research bodies, including EPSRC, for most of his career and is a member of the EPSRC peer review college. Amongst other activities he has examined over 100 PhD's. Anoud Bani-Hani is an EngD research Student at Loughborough University, researching into Knowledge Management in SME’s in the UK, with specific focus on implementing an ERP system into a low-tech SME. Prior to joining the EngD scheme Anoud was a Lecturer at Jordan University of Science and Technology and holds an undergraduate degree in Computer science and information technology system from the same university and a Master degree in Multimedia and Internet computing from Loughborough University. © 2012 ACADEMY PUBLISHER 127 128 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 MALURLS: A Lightweight Malicious Website Classification Based on URL Features Monther Aldwairi Department of Network Engineering and Security, Jordan University of Science and Technology, Irbid, Jordan munzer@just.edu.jo Rami Alsalman Department of Computer Engineering, Jordan University of Science and Technology, Irbid, Jordan rsalsalman08@cit.just.edu.jo Abstract—Surfing the World Wide Web (WWW) is becoming a dangerous everyday task with the Web becoming rich in all sorts of attacks. Websites are a major source of many scams, phishing attacks, identity theft, SPAM commerce and malwares. However, browsers, blacklists and popup blockers are not enough to protect users. That requires fast and accurate systems with the ability to detect new malicious content. We propose a lightweight system to detect malicious websites online based on URL lexical and host features and call it MALURLs. The system relies on Naïve Bayes classifier as a probabilistic model to detect if the target website is a malicious or benign. It introduces new features and employs self learning using Genetic Algorithm to improve the classification speed and precision. A small dataset is collected and expanded through GA mutations to learn the system over short time and with low memory usage. A completely independent testing dataset is automatically gathered and verified using different trusted web sources. They algorithm achieves an average precision of 87%. Index Terms— malicious websites, machine learning, genetic algorithm, classification I. INTRODUCTION Internet access is an integral part of the modern life and employees in today’s fast economy depend on Internet connected smart phones, laptops and personal assistants to perform their jobs on the go. Even regular Joe and young children are becoming techsavvy and cannot live without Internet. Users shop, check movies, bank accounts, email, health insurance, they renew driving licenses, pay bills, make calls over IP, chat and play games, just to name a few daily activities. Such Internet access takes place through web browsers making them the most popular application for most users. As browser vendors race to introduce more features and new functionalities more vulnerabilities arise and more personal data are put at risk. Browsers have become the main system entry point for many attacks that aims at stealing private data and manipulating users to reveal sensitive information. Unsuspecting web surfers are not aware of the many drive-by-downloads of malwares, ad wares, spywares and Trojans to their devices. Just a single visit to a shady website is sufficient to allow the © 2012 ACADEMY PUBLISHER doi:10.4304/jetwi.4.2.128-133 intruder to detect vulnerabilities in the surfer’s computer and inject a malware that might enable the intruder to gain remote access or open a backdoor for future blunders. Users do not have to visit pornographic or hacker websites to get compromised. Commerce related SPAM such as pharmaceuticals and fake products are one way to coerce users to click and access malicious websites. In addition, they can be redirected to such websites through more organized schemes such as fast flux networks (FFN) [1]. Consequently, users are easily tricked to reveal private information using phishing and pharming attacks [2]. In addition to all of that, browsers collect sensitive data such as favorites, cache files, history file, cookies, form data and passwords. This puts such information at risk and keeping your browser and computer up to date will not cut it. For instance, cache timer sniffing enables intruders to determine websites you have visited. Finding and identifying such websites is no simple task due to the ever growing World Wide Web and the dynamic nature of malicious websites. Blacklisting services rose to the challenge and were encapsulated into browsers, toolbars and search engines. The lists are constructed through manual reporting, honeypots or web spiders. But blacklists grow uncontrollably and become a performance bottleneck. Incorrect listing is a major problem, due to reporting, analysis and record keeping mistakes. Therefore, legitimate websites may be incorrectly evaluated and listed, while malicious websites are not listed because they are new and haven’t been analyzed yet. Researchers have been very active in devising online and offline solutions to classify malicious websites and make web surfing safer. Shortly we give a brief survey of the current state of art techniques for classifying websites. In this paper we propose lightweight statistical selflearning scheme to classify websites based on their features. It is fast and designed to run online to protect the users. We use a Naïve Bayes classifier to classify the websites into two classes: malicious or benign. The number of features used is small and they fall under one of three categories: lexical, host-based or special features. Features include those suggested by McGrath et al. [3] JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 and Ma et al. [4]. We add special features to improve the classification accuracy such as JavaScript Enable/Disable, Document Frequency, and Title Tag. In addition, Genetic Algorithm is used to expand the training dataset through mutations to learn the Naïve Bayes classifier better and faster without the need to deal with huge datasets. The authors presented preliminary results in a previous paper [5] and in this paper they expand the original work by including more implementation details and adding additional results. The rest of the paper is organized as follows. Section II surveys the related work. Section III details the methodology followed to classify websites, this includes the list features, collecting the training and testing datasets and how the Naïve Bayes and GA are used. Section IV presents the experimental results. II. RELATED WORK Blacklisting was and still is a popular technique. Whittaker et al. [6] offline analyzed millions of pages daily from the noisy Google's phishing blacklist. Their main contribution was achieving 90% classification accuracy for phishing pages after a three weeks training. PhishNet [7] used approximate pattern matching algorithm to match URL components against blacklist entries. Though the above techniques tried to automatically manage blacklists and increase their accuracy, they are still insufficient and suffer from their growing size and incorrect listing. Blacklists can be combined with other techniques that uses machine learning to classify malicious websites. One of the earliest classification systems for malicious websites was concerned with the detection of SPAM in blog posts. Blog identification and splog detection by Kolari et al. [8] used the activity and comments generated by a blog post as the main classification feature in addition to ping update services. Support Vector Machines (SVM) was used with only linear kernel in all experiments and reported moderate results. Subsequent work focused on detecting Phishing URLs in SPAM emails. Garera et al. [9] main contribution was identifying eighteen features to detect phishing URL embedded in SPAM. They used linear regression compare millions of Google’s toolbar URLs to identify 777 phishing pages a day and 9% of the users that visit them are potential victims. McGrath et al. [3] studied phishing infrastructure and the anatomy of phishing URLs. They pointed out the importance of features such as the URL length, linked-to domains age, number of links in e-mails and the number of dots in the URL. PhishDef [10] used features that resist obfuscation and suggested used the AROW algorithm to achieve higher accuracy. To further increase the accuracy several approaches focused on page content statistics such as Seifert et al. [11]. They added features derived from JavaScript and HTML tags such as redirects, long script code lines and shell code. Seifert et al. used features from the page contents such as the number of HTML script tags and size of iframe tags. Cova [12] et al. went too far by © 2012 ACADEMY PUBLISHER 129 profiling the normal JavaScript behavior and applying anomaly detection which is prone to high false positives. Anomaly detecting works by extracting features during the normal learning phase based on a specific model. In the testing phase the new feature values for the websites to be tested are checked against the training models representing the normal behavior. The features used include: the number of code executions, code length, number of bytes, shell codes and the difference in returned pages for different browsers and the number of redirections. The Prophiler by Canali [13] used HTML tag counts, percentage of the JavaScript code in the page, percentage of whitespace, entropy of the script, entropy of the of the strings declared, number of embed tags, presence of meta refresh tags, the number of elements whose source is on an external domain and the number of characters in the page. While improving accuracy the Prophiler significantly increased the number of features to eighty eight. In addition to the increased overhead due to the statistically processing the page content, those techniques suffered from the inherent danger of having to access the malicious page and download the content before deciding it was malicious. Ma et al. [4] used Yahoo−PhishTank dataset and validated their work using three machine learning models Naïve Bayes, SVM with an RBF kernel and regularized logistic regression. Later, Ma et al. [14] [15] developed a light weight algorithm for website classification based on lexical and host-based features while excluding page properties. It was designed as real-time, low-cost and fast alternatives for black listing. They reported 3.5% error rates and 10–15% false negatives, but the tradeoff was between memory usage and accuracy. However, the main disadvantage was the fact that they use tens and hundreds of thousands of features to achieve their results. Another disadvantage shared among all previous approaches is collecting and handling a large number of websites and features which makes it hard to run them online. III. MTHODOLOGY To address the drawback of previous wok we need to identify malicious websites. We define a malicious webpage as a page that downloads a file, uploads a file, collects data, installs an application, opens a pop window(s), displays an advertisement or any combination of the above without the knowledge or consent of the user. We manually construct our own dataset and label websites as either benign or malicious based on trusted web directories. The complete MALURLs framework is shown in Fig. 1. In step 3 the features for the training dataset are calculated through various sources. We collect 100 benign and 100 malicious sites. In steps 5 and 6 the dataset is expanded to 10000 records using Genetic Algorithm (GA). GA self learns the classifier through mutations on the dataset. Based on a fitness function we can use mutations and crossovers from the current dataset to generate a larger dataset and grantee not to learn our classifier based on specific domain. In step 7 Naïve Bayes are trained using part of the collected features. Finally, a completely different dataset of 200 websites is 130 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Figure 1. MALURLs framework. used for testing. The testing dataset is collected and classified automatically into benign and malicious. The features are calculated based on a same web sources used in training. It is worth mentioning that the testing and training datasets are completely independent and are verified and classified using different trusted web sources to eliminate any chance of data poisoning. Unlike most of previous approaches which used the same source, mainly PhishTank. The following Subsections explain the three feature groups and the basis for their selection, how the training dataset is collected, how the Naïve Bayes classifier works, the Genetic Algorithm and finally how the testing dataset is built. A. Features Features used fall into one of three categories: lexical, host-based features and special features. 1) Lexical Features URL stands for uniform resource locator or formerly the universal resource locator. URL and uniform resource identifier (URI) are equivalent and identify any document retrieved over the WWW. The URL has three main parts: the protocol, hostname and path. Consider the following URL for example: “http://www.just.edu.jo/~munzer/ Courses/INCS741/Lec/ch3.ppt”. The protocol is: http://”, the hostname is: “www.just.edu.jo” and the path is: “~munzer/Courses/ INCS741/Lec/ch3.ppt”. Lexical features are the properties of the URL itself and do not include content of the page it points to. The URL properties include the length of the top level domain (TLD), other domains, the hostname, URL length, as well as the number of dots in the URL. In addition, lexical features include each token in the hostname (delimited by ‘.’) and tokens in the path URL delimited by ‘/’, ‘?’, ‘+’, ‘ ̶ ’, ‘%’, ‘&’, ‘.’, ‘=’, and ‘_’. Those feature groups are known as a “bag-of-words”. The features above tell a lot © 2012 ACADEMY PUBLISHER about a webpage. The domain might indicate a blacklisted malicious content provider. A large number of NULL token probably attributed to too many slashes might indicate an http denial of service attack (DOS) on Microsoft Internet Information Server (IIS). 2) Host-based Features Host-based features are derived from the host properties such as the IP address, geographic properties, domain name properties, DNS time to live (TTL), DNS A, DNS PTR and DNS MX records as well as WHOIS information and dates. Those features are very important and can help any classifier better the detection process. They help address a lot of important questions such as: does the IP address belong to a geographical location associated with malicious content? Does the PTR record resolve an IP that belongs to the host? Do the IP addresses of the DNS records belong to one autonomous system (AS)? 3) Special Features Those are new features that do not fit under the aforementioned categories or reported good results with previous systems. Some are simple to get a value for such as JS Enable/Disable, HTML Title tag content (<title></title>), 3-4-5 grams (n-grams) and Term Frequency and Inverse Document Frequency (TF-IDF). JavaScript code usually is downloaded and run on the client’s browser which can be very dangerous. Term frequency is the number of times a term occurs in a document. The inverse document frequency is the logarithm of the number of documents divided by the number of documents containing the term and it measures the importance of a term. TF-IDF is commonly used in search engines, classification and data mining and finally 3-4-5 grams take longer to calculate than the other features. Other features require significant computation time such as Anchors or bag-of-anchors which are extracted from all URLs in Anchor tags on the page being examined. Table I below shows a list of features’ groups used for training and testing purposes. B. Training Dataset The dataset is composed to 200 websites, half benign and the other half is malicious. The websites are chosen randomly and ALEXA Web Information Company’s TABLE I. FEATURE GROUPS JS-Enable-Disable Document Frequency DF Title tag <title>??</title> 3-4-5 grams TF-IDF weighting Blacklists WHOIS dates IP address misc Lexical misc 4grams Features DNS PTR record WHOIS info Connection speed TLD + domain DNS A record Geographic Hostname Words+URLs Meta+link URLs+anchors URLs+anchors+meta Path tokens Last token of the path Spamassassin plugin TLD DNS TTL DNS MX record Bag-of-words URLs Anchors Meta tags JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 website [16] is used to determine benign websites while PhishTank dataset [17] is used to determine malicious websites. ALEXA is one of the most influential and trusted WWW information companies. It provides information about websites including Internet traffic and top sites rankings. MALURLs uses IP tracer website [18] to extract the URL, DNS, IP address and the geographic properties for benign websites. PhishTank is an open source anti-phishing website that is widely used by almost all major browsers and WWW vendors such as Mozilla, Yahoo and McAfee. It offers phish pages verification tool through a voting system and issues annual phishing reports. PhishTank dataset contains partial information about malicious websites such as URL, DNS, IP-address and the geographic information. However, not all features are available on PhishTank, particularly the new special features. Therefore, we use Sphider [19] which is an open source web spider and a search engine. Sphider performs full text indexing, for example it finds links anywhere in a document whether in href or even in JavaScript strings. Sphider is able to calculate the Term Frequency (TF), Document Frequency (DF) and Inverse Document Frequency (IDF) features. C. Naïve Bayes classifier Bayes [20] is a probabilistic model based on Bayesian theorem. Though it is simple but often outperforms most of the other classifiers especially if trained using supervised learning methods. Naïve Bayes classifiers assume that the effect on a class from a feature is independent of the values of other features. This conditional independence simplifies the computation without sacrificing the accuracy. This makes Naïve Bayes a perfect match for our lightweight online algorithm. Bayesian theorem for example, calculates the probability that a website is malicious from the independent probabilities that a website is from a geographic location that generates fake traffic, has a random and very long hostname, has an IP address that does not match the DNS A recor and so on. In our case the number of features and their values range are large. If C represents the class and F represents a feature then the conditional probability (Pr) of C given F is calculated according to (1). ( | )= ( | ) ( ) ( ) (1) D. Genetic Algorithm To generate a larger dataset from the initial dataset we use Genetic Algorithm. GA is a biologically inspired algorithm that applies the principles of evolution and natural selection. The algorithms starts with an initial population encoded as a chromosome structure which is composed of genes encoded as numbers or characters. In our case the initial population represents the group of features for the training dataset. Chromosome goodness is evaluated using a fitness function that uses mutations and crossovers to simulate the mutation of species. The fittest chromosomes are selected and the process is repeated till we converge to a solution [21]. © 2012 ACADEMY PUBLISHER 131 The initial population is the dataset collected as specified in Subsection B and used in the learning phase. Mutations are applied on the initial dataset which is composed of a number of features or genes. Mutations are simply applying changes to certain features such as changing JS-Enable-Disabled from True to False (binary encoding) or to add a random amount between 0.2-0.3 to DF and TF (value encoding). In the testing step the fitness function is calculated by multiplying the probability values for the all features as shown in (2). The fitness function is used to calculate malicious and benign probabilities. The website is classified based on the highest probability. ( , ℎ , , , ( )=∏ , − , ℎ , , , ) , (2) E. Testing Dataset For testing we collect 200 URLs (100 malicious, 100 benign) using WOT Mozilla Plug-in [22]. The features values are collected the same way as in the training dataset. WOT is a traffic-light style rating system where green means (benign) and red means stop (malicious). The rating of a website depends on a combination of user ratings and data from trusted sources such as Malware Patrol [23], Panda [24], PhishTank, TRUSTe [25], hpHosts [26] and SpamCop [27]. In addition, WOT enables users to evaluate the trustworthiness of a website and incorporate their ratings in calculating the reputation of a website. IV. IMPLEMENTATION AND RESULTS We implement MALURLs using PHP programming language and MySQL database. Equation (3) defines the precision metric used to evaluate the relative accuracy of MALURLs using different features. Precision (P) is a measure of the usefulness of the retrieved documents. = (3) The testing dataset of 200 instances was divided into five different subsets and the average precision with and without Genetic Algorithm was calculated as shown in Table II. The use of GA to expand the training dataset results in a significant improvement in the classification precision. The average precision for classifying a website as benign or malicious using GA is 87% when using all feature groups. We run experiments to measure the improvement in TABLE II. OVERALL PRECISION WITH AND WITHOUT GA Dataset Number 1 2 3 4 5 Average Precision (%) Without GA With GA 70 75 80 80 65 74 85 90 95 80 85 87 132 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 TABLE III. OVERALL PRECISION WITH AND WITHOUT TF-IDF Dataset Number 1 2 3 4 5 Average Precision using GA (%) Without JS With JS 60 65 90 55 60 66 70 60 95 80 75 76 TABLE IV. PRECISION WITH AND WITHOUT JS-ENABLE-DISABLE Dataset Number 1 2 3 4 5 Average Precision using GA (%) Without JS With JS 55 50 75 70 65 63 65 60 75 65 80 69 TABLE V. PRECISION WITH AND WITHOUT 3-4-5 GRAMS Dataset Number 1 2 3 4 5 Average Precision using GA (%) Without n-grams With n-grams 80 70 85 60 90 77 80 70 85 75 90 80 precision attained by adding the new individual features to MALURLs. The features added include TF-IDF, JSEnable-Disable and 3-4-5 grams. The addition of TF-IDF results in a significant increase in classification precision from 66% to 76% as shown in Table III. This is expected because of the volume of information presented by this feature. Adding the JS-Enable-Disable did show a very good increase in average precision from 63% to 69% as illustrated by Table IV. The experiments to measure the improvement in MALURLs precision achieved by adding 3-4-5 grams show a small increase in average precision from 77% to 80% as illustrated by Table V. 3-4-5 grams calculation is complex, takes a long time and puts the user at risk due to the need to download the document. Therefore n-grams can be deemed irrelevant because of the high overhead and small improvement which is consistent with our goal of keeping the algorithm light weight. V. CONCLUSIONS This paper presents a new website classification system based on URL, host-based and special feature. We experiment with various features and determine the ones that improve the precision with minimum overhead. The data is collected using WOT Mozilla plug-in and the features are calculated using various web resources. MALURLs system reduces the training time using GA to expand the training dataset and learn the Naïve Bayes classifier. The experimental results show the average system precision of 87%. The additional features proved © 2012 ACADEMY PUBLISHER valuable to improve the overall classification precision. TF-IDF improved precision by up to 10%, JS-EnableDisable improvement was about 6% while 3-4-5 grams improvement was limited to 3%. REFERENCES [1] A. Caglayan, M. Toothaker, D. Drapeau, D. Burke and G. Eaton, “Real-time Detection and Classification of Fast Flux Service Networks”, In Proceedings of the Cybersecurity Applications and Technology Conference for Homeland Security (CATCH), Washington, DC, Mar 2009. [2] J. Zdziarski, W. Yang, P .Judge, “Approaches to Phishing Identification using Match and Probabilistic Digital Fingerprinting Techniques”, In Proceedings of the MIT Spam Conference, 2006. [3] D. McGrath and M. Gupta, “Behind Phishing: An Examination of Phisher Modi Operandi”, In Proceedings of the USENIX Workshop on Large-scale Exploits and Emergent Threats (LEET), San Fransicso, CA, Apr 2008. [4] J. Ma, L. Saul, S. Savage, and G. Voelker, “Beyond Blacklists: Learning to Detect Malicious Websites from Suspicious URLs”, In Proceedings of the ACM SIGKDD Conference, Paris, France, Jun 2009. [5] M. Aldwairi, R. Alsalman. “MALURLs: Malicious URLs Classification System”. In Proceedings of the Annual International Conference on Information Theory and Applications (ITA), Singapore, Feb 2011. [6] C. Whittaker, B. Ryner, and M. Nazif, “Large-Scale Automatic Classification of Phishing Pages”, In Proceedings of the 17th Annual Network and Distributed System Security Symposium (NDSS’10), San Diego, CA, Mar 2010. [7] P. Prakash, M. Kumar, R. R. Kompella and M. Gupta, “PhishNet: Predictive Blacklisting to Detect Phishing Attacks”, In Proceedings of INFOCOM ’10, San Diego, California, Mar 2010. [8] P. Kolari, T. Finin, and A. Joshi, “SVMs for the Blogosphere: Blog Identification and Splog Detection”, In AAAI Spring Symposium on Computational Approaches to Analyzing Weblogs, Mar 2006. [9] S. Garera, N. Provos, M. Chew, and A. D. Rubin, “A Framework for Detection and Measurement of Phishing Attacks”, In Proceedings of the ACM Workshop on Rapid Malcode (WORM), Alexandria, VA, Nov 2007. [10] A. Le, A. Markopoulou and M. Faloutsos, “PhishDef: URL Names Say It All”, In Proceedings of the 30th IEEE INFOCOM 2011 (Mini Conference), Shanghai, China, April 10-15, 2011. [11] C. Seifert, I. Welch and P. Komisarczuk, “Identification of Malicious Web Pages with Static Heuristics”, In Proceedings of the Australasian Telecommunication Networks and Applications Conference (ATNAC), 2008. [12] M. Cova, C. Kruegel and G. Vigna, "Detection and Analysis of drive-by-Download Attacks and Malicious JavaScript Code", In Proceedings of the 19th International Conference on World Wide Web (WWW'10), Raleigh, NC, Apr 2010. [13] D. Canali, M. Cova, G. Vigna and C. Kruegel, “Prophiler: a Fast Filter for the Large-Scale Detection of Malicious Web Pages", In Proceedings of the 20th International World Wide Web Conference (WWW), Hyderabad, India, Mar 2011. [14] J. Ma, L. Saul, S. Savage, and G. Voelker, “Identifying Suspicious URLs: An Application of Large-Scale Online Learning”, In Proceedings of the International Conference JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] on Machine Learning (ICML), Montreal, Quebec, Jun 2009. J. Ma, L. Saul, S. Savage, and G. Voelker, “Learning to Detect Malicious URLs”, ACM Transactions on Intelligent Systems, vol. 2, no. 3, Apr 2011. ALEXA Web Information Company’s website, http://www.alexa.com/, last access Feb 2011. PhishTank, http://www.phishtank.com/, last access Feb 2011. IP Tracer Website. http://www.ip-adress.com/ip_tracer/, last access Feb 2011. Sphider, http://www.sphider.eu/, last access Feb 2011 G. John, G. and P. Langley, Estimating continuous distributions in Bayesian classifiers, In proceedings of the Eleventh Conference on Uncertainty in Artificial Intelligence (pp. 338–345), San Francisco, CA, 1995. J. Koza, M. Keane, M. Streeter, W. Mydlowec, J. Yu and G. Lanza “Genetic Programming IV: Routine HumanCompetitive Machine Intelligence”, Kluwer Academic Publishers, 2003. Web of Trust Mozilla Plug-in, http://www.mywot.com/en/download, last access Feb 2011. Malware Patrol. http://www.malware.com.br/, last access Feb 2011. Panda WOT. http://www.pandasecurity.com/, last access Feb 2011. TRUSTe – WOT. http://www.truste.org/, last access Feb 2011. hpHosts online. http://www.hosts-file.net/, last access Feb 2011. SpamCop. http://www.spamcop.net/, last access Feb 2011. Monther Aldwairi was born in Irbid, Jordan in 1976. Aldwairi received a B.S. in electrical engineering from Jordan University of Science and University (JUST) in 1998, and his M.S. and PhD in computer engineering from North Carolina State University © 2012 ACADEMY PUBLISHER 133 (NCSU), Raleigh, NC in 2001 and 2006, respectively. He is an Assistant Professor of Network Engineering and Security Department at Jordan University of Science and Technology, where he has been since 2007. He is also the Vice Dean of Faculty of Computer and Information Technology since 2010 and was the Assistant Dean for Student Affairs in 2009. In addition, he is an Adjunct Professor at New York Institute of Technology (NYiT) since 2009. He worked as Post-Doctoral Research Associate in 2007 and as a research assistant at NCSU from 2001 to 2006. He interned at Borland Software Corporation in 2001. He worked as a system integration engineer for ARAMEX from 1998 to 2000. His research interests are in network and web security, intrusion detection and forensics, artificial intelligence, pattern matching, natural language processing and bioinformatics. He published several well cited articles. Dr. Aldwairi is an IEEE and Jordan association of engineers’ member. He served at the steering and TPC committees of renowned conferences and he is a reviewer for several periodicals. He organized the Imagine cup 2011-Jordan and the national technology parade 2010. Rami Alsalman was born in Irbid, Jordan in 1986. He received his B.S. in computer information systems from Jordan University of Science and University in 2008. He received his M.S. degree in computer engineering JUST in 2011. He is currently working on his PhD in cognitive systems from the computer science department at the University of Bremen, Germany. He has three publications in AI and security areas. He received a three months research scholarship at the Heinrich-Heine University of Düsseldorf, Germany during the summer of 2010. His research interests include security, data mining, information assurance and data reasoning. Eng Alsalman is an editorial board at an International Journal of Web Applications. Additionally, he was a committee member in International Conference on Informatics, Cybernetics, and Computer Applications (ICICCA2010). 134 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Vision-based Presentation Modeling of Web Applications: A Reverse Engineering Approach Natheer Khasawneh Department of Software Engineering, Jordan University of Science and Technology, Irbid, Jordan Email: natheer@just.edu.jo Oduy Samarah Department of Computer Engineering, Jordan University of Science and Technology, Irbid, Jordan Email: oasamarah09@cit.just.edu.jo Safwan Al-Omari Department of Software Engineering, Jordan University of Science and Technology, Irbid, Jordan Email: ssomari@just.edu.jo Stefan Conrad Institute of Computer Science, Heinrich Heine University, Dusseldorf, Germany Email: conrad@cs.uni-duesseldorf.de Abstract—Presentation modeling, which captures the layout of an HTML page, is a very important aspect of modeling Web Applications (WAs). However, presentation modeling is often neglected during forward engineering of Web Applications; therefore, most of these applications are poorly modeled or not modeled at all. This paper discusses the design, implementation, and evaluation of a reverse engineering tool that extracts and builds appropriate UML presentation model of existing Web Applications. The tool consists of three steps. First, we identify and extract visual blocks and presentation elements of an HTML page such as navigation bars, header sections, text input, etc. In this step, we adopt the VIPS algorithm, which divides an HTML into semantically coherent blocks. Second, the identified presentation elements in step one are mapped to the most appropriate UML presentation model elements. Third, the resulting presentation model is made available in Magicdraw for manipulation. Our approach is applied and evaluated in the Goalzz home page. Index Terms—Reverse Engineering, Web Application, Web UML, Vision-based Page Segmentation I. INTRODUCTION Recently, many applications and services have evolved from being stand-alone and monolithic applications into web applications. According to a recent study [1], most of the existing web applications lack proper modeling, which is necessary for maintenance, reengineering, and proper evolution to emerging web technologies. For the purpose of modeling legacy web applications, there is an urgent need to have a reverse engineering method to extract models of existing web applications. Chikofsky describes reverse engineering as “the process of analyzing a subject system to identify the system’s © 2012 ACADEMY PUBLISHER doi:10.4304/jetwi.4.2.134-141 components and their interrelationships and create representations of the system in another form or at a higher level of abstraction” [2]. Current modeling languages and methodologies are not sufficient for capturing all aspects of web applications. UML for example is not sufficient to express the hyperlinks between different HTML pages. Modeling of web applications can be performed at three levels: 1. Content modeling: focuses on modeling data in an HTML page. 2. Hyper text modeling: focuses on modeling links between HTML pages in a web application. 3. Presentation modeling: focuses on the layout of the items inside a particular HTML page. In this paper we focus on the presentation model, which is used to model the page layout in a UML presentation model. The approach we follow in generating a presentation model is based on page segmentation method discussed in [3]. Page segmentation divides the page into different blocks according to its visual appearance when rendered in a web browser. The reset of the paper is organized as follows: in Section 2, we provide an overview of the related work; Section 3 introduces the proposed approach in details; Implementation details are discussed in Section 4; Section 5 discusses case studies to illustrate and demonstrate our approach; finally in Section 6, we sketch concluding remarks and future work. II. RELATED WORK In the literature there are many methods and tools of web reverse engineering which are built on the standard of reverse engineering techniques. These methods and tools can be used to describe and model the web JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 applications with respect to different levels: content, hypertext, and presentation [4]. The UML modeling language is the most widely used during the forward engineering design process and in many web application reverse engineering techniques. For example, in [1] authors defined a process for reverse engineering by describing a method for understanding web applications to be easily maintained and evolved. In [5], authors showed how web applications with UML presentation can be easily maintained. The approach in [6] is based on structured and model based techniques. In this approach the HTML page is divided into several blocks according to a cognitive visual analysis. After that the specific patterns with these blocks are extracted to produce structural blocks and through these structural blocks a conceptual model is represented. The approach in [7] relies on HTML pages analysis by extracting the useful information from the web page and analyze the extracted information using the domain ontology and form the analysis results the UML conceptual schema is generated. III. APPROACH AND METHODOLOGY In this paper, we present a new approach to reverse engineer existing web applications into UML presentation model. The proposed approach focuses on discovering the structure of the web page and presenting the structure in UML presentation model, as shown in Fig. 1. 135 model generation stage. Page segmentation stage accepts an HTML page as input and produces an XML description of segmented page. Mapping process stage transforms the XML description to Web UML XML description. Finally, UML generation Stage accepts a Web UML XML description of the segmented page and outputs the UML presentation model. In the rest of this section, we describe, in details, page segmentation stage, web UML XML, mapping process stage, and UML model generation stage, respectively. A. Page Segmentation Stage In this stage we use Vision-based Page Segmentation Algorithm (VIPS) [3] to segment the web page into different blocks. VIPS incorporates both the page appearance (visual cues) and Document Object Model (DOM) to perform the segmentation. VIPS is done in three steps (Fig. 2): block extraction, separator detection, and content structure construction. These steps are repeated recursively several times until a user-defined threshold is reached. The threshold is called Permitted Degree of Coherence (PDoC) and it is based on Degree of Coherence (DoC). DoC is a numeric value between 1 and 10 that increases as the consistency between blocks increases. Following is a description of each step in VIPS: Visual Block Extraction The input to the visual block extraction is the visual Webpages Page Segmentation Stage 1 VIPS XML Description of Segmented Page Mapping Process Stage 2 Web UML XML Description of Segmented Page Parsing Web UML XML Description by Magicdraw Tool Stage 3 UML Presentation Model of Segmented Webpage Figure 1. Approach Architecture. The presented method consists of three stages: page segmentation stage, mapping process stage, and UML © 2012 ACADEMY PUBLISHER Figure 2. Flowchart of the Segmentation Process. cues and the DOM tree of the web page. During this step each node in the DOM tree is matched with the block where it belongs to in the visual cues. From the tree node, 136 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 VIPS starts looking if the sub nodes belong to the same block. Nodes with a coherence value less than PDoC are matched together to belong to the same group. This process is repeated recursively for the sub roots of the unmatched nodes until all nodes are matched to a block in the visual cues. Visual Separator Detection The input to this step is the collection of the extracted blocks from the previous step, whereas, the output is a set of separators which separate different blocks. There are two types of separators, horizontal separator and vertical separator. The process starts by one separator which spans the whole page. Then blocks are added one by one and the separator gets updated according to the following rules: 1. If the added block falls inside the separator, the separator will be splitted into two. The splitting will be done either vertically or horizontally. 2. If the added block covers part of the separator the separator will be resized. 3. If the added block covers the whole separator, the separator will be removed. Weight separator is assigned to each separator by considering factors that show how similar the neighboring blocks are. For a separator which separates two blocks, the more the two blocks differ the higher the weight that will be assigned for the separator and vice versa. The used factors are: distance between blocks, overlapping with HTML tags, background differences, font differences, and structure similarity. Content Structure Construction In this step content structure is constructed by merging lowest weight separators with the neighboring separators. The newly merged separator will be given a DoC value equals to the maximum DoC of the merged separators. This step is iterative until a separator with maximum weight is reached. Finally, each node in the newly generated block is checked whether its DoC meets the condition given by PDoC or not. If not, the Visual Extraction Process starts over. Otherwise, the process terminates and the page structure is generated in VIPS XML description format. VIPS XML description format is the immediate output of the VIPS algorithm. It is very simple and understandable description, which is defined for blocks and their content in the segmented page. The VIPS XML description captures and describes some attributes for each block and HTML elements in a web page, as shown in Table I. This table contains the main attributes which are used during the mapping process stage. Fig. 3 represents the VIPS XML description for blocks with ID (1-2) which contains three elements irrespective of the type of these elements (block or primitive HTML Element). Fig. 3 also shows more information for block such as coordinates and not containing any tables or images. In contrast, Fig. 4 represents VIPS XML description for primitive HTML Element (anchor) with ID (1-2-1), and also Fig. 4 shows more information about © 2012 ACADEMY PUBLISHER TABLE I. VIPS XML ATTRIBUTES AND THEIR DESCRIPTION VIPS XML Attributes ContainImg IsImg Descriptions Determine whether the block contains image Determine whether the HTML Element is image ContainTable Determine whether the block contains table ContainP Determine whether the HTML Element contains text TextLen Determine the length of text in blokes or HTML Elements DOMCldNum Determine whether the element is block or primitive HTML tag ( it is block if DOMCldNum >1) ObjectRectLeft ObjectRectTop ObjectRectWidth ObjectRectHeight Determine the coordinates for blocks or HTML Elements Content Determine the content of blocks and anchor which appears for user .(used for data mining techniques ) SRC Determine the source of image, anchor or any HTML Element ID Unique ID for block or HTML Element, which is used for specific purpose during the implementation. order Unique ID (integer number) the element such as coordinates and Uniform Resource Locator (URL) for anchor in SRC attribute. Through ID attribute, we can know that the block with ID (1-2) contains the HTML element with ID (1-2-1). <LayoutNode FrameSourceIndex="0" SourceIndex="16" DoC="10" ContainImg="0" IsImg="false" ContainTable="false" ContainP="0" TextLen="15" LinkTextLen="15" DOMCldNum="3" FontSize="7.5" FontWeight="700" BgColor="#00ffff" ObjectRectLeft="10" ObjectRectTop="289" ObjectRectWidth="202" ObjectRectHeight="236" ID="1-2" order="10"> Figure 3. VIPS XML Description for Block. <LayoutNode FrameSourceIndex="0" SourceIndex="18" DoC="11" ContainImg="0" ContainTable="false" ContainP="0" TextLen="5" LinkTextLen="5" DOMCldNum="1" FontSize="7.5" FontWeight="700" BgColor="#00ffff" IsImg="false" ObjectRectLeft="60" ObjectRectTop="308" ObjectRectWidth="95" ObjectRectHeight="36" Content="Page1 " SRC="&lt;A href= &quot; FirstPage. html&quot; &gt;Page1&lt;/A&gt; " ID="1-2-1" order="11"/> Figure 4. VIPS XML Description for Anchor HTML Elements. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 B. Web UML XML Web UML XML description is based on UML-Based Web Engineering (UWE) Metamodel [8]. UWE is a methodology used for Web application modeling purpose, especially, structure modeling and behavior modeling. Furthermore, this methodology provides guidelines for systematic modeling of Web applications. UWE comprises four main parts to model web application: Notations, Methods, Metamodel, and Process. Next we present a brief description about the UWE notation before discussing the process of transforming VIPS XML description format to Web UML XML format. UWE Notation For UML presentational model, UWE defines stereotypes for user interface elements, these elements are divided into two parts: primitive user interface (UIElement) elements and user interface container (UIContainer) elements which contain a collection of primitive user interface elements. A case-tool Magicdraw supports the design and model of web applications with different aspects by using UWE notations and Metamodels as plug-in. This casetool is used to parse the Web UML XML description to generate UML presentation model in generation model stage. Table II summarizes the UWE Stereotypes, which are used to model web application into UML presentation model. These Stereotypes are: 1. Page: A Page element is the area of the user interface which contains all of UIElement elements and UIContainer elements. The page constructs the root of presentation model. 2. Anchor: An anchor element permits the user to move from page to another page, or from location to another location on the same page. 3. Group Presentation: A group presentation element is used to define a set of UIElement elements, such as a collection of anchors. 4. Text: A text element is used to display a sequence of characters. 5. Textinput: A text input element permits the user to enter text. 6. Form: A form element contains a collection of UIElement elements that are used to provide data for a submitted process. 7. Button: A button element allows the user to initiate some actions on the web page. Actions include submitting the content for Textinput element, playing video, displaying image, triggering anchor and so on. 8. Selection: A selection element displays a list of items for the user to select one or more items. 9. Image: An image element is used to display the image. 10. Media Object: MediaObject elements are used to play multimedia objects such audio and video. 137 TABLE II. UWE SEROTYPES SYMBOL. Stereotypes Symobl Page Anchor Text Text input Selection File upload Image mediaObject Form Button Collection Custom component 11. File upload: A File upload element allows user to upload files. 12. Custom component: UWE also defines custom component stereotypes for custom HTML elements which are not defined by UWE. The Web UML XML description is a complicated description which is used to describe the UWE stereotypes in XML format. For that, this type of XML description can be interpreted and rendered to UWE stereotypes by any case-tool that is capable of parsing this XML description to build a UML presentation model. The Web UML XML description is divided into three main parts, each part specifies some properties for elements. Fig. 5, Fig. 6, and Fig. 7 contain the UML XML description for a simple block of web page, this block is represented by the DIV HTML tag which consists of two Textinput elements and one submit button as shown in Fig. 8. The Web UML XML description in Fig. 5 specifies the ID number and name for each element, and also determines whether the element is visible or not in UML presentation model. The benefit of visibility property appears through modeling the hidden HTML elements that are not displayed by the browser. <packagedElement xmi:type='uml:Class' xmi:id='1_1_2' name='Administrator Login' visibility='public'> <ownedAttribute xmi:type='uml:Property' xmi:id='5' name='textinput' visibility='private' aggregation='composite' type='1_1_2_1'/> <ownedAttribute xmi:type='uml:Property' xmi:id='6' name='textinput' visibility='private' aggregation='composite' type='1_1_2_2'/> <ownedAttribute xmi:type='uml:Property' xmi:id='7' name='button' visibility='private' aggregation='composite' type='1_1_2_3'/> </packagedElement> ------------------------------------------------------------------------------<packagedElement xmi:type='uml:Class' xmi:id='1_1_2_1' name=''Username' ' visibility='public'/> <packagedElement xmi:type='uml:Class' xmi:id='1_1_2_2' name=''Password' visibility='public'/> <packagedElement xmi:type='uml:Class' xmi:id='1_1_2_3' name='Submit' visibility='public'/> Figure 5. UML XML Description (Part1). © 2012 ACADEMY PUBLISHER 138 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Fig. 5 is also divided into two parts as shown by the dashed lines. In the first part, the block is defined as a class type and the elements in this block are defined as a property type. In the second part, the elements in block are only defined as a class type. This means that the group element, or in other words UIContainer elements, is defined as a class type only, and the primitive user interface (UIElement) element is defined as a class and property type. Fig. 6 represents the second part of Web UML XML description. In this part, the coordinates for each element are specified by four points as shown in bold text in Fig.7. These points are: 1. Padding-left: sets the left padding (space) of an element. 2. Padding-Top: sets the top padding (space) of an element. 3. Width: sets the width for element. 4. Height: sets the height for element. These points are structured as: Padding-left, PaddingTop, Width, and Height. <mdElement elementClass='Class' xmi:id='1004'> <elementID xmi:idref='1_1_2'/> <properties> <mdElement elementClass='BooleanProperty'> <propertyID>SUPPRESS_STRUCTURE</propertyID> <propertyDescriptionID>SUPPRESS_STRUCTURE_DESCRIP TION</propertyDescriptionID> </mdElement> </properties> <geometry>90,225, 20, 130</geometry> <propertyID>SUPPRESS_STRUCTURE</propertyID> <compartment xmi:value='5^6^7' compartmentID='ATTRIBUTES'/> <parts> <mdElement elementClass='Part' xmi:id='1005'> <elementID xmi:idref='5'/> <geometry>100,255, 20, 20</geometry> <propertyID>SUPPRESS_STRUCTURE</propertyID> </mdElement> <mdElement elementClass='Part' xmi:id='1006'> <elementID xmi:idref='6'/> <geometry>100,280, 20, 20</geometry> <propertyID>SUPPRESS_STRUCTURE</propertyID> </mdElement> <mdElement elementClass='Part' xmi:id='1007'> <elementID xmi:idref='7'/> <geometry>100,305, 20, 20</geometry> <propertyID>SUPPRESS_STRUCTURE</propertyID> </mdElement> </parts> </mdElement> <UWE_PROFILE:PRESENTATIONGROUP XMI:ID='1018' BASE_CLASS='1_1_2'/> <UWE_PROFILE: TEXTINPUT XMI:ID='1019' BASE_CLASS='1_1_2_1'/> <UWE_PROFILE: TEXTINPUT XMI:ID='1020' BASE_CLASS='1_1_2_2'/> XMI:ID='1021' <UWE_PROFILE:BUTTON BASE_CLASS='1_1_2_3'/> -----------------------------------------------------------------------------<UWE_Profile: textInput xmi:id='1030' base_Property='5'/> <UWE_Profile: textInput xmi:id='1031' base_Property='6'/> <UWE_Profile:button xmi:id='1032' base_Property='7'/> Figure 7. UML XML Description (Part3). Figure 8. Group of HTML Elements. description as output file. Substantially, the mapping process consists of the following steps: 1. Firstly, Contrast Map table between HTML elements and UWE stereotypes, as shown in Table III. 2. Read the VIPS XML Description for each block, this step continues until the end of VIPS XML Description file is reached. 3. The VIPS XML attributes for each element are examined, and then useful information from these attributes such as the type of element and coordinates are extracted. TABLE III. VIPS XML ATTRIBUTES AND THEIR DESCRIPTION. HTML Element <div> </div> <span></span> <fieldset></fieldset> <select> <input type=” radio”/> <input type=”checkbox”/> <button></button> <input type=" reset " /> <input type=" button " /> <input type=" submit " /> <input type=" file " /> Figure 6. UML XML Description (Part2). <input type=" text " /> <input type=" password " /> < textarea></ textarea> Fig. 7 represents the third part of Web UML XML description. In this part, the stereotype of element is specified by UWE profile. Also, Fig. 7 is divided into two parts as shown by the dashed lines, First part specifies the stereotype of element from class type, and the second part also specifies the stereotype of element from property type, as is shown by bold text in Fig. 7. C. Mapping Process Stage The mapping process is considered the main part of our approach. This process accepts the VIPS XML description as input file and produces Web UML XML © 2012 ACADEMY PUBLISHER <a href=””></a> <p> </p> 4. 5. UEW stereotype Group Presentation Selection Button File upload Text input Anchor Text <form > </form> Form <img src=””></img> Image The extracted information for all elements in block is stored together in the data structure list for block. Examine the data structure list for each block to check whether the block has a collection of elements JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 139 that have the same type or not. For example, check whether the blocks contain a collection of anchors or not. 6. Mapping location step is considered the most important step; this step needs to change the coordinates for elements to become consistent within UML presentation model. 7. Mapping from HTML element to UWE Stereotypes. 8. Now, the content of data structure list for each block is Web UML XML Description. This content is stored into Web UML XML file. Fig. 9 shows the pseudo code for mapping process. 1: Input: VIPS XML description for blocks in the segmented Web Page. 2: Output: UML XML description for blocks in the segmented page. 3: Begin 4: Counter Å 1 // Counter for blocks. 5: total_blocks Å N // N is the no. of blocks in segmented page. 6: For counter to total_blocks step by 1 7: BlockÅ list_of_blocks [counter] 8: Counter_elemnent Å 1 // Counter for elements in block 9: While Block contains elements with VIPS XML description 10: ElementÅ Block [Counter_elemnent] 11:VIPS_ Info Å Extract useful information from VIPS XML att. of Element. 12: WebUMLXML_info Å Mapping _to_WebUMLXML (VIPS_ Info). 13: Block [Counter_elemnent] Å WebUMLXML_info 14: Counter_elemnent INCREMNET BY 1 15: End While 16: Store the information of block and elements into Web UML XML file. 17: End for Figure 9. Mapping Process Pseudo Code. D. UML Presentation Model Generation Stage After mapping process stage, the Web UML XML description is used as input file for Magicdraw tool to generate UML presentation model. The UML presentation model in Fig. 10 is generated by parsing the WebUML XML Description in Fig. 5, Fig.7 and Fig. 7 which form the simple HTML block as shown in Fig. 8. IV. IMPLEMENTATION DETAILS The process described in section 3 is implemented using C#.Net Programming language (.NET Framework 3.5). This language provides the object oriented programming which assists in programming process through providing the libraries which provides many features. In addition, we use the following APIs: 1. microsoft.mshtml.dll 2. MSXML3.dll 3. PageAnalyzer.dll The PageAnalyzer.dll is considered the main API used in our implementation; this dll file generates the VIPS XML Description for any Web Page. The main challenges which we faced during the implementation process are: Figure 10. Simple UML Presentation Model. 1. 2. Mapping the coordinates of element and block in VIPS XML Description to coordinates in Web UML XML Description. Take into account all the HTML elements. V. CASE STUDY OF THE PROPOSED APPROACH In this section, we will illustrate the reverse engineering process described earlier by applying it to a specific website. A. Page Segmentation Fig. 11 shows the home page for goalzz web site , this page is segmented using the VIPS algorithm into blocks as shown in Fig. 12, some of these blocks are small and others are large in size depending on the structure of the page. The page layout of the segmented page is shown in Fig. 13. In addition, Fig. 14 shows the DOM tree for the segmented page. B. Mapping Process After the page segmentation process, the VIPS algorithm assigns each block, sub-block, and element with XML descriptions; these descriptions capture some properties of each block and sub-block in the web page, then the VIPS XML format is mapped and transformed into the Web UML XML format as illustrated in Fig. 2. Figure 11.Web Page before Segmentation Stage. © 2012 ACADEMY PUBLISHER 140 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 C. UML Presentation Model Generation Stage After the mapping and transformation process is achieved, the presentation model can be imported and manipulated in the Magicdraw modeling tool. Fig.15 shows the presentation model for goalzz home page. Figure 14. DOM Tree for Segmented Page. Figure 12.Web Page after Segmentation Stage. Figure 15. UML Presentation Model for Goalzz Homepage. Figure 13. Page Layout for Goalzz Homepage. VI. SUMMARY AND FUTURE WORK In this paper we present an approach of reverse engineering web applications into UML web presentation model. This issue is evolved from the more generic reverse engineering process, concentrating on the structure of the web page. We have presented an approach to the identification of structure in a web page and model this structure in UML presentation model. The approach relies on a number of structured techniques such as page segmentation. Future work will concentrate on building a complete framework which automatically builds the UML presentation model for any given application. The process of presenting the UML presentation model will be automated and will apply content mining along with the © 2012 ACADEMY PUBLISHER segmentation technique to accurately identify different blocks of the web page. Also, we will work on handling Dynamic HTML pages (DHTML). By DHTML pages we mean pages which change its layout on the client side. So you will have a unique URL with different page layout segmentation. For example consider a faculty member website, page simply list the faculty member publication, if the user clicks on any publication the abstract of that publication will be shown on the page without the need to connect back to the server. Handling DHTML pages introduces two issues that need to be considered in our future work. First, we need to make sure that the segmentation process takes this into consideration. Second, we need to check if UWE notation is flexible and rich enough to capture and model such a dynamic behavior of the web page. ACKNOWLEDGMENT This research was supported in part by German Research Foundation (DFG), Higher Council for Science and Technology (HCST) and Jordan University of Science and Technology (JUST). REFERENCES [1] G. A. D. Lucca, A. R. Fasolino, and P. Tramontana, "Reverse engineering web applications: the WARE approach," Journal of Software Maintenance and Evolution: Research and Practice, v.16, n.1-2, p.71-101, January-April 2004 “doi:10.1002/smr.281”. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 [2] E. J. Chikofsky and J. H. II Cross, "Reverse engineering and design recovery: a taxonomy," Software, IEEE, vol.7, no.1, pp.13-17, January 1990 “doi:10.1109/52.43044”. [3] D. Cai, S. Yu, J.-R. Wen, and W.-Y. Ma, VIPS: a visionbased page segmentation algorithm, Microsoft Technical Report, MSR-TR-2003-79, November 2003. [4] S. Tilley and S. Huang, "Evaluating the reverse engineering capabilities of Web tools for understanding site content and structure: a case study," Proceedings of the 23rd International Conference on Software Engineering, pp. 514523, May 2001 “doi: 10.1109/ICSE.2001.919126”. [5] S. Chung and Y.-S. Lee, "Reverse software engineering with UML for Web site maintenance," Proceedings of the First International Conference on Web Information Systems Engineering, vol.2, pp.157-161, 2000 “doi: 10.1109/WISE.2000.882874”. [6] R. Virgilio and R. Torlone, "A Structured Approach to Data Reverse Engineering of Web Applications," Proceedings of the 9th International Conference on Web Engineering, San Sebastián, Spain, June 2009 “ doi:10.1007/978-3-642-02818-2_7”. [7] B. Djelloul, M. Mimoun, and B. S. Mohamed, "Ontology based Web Application Reverse-Engineering Approach," INFOCOMP Journal of Computer Science, vol. 6, pp. 3746, March 2007. [8] C. Kroiß and N. Koch, "The UWE Metamodel and Profile – User Guide and Reference", Technical Report 0802, Ludwig-Maximilians-Universität München, p. 35, February 2008. Natheer Khasawneh is an Assistant Professor in the Department of Software Engineering at Jordan University of Science and Technology since 2005. He received his BS in Electrical Engineering from Jordan University of Science and Technology in 1999. He received his Master and PhD degrees in Computer Science and Computer Engineering from University Akron, Akron, Ohio, USA in the years 2002 and © 2012 ACADEMY PUBLISHER 141 2005 respectively. His current research interest is data mining, biomedical signals analysis, software engineering and web engineering. Oduy Samarah is a Master student in the Department of Computer Engineering at Jordan University of Science and Technology since 2009. He received his BS in Computer Engineering from Jordan University of Science and Technology in 2009. His current research interest is in Wireless sensor network, software engineering and web engineering. Safwan Al-Omari is an assistant professor in the department of Software Engineering at Jordan University of Science and Technology. Dr. Safwan Al-Omari received his PhD degree in Computer Science from Wayne State University in 2009. He received his Master degree in Computer and Information Science from the University of Michigan-Dearborn and Bachelor degree in Computer Science from the University of Jordan in 2003 and 1995, respectively. His current research is in software engineering, service-oriented computing, and cloud computing.. Stefan Conrad is a Professor in the Department of Computer Science at Heinrich-Heine-University Duesseldorf, Germany. He was an Associate Professor in the Department of Computer Science at Ludwig-Maximilians- University in Munich, Germany, from 2000 to 2002. From 1994 to 2000, he was an Assistant Professor at the University of Magdeburg where he finished his ‘Habilitation’ in 1997 with a thesis on federated database systems. From 1998 to 1999, he was also a Visiting Professor at the University of Linz, Austria. He received his PhD in Computer Science in 1994 at Technical University of Braunschweig, Germany. His current research interests include database integration, knowledge discovery in databases, and information retrieval. He is a (co)author of two books (in German) and a large number of research papers. 142 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Adaptive FEC Technique for Multimedia Applications Over the Internet M. AL-Rousan and . A. Nawasrah Jordan University of Science & Technology College of Computer and Information Technology Irbid, Jordan alrousan@just.edu.jo Abstract— Forward Error Correction (FEC) is a common technique for transmitting multimedia streams over the Internet. In this paper we propose a new approach of adaptive FEC scheme for multimedia applications over the Internet. This adaptive FEC will optimize the redundancy of the generated codewords from a Reed-Solomon (RS) encoder, in–order to save the bandwidth of the channel. The adaptation of the FEC scheme is based on predefined probability equations, which are derived from the data loss rates related to the recovery rates at the clients. The server uses the RTCP reports from clients and the probability equations to approximate the final delivery ratio of the sent packets to the client after applying the adaptive FEC. The server uses the RTCP reports also to predict the next network loss rate using curve fitting technique to generate the optimized redundancy in-order to meet certain residual error rates at the clients. Index Terms— Forward Error Correction (FEC), ReedSolomon coder, network loss prediction, redundant bandwidth optimization. I. INTRODUCTION Streaming of multimedia over the Internet suffers many difficulties, because of the already installed equipments and protocols that support mainly data applications. Recently, many multimedia applications over the Internet infrastructure are taking place. Applications such as Voice over IP (VoIP), Video on Demand (VoD) and interactive gaming are utilizing the installed switches, routers and backbone of the Internet. Using the Internet infrastructure ensures multimedia applications with low cost to end users. Although the TCP session guarantees the delivery of all the of the packets; it is not appropriate for on-line or interactive multimedia streams, because the out-of-order discard mechanism and NACK-retransmit technique generates unsuitable jitter of the play-back multimedia player at the client. The data of multimedia streams are attached to time, which means that the arrived packet is useful only if it arrived before the play-back time. So the Forward Error Correction (FEC) technique has been used for multimedia applications, which mainly depends on sending redundant packets that might be used to recover the lost packets [1-3]. A. Related Work Most of the FEC research concentrated toward bit error recovery, where the Reed-Solomon codec is © 2012 ACADEMY PUBLISHER doi:10.4304/jetwi.4.2.142-147 extensively used for storage devices such as the Compact Disks (CD) [15]. Recent network installations suffer very low Bit Error Rates (BER), as low as 10-9 [15] in fiber networks. The main loss contributor in the Internet is due to buffering of packets and discard mechanisms in routers. Also multimedia applications suffer the out-oftime delivery of packets, due to the latency of arrived packets. The packet level recovery includes more complex computations due to the large arrays involved in the generation of large blocks of data. For a ReedSolomon codec the computational complexity is still relatively low at the server, but it is much complex at the client side [7]. The FEC source techniques vary based on the application, Nonnenmacher et al [12] suggested a hybrid FEC and ARQ layer for time tolerance multicast applications, where the FEC is applied as the 1st layer, then the normal ARQ procedure will take place for lost packets after the FEC operation, Chan et al [4] also target the time tolerance video streams by introducing another selectively delayed replication stream rather than the FEC scheme, in order to achieve certain residual loss requirements. The work of Parthasarathy et. al. [13] presents another hybrid approach for high-quality video over ATM networks; by joining FEC technique at the sender side with simple passive error concealment at the client side, which in turn enhances the packet recovery even at high network loss rates. Yang et al [16] introduced a FEC scheme adapted for video over Internet, based on the importance of high spatial-temporal frame packets, and it its effect on further depending packets, so they send multiple redundancy levels based on the spatial content of the packets. Change, Lin and Wu [5] studied the FEC impact for CDMA 3-D systems over wireless ATM networks, so they presents two levels of FEC for header and payload packets, the header contains the Discrete Cosine Transform (DCT) information so it requires powerful FEC scheme to be reliably delivered, and the payloads will be transmitted with lower FEC protection. Song L., Yu M., Shaffer M. [15] present ideas for hardware designing blocks of Reed-Solomon coders. B. Forward Error Correction In traditional FEC, the server adds n-k redundant (parity) packets to every k data packets, this yields n packets to be transmitted. At the client side, if any k packets from the n packets were received then the client JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 can recover all the lost packets without retransmission. The amount of parities n-k is determined at the start of a session, where the redundancy is calculated based on a long-term average of network loss. The redundancy R is defined as the amount of parities n-k to the block of packets k as in equation 1 [12] R = n−k k (1) The generation of the extra parities requires mathematical codec. The codec must be reversible, so the client can reconstruct the lost data out of the received data. The Reed-Solomon codec is often used [6,7]. In this paper we adaptively optimize the parity packets n-k, in order to save the redundant bandwidth without degrading the quality of the displayed media. In our approach, the source generates the maximum allowed redundant parities n-k using Reed-Solomon encoder, but it only sends r parity packets that are required to overcome the expected network loss. To overcome the above weakness, we propose the BOAFEC approach where the source uses the long-term average only to determine the maximum allowed redundancy R. The BOAFEC predicts the current network loss using simple three-points curve fitting technique. The network loss prediction is used to determine the amount of parity packets r to be transmitted with the block of data packets k. A. Probability Equations and Residual Loss Calculation The BOAFEC uses the Reed-Solomon encoder to generate the maximum allowed redundancy packets n-k, but only sends r parities. That is because the ReedSolomon involves large arrays computations, and it is computationally efficient to design only one coder with fixed and maximum possible parities. The BOAFEC predicts the network loss then uses the probability equations to calculate the expected loss at the client. And since packets suffer only two cases, whither delivered or lost, the Binomial Distribution is hold [7]. Assuming the loss of a packet is the event of success, and applying the Binomial distribution for a group of n packets. The probability of l packets to be lost from n packets, if the loss probability is πv will be: ⎛ n⎞ P(Loss= l) = ⎜⎜ ⎟⎟*(1−πv )n−1 *πvn ⎝l ⎠ Figure 1. FEC group packets with k=4, n-k = 2 and n = 6 Our work of adaptive FEC shows a considered bandwidth saving over networks with low to medium loss rates without affecting the quality of the multimedia applications. That is, our scheme saves about 25% of the redundant bandwidth, which leads to more clients can subscribe to the same server, also the proposed scheme responds to networks with high loss rates by saturating to the maximum allowed redundancy, which corresponds to a best effort mode, where the adaptive FEC cannot save the bandwidth but can achieve the same quality of a Reed-Solomon FEC. II. BANDWIDTH OPTIMIZED ADAPTIVE FEC (BOAFEC) The traditional FEC approach determines the redundant parities based on the long-term average of network loss, which is not suitable for multimedia applications where the loss is instantaneous. On the counterpart; generating on-the-spot parities is not possible since the source does not know the current loss rate at the client side, also the generation of adaptive parities involves more computational complexity. Also the long-term average of loss can miss lead the source to send more parities than required, which results in wasting the bandwidth. © 2012 ACADEMY PUBLISHER 143 (2) Since the group of n packets includes k data packets and r parity packets, the Reed-Solomon coder can recover up to r different packets from the lost packets. So the FEC coder has the property that if l packets were lost from the above group, then two cases apply: l ≤ r: All packets will be recovered l > r: None of the packets can be recovered The FEC function of order r is defined as: ⎧0, l ≤ r FECr (l) = ⎨ ⎩l, l > r (3) The Expectation function [8] of the number of lost packets is: ⎛ n⎞ l E(x) = ∑l⎜⎜ ⎟⎟*(1−πv )n−l *πv 1 ⎝l ⎠ n (4) And hence the Expectation function after applying the FEC is: ⎛ n⎞ l E(x) = ∑l⎜⎜ ⎟⎟*(1−πv )n−l *πv r+1 ⎝ l ⎠ n (5) The Expectation function presents the number of expected packets over a group of n packets, so new loss 144 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 rate πv‘ which is the same as the residual loss rate ξr after applying the FEC operation is: πv' =ξr = E n • • • (7) And so the delivery rate D is given as: D = 1- π’v (8) The above equations lead the source to calculate the residual loss rate ξr. The source will adaptively increase or decrease the redundant packets r, in order to meet the specified residual loss ξs at the client. The number of packets k and number of maximum added codewords n-k will influent the Reed-Solomon encoder, the largest block size will result in more computational complexity. The L. Rizzo Reed-Solomon codec [7] is commonly used for software FEC coding. B. Network Loss Prediction The network loss heavily fluctuates over time, so the average of long periods rarely presents the actual network status, Figure 2 shows the loss of a network running for 120 seconds, although Figure 2 presents the average of 500ms for each reading, it is still fluctuating over time. The long-term average loss of this run was 15.3%, while it is obviously deviate most of time on this average. We present a simple network loss prediction based on the last three RTCP reports from the destination to the source. Every RTCP report contains the loss at the client at last transmission. The source constructs a matrix of the network loss, and using Gaussian Elimination method and Pivoting, the source can predict the next loss rate in a finite time. The source will then use the predicted loss to send the appropriate number of parity packets r, which can be used at the client to reconstruct the lost packets in order to meet the specified residual loss rate ξs. Start the transmission assuming the highest network loss, and so it uses the maximum redundancy. Wait for three RTCP reports in order to predict the next network loss rate. Calculate the optimal redundancy based on the probability equations then update the number of redundant packet for the next transmission. Client: • • • • Ask for a reservation for a suitable bandwidth for the Multimedia application. Determine the acceptable residual loss rate ξs for the application. Specify a client window size based on the round-trip-time, the block of packets k and the Rmax Send RTCP reports D. The BOAFEC Parameter The BOAFEC generates the redundant parities based on four parameters that are the Network Loss Rate (NLR), the maximum available redundant bandwidth, the maximum allowed jitter and the target residual loss rate ξs. Network Loss Rate (NLR): The NLR apparently is the main influence factor of the BOAFEC decision of the number of redundant parities. The BOAFEC cannot have control over the NLR, because the NLR corresponding to the network failures or congestions. Also the NLR is the only continuously changing variable of the four BOAFEC parameters, because the other three parameters are fixed at the start of a session. C. BOAFEC Procedure The server and client negotiate at the start of the session to determine the network status, such as the round-trip-time and the long-term loss average. Also they negotiate to determine the parameters of the operation such as residual loss rate, number of packets k in each block and the maximum allowed redundancy. The procedure of operation for the BOAFEC is as follows: Server: • • Allocate a certain bandwidth for each client at the start of a session based on it available resources and the multimedia application. Determine the k and n-k parameters, and hence the maximum allowable redundancy from equation (1) based on the long-term history of the network loss and the target residual loss ξs. Rmax = n−k k © 2012 ACADEMY PUBLISHER Figure 2: Raw Network Loss based on 120 seconds simulated network, every reading represents an average of 500ms. Maximum Redundant Bandwidth (MRB): The MRB determines how much redundancy can the server afford for the client as redundant codewords to be JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 used later for recovering lost packets. The MRB inversely proportional to the residual loss rate. The MRB is defined as the number of redundant parity packets to the number of data packets, equation 1 represent the MRB. The server determines the MRB based on the registered QoS for each client, the better QoS requirement needs more MRB to be associated to the data transmission, in –order for the receiver to reconstruct more lost packets. Maximum Allowed Jitter (MAJ): The MAJ represent the maximum jitter for a packet to be displayed in order for the media application to run smoothly. The MAJ indicates the scale of interactivity for the media application. Applications with higher inactivity requires less MAJ. The MAJ leads the media player to determine when the player should discard a delayed packet. Target Residual Loss Rate (ξs): The target residual loss rate ξs is the maximum tolerable loss rate for a multimedia application in order to run smoothly. Since the multimedia applications cannot tolerate the excess delay generated from the retransmission of the lost packets, there must be a residual loss even when using the FEC. The residual loss can further be reduced by using receiver based error correction techniques like the Interleaving or repetition of lost packets [14]. III. NETWORK LOSS BEHAVIOR The network loss behavior over the Internet is very complex to be defined, because of the many variables that cannot be predicted nor defined. Although the loss over a channel is simply figured by the number of lost packets related to the total number of sent packets, but the sequence or probability of a packet to be lost is not simply defined. A. Gilbert Model A well known approximation of network loss is the Gilbert-Model, which uses Two-State Markov chain to represent the end-to-end loss. The Gilbert model is widely used to simulate the Internet loss, due to its simplicity and mathematical traceability [9][12][16]. The Two-State Markov is shown in Figure 3. The 0 state represents a packet was lost, where the 1 state represents a packet reached the destination. Let p denote the transition from the 0 state to state 1, and q denote the transition from state 1 to state 0, so the probability of losing a packet is (1-q), and the probability to lose n consecutive packets equals (1-q)qn-1. From the Markov Chain transition matrix [16], the long run loss probability π can be defined as: π = © 2012 ACADEMY PUBLISHER p p + q (9) 145 Fig ure 3: Two-State Markov Model IV. SIMULATION RESULTS In this section we present the simulation results for the BOAFEC scheme, we show the response of the BOAFEC with different MRB and how it effects the overall residual loss ξs and the used redundancy. Also we show the BOAFEC results and compare it with the pure Reed Solomon FEC (RS FEC) and a replicated stream approach. The MRB is very important factor for improving the recovery rates at the clients, whereas the server must bound the MRB in order to determine the number of clients that can be attached to it at once. The MRB relates directly with recovery rates at the clients, and hence it relates inversely with the residual loss. Using the BOAFEC can let the server to assign more MRB to clients since the BOAFEC scheme optimizes that redundancy. Figures 4 and 5 show the response of the BAOFEC to different NLR when the MRB are varying. Figure 4 shows that increasing the MRB results in better residual loss rates at the clients, but it also shows that increasing the MRB up to a certain level for networks with low loss rates, such as when the NLR = 0.05; where increasing the MRB over the 0.2 results in slight reduction of the residual loss at clients, this response was due to the BOAFEC response when the residual loss matches the target loss ξs. Figure 5 presents the relation of the MRB to the real used redundancy, note that the BAOFEC optimizes the redundant bandwidth so the parity packets are used as much as possible. We finally compare the BOAFEC with the traditional Reed-Solomon FEC and with the replicated stream FEC scheme. The replicated stream approach simply sends every packet twice, this increases the probability that at least one of the two packets could arrive. Apparently the replication stream requires 100% of redundancy, with the lowest processing overhead over the known FEC. The replicated stream is very useful for devices with low processing resources, also it is suitable for networks with high loss rates. The Reed-Solomon codec was simulated using the parameters k = 30, n-k = 15 and hence n = 48. The BOAFEC parameters was residual loss rate ξs = 1%, k = 30 and maximum redundancy = 0.6. 146 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Figure 4: Residual loss versus the MRB for different NLR, k = 20 and ξs = 1% Figure 5: The used redundant bandwidth versus the MRB for different NLR, k = 20 and ξs = 1% Figure 5: Redundant Bandwidth versus Network Loss. k = 30, n-k = 18, ξs = 1% and maximum redundancy = 60%. From Figure 4, the residual loss rate for the BOAFEC scheme is very close to the RS FEC in the region of loss of 0% to 20%, where both the BOAFEC and RS FEC performs much better than the replicated stream in the above region, but it is still known that the replication stream performs better than both in networks with high loss rates (greater than 40%). Figure 4 shows also a swing results for the BOAFEC under the specified residual loss ξs, which is 1% in our example. The residual loss ξs is considered to be compensated, whither it is objectively tolerable or the destination uses other client based repair techniques, such as Interpolation or regeneration of lost packets [14]. Figure 5 shows the redundant bandwidth required for each scheme. Obviously the BOAFEC uses the lowest bandwidth while maintain close residual loss rates. The BOAFEC achieves its best results for networks with low to medium loss rates. Note when the loss rate exceeds the 25%; the BOAFEC saturates to the limit of its maximum allowed redundant bandwidth in order to reduce the residual loss rate. V. CONCLUSION Figure 4: Residual loss versus the network loss. k = 30, nk = 18, ξs = 1% and maximum redundancy = 60%. © 2012 ACADEMY PUBLISHER The packets loss is inevitable in networks, data networks can tolerate the latency but not the loss, where multimedia networks can tolerate the loss but cannot tolerate the latency, due to the interactive nature of multimedia applications. The FEC presents the least latency recovery technique. The FEC is a very promising technique for developing Multimedia applications over the Internet without scarifying the QoS of the media applications. In this paper, we proposed and study a bandwidth optimized FEC approach, by predicting the loss at the client, while optimizing the amount of redundancy in order to achieve a certain residual loss rate. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 The BOAFEC achieves very close recovery rates to the pure FEC, while saving 25% (on average) of the bandwidth, when the network loss rates are in the range of 0% to 20%. In networks with high loss rates, the BOAFEC saturates on the maximum allowed redundancy in order to achieve the best possible quality. REFERENCES [1] Chih-Heng Ke, Rung-Shiang Cheng2, Chen-Da Tsai, and Ming-Fong Tsai, "Bandwidth Aggregation with Path InterleavingForward Error Correction Mechanism for Delay-Sensitive Video Streaming in Wireless Multipath Environments", Tamkang Journal of Science and Engineering, Vol. 13, No. 1, pp. 1-9 (2010). [2] Tsai, M.-F., Shieh, C.-K., Hwang, W.-S. and Deng, D.-J., “An AdaptiveMulti-Hop FEC Protection Scheme for Enhancing the QoS of Video Streaming Transmission overWireless Mesh Networks,” International Journal of Communication Systems, Vol. 22, pp.1297−1318 (2009). [3] Edward Au, Francesco Caggioni, and Jeff, Hutchins, "Core Optics100G Forward Error Correctio", White Paper, 2010, www.oifforum.com, accessed June 21, 2011. [4] Chan S., Zheng X., Zhang Q., Zhu W., Zhang Y., “Video Loss Recovery with FEC and Stream Replication”, IEEE Transactions on Multimedia, VOL. 8, NO. 2, April 2006. [5] Chang P., Lin C., Wu M., “Design of Multimedia CDMA for 3-D Stereoscopic Video over Wireless ATM Networks”, IEEE Transactions on Vehicular Technology, VOL. 49, NO. 2, March 2000. [6] Lacan J., V. Roca, J. Peltotalo, S. Peltotalo, “ReedSolomon Forward Error Correction (FEC)”, draft-ietf-rmtbb-fec-rs-01.txt, (work in progress) , June 2006. [7] Luby M., Vicisano L., Gemmell J., Rizzo L., Handley M., Crowcroft J. “The Use of Forward Error Correction (FEC) in Reliable Multicast”, RFC 3453, December 2002 [8] Mathews J.H., “Numerical Methods for Computer Science, Engineering and Mathematics”, 1st Edition, ISBN 0-13626565-0. [9] Mizuochi T., “Recent Progress in Forward Error Correction and Its Interplay With Transmission Impairments”, IEEE Journals, VOL. 12, NO. 4, July/August 2006. [10] Moore A.W., “Probability Density in Data Mining”, Carnegie Mellon University. [11] Moore A.W., “Probabilistic and Bayesian Analytics”, Carnegie Mellon University. [12] Nonnenmacher J., Biersack E., Towsley D., “Parity-Based Loss Recovery for Reliable Multicast Transmission”, IEEE/ACM Transactions on Networking, VOL. 6, NO. 4, August 1998. [13] Parthasarathy V., Modistino J., Vastola K. S., “Reliable Transmission of High-Quality Video over ATM Networks”, IEEE Transactions on Image Processing, VOL. 8, NO. 3, March 1999. [14] Perkins C., Hodson O., Hardman Y., “A Survey of Packet Loss Recovery Techniques for Streaming Audio”, University College London, IEEE Network, September 1998. [15] Song L., Yu M., Shaffer M., “10 and 40 Gbs Forward Error Correction Devices for Optical Communications”, IEEE Journals of Solid State Circuits, VOL. 37, NO. 11, November 2002. [16] Yang X., Zhu C., Li Z., Lin X, Ling N., “An Unequal Packet Loss Resilience Scheme for Video Over the Internet”, IEEE Transactions on Multimedia, VOL. 7, NO. 4, August 20. © 2012 ACADEMY PUBLISHER 147 Mohammad Al-Rousan is currently A full professor at the Department of Network Engineering and Security, Jordan University of Science and Technology (JUST). He was educated in KSA, Jordan and USA. He received his BSc in Computer Engineering from King Saud University, Saudi Arabia, in 1986. He received his M.S. in Electrical and Computer Engineering from University of Missouri-Columbia, MI, USA in 1992. In 1996 , he was awarded the PhD in Electrical and Computer Engineering from Brigham Young University, UT, USA. He was then an assistant professor at JUST, Jordan. In 2002, he joined the Computer Engineering Department at American University of Sharjah, UAE. Since 2008, he has been the Dean of College of Computer and Information Technology at JUST. He is the Director of the Artificial Inelegant and Robotics Laboratory, and a co-founder for the Nano-bio laboratory, at JUST. His search interests include wireless networking, System protocols, intelligent systems, computer applications, and Nanotechnology, Internet computing. Dr. AlRousan served on organising and program committees for many prestigious international conferences. He is the recipient of several prestigious awards and recognitions. He co-chaired international conferences on Information and Communication Systems (ICICS09 and ICICS11). Ahmad Nawasrah Received his MS in Computer Engineering from Jordan University of Science and Technology in 2007. He has been the COE of AL-Bahith Co. His research interests include embedded systems and coding. 148 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Semantic Approach for the Spatial Adaptation of Multimedia Documents Azze-Eddine Maredj and Nourredine Tonkin Research Center on Scientific and Technical Information (CERIST) Ben Aknoun, Algiers, Algeria Email: {amaredj, ntonkin}@mail.cerist.dz Abstract—With the proliferation of heterogeneous devices (desktop computers, personal digital assistants, phones), multimedia documents must be played under various constraints (small screens, low bandwidth, etc). Taking these constraints into account with current document models is impossible. Hence, generic source documents must be adapted or transformed into documents compatibles with the target contexts. The adaptation consists of modifying this specification of the document in a minimal way to lead it to satisfy the target profile. The profile defines constraints that must be satisfied by the document to be played. At this level, the transgressive adaptation becomes necessary when no specification model exists to satisfy this profile. We focus on the spatial dimension of a multimedia document and we provide an approach for the spatial adaptation that permits to best preserve the initial document semantic. In the proposed transgressive adaptation, the relations that do not comply with the target profile are not most often replaced by the closest ones due to the fact that their immediate neighboring relations have the same similarity degree whereas there may exist differences between them. In this paper, we extend this approach to, firstly, best preserve the proximity between the adapted and the original documents by weighting the arcs of the conceptual neighborhood graphs and secondly, to deal with complex relations models by integrating the concept of the relations relaxation graphs that permit to handle the distances defined within the relations. Index Terms—multimedia document, spatial adaptation, conceptual neighborhood graph, distance relaxation I. INTRODUCTION Multimedia document should be able to be played on different platforms (mobile phones, PDAs, laptops, PCs…) and must be presented according to the user preferences. The challenge is to execute and transmit to users media objects with a high quality in a consistent presentation that reproduces as closely as possible the semantics of the original document. Indeed, in the interactive online courses, the reader can use any type of devices without worrying whether the document is supported and the provided document shall reproduce the same content as specified by the author. To deal with the diversification of target contexts and user preferences, multimedia document must to be adapted before being played, i.e., from the profile (hardware and software constraints and user preferences) © 2012 ACADEMY PUBLISHER doi:10.4304/jetwi.4.2.148-154 and the source document, the adaptation must transform the document to be compatible with the target profiles. A lot of works has been done in this way and showed that there are two types of adaptation. The first type is to specify directly the different organizations of the document for each target platform. In this case, the task becomes complex since it requires an extra work to the author when he should specify the conditions of execution of his document on each target context. It can also be incomplete since the author must foresee all the existing targets. The second type of adaptation is based on the dynamic adaptation of the document performed by a program transforming the document. In this type, two kinds of adaptation are possible: a local adaptation that considers the media object individually but does not most often, preserve the document semantics and the global adaptation related to the document composition (temporal, spatial and hypermedia specifications) and which preserves the semantics of the document [1]. This paper focuses on the latter type of the adaptation and concerns only the spatial aspect. It is devoted to the transgressive adaptation of the spatial relations where the document is represented by an abstract structure expressing all relations between media objects. In this context, adapt a multimedia document consists in transforming its abstract structure in a manner that it meets the requirements of the target profile. In [1], it was shown that a spatial relation is represented by the combination of the Allen relations [2] on the horizontal and vertical axes and the spatial adaptation follows the same principle as the one defined for the temporal adaptation in [3]. This principle says that if no model of the original specification satisfies the adaptation constraints (context constraints) then transgressive adaptation is applied. In this approach, the transgressive adaptation consists in transforming the relations between media objects while ensuring two main properties: (i) the adaptation constraints are satisfied and (ii) the adapted document is, semantically, as close as possible to the initial document. This consists in finding another set of models (solutions), close to the initial, which satisfies these constraints. The proposed solution is to replace each relation that does not meet the profile by another semantically close. To find the closest relations, the conceptual neighborhood graph proposed in [4] is used. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 In this approach, the specification is done using models (temporal and spatial) where delays and distances between media objects are not considered, when actually, the produced documents (which are subjects of adaptation) are often, for expressiveness purpose, composed using very complex models. In our previous works [5], we showed the interest of the weighted conceptual neighborhood graph usage when seeking for the closest substitution relations. In this work, we will extend this approach to spatial models where distances between media objects are defined. To represent such spatial models, we use the temporal model of Wahl and Rothermel [6] which is an adaptation of the general model of Allen [2] where the authors proposed a set of composition operators integrating the delay concept in the relations. The elaboration of those operators was motivated by the need to facilitate the temporal specification of the document. More details about this representation are presented in section 4. In the second section of this article, we present the context of our work. The third section presents multimedia adaptation approaches and in section 4, we present our approach to the spatial adaptation. In the fifth section we present the adaptation procedure and the last section concludes this paper. II. CONTEXT OF THE WORK A multimedia document specification comprises temporal relations defining inter media objects synchronization and spatial relations that express the spatial representation of these media objects. The different users of multimedia documents impose different presentation constraints on the specification like display capabilities (screen size and resolution). The user’s device may do not have the necessary capabilities to support the spatial constraints of the document. For example, let us consider a multimedia document with the following spatial relation: image B Above image A and the resolution of the two images is 200 x 300. If the terminal resolution is superior or equal to 400 x 600 then, the user will not have any issue when displaying this document but, if its resolution is inferior to 400 x 600, we can have the following solutions [6]: (i) delete one of the two images or (ii) resize image A or image B or (iii) change the spatial relation Above by another relation. The deletion of one of the two images may alter or produce an incomprehensible document. Resizing one of the objects will not affect the relation between them but may lead to a wrong interpretation or make the image indistinguishable in the case of an X-ray radio for example. The spatial relation modification does not cause information waste as in the image deletion and does not make indistinguishable the images. It only changes the places of those images. Here, we focus on the relations transformation while trying to preserve the document semantic as well as possible. © 2012 ACADEMY PUBLISHER 149 Before we present the spatial adaptation of multimedia documents, we start by giving the different approaches for multimedia documents adaptation. III. ADAPTATION APPROACHES Several approaches have been proposed for the multimedia documents adaptation and we group them into four categories: the three categories, specification of alternatives, using transformation rules and using flexible documents models as presented in [1] to which we added the semantic and dynamic approaches. Specification of alternatives: The author of the document specifies a set of presentation alternatives by defining criteria on some media objects of the document. If the media objects satisfy the criteria then, they are selected and presented else, they are deleted from the presentation. The adaptation is performed beforehand like in SMIL which defines the operator switch to specify the alternatives that are played only if they comply with the target profile. The advantage of this family is that the adaptation is instantly. However, the author has to foresee all the possible target profiles and specify all the conceivable alternatives. Using Transformation rules: This category uses a set of transformation rules that are applied to the multimedia documents. The adaptation consists on selecting and applying rules to transform the document to satisfy the target profile. The advantage of this approach is that the author has not to care about the execution context of his document. Furthermore, this set of rules can be completed if new contexts appear. However, the entire transformation rules should be specified to ensure an efficient adaptation. Using flexible documents models: The adapted document is generated automatically from a noncomposed set of media objects represented by a model defining an abstraction of the document. Thanks to a formatting model, a multimedia presentation may be generated. In this category, we can mention Guypers [8] that aims to generate web-based presentation for multimedia databases. It is based on the use of semantic relations between multimedia objects and ontologies. Semantic and dynamic approaches: In [1], an approach based on the qualitative specifications of the document was proposed. Each document is considered as a set of potential executions and each profile is considered as a set of possible executions. The adaptation is done according to the context at the execution time. It consists on calculating the intersection between the potential (initial specification models) and the possible executions corresponding to the target profile. The advantage of this approach is its independence from description languages. However, the usage of the conceptual neighborhood graphs where all the weights of the arcs are set to one (01) assumes that a relation may be replaced by any one of its immediate neighbors while there are substantial differences between them; especially when using more elaborated relations models. Furthermore, the delays and the distances defined within the relations are not considered. 150 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 In the reminder of this paper, we present our proposition for the spatial adaptation which fits into this last category. IV. SPATIAL ADAPTATION A. Context Description [9] To describe the target context (profile), the universal profiling schema (UPS) [10] can be used. It is defined to serve as a universal model that provides a detailed description framework for different contexts. UPS is built on top of CC/PP and RDF [11]. Unlike CC/PP, UPS does not describe only the context of the client but it describes also all the entities that exist in the client environment and that can play a role in the adaptation chain from the content server to the target client. UPS includes six schemas: the client profile schema, the client resources profile, the document instance profile, the adaptation method profile and the network profile. The description of the user is included in the client profile schema. B. Spatial Relations Model To describe the spatial presentation of a multimedia document, we use the directional representation [12] that permits to define the orientation in space between media objects. In this representation, a media object is considered as two intervals corresponding to its projection on the horizontal and vertical axes. The set of the directional relations is obtained by combining the intervals of the two media objects on the two axes by using the Wahl and Rothermel relations model [6] presented in figure 1, on each axis. There are 20 possible relations (10 basic relations and theirs inverses) on each axis. Thus, a spatial relation is represented by two temporal relations [1]: one on the horizontal axis and one on the vertical axis. For example, the spatial relation left_top can be represented by its two components: before (on the horizontal axis) and before (on the vertical axis). In the multimedia document spatial adaptation, we follow the same procedure as the one presented in [5] for the temporal adaptation. C. Conceptual Neighborhood Graph of the Spatial Relations The representation of the spatial relations by two components (temporal relations) permits us to use the conceptual neighborhood graph of the temporal relations [4] to elaborate the spatial relations conceptual neighborhood graph. Indeed, for each component of the spatial relations (vertical and horizontal components), we use the temporal relations conceptual neighbourhood graph. The composition of the two graphs gives the conceptual neighborhood graph of the spatial relations. It’s the square product of the conceptual neighborhood graph of temporal relations. Conceptual Neighborhood Two relations between two media objects are conceptual neighbors if they can be directly transformed into one another by continuous deformation (shortening or lengthening) of the duration of the media objects without going through an intermediate relation. For example, in figure 2, the relations before and Overlaps are conceptual neighbors since a temporal extension of the media object A may cause a direct transition from the relation before to the relation Overlaps. And in figure 3, the relations before and Contains are not conceptual neighbors, since a transition between those relations must go through one of the relations Overlaps, Endin, Cobegin, Coend, Beforeendof1 , Cross-1, Delayed-1 or Startin-1. The Conceptual neighborhood graph, presented in figure 4, is defined as a graph where the nodes correspond to the relations of Wahl and Rothermel model and each arc between two nodes (relations) r and r’ corresponds to the satisfaction of the propriety of the conceptual neighborhood, i.e., r and r’ are conceptual neighbors. Figure 2. Example of neighboring relations. Figure 1. The relations model of Wahl and Rothermel [6] © 2012 ACADEMY PUBLISHER Figure 3. Example of non-neighboring relations JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 151 Figure 6. Information items of a relation TABLE I. INFORMATION ITEMS THAT CHARACTERIZE A TEMPORAL RELATION Information 1 2 3 4 5 6 Signification begin(A) begin(B) end(A) end(B) 1>2 1<2 Information 7 8 9 10 11 12 1>4 1<4 3>4 3<4 3>2 3<2 Signification Figure 4. Conceptual neighborhood graph of the Wahl and Rothermel relations Figure 5. Conceptual neighborhood graph of Allen relations Weighting of the Conceptual Neighborhood Graph In the conceptual neighborhood graph of the relations of Allen [2] (figure 5) presented in [3], the weights of the arcs are set to 1. This assumes that a relation can be indifferently replaced by any one of its neighbors having the same smallest conceptual distance whereas there may be a substantial difference between the candidate relations. It would be interesting to differentiate the proximity degree between these relations. The distinction in the proximity of the neighboring relations is done by assigning different weights to the arcs of a graph.To assign different weights to the arcs of a conceptual neighborhood graph, our idea is to identify all the information items that characterize a temporal relation so they serve as a basis for comparing and differentiate the similarity between the relations. Information Items of a Relation The analysis of a relation between two media A and B (Figure 6) on a time axis showed that the positioning is done according to the order that exists between their respective edges (occurrence order of the beginning and ending instants of the media objects). Therefore, to characterize a temporal relation, we selected the following information items: the values of the beginnings and the endings of the media objects and the orders (precedes (>) or succeeds (<)) between their edges. Table1 gives a recapitulation of the selected information items. Then, we have for each relation, determined the information items that it contains among the selected ones and the result is given in Table 2. © 2012 ACADEMY PUBLISHER TABLE II. INFORMATION ITEMS CONTAINED IN THE WAHL AND ROTHERMEL RELATIONS Before Overlaps Endin Cobegin Coend Beforeendof-1 Cross-1 Delayed-1 Startin-1 While Contains Beforeendof Cross Delayed Startin Cobegin-1 Endin-1 Coend-1 Overlaps-1 Before-1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 2 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 3 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 0 4 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 5 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 6 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 8 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 9 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 11 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Calculation of the Similarity Degree Between a Relation and its Immediate Neighbors To calculate the similarity degree between a relation and its neighbors, a distance should be defined. The aims of this distance is to make the difference of proximity between the relations but not to have a precision. Thus, any distance definition can be used (Euclidian distance, Manhattan distance, etc). We choose the Manhattan distance defined as follows: Let us consider the two vectors V (v1, v2... vn) and U (u1, u2... un). The Manhattan distance between V and U is: d (V-U) = Σni=1 |vi - ui| In our work, we consider the information items of each relation as a vector where the value of each information item is set to 1 whether this information item is included in the relation or zero (0) otherwise. Using the Manhattan distance, we established the distances between each relation and its immediate neighbors as presented in table 3. Then, we affect the calculated distances to the arcs of the conceptual neighborhood graph as shown in figure 7. 152 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 TABLE III. DISTANCES BETWEEN THE RELATIONS AND THEIRS NEIGHBORS opportunity to best preserve the semantic of the initial document. For example, the relation A Before (d) B can be transformed into the relation A Before (-) B where the symbol "-" means that the distance is not specified. We present below, the delays relaxation of the relations of the Wahl and Rothermel model. For this, we use a graph structure (we call it relaxation graph) based on the number of delays defined for a relation as shown in figure 8. The relaxation graph of a relation is composed by the different forms of this relation obtained by a progressive relaxation of its delays. To illustrate this principle, consider the example of the figure 9 where the specified relation is Image <Overlaps (200,50,250>, Contains (10, 90)> Text And the target screen size is 480 x 360. The two objects cannot be displayed because the width of the area they occupy (500 px) is larger than the screen width (480 px). The distances relaxation of this relation can lead to an adaptation solution without changing the relation and this solution (see figure 10) may be: Image <Overlaps (180, 70, 230>, Contains (10, 90)> Text. Figure 7. Weighted conceptual neighborhood graph of Wahl and Rothermel relations The Conceptual Distance of a Spatial Relation The conceptual distance [1] between two relations r and r' is the length of the shortest path between those relation in the conceptual neighborhood graph. The conceptual distance of a spatial relation is defined as the sum of the conceptual distances of its two components (temporal relations on the two axes). For example, let’s consider the two spatial relations r1=<Before, Overlaps> and r2=<Endin, While>. The conceptual distance between r1 and r2 is dx (r1, r2) + dy (r1, r2) i.e, d (Before, Endin) + d (Overlaps, While). C. Distance Relaxation According to the consideration of a spatial relation as two temporal relations, its distances are taken as delays in the two temporal relations. In this case, before seeking for substitution relation, we start by trying to relax these delays in order to keep the relations and give us the © 2012 ACADEMY PUBLISHER Figure 8. Delays relaxation graphs Figure 9. Example of a spatial specification Figure 10. An adaptation solution with distance relaxation Figure 11. An adaptation solution without distance relaxation If we proceeded directly by replacing the relation as was proposed in [1] then, the relation Overlaps will be JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 directly replaced by the relation While and we will get the result of the figure 11. V. ADAPTATION PROCEDURE The semantic adaptation of a multimedia document is achieved by modifying the specification of the document. This involves finding another set of values for the distances of the relations or otherwise a set of relations satisfying the adaptation constraints of the target platform with the smallest distance from the initial specification. The distances relaxation and the relations replacement processes are done by traversing the graphs (relaxation graph for distances relaxation and conceptual neighborhood graph for the relations replacement) in both directions. This is done by searching the shortest path between the relation to be replaced and the other relations of the graph. A relation is considered as candidate to replace the initial only if it does not lead to an inconsistency (for this we recommend the use of the Cassowary resolver [13]). Finally, the solution with the smallest conceptual distance is considered as the adapted document. The adaptation procedure is done by following two phases: Distances relaxation and transgressive adaptation. A. Adaptation Algorithm We implemented this procedure throw an algorithm as shown in algorithm 1. // Phase 1: relaxation Input : MI1j: //Matrix of the document relations // relaxation relations search for i = 0 to n-1 do // n number of objects for j = 0 to n-1 do RG = SelectRG(MI[i, j]); MS[i, j] = determineRelaxedRelations(RG); end for end for // Elaboration of the possible combinations //output : combinations list Cp Cp = ElaborateCombinationsMatrix(MSij); // Sort combinations according to the conceptual distance for i=0 to nCombinations -1 do d[i] Å 0; // Matrix of the conceptual distances for j=0 to n-1 do d[i] = d[i] + Djikstra(C[i,j], MR[i,j]); end for end for QuickSortCombinations(C[i], d[i]); // Consistency Verification found Å false ; for i = 0 to nCombinations -1 do if Consistency (C[i]) then Solution Å (C[i]); Exit(); end if end for // Phase 2: replacement // replacement relations search Clear (MSi, j); for i = 0 to n-1 do // n number of objects for j = 0 to n-1 do for k=1 to NR do // NR : number of the relations of the model © 2012 ACADEMY PUBLISHER 153 if respecteProfile (Rm [k]) then //Rm set of the model relations MS [i, j] Å MS [i, j] ∪ {Rm [k]}; end if end for end for end for // Elaboration of the possible combinations //output : combinations list Cp Cp = ElaborateCombinationsMatrix(MSij); // Sort combinations according to the conceptual distance for i=0 to nCombinations -1 do d[i] Å 0; // Matrix of the conceptual distances for j=0 to n-1 do d[i] = d[i] + Djikstra(C[i,j], MR[i,j]); end for end for QuickSortCombinations(C[i], d[i]); // Consistency Verification found Å false ; for i = 0 to nCombinations -1 do if Consistency (C[i]) then Solution Å (C[i]); Exit(); end if end for Algorithm 1. Adaptation algorithm - RG : relaxation graph of the selected relation MI[i, j] - determineRelaxedRelations(RG) : determines all the relations forms obtained by relaxing the initial relation by using the correspondent Relaxation graph GR. - ElaborateCombinationsMatrix(MSij): determines all the possible combinations of the candidate relations for the replacement of the initial relations of the document. - Consistency (C[i]): Calls the linear constraints solver: Cassowary for the consistency verification of the solution. B. Algorithm Description Distance Relaxation The algorithm takes as input the matrix MIij: matrix of the complete relations graph of the initial specification. For each relation of MIij, we identify its corresponding RG from which we determine all the different form of this relation obtained by the relaxation process (only the relations that comply with the target profile are retained). The result is placed in the substitution matrix MSij. Then, we determine, by combinations, all the possible solutions Ci from the matrix MSij. Next, we perform an ascending sort of all solutions of Ci with the classical sorting algorithm "quick sort" using the conceptual distances calculated by using the Dijkstra's shortest path algorithm in the GR of each relation. This will ensure that the solutions are sorted from the closest specification to the farthest from the original. Finally, we call the constraints solver (cassowary [13]) for the consistency verification and the calculation of the solution (new values to the distances) for each specification in the order defined by the sort. The first meet with a consistent solution stops the process and that solution is considered as the adapted document. 154 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Relations replacement If at the end of the distances relaxation phase, no solution was found, we perform the replacement of the relations: We take back the initial relation matrix MIij and we determine the substitution matrix MSij, which gives for each relation of the matrix Mij the relations candidates for its substitution (not its relaxation as in the first phase) from those that meet the target profile constraints among the relations of the model, we determine by combinations, all the possible solutions Ci from the matrix MSij. Next, we perform an ascending sort of all solutions of Ci using the conceptual distances calculated by using the Dijkstra's shortest path algorithm through the conceptual neighborhood graph. Finally, we call the constraints solver cassowary for the consistency verification and the calculation of the solution for each specification. The first verification that gives a consistency stops the process of solutions consistency verification. VI. CONCLUSION In this paper, we proposed an approach to the spatial adaptation of multimedia documents that takes into account the distances defined in the relations. The differentiation in similarity degrees between each relation and its neighbors by affecting different weights to the arcs of the conceptual neighborhood and the introduction of the relaxation principle to take into consideration the distances permit to replace a relation with its closest semantically and thus to keep the document as close as possible to the original document. The first axe of our future work would be to merge the two phases of the adaptation procedure by integrating the RGs of the relations in the conceptual neighborhood graph and then, have only one phase that will permit to have an adaptation solution composed by relaxed and replaced relations. The second axe would be to determine the similitude measure between the adapted document and the original one by using some extra information (annotations) like weights assigned to relations based on their importance in the specification to determine relations to be modified or to be removed if it’s necessary. REFERENCES [1]. S. Laborie. Adaptation sémantique de document multimédia. PhD Thesis, University of Joseph Fourier Grenoble 1, France, 2008. [2]. J. F. Allen. Maintaining knowledge about temporal intervals. Communication of the ACM, vol. 26 (1), 1983, pp. 832–843 [3]. J. Euzenat, N. Layaïda, V. Diaz. A semantic framework for multimedia document adaptation. 18th International Joint Conference on Artificial Intelligence (IJCAI). Acapulco (MX), 2003, pp. 31-36. [4]. C. Freksa. Conceptual neighborhood and its role in temporal and spatial reasoning. In Proceedings of the IMACS International Workshop on Decision Support Systems and Qualitative Reasoning. Toulouse, France, 1991, pp. 181-187. © 2012 ACADEMY PUBLISHER [5]. A. Maredj, N. Tonkin. Weighting of the conceptual neighborhood graph for multimedia documents temporal adaptation. Proc. Of the International Arab Conference on Information technology (ACIT’2010). Benghazi-Libya, 2010, pp 98. [6]. T. Wahl, K. Rothermel. Representing Time in Multimedia Systems. In Proceedings of the International Conference on Multimedia Computing and Systems. Boston, Massachusetts. 1994, pp. 538-543. [7]. A. Gomaa, N. Adam, V. Atluri. Adapting Spatial Constraints of Composite Multimedia Objects to achieve Universal Access. IEEE International Workshop on Multimedia Systems and Networking (WMSN05), held in conjunction with the 24th IEEE International Performance, Computing, and Communications Conference (IPCCC). Phoenix, Arizona, USA, April 2005. [8]. J. Geurts, J. V. Ossenbruggen and L. Hardman: Application specific constraints for multimedia presentation generation. In Proceedings of the International Conference on Multimedia Modeling, 2001, pp. 247-266. [9]. T. Lemlouma , N. Layaïda context-aware adaptation for mobile devices (2004) in proceedings of the IEEE international conference on mobile data management. Berkeley, CA, USA, 2004, pp.19-22, [10]. . Lemlouma , N. Layaïda, Universal Profiling for Content Negotiation and Adaptation in Heterogeneous Environments, W3C Workshop on Delivery Context, W3C INRIA Sophia-Antipolis, France, 4-5 March 2002. [11]. Graham Klyne et al, Composite Capability/Preference Profiles (CC/PP): Structure and Vocabularies, http://www.w3.org/TR/CCPP-structvocab/, W3C Working Draft, 15 March 2001 [12]. D. Papadias, T. Sellis. Qualitative Representation of Spatial Knowledge in Two-Dimensional Space. Special Issue on Spatial Databases, Vol. 3(4), 1994, pp. 479-516. [13]. J. Badros, A. Borning, S. J. Stuckey. The Cassowary linear arithmetic constraint solving algorithm. ACM Transactions on Computer-Human Interaction (TOCHI), vol. 8(4), 2001, pp. 267–306. Azze-Eddine Maredj acquired his doctorate in computer science at the university of science and technology Houari Boumediane (Algeria). He is a search scientist at the Research Center on Scientific and Technical Information (CERIST), algiers (Algeria) where he lead the “multimedia system and structured documents” team. His Research interests are mutlimedia authoring systems and retrieval systems of structured and multimedia documents. Currently, he works on project devoted to delever an authoring system which permits the edition, the rendering and the exploitation (indexation and retreival) of mutlimedia documents. Nourredine Tonkin received the engineer degree in computer science, from the Mouloud Mammeri University, Tizi-Ouzou (Algeria) in 2004. He Works at the Research Center on Scientific and Technical Information (CERIST), Algeria. His Research interests are mutlimedia authoring systems. Currently, he works on the adaptation of multimedia documents. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 155 Adaptive Backoff Algorithm for Wireless Internet Muneer O. Bani Yassein Jordan University of Science and Technology /Department of Computer Science, Irbid, Jordan Email: masadeh@just.edu.jo Saher S. Manaseer and Ahmad A. Momani University of Jordan/Department of Computer Science, Amman, Jordan Jordan University of Science and Technology /Department of Computer Science, Irbid, Jordan Email: saher@ju.edu.jo, ahmed_cs2004@yahoo.com Abstract— The standard IEEE 802.11 MAC protocol uses the Binary Exponential Backoff algorithm. The Binary Exponential Backoff makes exponential increments to contention window sizes. This work has studied the effect of choosing a combination between linear, exponential and logarithmic increments to contention windows. Results have shown that choosing the right increment based on network status enhances the data delivery ratio up to 37% compared to the Binary Exponential Backoff, and up to 39 % compared to the Pessimistic Linear Exponential Backoff algorithms for wireless Internet. limited transmission range; therefore each node in the network connects to the nearest base station within its transmission range [23]. Index Terms— Wireless Internet, MAC, CW, Backoff algorithms I. INTRODUCTION The first appearance of wireless networks was in 1970s. Since that time, these networks are being developed so fast [22, 23]. It has been noticed that in the last decade all trends moved toward wireless Internet technology [23]. Also the mobile wireless network which is also called mobile ad hoc network has become the new age of wireless networks. We can distinguish two types of networks; infrastructure and ad hoc networks [1, 3, 22, 23]. See figures 1 and 2. Figure 1: An example of an Infrastructure Wireless Internet [29] Fig. 1 shows a simple example of the first type of infrastructure wireless networks. Communication between nodes at such networks is managed via a base station or a central access point. Each base station has a © 2012 ACADEMY PUBLISHER doi:10.4304/jetwi.4.2.155-163 Figure 2: An example of Wireless Internet On the other hand, Fig. 2 shows an example of the second type of wireless internet, a mobile ad hoc network (MANET). A MANET is a set of mobile nodes that communicate through wireless links. Each node acts as a host and router. Since nodes are mobile, the network topology can change rapidly and unpredictably over time [1, 3]. In other words, a MANET does not have a base station, so communication between nodes is managed by the nodes themselves. Moreover, nodes are not expected to be fully-connected, hence nodes in a MANET must use multihop path for data transfer when needed [24]. Recently, most interests were focused on MANETs due to potential applications provided by this type of networks such as military operation, disaster recovery, and temporary conference meetings. A. Features and Characteristics of MANETs Despite a MANET has many features shared with infrastructure networks, it also has its own additional features. Some of these features are: • Dynamic network topology: nodes in the network are free to move unpredictably over time. Thus, the network topology may change rapidly and unpredictably. This change may lead to some serious issues, such as increasing the number of transmitted messages between nodes of the network to keep 156 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 routing information table updated, and this will increase the network overhead [25]. • Distributed operations: in MANET there is no centralized management to control the network operations like security and routing, therefore, the nodes must collaborate to implement such functions. In other words, the control management is distributed among nodes of the network [22]. • Limited resources: in MANETs nodes are mobile, so they suffer constrained resources compared to wired networks. For example, nodes in a MANET depend on batteries for communication and computation, so we should take in to account how to optimize energy consumption [26, 27, 28]. B. Applications of MANETs MANETs are deployed in different environments due to its valuable features of mobility, no base stations, Some of its applications are [22, 23]: • Military Operations In battlefield environments, a MANET can be very useful to setup a reliable communication between vehicles and solders where it seems almost impossible to have an infrastructure network in such environments. Emergency Operations MANETs are very useful to be deployed in places that the conventional infrastructure-based communication facilities were destroyed by earthquakes, volcanoes, and any other supernatural situations. This is true since a MANET is a flexible, mobile, not expensive and can saves time for deployment phase. • Mobile Conferencing It is unrealistic to expect that all business is done inside an office environment, so a communication between a group of people or researchers can be achieved using MANETs. • II. LITERATURE REVIEW The Binary Exponential Backoff (BEB) [7, 8, 12, 13, 14] is used widely by IEEE 802.11 MAC protocols due to simplicity and good performance in general. The BEB algorithm works as the following: When a node attempts to send a packet to a specified destination, it first senses the shared medium in order to decide whether to start transmitting or not. If the channel is founded to be idle, the transmission process starts. Otherwise the node should wait a random number of time between the range of [0, CW-1], this time is calculated using the formula: Backoff time = (Rand () MOD CW)*aSlotTime (1) After getting the backoff time, the node should wait until this time reaches zero before start transmitting. The backoff time (BO) is decremented by one at each idle © 2012 ACADEMY PUBLISHER time slot. But if the channel is busy the BO timer will be frozen. Finally if the node received an acknowledgment for the packet sent, the contention window (CW) is reset to minimum for that node. But if the node did not receive an acknowledgment (send failure occur), the CW is incremented exponentially to the new backoff value. S. Manaseer and M. Masadeh [1] proposed the Pessimistic Linear Exponential Backoff (PLEB). This algorithm is composed of two increment behaviors for the backoff value; the exponential and linear increments. When a transmission failure occurs, the algorithm starts working by increasing the contention window size exponentially. And after incrementing the backoff value for a number of times, it starts increasing the contention window size linearly. PLEB works the best when implemented in large network sizes. S. Manaseer, M. Ould-Khaoua and L. Mackenzie [2] proposed Fibonacci Increment Backoff (FIB). This algorithm uses the Fibonacci series formula which is defined by: (2) FIB algorithm aims to reduce the difference between contention windows sizes generated, resulting in a higher network throughput than the standard IEEE 802.11. H. Ki, Choi, S. Choi, M. Chung and T. Lee [15] proposed the binary negative-exponential backoff (BNEB) algorithm. This algorithm uses exponential increments to contention window size during collisions (transmission failures), and reduces the contention window size by half after a successful transmission of a frame. The analytical model and simulation results in [15, 16] showed that the BNEB outperforms the BEB implemented in standard IEEE 802.11 MAC protocol. S. Kang, J. Cha and J. Kim [17] proposed the Estimation-based Backoff Algorithm (EBA). This new algorithm has two main functions; the first one used to estimate the number of active nodes, and the second used to decide which contention window CW is optimal for the current case. The estimation function uses the average number of idle slots during backoff time to obtain the number of nodes which will be after the optimal CW for the current case. EBA algorithm outperforms the binary exponential backoff (BEB), the exponential increase exponential decrease (EIED), the exponential increase linear decrease (EILD), the pause count backoff (PCB) and the history based adaptive backoff (HBAB) in network throughput and the mean packet delay. S. Pudasaini, A. Thapa, M. Kang, and S. Shin [18] proposed an intelligent contention window control scheme for backoff based on Collision Resolution Algorithm (CRA). This algorithm keep a history for a success and failure access attempts in order to use this history to modify the contention window interval (CWmin, CWmax). This modification will cause a dynamic shifting for backoff interval to more suitable region. This new algorithm made some improvements to channel efficiency in terms of packet end-to-end delay. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 A. Balador, A. Movaghar, and S. Jabbehdari [19] proposed a new History Based Contention Window Control (HBCWC) algorithm for IEEE 802.11 MAC protocol. HBCWC made an optimization to the contention window values via saving the last three states of transmission. The main factor in this algorithm is the packet lost rate, if this factor increases due to collisions or channel errors then the CW size will increase. Otherwise it will decrease. S. Manaseer and M. Ould-Khaoua [7], proposed the logarithmic backoff algorithm (LOG) for MAC protocol in MANETs. This algorithm uses logarithmic increments to provide a new backoff values instead of exponential ones. The new backoff values are extracted using the formula: (CW) new = (log (CW) old) * (CW) old * aSlotTime. LOG algorithm generates values that are close to each other in order to achieve a higher throughput when used in MANETs. V. Bharghavan, A. Demers, S. Shenker, and L. Zhang [10] proposed Multiplicative Increase and Linear Decrease (MILD) backoff algorithm. This algorithm uses multiplication by a factor when failed transmission occurs (due to collision or transmission failure). After a success transmission occur the contention window CW is decremented by a factor in order to reduce the probability of successful users to access the channel all the time. This decrement helps solving the unfairness problem which might occur to other users who have collisions and send failures [8, 9, 10]. J. Deng, P. Varshney, and Z. Haas [9] proposed the linear multiplicative increase and linear decrease (LMILD) backoff algorithm. LMILD uses both linear and multiplicative increments in the case of send failure; that is when a collision occurs, the colliding nodes increase their contention window CW multiplicatively, and other nodes overhearing this collision make a linear increment to their CW. In the case of successful transmission, all nodes decrease their contention windows linearly [8, 9]. LMILD has shown a better performance than the standard IEEE 802.11 when used in large network sizes. It also outperforms the pessimistic linear exponential backoff (PLEB) in small networks, but PLEB achieves better performance than LMILD in large network sizes [1]. III. THE NEW PROPOSED BACKOFF ALGORITHM A. Overview In general, backoff algorithms tend to increase the contention window (CW) size after each transmission failure. Since this is true, a backoff algorithm should use a suitable increment for CW size in order to achieve the best performance. Many increment behaviors were used in this field such as: linear, exponential, logarithmic, and Fibonacci series. If we split the networks into three types: small, medium and large, each increment scheme would suit at the most two network types and drops dramatically at the third one. For example, the exponential increment of BEB algorithm which is used in standard IEEE 802.11 © 2012 ACADEMY PUBLISHER 157 MAC does not achieve the best performance due to large CW gaps produced. Another example is a linear increment of LMILD; it does not allow adequate backoff time before data retransmission. The Binary Exponential Backoff (BEB) algorithm increases the CW sizes exponentially based on transmission failure. That is, when a node has a packet to transmit, first it starts sensing the channel. If the channel is found to be idle, the node starts transmitting immediately the data packets. Otherwise, the backoff mechanism is triggered. Furthermore, a backoff timer is selected randomly from the current CW size; this timer is decremented only at each time slot found to be idle. When the timer reaches zero, the node transmits the data packets. If the acknowledgement received from the destination node, then CW size is reset to minimum. On the other hand, if the acknowledgement is lost the CW size is incremented exponentially. See Fig. 3. Figure 3: BEB algorithm description Another backoff algorithm called pessimistic linear exponential backoff (PLEB). This algorithm combines two increment behaviors: exponential and linear increments. PLEB assumes that congestion in the network will not be resolved in the near future. Thus, PLEB selects exponential increments at the first stages of the algorithm and continues to linear behavior. See Fig. 4. The next section suggests a new backoff algorithm that aims to improve the network performance overall. Our goal is to achieve a higher data delivery ratio with less overhead to the network. The new suggested algorithm uses a combination of different increments in order to take the advantage of each. The increments used in this algorithm are: linear, logarithmic, and exponential. The exponential increment aims to produce adequate CW lengths at the first stages of the new algorithm. Logarithmic increment provides proper increments to CW if it is still small; generally logarithmic increment is used as a transition stage towards linear increment to avoid continues exponential increments. The last increment used is linear increment, which aims to avoid 158 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 large increments of exponential and logarithmic ones. The simulation results presented in the next paper show that the new proposed backoff algorithm improves the network delivery ratio and overhead. After that, the lines 8 and 9 shows that SABA calculates the average of CW sizes in the history array in order to start a new increment behavior based on the average value. This average is computed only once. Now, the lines 11-16 express that one increment behavior will be chosen: linear or logarithmic. If the average is not high (less than threshold N) the next increment behavior will be the logarithmic increment. Otherwise it will be the linear increment. 1 Set BO to initial value 2 While Bo ≠0 do 3 For each time slot 4 If channel is idle then BO=BO -1 5 6 7 Figure 4: PLEB algorithm description B. The Smart Adaptive Backoff Algorithm The Smart Adaptive Backoff Algorithm (SABA) is the new suggested backoff algorithm. This algorithm assumes that a network performance can be enhanced if the network is very sparse or congested too much. The explanation for this is the following; SABA assumes that solving the network collision in very sparse and congested networks will not be in the near future. Therefore, exponential increments are used. In very sparse networks, paths can be broken easily due to mobility, and mostly there exists only one path in the route table. So, the exponential increments will provide adequate values to establish other paths and start using them. On the other hand, in congested networks many nodes in the network use the same paths, so we should provide more time before start transmitting on this path. However, figure 5 shows in detail the basic functionality of SABA algorithm. As shown, the first 5 lines of the algorithm set the initial value for the backoff timer. And then, starts the decrement of that time based on idle time slots. This means, the timer will be decremented only at idle time slots. Otherwise, it freezes. After the timer reaches zero, the data packet is transmitted. Now, in case of successful transmission the CW value is saved in the history array as shown in line 21 of the algorithm. Otherwise, the backoff mechanism will be triggered. The lines 7-19 show a brief description of the adaptive process in SABA algorithm. It starts with line 7 by incrementing the CW exponentially only for a number of times based on transmission success. In other words, SABA provides an exponential increment for a node, and saves the CW size in case of transmission success. This process is repeated until the array of five elements is full. © 2012 ACADEMY PUBLISHER Wait for a period of DIFS then Send If (Send-Failure) then If (CW array of last five successes is full) 8 If (Array used for the first time) 9 Calculate the average of the history array and use it as a new CW value Else 10 11 If (CW > N) then 12 CW = CW + T 13 Backoff-Timer = Random x; 14 Else 15 CW = Log (CW) * CW 16 Backoff-Timer = Random x; 17 1 ≤ x ≤ CW - 1 1 ≤ x ≤ CW - 1 Else 18 CW = CW * 2 19 1 Set BO to initial value 20 Else 21 Save the CW value used in the history 22 Go to line number 1 23 Stop Backoff-Timer = Random x 1 ≤ x ≤ CW - 1 20 Else 21 Save the CW value used in the history 22 Go to line number 1 23 Stop Figure 5: The Smart Adaptive Backoff Algorithm The purpose of using the average is to reduce the CW size if it is a large number. Both of logarithmic and linear increments aim to avoid excessive of CW sizes in order to enhance the network performance. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 A. Simulation Environment Our simulations were run using a network of 10, 20, 50 and 100 nodes placed randomly within a 1000 meter × 1000 meter area. Each node has a radio propagation range of 250 meters, and the channel capacity is 2 Mb/s. Each run executed for 900 seconds. We used the IEEE 802.11 as the MAC layer protocol. The Constant Bit Rate (CBR) node traffic is used in the simulations. We used the random waypoint model for node mobility. We used various node maximum speeds: 1, 2, 3 and 4 meter per second. In addition, we used traffic loads of 5, 10 and 20 packets per second, repeated for 5 and 10 sources. B. Simulation Results Different performance metrics were used to evaluate backoff algorithms [1, 2, 4, 6, 7, 9, 10, 11, 12]. This study uses data delivery ratio and network overhead parameters to measure performance levels. The ideal case is to achieve maximum delivery ratio and minimum network overhead. 100 Delivery Ratio (%) In this research paper the network performance is measured by two criteria: packet delivery ratio and network overhead. In this paper, we present and evaluate the simulation results that were obtained for different scenarios. In the simulation experiments, we varied the number of sources and the maximum node speed. We implemented the proposed backoff algorithm SABA using the GloMoSim [21] simulator to evaluate the performance of the new algorithm compared to the well-known BEB and PLEB algorithms. transmissions. After that, if the result is a large contention window size, the increment is linear. Otherwise, increment to contention window is logarithmic and then continues in linear way. The logarithmic increment is significantly smaller than exponential increment but it still larger than linear (this is needed in large networks to perform in a better way). 80 60 BEB 40 PLEB 20 SABA 0 1 2 © 2012 ACADEMY PUBLISHER 4 Mobility Speed(m/sec) 0.5 0.4 0.3 BEB 0.2 PLEB 0.1 SABA 0 1 2 3 4 Mobility Speed (m/sec) Figure 7: Overhead of BEB, PLEB and SABA for 20 nodes, 5 sources each source sending 20 packets per second. 100 Delivery Ratio (%) The figures (6, 7, 8, 9, 10, 11, 12, 13) show that SABA achieves the best performance in light and heavy (small and large) networks. This is not surprising since a network with a small number of nodes does not frequently trigger backoff mechanism; therefore, SABA which uses the average of last five exponential increments (successful increments only) outperforms the exponential increments in BEB and PLEB. Moreover, when the number of nodes increases and the network become of a large size (e.g. a network of 100 nodes), the exponential increments has essential role in network performance; that is, in BEB the exponential increments continues to enlarge the gaps between contention window sizes which in turn significantly reduces the network performance. Moreover, in PLEB algorithm the linear increments begin early in a way that does not allow the increments to the best values for large networks (i.e. the increments still small compared to network size and nodes mobility speed). On the other hand, SABA provides the best contention window increments. SABA aims to utilize exponential, logarithmic and linear increments to achieve the best performance in large networks. It starts with exponential increments until the node successfully sends five times. After that, it is expected to have a large contention window size. Therefore, it is reduced by calculating the average contention window sizes of these successive 3 Figure 6: Data delivery ratio of BEB, PLEB and SABA for 20 nodes, 5 sources each source sending 20 packets per second. Overhead IV. SIMULATION AND RESULTS' EVALUATION 159 80 60 BEB 40 PLEB 20 SABA 0 1 2 3 4 Mobility Speed (m/sec.) Figure 8: Data delivery ratio of BEB, PLEB and SABA for 20 nodes, 10 sources each source sending 10 packets per second. At medium sized networks, the simulation results have shown in figures (14, 15, 16, 17) that SABA is still closely comparable the BEB and PLEB algorithms, and even gives a better performance at high traffic rates. BEB, PLEB and SABA backoff algorithms start to increase the contention window size exponentially. 160 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 100 0.3 0.2 Delivery Ratio(%) Overhead 0.25 BEB 0.15 PLEB 0.1 0.05 SABA 80 60 BEB 40 PLEB 20 0 SABA 0 1 2 3 4 1 2 3 4 Mobility Speed (m/sec.) Mobility Speed (m/sec.) Figure 9: Overhead of BEB, PLEB and SABA for 20 nodes, 10 sources each source sending 10 packets per second. Figure 12: delivery ratio of BEB, PLEB and SABA for 100 nodes, 10 sources each source sending 20 packets per second. 50 40 80 60 Overhead Delivery Ratio(%) 100 BEB 40 20 30 BEB 20 PLEB PLEB 10 SABA 0 0 1 1 2 3 4 2 3 4 Mobility Speed (m/sec.) Mobility Speed (m/sec.) Figure 10: Data delivery ratio of BEB, PLEB and SABA for 100 nodes, 5 sources each source sending 20 packets per second. Figure 13: Overhead of BEB, PLEB and SABA for 100 nodes, 10 sources each source sending 20 packets per second. . 2.5 2 BEB 1.5 PLEB 1 Delivery Ratio (%) 100 3 Overhead SABA 80 60 BEB 40 PLEB 20 SABA 0 0.5 SABA 1 0 1 2 3 4 Mobility Speed (m/sec.) © 2012 ACADEMY PUBLISHER 3 4 Mobility Speed (m/sec.) Figure 14: Data delivery ratio of BEB, PLEB and SABA for 50 nodes, 5 sources each source sending 20 packets per second. Overhead Figure 11: Overhead of BEB, PLEB and SABA for 100 nodes, 5 sources each source sending 20 packets per second The number of backoff processes expected to be moderate. Therefore, the continuous exponential increments in BEB algorithm would not be a problem in this case. Moreover, SABA algorithm continues with logarithmic increments which are more suitable for high traffic rates in this type of networks. While the PLEB algorithm starts linear increments early making this mechanism unsuitable to gain the best performance for medium networks. 2 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 BEB PLEB SABA 1 2 3 4 Mobility Speed (m/sec.) Figure 15: Overhead of BEB, PLEB and SABA for 50 nodes, 5 sources each source sending 20 packets per second. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Delivery Ratio (%) 100 V. CONCLUSIONS 80 60 BEB 40 PLEB 20 SABA 0 1 2 3 4 Mobility Speed (m/sec.) Figure 16: Data delivery ratio of BEB, PLEB and SABA for 50 nodes, 10 sources each source sending 10 packets per second. Overhead 161 3.5 3 2.5 2 1.5 1 0.5 0 BEB PLEB SABA 1 2 3 4 Mobility Speed (m/sec.) Figure 17: Overhead of BEB, PLEB and SABA for 50 nodes, 10 sources each source sending 10 packets per second Furthermore, the results show some other important information; first, the linear increment behavior directly affects the network overhead. For example, PLEB algorithm provides the lowest network performance compared to BEB and SABA for all scenarios. This is true since the linear increments in the early stages of PLEB do not allow adequate increments for the CW values. To explain this in detail, the three types of network should be studied extensively. That is, in a sparse network linear increments make the source node sends the route request more frequent in order to establish a path between source and destination nodes (this is hard because the number of nodes is still small). Furthermore, in a medium and large network it is expected to have a more frequent backoff triggers. Therefore, it is normal to have a congested network and more broken routes. For all reasons mentioned above, it is normal to expect that linear increments in backoff algorithms cause a higher network overhead than exponential ones for the applied scenarios in this thesis. Secondly, in case of lightly loaded networks, the data delivery ratio is increasing. This means that a network of 20 nodes (5 and 10 sources sending data packets) and a network of 50 nodes (only 5 sources sending data packets) the data delivery ratio has increased due to the increasing mobility of nodes can be more useful. In other words, the data delivery ratio increases because when routes break due to mobility some other routes are built quickly. Finally, at highly loaded networks (ex. network of 100 nodes) the data delivery ratio decreases as mobility speed increases. This © 2012 ACADEMY PUBLISHER In this paper we presented a new backoff algorithm for MANETs called the Smart Adaptive Backoff Algorithm (SABA). The main objective of this work is to evaluate the performance of the new backoff algorithm in terms of network size, mobility speeds and traffic rates. The results obtained approve that changes made to contention window size increment and decrement directly affects network performance metrics such as data delivery ratio and overhead. The results have shown that SABA outperforms BEB and PLEB algorithms in different network types. The data packet delivery ratio of SABA against BEB and PLEB algorithms was fluctuating. For example, in a small network type when a transmission rate is twenty packets per second, the number of sources is five and mobility is low SABA outperform BEB and PLEB by 37.11% and 38.45%, respectively. At high mobility, SABA outperforms BEB and PLEB by 7.74% and 14.13%, respectively. At medium network type, when a transmission rate is ten packets per second, the number of sources is ten and mobility is low SABA outperforms BEB and PLEB by 5.59% and 22.79%, respectively. At high mobility, SABA outperforms BEB and PLEB by 13.19% and 21.56%, respectively. At large networks, when a transmission rate is ten packets per second, the number of sources is ten and mobility is low SABA outperforms BEB and PLEB by 0.93% and 30.34%, respectively. At high mobility, SABA outperforms BEB and PLEB by 36.42% and 39.67%, respectively. The network overhead of SABA against BEB and PLEB algorithms was fluctuating. For example, in a small network type when a transmission rate is twenty packets per second, the number of sources is five and mobility is low SABA outperform BEB and PLEB by 0.249% and 0.392%, respectively. At high mobility, SABA outperforms BEB and PLEB by 0.299% and 0.746%, respectively. At medium network type, when a transmission rate is twenty packets per second, the number of sources is ten and mobility is low SABA outperforms BEB and PLEB by 0.427% and 8.875%, respectively. At high mobility, SABA outperforms BEB and PLEB by 1.793% and 28.486%, respectively. At large networks, when a transmission rate is twenty packets per second, the number of sources is ten and mobility is low SABA outperforms BEB and PLEB by 0.454% and 6.645%, respectively. At high mobility, SABA outperforms BEB and PLEB by 18.248% and 39.211%, respectively. In general, the results of this research paper indicate that each type of networks needs a different way to handle contention window increment. That is, for small networks low increments are preferred (lower than exponential). On the other hand, for medium and large networks it is preferred to have low increments after large ones. Finally, this work has studied the effect of choosing the behavior changing point between linear, logarithmic 162 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 and exponential increments in the proposed algorithm SABA. Results have shown that using the suitable increment type according to the network status increases overall network performance. ACKNOWLEDGMENT We would like to thank the staff of the Faculty of Computer and Information Technology, Jordan University of Science and Technology (JUST) and the University of Jordan (JU), Jordan, for their great and continuous support. REFERENCES [1] S. Manaseer and M. Masadeh. “Pessimistic Backoff for Mobile Ad hoc Networks”. Al-Zaytoonah University, the International Conference on Information Technology (ICIT'09), Jordan, 2009. [2] S. Manaseer, M. Ould-Khaoua, and L. Mackenzie. “Fibonacci Backoff Algorithm for Mobile Ad Hoc Networks”. Liverpool John Moores University, the 7th Annual Postgraduate Symposium on the Convergence of Telecommunications, Networking and Broadcasting (PGNET 06), Liverpool, 2006. [3] Y. Yuan, A. Agrawala. “A Secure Service Discovery Protocol for MANET”. Computer Science Technical Report CS-TR-4498, Computer Science Department, University of Maryland, 2003. [4] S. Manaseer, M. Ould-Khaoua, and L. Mackenzie. “On a Modified Backoff Algorithm for MAC Protocol in MANETs”. Int. J. of Information Technology and Web Engineering, Vol. 2(1), pp. 34-46, 2007. [5] P. Karn. “MACA - A new channel access method for packet radio”. ARRL/CRRL Amateur Radio 9th computer Networking Conference, London, pp. 134–140, 1990. [6] M. Bani Yassein, S. Manaseer, and A. Al-Turani. “A Performance Comparison of Different Backoff Algorithms under Different Rebroadcast Probabilities for MANET’s”. University of Leeds, the 25th UK Performance Engineering Workshop (UKPEW), UK, 2009. [7] S. Manaseer and M. Ould-Khaoua. “Logarithmic Based Backoff Algorithm for MAC Protocol in MANETs”. Technical Report, University of Glasgow, 2006. [8] H. Wu and Y. Pan. “Medium Access Control in Wireless Networks”. Nova Science Publishers Inc, pp. 26- 29, 2008. [9] J. Deng, P. Varshney, and Z. Haas. “A New Backoff Algorithm for the IEEE 802.11 Distributed Coordination Function”. Communication Networks and Distributed Systems Modeling and Simulation (CNDS’04), San Diego, California, 2004. [10] V. Bharghavan et al, “MACAW: A Media Access Protocol for Wireless LAN’s”, in Proc. ACM SIGCOMM ’94, pp. 212–225, 1994. [11] S. Zhalehpoor and H. Shahhoseini. “SBA Backoff Algorithm to Enhance the Quality of Service in MANETs”. International Conference on Signal Acquisition and Processing ICSAP, Kuala Lumpur, Malaysia, pp. 4347, 2009. [12] C. Huy, H. Kimz, and J. Hou. “An Evaluation of the Binary Exponential Backoff Algorithm in Distributed MAC Protocols”. Technical Report, University of Illinois – Urbana Champaign, 2005. © 2012 ACADEMY PUBLISHER [13] J. Goodman et al. “Stability of binary exponential backoff”. In the Proc. of the 17-th Annual in Journal of the ACM, Vol. 35(3), pp. 579–602, 1988. [14] Y. Wang, “Medium Access Control in Ad Hoc Networks with Omni-directional and Directional Antennas”, University of California, doctoral Dissertation, 2003. [15] H. Ki, Choi, S. Choi, M. Chung, and T. Lee. “Performance evaluation of Binary Negative-Exponential Backoff Algorithm in IEEE 802.11 WLAN”. Lecture Notes in Computer Science, Springer-Verlag Berlin Heidelberg, vol. 4325, pp. 294–303, 2006. [16] B. Choi, S. Bae, T. Lee, and M. Chung. “Performance Evaluation of Binary Negative-Exponential Backoff Algorithm in IEEE 802.11a WLAN under Erroneous Channel Condition”. Lecture Notes in Computer Science, Springer-Verlag Berlin Heidelberg, vol. 5593, pp. 237-249, 2009. [17] S. Kang, J. Cha, and J. Kim. “A Novel Estimation-Based Backoff Algorithm in the IEEE 802.11 Based Wireless Network”. 7th Annual IEEE Consumer Communications & Networking Conference (CCNC), Las Vegas, Nevada, USA, 2010. [18] S. Pudasaini, A. Thapa, M. Kang, and S. Shin. “An Intelligent Contention Window Control Scheme for Distributed Medium Access”. 7th Annual IEEE Consumer Communications & Networking Conference (CCNC), Las Vegas, Nevada, USA, 2010. [19] A. Balador, A. Movaghar, and S. Jabbehdari. “History Based Contention Window Control in IEEE 802.11 MAC Protocol in Error Prone Channel”. Journal of Computer Science, 6 (2), pp. 205-209, 2010. [20] B. Ramesh, D. Manjula. “An Adaptive Congestion Control Mechanism for Streaming Multimedia in Mobile Ad-hoc Networks”. International Journal of Computer Science and Network Security (IJCSNS), Vol. 7(6), pp. 290-295, 2007. [21] X. Zeng, R. Bagrodia, M. Gerla. “GloMoSim: A Library for Parallel Simulation of Large-scale Wireless Networks”. Proceedings of the 12th workshop on Parallel and distributed simulation, Banff, Alberta, Canada, pp. 154161, 1998. [22] I. Stojmenovic. “Handbook of wireless networks and mobile computing”, Wiley, New York, 2002. [23] C-K Toh. “Ad hoc mobile wireless networks, protocols and systems”, Prentice-Hall, New York, 2002. [24] IEEE, ANSI/IEEE standard 802.11, 1999 Edition (R2003), Part 11: “Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications”. [25] R. Rajaraman. “Topology control and routing in ad hoc networks: a survey”. ACM Special Interest Group on Algorithms and Computation Theory (SIGACT), Vol. 33(2), 2002. [26] V. Rodoplu and T. Meng. “Minimum energy mobile wireless networks”. IEEE Journal of Selected Areas in Communications, Vol. 17(8), pp. 1333-1344, 1999. [27] S. Nesargi and R. Prakash. “MANETconf: configuration of hosts in a mobile ad hoc network”. Proceedings of IEEE Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM), Vol(2), pp. 1059-1068, 2002. [28] Y. Tseng and T. Hsieh. “Fully power-aware and locationaware protocols for wireless multi-hop ad hoc networks”. Proceedings of the Eleventh International Conference on Computer Communications and Networks, pp. 608-613, 2002. 29. Manaseer. “On Backoff Mechanisms for Wireless Mobile Ad Hoc Networks”. Doctoral Dissertation, United Kingdom (UK), Glasgow University, December, 2009 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Muneer O. Bani Yassein received his B.Sc. degree in Computing Science and Mathematics from Yarmouk University, Jordan in 1985 and M. Sc. in Computer Science, from Al Al-bayt University, Jordan in 2001. He received his Ph.D. degree in Computing Science from the University of Glasgow, U.K. in 2007. His current research interests include networking protocol development and analysis the performance probabilistic flooding in mobile ad hoc networks. Saher S. Manaseer received PhD degree in Computer Science from the Department of Computing Science at the University of Glasgow in 2009. His main area of research is Computer Networks and Embedded Systems. Currently, he is an active researcher in the field of Mobile Ad Hoc Networks. More specifically, his research on MANETs is focused on developing MAC layer protocols. Before obtaining his PhD, He got his Masters in Computing Science from the University of Jordan in 2004 where his research in that era was focused on Software Engineering. Since he earned his undergraduate degree in Computer science, he has worked in two parallel directions, being Training and software development. Ahmad A. Momani received his B.Sc. degree in Computer Science from Jordan University of Science and Technology, Jordan in 2007 and M. Sc. in Computer Science, from Jordan University of Science and Technology, Jordan in 2011. His main area of research is Computer Networks. Currently, he is an active researcher in the field of Mobile Ad Hoc Networks. More specifically, his research on MANETs is focused on developing MAC layer protocols. Before obtaining his Masters, he has worked as a programmer and then a teacher in the Ministry of Education. . © 2012 ACADEMY PUBLISHER 163 164 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 ConTest: A GUI-Based Tool to Manage InternetScale Experiments over PlanetLab Basheer Al-Duwairi Jordan University of Science and Technology/Department of Network Engineering and Security, Irbid, Jordan Email: basheer@just.edu.jo Mohammad Marei, Malek Ireksossi, and Belal Rehani Jordan University of Science and Technology/Department of Computer Engineering, Irbid, Jordan Email: {mymarei, malek.erq, belalrehani}@hotmail.com Abstract— PlanetLab is being used extensively to conduct experiments, implement and study large number of applications and protocols in Internet-like environment. With this increase in PlanetLab usage, there is a pressing need to have efficient way to setup and mange experiments. This paper proposes a graphical user interface-based tool, called ConTest, to setup and mange experiments over PlanetLab. ConTest enables PlanetLab users to setup experiment and collect results in a transparent and easy way. This tool also allows different measurements for different variables over the PlanetLab network. The paper discusses the design and implementation of ConTes and shows different scenarios. Index Terms—Internet measurements, PlanetLab. API, Networking, GUI. I. INTRODUCTION PlanetLab is an open shared platform for developing, deploying, and accessing planetary scale applications [1]. Currently, it has more than 1100 nodes distributed all over the world. It allows its users to freely access the shared nodes, upload programs and execute them. It is used by many distributed applications developers all around the world for testing their applications (e.g., [2, 3, 4, 5]). It can also serve the purpose of having machines distributed all around the Internet to break the limit of locality and allow the users to perform their measurements on random nodes at random places to ensure generality and confidence in the obtained results. PlanetLab is being used extensively to conduct experiments, implement and study large number of applications and protocols in Internet-like environment. These applications and protocols fall into different areas that include real-time measurements of delay, bandwidth, and security. With this increase in PlanetLab usage, there is a pressing need to have efficient way to setup and mange experiments. Having such tool would be a great assist not only for Planetlab community, but also to new researchers/users who find it difficult to explore and utilize this platform. In fact, several systems (as described in Section V) have been proposed to achieve that goal. © 2012 ACADEMY PUBLISHER doi:10.4304/jetwi.4.2.164-171 This paper builds on previous efforts in this direction and proposes a GUI-based tool, called ConTest, that allows users to visually manage experiments in Internet-like environment. In this regard, ConTest provides great deal of flexibility and simplicity to conduct experiments over PlanetLab. Using this tool, users have the ability to visually create the network topology they want simply by selecting PlanetLab nodes as they appear on the world map view. Also, it allows users to specify the role of each node (client, server, or proxy) and to generate different type of traffic (e.g., TCP, UDP, ICMP, etc.). In addition, ConTest has the capability to perform basic operations in sequence or in parallel. This include authentication, file upload, and command execution. ConTest provides efficient and simple way to deploy and test applications over Planetlab. With this tool it becomes very easy to study the properties of Internet applications and protocols. It also becomes easy to measure their performance in terms of response time, delay jitter, packet loss, etc. With its ability in supporting application deployment and monitoring in Internet-Like environment such as PlanetLab, we believe that ConTest would promote research in this field and would significantly contribute to the increase of PlanetLab users because of its attractive features that hide many of the complications behind the scene. The rest of this paper is organized as follows: Section II explains ConTest architecture. Section III discusses implementation details. Section VI discusses security issues. Section V discusses related work. Finally, conclusion and future work is presented in Section VI. II. CONTEST ARCHITICURE The design and implementation of ConTest is based on modularity and usability concepts. In this regard, ConTest is composed of several modules with each module having specific functionality. In particular, ConTest has the following modules: Authentication Module, Command execution module, File management module, and Connection management module. What follows is a description of each module. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 A. Authentication Module Typically, users access PlanetLab nodes through slices. Basically, a slice is a multi-user account registered on the PlanetLab Central (PLC) to offer all the users of that account the same resources on the nodes which they add to their slice such that users of that account work on the same project and preserve node’ resources of that slice. Accessing a PlanetLab node requires the user to have access to the slice to which the node belongs to. PlanetLab offers a web interface for the users to allow them to access their slices and see the nodes registered there. But it also offers an API that allows external programs to communicate with PLC databases through remote procedure calls (RPC) to retrieve users' account and node information. ConTest utilizes this API to perform authentication. The authentication module is a program that communicates directly with the PlanetLab central API. It accepts the authentication information (email, PlanetLab password and slice name) from the main module. This information is then validated by the PLC. After that, it retrieves the slice info from the PLC and the node list registered on this slice, with all the necessary data about each node (ID, name, location, status, etc.) as illustrated in Fig. 1. 165 connects to the desired nodes using the secure public key cryptography authorization, sends the command to the destination nodes and retrieves the output and error messages from each node. C. File Management Module Similar to the command execution module, file copying is done through SSH and using the secure copy function. After accepting the key pair identification, the files are uploaded to the destination nodes and their console dump is retrieved to ensure that the copying process was successful. D. Connection Management Module This module represents the operational core of the tool. In order for the user to perform their tests, they need to connect the nodes together using a testing program which they also need to upload. The connection management module does that for the user. Also, this module heavily utilizes the program capabilities. It uses a special class to setup the connections required by the user. The role of each node (e.g., client, server) is determined using the programmed connection algorithm. The connection management module communicates with the map interface on the user interface to help the user select their connection topology in a simple and efficient way. It also utilizes the file copying and command execution modules to upload the test files to the desired nodes, execute these files, retrieve the results from each node and output these results to the GUI. The results associated with an experiment are stored to separate files for reference. Also some statistics (e.g., bandwidth, round trip time, etc.) are displayed to the users upon the execution of these experiments. Fig 2. shows the execution flow for the connection management module and its interaction with other modules in each step. Figure 1: How the authentication module accesses the API to retrieve node list B. Command Execution Module The command execution module allows users to run their own custom commands on the nodes to which they have access (i.e., within their slices). Also, it is used in the connection management module to run the tests requested by the user. In order for the tool to communicate with the remote nodes and access their resources to perform the required test, and due to the security restrictions on the access to PlanetLab nodes, any connection to the nodes must be established through the secure shell (SSH) protocol. Therefore, command execution is done through SSH connections, where the command execution module © 2012 ACADEMY PUBLISHER Figure 2: Execution flow in the connection management module E. The Graphical User Interface (GUI) module. 166 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 The GUI represents the main program that links all other modules of the tool. The GUI module accepts user inputs and manages outputting results and error messages to the user in text file format and to the program log. It communicates with the authentication module to read node data and display them in table format, as well as identify and show their location on the world map using the retrieved coordinates from the authentication module. It also sends the user input to the command execution and file management modules and retrieves the console log from each module to display it in the program log or save it to separate files. Also, it integrates the connection management module with the command execution/file management modules to achieve the tests required by the user. Node view class: This class is mainly used to represent the nodes graphically, it also stores all the available data of the nodes, namely: • Node ID. • Node name. • Location. • Status. • Coordinates (for display in the GUI's map view). It also contains pointers to other nodes. These pointers are used in creating linked lists that help in constructing the required connections for the tests performed by the connection management module. Fig. 3 illustrates the relationship between the different classes; it also shows the relationship between the main module and the authentication module. F. ConTest Classes GUI class: The core of ConTest is the GUI module/class, which connects the other modules together and manages their interactions. This class is responsible for interacting with the user, I/O management between the sub-classes, and error handling. Most of the content of the main class concerns the graphical widgets displayed on the GUI, the initiating of the other modules and the management of their inputs and outputs. So we won't go deep into describing this class as it contains many auto generated elements (the graphical widgets). That leaves us with the sub-classes in the design, which are: Copying thread class: The copying thread class is the class that represents the file management module. Instances of this class receive and store the essential data of the nodes to which the copying is going to be performed, as well as the data of the file to be copied to the nodes, this includes: • Node name. • Key file (for the ssh connection). • Source file (the file to be copied). • Destination directory on the remote node. The instances run a scp (secure copy) command using the information passed by the main module, retrieves the console output from the remote nodes and relay this output to the GUI. Execution thread class: Similar to the file copying class, instances of this class contain the data of the nodes which the command is going to be executed on: • Node name. • Key file. • Command string. Each instance of this class runs a ssh command using that information, which is passed to it by the main module, retrieves the console output from the remote nodes and relays this output back to the GUI. © 2012 ACADEMY PUBLISHER Figure 3: Relationship between different classes III. IMPLEMENTATION DETAILS A. Tools and Programs used to Implement ConTest ConTest was implemented using Qt Qreator [6][7], a widely used IDE (integrated development environment) that helps programmers create powerful graphical tools, which provides an effective way to integrate an easy to use, simple graphical interface with the ability to perform a wide set of different operations (like accessing APIs, using the SSH commands, displaying map, etc.). Qt Qreator has a huge library of graphical and non graphical classes and functions that enable the programmer to do almost anything they want, helping them give their programs the maximum functionality. It uses C++ as the programming language, and its set of libraries makes the programming process fast and effective, and helps the programmer to focus on the core functionality of their program while it handles the graphical aspects. In addition Ping [8, 9] and Iperf [10] have been integrated within ConTest to provide means to measure different aspects of network performance related metrics, such as round trip time and connection throughput. In ConTest, this can be done by starting two processes on the JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 designated remote node, one measures the bandwidth using Iperf tool and the other measures the round trip time using the ping command. These processes then return their output through SSH to the program in order for it to record it locally and analyze it to get the required connectivity statistics about all the nodes of interest to the user. 167 handler or, as it is called in the Qt environment, signal/slot pair. When a thread has some output that it needs to write to the interface, it emits a signal to the GUI telling it that its output is ready. The GUI receives this signal through a specific slot and puts it in the queue of signals that wish to access the interface. This regulation prevents multiple access to one object at the same time and gives each thread its turn to write to the interface. B. Inter-process Communication The main program, the GUI, constitutes the main process that initializes and connects other processes, thus the other sub-processes take their required running data from the GUI through an inter-process link, then they run their separate codes independently in the background and return the output to the main program through the same link. When created, each sub-process gets initialized and sent its parameters, and then each process establishes a connection to the main process through two channels, the standard output channel (stdout), which communicates all outputs from this process to the main process, and the standard error channel (stderr) which transfers the error messages (if any) from the sub-process back to the calling process. Even when a sub-process needs to communicate with another sub-process, this communication needs to go through the main process as illustrated in Fig. 4. Figure 4: Process communication through channels C. Multi-threading Since the execution of commands and file copying through the SSH is a lengthy process, and since we need to do a lot of copying, command execution and file writing, along with the active interaction with the GUI, we had to program the tool in the form of threads. Threads are, essentially, child processes that execute concurrently. Each separate thread runs in parallel with the GUI, thus keeping the program responsive at all times and increasing the utilization of the machine resources. Of course, these threads need to access the GUI to write their output through it to the user, however, multiple threads writing to the same object (i.e. the program log) is prohibited as it can cause access errors and even program crashes. So we had to use the concept of event/event © 2012 ACADEMY PUBLISHER D. Authentication As mentioned earlier, the PlanetLab Central has high security standards that restricts the access to their user and node databases, but fortunately, they provide the API to access their PLC database and retrieve the node data we require for our tool, thus we have programmed the separate authentication script. This script does the authentication through the API functions and using the user's data provided in the GUI (their slice name and PlanetLab registered email and password), and retrieves the detailed node list for that specific user. Also, the connection to the nodes themselves requires the use of the SSH protocol, and since SSH uses public key cryptography to authenticate to the remote computer, we had to ask the user for the key file which they have registered in their PlanetLab account. Another issue with the SSH connections is that SSH protocol requires the key's password each time you connect to the remote host for confirmation. This is the default process and it is recommended as it prevents altering or theft the user's SSH key, but if the user needs to access multiple hosts at a time, it will make the connection process more redundant and time consuming. However, since this check can be disabled through the command options, we decided to give the user the liberty to choose whether to enable this confirmation or not, but disabling the check is not recommended as it may raise security warnings and risk the user's key security. VI. CONTEST FUNCTIONALITY AND USAGE ConTest provides an easy and flexible way to setup and perform experiments over PlanetLab. This is done mainly through the experiment manager interface, where the user specifies experiment parameters and through the connection tester interface which establishes different connection schemes between nodes and measures some aspects of these connections. Before going into the details of these two interfaces we describe the way authentication is performed. A. Authentication The authentication dialog pops up at the start-up of the program, it requires the following data to enable you to use the device: • Email: the e-mail which you have registered in your PlanetLab central account. 168 • • • JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Password: the password of your account. Slice name: the name of a slice reserved for you on PlanetLab. Key file: the directory of your private key that is used to access the nodes through the secure shell (ssh). Upon a successful authentication, user information will be displayed in the upper right corner; the number of nodes in the provided slice will be displayed in the program log. Also the details of the node list registered on the slice are displayed in the table view and the nodes themselves are represented on the map as shown in Fig.5. [ Figure 8: Authentication successful ] Figure 5: After successful authentication Connection testing tab provides an interface for users that allows them to test the connection between any nodes from the list of nodes within a slice. It also allows selecting the protocol of preference. The test results are displayed on the program log and stored to external files for documentation. The basic functions that can be performed within this tab are: • • Test Protocol: from here you should be able to select your has its own client, server and forwarding program. You can select the protocol from the “test protocol” drop down box. And you can also browse for your own programs if you have customized a code to be used with ConTest. To restore the defaults test programs, just press the “restore defaults” button. The Map Interface: In the connection tester, you can add nodes to test only through the map interface. This is done by clicking on a node using the left mouse button. As long as you keep selecting nodes using the left button you will keep the path open. Until you close it by clicking a node using the right mouse button, thus setting it as a server. Currently, you can’t give a single node two roles (e.g. a client and a server at the same time). After setting up your connection, you click the “run test” button to start your test, when the test is done, its results are displayed on the program log as shown in Fig.6. B. Experiment Management In this tab, user can execute commands on remote nodes or upload files to them. The basic functions that can be performed within this tab are: • Node selection: Nodes can be selected by clicking on them in the node list table or by clicking on the nodes' icons on the map. Information about a node can be obtained by hovering the mouse pointer on it, this will display a tool tip showing the node details. • Command execution: To execute a command, you simply select the nodes on which you want to run your command, insert the command text with all variables in the command text box, and then click the “run command” button. The output from each node will be displayed on the program log. • Uploading Files: To upload files to nodes, go to the “copy file” tab, from there you can select the file which you want to upload using the “browse” button, you can also specify the destination directory on the remote nodes which you want to store your file in, after selecting the nodes you click “upload file” to start uploading your file. When uploading is done, the log will display the output from the remote consoles to verify that the process is successful, if there are no error messages then the file is uploaded. C. Connection Testing © 2012 ACADEMY PUBLISHER Figure 6: Adding nodes to a path, : The test results showing on the program log D. Illustrative Examples We consider two scenarios to show the functionality and flexibility that ConTest offers in setting up and executing experiments over PlanetLab. In the first scenario, we show how to use the tool to obtain information about the disk usage percentage on each node within a slice. In the second scenario, we show how to perform round trip time measurements between two nodes and how to assign roles for each node. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Example 1-Retrieving Disk Usage Percentage: In this example, we show how to access multiple PlanetLab nodes simultaneously and perform a simple test to obtain the percentage of the disk space used on each node within a slice. In order to perform this test, a shell script responsible for obtaining the disk space usage has been uploaded on each node within our slice. This was done by selecting all nodes from the list in the node list view and uploading the shell script “diskUsuage.sh”. To find the disk usage percentage on a node, the shell script was executed via the execute command tab where the path of the script “testScript/deskUsage.sh” is specified. Disk usage percentage is displayed in the program log area as shown in Fig. 7. Example 2: Round Trip Time (RTT) Measurements In ConTest, the connection test interface allows users to specify the role of each node in an experiment. In this regard, a node can be specified to be a client, a server, or a forwarding node (i.e., a proxy). Also, it allows them to upload the code that is suitable for the role of each node. Measuring the round trip time between two nodes is a simple example that we describe here to illustrate this functionality. Fig. 8 shows the results of measuring RTT between a client (the green node) and a server (the pink node). It also shows the results of measuring RTT between the same nodes assuming that the traffic is forced to pass through another node (the proxy) represented by orange in this example. Such setup is commonly used for indirect communication and it can serve for testing triangular Figure 7: Using ConTest to obtain disk usage percentage of each node within a slice (Example 1) Figure 8. The results of measuring round trip time between two nodes (Example 2) © 2012 ACADEMY PUBLISHER 169 170 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 routing or even studying some characteristics of fast flux networks which is becoming a very important problem [11][12]. It is important to emphasize here that using ConTest to perform such experiments over PlanetLab provides great deal of flexibility and saves a lot of time to setup and run the experiment and collect the related results. So instead of using the CLI to access each node individually to upload the files, execute commands or setting up tests, ConTest automates this process and saves the user's time and effort. V. RELATED WORK Since the deployment of PlanetLab, there have been a lot of efforts to simplify the setup and control of experiments over this distributed testbed. These efforts focused mainly on providing a graphical user interface to select nodes, execute commands, and perform different measurement tests. These tools typically take advantage of the PlanetLab Central (PLC) which provides detailed information about PlanetLab nodes such as host name, geographical location, TCP connectivity. It also provides convenient interfaces for adding/removing nodes. Planet lab manager [13] is one of these tools. It basically allows users to choose nodes for their slices and then to choose some of these nodes for an experiment based on the common information about these nodes. It has the capability of deploying experiment files and execution single/multiple command on every node in parallel. It also provides means to monitor the progress of an experiment and to view the output from the nodes. PlanetLab application manager [14] is another tool that was designed to simplify deployment and monitoring and running applications over PlanetLab. It has several features that enable users to centrally manage their experiments and monitor their applications. The tool is composed of two components: the server side which requires access to aPostagreSQl/MySQL Database element and a PhP web server to allow web access. On the other hand, the client side is basically a shell script that runs under bash. The client side shell scripts require specific customizations making it a little bit complicated. Stork is a software installation utility service that installs and maintains software for other services [15]. It allows users to install software on a large number of PlanetLab nodes and keep that software updated for a long period of time. It also has and a novel security system that empowers users and package creators while reducing trust in a repository administrator. As a results Stork provides a secure, scalable, effective way to maintain tarball and RPM packages and software on large networks. Other tools have been developed to simplify the process of evaluating the characteristics of PlanetLab nodes, thus allowing users to select suitable nodes for their experiments. e. g., pShell [16], CoDeeN [17] [18]. The pShell is a Linux shell that provides basic commands to © 2012 ACADEMY PUBLISHER interact with PlanetLab nodes. However, for pShell users, they still need to manually select suitable nodes. ConTest share many of these features with other tools. The most obvious difference between ConTest and other tools is that ConTest provide a visual way to select nodes within a slice using the world map view. It also, allow users to visually construct the network topology and project it on the map. Moreover, users can specify the role of each node to be client, server, or forwarding node. VI. CONCLUSION AND FUTURE WORK In this paper, we have discussed the design and implementation of ConTest, a graphical user interfacebased tool that enables researchers to visualize experiments over PlanetLab network. ConTest is a powerful graphical tool that helps PlanetLab users access nodes within their slices, upload files and execute commands easily, with no complications and with much fewer security restrictions compared to the command line access, which is the default way of accessing PlanetLab network. It also helps users perform different tests on the nodes they choose and automates gathering and summarizing the results for these tests. Also, it gives the users the ability to utilize its connection automation to run their own tests using their custom testing applications. This tool would be of a great help So this tool is a very promising tool as it has unlimited improvement possibilities which we hope we will be able to explore to make it a more effective tool in the world of distributed applications testing and development. As part of our ongoing efforts to improve ConTest’s functionality and usability, we seek to achieve the following goals: • In the current implementation, the user can browse remote machine folders using the browsing commands (like ls). Future release of ConTest will enable browsing directories on a remote node graphically to increase the usability and ease of use. • Enhance our tool's testing capabilities by adding some additional statistics. Users of the tool can easily help in improving this aspect since the test codes are separated from the main tool functionality, so virtually any codes can be tested and used. • Improving the graphical design of the tool. Specifically the map view. In particular, we will increase the accuracy of the coordinate mapping and add the zooming feature to make the map interface easier to use. • Even though we enable the user to choose the test codes, it is still, somehow, a limited feature. On the far view, we want to enable the users to conduct their own experiments based on the connection setup they choose, instead of limiting them by simple connection testing codes. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 ACKNOWLEDGMENT The authors would like to thank Dr. Mohammad Fraiwan for his constructive thoughts and comments to improve this work. REFERENCES [1] [2] PlanetLab. [Online] http://www.planetlab.org. [18] M. J. Freedman, E. Freudenthal, & D. Mazires, (2004) “Democratizing content publication with coral”, In Proceedings of the 1st USENIX Symposium on Networked Systems Design and Implementation (NSDI ’04). [3] V. Ramasubramanian, & E.G. Sirer, (2004) “O(1) lookup performance for power-law query distributions in peer-topeer overlays”, In NSDI , pp 99-112. [4] K. Park, & V.S. Pai, (2006) “Scale and performance in the coblitz large-file distribution service”, In Proc. 3rd Symposium on Networked Systems Design and Implementation (NSDI 06). [5] N. Spring, D. Wetherall, & T. Anderson, (2002) “Scriptroute: A public internet measurement facility”. [6] Nokia Corporation, Qt Creator, qt.nokia.com/products/developer-tools, 2010. [7] Qt Centre Forum - Qt Centre Community Portal, www.qtcentre.org. [8] Charles Morin, Randy, "How to PING", 2001. [9] Forouzan and Behrouz, "Data Communications And Networking", 2007. [10] Iperf project, sourceforge.net/projects/iperf, 2008. [11] Holz, T., Gorecki, C., Rieck, K., Freiling, F.: Measuring and detecting fast-flux service networks. In: Proceedings of the Network & Distributed System Security Symposium (2008). [12] Passerini, E., Paleari, R., Martignoni, L., Bruschi, D.: FluxOR: detecting and monitoring fast-flux service networks. Detection of Intrusions and Malware, and Vulnerability Assessment pp. 186–206 (2008). [13] PlanetLab Experiment Manager, http://www.cs.washington.edu/research/networking/cplan e/ [14] R. Huebsch. Planetlab application manager. http://appmanager.berkeley.intel-research.net/, 2004. [15] J. Cappos and J. Hartman. Why it is hard to build a longrunning service on PlanetLab. In Proc. Workshop on Real, Large Distributed Systems (WORLDS), San Francisco, CA, Dec. 2005. [16] B. Maniymaran, pShell: An Interactive Shell for Managing Planetlab Slices, http://cgi.cs.mcgill.ca/ anrl/projects/pShell/index.php/ [17] L.Wang, V. Pai and L. Peterson, The Effectiveness of Request Redirection on CDN Robustness, Proceedings of the 5th OSDI Symposium, December 2002. [18] CoDeeN, Princeton University: http://codeen.cs.princeton.edu/ © 2012 ACADEMY PUBLISHER 171 Basheer Al-Duwairi received the PhD and MS degrees in computer engineering from Iowa State University in Spring 2005 and Spring 2002, respectively. Prior to this, he received the BS degree in electrical and computer engineering from Jordan University of Science and Technology (JUST) Irbid, Jordan in 1999. He has been an assistant professor at the Department of Network Engineering and Security at JUST since fall 2009; prior to this, he was an assistant professor in the Computer Engineering Department at the same university from fall 2005 to fall 2009. His research expertise are in the areas of trusted Internet encompassing Internet Infrastructure Security focusing on DDoS, Botnets, and P2P security, Wireless Network security, and Resource Management in real-time systems. He has coauthored several research papers in these fields. He has given tutorials at reputed conferences, served as a member of technical program committee and session chair in many conferences. He also served as Assistant Dean for Student Affairs, Chairman of Computer Engineering Department, Vice Dean for Computer and Information Technology, and the Director of Computer and Information Cenetr, all at JUST. http://www.just.edu.jo/~basheer Mohammad Marei, Malek Ireksossi, and Belal Rehani are undergraduate students at the department of computer engineering at Jordan University of Science & Technology. They are expected to graduate in summer 2011. 172 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Context-oriented Software Development Basel Magableh Trinity College Dublin, Ireland, Ireland Email: magablb@cs.tcd.ie Stephen Barrett Trinity College Dublin, Ireland, Ireland Email: Stephen.barrett@tcd.ie Abstract— Context-oriented programming is an emerging technique that enables dynamic behaviour variation based on context changes. In COP, context can be handled directly at the code level by enriching the business logic of the application with code fragments responsible for performing context manipulation, thus providing the application code with the required adaptive behavior. Unfortunately, the whole set of sensors, effectors, and adaptation processes is mixed with the application code, which often leads to poor scalability and maintainability. In addition, the developers have to surround all probable behavior inside the source code. As an outcome, the anticipated adjustment is restricted to the amount of code stubs on hand offered by the creators. Context-driven adaptation requires dynamic composition of context-dependent parts. This can be achieved trough the support of a component model that encapsulates the context-dependent functionality and decouples them from the application’s core-functionality. The complexity behind modeling the context-dependent functionality lies in the fact that they can occur separately or in any combination, and cannot be encapsulated because of their impact across all the software modules. Before encapsulating crosscutting context-dependent functionality into a software module, the developers must first identify them in the requirements documents. This requires a formal development paradigm for analyzing the context-dependent functionality; and a component model, which modularizes their concerns. COCA-MDA is proposed in this article as model driven architecture for constructing self-adaptive application from a context oriented component model. Index Terms— Adaptable middleware, Context oriented component, Self-adaptive application, Object. I. INTRODUCTION There is a growing demand for developing applications with aspects such as context awareness and self-adaptive behaviors. Self-adaptive software evaluates its own behavior and changes its behavior when the evaluation indicates that it is not accomplishing what the software is intended to do, or when better functionality or performance is possible. Traditionally, self-adaptability is needed to handle complexity, robustness of unanticipated conditions, changing of priorities and polices governing the objective goals, and changing conditions in the contextual environment. Hirschfeld et al. [1] considered context to be any information that is computationally © 2012 ACADEMY PUBLISHER doi:10.4304/jetwi.4.2.172-180 accessible and upon which behavioral variations depend. A context-dependent application adjusts its behavior according to context conditions arising during execution. The techniques that enable applications to handle the contextual application are generally known as “contexthandling” techniques. Context handling is of vital importance for developers and for self-adaptive architecture since it provides dynamic behavioral adaptation and makes it possible to produce more useful computational services for end users in the mobile computing environment [2]. The mobile computing environment is heterogeneous and dynamic. Everything from devices used, resources available, network bandwidths, to user context, can change drastically at runtime [3]. This presents the application developers with the challenge of tailoring behavioral variations to each specific user and context. With the capacity to move and the desire to be socially collaborative, mobile computing users might benefit from the self-adaptability and the context-awareness features that are supported by selfadaptive applications. This article focuses on describing a development paradigm for Context-Oriented Programming, which enables self-adaptability features in this emerging class of applications. The development methodology Context Oriented Component-based Application Model-Driven Architecture (COCA-MDA) modularizes the application’s context-dependent behavior into contextoriented components. The components separate the application’s functional concerns from the extrafunctional concerns. The application is organized into two casually connected layers: the base layer, which provides the application’s core structure, and the metalayer, where the COCA-components are located, and which provides compassable units of behavior. The component model design (COCA-components) has been proposed in previous work in [4]. A COCA-component refers to any subpart of the software system that encapsulates a specific context-dependent functionality in a unit of behavior contractually specified by interfaces and explicit dependences. The result from this methodology is a component-based application described by an architecture description language, COCA-ADL. COCA-ADL is used to bridge the gap between the JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 software models in the platform-independent model of the MDA and the software architecture runtime model. Such employment of the ADL decouples the application’s architecture design from the target platform implementation. The rest of the article is structured as follows. Section II discusses behavioral variability support in ContextOriented Programming and aspects. Section III describes the rationale for providing a development paradigm for context-oriented Programming. Section IV describes the COCA-component model. Section V describes the COCA-ADL elements. The COCA-MDA phases are described in Section VII. Section VIII demonstrates a case study designed using the COCA-MDA and implemented with the COCA-middleware. II. VARIABILITY MANAGEMENT WITH CONTEXTORIENTED PROGRAMMING AND ASPECTS Compositional adaptation enables an application to adopt a new structure/behavior for anticipating concerns that were unforeseen during the original design and construction. Normally, compositional adaptation can be achieved using the separation of concerns techniques, computational reflection, component-based design, and adaptive middleware [5]. The separation of concerns enables the software developers to separate the functional behavior and the crosscutting concerns of the selfadaptive applications. The functional behavior refers to the business logic of an application [5]. Context-driven behavioral variations are heterogeneous crosscutting concerns and a set of collaborated aspects that extend the application behavior in several parts of the program and have an impact across the whole system. Such behavior is called crosscutting concerns. Crosscutting concerns are properties or areas of interest such as quality of service, energy consumption, location awareness, users’ preferences, and security. This work considers the functional behavior of an application as the basecomponent that provides the user with context-free functionality. On the other hand, context-dependent behavior variations are considered as crosscutting concerns that span the software modules in several places. Context-oriented programming is an emerging technique that enables context-dependent adaptation and dynamic behavior variations [6, 7]. In COP, context can be handled directly at the code level by enriching the business logic of the application with code fragments responsible for performing context manipulation, thus providing the application code with the required adaptive behavior [8]. Unfortunately, the whole set of sensors, effectors, and adaptation processes is mixed with the application code, which often leads to poor scalability and maintainability [9]. In general, the proposed COP approaches support fine-grained adaptation among the variant behaviour that were introduced at the compile time, A special compiler is needed for performing the context handling operation. To best of our knowledge, COP does not support dynamic composition of software © 2012 ACADEMY PUBLISHER 173 modules and have no support for introducing new behaviour/or adjusting the application structure to anticipate the context changes. In addition, the developers have to surround all probable behavior inside the source code. As an outcome, the anticipated adjustment is restricted to the amount of code stubs on hand offered by the creators. On the other hand, it is impractical to forecast all likely behaviors and program them at the source code. For a more complex context-aware system, the same context information would be triggered in different parts of an application and would trigger the invocation of additional behavior. In this way, context handling becomes a concern that spans several application units, essentially crosscutting into the main application execution. A programming paradigm aiming at handling such crosscutting concerns (referred to as aspects) is aspect-oriented programming (AOP) [10]. In contrast to COP, Using the AOP paradigm, context information can be handled through aspects that interrupt the main application execution. In order to achieve self-adaptation to context in a manner similar to COP, the contextdependent behavioral variations must be addressed. Unfortunately, the aspect-oriented development methodology can be used to handle homogeneous behavioral variations where the same piece of code can be invoked in several software modules [11, 12], and it does not support adaptation of aspects to context in what is called context-driven adaptation [9]. Moreover, static AOP is classified as a compositional adaptation performed in compile time [5]; anticipating context changes at runtime is not an option, especially with the presence of unforeseen changes. Another approach supported by AOP is called dynamic weaving for aspects [13]; this injects the code in the program execution whenever a new behavior is needed. However, existing AOP languages tend to add a substantial overhead in both execution time and code size, which restricts their practicality for small devices with limited resources [14]. III. RATIONALE Context changes are the causes of adaptation. A context-driven adaptation requires the self-adaptive software to anticipate its context-dependent variations. The context-dependent variation can be classified into actor-dependent, system-dependent, and environmentdependent behavior variations. The complexity behind modeling these behavior variations lies in the fact that they can occur separately or in any combination, and cannot be encapsulated because of their impact across all the software modules. Context-dependent variations can be seen as collaboration of individual features (aspects) expressed in requirements, design, and implementation, and are sufficient to qualify as heterogeneous crosscutting concerns in the sense that different code fragments are applied to different program parts. Before encapsulating crosscutting context-dependent behaviors into a software module, the developers must first identify them in the requirements documents. This is difficult to achieve 174 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 because, by their nature, context-dependent behaviors are tangled with other behaviors, and are likely to be included in multiple parts (scattered) of the software modules. Using intuition or even domain knowledge is not necessarily sufficient for identifying the contextdependent parts of self-adaptive applications. This requires a formal procedure for analyzing them in the software requirements and separating their concerns. Moreover, a formal procedure for modeling these variations is needed. Such analysis and modeling procedures can reduce the complexity in modeling selfadaptive applications. In this sense, a formal development methodology can facilitate the development process and provide new modularization of a self-adaptive software system in order to isolate the context-dependent from the context-free functionalities. Such a methodology, it is argued, can decompose the software system into several behavioral parts that can be used dynamically to modify the application behavior based on the execution context. Behavioral decomposition of a context-aware application can provide a flexible mechanism for modularizing the application into several units of behavior. Because each behavior realizes a specific context condition at runtime, such a mechanism requires separation of the concerns of context handling from the concern of the application business logic. In addition, separation of the application’s context-dependent and context-independent parts can support a behavioral modularization of the application, which simplifies the selection of the appropriate parts to be invoked in the execution whenever a specific context condition is captured. The adaptive software operates through a series of substates (modes). The substates are represented by j, and j might represent a known or unknown conditional state. Examples of known states in the generic form include detecting context changes in a reactive or proactive manner. a set of context-driven and context-free states. At runtime, the middleware transforms the self-adaptive software form statei into statei+1, considering a specific context condition tjk, as shown in Figure 1. This enables the developer to clearly decide which part of the architecture should respond to the context changes tjk, and provides the middleware with sufficient information to consider a subset of the architecture during the adaptation; this enhances the adaptation process, impact, and cost and reduces the computation overhead from implementing this class of applications in mobile devices. Self-adaptive and context-aware applications can be seen as the collaboration of individual behavioral variations expressed in requirements, design, and implementation. This article contributes by proposing a model-driven architecture (COCA-MDA) integrated with a behavioral decomposition technique, based on observation of the context information in requirements and modeling. As a result of combining a decomposition mechanism with MDA, a set of behavioral units is produced. Each unit implements several contextdependent functionalities. This requires a component model that encapsulates these code fragments in distinct architecture units and decouples them from the corefunctionality components. This is what motivates the research towards proposing a context-oriented component model (COCA-component). Context-driven adaptation requires dynamic composition of context-dependent parts, which enables the developer to add, remove, or reconfigure components within an application at runtime. Each COCA-component embeds a specific contextdependent functionality (C+S)ji, realized by a contextoriented component (COCA-component) model. Each COCA-component realizes several layers that encapsulate a fragment of code related to a specific software mode layer(Mjk), as shown in Figure 1. The developers have the ability to provide a decision policy(jk) for each decision point (j) whenever a specific context-related condition is captured. Hereafter, the COCA-components are dynamically managed by COCA-middleware and their internal parts to modify the application behavior. The COCA-middleware performs context monitoring, dynamic decision-making, and adaptation, based on policy evaluation. The decision policy framework is maintained in modeling and runtime time. Figure 1: Behavioral Decomposition Model In the presence of uncertainty and unforeseen context changes, the self-adaptive application might be notified about an unknown condition prior to the software design. Such adaptation is reflected in a series of context-system states. (C+S)ji denotes the ith combination of contextdependent behavior, which is related to the decision points j by the notion mode Mjk. In this way, the development methodology decomposes the software into © 2012 ACADEMY PUBLISHER IV. CONTEXT-ORIENTED COMPONENT MODEL (COCA-COMPONENT) The COCA-component model was proposed in [21], based on the concept of a primitive component introduced by Khattak et al. in [17] and Context-Oriented Programming (COP) [13]. COP provides several features that fit the requirements of a context-aware application, such as behavioral composition, dynamic layers activation, and scoping. This component model dynamically composes adaptable context-dependent applications based on a specific context-dependent JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 functionality. The authors developed the component model by designing components as compositions of behaviors, embedding decision points in the component at design time to determine the component behaviors, and supporting reconfiguration of decision policies at runtime to adapt behaviors. 175 At this stage, each COCA-component must adopt the COCA-component model design. A sample COCAcomponent is shown in Figure 2; it is modeled as a control class with the required attributes and operations. Each layer entity must implement two methods that collaborate with the context manager. Two methods inside the layer class, namely ContextEntityDidChanged and ContextEntityWillChanged, are called when the context manager posts the notifications in the form [NotificationCeneter Post:ContextConditionDidChanged]. This triggers the class layer to invoke its method ContextEntityDidchanged, which embeds a subdivision of the COCA-component implementation. V. COCA-ADL: A CONTEXT-ORIENTED COMPONENT-BASED APPLICATION ADL Figure 2: COCA-component Conceptual Diagram The COCA-component has three major parts: a static part, a dynamic part, and ports. The component itself provides information about its implementation to the middleware. The COCA-component has the following attributes: ID, name, context entity, creation time, location, and remote variable. The Boolean attribute remote indicates whether or not the components are located on the distributed environment. The decision policy and decision points are attributes with getter and setter methods. These methods are used by the middleware to read the attached PolicyID and manipulate the application behavior by manipulating the decision policy. The COCA-component handles the implementation of a context-dependent functionality through employing the delegate design pattern [6], so the adaptation manager invokes these components whenever the COCAcomponent is notified by the context manager. A delegate is a component that is given an opportunity to react to changes in another component or influence the behavior of another component. The basic idea is that two components coordinate to solve a problem. A COCAcomponent is very general and intended for reuse in a wide variety of contextual situations. The basecomponent stores a reference to another component, i.e., its delegate, and sends messages to the delegate at critical times. The messages may only inform the delegate that something has happened, giving the delegate an opportunity to do extra processing, or the messages may ask the delegate for critical information that will control what happens. The delegate is typically a unique custom object within the controller subsystem of an application [6]. © 2012 ACADEMY PUBLISHER The aim of this section is to introduce the architecture description language COCA-ADL. COCA-ADL is an XML-based language used to describe the architecture produced by the development methodology COCAMDA. COCA-ADL is used to bridge the gap between the application models and the implementation language. Thus, it enables the architecture to be implemented by several programming languages. Figure 3: COCA-ADL Elements COCA-ADL is designed as a three-tier system. The first level consists of the building blocks, i.e., the components, including the COCA-component and basecomponent. The second refers to connectors, and the third refers to the architecture configuration, which includes a full description of the state-machine models, which describes an activity diagram plus the decision policies’ syntax. Figure 3 shows the main elements of COCAADL. Each element is associated with an architecture template type. The main features provided by the element types are instantiation, evolution, and inheritance. VI. COCA-MDA DEVELOPMENT APPROACH COCA-MDA has adopted the component collaboration architecture (CCA) and the entity model. The CCA details how to model the structure and behavior of the components that comprise a system at varying and mixed levels of granularity. The entity model describes a metamodel that may be used to model entity objects that are a representation of concepts in the application problem domain and define them as composable components [17]. 176 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 COCA-MDA partitioning the software into three viewpoints: the structure, behavior, and enterprise viewpoints. The structure viewpoint focuses on the core component of the self-adaptive application and hides the context-driven component. The behavior viewpoint focuses on modeling the context-driven behavior of the component, which may be invoked in the application execution at runtime. The enterprise viewpoint focuses on remote components or services, which may be invoked from the distributed environment. The design of a context-aware application according to the COCA-MDA approach was proposed in [18]. The use of COCA-MDA for developing self-adaptive applications for indoor wayfinding for individuals with cognitive impairments was proposed in [19]. Evaluating the COCA-MDA productivity among the development effort was demonstrated in [20]. This article focuses on describing in detail the process of analyzing and classifying the software requirements, and how the software is designed through the platform-independent model and the platform-specific model. Model transformation and code generation were discussed in a previous work [18]. behavioral models, and the context transformed into the COCA-ADL model. model are A. Computational Independent Model In the analysis phase, the developers analyze several requirements using separation of concern techniques. The developers focus on separating the functional requirements from the extra-functional requirements as the first stage. They then separate the user and context requirements from each other. There are two subtasks in the analysis phase. VII. CONTEXT-ORIENTED COMPONENT-BASED APPLICATION EXAMPLE IPetra is a tourist-guide application that helps the client to determine the bravura historical city of Petra, Jordan. IPetra offers a map–client interface maintained by an augmented reality browser (ARB). The browser exhibits many points of interest (POI) inside the physical outlook of the tool’s camera. Information related to every POI is exhibited inside the camera overlay outlook. The POIs comprise edifices, tourist services sites, restaurants, hotels, and ATMs in Petra. The AR browser offers an instantaneous live direct physical display inside the portable camera. When the client positions the portable camera in the direction of a building, an explanation confined to a small area related to that edifice is shown to the client. Constant use of the device’s camera, backed by attaining data from many sensors, can consume the tool’s resources. This needs the application to adjust its tasks among several contexts to maintain quality of service without disrupting the function’s tasks. The function requires frequent updates of client position, network bandwidth, and battery level. Figure 6 summarizes the modeling tasks, using the associated UML diagrams. The developer starts analysis of an application scenario to capture the requirements. The requirements are combined in one model in the requirements diagram. The requirements diagram is modeled using a use-case diagram that describes the interaction between the software system and the context entity. The use-case is partitioned into two separate views. The core-structure view describes the core functionality of the application. The extra-functionality object diagram describes the COCA-component interaction with the core application classes. The state diagram and the activity diagram are extracted from the behavioral view. Finally, the core structure, the © 2012 ACADEMY PUBLISHER Figure 6: Modelling tasks 1) Task 1: Requirements capturing by textual analysis: In this task, the developer identifies the candidate requirements for the illustration scenario using a textual analysis of the application scenario. It is recommended that the developer identifies the candidate actors, use-cases, classes, and activities, as well as capturing the requirements in this task. This can be achieved by creating a table that lists the results of the analysis. This table provides an example of a data dictionary for the proposed scenario. 2) Task2: Identifying the extra-functional requirements and relating them into the middleware functionality: The first step in the process is to understand the application’s execution environment. The context is classified in the requirements diagram, based on its type, and whether it comes from a context provider or consumer. A context can be generated from a physical or logical source (i.e., available memory), or resources (i.e., battery power level and bandwidth). The representations of sensors and resources on the application that is going to consume them at runtime refers to the context consumers. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Figure 7: Requirements UML profile The next level of requirements classification is to classify the requirements based on their anticipation level; this can be foreseeable, foreseen, or unforeseen. This classification allows the developer to model the application behavior as much as possible and to plan for the adaptation actions. However, to facilitate this classification framework, a UML profile is designed to support the requirements analysis and to be used by the software designer, as shown in Figure 7. As shown in Figure 8, extra-functional requirements are captured during this task, for example, requirement number 3: adapt the location service. IPetra is required to adapt its behavior and increase the battery life. This is achieved by adopting a location service that consumes less power. For example, if the battery level is low, the IPetra application switches off the GPS location services and uses the cell-tower location services. Using an IPbased location reduces the accuracy of the location but saves battery energy. In addition, the application may reduce the number of POIs it displays to the most recent device location. Moreover, the application reduces the frequency of the location updates. On the other hand, if the battery level is high and healthy, IPetra uses the GPS service with more accurate locations. The application starts listening for all events in the monitored region inside Petra city. 3) Task 3: Capturing user requirements: This task focuses on capturing the user’s requirements as a subset of the functional requirements, as shown in the UML profile in Figure 7. This task is similar to a classical requirement-engineering process where the developers analyze the main functions of the application that achieve specific goals or objectives. B. Modelling: Platform Independent Model In order to be aware of possible resources and context variations and the necessary adaptation actions, a clear analysis of the context environment is the key to building dynamic context-aware applications. 4) Task 4: Resources and context entity model Resources and context Model refers to generic a overview of the underlying device’s resources, sensors, and logical context provider. This diagram is modelling the engagement between the resources and the application under development. It facilitates the developer to understand the relationship between the context providers and their dependency. © 2012 ACADEMY PUBLISHER 177 5) Task 5: use-cases The requirements diagram in Figure 8 represents the main inputs for this task. Each requirement is incorporated into a use-case, and the developers identify the actor of the requirement. An actor could be a user, system, or environment. The use-cases are classified into two distinct classes, i.e., the core functionality and extended use-cases, by the context conditions. The first step is to identify the interaction between the actor and the software functions to satisfy the user requirement in a context-free fashion. For example, the displaying POIs functionality in the figure is context independent in the sense that the application must provide it, regardless of the context conditions. All these use-cases are modeled separately, using a class diagram that describes the application core-structure or the base-component model, as shown in the following task. Figure 8: Functional and extra-functional partial requirements diagram 6) Task 6: modeling the application core-structure In this task, a classical class diagram models the components that provide the application’s core functions. These functions are identified from the use-case diagram in the previous task. However, the class diagram is modeled independently from the variations in the context information. For this scenario, some classes, such as “Displaying POIs”, “Route-planningUI”, “CameraUI”, “MapUI”, and “User Interface”, are classified to be on the application core. These classes provide the core functions for the user during his tour of Petra city. Figure 9 shows the core-structure class-model without any interaction with the context environment or the middleware. 7) Task 7: identifying application-variant behavior (behavior view): In this phase, the developers specify how the application can adapt to context conditions to achieve a specific goal or objectives. After specifying the core elements of the application in the previous task, the behavioral view is identified in this task. This task identifies when and where an extra-functionality can be invoked in the application execution. This means the developer has to analyze the components involved, their communication, and possible variations in their subdivisions, where each 178 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 division realizes a specific implementation of that COCA-component. To achieve this integration, the developers have to consider two aspects of the context-manager design: how to notify the adaptation manager about the context changes, and the how the component manager can identify the parts of the architecture that have to respond to these changes. These aspects can be achieved by adopting the notification design pattern in modeling the relation between the context entity and the behavioral component. Hereafter, these extra-functionalities are called the COCA-components. Each component must be designed on the basis of the component model described in Figure 2. Figure 9: I-Petra Core-Classes structure The IPetra application is modularized into several COCA-components. Each component models one extrafunctionality such as the LocationCOCA−component in Figure 10. The COCA-component sublayers implement several context-dependent functionalities that use the location service. Each layer is activated by the middleware, based on context changes. After applying the observer design pattern and the COCA-component model to the use-cases, the class diagram for the middleware functionality “Update Location” can be modeled as shown in Figure 10. Figure 10 shows a COCAcomponent modelled to anticipate the ’direction output’. The COCA-component implements a delegate objects and sub layers; each layer implements a specific contextdependent function. The COCA-middleware uses this delegate object to redirect the execution among the sub layers, based on the context condition. Invoking different variations of the COCA-component requires identification of the application architecture, behavior, and the decision policies in use. As mentioned before, these decision policies play an important role in the middleware functions, which use them in handling, the architecture evolution, and the adaptation action. The model in Figure 10 helps the developer to extract the decision policies and the decision points from the interactions between the context entities and the COCAcomponents. Decision policies are used by the middleware to select suitable adaptation actions among specific context conditions. The application behavioural model is used to demonstrate the decision points in the execution that © 2012 ACADEMY PUBLISHER might be reached whenever internal or external variables are found. This decision point requires several parameter inputs to make the correct choice at this critical time. Using the activity diagram, the developers can extract numerous decision polices. Each policy must be modelled in a state diagram, for example, the Policy: Camera Flashes is attached to the ’Camera flashes’ COCAcomponent. The policy syntax can be described by the code shown in listing 1. The IPetra application has been implemented in two distinct versions, i.e. with and without the COCAmiddleware. The Instruments is a tool application for dynamically tracing and profiling IPhone devices. The battery life has been measured by Energy Diagnostics Instruments running on the device [22]. The energy Diagnostic used to measure the battery while the device is not connected to external power supply. The experiments show that the COCA IPetra application saved the batteryconsuming level by 13% in addition to its self-tuning adaptability. Fig. 14 shows the experimental results for energy usage. The IPetra implementation without adopting the COCA-platform consumes more energy during context monitoring, draining the battery faster. On the other hand, when the same application adopts the COCA-middleware, the application is able to adapt its behaviour and use less energy. The adaptation time for handling low and high battery-levels are shown in Figure 13. It is worth mentioning here that when the battery level is low, the COCA-middleware allocates less memory because of the size of the COCA-component, which is small compared to its implementation. Figure 10: Extra-functionality Object Diagram of the Context Oriented Components JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 If ( direction is Provided && Available memory >= 50 && CPU throughput <= 89 && light level >= 50 && BatteryLevel >= 50) then {EnableFlashes();} Else If ( BatteryLevel < 50 || LightLevel < 50 ) then {DisableFlashes(); SearchForPhotos();} else If( BatteryLevel < 20) then DisableFlashes(); Listing 1: Adaptation time (ms) and memory allocation (KB) to anticipate the evolution of both functional and nonfunctional requirements. The decision policies require more development with respect to policy mismatch and resolution. This is in line with an improvement in terms of self-assurance and dynamic evaluation of the adaptation output. REFERENCES [1] [2] [3] Figure 13: Adaptation time (ms) and memory allocation (KB) [4] [5] [6] Figure 14: Energy usage for IPetra application. [7] VIII. EXPERIMENTS EVALUATION IX. CONCLUSIONS AND FUTURE WORKS This article described a development paradigm for building context-oriented applications using a combination of Model-Driven Architecture that generates an ADL, which presents the architecture as a components-based system, and a runtime infrastructure (middleware) that enables transparent self-adaptation with the underlying context environment. Specifically, a Model-Driven Architecture is used to demonstrate a new approach to building context-aware and self-adaptive applications by adopting a ModelDriven Architecture (COCA-MDA). COCA-MDA enables developers to modularize applications based on their context-dependent behaviors, enables developers to separate context-dependent functionalities from the application’s generic functionality, and enables dynamic context-driven adaptation without overwhelming the quality attributes. The COCA-MDA needs to be improved with respect to support for both requirement reflection and modeling requirements as runtime entities. The requirement reflection mechanism requires support at the modeling level and at the architecture level. Reflection can be used © 2012 ACADEMY PUBLISHER 179 [8] [9] [10] [11] [12] [13] R. Hirschfeld, P. Costanza, and O. Nierstrasz, “Contextoriented programming,” Journal of Object Technology, vol. 7, no. 3, pp. 125–151, March 2008. A. K. Dey, “Providing architectural support for building context-aware applications,” Ph.D. dissertation, Georgia Institute of Technology, Atlanta, GA, USA, 2000. N. M. Belaramani, C.-L. Wang, and F. C. M. Lau, “Dynamic component composition for functionality adaptation in pervasive environments,” in Proceedings of the The Ninth IEEE Workshop on Future Trends of Distributed Computing Systems, ser. FTDCS ’03. plus 0.5em minus 0.4emIEEE Computer Society, 2003, pp. 226–232. B. Magableh and S. Barrett, “Pcoms: A component model for building context-dependent applications,” in Proceedings of the 2009 Computation World: Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns, ser. COMPUTATIONWORLD ’09. plus 0.5em minus 0.4emWashington, DC, USA: IEEE Computer Society, 2009, pp. 44–48. P. K. McKinley, S. M. Sadjadi, E. P. Kasten, and B. H. C. Cheng, “Composing adaptive software,” Computer, vol. 37, pp. 56–64, July 2004. M. Gassanenko, “Context-oriented programming,” in Proceedings of the EuroFORTH’93 conference, Marianske Lazne (Marienbad), Czech Republic, 15-18 October 1998, pp. 1–14. R. Keays and A. Rakotonirainy, “Context-oriented programming,” in Proceedings of the 3rd ACM international workshop on Data engineering for wireless and mobile access, ser. MobiDe ’03, San Diego, CA, USA, 2003, pp. 9–16. M. Salehie and L. Tahvildari, “Self-adaptive software: Landscape and research challenges,” ACM Trans. Auton. Adapt. Syst., vol. 4, pp. 14:1–14:42, May 2009. G. Kapitsaki, G. Prezerakos, N. Tselikas, and I. Venieris, “Context-aware service engineering: A survey,” Journal of Systems and Software, vol. 82, no. 8, pp. 1285–1297, 2009. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin, “Aspect-oriented programming,” in ECOOP’97 âEuropean Conference on Object-Oriented Programming, ser. Lecture Notes in Computer Science. plus 0.5em minus 0.4emSpringer Berlin / Heidelberg, 1997, vol. 1241, pp. 220–242. S. Apel, T. Leich, and G. Saake, “Aspectual mixin layers: aspects and features in concert,” in Proceedings of the 28th international conference on Software engineering, ser. ICSE ’06. plus 0.5em minus 0.4emShanghai, China: ACM, 2006, pp. 122–131. M. Mezini and K. Ostermann, “Variability management with feature-oriented programming and aspects,” SIGSOFT Softw. Eng. Notes, vol. 29, pp. 127–136, October 2004. A. Popovici, T. Gross, and G. Alonso, “Dynamic weaving for aspect-oriented programming,” in Proceedings of the 1st international conference on Aspect-oriented software 180 [14] [15] [16] [17] [18] [19] [20] JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 development, ser. AOSD ’02. plus 0.5em minus 0.4emNew York, NY, USA: ACM, 2002, pp. 141–147. C. Hundt, D. Stöhr, and S. Glesner, “Optimizing aspectoriented mechanisms for embedded applications,” Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 6141 LNCS, pp. 137–153, 2010. Y. Khattak and S. Barrett, “Primitive components: towards more flexible black box aop,” in Proceedings of the 1st International Workshop on Context-Aware Middleware and Services: affiliated with the 4th International Conference on Communication System Software and Middleware (COMSWARE 2009), ser. CAMS ’09. plus 0.5em minus 0.4emNew York, NY, USA: ACM, 2009, pp. 24–30. E. Buck and D. Yacktman, Cocoa design patterns, 2nd ed. plus 0.5em minus 0.4emDeveloper’s Library, 2010. “Enterprise collaboration architecture (eca) specification,” http://www.omg.org/, pp. 1–202, Feb 2004. B. Magableh and S. Barrett, “Objective-cop: Objective context oriented programming,” in International Conference on Information and Communication Systems, ser. ICICS 2011, vol. 1, May 2011, pp. 45–49. ------, “Self-adaptive application for indoor wayfinding for individuals with cognitive impairments,” in The 24th IEEE International Symposium on Computer-Based Medical Systems, ser. CBMS 2011, vol. In press, Lancaster, UK, June 2011, pp. 45–49. B. Magableh, “Model-Driven productivity evaluation for self-adaptive Context-Oriented software development,” in 5th International Conference and Exhibition on Next © 2012 ACADEMY PUBLISHER Generation Mobile Applications, Services, and Technologies (NGMAST’11), vol. In press, Cardiff, Wales, United Kingdom, Sep. 2011. [21] R. Anthony, D. Chen, M. Pelc, M. Perssonn, and M. Torngren, “Context-aware adaptation in dyscas,” in Proceedings of the Context-aware Adaptation Mechanisms for Pervasive and Ubiquitous Services (CAMPUS 2009), 2009, p. 15. [22] Ios 4.0 apple developer library. http://developer.apple.com/library/ios/navigation/ (2010), "[Online; accessed 1-April-2011]" Basel Magableh received his MS degree in computer science from New York Institute of Technology, NY, USA, in 2004. He is currently a Ph.D. candidate at Distributed Systems Group, Trinity College Dublin, Ireland. His research focuses in integrating Model Driven Architecture with a component-based system to construct self-adaptive and context-aware applications. He is a full-time lecturer in Grafton College of Management Science, Dublin, Ireland. He was member of staff in the National Digital Research Center of Ireland from 2008- 2011. Stephen Barrett is currently a lecturer at Distributed Systems Group, Trinity College Dublin, Ireland. His research centers on middleware support for adaptive computing. (with particular focus on model driven paradigms) and on large scale applications research (particularly in the context of web search, trust computation and peer and cloud computing) . JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 181 Aggregated Search in XML Documents Fatma Zohra Bessai-Mechmache Research Centre on Scientific and Technical Information, CERIST, Algiers, Algeria zbessai@cerist.dz Zaia Alimazighi University of Science and Technology, USTHB, LSI, Algiers, Algeria alimazighi@wissal.dz Abstract—In this paper, we are interested in aggregated search in structured XML documents. We present a structured information retrieval model based on possibilistic networks. Relations terms-elements and elements-document are modeled through possibility and necessity. In this model, the user’s query starts a process of propagation to recover the elements. Thus, instead of retrieving a list of elements that are likely to answer partially the user’s query, our objective is to build a virtual elements that contain relevant and non-redundant elements, that are likely to answer better the query that elements taken separately. Indeed, the possibilistic network structure provides a natural representation of links between a document, its elements and its content, and allows an automatic selection of relevant and non-redundant elements. We evaluated our approach using a sub-collection of INEX (INitiative for the Evaluation of XML retrieval) and presented some results for evaluating the impact of the aggregation approach. possibilitic theory, it makes it possible to quantify in a qualitative and quantitative way the various subjacent links. it allows to express the fact that a term is certainly or possibly relevant with respect to an element and/or a document and to measure at which point an element (or a set of elements) can necessarily or possibly answer the user’s query. This paper is organized as follows: Section 2 presents a brief state of the art on aggregation search. Section 3 gives a brief definition of the possibilistic theory. Section 4 is devoted to the description of the model which we propose. We show, in section 5 an example illustrating this model. Section 6 gives the evaluation results and shows the effectiveness of the model. Section 7 concludes the paper. Index Terms— XML Information Retrieval, possibilistic networks, aggregated search, redundancy. The aim of the aggregated search is to assemble information from diverse sources to construct responses including all information relevant to the query. This comes in contrast with the common search paradigm, where users are provided with a list of information sources, which they have to examine in turn to find relevant content. It is well known that, in the context of Web search, users typically access a small number of documents [12]. A study on users Web [24] showed that the percentage of users who consult fewer documents (Web pages) per query increases with time. For example, from 1997 to 2001, the users' percentage looking at a document by query is passed from 28.6% to 50.5%. This percentage increased further to over 70% after 2001 [25]. It gives to think that for a list of documents, is mainly confined to documents in the first, second and sometimes (at most) third rank. The study reported in [11] showed that on 10 documents displayed, 60% of users have looked less than 5 documents and nearly 30% have read a single document. The aggregated search allows to bring solutions to this problem. Indeed, its aim is to integrate other types of documents (web documents, images, videos, maps, news, books) in the results page. Example of search engines that begin to make aggregation, we find Google Universal Search, Yahoo! alpha, etc. Users have access to various document types. This can be beneficial for certain I. INTRODUCTION The main problem of content-based XML information retrieval is how to select the unit of information that better answers the user’s query [13] [9]. Most of XML Information Retrieval (IR) approaches [23] [17] [15] [16] [18] consider that the returned units are a list of disjoint elements (subtrees of XML documents). We assume that relevant unit is not necessarily a unique adjoining elements or a document it could also be any aggregation of elements of that document. Let us consider a document with the following structure (document(title)(chappter1(section1)(section2)) chapter2(…)). If the relevant information are located in the “title” and “section1”, most of XML IR systems will return the whole document as the relevant unit. In our case we consider that, the only unit to be returned is an aggregate (element set) formed by both elements : ”title” & “section1”. To achieve this objective, we propose a model enabling to automatically select aggregation of non redundant elements of the document that better answer the user’s need formulated through a list of key words. The model we propose finds its theoretical bases in the possibilistic networks. The network structure provides a natural manner to represent the links between, a document, its elements and its content. As for the © 2012 ACADEMY PUBLISHER doi:10.4304/jetwi.4.2.181-188 II. STATE OF THE ART 182 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 queries, such as "trip to Finland" can return maps, blogs, weather, etc. Another technique that can be used to improve the search results page is the clustering. However, it is not enough simply to return the clusters. It is important to provide users an overview of the contents of the documents forming a cluster [25]. A common approach to provide such an overview is a summary of all documents of the cluster (‘multi documents summary’). Examples of systems based on this technique, we find NewInEssence [20], QCS [8], etc. The issue of elements aggregation from a collection of XML documents is not addressed in the literature. Indeed, the proposed approaches that address this issue are limited to Web documents [6] [1]. However, few Information retrieval systems begin to aggregate the results, of a query on XML documents, as summaries. For example, eXtract [10] is an information retrieval system that generates results as XML fragments. An XML fragment is considered a result if it answers four features: Autonomous (understood by the user), distinct (different from the other fragments), representative (of the themes of the query) and succinct. XCLUSTERs [19] is a model of representation of XML abstracts. It includs some XML elements and uses a small space to store data. The objective is to provide significant excerpts for users to easily evaluate the relevance of query results. The approach we propose in this paper is located to junction between the research of the relevant elements and their regrouping (aggregation) in a same result. Our approach is based on possibilistic theory [26] [7] [4] and more particularly on possibilistic networks [2] [3]. These networks offer a simple and natural model for representing the hierarchical structure of XML documents and to handle uncertainty, inherent to information retrieval. We find this uncertainty in the concept of document relevance with respect to a query, the degree of representativeness of a term in a document or part of documents and the identification of the relevant part that answers the query. Within this framework, to identify the relevant part that answers the query, unlike the approaches suggested in the literature, which select the sub-tree, likely to be relevant; our approach allows to identify and to select, in a natural way, an aggregation of non redundant elements of XML document that may answer the query. Besides the points mentioned above, the theoretical framework, that supports our proposals, namely the possibilistic networks, clearly differentiate us from the settings used in previous approaches. III. THE POSSIBILISTIC THEORY The possibilistic logic [26] enables to model and quantify the relevance of a document considering a query through two measurements: the necessity and the possibility. The necessarily relevant elements are those that must appear in top of the list of the selected elements and must allow system efficiency. The possibly relevant © 2012 ACADEMY PUBLISHER elements are those that would eventually answer the user query. A. Possibility Distribution A possibility distribution, denoted by π, corresponds to a mapping from X to the scale [0, 1] encoding our knowledge on the real world. π (x) evaluates to what extent x is the actual value of some variable to which π is attached. π (x) =1 means that it is completely possible that x is the real world (or that x is completely fulfilling), 1> π (x) >0 means that x is somewhat possible (or fulfilling), and finally π (x) =0 means that x is certainly not the real world (or is completely unsatisfactory). An event is said ‘no possible’ does not only mean that the opposite event is possible. It actually means that it is certain. Two dual measures are used: the possibility measure П(A) and the necessity measure N(A). The possibility of an event A, denoted П(A), is obtained by П (A) = max x є A π(x) and describes the most normal situation in which A is true. The necessity N(A) = min x ∉ A 1 − π(x) = 1 − П(¬A) of an event A reflects the most normal situation in which A is false. B. Product-based Conditioning In the possibilistic setting, the product-based conditioning consists of modifying our initial knowledge, encoded by the possibility distribution π by the arrival of new fully certain piece of information e. Let us take Φ = [e] the set of models of e. The initial distribution π is then replaced by another one π′, such as π′ = π (•/Φ). Assuming that Φ ≠ Ø and that П (Φ) > 0, the natural postulates for possibilistic conditioning are: π(w /p Φ) = π(w)/ П (Φ) and 0 if w є Φ otherwise (1) Where /p is the product-based conditioning. C. Possibilistic Networks A directed possibilistic network over a set of variables V= {V1, V2,…,Vn} is characterized by: - A graphical component composed of a Directed Acyclic Graph (DAG). The DAG structure encodes a set of independence relations between variables. - A numerical component consisting in a quantification of different links in the DAG using the conditional possibilisties of each node in the context of its parents. Such conditional distributions should respect the following normalization constraints for each variable Vi of the set V: Let UVi the set of parents of Vi If UVi = Ø (i.e. Vi is a root), then the a priori possibility relative to Vi should satisfy: max ai Π(ai) = 1, ∀ ai ∈ DVi JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 If UVi ≠ Ø (i.e. Vi is not a root), then the conditional distribution of Vi in the context of its parents should satisfy: max ai Π(ai /ParVi) = 1, ∀ ai ∈ DVi Where ParVi is the set of possible configurations (aggregations) of parents of Vi Using the definition of conditioning based on the product operator. This leads to the following definition of a product-based possibilistic network: D. Product-based Possibilistic Network A product-based possibilistic network over a set of variables V = {A1, A2,…, AN} is a possibilistic graph where conditionals are defined using product-based conditioning (1). Product-based possibilistic networks are appropriate for a numerical interpretation of the possibilistic scale. The possibility distribution of the product-based possibilistic network, denoted by ΠP, is obtained by the following product-based chain rule [2]: ΠP (A1,..., AN) = PRODi=1..N Π (Ai/PARAi) (2) Where: ‘PROD’ is the product operator. IV. THE AGGREGATED SEARCH MODEL A. Model Architecture The architecture of the proposed model is illustrated in Fig. 1. The graph represents the document nodes, index terms and element nodes (elements of XML document). The links between the nodes allow representing the relations of dependences between the various nodes. T1 E2 T2 En Ei Ti Tj Tm Figure 1 . Model Architecture. Document nodes represent the collection documents. Each document node Di, represents a binary random variable taking values in the set dom (Di) = {di, ¬di}, where the value Di = di (resp. ¬di) represents “the document Di is relevant for a given query (resp. nonrelevant). © 2012 ACADEMY PUBLISHER Nodes E1, E2, …, En, represent the elements of document Di. Each node Ei, represents a binary random variable taking values in the set dom (Ei) = {ei, ¬ei}. The value Ei = ei (rep. ¬ei) means that the element ‘Ei’ is relevant for the query (resp. non-relevant). Nodes T1, T2, …, Tm are the term nodes. Each term node Ti represents a binary random variable taking values in the set dom (Ti) = {ti, ¬ti,} where the value Ti = ti (resp. ¬ti) means that term ‘Ti’ is representative of the parent node to which it is attached (resp. non-representative of the parent node to which it is connected). It should be noticed that a term is connected to the node that includes it as well as to all its ancestors. The passage from the document to the representation in the form of possibilistic network is done in a simple way. All nodes (elements) represent the level of variables Ei. The values that will be assigned with the arcs of dependences between term-element nodes and elementdocument nodes depend on the sense which one gives to these links. Each structural variable Ei, Ei ∈ E = {E1, E2, …, En}, depends directly on its parent node which is the root Di in the possibilistic network of the document. Each variable of contents Ti, Ti ∈ T = {T1, …, Tm} depends only on its structural variable (structural element or tag). It should be also noticed that the representation considers only one document. In fact, the documents are considered independent from each other, thus we can consider only the sub-network, representing the document that is processed. We note by T(E) (resp. T(Q)) the set of the index terms of the elements of the document (resp. of the query). The arcs are oriented and are of two types: - Term-element links. These links connect each term node Ti є T(E) to each node Ei where it appears. - Elements-document links. These links connect each element node of the set E to the document that includes it, in our case Di. We will discuss interpretations we give these various links and the way we quantify them, in the following. Di E1 183 B. Query Evaluation As we underlined previously, we model the relevance according to two dimensions: the necessity and the possibility of relevance. Our model must be able to infer propositions of the type: - “the document di is relevant for the query Q” is possible to a certain degree or not, quantified by П(Q/di). - “the document di is relevant for the query Q” is certain or not, quantified by N(Q/di). The first type of proposition allows to eliminate the non-relevant documents, i.e. those that have a weak possibility. The second proposition focuses the attention on those that seem very relevant. For the model presented here, we will adopt the following assumptions: 184 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Assumption 1: A document has as much possibility to be relevant than non-relevant for a given user, either П(di) = П(¬di) = 1, ∀ i. Assumption 2: The query is composed of a simple list of key words Q= {t1,t2, … ,tn}. The relative importance between terms in the query is ignored. According to the definitions of the possibilistic theory, the quantities П(Q/di) and N(Q/di) are calculated like follows : distinguish the terms possibly representative of the elements of the document and those necessarily representative of these elements (terms that are sufficient to characterize the elements). With this intention, the possibility of relevance of a term (ti) to represent an element (ej), noted Π (ti /ej), is calculated like follows: Π ( t i / e j ) = tf /max (tf i j ∀ t k ∈e kj ) j (5) Π (Q/di ) = max (Pr ode ( Pr od (Π(ti / θ ej ))) * Pr ode (Π(θ ej / di )) * Π(di )) e E ∀θ ∈θ E j ∈θ Ti ∈T(E) ^ T(Q) E j ∈θ (3) Where: - Prod: means product (we used this symbol instead of ∏ not to confuse it with the symbol designating the possibility). - ti ∈T(E) ^ T(Q) : represents the terms of the queries which index the elements of the XML document. - θ : set of non redundant elements e - θ ej : represents the value of Ej in the aggregation θ e (example: the value of E1 in the aggregation (e1, e2) is e1). The selection of the relevant parts (units of information) is inherent with the model. Indeed, the (3) calculates the relevance by considering all possible aggregations (regrouping) of elements. The factor θe gives possible values of elements. The aggregation of elements that will be selected will be the one that includes obligatorily the terms of the query and presents the best relevance (maximum relevance) in terms of necessity and/or possibility. As it was mentioned in the introduction, our model is able tri select the best aggregation of elements that are likely to be relevant to the query. This aggregation is the aggregation that maximizes the necessity if it exists or the possibility. It obtained by: θ * = arg max Π (Q /d i ) ∀θ e ∈θ E (4) The various degrees Π and N between the nodes of the network are calculated as follows: 1) Possibility Distribution П(ti/ej) In Information Retrieval, the terms used to represent the content of a document, are weighted in order to better characterize the content of this document. The same principle is used in XML retrieval. The weights are generally calculated by using term frequency (tf) within a document or inverse document frequency (Idf) in the collection. In information retrieval, it has been shown [21] [22] that the performances of the system can be improved if one represents an element by considering its own content and the contents of its children nodes. In our model, we © 2012 ACADEMY PUBLISHER Where, tfij represents the frequency of the term ‘ti’ in the element ‘ej’. A term having a degree of possibility 0 means that the term is not representative of the element. If the degree of possibility is strictly higher than 0, then the term is possibly representative of the element. If it appears with a maximum degree of possibility, then it is considered as the best potential candidate for the representation and thus the restitution of the element. Let us note that: max (Π (ti / ej)) = 1, ∃ti ∈ ej In an XML document, a necessarily representative term of an element is a term that contributes to its restitution in response to a query. This term is called discriminative term and it is a term that frequently appears in few elements of XML document [5]. The factor commonly used in IR to quantify the discriminative power of a term is idf (ief in XML IR). Therefore, a degree of necessary relevance, βij, of the term ti to represent the element ej, will be defined by: Ne N N(ti →e j) ≥ βij = μ (tfij *iefij) * idf = μ (tfij *log( ) *log( )) nei +1 ni +1 (6) Where: - N and Ne are respectively the number of documents and elements in the collection. - ni and nei are respectively the number of documents and the number of elements containing the term ti. - μ : a function of normalization. A simple manner to normalize is to divide by the maximal value of the factor. - tfij represents the frequency of the term ‘ti’ in the element ‘ej’. - iefij represents the inverse frequency of the element ‘ej’ for the term ‘ti’. - idf represents the inverse frequency of the document. It should be noticed that (6) has been chosen according some experiments that were undertaken by Sauvagnat [22]. This degree of necessary relevance allows limiting the possibility that the term is compatible with the rejection of the element by: Π (ti /¬ej) ≤ 1- βij (this is deduced by definition in the possibilistic theory) JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 We summarize the possibility distribution on the Cartesian product {ej, ¬ej} x {ti, ¬ ti} by the following table: TABLE I. ti POSSIBILITY DISTRIBUTION ON THE SET OF TERMS T Π ¬ti ej tfij / max(tfkj), (∀tk∈ej) ¬ej 1- βij 1 1 (7) Where: - dist(di, ej) is the distance from the element ej to the root di in accordance with the hierarchical structure of the document. - α є ]0..1] is a parameter allowing to quantify the importance of the distance separating the element nodes (structural elements of the document) to the root of the document. Concerning the necessity to propagate, in an intuitive manner, one can think that the designer of a document uses the nodes of small size to emerge important information. These nodes can thus give precious indications on the relevance of their ancestors’ nodes. A title node in a section for example allows locating with precision the subject of its ancestor node section. It is thus necessary to propagate the signal calculated on the level of the node towards the root node. To answer this intuition, we propose to calculate the necessity of propagation of relevance of an element ej towards the root node di, denoted N(e → d ) , as follows: j equation, the more a term is of small size, the bigger is the necessity to propagate it. Therefore, Π (ej/ ¬ di) = lej/dl We summarize the possibility distribution on the Cartesian product {di, ¬di} x {ej, ¬ej} by the following table: TABLE II. POSSIBILITY DISTRIBUTION ON THE SET OF ELEMENTS E di Π 2) Possibility Distribution П(ej /di) The arc document-element (or arc root-element) indicates the interest to propagate information from an element towards the document node (root). The nodes, close to the root (of a tree), carry more information for the root than those located lower in the tree [22]. Thus it seems intuitive that more an element is far from the root more it is less relevant. We model this intuition by the use in the function of propagation of the parameter dist(root, e), that represents the distance between the root and one of its descendant nodes (elements) ‘e’ in the hierarchical tree of the document, i.e. the number of arcs separating the two nodes. The degree of possibility of propagation of relevance of an element (ei) towards the document node (di) is defined by Π (ej / di) and is quantified as follows: Π (ej / di) = α dist(di, ej)-1 185 ¬di ej α dist(di, ej)-1 lej/dl ¬ej 1 1 V. ILLUSTRATE EXAMPLE An example of XML document (an extract of a document) related to a book will be used to illustrate our talk. The XML document and its possibilistic network are presented as follows: <Book> <Title > Information Retrieval </Title > <Abstarct> In front of the increasing mass of information …</Abstract> …. <Chapter> <Title chapter> Indexing </title chapter> <Paragraph> The indexing is the process intended to represent by the elements of a documentary or natural language of … </Paragraph> </Chapter> </Book> The possibilistic network associated with XML document `Book' is as follows: Book TitleChapter Abstrac Title Paragrap Chapter Information Retrieval Indexing System XML i Figure 2 . Possibilistic network of the XML document ‘Book' N(e j → d i ) = 1 − le j dl (8) lej is the size of the element node ej and dl the size of a document (in number of terms). According to this © 2012 ACADEMY PUBLISHER For this example, the set of the elements E= {e1=Title, e2=Abstract, e3=Chapter, e4=Titlechapter, e5=Paragraph}. The set of the indexing terms of the elements, calculated while using the content of each element, along with its 186 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 child elements in the document, such as T(E) = {t1=Retrieval, t2=Information, t3=System, t4=Indexing, t5=XML}. We consider only some terms not to congest the example. The table containing the values of the arcs element node-term node of the possibilistic network of the document “Book” is given in Table III. We recall that a term is connected to the node that includes it as well as to all the ancestors of this node. TABLE III. П (ti/ej) e1 ¬ e1 e2 ¬ e2 e3 ¬ e3 e4 ¬ e4 e5 ¬ e5 POSSIBILITY DISTRIBUTION П t1 t2 1 0 0.5 0.5 0 1 0 1 0 1 1 0 1 0 0 1 0 1 0 1 t3 0 1 1 0 0 1 0 1 0 1 (ti/ej) t4 0 1 0.25 0.88 0.70 0.10 1 0 0.88 0.05 t5 0 1 0 1 0.5 0.2 0 1 1 0 The table containing the values of arcs root-element nodes of the possibilistic network of the document `Book' is given in Table IV (we take α = 0,6 and dl=100). TABLE IV. POSSIBILITY DISTRIBUTION П (ej /di ) П (ej/di) (di=book) e1 ¬e1 e2 ¬e2 e3 ¬e3 e4 ¬e4 e5 ¬e5 1 1 1 1 1 1 0.6 1 0.6 1 П (ej/di) (di= ¬book) 0.02 1 0.1 1 1 1 0.01 1 1 1 When the query is put, a process of propagation is started through the network modifying the values of possibilities a priori. In this model the equation of propagation used is the (3). Let’s take a query Q composed of the keywords “Retrieval” and “Information”, Q={Retrieval, Information}. According to the assumption 1, Π (di) = Π(¬ di) = 1, ∀ i. Given the query Q, the propagation process (3) considers only the aggregates of set E that include the query terms t1 = ‘Retrieval’ and t2= ‘Information’. In fact only the elements e1=’Title’ and e2=’Abstract’ will be considered. The aggregations that it is thus necessary considered are: {(e1, e2), (e1, ¬e2), (¬e1, e2), (¬e1, ¬e2)}. We calculate then: © 2012 ACADEMY PUBLISHER For di = book: a1 = Π( t1/e1) . Π (t2/e1). Π (t2/e2) . Π (e1/book) . Π (e2/ book) = 1 * 1*1 * 1 * 1= 1 a2 = Π( t1/e1) . Π (t2/e1) . Π (t2/¬e2) . Π (e1/book) . Π (¬e2/book) = 1* 1*0 * 1 * 1= 0 a3 = Π (t1/¬e1) . Π (t2/¬e1) . Π (t2/e2) . Π (¬e1/book) . Π (e2/book) = 0 * 0*1 * 1 * 1 = 0 a4 = Π( t1/¬e1). Π( t2/¬e1). Π (t2/¬e2). Π (¬e1/book) . Π (¬e2/ book) = 0 * 0 * 0 * 1 * 1 = 0 According to (3): Π(Q/book) = max (a1, a2, a3, a4) = 1 = a1 For ¬ di = ¬ book: a5 = Π (t1/e1). Π (t2/e1). Π(t2/e2). Π(e1/¬book) . Π(e2/¬book) = 1 * 1 * 1 * 0.02 * 0.1 = 0.002 a6 = Π (t1/e1). Π (t2/e1). Π (t2/¬e2). Π(e1/¬book) . Π(¬e2/¬book) = 1 * 1* 0 * 0.02 * 0.1 = 0 a7 = Π (t1/¬e1) . Π (t2/¬e1). Π (t2/e2) . Π(¬e1/¬book) . Π(e2/¬book) = 0 * 0 * 1 * 1 * 0.1 = 0 a8 = Π(t1/¬e1).Π(t2/¬e1).Π(t2/¬e2) . Π(¬e1/¬book) . Π(¬e2/¬book) = 0 * 0* 0 * 1 * 1 = 0 According to (3): Π(Q/¬ book) = max (a5, a6, a7, a8) = 0.002 = a5 The necessity N(Q/book) =1- Π( Q/¬ book) = 1- 0.002 = 0.998 The necessity N(Q/¬ book) =1- ∏( Q/book/) = 1- 1 = 0 The preferred documents are those that have a value N(Q/di) high among those that have a value Π (Q/di) high too. If N(Q/di)=0, the restored documents are (unwarranted of total adequacy) those that have a value Π(Q/di) high. Therefore, for the query Q = {Retrieval, Information}, it is the aggregation “a1” (title, abstract) that will be turned to the user as answer to his query. VI. EXPERIMENTS AND RESULTS A. Goals All studies performed to assess aggregated search were based on user studies [14]. This user study is designed with two major goals: - Evaluate the aptitude of an aggregate of XML elements to answer user queries. - Identify some of the advantages of the aggregated search in XML documents. B. Results To evaluate our model, a prototype was developed. Our experiments are conducted on a sample about 2000 XML documents of the INEX'2005 collection, a set of 20 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 queries from the same collection. Every query is assessed by exactly 3 users. The following histogram gives the judgments of users by query regarding the aggregate relevance: 187 Thus, it seems very important to identify other evaluation criteria to identify all benefits of aggregated search in XML documents. REFERENCES Figure 3 . Distribution of aggregation relevance results The experimental evaluation shows that aggregated search has big contribution for XML information retrieval. Indeed, the aggregate gathers non-redundant elements (parts of XML document). These elements can be semantically complementary and in this case the aggregate allows improving the interpretation of results, guides the user to the relevant elements of XML document, faster and also reduces the efforts the user must provide to locate information searched for. However, in some cases elements of the aggregate may be non complementary that means not semantically related with respect to information need expressed by user’s query. This sort of aggregation is very useful because it allows a very fine distinction of the different thematic expressed in the user's query when his need in information is generic. It also helps inform the user about various information of the corpus related to his information need thus help him, if necessary, to reformulate his query. VII. CONCLUSION This paper presents a new approach for aggregated search based on possibilitic networks. This model provides a formal setting to aggregate non-redundant elements into the same unit. It also directs the user more quickly toward the relevant elements of XML document. The user study is constructed around 2 main goals. First, we analyze the distribution of relevant results across different elements of XML document. Second, we identify some of the advantages of aggregated search. The user study was used to collect supporting data for these goals. The analysis of the distribution of relevant results provides interesting information. We notice that relevant information is sparse across many elements of XML document. Our analysis focuses on specific advantages of aggregated search. It is shown that aggregated search is useful to identify different interpretations of a query. It helps find different aspects of the same information need. © 2012 ACADEMY PUBLISHER [1] R. Agrawal, S. Gollapudi, A. Halverson, “Diversifying search results”, ACM Int. Conference on WSDM, 2009. [2] N. Ben Amor, “Qualitative possibilistic graphical models: from independence to propagation algorithms”, Thèse pour l’obtention du titre de Docteur en Gestion, université de Tunis, 2002. [3] S. Benferhat, D. Dubois, L. Garcia and H. Prade, “Possibilistic logic bases and possibilistic graphs”, In Proc. of the 15th Conference on Uncertainty in Artificial Intelligence, pp.57-64, 1999. [4] C. Borgelt, J. Gebhardt and R. Kruse, “Possibilistic graphical models”, Computational Intelligence in Data Mining, CISM Courses and Lectures 408, Springer, Wien, pp.51-68, 2000. [5] A. Brini, M. Boughanem and D. Dubois, “A model for information retrieval based on possibilistic networks”, SPIRE’05, Buenos Aires, LNCS, Springer Verlag, pp. 271282, 2005. [6] C.L. Clarke, M. Kolla, G.V. Cormack and O. Vechtomova, “Novelty and diversity in information retrieval evaluation”, SIGIR’08, pp. 659-666, 2008. [7] D. Dubois and H. Prade, “Possibility theory”, Plenum, 1988. [8] D. M. Dunlavy, D. P. O’Leary, J. M. Conroy and J. D. Schlesinger, “QCS: A system for querying, clustering and summarizing documents”, Information Processing and Management, pp. 1588-1605, 2007. [9] N. Fuhr, M. Lalmas, S. Malik and Z. Szlavik, “Advances in XML information retrieval: INEX 2004”, Dagstuhl Castle, Germany, 2004. [10] Y. Huang, Z. Liu and Y. Chen, “Query biased snippet generation in XML search”, ACM SIGMOD, pp. 315-326, 2008. [11] B. J. Jansen and A. Spink, “An Analysis of document viewing pattern of web search engine user”, Web Mining: Applications and Techniques, pp. 339-354, 2005. [12] B. J. Jansen and A. Spink, “How are we searching the world wide web?: a comparison of nine search engine transaction logs”, Information Processing and Management, pp. 248-263, 2006. [13] J. Kamps, M. Marx, M. De Rijke and B. Sigurbjörnsson, “XML retrieval: What to retrieve?”, ACM SIGIR Conference on Research and Development in Information Retrieval, pp.409-410, 2003. [14] A. Kopliku, F. Damak, K. Pinel-Sauvagnat and M. Boughanem, “A user study to evaluate aggregated search”, In IEEE/WIC/ACM International Conference on Web Intelligence, in press. [15] M. Lalmas, “Dempster-Shafer’s theory of evidence applied to structured documents: modelling uncertainty”, In Proceedings of the 20th Annual International ACM SIGIR, pp.110–118, Philadelphia, PA, USA. ACM, 1997. [16] M. Lalmas and P. Vannoorenberghe, “Indexation et recherche de documents XML par les fonctions de croyance”, CORIA'2004, pp. 143-160, 2004. [17] P. Ogilvie and J. Callan, “Using language models for flat text queries in XML retrieval”, In Proceedings of INEX 2003 Workshop, Dagstuhl, Germany, pp.12–18, December 2003. 188 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 [18] B. Piwowarski, G.E. Faure and P. Gallinari, “Bayesian networks and INEX”, In INEX 2002 Workshop Proceedings, pp. 149-153, Germany, 2002. [19] N. Polyzotis and M. N. Garofalakis, “XCluster synopses for structured XML content”, ICDE, pp. 63, 2006. [20] D. Radev, J. Otterbacher, A. Winkel and S. BlairGoldensohn, “NewsInEssence: summarizing online news topics”, Communications of the Association of Computing Machinery, pp. 95-98, 2005. [21] T. Rölleke, M. Lalmas, G. Kazai, I. Ruthven and S. Quicker, “The accessibility dimension for structured document retrieval”, BCS-IRSG European Conference on Information Retrieval (ECIR), Glasgow, Mars 2002. [22] K. Sauvagnat, “Modèle flexible pour la recherche d’information dans des corpus de documents semistructurés”, Thèse de Doctorat de l’Université Paul Sabatier, Juillet 2005. [23] B. Sigurbjornsson, J. Kamps and M. de Rijke, “An element-based approach to XML retrieval”, INEX 2003 workshop, Dagstuhl, Germany, December 2003. [24] A. Spink, B. J. Jansen, D. Wolfram and T. Saracevic, “From e-sex to e-commerce: web search changes”, IEEE Computer Science, vol. 35, pp. 107-109, 2002. [25] S. Sushmita and M. Lalmas, “Using digest pages to increase user result space: preliminary designs”, Special Interest Group on Information Retrieval 2008 Workshop on Aggregated Search, 2008. [26] L. A. Zadeh, “Fuzzy sets as a basis for a theory of possibility”, In Fuzzy Sets and Systems, 1:3-28, 1978. Fatma Zohra Bessai-Mechmache Algiers, Algeria. She obtained her Engineer Degree in Computer Science from Houari Boumediene University (USTHB) in Algeria and her Magister from the Research Centre of Advanced Technologies in Algeria. She has been a team member of the scientific and research staff of the Research Centre in Scientific and Technical Information of Algeria (CERIST) and from 2007 she is the head of the Databases Team at CERIST. Her research interests include database security and information retrieval. She is particularly interested in XML information retrieval, Aggregated Search and Mobile information retrieval. Zaia Alimazighi Algiers, Algeria. She obtained Doctorate in Computer Science in 1976 at Paris VI University and PHD in Information System at USTHB (Algiers’s University) in 1999. After 1976 and during more than ten years, she has been project leader in several industrial projects, in public companies in Algeria. She is a researcher at the USTHB since 1988 to nowadays. Today she is a full prof. at the computer science Department of the Faculty of Electronic & Computer Science of USTHB and Dean of this faculty. She is team manager in Computer Engineering Laboratory at USTHB. The current research interests include Information Systems, Collaborative Works, Data Warehouses, Service Web development and Databases Modeling. © 2012 ACADEMY PUBLISHER JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 189 The Developing Economies’ Banks Branches Operational Strategy in the Era of E-Banking: The Case of Jordan Yazan Khalid Abed-Allah Migdadi Assistant Professor of Operations Management, Business Administration Department, Yarmouk University Irbid, Jordan E-mail: Ymigdadi@yahoo.com Abstract— The aim of this study is to identify the impact of adopting e-banking on branches operations strategy during the period 1999 to 2008, 15 local banks in Jordan were surveyed by using 3 questionnaires, one was directed to account operations officer, another to tellers and last one to branches managers. Annual reports and banks websites were revised to identify the changes in performance indicators and e-banking adoption. The study revealed that; branches are still the main channels of conducting banking transactions, and e-banking is working in parallel with branches. This paper is the first paper reports this issue in developing economies. Index Terms—E-banking, Branches, Operations Strategy, Jordan I. INTRODUCTION Banks in developing economies directed toward adopting e-banking channels during the last decade, banks in Jordan directed toward adopting a lot of ebanking channels, about 18 out of 23 banks adopted internet banking, 8 banks adopted telephone banking, 15 adopted mobile banking, and 6 banks adopted ATMs. This adoption left questions: what is the impact of adopting e-banking on the branches operations?, and to what extent these changes affected the performance of banks?, so answering these questions help the managers in developing economies to identify the effective role of branches in the era of e-banking. Despite the significant adoption of e-banking over the universe, limited previous studies reported this issue in developed economies as the study of [40, 25], and no evidence about this issue in developing economies, so this study will bridge this gap by reporting this issue in Jordan. Accordingly the objectives of this study are: 1. Identifying the degree of change in adopting ebanking in Jordan during the period 1999 to 2008. 2. Identifying the degree of change in branches operations strategy actions and capabilities in Jordan during the period 1999 to 2008. 3. Identifying the degree of change in banking performance indicators during the period 1999 to 2008. 4. Identify the impact of significant adopting of ebanking on branches operations and performance in Jordan during 1999 to 2008. © 2012 ACADEMY PUBLISHER doi:10.4304/jetwi.4.2.189-197 II. OVERVIEW OF BANKING SECTOR IN JORDAN Jordan is officially known as Hashemite Kingdom of Jordan, it is a small country located in the Middle East, it shares boarders with Iraq, Saudi Arabia, and Syria. Jordanian economy is service oriented, and the banking sector plays a dynamic role in the Jordanian economy, it acquiring 56.4% of the total capital invested in the Amman Stock Exchange [2], further, the banking sector of Jordan is leader in comparison with its counter parts in other countries in the Middle East and North Africa region [15], the number of licensed banks in Jordan is 23 banks (15 local and 8 foreign), the banking sector is controlled by Central bank of Jordan [3]. During the last decade the banking sector in Jordan had been reformed, so new banking was launched by mid. of 2001, electronic banking transaction law was launched by 2002, and the banks were directed toward compliance with Basel Accord II by the end of 2008 [24] The banks in Jordan provide personal and corporate service, the banks’ branches cover the majority of Kingdom regions. During the last decade a lot of banks in Jordan have adopted more e-banking service, more ATM Kiosks have been lunched, 23 banks have lunched internet banking during [31], also 13 banks provide telephone banking and 15 banks have lunched mobile banking. III. LITERATURE REVIEW The purpose of literature review is to identify the branches operational issues that affected by e-banking, further, identify the banking performance indicators to be used in evaluating the branches operations strategy. Limited previous studies tracing of impact of e-banking on the branches operations in developed economies as the study of [40, 25], however, no studies envisaged this issue in developing economies. Identifying the Operations Actions and Capabilities Affected by E-banking A- Branches Location and Accessibility At the beginning of 1980s, the international trend was toward decreasing the number of branches as a result of investing in alternative delivery service channels as automatic teller machines, and which reduced the 190 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 operating costs, for example the Bank of America closed one third of their overall branch network, while increasing the automatic banking machines networks, and Barclay's of the UK closed 100 of their 3000 full service branch [8]. Generally speaking the number of bank branches operating in the UK (excluding North Ireland) has declined by over 11% from 37,761 in 1983 down to 33,511 in 1993, and building society branches have similarly declined by over 9% from 6,480 in 1983 down to 5, 876 in 1993 [17]. Despite the direction of banks during the last few years toward using remote access distributions channels, and expansion use of ATM's over the last two decades to deal with their customer; the number of commercial bank branches network have been expanded in developed countries as USA [19, 27, 18], accordingly the banks during the era of e-banking will concern about the convenient site location more than past [5]. During 2001 to 2006 brought about the greatest increase in the bank branches construction in US history, with nearly 3,000 new branches opening in 2005 [35]. According to Federal Deposit Insurance Corporation, the number of bank branches increased about 38% to just less than 70,000 between 1990 and 2004, in 2005 alone the banking industry had a 3% annual growth rate adding 2,255 net branches offices [16]. The Urban based banks in USA follow their customers into developing sub-urban, they opened branches in new retail centers along major highways, creating advantage over older established competitors which established their branches in a declining main street, down town or courthouse square area [35] more concern about the availability of parking in the front of the branch, easy to see, low traffic area, and low physical barriers [13]. However, in Canada the clicks-and-mortar banks' density in Urban areas is more than sub-urban or rural area, with closer occurring in urban areas and opening occurring in sub-urban areas [33], also the direction of banks to open branches in-store as a part of banks direction toward more convenience focused delivery strategy [37]. B- Branches Layout Management and Human C- Branches Capacity Strategy The capacity of branches that measured by the number of employees and teller station could be affected by adopting E-banking; if the number of branches will be reduced the same as made by banks in the UK the capability of branches will be reduced, however, if the number of branches increased the capacity will be extended. Resource During the era of e-banking the banks operations manager should start to overhaul branches with a high percentage of premium customer first, and focus more in developing the customer experience [21], the branches will adopt the retail mall layout or the high-touch hightech strategy [10], the focus on this type of layout is on marketing, or combining better customer service with expanded opportunity to sell financial products and improve the relation with customers [13]. External parking area in the front of branch as malls or restaurants is available, the branch is generally open, the majority of space will be used for selling and marketing purposes, further the use of meter or greeting station in © 2012 ACADEMY PUBLISHER the front of lobby, this station will assess the customer needs and direct traffic based on those need, or help customers specially the old customers to use online banking [26, 13]. In order to create an environment that encourages extended interaction between consumers and bank employees; the bank should move toward more open teller stations, free standing teller tower that gives customers the option by standing side by side with the teller to view information on waist high computer stand, or seated teller stations; which designed for the customers who cannot stand at regular teller windows, or for opening a new account if all closing rooms are occupied [13], also create area for private conferences a part from the traffic [6]. The reception area is very comfortable with large chairs and view into street, current newspapers and magazines, and a large TV turned to news and financial programming, further marketing on specially designed marketing walls and displays, each branch has internet coffee with fresh coffee or internet kiosks, digital signage and computer and printer for customers' uses, also some banks should consider creating a living room in at least some of their branches [38, 13]. Also the branches will have extensive warm and natural lighting, natural colors and materials, the lighting should draw attention to the teller lines, this lighting system should support productivity and impact how colors are perceived and how inviting an environment is. The lobby or branch hall includes some plants pictures, and the concerns also on availability of central heating system air conditions venerations, CCTV and Bandit screens, carpeted floor, the hard service area used in the front of teller stations, and easy visible signs [6]. D- Transaction Cost and Customers Waiting Time Using different routes in the branches as ATMs will reduce the transaction cost [24]; since the number of employees will be reduced. increasing the process routings as using e-banking channels in the branches will reduced the customers waiting time [41], since the reasonable number of customers will use e-channels so the number of customers using traditional banking channel will reduce, so less waiting time in accordance. Identifying the Performance Indicators of Banking Operations JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 A- Financial Indicators The widely adopted financial indicators in the banking industry are ROA (return on assets) and ROE (return on equity) [39], and are widely evaluated by previous studies as the study of [29, 34]. However, the previous indicators have income from interest and noninterest, so in order to reflect the core banking operations non-interest income as a percentage of total revenue can be used [17]. B- Marketing Indicators The marketing performance can be evaluated to have better insight about the impact of operations, the widely adopted indicators by previous studies are 1) market share [9, 1], 2) growth rate [9], and 3) perceived quality [36, 29], Firms in recent years have focused more on tracing retention. Customer retention is a pivotal strategic issue, and in the 1990s several streams of research focused on this [11]. IV. RESEARCH METHODOLOGY Analytical survey methodology is adopted by this study as a result of small sample size which is 15 local banks. The unit of observation is the bank, all banks in Jordan are the population, however, the local banks (15 banks) were surveyed since the locals are outperform the foreigners, also, the local banks have larger branches networks [3]. The time frame of this research is set at ten years, from the beginning of 1999 to the end of 2008. During this period the majority of banks started to adopt certain e-banking elements. A- The Achievement of First Objective The adoption of e-banking was traced by revising banks websites (website archive used for this purpose: www.archive.org) and annual reports. Table (1) shows the definition and scales of banking adoption dimensions. The adoption was measured by subtracting the adoption points of last period (2008) from the beginning period 1999 for every bank (Microsoft Excel was used for this purpose), then, the result was divided by the adoption during the first period; the result was the percentage of adopting e-banking. B- The Achievement of Second Objective: B-1 Changes in branches accessibility: The data required to compute the branches accessibility was collected from bank annual reports and websites, the number of branches in urban, suburban and rural areas of every bank was identified from annual reports. However, the population numbers in urban, suburban and rural areas were identified from the website of the department of statistics. After collecting data accessibility was computed as summarized in table (2), then, the changes was identified by subtracting the last © 2012 ACADEMY PUBLISHER 191 period accessibility from the beginning period by using Microsoft Excel for every bank and every action, then, the result was divided by the accessibility scores during the first period; the result was the percentage of change in branches accessibility. TABLE (1) THE MEASUREMENT OF ADOPTING E-BANKING E-banking Channel Adoption Scale alternatives Adoption of ATMs ATM Urban Accessibility: Number of Accessibility. ATM Suburban ATM/10,000 People. Accessibility. ATM Rural Models: each models 1 Accessibility. Number of ATM point. Models. Adoption of Internet Number of 1 point each service Banking. Transactional Services. Adoption Banking Adoption Banking of of General Adoption Mobile Telephone E-banking SMS Push SMS Pull Mobile Internet Banking. IVR (Interactive Voice Response) Call Centre. Contact Centre. ATM Internet Banking SMS Push SMS Pull Mobile internet banking IVR Call Centre Contact Centre 1 point each service 1 point each service 1 point each service TABLE (2) BRANCHES ACCESSIBILITY ALTERNATIVES AND SCALES Branches Accessibility References Scale Branches urban accessibility Branches suburban accessibility Branches rural accessibility [32, 14] Number of branches /10,000 people B-2 Changes in branches layout design and number of tellers stations Primary data was collected from branch managers’ inbranch, since they have direct contact with branch layout daily, and so are capable to provide historical data about layout design. Branch managers in different geographic regions were surveyed, since branch-layout design may be change from region to region; therefore multiple respondents from different geographic regions increased the reliability of data. Data was collected using a questionnaire developed by the researcher, and the items were developed according to literature, the number of items in this questionnaire was 192 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 57 (see table (3)). Data was collected from convenient sample of branches managers of 15 banks, who have been appointed in this position since 1999, the total number of participated managers in this survey was 236 (response rate 68%). After collected the facts the data was coded by using competency score presented in table (3), for each bank, and the data was aggregated for every bank by computing the average responses. The changes in each sub-dimension for every bank were identified by subtracting the competency score of the last period from the beginning period (Microsoft Excel was used for this purpose) then, then, the result was divided by the layout scores during the first period; the result was the percentage of change in layout design. B-3 Changes in Tellers Flexibility, Account Customers Waiting Time: Tellers were surveyed to identify whether there is a change in their role (directing toward selling and promoting products), and customers waiting time. Tellers were source of these facts since they are in direct interaction with operations. Data was collected from convenient sample of tellers of 15 banks, who have been appointed in this position since 1999, the total number of participated tellers in this survey was 241 (response rate 70%). Questionnaire was developed by researcher, after collecting data the responses were coded as presented in table (4). The customers waiting time was measured by minutes. However, tellers flexibility was measured as summarized in table (4). TABLE (4) TELLERS FLEXIBILITY: QUESTIONNAIRE’S ITEMS AND SCALES Flexibility Number Items Scale Dimensions of items References Promotion 1 [22, 23,30, Yes: 1 28] Making 2 solve problems: Decisions 1, making interest decision: 2 Cross Trained 2 Do back office: 1, do front office: 1 B-4 Transaction Cost and number of tellers Account transaction cost and number of tellers were identified from account operations unit in the headquarter by surveying account executive officer who have been appointed in this position since 1999 (one officer in each bank) so 15 executives were surveyed, since this unit has records about this fact, further, the branches managers and tellers do not have idea about such facts. Data was collected by using a questionnaire. The scale of transaction cost was currency unit (JD) and for number teller (number). The changes were identified in all of these dimensions by subtracting the score of the last period from the beginning period by using Microsoft Excel for every bank then, then, the result was divided by the score during the first period; the result was the percentage of change in transaction cost and number of tellers. © 2012 ACADEMY PUBLISHER C. The Achievement of Third Objective The source of all of these indicators was banks’ annual reports except customer satisfaction and retention which were collected from headquarter by surveying account operations officer. Then the change over the study period were identified by subtracting the results of last first period from last period, then the relative performance of each bank according to each performance indicators was identified by dividing the banks’ change in performance indicator over the best performed bank. D. The Achievement of Fourth Objective K-means cluster analysis was used to cluster banks according to degree of adopting e-banking, all clustering trial were generated until reach the maximum number of clustering trial, since the number of clusters were not known. Then, the clusters that adopted significant ebanking practices were identified by using Kruskal Wallis H test, since data is not normally distrusted and sample size is small. The significant branches operations strategy actions, capabilities and performance indicators of each clustering trial adopted significant e-banking practices were identified by using Kruskal Wallis H test. The level of significance was 0.05. The significant e-banking and branches operations’ practices were represented by using actual scores (the scores were represented in table (1,2,3,4) in previous section), these were identified by subtracting the indicators of the beginning period from the last period. Further the percentage of change was identified the same. V. DATA ANALYSIS AND FINDINGS Table (5) shows significant e-banking practices across clustering trials, it can be seen that; the significant ebanking practices were identified in 3rd and 4th clustering trial only. The significant practices across clusters of 3 clusters trial were; ATM suburban accessibility only, however, no significant practices related to internet banking, mobile banking and telephone banking. The significant practices across clusters trial of 4 clusters trial were; ATM suburban and degree of adopting mobile banking, no significant practices of internet banking, and telephone banking. The average ATM accessibility across 3 clusters trial was 1.28 ATMs/10,000 people, and the accessibility across 4 cluster trial was 1.19 ATMs/10,000 people. The maximum accessibility of 3 cluster trial was reported by cluster 2 (3.34 ATMs/10,000 people), and the maximum accessibility of 4 clusters trial was reported by cluster 3 (3.53 ATMs/10,000 people). The significant mobile banking practices of 4 cluster trial was adopting push SMS banking, the best cluster was 3rd cluster which adopted pull SMS banking. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 193 TABLE (3) BRANCHES LAYOUT DESIGN: QUESTIONNAIRE’S ITEMS, SCALES AND COMPETENCY SCORES Dimensions of Main Sub-dimension Number of items Item References Competency Score Actions (Items in Questionnaire) Visual -----3 [4, 7, 13, 15] Window: 1 teller stations: 3, lighting: 5 Isolation 2 [4, 7, 13, 15] Yes: 1 No: 0 Air conditioning 5 Central heating 2 Seats and disks 3 Parking Colours 1 3 Floor 2 Pictures and plants CCTV 1 2 Alarms 3 Recycling 3 Walls 2 Community 2 Signs and labels 5 Promotional leaflets and facilities 3 Badges and uniforms Customer service 2 2 Departmentalisation 2 Internet banking 2 ATM 2 Type of teller stations 3 Number 1 Convenience Aesthetic Safety and security [15] [13, 7] Social responsibility Information factor E-banking channels Teller stations © 2012 ACADEMY PUBLISHER [4, 6, 13, 15] [4, 13] [4, 13] Ventilation: 1, entrance air conditioner: 3, hall air conditioner: 5, teller station air conditioner: 7, credit offices air conditioner: 9 Central heating: 1 Heating thermostat: 2 Seats in the front of teller stations: 1, VIP halls: 5, disks: 7 Yes: 1 No: 0 Warm colours: 3, cool colours: 2, subdued colours: 1 Carpeted floor: 1, hard surface: 2 Yes: 1, No: 0 CCTV in the branch: 1, outside: 2 Entrance: 1, front of teller stations: 3, offices: 5, connected: 7 Solar panel: 5, collecting water: 3, recycled rubber floor: 1 Changed colours: 1, classed walls: 2 Children's playing area: 1, community meeting halls: 2 Dept. title signs: 5, direction signs: 3, teller station title and number signs: 1 Digital signs: 2, traditional: 1 Leaflets at the entrance: 1, leaflets in the hall: 3, TV screens: 5 Uniform: 2, badges: 1 Electronic kiosks: 2, staff: 1 Departmentalisation: 1, customer service unit: 2 Wireless laptop area: 2, Internet café: 1 Wall ATMs: 1, inside ATM: 2 Stand-up: 1, seat: 3, tower: 5 Number Max. Score 9 1 25 3 13 1 3 3 1 3 16 15 9+2 5 3 3 3 3 3 9 Relative number > Average + standard deviation 194 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Cluster number Across all clusters Significant banking practices e- ATM Suburban Accessibility Cluster 1 ATM Suburban Accessibility Cluster 2 ATM Suburban Accessibility Cluster 3 ATM Suburban Accessibility Cluster 4 ------- TABLE (5) SIGNIFICNAT E-BANKING PRACTICES ACROSS CLUSTERING TRIALS 3 clusters trial 4 clusters trial Percentage of Percentage of Actual Significant e- Kruskal Kruskal Change banking Wallis H change Wallis H change practices test test Chi. Chi. Sig. Sig. 5.21% ATM Suburban 10.406 5.165 6.39% 1.28 0.015 Accessibility 0.023 ATMs/ 10,000 Mobile Banking people Adoption 1.44% 8.775 0.023 1.78% ATM Suburban --------0.21% 0.35 Accessibility ATMs/ 10,000 Mobile Banking people Adoption 0.00 15.62% ATM Suburban --------3.34% 3.34 Accessibility ATMs/ 10,000 Mobile Banking people Adoption 0.00 ----- ----- 15.62% ----- 0.84 ATMs/ 10,000 people ----- ATM Suburban Accessibility Mobile Banking Adoption ATM Suburban Accessibility Mobile Banking Adoption Table (6) shows significant branches operations actions across clustering trials, it can be seen that; the significant actions identified in 3rd clusters trial were; trained front office employees to do back-office job and reduce customers waiting time, however, the significant actions identified in 4th clusters trial was trained frontoffice employees to do back-office jobs, so no significant actions related to branches accessibility, branches layout quality, and transaction cost. Cluster number Across clusters Cluster 1 all ----- ----- 1.19 ATMs/ 10,000 people 0.68: Push SMS 1.78 ATMs/ 10,000 People 0 0.84 ATMs/ 10,000 people 0 3.53% 3.21ATMs/ 10,000 people 1.75% 1.75: Pull SMS -0.47 ATMs/ 10,000 people -0.08% 1.13% 1: push SMS The average percentage of employees trained to do back-office job across 3 clusters trial was 56%, and the percentage across 4 cluster trial was 66% of employees. The maximum percentage of trained employees of 3 cluster trial was reported by all clusters except fourth cluster (100% of employees). The average reduction of customers waiting time of 3 cluster trial was reducing customers waiting time by 7.9 minutes; the best cluster was 3rd cluster, the customers waiting time was reduced by 9.5 minutes. TABLE (6) SIGNIFICNAT BRANCHES OPERATIONS ACTIONS ACROSS CLUSTERING TIRALS 3 clusters trial 4 clusters trial Percentage Percentage Actual Significant e- Kruskal Kruskal Significant Wallis H of change Change banking Wallis H of change branches test practices test operations actions Chi. Chi. Sig. Sig. 70% 56% of Trained front 11.345 61% 6.051 Trained front 0.010 office employees 0.014 office employees employees to to do back-office do back-office job. job. Reduce account -7.9 minutes -63.4% 3.710 customers waiting 0.05 time Trained front -----16.7% -16.7% of Trained front ----100% © 2012 ACADEMY PUBLISHER Actual Change Actual Change 66% of employees 100% of JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 employees office employees to do back-office job. Cluster 2 Reduce account customers waiting time Trained front office employees to do back-office job. Cluster 3 Reduce account customers waiting time Trained front office employees to do back-office job. Cluster 4 Reduce account customers waiting time ------- ----- ----- ----- -41.5% -7.03 minutes 100% 88% of employees -73% -7.72 minutes 100% of employees 100% of employees -76% -9.5 minutes ----- ----- Table (7) shows the differences in performance indicators across clustering trial, it can be seen that; no significant differences in performance indicators across 195 employees office employees to do back-office job. Trained front office employees to do back-office job. ----- 100% 100% of employees Trained front office employees to do back-office job. ----- 83% 100% of employees Trained front office employees to do back-office job. ----- -18.8% 18.8-% of employees clusters in 3 and 4 clusters trials, so, the significant changes in e-banking and branches operations did not lead to significant changed in performance. TABLE (7) KRUSCAL WALLIS H TEST FOR DIFFERENCES IN PERORMANCE INDICATORS ACROSS CLUSTERING TRIALS Performance Indicators 3 clusters trial 4 clusters trial Chi-square Sig. Chi-square Sig. Return on Equity 1.900 0.593 0.000 1.000 Return on Assets 2.657 0.448 0.320 0.572 Operating revenue/total revenue 3.244 0.356 2.337 0.126 Deposits Market share 1.250 0.741 0.080 0.777 Customers Satisfaction 4.447 0.217 0.082 0.774 Customers Retention 1.998 0.573 0.139 0.710 VI. DISCUSSION ATM suburban accessibility was significant ebanking practices since ATM has deployed in Jordan since mid. 1990s, but the majority of banks have ATMs in urban areas, so it is more attractive to launch ATMs in suburban. However, significant mobile banking practice is reasonable since the majority of banks adopted Push SMS so adopting Pull SMS is the significant. No significant operations related to branches location, branches layout, tellers role in promoting or selling products, number of teller stations and number of tellers which indicates that the branches are still working in parallel with e-banking channels, so the branches are still a channel of conducting transaction rather than a place of promoting and selling products, accordingly, no significant impact on transaction cost. The significant training of employees to do backoffice tasks is reasonable since the direction of customers toward using e-banking channels reduce the work load on front-office employees so they may be have more time to © 2012 ACADEMY PUBLISHER do back office job, further, the reduction of customers waiting time is as a result of using customers e-banking channels which reduce number of served customers by tellers, and reduce customers waiting time in accordance. No significant impact of adopting e-banking on performance, since e-banking practices are still recent in Jordan so the impact could be significant in future. VII. CONCLUSION This study investigated the impact of adopting ebanking on traditional banking operations in Jordan. Ebanking practices traced were; degree of adopting ATMs, internet banking, telephone banking, mobile banking and e-banking channels. A scale was developed in this study to measure the degree of adoption. Traditional banking operations actions and capabilities were traced in this study; branches accessibility, branches layout quality, tellers flexibility, transaction cost, customers waiting time, and branches capacity. The practices of 15 local banks in Jordan were reported by using questionnaires directed to tellers, 196 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 account operations executives, branches managers, further, annual reports were revised. K-means Cluster analysis was used to identify the clusters of banks adopted significant e-banking practices; the significant practices were adopted by three and four cluster trials, Kruskal Wallis H test used to identify significant differences across clusters. The significant e-banking practices adopted by banks in Jordan were; ATM suburban accessibility and adopt mobile banking, however, the significant traditional banking operations actions and capabilities were; reduce customers waiting time and trained tellers to do backoffice job. No significant change in branches accessibility, branches layout design, transaction cost, and branches capability were reported in Jordan which indicates that branches are still the main channels of conducting banking transactions, and e-banking is working in parallel with branches. VIII. APPLICATIONS AND FUTURE RESEARCHES The result of this is study is important for decisions makers and academics alike. The decision makers of banks in Jordan are having now facts about the effectiveness of actions they made in era of e-banking, so they can focus on the effective actions made and those not adopted some of these actions can plan now to realize these actions in future. Further, the proposed investors who are concerning about banking in Jordan can now make more rational actions. Academics now have some facts about the impact of e-banking on traditional banking operations strategy in developing countries, so these facts could be used to develop some propositions and hypothesis, further, academics now have some facts about banking process to be taught to students at universities, which help students in developing countries to have better insight about the actions they should be made in future. Despite Jordan is one of the developing countries, the results of this study is more applicable for banks in Jordan, so it is recommended to conduct further studies in other developing countries to find whether the same significant actions and capabilities are adopted by banks and trace the impact of actions on capabilities. The future studies could be more beneficial if it is cross countries or regions studies, since a comparison can be made and better conclusions about the impact of country or region context could be traced. REFERENCES [1] Ahmed, N. and Montagno, R. (1995), "Operations strategy organizational performance: an empirical study", International Journal of Operations and Production Management, Vol. 16 No.5, pp. 41-53. [2] Amman Stock Exchange, (2006), Capital market profile 2006 [online], Available from: http://www.exchange.jo, [accessed at 20 Feb. 2008]. [3] Association of Banks in Jordan (2007), Annual Report 29th [online]. Available from: http://www.abj.org.jo/Portals/0/AnnualReport/AnnualRep ort2007.pdf, [Accessed at 20th July 2008]. © 2012 ACADEMY PUBLISHER [4] Baker, J. Berry, L.L. and Parasuraman, A. (1988), "The marketing impact of branch facility design", Journal of Retail Banking, Vol.10 No.2, pp. 33-42. [5] Beery, A. (2002), "Site selection insight", ABA Banking, Vol. 34 No. 4, pp. 28-32. [6] Belski, L. (2004), "Seven design problems and a few good ideas on improving interiors", ABA Banking Journal, Vol.96 No.8, pp. 28-32. [7] Bielski, L. and Street, B. (2007), "Evoking a sense of place", ABA Banking Journal, Vol. 99(8), pp. 25-30. [8] Channon, D.F. (1986) Bank strategic management and marketing, Wiley and Sons, United Kingdome. [9] Cleveland, G. (1989), "A theory of production competency", Decision Science, Vol.20 No.4, pp. 655-668. [10] Davidson, S. (2002), "Bank branch design helps improve the bottom line", Community Banker, Vol. 11 No. 3, pp. 38-39. [11] Erikssan, K. and Vaghutt, A.L. (2000), "Customer retention, purchasing behavior and relationship substance in professional services", Industrial Marketing Management, Vol. 29, pp. 363-372. [12] Creane, S. Goyal, R. Mobarak, A.M. and Sab, R. (2004), Financial sector development in the Middle East and North Africa, IMF working paper [online], Monetary Fund, Middle East and Central Asia Department, Washington, DC USA. Available from: http://www.imf.org/external/Pubs/Pubs/and-inf.htm [accessed at 2 August 2008]. [13] Feig, N. (2005), "Extreme (and not so extreme) makeovers in modern branch design", Community Banker, Vol. 14 No. 5, pp. 32-40. [14] Frohlich, M. and Dixon, J. (2001), "A taxonomy of manufacturing strategies revisited", Journal of Operations Management, Vol. 19, pp. 541-558. [15] Greenland, S. and McGoldrick, P. (2005), "Evaluating the design of retail financial service environments", The International Journal of Bank Marketing, Vol.23 No.2/3, pp. 132-152. [16] Grover, C. and Ferris, J. (2007), "Right location wrong building", Community Banker, Vol. 16 No. 10, pp. 48-52. [17] Hallowell, R. (1996), "The relationship of customer satisfaction, customer loyalty, and profitability: an empirical study", International Journal of Service Industry Management, Vol.7 No.4, pp.27 [18] Hirtle, B. (2007), "The impact of network size on bank branch performance", Journal of Banking and Finance, Vol. 31, pp. 3782-3805. [19] Hirtle, B. and Melti, C. (2004), "The evaluation of US bank branch network: growth, consolidation, and strategy", Current Issues in Economic and Finance, Vol. 10 No. 8. [20] Howcroft, B. and Beckett, A. (1996), "Branch network and the retailing of high credence products", The International Journal of Bank Marketing, Vol.14 No.4, pp.4-6. [21] Hoeck, B. (2006), Customer centric banking 2007: customer relationship redefined-how retail banks can learn from other industries [online], White paper: GFT technology AG: Germany, Available from: http//www.GFT.com, [accessed at May 3 2008]. [22] Hunter, L. and Hittle, L.M. (1999), What makes a highperformance workplace?: evidence from retail bank branches [online], Financial Institution Centre: The Wharton School: University of Pennsylvania: USA. Available from: http://www.Watonschool.com [accessed at 3rd Dec. 2008]. [23] Hunter, L. (1995), How will competition change human resource management in retail banking?: a strategic perspective [online]. Financial Institution centre: The JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Wharton School: University of Pennsylvania: USA. Available from: : http://www.Watonschool.com [accessed at 3rd Dec. 2008]. [24] Khamis, M. (2003), Financial Sector reforms and issues in Jordan [online]. The Euro-Med Regional Economic Dialoge: Rome, October 20. Available form: http://eceuropa.eu/external_relations/euromed/en/red/kha mis.pdf, [assessed at March 10 2008]. [25] Lymperopoulos, C. Chaniotakis, I. (2004), “Branch employees' perceptions towards implications of e-banking in Greece”, International Journal of Retail & Distribution Management, Vol. 32 No.6/7, pp.302-311. [26] Lombardo, T. (2003), "Facility design plays key role in supporting brand identity", Bank News, Vol. 103 No. 8, pp. 20-21. [27] Lopez, R.H. and Shah, J. (2004), Branch Development in an era of commercial banking consolidation (1994-2006) [online], Pace University: Lubin School of Business, USA, Available from: http//digitalcommons.pace.edu/lubinfaculty_working papers/59, [accessed at February 24 2008]. [28] McKendrick, J. (2002) “Back to the branch: customer may demand access at every e-channel but they still want a smiling face”, Bank Technology News, Vol.15 No.5, p.1. [29] Menor, L. Roth, V. and Mason, C. (2001), "Agility retail banking: a numerical taxonomy of strategic service groups", Manufacturing and Service Operations Management, Vol. 13 No. 4, pp. 273-292. [30] Metter, R. and Vargas, V. (2000), "A typology of decoupling strategies in mixed services", Journal of Operations Management, Vol. 18, pp. 663-682. [31] Migdadi, Y.K.A. (2008), "the quality of internet banking service encounter in Jordan", Journal of Internet Banking and Commerce [online], December, 13(3), Available form: http://http://www.arraydev.com/commerce/jibc/, [Accessed at 13th March 2008]. [32] Miller, J. and Roth, A. (1994), "A taxonomy of manufacturing strategies", Management Science, Vol. 40 No. 3, pp. 285-304. [33] Mok, M.A. (2002), From bricks-and-mortar to Bricks-andclicks: the transformation of a bank branch network within greater Toronto area, Master thesis, Wielfrid Laurier University: Canada. © 2012 ACADEMY PUBLISHER 197 [34] Power, T. and Hahn, W. (2004), "Critical competitive methods, generic strategies and firm performance", The International Journal of Bank Marketing, Vol. 22 No. 1, pp. 43-64. [35] Reider, S. (2006), "The branching boom", Kentucky Banker Magazine, Jun, pp. 18-19. [36] Roth, A. and Jackson, W. (1995), "Strategic determinants of service quality and performance: evidence from the banking industry", Management Science, Vol.41 No.11, pp. 1720-1733. [37] Stroup, C. (1998), "Beyond in-store banking at star bank", Journal of Retail Banking Services, Vol. 20 No. 4, pp. 1925. [38] Swann, J. (2006), "Let the branch be unbroken", Community Banker, Vol. 15 No. 10, pp. 58-62. [39] Uzelac, N. and Sudarevic, T. (2006), "Strengthening the link between marketing strategy and financial performance", Journal of Financial Service Marketing, Vol.11 No.2, pp. 142-156. [40] Yakhlef, A. (2001), “Does the Internet compete with or complement bricks-and-mortar bank branches?”, International Journal of Retail & Distribution Management, Vol. 29 No. 6/7, pp.274-28. [41] Klassen, K. and Rohleder, T. (2001), "Combining operations and marketing to manage capacity and demand in services", The Service Industry Journal, Vol. 21 No.2, pp. 1-30. Dr. Yazan Khalid Abed-Allah Migdadi: Assistant professor of operations management, Yarmouk University, Jordan. He awarded Ph.D. in operations strategy from Bradford University, UK, also awarded BA and MBA from Yarmouk University, Jordan. He worked as teaching assistance and researcher of operations and information management at Bradford University, School of Management, UK. And a lecturer of Management at Yarmouk University. His research interests concentrated on operations strategy; reporting best practices in developing economies, reporting taxonomies of operations strategies in developing economies and developing typologies of operations strategy. 198 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 Evolving Polynomials of the Inputs for Decision Tree Building Chris J. Hinde and Anoud I. Bani-Hani Loughborough University/Computer Science, Loughborough, UK Email: {C.J.Hinde, A.I.Bani-Hani}@lboro.ac.uk Thomas.W. Jackson Loughborough University/Information Science, Loughborough, UK Email: T.W.Jackson@lboro.ac.uk Yen P. Cheung Monash University/Clayton School of IT, Wellington, Australia Email: Yen.Cheung@monash.edu.au Abstract— The aim of this research is to extend the discrimination of a decision tree builder by adding polynomials of the base inputs to the inputs. The polynomials used to extend the inputs are evolved using the quality of the decision trees resulting from the extended inputs as a fitness function. Our approach generates a decision tree using the base inputs and compares it with a decision tree built using the extended input space. Results show substantial improvements. Rough set reducts are also employed and show no reduction in discrimination through the transformed space. Index Terms—Decision tree building, Polynomials I. INTRODUCTION This paper addresses the well-known problem of data mining where given a set of data; the expected output is a set of rules. Decision trees using the ID3 approach [1], [2] are popular and in most cases successful in generating rules correctly. Extensions to ID3 such as C4.5 and CART are developed to cope with uncertain data. Fu et al [3] used C4.5 followed by a Genetic Algorithm (GA) to evolve better quality trees; in Fu’s work C4.5 was used to seed a GA, which were then used as a basis for evolving better trees then using Genetic Programming (GP) techniques to cross over the trees. Many rule discovery techniques combining ID3 with other intelligent techniques such as genetic algorithms and genetic programming have also been suggested [4], [5], [6]. Generally, when using ID3 with genetic algorithms, individuals which are usually fixed length strings are used to represent decision trees and the algorithm evolves to find the optimal tree. When Genetic Programming is used to generate decision trees, individuals are variable length trees, which represent the decision tree. Variations in these approaches can be found in the gene encoding. One rule per individual as done in Greene [7], Freitas et al [8], [9] is a simple approach but the fitness of a single rule is not necessarily the best indicator of the quality of the discovered rule set. Encoding several rules in an individual requires longer and more complex operators © 2012 ACADEMY PUBLISHER doi:10.4304/jetwi.4.2.198-203 [10], [11]. In genetic programming, a program can be represented by a tree with rule conditions and/or attribute values in the leaf nodes and functions in the internal nodes. Here the tree can grow dynamically and pruning of the tree is necessary [12]. Papagelis & Kelles [13] used a gene to represent a decision tree and the GA then evolves to find the optimal tree, similar to Fu et al [3]. To further improve the quality of the trees, Eggermont et al [14] applied several fitness measures and ranked them according to their importance in to tackle uncertain data. Previous work has taken the input space as a given and used evolution to produce the trees. In this work, as we shall see, the trees are generated using a variant of C4.5 and the input space is evolved rather than the trees, in direct contrast to other workers. A vast majority of the approaches use decision trees as a basis for the search in conjunction with either a GA or GP to further improve the quality of the trees. Our approach described in this paper addresses continuous data and adds polynomials of the input values to extend the input set. A GA is used to search the space for these polynomials based on the quality of the tree discovered using a version of C4.5. II. ITERATIVE DISCRIMINATION ID3, C4.5 and their derivatives proceed by selecting an attribute that results in an information gain with respect to the dependent variable. A simple data set with 2 continuous attributes that are linearly separable is shown in Fig. 1. Applying C4.5 to the data set gives the result shown in Figure 2, which was first documented in [15]. If no errors are required over a large training set then the complexity of the decision tree grows with the size of the training set. This is unsatisfactory. Anticipating the results of the proposed system a higher level discriminant of x−y in addition to the two basic variables x and y would give the result shown in Fig. 3. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 199 were deemed outside the concept. Fig. 4 illustrates the data set although, as above, does not show all the points. Applying C4.5 to the data set represented in Fig. 4 gives the decision tree shown in Fig. 5. This decision tree is smaller than the decision tree derived from the linearly separable data although the function used to produce the data is much more complex, and the predictions from the tree show fewer errors. The decision tree is difficult to interpret. Fig. 1. A granularised version of the linearly separable set of data based on a 2 dimensional data set. x <= -0.25 : | y > -0.75 : in (36.0) : : : x > -0.25 : | y <= 0.75 : out (40.0) | y>0.75: : : : Evaluation on training data (128 items): Before Pruning ------------------Size Errors 27 1( 0.8%) After Pruning -----------------------Size Errors Estimate 27 1( 0.8%) (13.3%) Fig. 2. The decision tree produced by C4.5 from the linearly separable data shown in Figure 1. The size of 27 indicates why this tree is not replicated here. x-y <= -0.5 : out (64.0) x-y > -0.5 : in (64.0) Evaluation on training data (128 items): Before Pruning After Pruning ------------------- ----------------------- Fig. 4. A granularised version of the torus illustrating a quadratic form. x <= -3.25 : out (16.0) x > -3.25 : | x > 2.75 : out (16.0) | x < 2.75 : out (16.0) | | y <= -3.25 : out (12.0) | | y > -3.25 : | | | y <= 2.75 : in (72.0/24.0) | | | y > 2.75 : out (12.0) 3 Evaluation on training data (128 items): Before Pruning After Pruning -------------- -----------------------Size Errors Size Errors Estimate 9 24(18.8%)9 24(18.8%)(25.5%) Fig. 5. The decision tree produced by C4.5 from the toroidal data. Size Errors 3 0( 0.0%) Size Errors Estimate 3 0( 0.0%) ( 2.1%) Fig. 3. The decision tree produced by C4.5 from the linearly separable data using the discriminant value x − y. III. MORE COMPLEX DISCRIMINANTS So far we have made no more progress than Konstam [16] who used a GA to find linear discriminants. He makes the comment that the technique can be applied to quadratic discriminants. However he makes no statements about focusing the search. A set of data was prepared using the same data points as above to explore higher order and higher dimensional discriminants. The data prepared used a torus such that points inside the torus were in the concept and points outside the torus, including those that are within the inner part of the torus, © 2012 ACADEMY PUBLISHER Taking the toroidal data set, Fig. 4, and adding another attribute computed from the sum of squares of x and y gives better discrimination and a more interpretable tree shown in Fig. 6. Notice that the decision tree is much smaller with 5 decision points compared to 9, and has no errors compared with 18.8% in the original tree, Fig. 5. IV. NON PROJECTABLE DATA SETS Thus far we have seen data sets that can be projected onto 1 dimension and which result in large trees but are nonetheless useful predictors. Section III shows that these trees can be reduced in size considerably by adding higher dimensional combined functions of the original data elements. 200 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 r2 > 8.125 : out (72.0) r2 <= 8.125 : | r2 <= 0.625 : out (8.0) | r2 > 0.625 : in (48.0) Evaluation on training data (128 items): Before Pruning After Pruning ------------------- -----------------------Size Errors Size Errors Estimate 5 0( 0.0%) 5 0( 0.0%) ( 3.1%) Fig. 6. The decision tree produced by C4.5 from the augmented toroidal data. r2 is the sum of the squares of x and y. This test shows a data set that cannot be discriminated by C4.5, however a decision tree does exist. It is shown if Fig. 10. This clear 2 dimensional data set results in the following tree from C4.5, Figure 12. V. GENETIC ALGORITHM The genetic algorithm attached to the front of c4.5 has a few special features. It follows most of the guidelines in [17], [18] and so has aspects designed to preserve inheritability and to ensure that no part of the genome has an inordinate effect on the phenome. With this in mind the structure of the genome is made up from a set of integers, rather than a binary genome. With the data sets shown in Figs 7 and 11, C4.5 does not produce a tree at all. Of the two data sets presented a higher order combined attribute results in a concise tree where no tree is produced without the higher order attribute. In the case of the quadrant data set, a concise decision is possible with the unaugmented data set, one is not produced by C4.5. x-y <= -2 : out (38.0) x-y > -2 : | x-y <= 1.5 : in (52.0) | x-y > 1.5 : out (38.0) A. Banded data set This test shows a data set that does not project down onto 1 dimension. This 2 dimensional data set results in the following tree from C4.5, Fig. 8. Evaluation on training data (128 items): Before Pruning After Pruning -------------- -----------------------Size Errors Size Errors Estimate 5 0( 0.0%) 5 0( 0.0%) ( 3.2%) Fig. 9. The decision tree produced by C4.5 from the banded data given the added input feature of x-y. x <= 0.0 : (64.0) | y<=0.0:in(32.0) | y>0.0:out(32.0) x > 0.0 : (64.0) | y <= 0.0 : out (32.0) | y > 0.0:in(32.0) Evaluation on training data (128 items) Before Pruning ------------------Size Errors 6 0( 0.0%) Fig. 7. A granularised version of banded linearly separable data. After Pruning -----------------------Size Errors Estimate 6 0( 0.0%) ( 3.2%) Fig. 10. The decision tree, which could be used to discriminate the quadrant data, but cannot be produced by C4.5. out (128.0/52.0) Evaluation on training data (128 items): Before Pruning -----------------Size Errors 1 52(40.6%) After Pruning -----------------------Size Errors Estimate 1 52(40.6%) (44.1%) Fig. 8. The decision tree produced by C4.5 from the banded data. The decision tree produced from the banded data, Figure 8, is shown in Fig. 8 and is almost useless. It does not reveal any useful information from the data. The most that can be gained from this data is that there are 52 elements in the concept and the rest are out. Adding the attribute x − y gives the tree shown in Fig. 9, this is a good predictor and also makes the information held in the data clear. B. Quadrant data set © 2012 ACADEMY PUBLISHER Fig. 11. A granularised version of quadrant data set. JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 out (128.0/52.0) Evaluation on training data (128 items): function field is interpreted as 2 for plus, 3 for minus, 5 for multiply. No other function types are illustrated. Before Pruning After Pruning -------------- -----------------------Size Errors Size Errors Estimate 1 52(40.6%)1 52(40.6%)(44.1%) 1 Fig. 12. The decision tree produced by C4.5 from the quadrant data. 0 1 5 1 0 2 5 2 Evaluation on training data (128 items): After Pruning -----------------------Size Errors Estimate 5 0( 0.0%) ( 3.2%) Fig. 13. The decision tree produced by C4.5 from the quadrant data given the added input feature of x*y. A. Genetic Structure The chromosome can deliver several genes corresponding to several combined attributes. The chromosome is a fixed maximum length and achieves a variable number of genes by an activation flag. Each gene delivers one new attribute and each variable is a linear combination of simpler variables. 1) Variable.: If the number in the variable slot is N and there are K basic continuous variables in the data set and M variables in the gene prior to this one then N mod (K + M ) refers to variable within those K + M variables. 2) Function.: If the function is a monadic function then it is applied to variable 1, otherwise to both. The prototype system has a set of simple arithmetic functions, power, multiplication, division and subtraction. This is sufficient to extract all the decision trees we have considered. 3) Number of genes and gene length.: The variable length chromosome has disadvantages as the effect on the gene itself of the two fields that determine the length of the gene is considerably more than any other field and can be destructive. The variable length gene has similar disadvantages. The gene structure finally chosen for the system is shown in Fig. 14. Active Variable 1 Function Variable 2 Fig. 14. This shows the basic structure of the gene adopted. The Active/Variable/Function/Variable is repeated up to the gene length. This potentially has some of the properties of recessive genes that are attributed to diploid gene structures although no experiments have been conducted to determine this. An example gene is shown in Figure 15. This gene has 4 segments, 1 of which is active. Each segment has 2 attributes, some active and some not. The © 2012 ACADEMY PUBLISHER active x y inactive x * x inactive y * y inactive x2 y2 1 3 2 x*y <= -2 : out (38.0) x*y > -2 : | x*y <= 1.5 : in (52.0) | x*y > 1.5 : out (38.0) Before Pruning ------------------Size Errors 5 0( 0.0%) 201 0 4 2 5 Fig. 15. An exemplar gene. x and y are variables number 1 and 2. The first new variable is x − y and is variable number 3. As this is activated then it will be made available as an input to the decision tree generator. If variable 6 is activated then because it relies on variables 4 and 5 they will also be kept but not necessarily activated. VI. EXEMPLAR DATA The system described above was applied to some data sets taken from the Machine Learning Repository [19] in order to compare the capability of the system with other known decision tree generators. The experiment compares the decision trees generated by C4.5 and the decision trees generated by C4.5 with the enhanced input space. The results consist of • the percentage of correct results on the training set • the percentage of correct results on the test set • the of degrees of freedom for the decision space • the probability that the result could not have arisen by chance • the decision tree size A. Experimental results Each data set was split randomly into two sets, the training set which comprised 90% of the data and the test set, which comprised 10% of the data. The split was generated by choosing whether a particular data point was to be in the training set or the test set using a random number generator. This way any temporal aspects that may be in the data are accounted for. Notice the degrees of freedom are different for the training set and the test set, this is because there were no data elements belonging to one of the categories in the test set, where there were elements in the training set. TABLE I EXPERIMENTAL RESULTS FOR GLASS DATA SET Train Correct Test Correct DOF Train DOF Test probability of not null Tree size C4.5 92.8 75 30 25 1.0 C4.5+GP 98.5 100 30 25 1.0 43 61 202 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 The glass data set shows a considerable improvement for the enhanced input space, however the decision tree is larger. The iris data set shows an improvement for the enhanced input space, but the improvement is marginal, however the decision tree is smaller. TABLE II EXPERIMENTAL RESULTS FOR IRIS DATA SET Train Correct Test Correct DOF probability of not null Tree size C4.5 98 100 6 0.99 C4.5+GP 100 100 6 0.99 9 7 TABLE III EXPERIMENTAL RESULTS FOR PIMA INDIANS DATA SET Train Correct Test Correct DOF probability of not null Tree size C4.5 82.7 74.5 2 1.0 C4.5+GP 98.3 84.2 2 1.0 33 119 The Pima indians data set shows a considerable improve- ment for the enhanced input space. Both the training set and the test set show improvement. The enhanced decision tree is also considerably bigger, by a factor of nearly 4. The experiments have shown that the enhanced system is able to significantly improve the quality of the decisions made, however this is often at the expense of a larger tree. The test on the iris data set indicates that the decision tree can be smaller, as shown by some of the demonstration data sets earlier in the paper. VII. REDUCED DATA SETS Work by Jensen and Shen on rough set theory aims to reduce the input set to a subset of attributes that have the same predictive value as the original set [20]. In this sense whereas the work reported here extends the input space by adding polynomials of the base features, Jensen’s work reduces the input space. Using the glass data set as an example set of data Jensen’s model removes the input value that measures the amount of Barium in the glass sample. Initial experiments show that the reduced set does reduce accuracy, but only marginally and not significantly, see Table IV. TABLE IV EXPERIMENTAL RESULTS FOR GLASS DATA SET COMPARING COMPLETE AND REDUCED DATA SETS WITH C4.5 Train Correct Test Correct DOF Train DOF Test probability of not null Tree size C4.5 Complete 92.8 75 30 25 1.0 C4.5 Reduced 92.3 70 30 25 1.0 43 45 The interim conclusion is that no predictive accuracy has been lost; but it is also true that C4.5 alone does not extract everything from the data that it is possible to © 2012 ACADEMY PUBLISHER extract. The next test evolves the reduced input space to extract as much predictive power as it can. These preliminary tests indicate that reduction system of Jensen and Shen [20] does not remove useful information by eliminating input attributes, and coupled with the enhanced input space system reported here shows no loss of accuracy. TABLE V EXPERIMENTAL RESULTS FOR GLASS DATA SET COMPARING COMPLETE AND REDUCED DATA SETS WITH C4.5 AND C4.5 + GP Train Correct Test Correct DOF Train DOF Test probability of not null Tree size C4.5 Complete 92.8 75 30 25 1.0 C4.5 Reduced 92.3 70 30 25 1.0 C4.5+GP Complete 98.5 100 30 25 1.0 C4.5+GP Reduced 99.0 100 30 25 1.0 43 45 61 59 VIII. CONCLUSIONS This paper has extended the capability of decision tree induction systems where the independent variables are continuous. The incremental decision process has been shown to be inadequate in explaining the structure of several sets of data without enhancement. The paper has shown that introducing variables based on higher order and higher dimensional combinations of the original variables can result in significantly better decision trees. This can all be accomplished by introducing these variables at the start of the decision tree generation and a suitable method for generating these would be a genetic algorithm. A fitness function for a genetic programming system has been introduced and serves to discover structure in the continuous domain. Although the work of [20] shows how to reduce the input set without losing any discriminating power they did not achieve all the predictive power that the input space could provide further work on a variety of different data sets should be performed to confirm this. REFERENCES [1] J. Quinlan, “Discovering rules from large collections of examples: a case study,” in Expert systems in the microelectronic age, D. Michie, Ed. Edinburgh University Press, 1979. [2] ] J. Quinlan, “Induction of decision trees,” Machine Learning, vol. 1, no. 1, 1986. [3] Z. Fu, B. Golden, and S. Lele, “A GA based approach for building accurate decision trees,” INFORMS Journal on Computing, vol. 15, no. 5, pp. 3–23, 2003. [4] M. Ryan and V. Rayward-Smith, “The evolution of decision trees,” in Proceedings of the Third Annual Conference on Genetic Programming, J. Koza, Ed. San Francisco, CA.: Morgan Kaufmann, 1998, pp. 350– 358. [5] R. Marmelstein and G. Lamont, “Pattern classification using a hybrid genetic program-decision tree approach,” in Proceedings of the Third Annual Conference on Genetic Programming, J. Koza, Ed. San Francisco, CA 94104, USA: Morgan Kaufmann, 1998. [6] G. Folino, C. Puzzuti, and G. Spezzano, “Genetic programming and simulated annealing: a hybrid method to evolve decision trees,” in Pro- ceedings of the Third JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 4, NO. 2, MAY 2012 European Conference on Genetic Programming, R. Poli, W. Banzhaf, W. Langdon, J. Miler, P. Nordin, and T. Fogarty, Eds. Edinburgh, Scotland, UK: Springer-Verlag, 2000, pp. 294–303. [7] D. Greene and S. Smith, “Competition-based induction of decision models from examples,” Machine Learning, vol. 13, pp. 229–257, 1993. [8] A. Freitas, “A GA for generalised rule induction,” in Advances in Soft Computing, Engineering Design and Manufacturing. Berlin: Springer, 1999, pp. 340–353. [9] D. Carvalho and A. Freitas, “A genetic-algorithm based solution for the problem of small conjuncts,” in Principles of Data Mining and Knowl- edge Discovery (Proc. 4th European Conf., PKDD-2000. Lyon France), ser. Lecture Notes in Artificial Intelligence, vol. 1910. SpringerVerlag, 2000, pp. 345–352. [10] K. De Jong, W. Spears, and D. Gordon, “Using a genetic algorithm for concept learning,” Machine Learning, vol. 13, pp. 161–188, 1993. [11] C. Janikow, “A knowledge intensive GA for supervised learning,” Machine Learning, vol. 13, pp. 189–228, 1993. [12] Y. Hu, “A genetic programming approach to constructive induction,” in Genetic Programming, Proceedings 3rd Annual Conference, San Mateo, California, 1998, pp. 146–151. [13] A. Papagelis and D. Kalles, “GA tree: Genetically evolved decision trees,” in Tools with AI, ICTAI Proceedings 12th IEEE International Conference, 13–15 Nov 2000, pp. 203–206. [14] J. Eggermont, J. Kok, and W. Kosters, “Genetic programming for data classification: Partitioning the search space,” in ACM Symposium on Applied Computing, 2004, pp. 1001–1005. [15] D.Michie and R.Chambers,“Boxes:an experiment in adaptive control,” in Machine Intelligence 2, E. Dale and D. Michie, Eds. Edinburgh: Oliver and Boyd, 1968. [16] A. Konstam, “Linear discriminant analysis using GA,” in Proceedings Symposium on Applied Computing, Indiannapolis.IN, 1993. [17] M. Withall, “Evolution of complete software systems,” Ph.D. disserta- tion, Computer Science, Loughborough University, Loughborough, UK, 2003. [18] M. Withall, C. Hinde, and R. Stone, “An improved representation for evolving programs,” Genetic Programming and Evolvable Machines, vol. 10, no. 1, pp. 37–70, 2009. [19] “Machine learning repository,” http://archive.ics.uci.edu/ml/datasets.html, 2010. [20] R. Jensen and Q. Shen, “New approaches to fuzzy-rough feature selection.” IEEE Transactions on Fuzzy Systems, vol. 17, no. 4, pp. 824–838. Chris J. Hinde is Professor of Computational Intelligence in the Department of Computer Science at Loughborough University. His interests are in various areas of Computational Intelligence including fuzzy systems, evolutionary computing, neural networks and data mining. In particular he has been working on contradictory and inconsistent logics with a view to using them for data mining. A recently completed project was concerned with railway scheduling using an evolutionary system. He has been funded by various research bodies, including EPSRC, for most of his career and is a member of the EPSRC peer review college. Amongst other activities he has examined over 100 PhDs. © 2012 ACADEMY PUBLISHER 203 Anoud I. Bani-Hani is an EngD research Student at Lough- borough University, researching into Knowledge Management in SMEs in the UK, with specific focus on implementing an ERP system into a lowtech SME. Prior to joining the EngD scheme Anoud was a Lecturer at Jordan University of Science and Technology and holds an undergraduate degree in Computer science and information technology system from the same university and a Master degree in Multimedia and Internet computing from Loughborough University. Thomas W. Jackson - is a Senior Lecturer in the Department of Information Science at Loughborough University. Nicknamed ‘Dr. Email’ by the media Tom and his research team work in two main research areas, Electronic Communication and Information Retrieval within the Workplace, and Applied and Theory based Knowledge Management. He has published more than 70 papers in peer reviewed journals and conferences. He is on a number of editorial boards for international journals and reviews for many more. He has given a number of keynote talks throughout the world. In both research fields Tom has, and continues to work closely with both private and public sector organisations throughout the world and over the last few years he has brought in over £1M in research funding from research councils, including EPSRC. He is currently working on many research projects, including ones with The National Archives and the Welsh Assembly Government surrounding information management issues. Yen P. Cheung has an honours degree in Data Processing from Loughborough University of Technology (UK) in 1986 and completed her doctorate in Engineering at the Warwick Manufacturing Group (WMG), University of Warwick in 1991. She worked initially as a Teaching Fellow and then as a Senior Teaching Fellow at WMG from 1988 1994 where she was responsible for the AI and IT courses in the M.Sc. programs in Engineering Business Management. She also ran IT courses for major companies such as British Aerospace, Royal Ordnance, London Electricity and British Airways in UK and for Universiti Technology Malaysia in Malaysia. Besides teaching, she also supervised a large number of industry based projects. After moving to Australia in 1994, she joined the former School of Business Systems at Monash University. Currently she is a Senior Lecturer at the Clayton School of IT at Monash University, Australia where she developed and delivered subjects in the area of business information systems, systems development, process design, modelling and simulation. Her current research interests are in the areas of collaborative networks such as eMarketplaces particularly for SMEs, intelligent algorithms for business systems, applications and data mining of social media. She publishes regularly in both international conferences and journals in these areas of research. Call for Papers and Special Issues Aims and Scope Journal of Emerging Technologies in Web Intelligence (JETWI, ISSN 1798-0461) is a peer reviewed and indexed international journal, aims at gathering the latest advances of various topics in web intelligence and reporting how organizations can gain competitive advantages by applying the different emergent techniques in the real-world scenarios. Papers and studies which couple the intelligence techniques and theories with specific web technology problems are mainly targeted. Survey and tutorial articles that emphasize the research and application of web intelligence in a particular domain are also welcomed. These areas include, but are not limited to, the following: • • • • • • • • • • • • • • • • • • • • • • • Web 3.0 Enterprise Mashup Ambient Intelligence (AmI) Situational Applications Emerging Web-based Systems Ambient Awareness Ambient and Ubiquitous Learning Ambient Assisted Living Telepresence Lifelong Integrated Learning Smart Environments Web 2.0 and Social intelligence Context Aware Ubiquitous Computing Intelligent Brokers and Mediators Web Mining and Farming Wisdom Web Web Security Web Information Filtering and Access Control Models Web Services and Semantic Web Human-Web Interaction Web Technologies and Protocols Web Agents and Agent-based Systems Agent Self-organization, Learning, and Adaptation • • • • • • • • • • • • • • • • • • • • • • Agent-based Knowledge Discovery Agent-mediated Markets Knowledge Grid and Grid intelligence Knowledge Management, Networks, and Communities Agent Infrastructure and Architecture Agent-mediated Markets Cooperative Problem Solving Distributed Intelligence and Emergent Behavior Information Ecology Mediators and Middlewares Granular Computing for the Web Ontology Engineering Personalization Techniques Semantic Web Web based Support Systems Web based Information Retrieval Support Systems Web Services, Services Discovery & Composition Ubiquitous Imaging and Multimedia Wearable, Wireless and Mobile e-interfacing E-Applications Cloud Computing Web-Oriented Architectrues Special Issue Guidelines Special issues feature specifically aimed and targeted topics of interest contributed by authors responding to a particular Call for Papers or by invitation, edited by guest editor(s). We encourage you to submit proposals for creating special issues in areas that are of interest to the Journal. Preference will be given to proposals that cover some unique aspect of the technology and ones that include subjects that are timely and useful to the readers of the Journal. A Special Issue is typically made of 10 to 15 papers, with each paper 8 to 12 pages of length. The following information should be included as part of the proposal: • Proposed title for the Special Issue • Description of the topic area to be focused upon and justification • Review process for the selection and rejection of papers. • Name, contact, position, affiliation, and biography of the Guest Editor(s) • List of potential reviewers • Potential authors to the issue • Tentative time-table for the call for papers and reviews If a proposal is accepted, the guest editor will be responsible for: • Preparing the “Call for Papers” to be included on the Journal’s Web site. • Distribution of the Call for Papers broadly to various mailing lists and sites. • Getting submissions, arranging review process, making decisions, and carrying out all correspondence with the authors. Authors should be informed the Instructions for Authors. • Providing us the completed and approved final versions of the papers formatted in the Journal’s style, together with all authors’ contact information. • Writing a one- or two-page introductory editorial to be published in the Special Issue. Special Issue for a Conference/Workshop A special issue for a Conference/Workshop is usually released in association with the committee members of the Conference/Workshop like general chairs and/or program chairs who are appointed as the Guest Editors of the Special Issue. Special Issue for a Conference/Workshop is typically made of 10 to 15 papers, with each paper 8 to 12 pages of length. Guest Editors are involved in the following steps in guest-editing a Special Issue based on a Conference/Workshop: • Selecting a Title for the Special Issue, e.g. “Special Issue: Selected Best Papers of XYZ Conference”. • Sending us a formal “Letter of Intent” for the Special Issue. • Creating a “Call for Papers” for the Special Issue, posting it on the conference web site, and publicizing it to the conference attendees. Information about the Journal and Academy Publisher can be included in the Call for Papers. • Establishing criteria for paper selection/rejections. The papers can be nominated based on multiple criteria, e.g. rank in review process plus the evaluation from the Session Chairs and the feedback from the Conference attendees. • Selecting and inviting submissions, arranging review process, making decisions, and carrying out all correspondence with the authors. Authors should be informed the Author Instructions. Usually, the Proceedings manuscripts should be expanded and enhanced. • Providing us the completed and approved final versions of the papers formatted in the Journal’s style, together with all authors’ contact information. • Writing a one- or two-page introductory editorial to be published in the Special Issue. More information is available on the web site at http://www.academypublisher.com/jetwi/. (Contents Continued from Back Cover) The Developing Economies’ Banks Branches Operational Strategy in the Era of E-Banking: The Case of Jordan Yazan Khalid Abed-Allah Migdadi 189 Evolving Polynomials of the Inputs for Decision Tree Building Chris J. Hinde, Anoud I. Bani-Hani, Thomas.W. Jackson, and Yen P. Cheung 198