International Review on Computers and Software (IRECOS) Contents Entropy Based Approach to Prevent the DDoS Attacks for Secured Web Services by S. Igni Sabasti Prabu, V. Jawahar Senthil Kumar 888 Dynamic Extended Rectangle Based Method for 3D Visual Scene Segmentation by N. Charara, , M. Sokhn, I. Jarkass, O. Abou Khaled, E. Mugellini 892 Enhancement of Game Theoretic Approach Using Nash Equilibrium with Markov Chains for VANET Security by Prabakaran M., A. R. Deepti, G. Mahadevan, R. M. S. Parvathy 900 A Novel Approach for Hiding Image Using Pixel Intensity by M. Shobana, P. Gitanjali, M. Rajesh, R. Manikandan 904 An Optimal Architecture for Dynamic Web Service Discovery and Selection by Abdallah Missaoui 909 The Implementation of Plagiarism Detection System in Health Sciences Publications in Arabic and English Languages by K. Omar, B. Alkhatib, M. Dashash 915 Sensitive Information Protection and Recovery Using One to One Compound Mapping by N. V. Chaithanya Kumar Reddy, Diwakar R. Marur, Vidhyacharan Bhaskar 920 Review of Methods of Distributed Barrier Synchronization of Parallel Processes in Matrix VLSI Systems by Jamil S. Al-Azzeh 927 Classification of Ultrasound Carotid Artery Images Using Texture Features by Dhanalakshmi Samiappan, Venkatesh Chakrapani 933 Fuzzy Based Congestion Detection Technique for Queuing in IP Networks by S. Nandhini, S. Palaniammal 941 Combining UML Class and Activity Diagrams for MDA Generation of MVC 2 Web Applications by M’hamed Rahmouni, Samir Mbarki 949 Digital Image Watermarking and Encryption Using DWT and RSA by Omar Alirr, Kasmiran Jumari 958 Study on Multi-Agent Q Learning Based on Prediction by Ya Xie, Zhonghua Huang 964 Optimization of Processor Architecture for Sobel Real-Time Edge Detection Using FPGA by Fawnizu Azmadi Hussin, Zahraa E. M. Osman, Likun Xia, Noohul Basheer Zain Ali 970 (continued) . Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Aspect-Oriented Modeling Approaches and Aspect Code Generation by Abid Mehmood, Dayang N. A. Jawawi 983 Achieving Energy Efficient MAC Protocol for MANETs by Channel Utilization and Queue Size by P. Sivanesan, S. Thangavel 996 Image Compression Based on Crucial Region for Radiographic Weldment Images by V. Vaithiyanathan, B. Karthikeyan, B. Venkatraman 1004 Energy Based Efficiency Evaluation of Cluster and Tree Based Routing Protocols for Wireless Sensor Networks by M. Faheem, Zia Ud Din, M. A. Shahid, S. Ali, B. Raza, L. Sakar 1012 A Wavelet Based Scheme for Video Watermarking by M. Sundararajan, G. Yamuna 1023 Signature Analyzer Block for Secure Node Entry by C. Navaneethan, K. Helen Prabha 1033 Swarm Based Topology Control for Fault Tolerance in MANET by D. Manohari, G. S. Anandha Mala 1037 A Bayesian Classification Approach for Handling Uncertainty in Adaptive E-Assessment by V. Geetha, D. Chandrakala, R. Nadarajan, C. K. Dass 1045 A Technique to Mine the Multi-Relational Patterns Using Relational Tree and a Tree Pattern Mining Algorithm by M. Ravi Sankar, P. Prem Chand 1053 Errata corrige 1062 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Entropy Based Approach to Prevent the DDoS Attacks for Secured Web Services S. Igni Sabasti Prabu, V. Jawahar Senthil Kumar Abstract – A web service is a standards-based, language-agnostic software entity, that it accepts specially formatted requests from other software entities on remote machines via vendor and transport neutral communication protocols, producing application specific responses. Web services are used in every nook and corner of the world. The main strategy of web service is the availability of web service to all and its security over a distributed architecture. To ensure customer satisfaction web services must be available to all the users without any hindrance. The intrusion of attackers may be in any form such as a person or a program to cease the availability of the server. The Distributed Denial of Service attack is one of the severe attacks. The proposed system is an entropy based system which prevents the web service from the denial of service attack. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: DDoS, Entropy, Security, Web Service I. Handlers are the middle level application system that receives request from source and forward the request to the destination system. Handlers have one or more agents. The intermediate system does not know that the source system has the attacking module and it continues to perform the task given by the sender system. When an attacker uses a genuine address, the proxy server uses the Deficit Round Robin algorithm to collect the address of the client request. If an attacker sends requests much faster than its fair share, the scheduling policy will drop its excess traffic. Moreover, for each genuine IP address, the system will perform accounting on the number of requests that reach the firewall. Using the number of requests we calculate the entropy for each agent and then calculate the entropy value for a handler. The administrator has set a threshold value. The entropy value of each handler is checked with the threshold value and if it exceeds the threshold value the particular IP is blocked. Introduction Web services are a standard way to integrate web based applications by the help of SOAP, WSDL, and XML [1]-[25]. XML tags the data, SOAP transfers the data and WSDL describes the services. Security, performance and availability are important issues of Web services computing. Disrupting the availability of web service or resource is the main goal of denial of service attack. Denial of service attack is an attack which is intended by a person or a machine or a piece of code to disrupt the service to a legal client or an user by making the network resource unavailable to the user. This is considered as one of the worst threats to web service. DDoS attack is distributed denial of service attack where the attackers flood from different sources to attack the victim. The number of attackers varies from a hundred to thousands. The attackers may also attack the system either by sending a special crafted message which consumes more CPU time or flood the system with more number of requests so that the server is unable to respond. The main aim of the attacker is to deny the legitimate user the desired functionality. Figure 1 shows the Attack architecture. II. Proposed Architecture The proposed system architecture is designed separately for the sender and receiver. The Client initiates a request to the server using a SOAP request. The request message is not sent directly to the destination, but forwarded to the system that handles the destination details. Fig. 1. DDoS Attack Architecture Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 888 S. Igni Sabasti Prabu, V. Jawahar Senthil Kumar Number of requests with xi as source: P (xi) = mi / m Total number of requests Here total number of requests is the number of requests seen for a time window t. Similarly we can calculate probability for each source (user) port as; Number of requests with xi as source: Fig. 2. Architecture of the sender P (xi) = No: of request from/Total number of requests Normalized entropy calculates the over all probability distribution in the captured flow for the time window T: Normalized entropy = H / log n0 where n0 is the number of distinct xi values in the given time window. Fig. 3. Architecture of the receiver The main aim of our proposed system is to detect the denial of service attacks on the web service. In this system we are detecting the attackers using entropy based value. The detail of the entropy calculation is as follows. Entropy is a measure of the uncertainty or randomness associated with a random variable or in this case data coming over the network. The more random it is, the more entropy it contains. The value of sample entropy lies in range [0, log n]. The entropy shows its minimum value 0 when all the items (IP address or port) are same and its maximum value log n when all the items are different. The entropy of a random variable X with possible values {x1, x2…, xn} can be calculated as: III. Implementation The Web services system which is implemented in this work has 10 MB band width, and each handler has 1 MB band width. The web service was implemented in an employee system. The experiment carried out is as follows: 1) Collect sample flows for a time window T on the users; 2) Calculate entropy: n H X n H X P xi log P xi 3) Calculate NE = ( H / log n0 ), where NE = normalized user entropy; 4) If NE (Normalized handler entropy) is less than the threshold, d1 identify the suspected attack flow; 5) Calculate the entropy rate; 6) Compare the entropy rates; 7) If the resultant rate is less than the threshold, then mark it as attack, else legitimate user; 8) Discard the attack flow. Tables I to III show the calculation of entropy for each agent and then the normalised entropy of a handler. In the experiment carried out we had taken 10 handlers and each handler had three agents. Some handlers did not have any request, so the normalized entropy is 0. If we are interested in measuring the entropy of requests over a unique source or destination address then maximum value of n is 232 for ipv4 address. If we want to calculate entropy over various applications ports then n is the maximum number of ports. Here p (xi) where xi X is the probability that X takes the value xi. Suppose we randomly observe X for a fixed time window w, then p (xi) = mi /m, where mi is the frequency or number of times we observe X taking the value xi: n mi i 1 n H X mi / m log mi / m P xi log P xi i 1 (1) i 1 m (3) TABLE I HANDLER 1 (2) i 1 Handler Agent No of request Handler 1 Agent 1 29 Handler 1 Agent 2 24 Handler 1 Agent 3 28 Handler entropy =0.01908 + 0.0387 + 0.0372=0.2667 Normalized entropy=0.2667 / log2 3= 0.55 H (X) = Entropy. If we want to calculate the probability of any source (user) address then: mi = number of requests with xi as source; m = total number of requests from all sources; Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Entropy 0.01908 0.0387 0.0372 International Review on Computers and Software, Vol. 8, N. 4 889 S. Igni Sabasti Prabu, V. Jawahar Senthil Kumar TABLE II HANDLER 2 Handler Agent No of request Handler 2 Agent 1 28 Handler 2 Agent 2 27 Handler 2 Agent 3 54 Handler entropy =0.0368 + 0.0363 +0.0729 =0.146 Normalized entropy=0.146 / log2 3= 0.30 TABLE III HANDLER 3 Handler Agent No of request Handler 3 Agent 1 29 Handler 3 Agent 2 28 Handler 3 Agent 3 27 Handler entropy =0.0381 + 0.037 + 0.0365 =0.1116 Normalized entropy=0.1116 / log2 3= 0.23 [4] Entropy 0.0368 0.0363 0.0729 [5] [6] Entropy 0.0381 0.037 0.0365 [7] [8] [9] [10] [11] [12] [13] Fig. 4. Entropy approach with source and destination system [14] The above graph specifies the entropy approach with source and the destination system. H1 till H10 are the handlers distributed application that reaches the maximum normalized entropy. All normalized entropy value lesser than the 0.5 is identified as attack and response to the handler is denied. [15] [16] [17] IV. Conclusion [18] Distributed denial of service has been a serious threat to web services. Our experiment was to prevent the unknown attacks before they attack the web server. An entropy based approach is a solution to prevent unknown attacks. The main advantage of this system is the attackers are detected and blocked before they disrupt the service of the server. [19] [20] [21] [22] References [1] [2] [3] Aboosaleh Mohammad Sharifi,Saeed K. Amirgholipour,Mehdi Alirezanejad, Baharak Shakeri Aski , Mohammad Ghiami Availability challenge of cloud system under DDOS attack, Indian Journal of Science and Technology June 2012. ISSN: 0974- 6846 Amazon Web Services. Amazon Elastic Compute Cloud (ec2), Available on theWww, 2009. /http://aws.amazon.com/ec2S, last accessed 10, November 2009 Asayuki Murakami and Nakaji Honda (2007) A study on the modeling ability of the IDS method: A soft computing technique [23] [24] Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved using pattern-based information processing. Int. J. Approx. Reasoning. 45(3), 470-487 Ashley Chonka ,Yang Xiang, Wanlei Zhou Alessio Bonti”Cloud security defence to protect cloud computing against HTTP-DoS and XML-DoS attacks” Journal of Network and Computer Applications ,Volume 34 Issue 4, July, 2011Pages 1097-1107 Basheer Al-Duwairi and Manimaran G (2009) JUSTgoogle: a search engine-based defense against botnet-based DDoS attacks. Proce. IEEE Int. Conf.Commun (ICC'09) Belenky A, N. Ansari, Tracing Multiple Attackers with Deterministic Packet Marking (DPM), IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, 2003, pp.49-52. Chonka, Ashley, Zhou, Wanlei and Xiang, Yang 2008, Protecting web services with service oriented traceback architecture, in CIT 2008 : Proceedings of IEEE 8th International Conference on Computer and Information Technology, IEEE, Piscataway, N.J., pp. 706-711. Chonka, A., Singh, J., Zhou, W. "Chaos Theory Based Detection against Network Mimicking. DDoS Attacks." International Journal of Computer and Electrical Engineering,April, 2010 ,IEEE Communications Letters, Vol. 13, No. 9 Dean D. An algebraic approach to IP traceback. ACM Transactions on Information and System Security (1094–9224) 2002;5(2):119 Dittrich D.The ‘mstream’ distributed denial of service attack tool. University of Washington, /http://staff.washington.edu/dittrich/misc/mstream.analysis.txtS,20 00 Dittrich D. The DOS Project’s ‘‘trinoo’’ distributed denial of service attack tool.University of Washington analysis, 1999 L. Feinstein, D. Schnackenberg, R. Balupari, and D. Kindred. “Statistical approaches to DDoS attack detection and response”. In Proc of DARPA Information Survivability Conference and Exposition, 2003. P. Garcı´a-Teodoro, J. Dı´az-Verdejo, G. Macia´-Ferna´ndez, E. Va´zquez Anomaly-based network intrusion detection:Techniques, systems and challenges computers & s e c u rity 2 8 ( 2 0 0 9 ) Elsevier Ltd. Jensen,M. Gruschka, N.; Herkenhoner, R.; Luttenberger, N., SOA and Web Services: New Technologies, New Standards - New Attacks, Fifth European Conference on Web Services, 2007. ECOWS '07 ISBN: 978-0-7695-3044-4. Jose Nazario (2008) DDoS attack evolution. Network Security. l7, 7–10. He Y, Chen W, Peng, W, Yang, M. Efficient and Beneficial defense against DDOS Direct Attack and Reflector Attack, ISPA, 2005, LNCS, vol. 3758, p. 576–87 Springer-Verlag Berlin Heidelberg 2005. Hibler,Ricci,Stoller, Duerig Guruprasad S, Stack T, et al. Largescale virtualization in the emulab network testbed. In: Proceedings of the 2008 USENIX annual technical conference, 2008. Loannis G. Baltopoulos, Introduction to Web Services, CERN School of Computing (iCSC), 2005 Geneva, Switzerland A. Lakhina , M. Crovella and C. Diot , “ Mining anomalies using traffic feature Distributions “. In proc. of ACM SIGCOMM, 2005. W. Lee, D. Xiang, “Information-theoretic measures for anomaly Detection”, In Proc. of IEEE Symposium on Security and Privacy, 2001. G. Nychis, V. Sekar, D. G Andersen, H. Kim and H.Zhang, “An Empirical Evaluation of Entropy-Based Traffic Anomaly Detection”. Tech. Rep. CMUCS- 08-145, Computer Science Department, Carnegie Mellon University, 2008. Sumit kar,Bibhudatta sahoo “AN ANOMALY DETECTION SYSTEM FOR DDOS ATTACK IN GRID COMPUTING” INTERNATIONAL JOURNAL OF COMPUTER APPLICATIONS IN ENGINEERING, TECHNOLOGY AND SCIENCES (IJ-CA-ETS) ISSN: 0974-3596 | April ’09 – September ’09 | Volume 1 : Issue 2 | Page: 553 Thomas M. Cover and Joy A. Thomas, “Elements of Information Theory”, second edition, 2007. S. Murugan, V. Ramachandran, Rough Sets Based Trustworthiness Evaluation of Web Services, (2012) International Review on Computers and Software (IRECOS), 7 (6), pp. 2974- International Review on Computers and Software, Vol. 8, N. 4 890 S. Igni Sabasti Prabu, V. Jawahar Senthil Kumar 2980. [25] He Li, Model of SNOD Algorithm of Spatial Outlier Data Mining and Analysis Based on Entropy, (2012) International Review on Computers and Software (IRECOS), 7 (6), pp. 2875-2879. Authors’ information S. Igni Sabasti Prabu is a Research Scholar in Sathyabama university. He has completed his B.E in Computer Engineering from Manonmanium Sundaranar University, Tirunelveli, Tamilnadu, in 1995 and M.E. in Computer Sciencel Engineering from Sathyabama University, Chennai in 2004. He is pursuing Ph.D. degree in Computer Science & Engineering from Sathyabama University, Chennai. His research interests are in the areas of Web security. V. Jawahar Senthilkumar is an Assistant professor at the Department of Electronics and Communication Engineering, College of Engineering-Guindy, Anna University Chennai. He received the Bachelor of Engineering Degree in Electrical and Electronics Engineering from Hindustan College of Engineering, Madras University, Chennai .He did his post graduation in Applied Electronics from Bharatiyar University, Coimbatore and Ph.D Degree in Information and Communication Engineering from Anna University Chennai. He has contributed around 40 technical papers and in various journals & conferences. His main research interests are in the field of Computer Networks, parallel & distributed algorithms, VLSI design, Network design and management and scientific computing. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 891 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Dynamic Extended Rectangle Based Method for 3D Visual Scene Segmentation N. Charara1, 2, M. Sokhn3, I. Jarkass2, O. Abou Khaled1, E. Mugellini1 Abstract – A novel approach for semantic scene segmentation with computer vision is presented in this paper. The principle goal is to capture the scene distribution of the different zones of any multipurpose hall, taking into account both monocular visual cues (texture feature) and depth information. A feature extraction strategy based on a dynamic extension of the rectangular patches is proposed in order to provide a more accurate segmentation and to avoid redundancy penalties.The depth constraints control the initial classification decision that is obtained by a neuro-fuzzy classifier. An experimental study is applied on our dataset to demonstrate this approach on his different optimization stages. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Scene Segmentation, Texture, Depth Information, Neuro-Fuzzy Classification, Pattern Recognition As main contribution, we show that the system can segment the scene in a semantic way and not just blobs of similar texture or color. The second important point of this work is utilizing the depth information to increase reliability in the comprehension of the scene elements. Therefore, the third key point in this context is to employ a functional system that is able to scan and mask the image with simple algorithms that allow fast implementations, i.e., we propose an extended rectangle based method to derive both depth and visual low level features. This is demonstrated by experiments in which stationary images of any multipurpose hall will be segmented in their different zones (details in section III). The paper is structured as follows: in the next section we present the related works, section III gives anover view for the proposed method and details the used techniques. In section IV, we interpret the experimental results by applying our approach on a set of multipurpose hall scene and finally in section we conclude the paper. Nomenclature GLCM SVM GMM SIFT CRF MDL VP N-RMSE NFC Gray Level Co-occurrence Matrix Support Vector Machine mixture of Gaussian models Scale-invariant feature transform Conditional Random Field Minimum Description Length Vanishing Point Normalized Root-Mean-Square Error Neuro-Fuzzy Classifier I. Introduction In the last years, especially with the growing research efforts in the computer vision fields [1]-[15], image processing researchers have been involved increasingly with segmentation mechanisms as well, [6], [7] and [11]. In general, Segmentation process enables partitioning and labeling the different homogeneous regions of a scene. Some researchers considered the term “segmentation” as a way to represent the labeled connected component map that is obtained after a classification step. Moreover, the semantic scene segmentation problem has attained specifically an important attention aiming to classify fixed images into semantic classes such as green fields, urban and beaches…etc. The emerging problematic here is how to achieve such segmentation mechanisms, what kind of criteria to use from the huge quantity of basic features that may be exist in a scene, and consecutively which low-level image descriptors to employ. In this work, as well as stereoscopic vision, the proposed system is also based on visual features exploration in a single fixed image taken with simple capturing constraints. II. Related Works Most visual segmentation systems oriented for scene classification are based on learning-by-example approaches to learn patterns, proceeding from a training phase and using low-level features. In [6] Boutell et al. proposed a multi-label classification model to handle the problem in that a sample may possess multiple properties of multiple classes, and the basic classes are non-mutually exclusive and may overlap. In contrast, some others [10] use the multi-class segmentation approach to combine information of the feature space between separate classes for a given sample. Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 892 N. Charara et al. Recently Recently,, iinn [[7 7]] and using the notion of lossy minimum description length (MDL) for data compression, an approach has been proposed to segment natural image imagess. At smaller scale, the automatic segmentation of microscopic cellular images [[8 8]] is employed for diagnosis assistance. At technical technical level, we can find in the literature several segmentation techniques exploiting various tools. A number of co computational mputational method methodss of segmentation have been proposed based on probabilistic models, model e.g. Conditional Random Field (CRF) models from fully fullylabeled training data [10 10]] or even from partially-labeled partially labeled images [9]. [ . In a recent work, Verbeek and Triggs introduce a CRF to incorporate both local features and features aggregated over the whole image or over large patches. They use texture (SIFT), color and position descriptors to extract local image content of each patch. Another pprobabi robabilistic robabi stic model is exploited in [7]; [ ; the mixture of Gaussian models (GMM) is employed to regroup the feature vectors or windows extracted around all pixels, into different classes. Some Some other others combine between statistical and evidential models, e.g. Charrier Charrier et al. [88]] was presented an automatic segmentation technique in which the results obtained by Support Vector Machines (SVM) applied within different color spaces, are conjunctively combined with the belief function theory (Dempster (Dempster-Shafer Shafer rule). Here, the belief function of each class is modeled from a posteriori probability that is computed ffrom rom the different segmentation maps (obtained by SVM segmentation). We note that these models can be applied either at the pixel level [8] pixel-level 8]-[2 [2]or or at patches/super patches/super-pixels [ ]. /super pixels level [10] Other group employstraditional employstraditional clustering techniques such as the kk-means means algorithm algorithm,, and even spectral clustering techniques technique [11]. [1 . These spectral clustering techniques constitute modern algorithms that depend on graph theory and linear algebra, in which an optimal graph cut is defined by using eigenvectors of the laplacian graph. Silberman et al. in [[10]] benefit from conditional random field (CRF) model to explore a variety of different potential functions, and to perform efficiently the inference with the graph-cuts graph cuts optimization scheme. Onsensory sensory features aggregation level, level and as noted in [12 2], the most important strategies are:: (1) Proximity: by strategiesare grouping the features eatures nearby in space and time into the same segment segment,, (2) Similarity: Similarity by grouping features eatures that have similar attributes, such as brightness, brightness, (3) Connectedness: a single segment is formed by a uniform connected region region, (4) Memory: Memory: aggregating the features eatures that belong to the same memory pattern pattern. Most ost of the above mentioned previous works work focus exclusively on information content nature including segmentation techniques, feature selection and classification methods. They did did not concentrate on information extraction strategies e.g e.g.. how ow to get this information from rom the framed scene without losing the significant spatial information distribution distributionss especially from the scenes scenes related with behavior analysis problems problems.. So, So the essential contribution in this study is the new segmentation strategy that is dedicated but not limited to multipurpose hall scenes, without intervention from a human operator and without any a priori information. III. Proposed Segmentation Method This method virtually split s ts the scene into different planes with different depth values in the real scene more or less far from the focal plane (Fig. ig. 11). Fig. 11. The virtual Depth planes segment the scene into various semantic zones These Depth plan planes are detected automatically during the processing phase to segment the multipurpose hall scene into different semantic zones. Since each zone has its special properties, the determination of these Depth plan is applied according to certain discriminative planes features features. We argue this segmentation strategy that in the multipurpose hall the study case, is divided into three multipurpose hall, defined zones (see Fig. Fig. 1: first the spectator seats area, then more deeply the sidewalk sidewalk, and last the the theater or the onstage or the wide screen screen, according to the usage). usage) Fig. 22. Examples of typical multipurpose hall scenes Not so far from the traditional image segmentation processes, our problem is treated by transferring features from facts domain to image domain by following the he extended rectangle strategy. The principle of this method is based on two assumptions assumptions:: First, the distribution of zones is with respect to depth. Second, the image of the the multipurpose hall is taken so as to cover most of the hall Copyright © 201 2013 Praise Worthy Pri Prize ze S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 893 N. Charara et al. components in a single frame as shown in Fig. 2, and this requires to be taken from back. These two assumptions lead us to precede the processing from the deepest point toward the camera focal plane. The deepest point is in fact the vanishing point (VP), it is the common point of intersection of the converging lines in plane image that captured by a pinhole camera. These projected converging lines are in fact the parallel lines in the real 3D space of the manmade scene. In our application, this vanishing point has a significant perception mean. So, the vanishing point detection is the first step in our algorithm. To this end and after examining different techniques we refer to a recent work [2] that demonstrates a very good performance in VP determination; it is based on 2D histogramming techniques.We treat our problem on patch level and not on pixel one, benefiting thus by reducing the computation, and from another side by applying our novel processing strategy (Fig. 3) based on extending the rectangular patches. For a given × grey framed multipurpose hall scene I, each point Pi, j∈ I, i = 1, ...M and j= 1, ...,N should belongs a rectangular patch Rt that is centered by a Ct (XCt, YCt) point, with a width Wt and a height Ht. At each iteration, all these variables vary systematically following several criteria that provide dynamic, homogeneous and convergent rectangular patch extension. Here, the extension dynamicity is represented by the width of both horizontal and vertical steps that vary with respect to statistical features. The computation of the median and variance of the difference between the current patch and the next candidate extended patch at each iteration avoids an over-step to the next zone. By this way redundancy is prevented by saving iterations and by respecting the relative homogeneity of the patch. The property of intersection between the rectangular patch corners and the converging lines will guarantee rigorously the convergence property. Centered by the aforementioned VP, the initial rectangular patch is bordered to start the extraction process (discussed in the next subsection) of the feature vectors needed by the Neuro-Fuzzy classifier to take a decision (detailed in). Finally the decision is examined by the depth information constraints that are inferred by the relation between the depth map and the logical distribution of zones. Once the depth planes are detected, a zone will be determined between two depth planes. III.1. Texture Feature The realization of scene segmentation following our proposed approach requests to characterize these mantic content of the scene. Nevertheless, the automatic extraction of semantic content is still far from being achieved despite advances in image processing and recognition algorithms. We will there for use low-level features to analyze the images and generate are liable segmentation. An important issue in the design of segmentation methods is the selection of low-level features that represent the content of images. With the absence of a priori information as noted before, the content of the images is generally represented by low-level descriptors that can translate color information, orientation and texture. However, to choose the most adequate one to our application, from the huge number of descriptor types and techniques, a little observation to the various multipurpose hall examples (Fig. 1) show that color reflects a weak representation of the different zones. Despite of the wide use of Color feature in all image processing domains, there are two principal issues to keep us away from exploiting this feature here. First, a certain design (decor) can choose the same color or set of colors for all zones of the hall. Second, the color descriptors are relativelysensitive to local variation of illumination; although some pre-processing method such as high-pass filtering can realize contrast equalization of the image, a statistical or non-statistical color descriptor will fail in such discriminative issue. Then comes Texture, it is a spatially repetitive microstructure of surfaces formed by repeating a particular element or several elements in different relative spatial positions. This repetition involves local variations of scale, orientation, or other geometric and optical features of the elements. The Gray Level Co-occurrence Matrix (GLCM)method extracts second order statistical texture features. If G is the number of gray levels existed in an image I. Let M the × GLCM, with Mlx,ly (m, n) the cooccurrence number of each two pixels with gray values m and n, separated by a given distance (lx, ly). Another definition is used also by [4] where the matrix element ML,ө(m,n)contains the second order statistical Fig. 3. Schematic diagram of the proposed segmentation framework, Z is the current number of zones and K is the total number of zones Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 894 N. Charara et al. probability values for changes between grey levels m and n at a particular displacement distance L and at a given direction ө. To avoid the paradoxical situation when the GLCM dimension will be greater than the original image dimension, normally the intensity quantization is limited to 16 grey levels that is often sufficient for discrimination or segmentation of textures. After GLCM calculation, we find some of Haralick texture features Fi as follow: The homogeneity (1) is the sum of squares of M (m, n)that will be high in homogenous scene (where the few grey levels and then high values of P(i, j)): Cluster Shade (5): = + −µ −µ × ( , ) (5) , where μx and μy are the means of Mx and My respectively. Mx (m) is the ith entry in the marginal-probability matrix obtained by summing the rows of M(m, n). Cluster Prominence(6): = + −µ −µ × ( , ) (6) , { ( , )} = (1) Sum average (7): , ( ) =− ( ) ( ) =− The sum of entropy (2), normally the homogenous patches has high entropy, while the non-homogenous has low one: (7) Sum Variance (8): (2) ( =− where: ) − ( ) (8) Dissimilarity (9): ( , ) = + = , ( − µ) ( , ) = − ) ] ( , ) { ( , )} ( , ) (10) In fact, there are up to 14 computable features in Haralick set and in [5] they are extended to 28. Since it is hard to identify theoretically which computable features contain definitively the most reliable textural information, a good observation and analysis of values distribution with respect to real scene depth (according to zones) demonstrate the usefulness of the mentioned features as showed in Table I. The spatial scene segmentation using these relevant features is determined using a fuzzy inference system, which described in the next section. (3) where μ is the mean value of M : The Inverse Difference Moment or the local homogeneity (4): [1 + ( (9) Max Probability (10): , = − | , for: k=0,1....G-1 The variance (3) here is the dispersion measure of probabilities, so the elements having relative difference of M(m, n) values around the average value are emphasized: = ( , )| = (4) , Cluster shade Dissimilarity Variance Max probability Inverse difference normalized Sum average Sum variance Sum entropy Zone 1 Zone 2 Zone 3 Var % depth Cluster Prominence Manually defined Zones Homogeneity TABLE I VARIATION OF HALARICK FEATURE VALUES WITH RESPECT TO ZONE DISTRIBUTION. THE ZONES HERE ARE MANUALLY SEGMENTED. (DEC= DECREASING, INC= INCREASING) Feature [0.95-1] [.83-.95] [.62-.80] [0 - 1] [1 - 10] [20 -200] <0 0 [5 - 25] 0 [.1 -.3] [.7 - 1] 0 [.1 -.5] [.7 - 1] [.6 - 1] [.3 -.6] [.1 -.3] [8 - 9] [6 - 8] [4 - 6.6] [58 - 76] [26 - 57] [14 - 26] [0 - 1] [.5 - 1.5] [1.8 -2.1] [8 - 9] [6 - 8] [4 - 6.6] Dec Inc Inc Inc Inc Dec Dec Dec Inc Dec Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 895 N. Charara et al. III.2. Depth Information III.3. Fuzzy Logic for Classification While in [2] the depth data is used within a merging process to obtain joint features vectors set, our proposed system uses the depth information as a constraint to avoid any estimation error caused by the texture based pattern recognition technique. Various systems have been proposed for depth exploration, each with pros and cons. There are two main groups, passive methods and active methods. Passive methods use only information from two or more cameras to estimate the standard depth. Among them, stereo vision systems that exploit the position corresponding to locations indifferent images, seems to be the most commonly used. Active methods such as structured light, laser scanners and sensors TOF (Time of Flight), are based on projecting certain kind of light on the real scene. Such methods may lead to better results than those obtained by passive stereo systems, but they are however more expensive firstly, and from another side, it is preferable to merge the multimodal information source (image and sound) with the depth exploration source in order to avoid synchronisation and fusion problem.So, dealing with the stereoscopic solution, two cameras with a known physical relation are correlated via certain algorithm. By finding correspondences of common pixel values (from left and right image),and calculating the distance between these areas, an approximate depth map can be created. This is very similar to how the human brain uses stereoscopic information from eyes to get depth and relief information. The camera attributes must be known (the focal length and the distance between them, etc...), and therefore calibration is performed. Once this is done, the system can be used to detect the distance of objects by triangulation [14]-[15]. In practice, stereoscopy involves many steps during the use of two calibrated cameras. After removing-mathematically- the radial and tangential distortion lenses, the distortion-free images will be rectified by adjusting the angles and distances between the cameras. Then, finding all specific pixels coordinates of the left and right images that match the same point of the real world is known as the correspondence stage. The output of this step is a disparity map, where disparities are differences in the x-coordinates of the 2D image of the same view function in the left and right cameras. Finally, if we know the cameras geometrical arrangement, we can use triangulation to transform the disparity map to distances. This step is called "Reprojection", and the output is a depth map. Stereovision systems have been greatly improved in recent years, but they have the drawback of inability to work on non-textured regions, while the most effective methods are also very costly in computation time. In our application, normally the multipurpose hall scenes are well-structured, hence exceeding the problem and the use of two calibrated cameras. After obtaining feature vectors, scene segmentation is turned into a classification problem. Variety of solutions has been proposed by different methods, such as support vector machines, Bayes classifiers and neural networks. Fuzzy classification is the task of partitioning a feature space into fuzzy classes that relies onfuzzy inference rules where Mamdani if-then rules are the most common.A supervised learning method is prosperous to automate the construction process of a fuzzy classifier. So, to take advantage of the network-based learning properties with the intelligibility and effectiveness of the fuzzy classification techniques, a neuro-fuzzy classifier (NFC) is used to solve our classification problem. Normally, NFC comprises four steps: fuzzy membership, fuzzification, defuzzification and normalization. Fig. 4. Depth map estimation with stereoscopic vision system After transforming the numerical values of GLCM features (fi for i = 1, 2,.10)into fuzzy interval values that are defined on a representation space: = , , , , , ,… , , If-then rules set is defined to express the qualitative aspects of human perception and to describe the relation between this representation space and the fuzzy classes’ space = {Zk/ k = 1, 2… K} where K is the number of zones in the scene (K=3 in this application): Rule i:IF , ∈ THEN is where , represents the GLCM feature value at the thsample; denotesthe fuzzy interval of kth class or th the k zone, all for the ith GLCM feature. Based on Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 896 N. Charara et al. labeled training dataset, our adaptive classifier encodes this prior knowledge into neuro-fuzzy classifier parameters, in this way the convergence to the optimal point is accelerated. To this end, the algorithm recent proposed by [1] and referred by ‘‘speeding up scaled conjugate gradient algorithm (SSCG)”; is used to compute the second-order information by calculating two first-order gradients for the NFC parameters. In this study, a least square estimator (LSE) is used to reduce the number of operations and hence the processing time. IV. aforementioned capturing conditions. For that we supposed to study the impact and effectiveness of two mapping strategies by extracting the feature vectors either from whole rectangular patches that are extended in all direction or just from the down side as shown in the figure. Experiments show that the segmentation process is enhanced and the averaged N-RMSE value is reduced by 0.0181. We interpret these results that the different zones are characterized essentially in the down side, so the low level features is mostly pertinent in all image samples. Moreover, exploring the upper side may cause information scattering and redundancy. All these facts affect the execution time that records 4.18 seconds using the improved method while analyzing the whole image where the rectangular patches are extended in all directions take 6.45 seconds. Based on these results, we have decided to adopt the down side strategy. Experimental Results The difficulty of evaluation of such semantic segmentation methods comes from the subjectivity in the result analysis and the conversion from the qualitative description into the quantitative one. We have adopted an expert based evaluation method so that the original scene will be manually segmented (offline) to be compared with our results on pixel-level. To quantitatively study the algorithm behavior in its different stages, the normalized root-mean-square error (N-RMSE) is computed to measure the differences between the manual segmented zones (as a reference) and those obtained automatically by our segmentation method. In addition to dimensions and edge pixels intensity, NRMSE is a function of some statistical features of the detected zones. Moreover, another performance measurement is employed, the recognition rate (RR), to compare the number of pixels that has been classified by the experts with that obtained by the proposed method. The segmentation method performance is evaluated on our test-set, which consists from a variety of 2D realworld multipurpose hall scene collected with the corresponding produced depth maps. Fig. 6. The two mapping strategies; 1- analyzing the whole image in all directions (in cyan), 2- analyzing the image bottom (in blue) In Fig. 7, we study the algorithm behaviour as a function of zone distribution. All the method stages are tested on our dataset and the corresponding N-RMSE graphs are shown. We can observe that the performance in all stages increases inversely proportional with depth, e.g. the error records its highest value in detecting the first zone (the deepest zone) and decreases with the next zones, to reach its lowest values with the third zone. A good point can be inferred, that the error doesn’t accumulate from zone to the next, noting that our method starts with detecting the deepest zone to the nearest one, always in respect to the camera plane. As is clear in Fig. 7 the algorithm is more promising with depth information cues, it presents the more accurate segmentation results, and this is justified with the RR presented in Table II. In addition to performance enhancement, the dynamic step proposition reduces the number of iterations at execution level. Fig. 5. Final segmented and annotated scene Some of these images are downloaded from the Internet; they are used only in visual features based tests since the lack of the ground truth depth maps. The experimental studies are conducted on a personal computer with a Core i32.13 GHz processor, 2 GB RAM memory and MATLAB R2010a environment. As observed in Fig. 6, normally the relevant information is carried by the down side of the multipurpose hall image, which is taken with the TABLE II MEAN OF THE RECOGNITION RATE (RR) OF THE DIFFERENT METHOD STAGES Algorithm stages Mean of RR Stage1: Analysing the whole image 70.63 ± 3.88 Stage2: Analysing the down side - Fixed step 79.24 ± 4.15 Stage3: Dynamic step without depth constraints 88.95 ± 5.56 Final Stage : Dynamic step + Depth constraints 91.76 ± 5.97 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 897 N. Charara et al. 0,45 0,4 0,35 Averaged N-RMSE Dynamic step + Depth constraints Dynamic step - Without depth constraints 0,3 0,25 0,2 Analysing the image bottom - Fixed step 0,15 0,1 0,05 Analysing the whole image 0 zone#1 zone#2 zone#3 Fig. 7. Quantitative evaluation of the different method stages performance with respect to zone distribution Figs. 8. (a) Patch extension with fixed step: The two examples illustrate the overstep phenomenon causing the zone overlap (b) Patch extension with dynamic step: The zone borders are respected V. This work is in fact introduced in the security monitoring systems to improve human-behavior recognition capability. Moreover, this research domain, the semantic scene segmentation, is employed in several applications as content-based image retrieval and indexing. Conclusion This paper introduced a novel approach for semantic scene segmentation, taking the multipurpose hall as a principle used case. The texture feature extraction is oriented with the new mapping strategy, in order to automatically detect the depth planes and hence the semantic zones from a unique still image. Despite the use of a limited training dataset, the algorithm simplicity and effectiveness constitute significant advantages for this approach. Moreover, the role of depth information provided by the stereoscopic system is resumed by enhancing the segmentation process performance. Indeed, the experimental results confirm that our method attains the required segmentation task even when the algorithm is limited to intensity information. Despite its effectiveness on segmenting a multipurpose hall scene, this approach provides a good result when it is exclusively applied on images captured with specific acquisition constrains. References [1] [2] [3] [4] Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved B. Cetişli, A. Barkana. Speeding up the scaled conjugate gradient algorithm and its application in neuro-fuzzy classifier training. Soft Computing 14(4):365–378.2010 Bo Li, KunPeng, Xianghua Ying, HongbinZha, Vanishing Point Detection Using Cascaded 1D HoughTransform from Single Images, Pattern RecognitionLetters,Vol 33, Iss 1, pp. 1-102, 2012. Sun CT, Jang JSR.A neuro-fuzzy classifier and its applications.Proc. of IEEE Int. Conf. on Fuzzy Systems, San Francisco 1:94–98.Int. Conf. on Fuzzy Systems, San Francisco 1:94–98. 1993 Fritz Albregtsen,Statistical TextureMeasuresComputed from Gray Level Co-occurrenceMatrices, Image Processing Laboratory, Department of Informatics, University of Oslo, November 5, 2008. International Review on Computers and Software, Vol. 8, N. 4 898 N. Charara et al. [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] R.M. Haralick, K. Shanmugam, and I. Dinstein, TexturalFeatures for Image Classification, IEEE Trans. on Systems, Man and Cybernetics, Vol. SMC-3, pp. 610-621, 1973. M. R. Boutell, J. Luo, X. Shen, C. M. Brown,Learning multi-label scene classification. Pattern Recognition, Vol. 37, No. 9. (2004), pp. 1757-177. Shankar Rao, HosseinMobahi, Allen Y. Yang, Shankar Sastry, Yi Ma, Natural Image Segmentation with Adaptive Texture and Boundary Encoding. ACCV (1) 2009: 135-146 C. Charrier, G. Lebrun, O. Lezoray, Evidential segmentation of microscopic color images with pixel classification posterior probabilities, Journal of Multimedia, Vol. 2, N° 3, pp. 57-65, 2007. Jakob J. Verbeek, Bill Triggs, Scene Segmentation with CRFs Learned from Partially Labeled Images. Neural Information Processing Systems (NIPS), 2007. Silberman, N. and Fergus, R. Indoor Scene Segmentation using a Structured Light Sensor. 3DRR Workshop, the 13th International Conference on Computer Vision ICCV, 2011. Jian Li, Shaogang Gong, Tao Xiang, Scene Segmentation for Behaviour Correlation. In Proc. of the 10th European Conference on Computer Vision (ECCV '08)Part IV, pages: 383-395, 2008. DeLiang Wang, Visual Scene Segmentation, In Arbib M.A. (ed.), The Handbook of Brain Theory and Neural Networks, 2nd Ed., MITPress, Cambridge MA, pp. 1215-1219, 2003. Dal Mutto. PietroZanuttigh. Guido M. Cortelazzo. Scene Segmentation by Color and Depth Information and its Applications, Department of Information Engineering, University of Padova. September 2011. Jian Song, A Target Location Method Based on Binocular Stereo Vision for Eggplant Picking Robot, (2011) International Review on Computers and Software (IRECOS), 6 (6), pp. 1094-1098. Stefano Mattoccia, Stereo vision: algorithms and applications, Università di Firenze, May 2012. Iman Jarkass was born inTripoli (Lebanon), 23 May 1970. PhD in Control of Systems at the University of Technology of Compiegne (UTC), France, 1998. She is an associate professor atthe Lebanese University (Lebanon). She is interested in the data fusion, especially applied to dynamic systems. Omar Abou Khaled holds a PhD in Computer Science received from theUniversityof TechnologyofCompiègne, and a Master in Computer Science from the same university. He is Professor at the University of Applied Sciences ofFribourgEIA-FR. Since 1996 he has been working as research assistant in the MEDIA group of the Theoretical Computer Science Laboratory of EPFL (Ecole Polytechnique Fédérale de Lausanne) in the field of Educational Technologies and Web Based Training research field. He is International Advisor at HES-SO. He was Head of International Relations Office at EIA-FR. Head of MRU "Advanced IT Systems Architects" at EIA-FR. Until 2007 He was leader of the MISG (Multimedia Information System Group). He is responsible of several projects in the field of Document Engineering, Multimodal Interfaces, Context Awareness, Ambient Intelligence, Blended Learning, and Content-Based Multimedia Retrieval. Elena Mugellini holds a PhD in Telematics and Information Society received from the University of Florence in 2006, and a Master in Telecommunication Engineering from the same university received in 2002. She is Professor at the Information and Communication Department of the University of Applied Sciences of Western Switzerland, Fribourg (EIA-FR). Elena is the leader of MISG research group. She is also member of the Telematics Technology Laboratory at the University of Florence.Her current research interests are on the areas of Ambient Intelligent, Multimodal Interaction, Tangible User Interface, Personal Information Management, and Document Engineering Authors’ information 1 University of Applied Sciences of Western Switzerland, Fribourg, Switzerland. 2 Lebanese University, Doctoral School for Science & Technology, Beirut, Lebanon. 3 University of Applied Sciences of Western Switzerland, Sierre, Switzerland. Nour A. Charara received her License and Master1 degrees in Electronics from the Lebanese University Faculty of Sciences in 2008 and 2009 respectively. Also she received Research Master degree in Signal, Telecom, Image, and Speech (STIP) from the Lebanese University, Doctoral School of Sciences and Technology in 2010. Currently, she is member of the Multimedia Information System Group, MISG at the University of Applied Sciences of Western Switzerland, Fribourg, Switzerland. Her research interests include video analysis, image processing and behavior recognition. Maria Sokhn holds a PhD from the Telecom Paris Tech in 2011. She graduated from the Engineering Faculty of Saint Joseph University, with a Computer and Communication Engineer diploma, and holds a specialized master diploma from Telecom Paris Tech in Multimedia production and creation. Actually she is a professor at the University of Applied Sciences (EIA) of Sierre, and member of the Multimedia Information System Group MISG. She was the head of the eGov Technology Center at EIA of Fribourg. Her researches interest focuses on eGovernement, multimedia information retrieval, knowledge management, modeling and visualization. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 899 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Enhancement of Game Theoretic Approach Using Nash Equilibrium with Markov Chains for VANET Security Prabakaran M., A. R. Deepti, G. Mahadevan, R. M. S. Parvathy Abstract – Vehicular ad-hoc networks (VANETs) are a special type of Mobile ad-hoc networks, which provides safety and commercial applications to the vehicles. Typically, this technology uses every moving car as nodes to form a network. To make a travel more convenient for the user, the VANET has provided a good service and security for them. Recently, game theoretic models are used to address network security issues. The VANET faces the greatest security threats in the game theoretic approach. In this paper a Game theoretic potential for VANET security is applied. This new technique is termed as NE (Nash Equilibrium) with Markov chains based on the game model, is used for VANET to improve the performance and security better. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Nash Equilibrium, Markov Chain, VANET To improve the security of VANET, many techniques have been presented earlier. One of the technique named TPM hardware for the security framework of VANET by developing the trusted infrastructure for neighboring nodes. A Nash Equilibrium (NE) technique is provided to improve the communication security in game theoretic approach. The NE has been used for variety of game applications like blocking games, intelligent virus attacking games and so on. Nomenclature NE VANETs MC Ti gn Nash Equilibrium Vehicular ad-hoc networks Markov Chains Strategy set for player Set of approach I. Introduction Vehicular ad-hoc networks (VANETs) are a special type of Mobile ad-hoc networks, which provides safety and commercial applications to the vehicles [1]-[9]. Typically, this technology uses every moving car as nodes to form a network. To make a travel more convenient for the user, the VANET has provided a good service and security for them. Recently, game theoretic models are used to address network security issues. The VANET faces the greatest security threats in the game theoretic approach. In Game Theory, one player's result depends on his decisions and also his adversary. Likewise, in the network, the security depends on the actions of the users that are sharing the systems, and also their peers situated in other networks. All these agents act realistically according to their various incentives. Thus, the Game Theory helps the agents to predict each other's behavior and suggests a course of action to be taken in any given situation. II. III. Enhancing Game Theoretic Approach for Vanet Security The basic assumption of a game theoretic model is that decisions makers are rational [7]. In a game the players are termed as decision makers, comprise the crucial entities of a game. A player can represent a person, a machine or a group of persons. Within a game, players perform actions which they describe from their particular action sets. The plan of actions that a given player takes during a game play is called the strategy of that player. When all players play their strategies, it leads to an outcome, which is the vector of the actions taken by the players in that game. An outcome gives a positive or negative (prn) reward to each player. The prn of a given player is derived from the preference that the player has of some outcome compared to others. A player's preference is given by a utility function where the outcome be a real number. Literature Review III.1. Markov Chains for Game Model In general, a VANET can be modeled as a weighted graph G = (N, E). N contains the network nodes (eg; moving cars), while E is the set of edges. The construction of Markov chains are used to measure the security and provide the game model based on the transitions in VANET. Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 900 Prabakaran M., A. R. Deepti, G. Mahadevan, R. M. S. Parvathy It is an arbitrary process where the next state depends only on the present state and not on the series of events that headed it. The Markov model is used to identify the probability of state transition from one state to another [8]. Depends upon the user’s actions states in VANET, it construct the Markov model of the system. To construct the Markov model, we use the steps given below: Pseudo code Step1: Let the source be Ti, Step2: Let Destination be Tj, Step3: if transition from the state Ti to state Tj, Step4: Compute actions profiles of ρ1, ρ2…ρk With the rates of μ ρ1……. μρk consequently, Step5: Evaluate the total rate of the state transition from Ti to the state Tj: k λij = Σ n=1 μρn Fig. 1. Architecture Diagram of Game theoretic approach using NE and MC (1) Step6: End If. The pseudo code describes the state transition nodes from source to destination. Before transmitting the nodes, it is necessary to evaluate the action profiles for each node in the network. Then choose the transition path and evaluate the rate of the transition path by using Eq. (1) Therefore, for computing the transition rates in Markov chain, it is enough to compute the rates of μρi. If, the state s of the system has equal rate of transition, then for action profile of ρi = ρr1, ρr2……. ρk with occurrence probabilities (π*,s 1 (ρr1)………. π*,s k (ρk)), the rate will be as follows: Step7: if transition has equal state, Step8: Compute the action profiles ρi = ρr1, ρr2……. ρr k , Step9: for each action profiles, Step10: Evaluate the total rate of the state transition: μ ρi = μ * π*,s j (ρj) III.2. Nash Equilibrium Nash Equilibrium (NE) is applied in game theory where two or more players involve in a game under VANET. It is computed based on the game model like intelligent virus game, blocking game and so on which are derived from MC (Markov Chains). This paper describes the process of deriving the NE based on the players involved in game theoretic model in VANET security. It can also be termed as mixed strategies, where players involved in a game, select the probabilities from possible actions made on it. The pseudo code for NE to secure the VANET using the game model derived using MC: Step1: Derive the game model using MC; Step2: Let the game be G, and players be n; Step3: Compute the strategy set Ti; Step4: For each player; Step5: Compute the payoff fi(x); Step6: end for; Step 7: Based on fi(x); Step 8: Evaluate NE (Eq. (4)); Step 9: To identify the state of the game strategy; Step 10: End. Let (T,g) be a game with n players, where Ti is the strategy set for player i, T=T1 X g2 ... X gn is the set of approach and g=(g1(x), ..., gn(x)) is the payoff function for x ∊ T. Let xi be an approach of player i and x-i be an approach of all other players except player i. When each player i ∊ {1, 2, ..., n} selects approach xi resulting in approach profile x = (x1, ..., xn) then player i gets payoff fi(x). Note that the payoff depends on the approach chosen. A approach x* ∊ S is a Nash equilibrium (NE) if no unilateral variation in approach by any single player is beneficial for that player, that is . (2) Step11: end for, Step12: end if. Therefore, to compute the rates of action profiles, it is enough to compute the rate of actors and the occurrence probabilities of the actions. The later is computed by solving the game model and the former is computed as follows. Step 13: If users’ actions on the state path fail,With probabilities as: γ1(1), γ2(2),……… γn1(n1) Step14: The state of those actions rate is computes: n1 μ*,i1 = μ1* Σ k=1 (1-γ1(k)) (3) ∀, Step15: derive the game model. The Eq. (2), said above in step 10 for computing the Markov chains is to derive the game model. The proposed Markov chains and Nash Equilibrium for VANET security is shown in Fig. 1. ∈ , ≠ ∗ : ( ∗, ∗ )≥ ( , ∗ ) (4) The game model is finally derived using MC and NE successfully to improve the efficiency of VANET security. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 901 Prabakaran M., A. R. Deepti, G. Mahadevan, R. M. S. Parvathy IV. Performance Evaluation 0.3 0.25 The proposed VANET security using NE and MC is evaluated in an efficient manner using NS2 simulator. Initially the experiment is evaluated with 100 nodes in a flat area of 100×100 m2. The incoming time of each nodes is measured in terms of seconds as t1, t2….tn. Using MC, it derived the game model. Based on game model, NE is applied for a secure communication. The simulation results show that it takes 800 secs to travel from source to destination by choosing the path efficiently without any interruption. In the simulations, two particular scenarios are studied: first one rural and the other urban, which vary from each other in road and traffic density. The penalty for the attacker is when both players decide the identical road segment, are initially set to r = 0.2 approximately interpreted as 20 percent loss. From penalty, the equilibrium value (NE) (Eq. (5)) of the game amounts to v = w = 0.4145. If the penalty is decreased to 0.01, the value raises to 0.6560, i.e., a gain for the attacker as predictable. V. 0.2 probability 0.15 Attack 0.1 Defense 0.05 0 40 60 80 100 120 Vehicle Density Fig. 2. Attack and Defense rate of VANET security in rural scenario TABLE II ATTACK AND DEFENSE RATE OF VANET SECURITY IN URBAN SCENARIO Vehicle Probability (urban scenario) Density Attack factor Defense factor 10 0.05 0.09 20 0.16 0.19 30 0.09 0.1 40 0.14 0.17 50 0.27 0.3 Fig. 3 describes the attack and defense rate of VANET security in an urban scenario using NE and MC. In urban scenario, the vehicle density might be high. So when the vehicle density increases, the probability of attack is high and so the defense rate should also be high to show the better performance. The attack and defense rate is measured in terms of probability factor. When using NE and MC for VANET security in urban scenario, the attack rate is very high and defense rate is also being high compared to an existing ACO for VANET security. Table III Performance Rate of VANET security using NE and NC. Fig. 4 describes the performance measure of VANET security using NE and MC for game theoretic approach. When the probability of attack for VANET security increases, the performance for securing the VANET environment is also be high by using NE and MC. Since the Nash Equilibrium is used for VANET security, the state of the vehicles are maintained stable and it does not allow the intruders to intrude the vehicle in a specific interval of time. Finally, it is observed that the proposed MC and NE for VANET security efficiently designed using NS2 simulator. The game model is derived based on user’s action profiles in the state transition paths using Markov chain model. Based on game model, the equilibrium state is derived and identified by the stable state of the game model. Results and Discussion Let us assume a 1000 × 1000 grid of a map where nodes can travel randomly for vehicular network environment (VANETS). Normally, in the urban city, the vehicle density is high. These nodes attempt and communicate with each other depends on another random set of connections of TCP or UDP. The systems use a simple maliciousness model to inject malicious behavior into the system. At this situation, NE and MC for VANET security perform well. The parameters are carried over here for VANET security using NE and MC. All simulations are run 20 times over and averaged. Table I describes the probability of attack and defense factor based on vehicle density in a rural scenario. TABLE I ATTACK AND DEFENSE RATE OF VANET SECURITY IN RURAL SCENARIO Vehicle Probability (rural scenario) Density Attack factor Defense factor 10 0.06 0.09 20 0.13 0.15 30 0.16 0.2 40 0.21 0.25 50 0.25 0.29 Fig. 2 describes the attack and defense rate of VANET security using NE and MC. In rural scenario, the vehicle density might be low. So when the vehicle density increases, the probability of defense rate for the attack is high to show the better performance. The probability of attack is also being low compared to urban scenarios. The attack and defense rate is measured in terms of probability factor. When using NE and MC for VANET security, the attack rate is very low compared to an existing ACO for VANET security. Table II describes the probability of attack and defense factor based on vehicle density in an urban scenario. 0.3 0.25 0.2 probability 0.15 Attack 0.1 Defense 0.05 0 10 20 30 40 50 Vehicle Density Fig. 3. Attack and Defense rate of VANET security in urban scenario Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 902 Prabakaran M., A. R. Deepti, G. Mahadevan, R. M. S. Parvathy TABLE III PERFORMANCE RATE OF VANET SECURITY USING NE AND NC VANET security using NE and MC Probability of Attack Performance Rate 0.04 25 0.08 34 0.12 30 0.16 35 0.2 33 [7] [8] [9] VANET Security using NE and MC 35 30 25 performance 20 15 rate 10 5 0 Authors’ information 0.04 0.08 0.12 0.16 Prabakaran M., was born in 1964 at Salem, Tamilnadu, India. He recdeived his Master of Computer Applications degree from Madurai Kamaraj University, Madurai, Tamilnadu, India in 2003, and Master of Philosophy degree in 2004 from Periyar University, Tamil nadu, India. He was awarded with Master of Engineering degree in 2007 from Anna University, Chennai, India. Now, he is pursuing his Ph.D., under Anna university, Chennai, under the guidance of Dr. Mahadevan. He has published his research articles in various Indian and Foreign Journals. His area of research is Mobile Adhoc Networks. He is much interestingly carrying out his research in Vehicular Adhoc Networks. He is life member of ISTE. E-mail: Prabhakar.prof@gmail.com 0.2 probability of attack VANET Security using NE and MC Fig. 4. Performance measure of VANET security VI. Conclusion To improve the game theoretic approach in VANET security, this paper presents a new technique MC (Markov Chains) and NE (Nash Equilibrium). The MC here presented an efficient game model based on the issues raised in the VANET environment. The NE has been computed efficiently based on the game model where issues over VANET have been decreased. The security game outperforms the raw approach of protecting locations equivalent to their methods by ignoring attacker behavior. The numerical analysis is based on the sensible simulation data attained from traffic engineering systems. The simulation results showed that the game theoretic approach for VANET security using MC and NE is the best to use. Dr. Mahadevan born in 1967 at Tanjore, Tamilnadu, India. He received his Bachalor degree of engineering in 1989 from Bharathidasan University, Trichy ,Tamil Nadu, India. His Master Degree in computer science was awarded in 1994 and was awarded his Ph.D. In 2002 by Tamil university, Thanjavur, Tamil nadu, India. His area of Interest is networks. He has wide experience for about 25 years in various levels like lecturer, Research associate, Professor and principal.He has Published 24 research articles so far in his areas of interest. He has organized many international and national conferences. He is Life member of IEEE, ISTE, IETE, CSI and various other prestigious bodies. He has visited Dubai, Singapore, Muscut, Malaysia, Thailand and Manila to give technical talk, key note address and research papers presentation. References [1] [2] [3] [4] [5] [6] Trends in Information Science and Service Science (NISS), 2010 4th International Conference on 17 June 2010 Tansu Alpcan and Sonja Buchegger, “Security Games for Vehicular Networks ”,IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 10,2011 Y. Do, S. Buchegger, T. Alpcan, and J.-P. Hubaux, “Centrality Analysis in Vehicular Ad-Hoc Networks,” technical report, EPFL/ T-Labs, 2008. Wagan, A.A. ; Mughal, B.M. ; Hasbullah, H. “VANET Security Framework for Trusted Grouping Using TPM Hardware”, Communication Software and NetWorks, 2010. ICCSN '10. Second International Conference on 25, March 2010 Dr. Deepti, has completed her Ph.D., from University of Madras, Chennai. She is presently working as Associate Professor at Acharya Institute of Technology, Bangalore, India. She completed her Master Degree in Computer Applications from University of Madras, Chennai, India. Her area of interest of research is Cryptography and its security, image processing, adhoc network and cloud computing. Asif Ali Wagan, Bilal Munir Mughal & Halabi Hasbullah, “VANET Security Framework for Trusted Grouping using TPM Hardware”, 2010 Second International Conference on Communication Software and Networks. Behzad Zare Moayedi, Mohammad Abdollahi Azgomi, ” A Game Theoretic Approach for Quantitative Evaluation of Security by Considering Hackers with Diverse Behaviors ”, 2009 Eighth IEEE International Conference on Dependable, Autonomic and Secure Computing Grossklags.J, N. Christin, and J. Chuang, “Secure or Insure? A Game-Theoretic Analysis of Information Security Games,” Proc. 17th Int’l Conf. World Wide Web (WWW ’08), pp. 209-218, 2008. Grossklags, N. Christin, and J. Chuang, “Predicted and Observed User Behavior in the Weakest-Link Security Game,” Proc. First Conf. Usability, Psychology, and Security (UPSEC ’08), pp. 1-6, 2008. Mehraeen, S. ; Dierks, T. ; Jagannathan, S. ; Crow, M.L., “Zerosum two-player game theoretic formulation of affine nonlinear discrete-time systems using neural networks”, Neural Networks (IJCNN), The 2010 International Joint Conference on 14 October 2010 Samara, G. ; Al-Salihy, W.A.H. ; Sures, R., ‘Security issues and challenges of Vehicular Ad Hoc Networks (VANET)’, New Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 903 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 A Novel Approach for Hiding Image Using Pixel Intensity M. Shobana, P. Gitanjali, M. Rajesh, R. Manikandan Abstract – Data communication technologies has leaped into a great level of acceptance globally as it goes hand-in-hand with the other types of data in the carry plane of communication providing every ounce of optimized data. When it has been put in to the public network. Data can be coded as an image or audio or video using a cipher technique named steganography, where image preferred as a cover object. Taking into account of the RGB channel of the given image three kinds of algorithm are utilized in the method that exist earlier whereas with slight alteration were rendered to the proposed system to improve embedding capability .Color channels were used for designing three algorithm with intensity as its cornerstone. Analyzing the accomplishment of three algorithms the most efficient one is considered. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Non-Data Plane, Data Plane, Random Image Steganography It is slower than spatial domain but it has very difficult processing steps. They have a benefit of being more secure and noise tolerant. The advantages and disadvantages in the techniques of watermarking are common to steganography also. So it can be concluded that, the goal of steganography is to prevent an illegal user to manipulate the secret data.The parameters which are important to consider while implementing steganography are given below: (1) Impercibility: this is in the variance between the original and the Stego object. (2) Quantity: The secret information quantity of the cover is equal to its performance. Here the challenge is high capacity of message can affect the image’s quality to a considerable level because quantity and impercibilty are contrasting each other. Hence, to enlarge the size of embedding bits by not affecting the quality of the cover is the great challenge [5]. The existing techniques which is used developed so far for implementing steganography are LSB embedding, pixel value differencing, transform domain technique, spread spectrum technique. There are two scratch modules involved in steganography is hiding a covert data in the cover and retrieving the message from stego. During the hiding module, the secrecy information is embedded into the cover by varying specific area. The extraction module permits to retrieve the secret information from the stego-object. Various types of cover images used in steganography are binary images, grayscale images and color images. Due to its persistent nature, steganography left noticeable mark within medium object features. This permits opponent to apply steganalysis technology to expose covert conversation is carrying out [3]. Nomenclature LSB MSE PSNR Least Significant Bit Mean Square Error Power Signal-to-Noise Ratio I. Introduction On day-to-day life lots of users capture, store, and transmit, and manipulate digital data [1]-[7]. All multimedia contents (Digital audio, video, images, and documents) are winged through Internet to their corresponding receivers. Unfortunately, intruder choose to intrude and get the content for themselves. Due to access free digital media communication also provides virtually unmatched opportunities to pirate copyrighted material [7]. Steganography is an “invisible” or “subliminal” in which two or more parties may communicate. Whereas watermarking, used to hide the copyrighted data using covert images. These are subjected to illegal use of essential components of applications commercial multimedia [6]. These are reduced by using watermarking, cryptography and steganography methodologies. It lessens the ability of the intruder to extract the secret data illegally. There are many methods for embedding the secret data (digital watermarking) and hide the secret data (steganography). Steganography, is further classified into spatial and frequency domains. In spatial domain approach, the secret data is hidden into least significant bits of pixels in covert image. It is quick process but it is quite less secure to steganalysis attacks [4]. In frequency domain approach a covert image pixel into frequency based Coefficients and embeds the covert message in it. Discrete Cosine transform and Discrete Wavelet Transform etc is needed for transform process. Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 904 M. Shobana, P. Gitanjali, M. Rajesh, R. Manikandan II. should used to hold the message bits. Existing System The entire cover image will be split into red, green and blue plane. In this paper, we have proposed three new mechanisms for selecting the data and index planes, In order to maximize the embedding bits in the cover medium. There are two plane namely data plane and index plane. The data plane will holds the message in terms of bits. The index plane is used to indicate which plane should used to hold the message bits. Here the first bit indicates red plane, the second bit indicates green plane and the third bit indicates blue plane [2]. II.1. III.1. 3-Bit Based Random Image Steganography In this method, the non dataplane is selected by using the all combination of three bits. The three bits value is used here is binary equivalent of 0, 1, 2, 3, 4, 5, 6 and 7. For each pixel, a three bit value is assigned. Here the first bit indicates red plane, the second bit indicates green plane and the third bit indicates blue plane. In first case, in these three bits, any two of the bits are common and it’s different from the remaining one bit then the plane corresponding to the place of that different bit will not hold plane and the remaining two planes are said to be data planes. In second case, all the values of the three bits are identical here red plane will not message bits. The Three Methods Used in Existing Method In first method, the index channel is selected by using the all combination of three bits. For each pixel, a three bit value is assigned. In first case, in these three bits, any two of the bits are common and it’s different from the remaining one bit then the plane corresponding to the place of that different bit will act as the index plane and the remaining two planes are said to be data planes. In second case, all the values of the three bits are identical here red plane is act as index plane as default [1]. In second method, 3-bit LFSR will generate random bits for every pixel in the cover object. In the first case any of one bit is differ then its corresponding plane act as index plane and the other two same bits will act as the data plane. In second case all three bits are same then red plane act as the index plane [1]. In third method, all the three color planes will be converted in to binary values. For each pixel in the image, the plane which has the minimum number of ones in its MSB will act as index plane and the other two color planes are considered as data planes [1]. After determining the index and data channel using any of the method which is specified above then follow these steps: For each index plane its two LSB is considered. If the value of the LSB is 00 or 11 then the embedding process will be on both data plane or if the value is 01 then data will hide in data plane 2 alone or if the value is 10 then data will hide in data plane 1 alone. The number of bits gets embed in the data plane is equal to the number of ones in its MSB of the data plane. These above steps are similar for all the three methods [1]. III.1.1. LFSR Based Image Steganography In this method, 3-bit LFSR will generate random bits for every pixel in the cover object. In the first case any of one bit is differ then its corresponding plane will not message bits and the other two same bits will act as the data plane. In second case all three bits are same then red plane will not hold message bits. III.2. Pixel Intensity Based Image Steganography In this method, all the three color planes will be converted in to binary values. For each pixel in the image, the plane which has the minimum number of ones in its MSB will not hold message bits and the other two color planes are considered as data planes. Compared to method 1 and method 2 in the proposed work, this method will help us to embed more number of message bits in the cover medium. IV. Algorithm IV.1. 3-Bit Based Random Image Steganography 1) Embedding method Variables used: Covert Image (D), Carrier image(C) as inputs, Stego-image (I) with covert image embedded in it as output. 1. Convert secret image pixels to binary 2. Isolate the carrier image to Red, Green and Blue planes. 3. When every bit traversed in D perform the steps given below 3.1 For each bit in D, assign an three bits value of (0…7), starts from 0 increment the value by 1 until it reaches 7, if it reach again go back to 0 and repeat increment 3.1.1 If one of the three bits is 1 and the other two bits is 0 then according to the position of the’1’ bit one nondata plane and two data plane is selected: -if 1 is in first bit position then Red plane act as the non-data plane III. Proposed System The entire cover image will be split into red, green and blue plane. In this paper, three new mechanisms for selecting the data and index planes has been proposed, in order to maximize the embedding bits in the cover medium. There are two plane namely data plane and index plane. The data plane will holds the message in terms of bits. The index plane is used to indicate which plane Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 905 M. Shobana, P. Gitanjali, M. Rajesh, R. Manikandan -if 1 is in second bit position then Green plane act as the non-data plane -if 1 is in third bit position then Blue plane act as the non-data plane 3.1.2 If one of the three bits is 0 and the other two bits is 1 then according to position of the ‘0’ bit one non-data plane and two data plane is selected -if 0 is in first bit position then Red plane act as the non-data plane -if 0 is in second bit position then Green plane act as the non-data plane -if 0 is in third bit position then Blue plane act as the non-data plane 3.2 If it is 000 or 111 value then Red plane is selected as the default non-data plane 4. For every pixel traversed in Non-data plane perform the steps given below: Let g1=1’s count in dataplane1 (MSB) g2= 1’s count in dataplane2 (MSB) Hide g1 bits and g2 bits of message in data plane1 and data plane 2 respectively -If all secret data is embedded then Goto next step Else Repeat this step 5. Save the resulting stego Image the steps given below Let g1=no of 1 in MSB of dataplane1 g2= no of 1 in MSB of dataplane2 Embed g1 bits and g2 bits of message in data plane1 and data plane 2 respectively -If all secret data is embedded then Goto next step Else Repeat this step 7. Save the resulting stego Image 2) Extraction method Variables used: Stego Image (I), key (k) as input and Covert image (D) as output. 1. Stego image I is splitted into Red, Green and Blue Planes. 2. Message (image) size is given as the key (k) 3. Perform the step 3 and step 4 which is given in the embedding side for g times to get non-data and data planes 4. For every pixel traversed in Non-data plane perform the steps given below: Let g1 = 1’s count in dataplane1 (MSB) g2= 1’s count in dataplane2 (MSB) Extract g1-bits and g2-bits from current pixel of dataplane1 and dataplane2 respectively 5. Save the result as Secret image (D). 2) Extraction method Variables used: Stego Image (I), key (k) as input and Covert Image (D) as output. 1. Stego image I is splitted into Red, Green and Blue Planes. 2. Message (Image) size is given as the key (k) 3. Perform the step 3 which is given in the embedding side for k times to get non-data and data planes 4. For every pixel traversed in Non-data plane perform the steps given below: Let g1 = 1’s count in dataplane1 (MSB) g2= 1’s count in dataplane2 (MSB) IV.3. Pixel Intensity Based Image Steganography 1) Embedding method Variables used: Covert image (D), Carrier image(C) as inputs, Stego image (I) with covert image embedded in it as output. 1. The secret image pixels is converted into binary 2. The carrier image is splitted into Red, Green and Blue 3. Consider the plane value which has minimum number of 1 in the MSB as non-data plane 4. For every pixel traversed in Non-data plane perform the steps given below: Let g1=1’s count in dataplane1 (MSB) g2= 1’s count in dataplane2 (MSB) Hide g1 bits and g2 bits of message in data plane1 and data plane 2 respectively -If all covert message is embedded then Goto next step Else Repeat this step 5. Save the resulting stego Image Extract g1-bits and g2-bits from current pixel of data plane1 and dataplane2 respectively 5. Save the result as Secret Image (D) IV.2. LFSR Based Image Steganography 1) Embedding method Variables used: Covert Image (D), Carrier image(C) as inputs, Stego image (I) with covert image embedded in it as output. 1. Convert secret image pixels into binary 2. Isolate the carrier image into Red, Green and Blue planes. 3. Initialize the 3bit LFSR 4. Generate 3-bit value of LFSR for the pixels present in cover image 5. On the basis of LFSR value non-data and data plane is selected 6. For every pixel traversed in Non-data plane perform 2) Extraction method Variables used: Stego Image (I) as input and Covert image (D) as output 1. Stego image I is splitted into Red, Green and Blue Planes. 2. Message size is given as the key (k) 3. Perform the step 3 which is given in the embedding side for k times to get non-data and data planes. 4. For every pixel traversed in Non-data plane perform Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 906 M. Shobana, P. Gitanjali, M. Rajesh, R. Manikandan the steps given below Let g1 = 1’s count in dataplane1 (MSB) g2= 1’s count in dataplane2 (MSB) Extract g1-bits and g2-bits from current pixel of data plane1 and dataplane2 respectively 5. Save the result as Secret Data (D) V. R2 PSNR 10 log10 MSE where M and N are rows and columns of the matrix of the image’s pixels and R denotes the maximum error occurs in the stego image. Results and Discussion To investigate the efficiency for the above three algorithm can be represented using two parameters MSE and PSNR. For example four 256×256 images such as Lena, baboon, Gandhi, temple as cover images. The secret image used here is sastra logo which is 165×165 images. As a result, four stego images, has obtained and computed the PSNR and MSE value for the four stego images using the following equations: MSE (2) 2 1 m 1 n 1 I i, j K i, j mn i 0 j 0 Fig. 1. Original images (1) Fig. 2. Stego images TABLE I COMPARISON IS MADE BETWEEN THE MSE AND PSNR FOR 3-BIT BASED RANDOM IMAGE STEGANOGRAPHY Plane1 Plane2 Plane3 Cover image MSE PSNR MSE PSNR MSE PSNR Lena 2.0588 44.9947 1.1992 47.3420 0.9015 48.5810 Gandhi 2.8565 43.5725 1.8957 45.3530 1.5820 46.1387 Baboon 1.6638 45.9198 0.9338 48.4283 1.1607 47.4837 Temple 1.1049 47.6975 0.7770 49.2267 1.0925 47.7465 TABLE II COMPARISON IS MADE BETWEEN THE MSE AND PSNR FOR LFSR BASED IMAGE STEGANOGRAPHY Plane1 Plane2 Plane3 Cover image MSE PSNR MSE PSNR MSE Lena 1.7921 45.5972 1.3610 46.7921 0.9875 Gandhi 2.4952 44.1598 1.9977 45.1225 1.6575 Baboon 1.4276 46.5848 1.0071 48.1000 1.2496 Temple 0.9802 48.2178 0.8364 48.9066 1.1706 PSNR 48.1854 45.9364 47.1630 47.4468 TABLE III COMPARISON IS MADE BETWEEN THE MSE AND PSNR FOR PIXEL INTENSITY BASED IMAGE STEGANOGRAPHY Plane1 Plane2 Plane3 Cover image MSE PSNR MSE PSNR MSE PSNR Lena 2.1118 44.8843 1.2846 47.0431 1.0811 47.7921 Gandhi 3.3397 42.8937 2.0494 45.0145 2.0339 45.0476 Baboon 2.0520 45.0090 1.1176 47.6478 1.5400 46.2557 Temple 1.1718 47.4423 0.8916 48.6290 1.2683 47.0987 VI. Conclusion References [1] Thus the secret image is hidden in the cover object (image) using three algorithm of random image steganography. Using this algorithm 165×165 image is embedded in the 256×256 image with good PSNR and MSE value. This three algorithm can be further enhanced to hide secret image which is having the same size of cover image with low error rate. Through manipulating the pixels at the RGB layer we can assure high security to these methods. [2] [3] [4] Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved M.Shobana , R.Manikandan , Efficient Method for Hiding data by pixel intensity , International Journal of Engineering and Ttechnology(IJET), vol .5 n.1, Feb-March 2013, pp. 75-81. Amirtharajan R, Mahalakshmi, V, Sridharan, N, Chandrasekar. M,Rayappan.J.B,Modulation of hiding intensity by channel intens ity - Stego by pixel commando, International Conference on Computing, Electronics and Electrical Technologies (ICCEET) 2012. R.Amirtharajan,Dr. R. John Bosco Balaguru, Tri-Layer Stego for Enhanced Security – A Keyless Random Approach , Internet Multimedia Services Architecture and Applications(IMSAA),December 2009,pp.1 – 6. Kang Leng Chiew, Josef Pieprzyk, Blind Steganalysis: A Countermeasure for Binary Image Steganography, conference on International Review on Computers and Software, Vol. 8, N. 4 907 M. Shobana, P. Gitanjali, M. Rajesh, R. Manikandan [5] [6] [7] Availability, Reliability and Security(ARES),Feb -2010,pp. 653 – 658. Fabien A. ,P. petitcolas, Ross .J. Anderson, and Markus G. Kuhn, Information Hiding—A Survey, proceeding of the Institute of Electrical and Electronics Engineers (IEEE) ,vol. 87 n. 7, July 1999,pp. 1062 – 1078. M. Shirali-Shahreza, S. Shirali-Shahreza, Text Steganography Using Ligatures, (2008) International Review on computers and software (IRECOS), 3 (4), pp. 418-423. M. Shirali-Shahreza, Steganography in Artistic Websites, (2007) International Review on computers and software (IRECOS), 2 (1) pp. 25-29. M. Rajesh obtained the degree of B.Sc(Electronics and Computer Science) in SASTRA University, India .He obtained M.Sc(Electronics) in St.Joseph Trichy (TN). He is currently pursuing M.Tech (VLSI Design), SASTRA University. He is interested in the area of partitioning in VLSI Design. R. Manikandan is currently working as a Senior Associate Professor, SASTRA University, Thanjavur (TN) India. He obtained B.E (Computer and science Engineering) in Bharathidasan University and then finished M.Tech (VLSI design) in SASTRA university. He has published more than 20 papers in various fields in Computer Science. Authors’ information M. Shobana obtained the degree of B.Tech (Computer Science and Engineering) in SASTRA University, India. She is currently Pursuing M.Tech (VLSI Design) in SASTRA University, Thanjavur (TN), India. She is interested in the area of cryptography and steganography. P. Gitanjali obtained the degree of B.Tech (Information Technology) in Trichy Anna University, India. She is currently pursuing M.Tech (VLSI Design), SASTRA University, Thanjavur (TN), India. She is interested in the area of cryptography and steganography. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 908 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 An Optimal Architecture for Dynamic Web Service Discovery and Selection Abdallah Missaoui Abstract – The composition of a set of Web services is an important aspect of Web services technology. This allows solving several types of problems by combining available services elementary and ordering them to best meets the requirements of problems. Automatic composition gives us flexibility of selecting best candidate services at composition time satisfying QoS requirements; This would require the user to define constraints for selecting and composing candidate Web services. In this paper, we present QoS broker - based architecture for web services. From the model architecture which allows the management of QoS that we have previously proposed, we focus on how we can use web service with a technique supporting QoS under dynamic web service composition. The main goal of the architecture is to support the client in selecting web services based on his/her required QoS. We also present an efficient method to predict QoS of Web service and to select the suitable web service based on the consumer’s requirements along with QoS. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Web Service, Architecture, QoS, Neuro-Fuzzy integrating QoS criteria and also the functional requirements. Also, we present a technique for dynamic composing services integrate the qos management’s and ameliorate service providers’ selection. The rest of this paper is organized as follows. Section 2 presents basic concepts of Web service. Section 3 presents some related work. Section 4 discusses extensions to Web service standards for QoS management. In section 5, we describe our proposed Web Service architecture for dynamic web service discovery. Section 6 proposes a method to predict the QoS value by using neuro-fuzzy model. Section 7 closes the paper with contributions and future work. Nomenclature QoS µM Q wk Quality of service Membership function (MF) A vector of QoS feedbacks The weighting factor I. Introduction The increasing number of Web service providers has encouraged research in service description and discovery. All clients of Web service need tools to search for appropriate services all over the world. This poses challenges not only in discovery process but also in assuring good-quality information for published services. Universal Description, Discovery and Integration is a platform-independent, Extensible Markup Language (XML)-based registry by which businesses worldwide can list themselves on the Internet, and a mechanism to register and locate web service applications. However, UDDI supports Web service description, selection and discovery based only on functional properties. Thus, consumer requirements may include functional properties of Web services but also nonfunctional properties. Therefore, the discovery process depends on the capability to define and to match QoS information’s and demands, in addition to functional properties. This paper describes an architecture model of web service which insures the quality of the invoked services. This model proposes a new method for predict qos information’s of Web service providers and new methods for publication and discovery of the web service II. Web Services A Web service is an electronic service identified by a URI (Uniform Resource Identifier). XML (eXtensible Markup Language) [1] standards are used to specify service interfaces and to invoke services through the Web. Web service technology comprises three basic standards: • Web Services Description Language (WSDL): A service interface definition is an abstract or reusable service definition that may be instantiated and referenced by multiple service implementation definitions. Think of a service interface definition like an IDL (Interface Definition Language), Java interface, or Web service type. This allows common industry standard service types to be defined and implemented by multiple service implementers [2]. • Universal Description Discovery & Integration Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 909 Abdallah Missaoui (UDDI) [3] offers a service registry that supports the publication and discovery of service providers, the Web services they make available and the technical interfaces that service consumers may use to bind and interact with the services. • Simple Object Access Protocol (SOAP): The messaging protocol currently used by web services is SOAP. SOAP is designed to enable separate distributed computing platforms to interoperate [4] The actual and well established model of service web architecture (Fig. 1) is composed of three principal entities [5], [6], [7]: • The service provider: it answers to the demand and return the request results. The provider describes the service by a WSDL file which represents the provider interface and must be published in registers of type UDDI; • The registers UDDI: they permit to reference the service. The register is organized according to six types of data; • The service requestor: This is any consumer of the web service. The requestor invokes an existing web service by opening a network connection and sending an XML-SOAP. The second theme treats the quality attached to the cost and the management of the configuration [11]. The provider must assure the transactions and guaranty the operations. Many researches [12], [13], [14] have studied QoS issues to improve two processes of discovery and selection of services. Several QoS-aware web service selection mechanisms have been developed in recent years in order to perform the web service composition and to improve performance applications based on services. This mechanisms’ main objective is how to properly select a set of providers that most satisfy the constraints defined by the user in his business processes. Menascé studies the problem of finding services that minimize the total execution time. It presents an optimized heuristic algorithm that finds the optimal solution without exploring the entire solution space. The solution provided in [15] covers only the important case of execution constraints but not all QoS properties. Pfeffer proposed a fuzzy logic based model for representing any kind of non-functional service properties. This representation of user preferences enables the fast evaluation of the requested service composition by a fuzzy multiplication of the service composition properties. Thus service composition’ properties are measured during or after execution [16]. III. Related Work IV. For all web services, it’s essential to be able to specify the request of the QoS before the invocation of the web service mostly for the applications in the domain of Ebusiness. These requirements of QoS can be classified under many themes according to their context. The quality of service covers many functions for the working of web service such as the execution time, availability, security and the transactions. In the following section, we will define the different aspects of QoS by arranging them by theme. The first one concerns the quality of service attached to the execution time. Many studies have been interested to this type of quality of service [8], [9], [10]. These qualities act directly on the operations progress and determine the execution time. They include availability, accessibility (it can be expressed like a probability measure denoting the success rate or the chance of a successful instance of service to a point in time), the treatment capacity, the performance (it is evaluated by a measure of the execution speed of a request from the service which depend on the execution time and the latency time) and the robustness. discovery Service consumer Service registry binding Quality of Service Constraint QoS is a grouping of some non-functional characteristics. QoS publication helps selection between services with the similar functionality. The publication of QoS properties enables service composition based on QoS. They also make possible the evaluation of alternative execution paths for process adaptation. Additionally, QoS can be used as a basis for cost models that drive process optimization. Moreover, QoS prediction helps attaining quality levels expected by consumers. It also allows customers to detect problems, accommodate change and balance cost/performance ratios. Table I defines main QoS attributes [11], [13], [17]. Most of the works presented in section 3 do not consider performance evaluation of web services and scalability issue while the number of clients is continuously increasing and their requirements are always changing. In the next section, we present the design of the proposed QoS broker-based architecture. We describe the new process of Web service selection and the QoS verification and certification functions. publication V. Architecture Description The control and the management of the attributes of the service quality help to assure the good progress of the operations, and to reach the levels of QoS required by the consumers and consequently, we maximize the profits. Besides the traditional functionalities of services, the description and the publication of QoS, allows the consumer to choose the more suitable provider. Service provider Fig. 1. Web service architecture Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 910 Abdallah Missaoui QoS Attribute Response time Availability Concurrency Accessibility Throughput Reliability Price Security Level TABLE I WEB SERVICE QOS CRITERIA Description The interval between a user-command and the receipt of an action, result, or feedback from the service; Availability is the percentage of time that a service is available for use; Represents the maximum ability to support concurrent transactions; Accessibility represents the degree that a system is normatively operated to counteract request messages without delay; It means the max number of services that a platform providing Web services can process for a unit time; Reliability is the quality aspect of a Web service that represents the degree of being capable of maintaining the service and service quality. The number of failures per month or year represents a measure of reliability of a Web service; Represents the money that the customer should pay for this service. It is always associated with the value of the service’s functionality, i.e. The more a service costs, the more complicated functions it provides; Represents the security level of a service. It includes the existence and type of authentication mechanisms the service offers, confidentiality and data integrity of messages exchanged, nonrepudiation of requests or messages, and resilience to denial-of-service attacks. • The selection system: a list of services will be received by this system from the UDDI registers; the role of the selection system is to classify the services according to their qualities asked by the consumer. • The certification system: its role is to predict or verify the QoS declarations given by the supplier. • The requests filter: it analyses the received requests and extracts all tags of the document. • The interface filter: it examines the received files WSDL and extracts all QoS tags of the document. Web services need to be defined in a consistent manner so that they can be discovered by and interfaced with other services and applications. The Web Services Definition Language (WSDL) is a W3C specification providing the foremost language for the description of Web service definitions. Its define services as collections of networks endpoints or ports. B. Chan proposes to extend the WSDL with an optional attribute in order to control the level of QoS. The extension enables the system to support partial request satisfaction by a priority attribute controlling the priority of WSDL-Request and the corresponding subrequest. By exploiting the studies of Chan, the service supplier sends the WSDL file for his publication to the UDDI register. This WSDL file contains in addition to the basic tags, a new tag describing the features and the specifications of the QoS offered [18]. Before treating this by the interface filter, the system of certification verifies the declarations of QoS given by the supplier. Once the service is registered, it can be invoked by all the clients. On the other hand, the SOAP request sent by the customer is a request proposed by KangChan Lee and al [19]. It integrates requests concerning quality in addition to functionalities. This request will be analyzed and sent to the UDDI register that answers by a file containing the list of the services without any classification. Next, the system of selection makes an association between the requests concerning quality of service and the available demands. Such analysis will be made in the database using XQuery requests [20]. It classifies the services found according to an order: The services that answer the user's requirements better will be classified as the first. The services that don't assure the quality of service or that doesn't answer to the required demands will be eliminated. Finally, the system sends a SOAP answer to the consumer. The customer of service uses the web services applications. The quality of service requested by him is a combination of qualities and proprieties of service. We propose a web service architecture that takes into account the management of the service qualities based on the present functional standards. The addition of a new layer between the classic registers UDDI on the one side and the supplier and the consumer of service on the other side, permits the management of the qualities and improves the process of web services selection. This new layer allows keeping the present registers UDDI. This layer contains four systems to communicate with the three entities which are the provider, the client and the registers. We will take among the two following scenarios: • The publication of the web services and thereafter the discovery and the invocation according to the classic methods using the present standards but without assuring the QoS; • The publication of the service with the proposed QoS and the discovery according to the functional and non-functional aspects of the services. For the present web services architecture, the problem resides in the difficulty to modify this architecture to support the QoS. We propose to add a system that will communicate by itself with the different entities (supplier, consumer and UDDI registers) by assuring the QoS management while keeping the functional present methods. It allows publishing the web services with or without the management of QoS in the same UDDI register. The proposed architecture present new entities: Fig. 2. Extended Web service architecture Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 911 Abdallah Missaoui VI. We assume that the fuzzy inference system under consideration has n inputs Q1, Q2,…,Qn (which are one service attributes). Each input has five linguistic terms, for example, the input Q1 possesses the terms {M11, M12,…,M15}. For each input Qi, we have defined linguistic expressions Li={Very Poor(vp), Poor(p), Medium(m), Good(g), Very Good(vg) } The common fuzzy if-then rule has the following type: Rule 1: If (Q1 is M11) and (Q2 is M21) and … and (Qn is Mn1) then f1(Q1, Q2,…, Qn) We denote the output of the ith node in layer k as Ok,i. Figure 4 shows the schematic diagram of the ANFIS structure, which consists of five layers. Evaluation for Quality of Service The core idea of this certification system is that participating Web service is able to evaluate each other on the basis of evaluating results to produce scoring rate for consumer and provider as well as QoS reports. Certification system is able to exploit the QoS reports processed by the QoS prediction algorithm, which act as a decision-making criterion. In order to predict the quality of service of a set of web services, we collected the real delivered value of QoS feedbacks of response time for a certain service over a time period, then we use these data to predict its future quality performance, and in conjunction with service ranking and selection to discover the best suitable Web service for service consumer. The service Quality is defined as Qij. Where i is the non-function property of Web service and j is the time at which the service quality data are acquired. For example, we suppose that Q1={Q11,Q12,…,Q1P} is a vector of QoS feedbacks of response time for a certain service over a time period We aim to solve the selection of web services in a global and flexible manner by introducing a neuro-fuzzy way. For this purpose, we have developed a neural-fuzzy system based on the Sugeno Approach [21]. This is known as the ANFIS (i.e., Adaptive Neuro-Fuzzy Inference Systems) [20]. We assume that semantic matchmaking has taken place to identify functionally equivalent services. When several of them are available to perform the same task, their quality aspects become important and useful in the selection process [22]. An ANFIS is a multi-layered feed forward network, in which each layer performs a particular task. The layers are characterized by the fuzzy operations they perform. Figure 4 describes the global architecture of this neuralfuzzy system. It shows a n-input, type-5 ANFIS. Two membership functions are associated with each input. Layer 1: Every node i in this layer transform the crisp values to a fuzzy one: O1,i M1i Q1 for i 1, 2,...,5 and O1,i M 2 i Q2 for i 1, 2,...,5 and, …, and O1,i M ni Qn for i 1, 2,...,5 where QK is the input to node K and Mki ( k 1,...,n and i 1,...,5 ) is a linguistic label (very poor, poor, fair, good, very good) associated with this node. In other words, O1,i is the membership grade of a fuzzy set: M M11 ,...,M15 M 21 ,...,M 25 ... M n1 ,...,M n5 and it specifies the degree which the given input QK ( k 1,...,n ) satisfies the quantifier M. We use the following generalized Bell function as the membership function (MF): 1 M Q 1 Q ci ai 2bi where ai, bi and ci are the parameters set of MF. The bell-shaped function varies depending on the values of these parameters where the parameters a and b vary the width of the curve and the parameter c locates the center of the curve. The parameter b should be positive. The parameters in this layer are referred to as premise parameters. Fig. 3. Evaluating QoS of Web service Layer 2: Every node in this layer is a fixed node labeled ∏. The weighting factor, wk, of each rule is calculated by evaluating the membership expressions in the antecedent of the rule. This is accomplished by first converting the input values to fuzzy membership values by utilizing the input membership functions and then applying the and operator to these membership values. Fig. 4. Anfis Network Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 912 Abdallah Missaoui The and operator corresponds to the multiplication of input membership values: approach that reduces the complexity of matching user requests according to the specified functional and QoS properties. This model can be seen as a contribution towards a more complete solution for web service composition integrating fully QoS features. O2 ,i wi M1i Q1 M 2 i Q2 ... M ni Qn Each node output represents the firing strength of a rule. Layer 3: Every node in this layer is a fixed node labeled N. The function of the fixed node is used to normalize the input firing strengths: References [1] [2] wi O3,i wi n i 1,...,n [3] wj j 1 [4] [5] Layer 4: Every node in Layer 4 is a parameterized function, and the adaptive parameters are called “consequent parameters”. The node function is given by: O4 ,i wi fi wi p1i Q1 p2i Q1 ... pni Q1 pni 1 [6] [7] Layer 5: The single node in this layer is a fixed node labeled ∑, which computes the overall output as the summation of all inputs: [8] [9] n n O5 ,1 wi f wi f i 1n i 1 wi [10] i 1 [11] [12] Thus, the ANFIS network is constructed according to the TSK fuzzy model. This ANFIS architecture can then update its parameters according to the backpropagation algorithm [23], [24]. This algorithm minimizes the error between the output of the ANFIS and the desired output. The QoS value was predicted using the neuro-fuzzy method, whose input parameters were the evaluation values of one QoS-property for a certain service over a time period. It allows automating the selection process in the dynamic composition of services. [13] [14] [15] [16] [17] VII. Conclusion [18] The integration of the QoS properties is necessary for the realization of the web service technology. Due to the increasing reputation of Web services technology and the potential of dynamic service selection, several service providers are now providing similar services. QoS is a decisive reason to distinguish functionally similar Web services providers. The main problem of current selection process is the nonexistence of a tool that considers QoS properties for the web service selection. In this paper, we propose an [19] [20] [21] [22] Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved W3C. Extensible markup language (xml) 1.0 (second edition). http//www.w3.org/TR/2000/REC-xml-20001006.2000. E. Christensen, F. Curbera, G. Meredith, S. Weerawarana: Web Services Description Language (WSDL) 1.1,15 March 2001. http://www.w3.org/TR/wsdl. D. Beringer, H. Kuno, and M. Lemon: Using WSCL in a UDDI Registry 1.02, UDDI Working Draft Technical Note Document, May 5, 2001. http://www.uddi.org/pubs/ wscl_TN_forUDDI_5_16_011.doc. Soap specifications. http://www.w3.org/TR/soap/. S. Weerawarana and al., Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WSReliable Messaging, and More, Prentice Hall, 2005. Li, B., Zhang, X., Zhu, J., Design and implementation of a selfadaptive workflow management framework based on BPEL, (2012) International Review on Computers and Software (IRECOS), 7 (6), pp. 3251-3261. N. Kakanakov, M. Shopov, I. Stankov, G. Spasov, Web Services and Data Integration in Distributed Automation and Information Systems in Internet Environment, (2006) International Review on Computers and Software (IRECOS), 1 (3), pp. 194-201. M Alrifai, T Risse, W Nejdl, A hybrid approach for efficient Web service composition with end-to-end QoS constraints, ACM Transactions on the Web (TWEB), 2012. Q Tao, H Chang, C Gu, Y Yi, A novel prediction approach for trustworthy QoS of web services, Expert Systems with Applications, Elsevier, 2012. Z. Zheng, H. Ma, M. R. Lyu and I. King. QoS-Aware Web Service Recommendation by Collaborative Filtering, IEEE T. Services Computing, pp. 140-152, 2011. D.A. Menasce, “QoS issues in Web services”, IEEE Internet Computing, 2002. D Guinard & all, Interacting with the soa-based internet of things: Discovery, query, selection, and on-demand provisioning of web services, Services Computing, 2010. S Wang, Q Sun, F Yang, Towards Web Service selection based on QoS estimation, Journal of Web and Grid Services, 2010. M Alrifai, D Skoutas, T Risse, Selecting skyline services for QoS-based web service composition, conference on World wide web, 2010. D. A. Menascéa, E. Casalicchiob, V. Dubeyc, “On optimal service selection in Service Oriented Architectures”, Performance Evaluation Journal, Elsevier, 2009. H. Pfeffer, S. Krüssel, S. Steglich, “A Fuzzy Logic based Model for Representing and Evaluating Service Composition Properties”, the Third International Conference on Systems and Networks Communications, 2009. Y. Zhang, Z Zheng, MR Lyu, Wsexpress: A qos-aware search engine for web services Web Services (ICWS), 2010. Chan, B.Y.L. Ng, V. Chan, S., Quality guarantee for WSDLbased services. Computer Supported Cooperative Work in Design, 2005. Kangchan, L., Jonghong, J., QoS for Web Services:Requirements and Possible Approaches. W3C Working Group Note, 2003 Boag, S., XQuery 1.0: An XML Query Language, http://www.w3.org/TR/xquery/ O. Nelles, A. Fink, R. Babuka, M. Setnes, “Comparison of two construction algorithms for Takagi-Sugeno fuzzy models”, International Journal of Applied Mathematics and Computer Science, pp. 835–855, 2000. H. Boudouda, H. Seridi, Hybrid Algorithm for Unsupervised Automatique Classification, (2008) International Review On Computers and Software (IRECOS), 3 (3), pp. 296-301. International Review on Computers and Software, Vol. 8, N. 4 913 Abdallah Missaoui [23] JSR. Jang, ANFIS: Adaptive-network-based fuzzy inference system, Systems, Man and Cybernetics, IEEE Transaction, 1993. [24] P. Werbos. “The roots of the backpropagation: from ordered derivatives to neural networks and political forecasting”. John Wiley and Sons, Inc, New York, 1993. Authors’ information LR-SITI-ENIT, Tunis, Tunisia. Abdallah Missaoui was born in Tunisia. He received the Phd. degree from the National School of Engineer of Tunis (ENIT- Tunisia), in 2011. He is currently an Assistant Professor in the department of Computer Science at ISI medenine (ISImed) and member of SITI Laboratory (LR-SITI-ENIT). His research interests include Web services, formal method, formal verification, model checking, Petri nets, quality of service. E-mail: abdallah.missaoui@enit.rnu.tn Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 914 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 The Implementation of Plagiarism Detection System in Health Sciences Publications in Arabic and English Languages K. Omar, B. Alkhatib, M. Dashash Abstract – There are many available algorithms for plagiarism detection in natural languages. Generally, these algorithms belong to main categories including plagiarism detection algorithms which is based on fingerprint and also plagiarism detection algorithms which is based on content comparison that contains string matching and tree matching algorithms. Available systems of plagiarism detection usually use specific types of detection algorithms or mixture of detection algorithms to achieve effective detection systems (fast and accurate). On rhetorical structure theory a system for plagiarism detection in Arabic and English health sciences publications has been developed using Bing search engine; Conclusion, all health sciences manuscripts should be tested through plagiarism detection system before accepting them for publications. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Health Sciences Plagiarism, Natural Language Processing, Plagiarism Detection Nomenclature R.S.T. cue-phrases II. Rhetorical structure theory The sentences connectors I. Related Work Plagiarism detection algorithms are classified into fingerprinting algorithms which generate code for each file that identify only one file. There are several ways to generate the fingerprint, and the most famous fingerprint algorithm is winnowing [3], and the most effective fingerprint algorithms which based on sentences fingerprints [4], and there is a fingerprints algorithms basing on popular attribute counting techniques for files [5]. And Content comparison algorithms which include string matching and tree matching algorithms. In string matching algorithms have some weakness points, and the most important one is “split match problem”[6]. This problem occurs when the algorithm try to determine the shortest string length to match when comparing between string series in files, where appropriate value of this parameter in programming code files is (20-10) words. In the case of natural languages texts, the appropriate value is (6-4) words. In Tree matching algorithms, the main idea of these plagiarism detection algorithms is to analyze text files and constructing trees representing these files and then comparing between these trees to detect plagiarism [7], [8], [9]. There is a new approach for plagiarism detection suing fuzzy information retrieval but this approach required a lot of text pre-processing before applying it (corpus collecting and stemming) [10], and the new approaches of plagiarism detection use text mining Techniques [11], [12]. Introduction Plagiarism is the process of reusing ideas or writings of a person or several persons by others, without referring to the source of information [1], [2]. Research related to plagiarism detection has been started in the seventies of the last century. Several algorithms and methods have been designed to determine the unusual similarities between student’s assignments. Recently efforts of researchers in natural languages processing tended to determine the similarities between natural languages texts. However, it is not an easy task because of the ambiguity in natural languages and the unconstrained vocabulary size in natural languages. This study aimed to investigate a new method for plagiarism detection algorithm in both Arabic and English languages. The ambiguity in most natural languages texts, especially in Arabic language that the absence of diacritics in Arabic text cause a lot of problems when analyzing the texts morphological analyzing, in addition the absence of punctuation mark which are important and essential for defining the natural and logical boundaries of text sentences, and the absence of punctuation marks lead to problem in determining the sentences boundaries correctly. This paper will present proposed method, system design and implementation, tests and results, discussion, conclusion and discuss future work. III. Proposed Method for Plagiarism Detection The theory of rhetorical structure (R.S.T.) was Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 915 K. Omar, B. Alkhatib, M. Dashash adopted in our plagiarism detection method which splits the text into units connected with each other and keep the text homogenous [13], [14], [15], [16]. Where this theory aims to keep the semantic meaning in the text in natural language processing. The following table contains Rhetorical relations in the English and Arabic languages. “[The measurement of quality of life plays an important role in medicine]1,[ because quality of life is a substantial factor for health and wellbeing]2.” The expression “because” generates causal relation between first clause and the second one. TABLE I RHETORICAL RELATION IN ARABIC AND ENGLISH [13] Rhetorical Name in English Relation ﺷﺮط Condition ﺗﻔﺴﯿﺮ Interpretation ﺗﻌﻠﯿﻞ Justification اﺳﺘﺪراك Recalling ﺗﻮﻛﯿﺪ Confirmation ﻧﺘﯿﺠﺔ Result ﺗﻤﺜﯿﻞ Example ﻗﺎﻋﺪة Base ﺗﻔﺼﯿﻞ Explanation ﻋﻄﻒ Joint “[If indeed everybody experiences ‘their’ quality of life somewhat differently]1,[ then it is impossible to generalize the term and evaluate individual life situations according to the same criteria]2.” The expression “if...Then.” generates conditional relation between the first clause and the second In the following there are some examples of relations in Arabic and English languages: The relations in Rhetorical structure theory are generated by connectors which called cue-phrases , as each connector generates a specific type of relation between clauses, and connectors form logical sentences and clauses boundaries in Arabic and English texts. We will use Rhetorical structure theory for Arabic and English texts segmentation based on the existing cuephrases in Arabic and English, by using regular expressions in Java programming language. Table II contains the most important connectors in Arabic and English texts [15], [17], [18], [13]. (”]ﻨﺴﺘﻨﺘﺞ أن ﻗﯿم ﺘﻌداد اﻟﻤـﺴﺘﻌﻤرات اﻟﺠرﺜوﻤﯿﺔ اﻟﻌﺎم )ﺒﺎﻵﻻف ] أي أن،[1ﺒﻌد ﺘطﺒﯿق اﻷوزون أﺼـﻐر ﻤﻨﮭـﺎ ﻗﺒـﻞ ﺘطﺒﯿﻘـﮫ اﻷوزون أدى إﻟﻰ ﺘﻨﺎﻗص ﺘﻌداد اﻟﻤﺴﺘﻌﻤرات اﻟﺠرﺜوﻤﯿﺔ اﻟﻌـﺎم ﻓـﻲ ” 2[ﻋﯿﻨـﺔ اﻟدراﺴـﺔ اﻟﻤﺨﺒرﯿﺔ There expression “ ”أي أﻧﮫgenerates interpretation relation between the first clause and the second one. TABLE II ARABIC AND ENGLISH CUE-PHRASES [16] “]وھﻨﺎ أﯿﻀﺎ ﻻ ﺒد ﻤن اﻹﺸﺎرة إﻟﻰ ﻀرورة إﺠراﺀ ﻋﯿﻨﺔ دﻤوﯿﺔ ﻤﺄﺨوذة ﻤن ﺸﺨص طﺒﯿﻌﻲ ﺒﺎﻟﺘوازي ﻤـﻊ ﻋﯿﻨﺔ اﻟﻤرﯿض ] و ذﻟك ﻟﻨﻔﻲ وﺠود أﯿﺔ ﻤﺸﻜﻠﺔ ﺘﻘﻨﯿﺔ ﻗد ﺘؤدي إﻟﻰ ﻨﺘﺎﺌﺞ،[1 إن اﺴﺘﺨدام أﻜﺜر ﻤن ﻨوﻋﯿﺔ:] وﺒـﺸﻜل ﻋﺎم ﯿﻤﻜن اﻟﻘول.[2ﻜﺎذﺒﺔ ﻤﺴﺘﻀدﯿﺔ ﻟدراﺴـﺔ اﻟﻤـﺴﺘﻘﺒﻠﺔ اﻟواﺤـدة ﺴوف ﯿﻜﺸف ﻋن ﻏﯿﺎب ]ﻓﻌﻠﻰ ﺴﺒﯿل اﻟﻤﺜﺎل اﺴﺘﺨدﻤﻨﺎ ﻓـﻲ.[3ﻜل ﻤﻜوﻨﺎت ھذه اﻟﻤﺴﺘﻘﺒﻠﺔ GPIIIa / ھذه اﻟدراﺴﺔ واﺴﻤﺘﯿن ﻤﻨﺎﻋﯿﺘﯿن ﻟدراﺴﺔ اﻟﻤﺴﺘﻘﺒﻠﺔ “ [4 GPIIb In the example above unit 4 connects with all units 1, 2, 3 with “example” relation, and units 1, 2, 3 are facts to the unit 4. Rhetorical Relation Name in English ﺑﻞ... ﻟﯿﺲ، ﺑﻞ... ﻻ Not…,but إﻧﻤﺎ... ﻟﻢ But ﻻﺑﺪ If and only if ﻣﺨﺎﻓﺔ أن-ﺧﺸﯿﺔ أن For fear that ﺣﺘﻰ Even so أو ﻻ-أو Or do-or do not أو... إﻣﺎ-وإﻣﺎ...إﻣﺎ This…or وإذا –ﻓﺈذا-إذ When إذن The conclusion is أو Not sure (ﻟﻜﻦ)ﺑﻤﻌﻨﻰ اﻻﺳﺘﺪراك But أم Whether - ﺳﻮف-ﻓـ-...و...وإذا...إذا ﻓﺴﻮف ﻟﺬﻟﻚ If…and if…and…,then Therefore Let us have a look on the following sentences: Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 916 K. Omar, B. Alkhatib, M. Dashash ﻜﻤﺎ ﺘﺎﺒﻌﻨﺎ اﻟﻤرﻀﻰ ﻤن ﻨﺎﺤﯿﺔ اﻟﺘﺤﺎﻟﯿل اﻟﻤﺨﺒرﯿـﺔ ﺤـول اﻟﺠراﺤﺔ وﺨﺎﺼﺔ وظﺎﺌف اﻟﻜﻠﯿﺔ واﻟﻜﺒـد ﻓﻜﺎﻨـت ﻜﻠﮭـﺎ طﺒﯿﻌﯿﺔ . وﻟم ﻨﺠد أي ﻋﻼﻗﺔ إﺤﺼﺎﺌﯿﺔ ﺒﯿﻨﮭﺎ،ًأﯾﻀﺎ ﻣﻄﻠﻮﺑﺎ ﻓﻲ اﻟﻌدﯿد ﻤـن ً ﯿﺼﺒﺢ اﺴﺘﺒدال اﻟﺼﻤﺎم اﻷﺒﮭري ﻤرﻀﻰ اﻟﺘﻀﯿق ﺘﺤت اﻷﺒﮭري اﻟﻤﻨﺘـﺸر ﻤـﻊ ﺼـﻤﺎم أﺒﮭري ﻏﺎﻟﺒﺎ ﻤﻊ ﻨﻘـص ﺘﺼﻨﻊ ﻓﻲ، ً أو ﻗﺎﺼر/ﻏﯿر ﺴوي)ﻤﺘﻀﯿق و اﻟﺤﻠﻘﺔ(ﻟﻜن ﯿﺠب اﻟﺤﻔـﺎظ ﻋﻠﯿـﮫ ﻓـﻲ ﺒﻌـض اﻟﻤرﻀﻰ ذوي .اﻟﻔوھﺔ اﻟﺼﻤﺎﻤﯿﺔ اﻟﺴوﯿﺔ ﻤن ﺨﻼل ﻤﺎ ﺴﺒق ﻨﻼﺤظ اﻷھﻤﯿﺔ اﻟوظﯿﻔﯿﺔ ﻟﻠﻌظم اﻟﻼﻤﻲ وﺘﺄﺜﯿر ﺘوﻀﻌﮫ ﻓﻲ اﻟﺒﻨﻰ اﻟﺘﺸرﯿﺤﯿﺔ اﻟﻤﺠﺎورة وﻻﺴﯿﻤﺎ اﻟطرﯿق اﻟﮭواﺌﻲ اﻟﺒﻠﻌوﻤﻲ اﻟذي ﻗد ﯿﻨﻌﻜس ﻤن ﺜم ﻋﻠﻰ ﺤﯿوﯿﺔ اﻟوظﯿﻔﺔ .اﻟﺘﻨﻔﺴﯿﺔ Fig. 1. Proposed algorithm stages There are three cases of cue-phrases matching: Full match: The names and boundaries of cue-phrases are equal. Right match: The names of cue-phrases and surrounding words from right are equal. Left match: The names of cue-phrases and surrounding words from left are equal. After finishing cue-phrases Comparison, the algorithm also compares between complete segments data (inside text and surrounding words). Three methods have been used for cue-phrases comparisons: 1. Comparing cue-phrase name and Cue-phrase boundaries. 2. Comparing cue-phrases categories and boundaries, in this method the algorithm compares cue-phrase with its synonyms, since there are several cue-phrases generate the same relation, which means that the replacement of any cue-phrase with another of its synonyms does not change the meaning. 3. Comparing cue-phrases without looking at the cuephrase itself, which means that the algorithm only compares the surrounding words, together with pervious and next sentence of the cue-phrases, regardless of the name and category of the cuephrase. It contains the following cue-phrases and the generated relations by them: Relation Nothing Recalling Explanation Sequence Cue-phrase “”وﺧﺎﺻﺔ “”ﻟﻜﻦ “”وﻻﺳﯿﻤﺎ “”وﻣﻦ ﺛﻢ The outcome of the medication treatment can be affected if this medication is taken at the same as other medications. Therefore, your physician needs to know if you are taking any of the following or other medications. It contains the following cue-phrase and the generated relation by it: Relation Justification Cue-phrase “Therefore” The proposed algorithm contained Analysis and Comparison stages (as shown in Fig. 1 above). In the analysis stage, the algorithm detects the cue-phrases in text paragraphs and detecting surrounding words of each cue-phrase, and also detects the complete segments which are: IV. ( “*”,(*),{*},[*]) (Where * refers to any part of text) System Design and Implementation The developed system contains (as shown in Fig. 2 below); Searcher which uses free “Bing” search web service [19], that can store search results into system database, and only return “pdf” and “doc” files format; File downloader which downloads search results from the internet and stores it into system database; Analyzer which analyze files based on rhetorical structure theory; Comparer which can compare between files analyzing data; and Results viewer which show plagiarism detection results. Then for each cue-phrase and complete segment the algorithm stores its pervious and next sentence, and then the algorithm segments the text to sentences according to cue-phrases and complete segments positions. In Comparison stage, the algorithm compares between analyzed data from analyzing stage. The algorithm starts comparing between cue-phrases and complete segments data. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 917 K. Omar, B. Alkhatib, M. Dashash The articles which contained figures and tables were not covered by our algorithm because our algorithm cannot analyze figures and tables. Searcher File downloader VI. In our plagiarism detection algorithm the analysis stage does not need any text pre-processing before analysis stage. In contrast, in other detection algorithms, there is a need for text pre-processing to remove stop words and split long sentences to smaller ones in the case of string matching algorithms. The comparison stage: is characterized by its speed in comparison, as it is faster than all types of plagiarism detection algorithms because it compares between cue-phrases and their boundaries. The advantages of our proposed method for plagiarism detection are: Low complexity: the algorithm need O(N*M) to compare between two files, where N is the number of cue-phrases in the first file, and M is the number of cue-phrases in the second file. The algorithm does not change the structure of the files that compare between them. It keeps the sentences without splitting it or joining it and this helps in reporting showing the results of similarity. The algorithm keeps on the semantic meaning in the text, where it segments the text logically depending on the presence of cue-phrases in the text. The algorithm can compare between Arabic language texts without punctuation marks included in it. The algorithm does not need diacritics in Arabic texts. The segmentation of Arabic and English text using R.S.T. leads to a set of clauses without breaking up or separating the sentences structure. This means when using this theory, we keep the sentence structure which is the main component in the text, where is the semantic meaning exist in the sentence, since the segmentation of the text to separated vocabulary leads to loss of semantic meaning (because each individual word cannot contains semantic meaning). The segmentation of Arabic and English texts using our algorithm (which based on R.S.T.) can be done without the need for the presence of punctuation marks in Arabic texts, as most Arabic texts do not use punctuation marks in correct and accurate way. Dependence on the sentences as an essential component in text comparison is a good solution because the sentence contains much information than separated vocabulary. Analyzer Comparer Comparer Comparer Results viewer Fig. 2. System structure V. Tests and Results The proposed algorithm was tested on a sample of files. About of 1000 public health papers in Arabic and English languages and the source of these papers was the internet by using “Bing” search engine web service (that we integrated it in our system). Two types of cue-phrases comparison algorithms have been used (comparing cue-phrases with all its synonyms, and comparing cue-phrases without taking into account cue-phrases names and categories and depending only on cue-phrase surrounding words and sentences). The second comparison algorithm which is based on cuephrase surrounding words was more effective algorithm for plagiarism detection. This is because it segments the text according to cue-phrases existence and compares between the cue-phrases boundaries words which make the logical beginning and ending of text sentences. The testing shows that our algorithm was effective in detecting plagiarized files on the internet and was more precise and fast in small-sized files (articles less than 2000 words). We evaluated our system by Precision factor: Number of correct plagiarism detection results Precision = The total number of suspected files For English publications, the precision was eighty percent and for the Arabic publications the precision was ninety percent, and this value because of the writing style of the Arabic language that our plagiarism detection algorithm demonstrates that when a person copy any part of text from a paper or article he copy at least one sentence or one clause, and our proposed algorithm found and detected all clauses in texts. This algorithm was more effective for plagiarism detection in Arabic texts because of our algorithm supported Arabic writing style which has the following form: Statement support statements… support statements Discussion VII. Conclusion and Future Work In this study we developed a system to detect plagiarism in both Arabic and English languages using “Bing” search engine. The system which relies on plagiarism detection algorithm is effective and can support both Arabic and English languages. statement Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 918 K. Omar, B. Alkhatib, M. Dashash Through experiment and tests on our plagiarism detection algorithm, we found that this algorithm reduced the un-useful comparison between texts, since it compares only between cue-phrases surrounding words which forms the logical and natural boundaries of text sentences. Future work is required to include semantic web technology in plagiarism detection by using general ontologies such as wordNet [20] and domain specific ontologies such as medical ontology in our system. [15] [16] [17] [18] Acknowledgements This study is supported by Damascus University, Syria. [19] [20] References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] Vinod K.R.,Sandhya.S,Sathish Kumar D,Harani A,David Banji and,Otilia JF Banji , Plagiarism history ,detection and prevention , Hygeia: journal for drugs and medicines, Vol.3-Issue.1-pp. 1- 4, 2011 Kent C. K.، Salim N., Web Based Cross Language Plagiarism Detection, Second International Conference of computational intelligence, Modeling and Simulation, pp. 199 - 204, 2010. Jadalla, A.; Elnagar, A., A fingerprinting-based plagiarism detection system for Arabic text-based documents, Computing Technology and Information Management (ICCM), vol.1, no., pp.477-482, 2012. Jadalla, A.; Elnagar, A., A Plagiarism Detection System for Arabic Text-Based Documents, M.Chau et al.(Eds.):PAISI 2012,LNCS 7299 (Springer-Verlag Berlin Heidelberg, pp. 145153,2012) Intelligence and Security Informatics Lecture Notes in Computer Science. Bin-Habtoor, A. S.; Zaher, M. A., A Survey on Plagiarism Detection Systems, International Journal of Computer Theory and Engineering vol. 4, no. 2, pp. 185-188, 2012. Tachaphetpiboon, S.; Facundes, N.; Amornraksa, T., Plagiarism indication by syntactic-semantic analysis, Asia-Pacific Conference on Communications, pp.237-240, 2007. Kent C. K.، Salim N., Web Based Cross Language Semantic Plagiarism Detection, IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing, pp. 1096-1102 , 2011. Shizhong Wu, Yongle Hao, Xinyu Gao, Baojiang Cui, Ce Bian., Homology Detection Based on Abstract Syntax Tree Combined Simple Semantics Analysis, International Conference of Web Intelligence and Intelligent Agent Technology (WI-IAT), IEEE/WIC/ACM, v(3) pp. 410-414, 2010. El Bachir M. M., Detection of Plagiarism in Arabic Documents, International Journal of Information Technology and Computer Science, vol.4, no.10, pp.80-89, 2012. Alzahrani, S.M.; Salim, N., On the use of fuzzy information retrieval for gauging similarity of Arabic documents, Second International Conference of Applications of Digital Information and Web Technologies, pp.539-544, 2009. Al-Taani, A.T., A new approach to the extraction of multiword terms from arabic texts, (2010) International Review on Computers and Software (IRECOS), 5 (2), pp. 129-133. Orabe Almanaseer, Mohammad Alkhaleefah, Sakha’a Elmanaseer, Business Documents Analysis Using Text Mining Techniques, (2012) International Review on Computers and Software (IRECOS), 7 (4), pp. 1663-1677. Al-Sanie, W., Touir A., Mathkour H., Towards a Rhetorical Parsing of Arabic Text, Proceedings of the International Conference on Computational Intelligence for Modeling, Control and Automation and International Conference on Intelligent Agents, Web Technologies and Internet Commerce Vol. 02 , pp. 1086—1091, 2005. Taboada, M. & Mann, W. C., Rhetorical Structure Theory: looking back and moving ahead, journal of Discourse Studies, Vol. (8), pp. (423—459), 2006. Mathkour H.,Touir A., Al-Sanea W., Parsing Arabic Texts Using Rhetorical Structure Theory, Journal of Computer Science vol.4, n.9, pp. 713-720, 2008. Iraky K., A Comprehensive Taxonomy of Arabic Discourse Coherence Relations, 1st Taibah University International Conference on Computing and Information Technology AlMadinah Al-Munawwarah, Saudi Arabia, pp. 491—496, 2012. Mathkou H., Member, IAENG, A Novel Rhetorical Structure Approach for Classifying Arabic Security Documents, International Journal of Computer Theory and Engineering, Vol. 1, No. 3,pp. 1793-8201, 2009. Touir A., Mathkour H., Al-Sanea W., Semantic-Based Segmentation of Arabic Texts, Information Technology Journal, vol.7, pp.1009-1015, 2008. Bing, API Basics. [online] Available at: http://www.bing.com/developers/s/APIBasics.html [Accessed 15-October 2011 ]. A. Amine, Z. Elberrichi, M. Simonet, WordNet - Based Text Clustering Methods: Evaluation and Comparative Study, (2009) International Review on Computers and Software (IRECOS), 4 (2), pp. 220 – 228. Authors’ information Damascus University, Syrian Arab Republic. K. Omar, PhD student in Faculty of informatics Engineering, Damascus University, Syria, Master degree in artificial intelligence, Damascus university, Syria. He obtained his Master degree in artificial intelligence about plagiarism detection, and he is currently a PhD student undertaken research on plagiarism detection using semantic web techniques. Eng. Omar is a member of Syrian Scientific Society for Informatics. B. AlKhatib, An associate professor at Damascus University, Faculty of Informatics Engineering, Damascus University, Syria, PhD in Artificial intelligence, France, Director of (MWT , MWS) programs in the Syrian virtual university , Director of the Syrian-COMSATSCOMSTECH IT Centre (SCCITC) Damascus, Syria. He has many international publications related to web data mining, plagiarism detection, natural language processing, and virtual learning. Dr. AlKhatib is a member of Syrian Scientific Society for Informatics. M. Dashash, An associate professor in the Faculty of Dentistry, Damascus University, Syria, Director of Evaluation and accreditation, Ministry of Higher Education, Syria. She has her Doctor of Dental Surgery DDS, from Damascus University, Syria, Master degree in Peadiatric Dentistry Msc, from Damascus University, Syria, PhD in Peadiatric Dentistry, from University of Manchester, United Kingdom, and Membership of the Faculty of Dental surgery, Royal College of Surgeon of Edinburgh MFDS RCS( Ed), from United Kingdom, She has 23 international publications related to dentistry, public health, health informatics, genetics, quality assurance, Medical education, curriculum reform, and electronic databases. Dr. Dashash is a member of the Syrian Dental Association, Alumni Association of University of Manchester, and a member of the Royal College of Surgeon of Edinburgh, United Kingdom Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 919 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Sensitive Information Protection and Recovery Using One to One Compound Mapping N. V. Chaithanya Kumar Reddy1, Diwakar R. Marur2, Vidhyacharan Bhaskar3 Abstract – With rapid developments in software and hardware technology, nowadays documents are scanned and stored in Internet connected systems. Scanned images hold lot of confidential information. It is essential to protect sensitive information like Credit card number, Social security number, Medical reports etc. from unauthorized access. In this paper, a scheme is proposed to protect such images based on visible watermarking and encryption techniques. With this scheme, sensitive information in an image will be made unreadable with mask image using one-to-one compound mapping. The compound mappings are proved to be reversible, which allows for lossless recovery of original images from protected image. The mask image generation is discussed. This work is implemented in MATLAB. Copyright © 2013 Praise Worthy Prize S.r.l. All rights reserved. Keywords: Lossless Recovering, Mask Generation, Multiple Region Masking, One-To-One Compound Mapping, Reversible Mapping, Scrambling driving license, and credit card of an individual has confidential information. Confidentiality protection for such images is really a huge challenge. Many techniques are developed like Encryption, Steganography and Digital Watermarking to protect confidential images. Image encryption is a technique to convert image into unreadable format. On the other side, image decryption retrieves the original image from the encrypted one. The image encryption methods based on spatial domain can be summarized as follows: image scrambling and pixel replacement [1], Arnold transform [2], Baker mapping [3], Logistic sequence [4], and 3D Lorenz sequence [5]. Though these encryption techniques are providing good security level to confidential images, the encryption and decryption of the image may consume more time as well as complex. Steganography is a technique to hide information inside the cover image without attracting the attention of the third party. In steganographyic applications, there are two common methods of embedding: spatial embedding in which messages are inserted into the LSB (Least Significant Bit) [6] of image pixels, and Transform embedding in which a message is embedded by modifying frequency coefficients of the cover image [7]. It is easier to embed a confidential image into the cover image when the size of confidential image is small. When the size of confidential image increases, the complexity of embedding increases and degrades the quality of cover image. Digital watermarking is a technique to embed information into digital media to validate their contents [8], which means embedding of certain specific information about the copyright holder Nomenclature I S M P R W H S A B P Ri PSNR PSNRP PSNRR Original Image (Document image or Confidential image) Sensitive information region Mask image Protected Image Recovered image Width of Sensitive information region Height of Sensitive information region Value of pixel in Sensitive information region Average of surrounding pixel of ‘s’ Value of pixel in Mask image Value of pixel in protected image Random integer matrices Peak Signal to Noise Ratio PSNR of protected image with respect to original image PSNR of Recovered image with respect to original image I. Introduction Due to rapid developments in software and hardware technology, nowadays documents are scanned and stored in Internet connected systems. That scanned images hold more confidential information. Apart from its prevalent usage, there are mere chances for intrusion. A vital loss may occur due to the unauthorized access. For example, scanned copy of tender quotes and agreements of a company, medical report of a patient, and unique identification like social security number, Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 920 N. V. Chaithanya Kumar Reddy, Diwakar R. Marur, Vidhyacharan Bhaskar (company logos, ownership descriptions, etc.) into the media to be protected. Digital watermarking methods for images are usually categorized into two types: Invisible and visible. In visible watermarking method the cover object is taken and the watermark is added on it. Visible watermarks are perceptible to a viewer. In invisible watermarking method watermark is embedded by modifying frequency coefficients of the cover image and invisible watermarks are imperceptible and do not change the visual appearance of images. Embedding of watermarks, either visible or invisible, degrade the quality of the host media in general. A group of techniques, named reversible watermarking [9]–[18], allow legitimate users to remove the embedded watermark and restore the original content as needed, which means that the recovered image is identical to the original image, pixel by pixel. In this paper, a method is proposed to protect sensitive information in an image from unauthorized access based on encryption and visible watermarking techniques. Sensitive information in an image to be protects using one-to-one compound mapping. The mappings are proved to be reversible to recover the original images from protected images. Rest of the paper is organized as follows. Proposed scheme and one-to-one compound mapping is described in Section II. Proposed algorithm and generating mask described in Section III. Experimental results are presented in Section IV, and Section V presents the conclusions. mapping is governed by one-to-one function. If ‘f1’ and ‘f2’ are inverses of each other, then both are one-to-one functions. Here, ‘f1’ and ‘f2’ are inverses of each other if and only if: (f1 o f2)(x) = x, x in the domain of f2 and: (f2 o f1)(x) = x, x in the domain of f1 Let S={s1, s2, s3…, sm}, P={p1, p2, p3…, pm} be two sets. The compound mapping f is governed by a one-toone function Fx with one parameter x = a or b in the following way: p = f(s) = Fb-1(Fa(s)) (1) The compound mapping described by (1) is indeed reversible, i.e.‘s’ can be derived exactly from ‘p’ using the following formula: s =f-1(p) = Fa-1(Fb(p)) (2) Substituting (1) into Fa-1(Fb(p)), we get: Fa-1(Fb(p)) = Fa-1(Fb(Fb-1(Fa(s)))) By reading Fa(s) as a value ‘c’, the right-hand side becomes: Fa-1(Fb(p)) = Fa-1(Fb(Fb-1 (c))) Here, Fb and Fb-1 are cancelled out, to give Fa-1(c). So: II. Proposed Scheme Fa-1(Fb(p)) = Fa-1(c) Sensitive information in an image that has to be protected is found out. Here sensitive regions are assumed to be enclosed in a rectangular region Along with top left corner coordinates regions’ height and width is used to form a key. Based on these details create an image called mask image with randomized colours. By applying mask image on sensitive information region of original image, it protects the image. To apply mask image on to the image one-to-one compound mapping is used. Lossless recovery of the original image is possible using reversible one-to-one compound mapping. If recoverability is not an issue, one can overlay the mask over the sensitive information in an image with an application package like Photoshop. Availability of mask image and key are the two prerequisite to recover sensitive information from the protected image. Thus only a legitimate user is be able to recover the original image from the protected one, which is not possible for and an attacker to do so. II.1. but: Fa-1(c) = Fa-1(Fa(s)) In the above equation, ‘s’ only remains and operators Fa and Fa-1 are cancelled out. Hence, original value can be recovered using corresponding reversible mapping. III. Proposed Algorithm Algorithm I: Protecting sensitive information Input: an image I. Output: protected image P. Steps: 1. Read an image I. 2. Select sensitive information region from I where mask image is to be applied and let it be named as S. Measure height (h), width (w) of S and also note top left corner coordinates which is part of the key that is used for lossless recovery. 3. Generate mask image M using procedure explained in algorithm III. 4. Overlay mask image M on sensitive information region S in an image I by using one-to-one compound mapping. One-to-One Compound Mapping One-to-One compound mapping is used for converting a set of numerical values to another set, such that the respective mapping is reversible [18]. The compound Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 921 N. V. Chaithanya Kumar Reddy, Diwakar R. Marur, Vidhyacharan Bhaskar a. Denote each pixel value in S as s and corresponding pixel in P as p, and pixel in M as b. b. Calculate average ‘a’ of surrounding pixels (i.e., North and West pixels) of s. c. Map s to a new value p: q=259mod 256 = 3) to overcome this issue. Algorithm III: Generating mask image Mask image can be generated in two ways, Type I: a. Generate random integer matrix Ri with the dimension of hw×1 for gray scale image and hw×3 for colour image. Here: p = F(s) = fb-1(fa(s)) Here, fa(s) gives difference between s and a. Let it be ‘d’: i.e., fa(s) = (s ~ a) = d => p = fb-1(d) =d+b (if s > a) =b-d (if s < a and b > d) = 256 + (b-d) (if s < a and b < d) Ri is in the range [0 255] hw is product of height and width of sensitive region S, and if image is: – Gray scale image: a1 a Ri 2 : ahw hw1 5. Set the value of each remaining pixel in P, which is the outside region S, to be equal to that of the corresponding pixel in I. Algorithm II: Lossless image recovery Input: protected image P and key. – RGB image: Output: recovered image R. a1R a Ri 2 R : ahwR Steps: 1. Read protected image P and key. 2. Retrieve information about the masked region in the protected image P from the key supplied. 3. Use the key-information to regenerate the mask image as in the Algorithm I. 4. Recover original image from the protected image using reverse mapping that is explained in the following steps: a. Denote each pixel value in P as p and corresponding pixel in R as s and pixel in M as b. b. Calculate average ‘a’ of surrounding pixel (north and west pixels) of p. c. Recover s from p by setting: a1G a2G : ahwG a1B a2 B : ahwB hw3 The above matrix serves as the secret information which is to be included in key. b. Generate a null matrices M with dimension S. c. Consider each row in Ri as one pixel and fill the matrix M with these pixels in certain order. In this way Mask image M is formed. Order of arrangement has to be preserved at the time of recovery also. The Type I method is very quick to execute but it stores all the values of Ri into key. This increases the key size and it becomes vulnerable to attacks. To increase the security, arrangement order of Ri into M should be complex. Type II: a. Generate random integer matrix Ri with the dimension of N×1 for gray scale image and N×3 for colour image. Here: s = fa-1 (fb(p)) here: fb(p) = (256 – b) + p = c then: s = fa-1 (c) = a + c 5. Set the value of each remaining pixel in R, which is the outside region of protected area, to be equal to that of the corresponding pixel in P. There is a possibility that mapped value may exceed the range of valid pixel values for some values of a, b, c and d. For example, when: Ri is in the range [0 255] and N < 10 If image is: – Gray scale image: a1 a Ri 2 : aN N 1 a=255, b=254, c=5, and d=5 p = b + d = 254+5 = 259 > 255 s = a + c = 255+5 = 260 > 255 it is possible to use the standard modulo technique (i.e., – RGB image: Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 922 N. V. Chaithanya Kumar Reddy, Diwakar R. Marur, Vidhyacharan Bhaskar a1R a Ri 2 R : aNR a1G a2G : aNG a1B a2 B : aNB N 3 5. Algorithm V: Multiple mask recovering Steps: 1. Locate all masked regions in the protected image P with reference of key. 2. Based on identified locations, measure the heights and widths of each individual masked region and starting points of all regions. 3. Compute maximum height H and width W from the above values. 4. Use the key-information to regenerate mask image M as in the Algorithm IV. 5. Based on dimension of masked regions, select set of pixels from mask image and recover original from protected image by using reversible one-to-one compound mapping. The above matrix serves as the secret information which is to be included in the key by considering each row in this matrix as one pixel and the matrix obtained is used as the initial seed pixels to the mask image. b. Generate matrix M with dimension S by using the seed pixels as: i. Find the binary values of a seed pixels and scramble them using circular shift operation. This result in a group of new pixels which are different in colour compared to the seed pixels. ii. The new pixels are used to fill the matrix M. iii. The new pixels will become the new seed pixels and steps i and ii are repeated until matrix M is filled. c. Convert the above matrix into image to form mask image M. In this technique seed pixels are to be stored into key and special a procedure (like scrambling with circular shift) is used to generate mask image, which creates more security and reduces key size. IV. Experimental Results A series of experiments are carried out using MATLAB image processing toolbox. Five test images were used in the experiments. They are shown in Figs. 15, referred to as “Credit Card”, “Medical Report”, “Drivers License”, “Social security”, and “Agreement”, respectively, in the sequel. Fig. 1(c) shows legitimately recovered image from the protected image 1(b). In this the sensitive information Credit Card number is clearly visible as in the original image 1(a). Fig. 1(d) shows illegitimately recovered image from protected image 1(b), which is not identical to the original image 1(a) and sensitive information is not recognizable. The same thing is applicable to remaining test images. Algorithm IV: Multiple regions masking Steps: 1. Locate multiple regions that possess sensitive information in an image I. 2. Based on identified locations, measure the heights and widths of each individual sensitive region and starting points of all regions and store these measured values into key. 3. Find out the maximum height H and maximum width W among the available sensitive regions. 4. Generate mask image M with dimension of HW×1 for gray scale image and HW×3 for colour image (a) using algorithm III. Based on dimension of sensitive regions, select set of pixels from mask image and apply onto sensitive region in an image using one-to-one compound mapping to protect confidential image. (b) (c) (d) Figs. 1. Credit Card image with sensitive information:(a) Original image (b) Protected image (c) Legitimately recovered image (d) Illegitimately recovered image (a) (b) (c) (d) Figs. 2. Medical Report image with sensitive information: (a) Original image (b) Protected image (c) Legitimately recovered image (d) Illegitimately recovered image Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 923 N. V. Chaithanya Kumar Reddy, Diwakar R. Marur, Vidhyacharan Bhaskar (a) (b) (c) (d) Figs. 3. Drivers License image with sensitive information: (a) Original image (b) Protected image (c) Legitimately recovered image (d) Illegitimately recovered image (a) (b) (c) (d) Figs. 4. Social Security image with sensitive information: (a) Original image (b) Protected image (c) Legitimately recovered image (d) Illegitimately recovered image (a) (b) (c) (d) Figs. 5. Agreement image with sensitive information: (a) Original image (b) Protected image (c) Legitimately recovered image (d) Illegitimately recovered image Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 924 N. V. Chaithanya Kumar Reddy, Diwakar R. Marur, Vidhyacharan Bhaskar TABLE II ILLEGITIMATELY RECOVERED IMAGE RESPECT TO ORIGINAL IMAGE PSNR of PSNR of PSNR of Protected Legitimately Illegitimately Image Name image recovered recovered (dB) image image (dB) Credit Card 14.69 Inf 14.70 Agreement 13.33 Inf 12.38 Medical Report 15.45 Inf 15.51 Drivers License 16.80 Inf 16.84 Social Security 12.32 Inf 12.38 No. IV.1. Quality Metrics The quality of the protected image P is measured by the Peak Signal to Noise Ratio (PSNR) of P with respect to the original image I in the following way: PSNR P 255 255 10 log10 m 1 n 1 2 1 P i, j I i, j m n i 0 j 0 (3) With reference of Table II, only legitimate user can recover original image from protected image. A comparison of Type I and Type II algorithms based on key size is tabulated as below: where I(i, j) and P(i, j) denote the pixel values in row and column of the original image and protected image, respectively, and m and n stand for the width and height of the original image respectively. Also, the quality of a the recovered image R is measured with respect to the original image I by Peak Signal to Noise Ratio (PSNR) in a similar way: TABLE III COMPARISON OF TYPE I AND TYPE II BASED ON KEY SIZE Key size in Type I Key size in Type II Image Name (KB) (KB) Credit Card 72 0.244 Agreement 158 0.260 Medical Report 126 0.275 Drivers License 213 0.244 Social Security No. 31 0.244 PSNR R 255 255 10 log10 m 1 n 1 2 1 R i, j I i, j m n i 0 j 0 (4) With reference to Table III, by storing all values of Ri into key, Type I occupies more size compare to Type II and security is more in Type II compare to Type I. where I(i, j) and R(i, j) denote the pixel values in row and column of the original image and the recovered image, respectively. When the two images original and recovered are identical, the denominator of above expression will be zero. For this case, the value of PSNR will be undefined. In Table I and II it will be represented as ‘inf’. When Type I algorithm is followed for mask generation, the PSNR values of the Protected image, Legitimately recovered image and Illegitimately recovered image with respect to original image are tabulated as below. V. Conclusion In this paper, a new method for protecting sensitive information in an image has been proposed based on oneto-one compound mapping. Two types of algorithms proposed for mask image generation. The proposed method can be extended to mask multiple regions. The mask image is formed with different colour pixels, which can prevent illicit recoveries of original images, i.e. without knowing the correct pattern of mask image, recovering original image from protected image is not possible. Experimental results demonstrated the feasibility of the proposed method and the effectiveness of security protection measures. TABLE I ILLEGITIMATELY RECOVERED IMAGE RESPECT TO ORIGINAL IMAGE PSNR of PSNR of PSNR of Protected Legitimately Illegitimately Image Name image recovered recovered (dB) image image (dB) Credit Card 14.49 Inf 14.52 Agreement 12.92 Inf 12.92 Medical Report 15.05 Inf 15.03 Drivers License 16.46 Inf 16.35 Social Security 11.84 Inf 11.85 No. References [1] [2] With reference of Table I, PSNR of legitimately recovered image is “inf”, i.e. legitimately recovered image is identical to the original image. Hence, only legitimate user can recover original image from protected image. When Type I algorithm is followed for mask generation, the PSNR values of the Protected image, Legitimately recovered image and Illegitimately recovered image with respect to original image are tabulated as indicated in Table II. [3] [4] [5] Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Zhang Yan, “The research of image and video encryption algorithm,” Soochow University Master's thesis, pp. 6–16, 2007. Fangyuan Huang, “Image Scrambling Based on Arnold Transforming and Implementation,” Guizhou University (Natural Science Edition), 5th ed., Vol. 25, 2008. Zhao Huaixun, Wang Xiaoran and Zhen MIN, “A Chaotic Image Encryption Algorithm Based On Baker Mapping,” Computer Applications and Software, 7th ed., Vol. 25, 2008. YU Zhinghong, Wang Jingbo, Liu Zhe Zhou, Xu Li,Jiang, chun and Yu Zhezhou, “Video Encryption Method Based On Logistic and Baker Mapping,” Journal of Jilin University (Information Science Edition), 3rd ed., Vol. 26, 2008. Zhu Zhiliang, Zhang Wei and Yu Hai, “MPEG Video encryption algorithm based on Lorenz chaotic system,” Journal of Computer Applications, 12th ed., Vol. 28, 2008. International Review on Computers and Software, Vol. 8, N. 4 925 N. V. Chaithanya Kumar Reddy, Diwakar R. Marur, Vidhyacharan Bhaskar [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] H. Zhang and H. Tang, “A Novel image steganography algorithm against statistical analysis,” Proceedings of the IEEE, Vol. 19, no. 22, pp. 3884-3888, 2007. Katzenbeisser, S. and Petitcolas, “Information hiding techniques for steganography and digital watermarking,” (Artech House Books), ISBN 1-58053-035-4, 1999. F. A. P. Petitcolas, R. J. Anderson, and M. G. Kuhn, “Information hiding—A survey,” Proceedings of the IEEE, Vol. 87, no. 7, pp. 1062–1078, 1999. Y. Hu, S. Kwong, and J. Huang, “An algorithm for removable visible watermarking,” IEEE Transaction on Circuits Systems, and Video Technology, Vol. 16, no.1, pp. 129–133, 2006. Y. Hu and B. Jeon, “Reversible visible watermarking and lossless recovery of original images,” IEEE Transaction on Circuits Systems, and Video Technology, Vol. 16, no. 11, pp. 1423–1429, 2006. B. Macq, “Lossless multiresolution transform for image authenticating watermarking,” European Signal Processing Conference, Tampere, Finland, 2000. J. Fridrich, M. Goljan, and R. Du, “Lossless data embedding— New paradigm in digital watermarking,” Journal of Applied Signal Processing, Vol. 2002, no. 2, pp. 185–196, 2002. M. Awrangjeb and M. S. Kankanhalli, “Lossless watermarking considering the human visual system,” International Workshop on Digital Watermarking, Seoul, Korea, 2003. M. Awrangjeb and M. S. Kankanhalli, “Reversible watermarking using a perceptual model,” Journal of Electronic Imaging, Vol. 14, no. 013014, 2005. J. Tian, “Reversible data embedding using a difference expansion,” IEEE Transaction on Circuits Systems, and Video Technology, Vol. 13, no. 8, pp. 890–896, 2003. H. M. Tsai and L. W. Chang, “A high secure reversible visible watermarking scheme,” Proceedings of the IEEE International Conference, Multimedia and Expo, pp. 2106–2109, 2007. S. K. Yip, O. C. Au, C. W. Ho, and H. M. Wong, “Lossless visible watermarking,” Proceedings of the IEEE International Conference, Multimedia and Expo, pp. 853–856, 2006. T. Liu, W. Tsai, “Generic Lossless Visible Watermarking – A New Approach,” IEEE Transaction on Image Processing, Vol. 19, no. 19, pp. 1224–1235, 2010. Vidhyacharan Bhaskar received the B.Sc. degree in Mathematics from D.G. Vaishnav College, Chennai, India in 1992, M.E. degree in Electrical & Communication Engineering from the Indian Institute of Science, Bangalore in 1997, and the M.S.E. and Ph.D. degrees in Electrical Engineering from the University of Alabama in Huntsville, USA in 2000 and 2002 respectively. During 2002-2003, he was a Post-Doctoral fellow with the Wireless Communications research group at the University of Toronto, Canada. From Sep. 2003 to Dec. 2006, he was an Associate Professor in the Département of Information Systems and Telecommunications at the University of Technology of Troyes, France. Since January 2007, he is a Professor of the Department of Electronics and Communication Engineering at S.R.M. University, Kattankulathur, India. His research interests include Wireless Communications, Signal processing, Error control coding and Queuing theory. He has published 75 refereed Journal papers and 53 Conference papers in various International Conferences. Besides this, he also has around 14 Journals currently under review, and 20 Journals under Preparation. He has also published two text books, one, on “Adaptive Rate Coding for ACDMA Systems”, in January 2011, published by LAP Lambert Publishing agency, Germany, and the other on “MATLAB FOR ALL” in USA in 1998. He has Supervised 3 PhD research scholars, and 33 Masters students. He won Prof. SVC Aiya Memorial Award for Outstanding Contributions in the area of Electronics and Telecommunications in 2012 from Institute of Electronics and Telecommunication Engineers (IETE). He is a Fellow of the IETE. He is also a Senior Member of the IEEE. He won the award for the “Best Academic Researcher” on Jan 31, 2012 from the Association of Scientists, Developers, and Faculties associated with the Techno Form Research and Development Group, Pondicherry. Authors’ information 1 M.Tech Student, Communication Systems, Department of ECE, SRM University, Chennai, India. 2 Asst. Professor, Department of ECE, SRM University, Chennai, India. 3 Professor, Department of ECE, SRM University, Chennai, India. N. V. Chaithanya Kumar Reddy received B.Tech. degree in Electronics & Communication Engg. from Jawaharlal Neharu Technologial University Ananthapur, Andhra Pradesh, India. He is currently pursuing M.Tech. degree in Communication Systems at SRM University, Chennai, India. Diwakar R. Marur received his Bachelor of Engineering in ECE from Thiagarajar College of Engineering, Madurai, India in 1996, and Master of Engg. in Communication Systems from Thiagarajar College of Engineering , Madurai. Since 2000, he is a working at SRM University. He is currently pursuing his doctoral degree under the guidance of Dr. Vidhyacharan Bhaskar. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 926 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Review of Methods of Distributed Barrier Synchronization of Parallel Processes in Matrix VLSI Systems Jamil S. Al-Azzeh Abstract – The problem of barrier synchronization between parallel processes in VLSI-based mesh-connected multicomputers is under consideration. This paper introduces and reviews description of hardware synchronization methods (HSM) in modern microprocessing systems. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: VLSI, Multicomputers, Parallel Processes, Barrier Synchronization, Hardware The primary aim of this procedure is synchronization of starting and finishing moments of parallel threads in special points of control flows called the barriers. Synchronization usually takes significant time of program execution that causes degradation of throughput and performance of the system. Amount of synchronization time in the parallel program can be decreased by equivalence conversion of algorithm [7], but can not be excluded from the algorithm completely. According to that, elaboration of the barrier synchronization methods that allow operative synchronization of program threads in systems with different architectures is actual and important problem. The aim of this article is a review and evaluation of all well known methods of barrier synchronization used in VLSI systems with matrix topological structure as one of the most promising subclasses of on-chip computing systems. In current research methodology of mathematical simulations and combinatorial optimization have been used to evaluate synchronization time and structural complexity of distributed barrier synchronization methods. As our research shows, the main disadvantage of VLSI systems based on discussed synchronization methods is low flexibility associated with the severe restrictions on the allocation of synchronizing branches of parallel program. This disadvantage can be successfully solved using hybrid methods of synchronization. Nomenclature Bn va t' t'' TBS WBS W BS CBS The process of the thread number n execution Activation barrier time Waiting phase time Activation phase time Mathematical expectation of synchronization time Structural complexity of hardware-software subsystem Upper extreme of the structural complexity Combinatorial flexibility of synchronization I. Introduction Nowadays, the level of integration of modern digital microchips allows the implementation of high performance multiprocessors systems with productivity of many full function processing units on one chip [1][3]. Such VLSI systems can perform complex parallel computations with related parts of processes, information and control the interaction provided by the communication environment (CE). In commercial VLSI most popular CE is the system with matrix topological structure which characterized by simple integral implementation [2], [3]. Most important problem in actual performance improvement of mentioned systems is the collective interactions of programs branches that are usually exist in parallel programs. For effective implementation of collective interactions, the communication approach should be elaborated. This will allow an operative interaction of any program threads independently from its allocation in the system even in the case of limited software or hardware resources. One of effective program threads interaction is procedure of the barrier synchronization [4]. The barrier synchronization (BS) is one of the widely spread coordinating procedure included to the main standards of parallel programming [5], [6]. II. The Essence of the Barrier Synchronization Problem The process of synchronization includes sequential phases of waiting and activation [8], [9]. The phase of waiting starts at the finishing moment of the first synchronizing thread, and ends when last thread is executed. The fact is, by completing this phase, the conditions of synchronization are considered to be met. For the following phases, each phase will start immediately after the proceeding one (without counting a Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 927 Jamil S. Al-Azzeh time delay to prepare the condition of synchronization, and ends at the moment of activation of last threads following after the current barrier). The process of interaction of parallel threads of process during the barrier synchronization is illustrated in Fig. 1. Activation of threads B8-B14 (which are usually allocated in different processor units) is correct when all threads B1-B7 (also are usually allocated in different processors) are executed. This process is defined by the activation barrier va , where the time moment t can be called as universal; WBS – is structural complexity of hardware-software subsystem, that implements the method of synchronization in the whole computing system; WBS is upper extreme of the WBS value. corresponds to the waiting phase, and time t corresponds to beginning of activation phase. The time of synchronization (also called as latency) can be evaluated by the sum t t , the value of it is related to the method of synchronization. Well known methods of synchronization are suboptimal because they do not satisfy the criteria 1. They can be classified by many features. There are centralized and decentralized, localized and distributed methods. Centralized methods are determined by synchronization condition that should be checked by one of processing unit of the system that called main processing unit (PU). For each barrier, it may correspond to personal main processing unit [10]-[12]. After meeting the condition of synchronization, the main PU sends appropriate messages (signals) for other PU of parallel computing system. The decentralized method is characterized by an independent verification of synchronization condition by all (or, sometimes some) PU of the parallel processing system [13], [14]. If the control of synchronization condition in the system has been provided by common for all PU; then the device can be called a synchronization processor. The method of synchronization is determined as a localized method [10], [11], [15]-[17], if the same function is distributed between several units of the synchronization model, and is also categorized as distributed method [18]-[21]. Significant decrement of the time of barrier synchronization is achieved by implementing the method of synchronization in hardware, in this context the emphasis of this paper will be done in description of hardware synchronization methods (HSM). During last two decades a wide range of HSM methods has been proposed [10], [11], [15]-[17], [19], [21]-[30]. There are also hybrid (hardware-software) synchronization methods that combine special system utilities with hardware support on the level of standard communication units [12], [13], [31]-[37]. III. Classification of Barrier Synchronization Methods Fig. 1. Interaction of parallel threads of process during the barrier synchronization The method of synchronization can be considered as optimal for the given system, if it guarantees the minimum value of synchronization time for any subset of parallel threads, and a minimum price of softwarehardware implementation of the method. Mathematically, given requirements can be represented as (1): Distributed hardware synchronization methods Distributed and often decentralized Synchronization methods are widely used in the matrix of VLSI systems, since they involve inclusion to the computing system. The specialized s barrier environment is the one that controls the synchronization process. The tree barrier environments that implement the logical "AND" operation [23], [24], [30] have become one of the first to be widespread. Particularly, the elementary barrier environment of CM-5 system [23] is organized in the form of two one-bit binary trees. One of them operates in the waiting phase (waiting tree) and other one in the activation phase (activation tree). Т BS min; CBS max; (1) WBS WBS where Т BS is mathematical expectation of synchronization time; CBS - is combinatorial flexibility of synchronization, and is defined as the ratio of the number of admissible variants of parallel threads allocation to the all number of such variants; when the value of CBS max 1 the method of synchronization Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 928 Jamil S. Al-Azzeh To support parallel barriers in CM-5 systems, a set of concurrent tree environments are used. Each synchronizing environment associated with a particular group of synchronized parallel threads. Any group can be dynamically decomposed in to the smallest groups and vice versa, any groups can be joined to the biggest groups. During decomposition or joining simultaneously decomposition and joining of barrier environments should be provided. The structure of the simplest single-bit barrier synchronization system CM-5 in example of 8-processors configuration is represented in the Fig. 2. However it has some disadvantages. First, the severe restriction in configuration of subgroups of parallel threads; that it is should have a power of 2i , i 1, 2 ,3, and the threads of subgroups should be allocated in units of system to be correspondent to neighboring vertices of the barrier environment ( CBS 1 ). This is the most significant disadvantage of all. Second, increased system dimensions because of the complexity of synchronizing the capacity of barrier protection. Another disadvantage of the described method is complexity of incrementing of the barrier environment during incrementing the system size. Paper [29] introduce a special organization of the matrix barrier environment called multiple disjoint barrier synchronizations (MDBS-network), based on the tree structures of CM-5 system. The MDBS-network is constructed from two single-bit hardware-based trees. First tree (AND tree) implements an operation of pending the completion of parallel threads, the second one (OR tree) performs operation of signaling that result activation of units awaiting the completion of synchronization. MDBS-network provides low synchronization time and has a low hardware complexity ( WBS WBS ). However, using this network requires prior conversion of the parallel program that causes an increment of the program length. To overcome mentioned disadvantage, the MDBS-network according to the [25] proposed to build on the basis of multi-bit trees, with nodes that implement the operation of finding the maximum (max-tree). Unlike to the barrier environment used in the CM-5 systems, the MDBS-trivially embedded in the network topological structure of the system, providing theoretically unlimited scalability. Each unit of the network is a configurable that allows dynamically generates a variety of configuration subtrees for synchronization of arbitrary sub-parallel branches of the network (see Fig. 4). The structure of a unit MDBS network represented in the Fig. 5. It consists of two independent parts (both parts separated in the figure by dotted line). Fig. 2. The structure of elementary barrier environment of computing system CM-5 The waiting tree consists of logical gates "AND”. When activation tree includes duplicator (D), then each processing unit connected to the waiting tree through the flag x will indicate ready condition. This flag is set to the active condition in the moment when PU finishes execution of parallel thread and is set to the passive condition when the process of synchronization has been completed. Synchronization is completed as soon as the signal from the activation tree activates the "go" flag z, which indicates running condition. During decomposition of parallel threads into subgroups, the barrier synchronization environment should be also decomposed into fragments. Decomposition of environment provided by the recommutation of some connections in waiting and activation trees that results the set of unrelated pairs of subtrees. Such kind of decomposition of threads into three subgroups is illustrated in the Fig. 3. Synchronization environment of CM-5 system provides a small synchronization time ( TBS min ) and is characterized by low implementation complexity ( WBS WBS ). & D Subgroup 1 & D & D Subgroup 2 x & D z x PU 1 z PU 2 x & D z x PU 3 z PU 4 x Subgroup 3 & D z x PU 5 z PU 6 x & D z x PU 7 z PU 8 Fig. 3. Decomposition of the barrier environment of CM-5 system into three fragments Fig. 4. Example of subtree configuration in MDBS-network Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 929 Jamil S. Al-Azzeh location of the parallel branches, can easily be embedded into topological model of the system, which allows increasing its dimension. In addition, the MDBS-network provides the same high speed of synchronization ( TBS min ) and low implementation complexity ( WBS WBS ), as a synchronization mechanism of CM5 system. The main disadvantage of MDBS-network is low flexibility because synchronizing branches should be allocated only in neighboring units of the system (each group of branches should occupy a continuous region in the structure of the system). In practice, however, this requirement is often not feasible. On the one hand, during allocation the task in the system often cannot find a continuous region of sufficient size and the task has to devote several subregions of the system. On the other hand, even if the task is assigned to the continuous region (this requirement can be provided by the operating system), it is unknown how the parallel branches of task will be grouped. Another distributed hardware-based synchronization method proposed in the paper [25]. Unlike to the previously discussed synchronization methods of CM-5, T3D, MDBS systems this method does not use a barrier tree-structure environment. The mechanism of synchronization based on the barrier environment with mesh topology, which nodes are related to the operation of "logical AND". The Environment structure of twodimensional n × n mesh is represented in the Fig. 6. The procedure of synchronization in the given environment (see the Fig. 6) includes n-1 sequentially executed phases, where n is the largest of the mesh sizes. In each of these phase provided independent interaction of fours neighbor units through the elements of wired AND logic (joining units into fours neighbors determined by their mesh indices). The interaction between units provided by generation of signals which denote the completion of parallel branches of the program as soon as all four units reach the barrier, then, the signals is distributed into neighboring groups of fours units. Fig. 5. The simplified structure of MDBS-network The upper part provides the distribution of signals in the waiting phase (that's corresponds to the top of waiting tree), and the lower part implements the transmission of signals in the activation phase (activation corresponds to the top of the activation tree). The unit is connected to the waiting tree through the flag of ready condition "x", which is set to the active condition at the moment when parallel thread finished and set to the passive condition after confirmation of the end of synchronization. Confirmation signal connected to the go flag "z" of the activation tree. To configure the trees in the MDBS-network registers the presence of child node (RPCN) and the parent node (RPPN) are used. The resolution of both registers is determined by the maximum number of neighboring units in the system structure (in current case 4 bits registers are used). Bits of RPCN register are set in such way that the i-th bit of the register receives a zero value if the neighbor unit in the i-th direction corresponds to a child node of the waiting tree out; otherwise register receives the value of logical one. Note that if current unit is a leaf of the waiting tree all bits of RPCN register are set to logic one value. Setting bits of RPPN register are defined according to the following algorithm. The i-th bit of the register receives a zero value if the next unit in the i-th direction corresponds to the parent node in the activation tree, otherwise bit values of register are set to the logical one. All values of RPPN register will be equal one only in unit that corresponds to the root of the activation tree. For example, setting logical one in the output of the AND gate number 3 (see the Fig. 5) will allow transmitting the synchronization signal from the waiting tree to the activation tree. The MDBS-network allows overcoming some disadvantages of similar synchronization techniques used in such systems as CM-5, T3D. Particularly, this network does not require the allocation of synchronizing groups strictly according to the topology of the barrier protection branches. The network is dynamically adjusted to the specified Fig. 6. The structure of 2D mesh barrier environment Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 930 Jamil S. Al-Azzeh After receiving the confirmation signal of the completion of the synchronization begins to activate the required modules. Once all the modules will receive a confirmation of the completion of the synchronization, activation of required units starts. Figs. 7 illustrate the order of signals distribution in the 4 4 mesh network ( n 4 ). Four of the interacting neighboring units are connected by thick lines. The arrows show the direction of synchronization signals (logical levels of signals shown above the arrows). This method of synchronization provides short synchronization time. For example, according to the [25], the value of TBS located in the range 1–10 microseconds in the 64x64 dimension of the mesh constructed using 3 nanoseconds delay logical gates). The complexity of the implementation of this method is low and does not depend on the number of units ( WBS WBS ). Main disadvantage of this synchronization method is low flexibility due to the requirement of allocation the groups of synchronized branches of parallel program in rectangular areas of the system ( CBS 1 ). Attempts to overcome this limitation cause a growth of hardware complexity of the barrier cell environment Another disadvantage of this approach is complexity of its implementation for systems of the higher dimensions (cubes, hypercubes). It is possible to note that the synchronization method of MDBS system discussed above more flexible and allows to be implemented in hypercubes systems. IV. Conclusion Analysis of known barrier synchronization methods, used in the matrix of VLSI systems, shows that most of them provides short synchronization time, and satisfies the constraint of the structural complexity. The main disadvantage of these methods is the low flexibility associated with the severe restrictions on the allocation of synchronizing branches of parallel program. Hybrid methods that join hardware and software techniques of synchronization [12], [13], [31]-[37] in most cases avoid these limitations. However, inferior the hardware methods in point of view of synchronization are time. In addition, application of hybrid methods cause a rise messages flow in communication network that, in some conditions can cause the imbalance of the system. Thereby, further studies of the barrier synchronization problem in the matrix VLSI systems, and researches of universal hardware methods of solution are needed. In our point of view the question of parallel-pipelined barrier synchronization in multi-matrix systems based on distributed coordination environment is most promising now. References [1] J. Wu, T. Srikanthan. Fast reconfiguring mesh-connected VLSI arrays / Circuits and Systems, 2004. ISCAS '04. Proceedings of the 2004 International Symposium on Volume 2, 23-26 May 2004 pp. 949-952. Vol.2. [2] Axelrod, T.S. Effects of synchronization barriers on multiprocessor performance / T.S. Axelrod // Parallel Computing. 1986. N3. P. 129-140. [3] Rodrigo Santos, Jorge Santos, Javier Orozco. Scheduling Hard Real-Time Tasks in Multicore General Purpose/ Special Purpose Processors Systems-on-a-Chip: an Energy-Aware Approach. IRECOS, November 2009 Vol. 4. n. 6 "pp. 728-736 [4] OpenMP Application Programming Interface, Version 2.5, May 2005. [5] O’Boyle, M. Compile time barrier synchronization minimization / M. O’Boyle, E. Stohr // IEEE Transactions on Parallel and Distributed Systems. 2002. Vol.13, N6. P. 529-543. [6] Arenstorf, N.S. Comparing barrier algorithms / N.S. Arenstorf, H.F. Jordan // Parallel Computing. 1989. N12. P. 157-170. [7] O’Keefe, M.T. Hardware barrier synchronization: dynamic barrier MIMD (DBM) / M.T. O’Keefe, H.G. Dietz // Proc. Intl Conf. Parallel Processing, August 1990, Urbana-Champaign. Pennsylvania State University Press, 1990. Vol.1. P. 43-46. [8] O’Keefe, M.T. Hardware barrier synchronization: static barrier MIMD (SBM) / M.T. O’Keefe, H.G. Dietz // Proc. Intl Conf. Parallel Processing, August 1990, Urbana-Champaign. Pennsylvania State University Press, 1990. Vol.1. P. 35-42. [9] E. Ilavarasan, P. Thambidurai Genetic Algorithm for Task Scheduling on Distributed Heterogeneous Computing System, (2006) International Review on Computers and Software (IRECOS), 1 (3), pp. 233 – 242. [10] Yang, J.S. Designing tree-based barrier synchronization on 2D mesh networks / J.S. Yang, C.T. King // IEEE Transactions on Parallel and Distributed Systems. 1998. Vol.9, N6. P. 526-533. [11] Patent 7009976 USA, MKI H 04 L 12/56. Method and apparatus for using barrier phases to synchronize processes and components in a packet switching system / Michelson J.E., Williams J.J. (Jr.), Dejanovic T., Fingerhut J.A. (USA). N894201; announced 27.06.01; accepted 07.03.06. [12] Feldmann, A. Subset barrier synchronization on a privatememory parallel system / A. Feldmann, T. Gross, D. O’Hallaron Figs. 7. Distribution of synchronization signals in the mesh barrier environment (а) - initial condition; (b) - phase number 1; (c) – phase number 2; (d) – phase number 3 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 931 Jamil S. Al-Azzeh [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [et al.] // Proc. ACM Symp. Parallel Algor. Architect. (SPAA92) (San Diego, June 29 - July 1 1992). ACM: 1992. P. 209-218. Patent 5434995 USA, MKI G 06 F 15/16, 15/80. Barrier synchronization for distributed memory massively parallel processing systems / Oberlin S.M., Fromm E.C. (USA). N165265; announced. 10.12.93; accepted. 18.07.95. Johnson, T.A. Cyclical cascade chains: a dynamic barrier synchronization mechanism for multiprocessor systems / T.A. Johnson, R.R. Hoare // Proc. IEEE Workshop Mass. Paral. Processing, Intl Paral. Distrib. Processing Symp. (IPDPS-01) (San Francisco, April 23-27 2001). Los Alamitos: IEEE Computer Society, 2001. P. 2061-2068. Sivaram, R. A reliable hardware barrier synchronization scheme / R. Sivaram, C.B. Stunkel, D.K. Panda // Proc. 11 Intl Parallel Processing Symp. (IPPS-97), Geneva, 1-5 April 1997. Los Alamitos: IEEE Computer Society, 1997. P. 274-280. Patent №2280887 Russia, MKI G 05 B 19/18, G06F9/28. Microcontroller network / A.A. Ivanov, Abdel Jalil, I.V. Zotov №2005104065/09; announced 15.02.05; published 27.07.06 Cohen, W.E. An optical bus-based distributed dynamic barrier mechanism / W.E. Cohen, D.W. Hyde, R.K. Gaede // IEEE Transactions on Computers. 2000. Vol.49, N12. P. 1354-1365. Sampson, J. Fast synchronization for chip multiprocessors / J. Sampson, R. González, J.-F. Collard [et al.] // SIGARCH Computer Architecture News. 2005. Vol.33, N4. P. 64-69. Shang, S.S. Distributed hardwired barrier synchronization for scalable multiprocessor clusters / S.S. Shang, K. Hwang // IEEE Transactions on Parallel and Distributed Systems. 1995. Vol.6, N6. P. 591-605. Beckmann, C.J. Fast barrier synchronization hardware / C.J. Beckmann, C.D. Polychronopoulos // Proc. Intl Conf. Supercomputing (ICS-90), Nov. 1990. Los Alamitos, CA: IEEE Computer Society Press, 1990. P. 180-189. Connection machine CM-5 technical summary / Thinking Machines Corp.: Nov. 1992. Cray T3D System Architecture Overview / Cray Research, Inc.: 1993. Delgado, M. A distributed barrier synchronization solution in hardware for 2D-mesh multicomputers / M. Delgado, S. Kofuji // Proc. 3rd Intl Conf. High Performance Computing, Dec. 19-22 1996. IEEE: 1996. P. 368-373. Dietz, H.G. PAPERS: Purdue's adapter for parallel execution and rapid synchronization / H. G. Dietz, T. Muhammad [et al.] // Technical Report TR-EE 94-11, March 1994, School of Electrical Engineering, Purdue University: 1994. Hoare, R. Bitwise aggregate networks / R. Hoare, H. Dietz [et al.] // 8th IEEE Symp. Parallel Distrib. Processing, Oct. 23-26 1996. IEEE: 1996, P. 306-313. Johnson, D. A distributed hardware mechanism for process synchronization on shared-bus multiprocessors / D. Johnson, D. Lilja, J. Riedl // Proc. Intl Conf. Parallel Processing (ICPP-94), August 15-19, 1994. / North Carolina State University. NC, CRC Press: 1994. Vol.2 (Software). P.268-275. Ramakrishnan, V. Efficient techniques for nested and disjoint barrier synchronization / V. Ramakrishnan, I.D. Scherson, R. Subramanian // Journal of Parallel and Distributed Computing. 1999. Vol.58, N8. P. 333-356. Shimizu, T. Performance evaluation of the AP1000 / T. Shimizu [et al.] // FUJITSU Sci. Tech. Journal. 1993. Vol. 29, March. P. 15-24. Patent 6085303 USA, MKI G 06 F 15/16. Serialized race-free virtual barrier network / Thorson G., Passint R.S., Scott S.L. (USA). N972010; announced 17.11.97; accepted 04.07.00. Forsell, M. Efficient barrier synchronization mechanism for emulated shared memory NOCs / M. Forsell // Proc. Intl Symp. System-on-Chip (Tampere, Finland, Nov. 16-18 2004). IEEE, 2004. P. 33-36. Kini, S.P. Fast and scalable barrier using RDMA and multicast mechanisms for Infiniband-based clusters / S.P. Kini, J. Liu [et al.] // Proc. 10th European PVM/MPI Users' Group Conf. (EuroPVM/MPI03) (Venice, Italy, 29 Sep - 2 Oct, 2003). P. 369378. Moh, S. Four-ary tree-based barrier synchronization for 2D meshes without nonmember involvement / S. Moh, C. Yu, B. Lee [33] [34] [35] [36] [37] [et al.] // IEEE Transactions on Computers. 2001. Vol.50, N8. P. 811-823. Olnowich, H.T. ALLNODE barrier synchronization network / H.T. Olnowich // Proc. 9th Intl Parallel Processing Symp. (IPPS95), Santa Barbara, CA, April 25-28 1995. Los Alamitos: IEEE Computer Society, 1995. P.265-269. Sampson, J. Exploiting fine-grained data parallelism with chip multiprocessors and fast barriers / J. Sampson, R. Gonzalez [et al.] // Proc. 39th Annual IEEE/ACM Intl. Symp. Microarchitecture, 2006, MICRO-39, Dec. 2006. IEEE, ACM: 2006. P. 235-246. R. K. Jena, P. Srivastava, G. K. Sharma, A Review on Genetic Algorithm in Parallel & Distributed Environment, (2008) International Review on Computers and Software (IRECOS), 3 (5), pp. 532 – 544. Sun, Y. Barrier synchronization on wormhole-routed networks / Y. Sun, P.Y.S. Cheung, X. Lin // IEEE Transactions on Parallel and Distributed Systems. 2001. Vol.12, N6. P. 583-597. Yumei Ning, Zhenguo Ding, Ping Zeng, Task Allocation Algorithm Based-on Distance in Distributed Adaptive Network Management System, (2012) International Review on Computers and Software (IRECOS), 7 (4), pp. 1938-1942. Authors’ information Dr. Jamil S. Al-Azzeh received his PhD Degree in Computer Engineering from Saint Petersburg Sate University – Russia in 2008. Since 2008, Dr. Al-Azzeh has been an assistant professor in the Computer Engineering Department, Faculty of Engineering Technology, at Al-Balqa’ Applied University. His research interests include image processing. FPGA, digital systems design, network operating system, and Microprocessors. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 932 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Classification of Ultrasound Carotid Artery Images Using Texture Features Dhanalakshmi Samiappan1, Venkatesh Chakrapani2 Abstract – The Cardio Vascular Disease (CVD) is the most fatal disease in the world in terms of deaths. The cardio vascular disease, associated with stroke and heart attack, is mainly caused by the increase in calcium deposition in the carotid artery. The Intima-Media Thickness (IMT) of the Common Carotid Artery (CCA) is widely used as an early indicator of CVD. The risk of CVD varies with age groups and this can be categorized based on the texture pattern of image of the carotid artery. This work presents an automated method to classify the carotid artery abnormalities by determining an appropriate Region of Interest (ROI), extracting the texture features, and calculating the IMT. The Ultrasound specimen image is acquired, intensity normalized, pre-processed to remove the speckle noise and then segmented. The texture analysis for segmented images is done using AM – FM techniques. The instantaneous values of the amplitude and frequency of each image specimen is obtained and it is quantized. It is then compared with the standard texture pattern, to identify whether the artery is normal or abnormal. Simulation results shows significant texture differences between the higher-risk age group of >60 years and the lower-risk age group of <50 and the 50-60 age group. Detecting the level of CVD was done by measuring the IMT. The overall process aims at implementing a fully automated system which helps in avoiding human errors, while measuring these values. The measurement technique is described in detail, highlighting the advantages compared to other methods and reporting the experimental results. Finally, the intrinsic accuracy of the system is estimated by an analytical approach. It also decreases inter-reader bias, potentially making it applicable for use in cardiovascular risk assessment. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Carotid Artery, Intima Media Thickness, Texture Features, Instantaneous Amplitude, Instantaneous Frequency The segmentation of the CCA wall is important for the evaluation of the IMT on ultrasound images. Manual tracing of IMT is time consuming and also leads to limited accuracy and precision due to inter and intra observer variability. Many authors proposed different algorithms for segmentation of Carotid Artery (CA) and for measuring IMT [3]. The Canny technique is an optimal edge detection technique but the increase in the width of the Gaussian kernel reduces the detector’s sensitivity to noise. The increase in Gaussian width increases the localization error in the detected edges. Segmentation process employing watershed transform produces extra contours. Active contour based segmentation has many limitations like initial conditions and curve parameterization [3]. FCM clustering method segments the boundary by classifying image pixels into different clusters but does not consider any spatial information in image context, which makes it very sensitive to noise and other image artifacts [4]. Nomenclature x’ hx hy hθ f(x,y) H2d Mean of estimated value Horizontal derivative filter (matrix) Vertical derivative filter (matrix) Arbitrary angle derivative filter (matrix) Input image Two dimensional hilbert transform operator I. Introduction Over the last few years, image processing has been playing an increasingly important role in many scientific and medical areas particularly in ultrasound imaging [1]. Speckle is a multiplicative noise, having a granular pattern which is the inherent property of ultrasound images. So ultrasound images are treated as textured images and thus texture feature extraction plays a crucial role. The low quality of image influenced by the speckle noise and fuzziness of mass boundaries usually makes the segmentation complicated. Computerized segmentation fails because of a high failure rate of tissue analysis [2]. Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 933 Dhanalakshmi Samiappan, Venkatesh Chakrapani I.1. Common Carotid Artery Intima-Media thickness of the carotid artery is known as Carotid IMT. The tunica Intima is composed of a single layer of flattened epithelial cells with an underlying basement membrane. The tunica media comprises an inner layer of elastic fibers and an outer layer of circular smooth muscle. The tunica adventitia is composed of collagenous fibers. Based on IMT, CA is categorized as normal, abnormal and sub classification of abnormal CA like thickening and plaque can also be done. Reference values of the IMT are the following: Normal: IMT < 1.0 mm; Thickening: 1.0 mm < IMT < 1.3 mm; Plaque: IMT > 1.3 mm. Each carotid artery is characterized by a longitudinal tract called common carotid, after an enlargement known as carotid sinus containing a flow divider, bifurcates into two arteries, one internal and one external. Due to the presence of plaque the blood flow through the artery is reduced which is shown in Fig. 1. Carotid artery disease may not cause signs or symptoms until the carotid arteries are severely narrowed or blocked. II. The Ultrasound AV is acquired using a linear ultrasound probe connected to a Phillips En Visor C ultrasound scanner. The AV is then stored in a PC in AVI format, as received from the ultrasound scanner. The acquired AVI file is then split into constituent frames using MATLAB. This is done using a user defined Simulink Model. The input of the model is the video acquired from the ultrasound device and the output is the constituent frames of the video. The model consists of a constant, a counter, input source, summer, frame splitter and an output device. The number of bits as specified in the counter determine the number frames obtained from the video. The typical range for the number of bits is 10-16. The final block in the Simulink model writes the output images to the current directory of MATLAB as they are obtained in sequential order as shown in Fig. 3. Fig. 1. Cross sectional view of narrowed CA I.2. Ultrasound Carotid Artery Imaging Carotid images are taken by ultrasound equipment working at frequencies ranging from 1 to 20 MHz, and are obtained via a probe that has to be positioned on the patient’s neck. There are two phases to the measurement process: i) Carotid image capturing ii) Thickness measurement. Image quality depends both on operator skill and patient tissue characteristics. The final result of this phase is characterized by very low repeatability due not only to this reason but also to the natural variability of arterial dimensions too. The operator then carries out thickness measurements using a track-ball to select measurement points on the leading edges of the captured ultrasound image. This phase too has low reproducibility and low accuracy mainly due to the poor ability of the human eye [5]. I.3. Image Acquisition Carotid IMT The carotid artery typically has three layers as shown in Fig. 2. The Intima (innermost layer, which is in contact with the bloodstream), the Media (middle layer), and the Adventitia (outer layer). IMT refers to the measurement of the thickness of the two layers, Intima and Media, of the artery. In patients with atherosclerosis, these layers may thicken, reducing the size of the lumen and restricting blood flow. Fig. 3. Block for Converting Video in to Frames II.1. De-Speckling One of the most prevalent noises in Ultra Sound images is the speckle noise. The filter that we use to remove the noise in the image is the KUAN filter, which has been successfully applied to all types of coherent imagery like acoustic imagery, and laser illuminated imagery [5] and has been found to show the best performance [6]. The Kuan filter is developed from the additive noise filter. Correlation properties of speckle are used and a local MMSE (LMMSE) filter is developed using local statistics. For easy numerical computation, LMMSE and MAP speckle filters are also presented for cases when pixel-to-pixel correlation can be neglected. Fig. 2. Carotid IMT Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 934 Dhanalakshmi Samiappan Samiappan,, Venkatesh Chakrapani TABLE I COMPARISON OF SNR FOR DIFFERENT FILTERS Signal to Noise Ratio Filter Types Min (dB) Max (dB) Mean(dB) Median 319.953 319.953 319.953 LPF -0.044 -0.044 -0.044 0.044 -0.044 0.044 Rank Order -44.17 -44.17 -44.17 44.17 -44.17 44.17 Kaun 8.539 33.41 20.975 Frost 10.52 10.52 10.52 Lee 5.443 5.443 5.443 Steer Gauss -61.503 -61.503 8.538 -26.483 26.483 Gauss -9.53 9.53 -9.53 9.53 -9.53 9.53 Wiener -22.05 -22.05 8.538 -11.025 11.025 This occurs when the sampling interval of the speckled intensity image is of the order of the co correlation rrelation length of speckle (image resolution). The image samples can then be assumed to be independent. II II.2. Analysis of the Kuan Filter Kuan [5] assumed an image model which has non nonstationary mean and variance (NMNV). A multiplicative speckle intensity model is used. Assuming no correlation, the LLMMSE filter reduces to a set of scalar equations and the simplified Kuan filter becomes: After the speckle noise is removed from the image using the Kuan Filter, the gradient of the image is obtained. This is done by using the ‘gauss ‘gauss gradient gradient’’ function. It is one of the most common techniques used in m modern odern digital image processing. As an image is a function of two (or more) variables it is necessary to def define ine the direction in which the derivative is taken. For the two two-dimensional dimensional case we have the horizontal direction, the vertical direction, or an arbitrary direction which can be considered as a combination of the two. If we use hx to denote a horizontal de derivative rivative filter (matrix), hy to denote a vertical derivative filter (matrix), and hθ h to denote the arbitrary angle derivative filter (matrix), then: 2 x’LLMMSE= x’ + [[var var(xx) / var( var(x)) + x’’ + vvar ar(x)] )] ((z--x’)) (1) Table able I shows the comparisons bbetween etween different filters. Signal to noise ratio is used for analyzing the best filter to remove the speckle noise without losing the texture patterns. Median filter has the highest SNR when compared to all the other filters but has more intensity information loss as seen in Fig. 4( 4(b) and the texture cannot be well defined using this filtered image. Kaun filter has the better SNR still it preserves the edge and intensity information comparatively as shown in Fig. 4(a) 4(a).. Hence Kaun filter is best used for removing Speckle noise. (2) T The he horizontal gradient can be neglected as it is redundant in the method of processing. processing The vertical gradient is the crucial input for the column column-wise wise computation that is performed performed. The magnitude of the vertical gradient takes large values when there are strong edges in the image. Hence for easy computation it is necessary to normalize the values of the gradient to lie between 0 and 1. III. III Proposed Method for Identification of ROI In earlier methods [[3 3]] to correctly identify the region of interest, morphological considerations were crucial: The fact that the vessel lumen is characterized by pixels with lowlow-intensity intensity and relatively low variance variance,, surrounded by high-intensity high intensity pixels belonging to the carotid walls was exploited. A pixel is considered belonging to the adventitia tunica if its intensity is a local maximum and if at least a pixel belonging to the lumen is located above it. It was observed observed that computing the IMT in one wall of the Common Carotid Artery was sufficient to predict cardiac risks, as it is done in the manual operator method. As a result, one half of the image could be made free of computing. In all standard carotid images tthe he tract of the Carotid Artery lies close to the center of the image. In our study, it was found that the lower half of the image is best suited for computing the IMT, as the Jugular Vein sometimes runs through the upper half of Fig. g. 4(a) (a). Kaun Filtered output image Fig.. 4(b). 4(b) Median Filtered output image Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 935 Dhanalakshmi Samiappan, Venkatesh Chakrapani the image and thus may result in erroneous values. Hence the section of the image containing part of the CCA tract and the near wall of the Carotid Artery is identified as the ROI as shown in Fig. 5. III.2. Measurement of IMT Thickness The most crucial part of the algorithm is to calculate the thickness of the Intima-Media layer, which is critical to predicting the risk of cardiac disorders in patients. The unique characteristic of the artery wall, when compared to others parts of the image, is exploited. The walls of the Carotid Artery have a high intensity and after the computation of the normalized gradient the walls usually have a positive gradient value. It is also important to note that the wall is flanked on both its sides by regions with relatively low gradient values as they are not part of any of the edges. The thickness is calculated for each column of the image. It is best to compute the thickness for a large number of columns in the image (about 100) to iron out any errors in measurement. This is done by taking the average value of all the columns put together. The rate of cardiac risks can be predicted by comparing the value obtained to the values mentioned earlier in this paper. III.1. Contour Segmentation The Dynamic Programming (DP) algorithm is a technique for solving optimization problems where not all variables in the evaluation function are inter-related simultaneously. It has successfully been applied to ultrasonic boundary detection. [2] For the image obtained in the ROI process, local measurements of intensity gradient, brightness below and darkness above are extracted and included as weighted terms in a cost function. Each image point of the search region then gets a specific cost which, in turn, correlates to the likelihood of that point being a part of the IntimaMedia layer. All possible sets of spatially consecutive points are considered and favor is given to that which minimizes the cost function. The optimal points are the ones that minimize the cost function: () C(i) = w1c1(i) + w2c2(i) + w3c3(i-1,i) III.3. Texture Analysis The normalised image is passed to hilbert operator [1] and to a filter bank to produce AM-FM features: fAS(x,y) = f (x,y) + jH2-d f (x,y) (3) (5) f (x,y) denotes the input image and H2d represents the two dimensional hilbert transform operator applied along the columns. The normalised image is given to a filter bank and the output of band pass filter is used to estimate the instantaneous amplitude (IA), frequency (IF). The strong vertical artifacts do not represent texture and in order to avoid the vertical artifacts low pass filter is used. Thus AM-FM features are extracted only for the horizontal frequency axis. The normalisation is done by the following process: (4) where w1, w2, w3 are weighting factors, c1, c2 and c3 are the intensity gradient, brightness below and darkness above cost terms, respectively. By the DP algorithm, the optimal boundary is found without the need for exhaustive search among all possible lines. In our implementation of the DP algorithm it was possible to modify obvious detection errors. This was done by pointing at a correct position in order to force the boundary to pass that point. Using this single point correction technique several points along the boundary could be modified. In this study, the amount of manual interventions required was also low when compared to other detection methods. f ¯AS,i(x,y) = fAS,i(x,y) / | fAS.i(x,y)| (6) f ¯AS,i(x,y) denote the output of the ith filter. In order to verify the results, the mean median and standard deviation of the given image (texture parameters) are also analyzed. Analytical calculations were carried out and the cutoff values were set based on trial and error method. IV. Simulation Results and Discussions Experiments were done using 361 ultrasound carotid artery images, collected from M/s Bharat Scans, Chennai, Tamilnadu, India for analysis and evaluation of the proposed classifier. Studies were done using a MATlab environment –MATlab R2011b on an Intel® Core i3, 2.40 GHZ PC with 3 GB memory. The ultrasound carotid artery image database is created consisting of total 361 images spanning normal and abnormal classes. These samples include 167 normal CA and 194 abnormal CA. Three cases are considered based on the age of the person. Fig. 5. Segmented Image of CCA Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 936 Dhanalakshmi Samiappan, Venkatesh Chakrapani Case I: Age group of less than or equal to 40. Case II: Age group between 40 to 60. Case III: Age group of more than 60. Different texture features [11], [12] are extracted from the speckle noise removed carotid artery image and then compared with the standard reference values to classify the carotid artery. Standard reference values are given in Table II. the peak value is found to be 100 and the minimum value less than 20. Instantaneous frequency is very high and the peaks are found to be at normal intervals and the variations between the peaks are same for a normal carotid artery of age group less than 40. From the Fig. 6(b), it is clear that the real and imaginary part variation follows different and irregular patterns. Instantaneous amplitude graph shows the peak value as 40 and the minimum value as 12. Instantaneous frequency plot shows that the variations between the peaks are different for an abnormal carotid artery of age group less than 40. From the Fig. 6(c), it is evident that the real and imaginary part variation follows the same and regular pattern. Instantaneous amplitude varies rhythmically and the peak value is found to be 120 and the minimum value as 20. Instantaneous frequency is very high and the peaks are found to be at normal intervals and the variations between the peaks are same for a normal artery of age group 40 to 60. TABLE II REFERENCE VALUES FOR THE TEXTURE FEATURES Texture Features Reference Values Mean 30 Median 20 Standard Deviation 25 Instantaneous Amplitude 8 Instantaneous Frequency -0.06 From the Fig. 6(a), it is evident that the real and imaginary part variation follows the same and regular pattern. Instantaneous amplitude varies rhythmically and Fig. 6(a). Pattern of Normal carotid Artery of age group 40 Fig. 6(b). Pattern of Abnormal carotid Artery of age group 40 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 937 Dhanalakshmi Samiappan, Venkatesh Chakrapani From the Fig. 6(d), it is clear that the real and imaginary part variation follows different and irregular patterns. Instantaneous amplitude graph shows the peak value as 15 and the minimum value as 0. Instantaneous frequency plot shows that the variations between the peaks are different for an abnormal carotid artery of age group 40 to 60. From the Fig. 6(e), it is evident that the real and imaginary part variation follows the same and regular pattern. Instantaneous amplitude varies rhythmically and the peak value is found to be 130 and the minimum value less than 5. Instantaneous frequency is very high and the peaks are found to be at normal Sl.No 1 2 3 4 5 6 intervals and the variations between the peaks are same for a normal carotid artery of age group more than 60. From the Fig. 6(f), it is clear that the real and imaginary part variation follows different and irregular patterns. Instantaneous amplitude graph shows the peak value as 15 and the minimum value as 1. Instantaneous frequency plot shows that the variations between the peaks are different for an abnormal carotid artery of age group more than 60. Various texture features like mean, median, standard deviation, IA and IF are analysed for different categories and tabulated as shown below in Table III. TABLE III ANALYSIS OF THE TEXTURE FEATURES EXTRACTED FROM THE PRE-PROCESSED CAROTID ARTERY IMAGES Various Texture features extracted from the Nature of Carotid Category Pre-Processed Images Artery (In terms of Age) Mean Median SD IA Normal Carotid Below 40 Years 28.4781 18.9128 21.7699 7.4641 Artery Between 40 – 60 years 24.9275 8.111 23.3324 7.6131 Above 60 Years 16.7698 1.0311 24.24 5.8 Abnormal Carotid Below 40 Years 34.8568 38.4622 29.095 10.5915 Artery Between 40 – 60 years 54.464 55.76 36.3188 8.8178 Above 60 Years 34.3985 27.3244 41.027 8.556 IF -0.0293 -0.0569 -0.06 -0.0633 -0.0726 -0.1366 Fig. 6(c). Pattern of Normal carotid Artery of age group 40 – 60 Fig. 6(d). Pattern of Abnormal carotid Artery of age group 40 - 60 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 938 Dhanalakshmi Samiappan, Venkatesh Chakrapani Fig. 6(e). Pattern of Normal carotid Artery of age group 60 Fig. 6(f). Pattern of Abnormal carotid Artery of age group 60 TABLE IV COMPARISON OF IMT VALUES FOR MANUAL AND AUTOMATED ALGORITHM IN PIXEL UNITS Nature of the image IMTAutomated IMTManual IV.1. Medical Expert Validation ROI is segmented and then IMT is calculated and the results are tabulated and compared with the manual measurement taken by the sonologist. From the Table IV, it is clear that automated IMT values are very much close to the manual measurement done by specialized and experienced sonologist. We have simulated and tested our algorithm for all these types of images and found that it works well for both normal and abnormal carotid artery images of all age groups. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Normal image (<40) 2.25 Normal image (40-60) 1.86 2.268 1.89 Normal image (>60) 3.01 3.024 Abnormal image (<40) 3.82 3.78 Abnormal image (40-60) 6.62 6.426 Abnormal image (>60) 4.53 4.536 International Review on Computers and Software, Vol. 8, N. 4 939 Dhanalakshmi Samiappan Samiappan,, Venkatesh Chakrapani V. V [10] [ T. Gustavsson, R. Abu Abu-Gharbieh, Gharbieh, G. Ha Hamarneh, marneh, Q. Liang, ((1997), 1997), “Implementation Implementation and Comparison of Four Different Boundary Detection Algorithms for Quantitative Ultrasonic Measurements of the Human Carotid Artery”, IEEE Computers in Cardiology Vol 24 24. [11] Weichu Xiao, Baolong Guo, Weihong Chen Chen,, Compatible Texture Image Segmentation Algorithm Based on Mean Shift Method, (2012) International Review on Computers and Software (IRECOS) (IRECOS), 7 (4)), pp. 1931-1937. 1931 1937. [12] Alireza Samadi, Hossein Pourghassem, A Novel Age Estimation Algorithm based based on Texture Features and Curvelet Transform in Human Face Images Images, (2012) International Review on Computers and Software (IRECOS) (IRECOS),, 7 (1 1), pp. 149 149-157 157. Conclusion Automatic classification of normal and abnormal ultrasound C Caro arotid tid Arteries Arteri is done using the patterns obtained from textures is tested and verified in this paper. paper Due to dependency on operator operator, ultrasonic image quality and background noise manual tracing of Ultrasound ltrasound C Carotid arotid Artery rtery IMT gives higher deviation in result. The proposed method detects the irregularities without the intervention of humans and thus this work automates the process. The new algorithm has been designed and optimized to classify the Carotid A Artery rtery in real real-time time by extracting the boundary and calculating the IMT with less complexity. Various features are extracted from the textures and compared compared with the reference sstandard tandard values to check for abnormality of carotid images analytically. The reference standard values mentioned above are machine dependent and the one considered here is for the linear ultrasound probe connected to a Phillips En Visor C ultrasound scanner. The results of the proposed method are compared with results from Sonologists and are found to be the same. same The result shows that the proposed method detects the irregularities without the intervention of humans and thus this his work automates the process process. In terms of speed and accuracy and simplicity texture feature analysis scheme provides a significant improvement over the other automated and semi-automated semi automated methods. Authors’ information 1 Easwari Engineering College, Anna University, Chennai, India. E-mail: E mail: sdhanalakshmi2004@gmail.com 2 Dean, Faculty of Engineering, EBET Group of Institutions, Kangayam Kangayam,, India. S. Dhanalakshmi, Assistant professor, Easwari Engineering College, Chennai graduated in EEE from Bharathiyar University in the year 2002, and obtained hher Master’s degree in Applied Electronics from Anna University niversity in the year 2004 with silver medal medal.. She has a credit of 10 years of teaching experience experience She is currently pursuing Ph.D. under Anna university. She has published 2 papers in international journal and 10 papers in conferences. Her areas of interest include medical image processing, soft computing and speech processing. Dr. C. Venkatesh Venkatesh, Dean, Faculty of Engineering, Erode Builder Educational Trust’s group of Institutions, Kangayam, graduated in ECE from Kongu Engineering College in the year 1988, and obtained his Master’s degree in Applied Electronics from Coimbatore Institute of Technolo Technology, gy, Coimbatore in the year 1990. He was awarded Doctorate in ECE from Jawaharlal Nehru Technological University, Hyderabad in 2007. He has 16 years of teaching experience during tenure he was awarded Best Teacher Award twice. He was the founder Principal ooff Surya Engineering College, Erode. He is guiding 10 Ph.D., research scholars. He is a Member of IEEE, CSI, ISTE and Fellow IETE. He has Published 13 papers in International and National Level Journals and 50 Papers in International and National Level conf conferences. erences. His area of interest includes Soft Computing, Sensor Networks and communication. References [1] [2] [3] [4] [5] [6] [7] [8] [9] C. P. Loizou et.al, “Multi Multi-scale scale Amplitude Modulation Modulation-Frequency Frequency Modulation Texture Analysis of Ultrasound Images of the Intima and Media Layers of the Carotid Artery Artery”, IEEE transactions on information technology in biomedicine, vol. 15, no. 2, march 2011. Yan Xu, “A Modified Spatial Fuzzy Clust Clustering ering Method Based on Texture Analysis for Ultrasound Image Segmentation” IEEE International Symposium on Industrial Electronics, July 5-8, 5 8, 2009 2009. K.B.Jayanthi, R.S.D.Wahida Banu, 2009. “Carotid Artery Boundary Extraction Using Segmentation Techniques: A Comparative Study”, Sixth International Conference on Information Technology. Technology D.T. Kuan et.al “Adaptive restoration of images with speckle,” JEEE Trans. Acoustics, Speech and Sig. Proc., vol. ASSP ASSP-35, 35, pp. 373 383, March 1987 373-383, T. Gustavsson, et.al., “Implementation and Comparison of Four Different Boundary Detection Algorithms for Quantitative Ultrasonic Measurements of the Human Carotid Artery”, IEEE Computers in Cardiology, Cardiology, vol. 24, 1997, pp. 69 69--72 Consolatina Liguori, Liguori, Alfredo Paolillo, and Antonio Pietrosanto, Pietrosanto (2001), 2001), “An Automatic Measurement System for the Evaluation of Carotid Intima-Media Intima Media Thickness “, IEEE Ttransactions on Instrumentation and Measurement, vol. 50, no. 6. D.T. Kuan and Alexander A. Sawchuk, T.C. Strand, Pierre Chavel, (1987), (1987), “Adaptive restoration of images with speckle”, IEEE Transactions on Acoustics, Speech, And Signal Processing, Vol. Assp35, No. 3. Assp-35, Rafael C. Gonzalez and Richard E. Woods, “Digital Digital Image Processing Using Matlab Matlab”, Prentice Hall, 2003 2003. Silvia Delsanto Delsanto,, et.al.,( et.al (2005), 2005), “CULEX “CULEX-Completely Completely User Userindependent Layers Extraction: Ultrasonic Carotid Artery Images Segmentation”, Proceedings of the 2005 IEEE Engineering in Medicine and Biology 27th Annual Conference Shanghai, China Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 940 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Fuzzy Based Congestion Detection Technique for Queuing in IP Networks S. Nandhini, S. Palaniammal Abstract – Internet Protocol (IP) has brought rapid development in many applications such as video and audio streaming, Voice-over-IP (VoIP) and e-commerce. However, these applications suffer from congestion problem, which severely worsens the network performance of real time data transmissions. In this paper, we propose a fuzzy based congestion detection technique for queuing in IP networks. This technique classifies the flow as real time and non real time and the priority scheduler prioritizes the classified flows as high and low, respectively. The congestion level of high priority flows is detected by means of fuzzy logic system. The queue delay and arrival rate are considered as input for Fuzzy logic and the level of congestion is estimated. According to the congestion level of flows, they are scheduled in two different queuing mechanisms. We simulate our technique using NS-2 and simulation results prove the efficiency of our approach. It eradicates unsolicited packet drops and improves packet delivery ratio. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Congestion Detection Techniques Internet Protocol (IP), Queuing, Fuzzy Logic Each data packet includes the address of source and destination. IP layer manages the address of each source and destination. This Internet architecture permits large technologies to run below the IP layer and applications running on IP networks management structures within the IP layer. This facility is supported by single layer control of Internet. Currently, more importance has been given to speed, connectivity and reliability of Internet to improve the performance of network. In view of the fact, network performance is essential to facilitate inter business operations of electronic commerce [1], [3], [4]. Most beneficial applications of the Internet include Email, file transfer protocol, video and audio streaming, Voice over IP and ecommerce. Further, transmission media also progressed besides wired links to wireless systems and dense wavelength division multiplexing (DWDM). This turns out to be more ubiquitous and provide multi-gigabit capacities [1]. Congestion had become a key issue of Internet over past few years. As the number of network users has increased, an efficient congestion control technique is needed. TCP/IP was not designed optimally to cope up with Internet congestion. In the same way, the requirement for new applications and demand for access impose more downsides in TCP/IP. Above all, it does not address any technique to alleviate congestion. In general, real-time applications are bandwidth sensitive; in this case, congestion brings in the problem of delay, jitters and consequently degrades the network performance. Due to congestion, packets are discarded in some cases and resources are wasted by retransmitting lost packets. Nomenclature Tc PDavi Di(t) Li T PLo Ra LT Lact Is AvgPAr PAU W DOWn Pr Pt avg DQn QD Fc Current timestamp Average packet delay Delay sample at time t Small fraction to emphasize recent history The loss ratio at node Ni at interval T Number of packets lost Estimated arrival rate of the packet Total loss ratio at destination Actual loss ratio Sampling period Weighted average packet arrival rate Upper bound value Weight factor One way delay of the packet with index n Packet received time Packet transmitted time Average queuing delay queuing delay Fuzzy cost I. I.1. Introduction Internet and IP Network Since last two decades, the dependence on computer communication has increased tremendously [1]-[22]. The achievement of Internet is reasoned by Transmission Control Protocol and Internet Protocol (TCP/IP). In this protocol suite, TCP stands above the IP layer; it segments the data packet into TCP segments, and then transforms into packets. Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 941 S. Nandhini, S. Palaniammal Apart from congestion, fairness also becomes an important issue in Internet because some data transmission in the Internet requires better treatment. Another major issue the networks suffer is the number of packets to be processed per second, while a gigabit link core router has to transmit 90,000 to 2,000,000 packets per second [6]. I.2. In Internet architecture, congestion is detected by TCP/IP only after a packet is dropped at the gateway. It is disagreeable to have large queues to avoid congestion, where the queues are used to keep track data packets in the order of delay and bandwidth. In order to detect congestion in the network an efficient mechanism is needed. In this paper, as an extension to our previous works [12] and [19], we propose a Fuzzy Based Congestion Detection (FBCD) technique for queuing in IP networks. Congestion Detection When the incoming traffic level exceeds the capacity of the network, then the network is said to be in the state of congestion. High packet loss ratio and end-to-end retransmission of packets, bandwidth degradation and waste of time and energy on congestion recovery are said to be the major issues of congestion and these issues consequently affects the overall network performance of the network. In general, routing algorithms are used to control the level of congestion. When resources are shared by multiple users, it is essential to lessen the transmission rate of each sender in order to alleviate the circumstance of congestion. Packets that enter into the congested network are simply discarded and this unsolicited packet drops affects the network performance. The network resources are wasted both by discarded packets and by retransmitted packets. Thus, network congestion reduces network throughput. When the condition of congestion is not handled, then it leads to congestion collapse, where no data can be delivered [7], [8], [9]. I.3. II. Apart from the works of Zhang X. Z et al. [20] and Xilong Qu et al [21] on fuzzy based congestion control, other works are listed out below: C. N. Nyirenda et al. [1] have proposed a fuzzy logic congestion detection algorithm termed as FLCD. Their algorithm combines the attributes of both traditional Active Queue Management (AQM) algorithms and fuzzy logic based AQM algorithms. The Membership Functions (MFs) of the FLCD algorithm are designed using a Multi-Objective Particle Swarm Optimization (MOPSO) algorithm, to achieve optimal performance on all the major performance metrics of IP congestion control. Further, they have also developed two online selflearning and organization structures to make the FLCD algorithm to adjust the fuzzy rule base dynamically in accordance with prevailing conditions. Aos Anas Mulahuwaish et al. [6] have proposed a new scheme in AQM with jumbo frame networks. Their scheme combines the modified random early detection MRED algorithm with developed drop front DDF. Their algorithm is suitable only to reduce the packet loss in jumbo frame networks. Their technique increases the throughput, by reducing the overhead and enhances the scalability and efficiency for jumbo frame networks. Maria Priscilla et al. [7] have introduced an active queue management called Modified Kohonen-based RED (MKRED), which combines RED approach with Kohonen technique to enable a stable queue length without complex parameters setting and passive measurements. From the experimental results, their approach has produced better prediction of buffer size for any number of patterns. The mean and standard deviation for the proposed approach are 18.23 ms and 2.95 ms respectively, which are very less compared to the conventional techniques. In addition, the learning time taken by the proposed method is very less compared to the conventional methods. Teck-Kuen Chua et al. [13] have proposed a new, adaptive, responsive, end-to-end congestion detection technique. They have proposed this technique to implement application-level congestion detection and control for real-time applications such as VoIP. Their scheme proactively reacts to network congestion to prevent packet loss, thus improving the QoS of applications. Fuzzy Logic System In 1960’s, the fuzzy logic theory was introduced by Zadeh. He initiated this theory for designing and predicting uncertainty in natural language. This theory is appropriate for uncertain and approximate reasoning and special cases such as mathematical model, which is complicated to derive. It permits decision making with computed attributes using any incomplete or uncertain information. A typical fuzzy engine is symbolized by inference engine. It encompasses system rule base, fuzzification and defuzzification process [10]. 1. Fuzzification: In this phase, the input values are denoted by membership functions of the fuzzy sets. The fuzzy logic controller makes use of geometric triangular as membership functions to define over the range of fuzzy input variables and describes the variable’s universe of discourse. 2. The inference engine: The rule base in this engine is described in fuzzy rules. It takes If-Then rules. 3. De-fuzzification: Defuzzification is the final phase, where fuzzy output is translated into crisp value. I.4. Related Works Problem Identification In congestion control mechanism, an efficient congestion detection technique plays an important role. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 942 S. Nandhini, S. Palaniammal It requires only simple upgrades to the implementations of the transmitting and receiving endpoints. As the network becomes congested, the communicating endpoints using the proposed method reduce bandwidth utilization to adapt to the congested environment. When the congestion subsides; the endpoints adapt to the improvement in the traffic condition and return to their original transmission settings. Each endpoint performs a simple task that demands very little in terms of processing power or memory. Pascal Anelli et al. [14] have proposed an original congestion event algorithm implemented independently of the TCP source code. The main objective of their scheme is to demonstrate that congestion event detection can be realized independently of the TCP code in a sake of better detecting congestion occurring in the network. Their algorithm is based on two assumptions such as a delay or a timestamp to validate a loss following retransmission and the acknowledgments path. Federico Montesino et al. [15] have proposed novel mechanisms for intelligent end-to-end traffic rate control in Internet by means of fuzzy systems. Their proposed model provides a rule based perspective of current evolving rate control schemes. They have designed a fuzzy TCP-like window based rate controller. A systematic fuzzy systems design methodology is used in order to simulate and implement the system as an experimental tool. Jammeh et al. [16] have proposed a fuzzy logic for congestion avoidance and control of networked video. Their technique considers delay as a network congestion level indicator, and packet loss as an indicator of full-blown congestion. Their scheme enables rate adaptive video streaming applications to optimally adapt to the available network bandwidth rate for long transfers. The main advantage of their fuzzy system is that it also eases finding the compromising solutions for different user requirements. The input and output variables are fuzzified by representing them as member function and congestion range is computed through defuzzification process. When congestion range is low, then the flows are scheduled using CSFQ scheme. Conversely, flows that have congestion range medium and high are scheduled using Multiple Queue Fair Queuing technique. III.2. Flow Classification The flow classifier identifies the ingress traffic flow as best effort or real-time based on the estimated delay and loss. III.2.1. Delay Estimation At all ingress routers the real time flows are sampled. The path of a real time flow has been probed by the header of the sampled packet. In case of probing the delay, the ingress routers encode the current timestamp Tc into the payload and header is marked with a new protocol value. The link delay is the resultant of difference between the own time of packets and Tc. The egress classifies the probe packets as belonging to flow i, and updates the average packet delay, PDavi for delay sample Di(t) at time t using an exponential weighted moving average (EWMA) [12]: PD avi(t) = *PDavi(t-1)+(1- )*Di(t) (1) where is a small fraction 0 1 to emphasize recent history rather than the current sample alone. III.2.2. Loss Estimation The detection algorithm runs as follows: In this technique, source forwards a series of probe packets along a path P1 to the destination, with no delay during the transmissions of successive packets. The loss ratio (Li) at a node Ni along the path P1 at the interval T can be calculated as [12]: III. Flow Scheduler III.1. Overview Li T = PLo / Ra In this paper, we propose to deploy a Fuzzy Based Congestion Detection (FBCD) technique for queuing in IP networks. Flows entering into the ingress are passed through flow classifier to classify the flows. It estimates delay and packet loss ratio of each flow and compares with predefined threshold value. When the computed value exceeds a threshold value, the corresponding flows are classified as real time flows and other flows as non- real time flows. The priority scheduler marks real time flows as higher priority flows and non-real time flows (best effort) as lower priority flows. The higher prioritized flows are made to pass through the fuzzy logic system to detect congestion level. Packet arrival rate and queuing delay are taken as input variables and congestion degree as output variable. (2) where PLo is the number of packets lost and Ra is the estimated arrival rate of the packet. Then the total loss ratio at destination can be calculated as: LT = ∑ Li T (3) Now the actual traffic flows are transmitted for the same sample interval of T seconds through the ingress router, which marks the flow arrival rate as label according to CSFQ. The actual loss ratio (Lact) at each node along P1 at the interval T can be estimated similarly as (1). Then the total actual loss ratio Lact at destination can be calculated as: Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 943 S. Nandhini, S. Palaniammal LactT = ∑ Lacti T (4) It can be given as [16]: At egress router, the difference in loss ratios can be then estimated as: D = LactT – LT III.2.3. DOWn = Pr - Pt (8) where, Pr is packet received time and Pt is packettransmitted time. Path delay can be computed from measured delay and minimum delay as: (5) Flow Identification by Ingress Nodes DQn = DOWn - DOWmin The flow arrival rates and the corresponding source ids are collected from the labels of the packets, which are marked by ingress node. If the value of D (as per Eq. (5)) exceeds to a threshold T1 and if the delay (as per Eq. (1)) exceeds a threshold T2, then the flows are marked as real time flows by the egress node, otherwise they are considered as best effort traffic. Then the flow arrival rate and the flow id are sent to the source by the egress router [12]. (9) The queuing delay is measured as a ratio of average queuing delay to maximum queuing delay as: QD avgDQn max DQ (10) The average queuing delay (avg DQn) of nth packet is measured using the formula: avgDQn 1 avgDQn 1 DQn III.3. Priority Scheduler (11) where, is the forgetting constant ( ≤1) and during simulations it takes the value 0.1. Considering these two variables as input, an outcome of the fuzzy system will be congestion degree. The general diagram of input and output variables of fuzzy system is given in Fig. 1. We apply priority scheduler to the above-identified flow categories as per following condition: 1. If flow is VoIP or Video, Then Flow is marked as higher priority in Flow label Else: 2. If the flow is best effort traffic, then Flow is marked as lower priority in Flow label End if. III.4. Fuzzy Based Congestion Detection Our technique makes use of fuzzy logic system to detect congestion of flows with higher priority flow label. Congestion of higher priority flows has to be detected to prevent unsolicited packet collisions. The higher priority flows are made pass through the fuzzy system to detect congestion level. As we perceive the congestion of real time flows (VoIP or video), we consider packet arrival rate and queue delay as input metrics. Packet Arrival Rate At sampling period Is, let p be the number of packets reached at the buffer. Then the weighted average packet arrival rate at time t can be calculated as, [17]: AvgPAr W avgPAr t I s 1 W p Fig. 1. Fuzzy Logic System III.4.1. Fuzzification In this phase, the input variables queuing delay and packet arrival rate are fuzzified and then symbolized in terms of membership functions. To represent input and output variables, we use geometric pattern of triangles. The membership function of inputs namely packet arrival rate and queuing delay are given in Figs. 2 and 3 respectively. The membership function for output is given in Fig. 4. (6) where W is the weight factor. In weighted packet arrival rate, consider PAU as the upper bound value. Then packet arrival rate PAr is given as: AvgPAr / PAU PAr 1.0 Avg PAr PAU Avg PAr PAU (7) Queuing Delay The one-way delay of packet with index ‘n’ is estimated as the difference between transmitted and received time. Fig. 2. Membership function for packet arrival rate Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 944 S. Nandhini, S. Palaniammal III.4.3. Defuzzification Finally, the output value is generated using defuzzification process. We use centroid of area strategy method for defuzzifying the input representation [18]: Rn FC Fig. 4. Membership function for output III.4.2. Fuzzy Rule Base The input and output variables are fuzzified into three ranges as low, medium and high. Based on these input ranges fuzzy rules are constructed. It takes the form of If -Then condition. Case-1 If (PAr = Low && QD = Low) Then Congestion Degree is Low End if Case-2 If (PAr = Medium && QD = Medium) Then Congestion Degree is Medium End if Case-3 If (PAr = High && QD = High) Then Congestion Degree is High End if The entire fuzzy rule base system is given below in Table I. Packet Arrival Rate (PAr) Low Low Low Medium Medium Medium High High High (12) In the above equation, Fc represents fuzzy cost, Ni is node element, the limit value R1 to Rn denotes the fuzzy rule set and M (Ni) stands for membership functions. As an outcome of fuzzy system, the congestion range of higher priority flows is determined. Based on estimated congestion range value, flows are scheduled into two queuing technique. The systematic process of congestion detection and scheduling is as follows: (i) High priority flows are made pass through the fuzzy system. (ii) Packet Arrival Rate (PAr) and Queuing Delay (QD) values of a flow is computed using equation (7) and (10) respectively. (iii) The input variables are fuzzified and membership functions are represented. (iv) Congestion degree is taken as output from defuzzification process. (v) Congestion degree is ranged into three values as low, medium and high. (vi) If (Congestion degree = Low) Then Flows are scheduled using max-min fairness criterion of CSFQ Else if (Congestion degree = Medium && High) Then Flows are scheduled using Multiple Queue Fair Queuing technique End if. The max-min fairness criterion of CSFQ and Multiple Queue Fair Queuing techniques are described in our previous paper [12]. Fig. 3. Membership function for queuing delay TABLE I FUZZY RULE SET Queuing Delay (QD) Low Medium High Low Medium High Low Medium High R1 Ni M Ni Rn R1 M Ni IV. Simulation Results IV.1. Simulation Model and Parameters In this section, we examine the performance of our Fuzzy Based Congestion Detection (FBCD) technique with an extensive simulation study based on network simulator (NS-2) [22]. We compare the results with the Enhanced CSFQ (ECSFQ) technique [12]. The topology used in the simulation is shown in Fig. 5. As we can see from the figure, the architecture consists of 3 pairs of ingress and egress routers indicated by IE1-EE1, IE2EE2 and IE3-EE3 with 2 core routers C1 and C2. We use a mixture of Video, CBR and TCP traffic flows. The packet size is 512 bytes and there are totally 10 flows. Congestion Degree (D) Low Medium Medium Medium Medium High Medium High High Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 945 S. Nandhini, S. Palaniammal Throughput Bottleneck Bandwidth Vs VoIPThroughput 1.5 ECSFQ 1 0.5 FBCD 0 2 4 6 8 Mb/s Fig. 7. Bottleneck Bandwidth Vs VoIP-Throughput B. Effect of Varying Rate In our second experiment we vary the video traffic rate as 250 kb to 1000 kb in order to measure the delay and throughput. Fig. 5. Simulation Topology The link bandwidth and link delay is set as 10 Mb and 10 ms respectively. The bottleneck bandwidth for the links (3, 4), (9,1 4), (18, 4), (22, 9), (5, 4), and (10, 9) is set as 5 Mb initially. 0.006 Delay(Sec) IV.2. Rate Vs VoIP-Delay Performance Metrics In the simulation experiments, we vary the bottleneck bandwidth and traffic rate. We measure the following metrics for the real time traffic (Video) flows only, since FBCD enhances the performance of real time higher priority traffic. 1. Throughput. 2. Delay. The results are described in the next section. Delay(Sec) 1000 Throughput(Mb/s) 1.5 1 ECSFQ FBCD 0.5 0 250 500 750 1000 Rate(Kb) Fig. 9. Rate Vs VoIP-Delay From Fig. 8, we can see that the VoIP-delay of our proposed FBCD is less than the existing ECSFQ model. From Fig. 9, we can see that the VoIP-throughput of our proposed FBCD is higher than the existing ECSFQ model. FBCD Case 2 (Video) A. Based on Bottleneck Bandwidth In this experiment we vary the bottleneck bandwidth as 2, 4, 6 and 8 Mb. From Fig. 10, we can see that the tcp-throughput of our proposed FBCD is higher than the existing ECSFQ model. From Fig. 11, we can see that the video-delay of our proposed FBCD is less than the existing ECSFQ model. 0 6 750 Rate Vs VoIP-Throughput ECSFQ 4 500 Fig. 8. Rate Vs VoIP-Throughput 0.008 2 FBCD Rate(Kb) Bottleneck Bandwidth Vs VoIP-Delay 0.002 0.002 250 Case 1(VoIP) A. Effect of Varying Bottleneck Bandwidth In our first experiment, we vary the bottleneck bandwidth 2 Mb, 4 Mb… 8 Mb. From Fig. 6, we can see that the VoIP-delay of our proposed FBCD is less than the existing ECSFQ model. From Fig. 7, we can see that the VoIP-throughput of our proposed FBCD is higher than the existing ECSFQ model. 0.004 ECSFQ 0 IV.3. Results 0.006 0.004 8 Mb/s Fig. 6. Bottleneck Bandwidth Vs VoIP-Delay Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 946 S. Nandhini, S. Palaniammal 12.2 12.1 12 11.9 11.8 11.7 Rate Vs Video-Delay Delay(Sec) Throughput Bottleneck Bandw idth Vs TCP-Throughput ECSFQ FBCD 2 4 6 8 0.025 0.02 0.015 0.01 0.005 0 ECSFQ FBCD 250 500 Mb/s Fig. 14. Rate Vs Video-Delay Bottleneck Bandw idth Vs Video-Delay 0.025 0.02 0.015 0.01 0.005 0 Rate Vs Video-Throughput Throughput Delay(Sec) 1000 Rate(Kb) Fig. 10. Bottleneck Bandwidth Vs TCP-Throughput ECSFQ FBCD 2 750 4 6 8 1.5 1 ECSFQ FBCD 0.5 0 250 Mb/s 500 750 1000 Rate(Kb) Fig. 11. Bottleneck Bandwidth Vs Video-Delay Fig. 15. Rate Vs Video-Throughput Bottleneck Bandw idth Vs Video-Throughput From Fig. 13, we can see that the tcp-throughput of our proposed FBCD is higher than the existing ECSFQ model. From Fig. 14, we can see that the video-delay of our proposed FBCD is less than the existing ECSFQ model. From Fig. 15, we can see that the video-throughput of our proposed FBCD is higher than the existing ECSFQ model. Throughput 1.5 1 ECSFQ FBCD 0.5 0 2 4 6 8 Mb/s V. Fig. 12. Bottleneck Bandwidth Vs Video-Throughput In this paper, we have proposed a Fuzzy Based Congestion Detection technique for queuing in IP networks. The technique classifies the flows as real time and non-real time by considering delay and packet loss ratio. The priority scheduler prioritizes the classified flows as high and low. The congestion level of higher priority flows are detected by means of fuzzy logic system. Packet arrival rate and queuing delay are taken as input variables and congestion degree as output variable. The input and output variables are fuzzified by representing in membership function and congestion range is computed through defuzzification process. When congestion range is low, then the flows are scheduled using max-min criterion of CSFQ scheme. Conversely, flows that have congestion range medium and high are scheduled using Multiple Queue Fair Queuing technique. We have simulated our technique using NS-2 and simulation results prove the efficiency of our approach. It eradicates unsolicited packet drops and improves throughput of real-time traffic. From Fig. 12, we can see that the video-throughput of our proposed FBCD is higher than the existing ECSFQ model. B. Based on Rate In this experiment we vary the rate as 250, 500, 750 and 1000 kb. Throughput Rate Vs TCP-Throughput 12.5 12 11.5 11 10.5 10 ECSFQ FBCD 250 500 750 Conclusion 1000 Rate(Kb) Fig. 13. Rate Vs TCP-Throughput Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 947 S. Nandhini, S. Palaniammal Control for TCP Networks via Fuzzy Sliding-mode Control, (2011) International Review on Computers and Software (IRECOS), 6 (4), pp. 576-585. [21] Xilong Qu, Zhongxiao Hao,Linfeng Bai, Xizheng Zhang, Design of T-S Fuzzy Control for Active Queue Management in TCP Networks, (2011) International Review on Computers and Software (IRECOS), 6 (5), pp. 820-826. [22] Network Simulator, http://www.isi.edu/nsnam/ns. References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] Clement Nthambazale, Nyirenda, ”A Multi-objective Particle Swarm Optimized Fuzzy Logic Congestion Detection and Dual Explicit Notification Mechanism for IP Networks”, Technical Report, September 2006. Lawrence S. Brakmo Sean W. O’Malley and Larry L. Peterson,” TCP Vegas: New Techniques for Congestion Detection and Avoidance”, In Proceedings of the SIGCOMM '94 Symposium, pp. 24-35, Aug. 1994. Tom Kelly,” The case for a new IP congestion control framework”, Technical Report CUED/FINFENG/TR.434, Laboratory for Communication Engineering, Cambridge University, June 2002. J. Alan Bivens , Boleslaw K. Szymanski and Mark J. Embrechts, ” Network Congestion Arbitration and Source Problem Prediction using Neural Networks”, Smart Engineering System Design, vol. 4, pp.243-252, 2002. Murat Yuksel,”Architectures for congestion sensitive pricing of network services”, PhD thesis, Rensselaer Polytechnic Institute Troy, NY, USA, 2002. Aos Anas Mulahuwaish, Kamalrulnizam Abu Bakar and Kayhan Zrar Ghafoor,” A Congestion Avoidance Approach in Jumbo Frame-enabled IP Network”, (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 3, No. 1, 2012. Maria Priscilla and Dr. Antony Selvadoss Thanamani, ” Managing Network Congestion with a Modified Kohonen-based RED Queue”, International Journal of Engineering Science and Technology, Vol. 2, No.11, 2010, 6747-6752. Sally Floyd and Van Jacobson,” Random Early Detection Gateways for Congestion Avoidance”, IEEE/ACM Transactions on Networking (TON), Vol. 1, No. 4, Aug. 1993. Marina Thottan and Chuanyi Ji ,” Anomaly Detection in IP Networks”, IEEE Transactions on Signal Processing, Vol. 51, No- 8, August 2003. Taqwa Odey Fahad and Prof. Abduladhim A. Ali, “Improvement of AODV Routing on MANETs using Fuzzy Systems”, Iraq Journal of Electrical and Electronic Engineering, Vol.7 No.2, 2011. Susan Rea and Dirk Pesch, “Multi-Metric Routing Decisions for Ad Hoc Networks using Fuzzy Logic”, Proceedings of IEEE 1st International Symposium on Wireless Communication Systems, pp. 403-407, 2004. S. Nandhini and S. Palaniammal, “Enhanced Core Stateless Fair Queuing with Multiple Queue Priority Scheduler”, International Arab Journal of Information Technology, ISSN 1683-3198 Vol.11 No.2 (Yet to be published on March 2014). Teck-Kuen Chua and David C. Pheanis,” Adaptive Congestion Detection and Control at the Application Level for VoIP”, International Journal on Advances in Networks and Services, Vol. 1, No 1, 2008. Pascal Anelli, Emmanuel Lochin, and Fanilo Harivelo,” Transport congestion Events Detection (TCED): Towards Decorrelating Congestion Detection from TCP”, Proceedings of the ACM Symposium on Applied Computing, pp- 663-669, 2010. Federico Montesino, Diego R. Lopez, Angel Barriga and Santiago Sanchez-Solano,” Fuzzy End-to-End Rate Control for Internet Transport Protocols”, IEEE International Conference on Fuzzy Systems, pp- 1347 – 1354, 2006. E Jammeh, M. Fleury and M. Ghanbari,” Delay and Loss Fuzzy Controlled Video over IP Networks”, www.essex.ac.uk , 2008. C.N. Nyirenda1 and D.S. Dawoud1 ”Self-Organization in a Particle Swarm Optimized Fuzzy Logic Congestion Detection Mechanism for IP Networks, Scientia Iranica, Vol. 15, No. 6, pp. 589-604, Sharif University of Technology, December 2008. M.M.Goswami, R.V. Dharaskar and V.M.Thakare, “Fuzzy Ant Colony Based Routing Protocol for Mobile Ad Hoc Network”, International Conference on Computer Engineering and Technology, ICCET '09, vol.2, pp- 438 – 444, 2009. S. Nandhini and S. Palaniammal, "Stateless Aggregate Fair Marking Scheduler for Differentiated Service Networks", Journal of Computer Science, Vol. 9, No. 1, pp. 63-73 , 2013. Zhang X.Z., Shen X.N., Duan Y., Design of Robust Congestion Authors’ information S. Nandhini obtained her, Master’s degree and Master of Philosophy in Mathematics. She is currently working as a Senior Lecturer in the Department of Computer Science at Garden City College of Science and Management Studies, Bangalore, India. She has presented 2 papers in National conferences and published 2 papers in international journals. Her area of interest includes Queuing Theory, Computer Networks, Graph theory and Operations Research. Tel: +91 9902079005 Dr. S. Palaniammal received her Doctoral degree in Applied Mathematics from PSG college of Technology, Coimbatore in 2006. She is currently working as Professor and Head in the department of Science and Humanities at Sri Krishna College of Technology, Coimbatore, India. She has published 57 papers in national/international Journals/Conferences. Her areas of interest are Queuing Theory, Data Mining and Networking. Under her guidance 8 scholars are pursuing their Ph.D, 2 M.Phil scholars and 1 Ph.D scholar has completed their research work. She has also authored 9 books in Mathematics for B.E/B.Tech students and 2 of her books "Probability and Queueing Theory" , "Probability and Random Processes" are Published in Prentice Hall of India. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 948 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Combining UML Class and Activity Diagrams for MDA Generation of MVC 2 Web Applications M'hamed Rahmouni, Samir Mbarki Abstract – Model transformations are increasingly gaining attention in software design and development. Model transformation plays a key role in Object Management group (OMG) Model Driven Architecture (MDA) initiative. In this paper, we experience a high level modeling method based on MDA to generate MVC2 web model for an E-commerce web application. This idea is based on the fact that the source metamodel is composed by two metamodels which are: the class diagram and activity diagram. In order to model the internal logic of a complex operation and accurately determine the input jsp page of an Action class and all ingredients of this class, we begin by identifying the operations in view to establish the activity diagram for each operation. After modeling, we implement the transformation rules. These rules are expressed in ATL transformation language. In our algorithm, we consider only the operations belonging to the two diagrams already cited. Practically, we transform only the operations that have an activity diagram and belonging to the class diagram. The MVC2 web model generated can effectively simplify the development processing with less time and cost. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: MDA, ATL Transformation, MVC 2 Web, E-Commerce, CIM, PIM, PSM, Metamodel I. In this work, we begin by analyzing the problem, then modeling it. In the activity of modeling, we are merely interested on the UML class diagram (CD) and the UML activity diagrams (AD), which permit specifying and simplifying the process of transformation rules and thereafter verifying the result of this transformation. The basic idea of this method is to combine the UML class diagram and UML activity diagram for constitute one source metamodel of the transformation language. The aim of using the activity diagram is to describe the flow of control of the target system, such as the exploring complex business rules and operations, describing the use case also the business process. The activity diagram is more appropriate to model the dynamics of a task, a use case where the class diagram is not yet stabilized. Therefore, we can know the relation between the Action classes, the ActionForm classes and the jsp pages. Through this activity diagram, we can especially know the input jsp page of another page which it will need. In order to know the relation between the classes, operations and attributes of each class as well as associations between classes, we use the UML class diagram. The objective of the combination of this later and the UML activity diagram is to generate precisely the elements that constitute the ingredients of MVC 2 Web model and the relations between these elements. To achieve this model transformation method, we use the ATL (Atlas TransformationLanguage) transformation language [4]-[5]-[6]. Introduction The design and development of any complex applications using a Model-driven Engineering approach involve not only the use of many models, but also the use of many model transformations between them. These transformations automate critical operations during development as the refinements, the refactoring and the code generation. The automation of these operations can increase the re-use of elements from one project to another, which save the time and reduce the amount of redundant programming work. However, model transformation is based on the concept of meta-models. A framework that uses model transformation is Model-Driven Architecture (MDA)[1]. Models in MDA are the key artefacts in all phases of development and are mostly expressed with Unified Modelling Language (UML) [2]-[3]. The latter is represented in XML Metadata Interchange (XMI). The use of meta-models with the concepts of models facilitates specification rules processing and minimizes their number and their complexity. The employment of metamodels to generate the transformations also allows obtaining a transformed model compatible with a metamodel of target. Finally, the approach for transforming a model to another can build very generic transformation rules since these transformation rules can be applied to all models provided it respects the source of metamodel. The work described here presents a method for generating MVC 2 web model for an E-Commerce web application. Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 949 M. Rahmouni, S. Mbarki The transformation rules are based on the following idea: each operation generates an Action classes, ActionForm classes and jsp pages. In our algorithm, we consider only the CRUD operations and the operations belong into the combination of CD model and AD model. The aim of using the ATL transformation rules is to generate the MVC2 web model which it will be thereafter the input model of JET so that it would generate the code of MVC2 web E-commerce application. The MVC 2 web model is represented in XML Metadata Interchange (XMI) format. The remaining part of this paper is as follows: section 2 presents the transformation approach. Section 3 explains the PIM and PSM metamodels. Section 4 permits to develop the Transformation rules. Section 5 presents the case study of this work. Section 6 presents the result of transformation rules. Section 7 is dedicated to the related work. Finally, section 8 concludes the work and gives some perspectives. II. Fig. 1. The transformation approach for transforming the combination of AD and CD into MVC2 web model III. PIM and PSM MetaModels In this section, we present the different meta-classes that constitute the PIM and PSM meta-models. The PIM is constituted by the combination of UML class diagram (CD) and activity diagram (AD). The PIM and PSM metamodels are detailed here in Figs. 3, 4 and 5. Transformation Approach The algorithm of transformation approach is shown in Figure 1. It consists to combine the UML class diagram and UML activity diagram for constitute one source metamodel of the transformation rules. The basic idea of use the action diagram is to know the link between the Action classes, the ActionForm classes and the jsp pages. Through this activity diagram, we can especially know the input jsp page of another page which it will need. Another advantage of this diagram is to define the attributes of the ActionForm and the object or class which it belongs each attribute. The use of the class diagram gives a general idea about the link between the classes, methods and attributes of each class as well as associations between classes. The fusion of UML class diagram and UML activity diagram is to generate precisely the elements that constitute the ingredients of MVC2 Web and the relations between these elements. The basic idea of the transformation algorithm for activity and class diagrams is as follows: - Consider the UML class diagram and the UML activity diagram as an input model. - Browse the UML class diagram and select an operation. - Test if this operation belongs to the activity diagram. If true then transform this operation into PSM code. Else go to another operation without generating the PSM code. - After verifying that the operation belongs to the CD and AD simultaneously, so we transform this operation into an Action class, an ActionForm class and the jsp page. To implement this algorithm, we begin with the implementation of source and target meta-models. III.1. Class Diagram Metamodel In this meta-model, UMLPackage corresponds to the concept of UML package, this meta-class is related to the Classifier meta-class. This represents both the concept of UML class and the concept of data type. The Property meta-class expresses the concept of properties of an UML class or references to other classes (uni and bidirectional associations). Fig. 3 shows the CD meta-model. III.2. Activity Diagram Metamodel Activity diagrams are the blueprints used for describing system behaviours. The diagram contains activities and flows which can be separated into control flows and object flows. There are seven levels of activities including fundamental, basic, intermediate, complete, structured, complete structured, and extra structured [9]. The fundamental level defines activities as containing nodes which includes actions [9]. In this level, activity, activity group and action are introduced where: activity is a containment which consists of name and actions; activity group is containment but it is not used in this level, that is, it is not shown in the diagram. The basic level includes control sequencing and data flow between actions [9]. In this level, control flow, object flow, object node, activity parameter node, initial node and final node are introduced where: control flow is a sequence of two actions; object flow is an edge which has an action and an object node at either end; activity parameter node is an object which is used as an activity parameter; initial and final node are the point which the activity is started and terminated, respectively. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 950 M. Rahmouni, S. Mbarki In this level, fork node, join node, decision node, merge node, flow final node, and activity partition are introduced where: fork and join node are used to create concurrent flows and synchronize concurrent flows, respectively; decision and merge node are used to create alternative flows and accept one of alternative flows, respectively[9]. Flow final node is the point which the flow is terminated; activity partition is a containment which contains actions and sub partitions. The Activity Diagram metamodel is shown in Fig. 3. ATL is developed by the team of Jean Bézivin at LINA in Nantes. It is part of the Eclipse M2M (Modelto-Model). Fig. 5 shows the operational framework of ATL transformation. The main purpose of the present paper is to generate the MVC 2 web model for an e-commerce web application and thereafter as an input of the JET 2 Template in order to generate the code of this case study. In this paper, we are interested only by the party Model-to-Model (M2M) transformation. III.3. Struts Metamodel class ACtiv ityDiagram ... Activity Activity activity Fig. 4 corresponds to the PSM metamodel that is a Struts metamodel target. In this metamodel, we show more interest in the tier controller. The ActionMapping meta-class contains the information deployment for a particular Action class. The ActionForm meta-class is a Bean encapsulating the parameters of a form from the view part. The execute() method of Action class performs its processing and then calls the findforward() method on the mapping object . The return value is an object of an ActionForward type. The Action meta-class represents the concept of secondary controller. The Action classes contain the specific processing of the application. Consequently, they must be related to business classes. The complete target meta-model is detailed in [8] [24]. IV. activity - a: int + b() : void 0..1 0..1 inactivity * ActivityPartition 0..1 +inGroup +inGroup ActivityGroup * +containedEdge * +edge ActivityEdge source +outgoing 1 +target * +containedNode * +superGroup 0..1 +subGroup * ActivityNode * +incoming 1 +node * * ObjectNode ControlNode ControlFlow Action ObjectFlow ActivityParameterNode DecisionNode MergeNode JoinNode FinalNode ForkNode FlowFinalNode InitialNode ActivityFinalNode Fig. 3. Activity diagram Metamodel The Transformation Rules class Struts ... The model transformation plays a role in the model driven engineering. To this end, several studies have been conducted to define transformation languages effectively and to ensure traceability between the different types of MDA models. ATL (Atlas Transformation Language) is a model transformation language developed in the framework of the ATLAS project [4]-[5]-[6]. ControllerPackage ActionForward +forwards +input 1..* +actionmappings +forward JspPage +view +formbeans 1..* * FormBean ActionMapping * Action +href ViewPackage +form +actions * +bean 1..* 0..1 ActionForm 0..1 +httprequest HttpRequest class UML CD Metamo... +httpresponse HttpResponse +request UMLPackage - name: String Fig. 4. Platform-specific Struts model Classifier - MOF name: String conforms to Property Parameter - Class DataType +property * name: String - Operation +operations name: String * - transformation name: String upper: int lower: int MMa ATL MMb mma2mmb.atl Ma Mb Fig. 5. Operational framework of ATL Fig. 2. UML class diagram Metamodel Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 951 M. Rahmouni, S. Mbarki In this section, we present the specification of rules and the implementation of these rules using ATL transformation language. In the first step, we determine the different rules and in the second step, we implement them in ATL language. IV.1. Rules Specification Here are the main rules to transform the models of CD and AD into a MVC 2 Web model: The View Package is composed of a set of JSP pages. The Controller Package is composed of a set of mappings Action. The Controller Package is composed of a set of beans Form. The mapping Action is composed of a set of Actions. The Bean Form is composed of a set of ActionForm. Each operation generates an ActionForm The Retrieve operation of the root class does not generate an ActionForm class. Each Operation generates an Action Class, an ActionForm class and a Jsp Page. Each Action is composed of a set of ActionForward classes. An update operation generates an ActionForm and an End ActionForm. Fig. 7. From Operation to JspPage Fig. 8. UMLPackage to ControllerPackage IV.2. ATL Code The ATL code for the combination of CD and AD to MVC 2 Web model transformation consists in 5 rules. Figs. 6, 7, 8, 9 and 10 show these rules: - The UMLPackage2ViewPackage rule generates the view package of jsp pages. - The Operation2JspPage rule creates the jsp pages from an operation. The name of jsp page is the name of the operation. - The UMLPackage2ControllerPackage rule generates the controller package. - The Operation2Action rule creates the Action classes and the jsp page forwarding of each Action class. - The Operation2ActionForm rule creates the ActionForm classes. In this section, we are developed the different transformation rules. In the following section, we present a case study of an e-commerce web application and the modeling of this case study. Fig. 9. From Operation to Action class V. Case Study In this section, we describe our UML use case and thereafter the UML class diagram. In the context of MDA, the model of CD is used to develop, implement and thereafter generate an E-Commerce web application. This class diagram represents the source model of this web application. This model is a XMI file which contains all components of this application. Fig. 6. From UMLPackage to ViewPackage Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 952 M. Rahmouni, S. Mbarki uc Primary Use Cases PC Online Shopping Search Items <<System>> Payment Processor «include» Customer Place Order «include» Check Order Status Maintain account information Fig. 11. The use case diagram of the PC online shopping class Class Diagram Customer Web User - Fig. 10. From Operation to ActionForm class login_id: char password: char state: UserStatus 0..1 1 + Create() : void 1 «enumeration» UserStatus In this case study, each customer could have some web user identity. Web user could be in several states and could be linked to one shopping cart. Each customer has exactly one account. Account owns shopping cart and orders. Orders are sorted and unique. Each order is linked to none to several payments. Each order has current order status. Both order and shopping cart have line items linked to specific product. Based on the above analysis, we design the use case diagram of the PC online shopping system. Fig. 11 shows the use case diagram of the system PC online shopping and Fig. 12 shows the model of UML class diagram. In the following section we show the activity diagram of the use case Place Order. Activity diagram is UML behavior diagram which shows flow of control or object flow with emphasis on the sequence and conditions of the flow. The actions coordinated by activity models can be initiated because other actions finish executing, because objects and data become available, or because some events external to the flow occur. Fig. 13 show the activity diagram of the use case Place Order. After this section, we present the XMI file that represents this AD. One of the main ideas shown in this activity diagram presented in Fig. 13 is that the input jsp pages are associated with the orderly called objects in this process. As example, the input jsp of payment Action is the Order jsp page. In the other hand, we know that the customer places an order. Therefore, we conclude that the input jsp of the Order Action is the Customer page jsp. For the properties of each Action Forms are the properties of the input jsp. Our idea is to present all activity diagrams, and after we determine the input jsp pages and the properties of action forms. 0..1 Shopping Cart New Active Blocked Banned - - address: char email: char id: char name: char phone: char + + + + create() : void Delete() : void Retrieve() : void Update() : void created: Date Payment 0..* - id: String paid: Date total: Real details: String * {ordered, unique} 1 1 1 Order 1 1 Account Product - cid: String ram: String hdd: String price: Price category: String + + + + Create() : void Retrieve() : void Update() : void Delete() : void 1 +line_item 1 - id: String billing_address: Address is_closed: Boolean open: Date closed: Date + + + + Create() : void Retrieve() : void Update() : void Delete() : void +line_item * {ordered, unique} 1 new Hold Shipped Delivred Closed + Create() + AddToCart() : void 1 «enumeration» OrderStatus 1 * {ordered} {unique} - number: String ordered: Date ship_to: Address status: OrderStatus total: Real + Order() : void + Update() : void 1 LineItem - quantity: Integer price: Price + Add() : void +line_item * {ordered, unique} Fig. 12. The UML source model of the PC online shopping analysis Business Process Model Requested Order Send Invoce Ship Order [Order accepted] Fill Order Receive Order Invoce Invoce Make Payment Close Order Accept Payment Fig. 13. The Activity diagram of Order use case V.1. XMI File of Activity Diagram of Use Case Order In this section, we present the XMI file of the activity diagram of use case Order. This file is as follows: <Action name='Receive Order'> <ActivityNode.outgoing> <ControlFlow idref='T3'/> </ActivityNode.outgoing> <ActivityNode.incoming> <ControlFlow idref='T4'/> </ActivityNode.incoming> </Action> Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 953 M. Rahmouni, S. Mbarki <DecisionNode name='decision_n_1'> <ActivityNode.outgoing> <ControlFlow dref='T5'/> <ControlFlow idref='T6'/> </ActivityNode.outgoing> <ActivityNode.incoming> <ControlFlow idref='T7'/> </ActivityNode.incoming> </DecisionNode> <JoinNode name='join_1' kind='Join'> <ActivityNode.outgoing> <ControlFlow idref='T15'/> </ActivityNode.outgoing> <ActivityNode.incoming> <ControlFlow idref='T16'/> <ControlFlow idref='T17'/> </ActivityNode.incoming> </JoinNode> <Action name='Fill Order'> <ActivityNode.outgoing> <ControlFlow idref='T8'/> </ActivityNode.outgoing> <ActivityNode.incoming> <ControlFlow idref='T9'/> </ActivityNode.incoming> </Action> <Action name='Close Order'> <ActivityNode.outgoing> <ControlFlow idref='T21'/> </ActivityNode.outgoing> <ActivityNode.incoming> <ControlFlow idref='T22'/> </ActivityNode.incoming> </Action> <ForkNode name='fork_1' kind='Fork'> <ActivityNode.outgoing> <ControlFlow idref='T10'/> <ControlFlow idref='T11'/> </ActivityNode.outgoing> <ActivityNode.incoming> <ControlFlow idref='T12'/> </ActivityNode.incoming> </ForkNode> <Action name='Make payment'> <ActivityNode.outgoing> <ControlFlow idref='T27'/> </ActivityNode.outgoing> <ActivityNode.incoming> <ControlFlow idref='T28'/> </ActivityNode.incoming> </Action> <Action name='Accept payment'> <ActivityNode.outgoing> <ControlFlow idref='T29'/> </ActivityNode.outgoing> <ActivityNode.incoming> <ControlFlow idref='T30'/> </ActivityNode.incoming> </Action> <Action name='Ship Order'> <ActivityNode.outgoing> <ControlFlow idref='T13'/> </ActivityNode.outgoing> <ActivityNode.incoming> <ControlFlow idref='T14'/> </ActivityNode.incoming> </Action> <FinalNode name='Final_state_1'> <ActivityNode.incoming> <ControlFlow idref='T2'/> </ActivityNode.incoming> </FinalNode> <Action name='Send Invoce'> <ActivityNode.outgoing> <ControlFlow idref='T23'/> </ActivityNode.outgoing> <ActivityNode.incoming> <ControlFlow idref='T24'/> </ActivityNode.incoming> </Action> <InitialNode name='initial_state_1'> <ActivityNode.outgoing> <ControlFlow idref='T1'/> </ActivityNode.outgoing> </InitialNode> <MergNode name='merge_1' kind='Merge'> <ActivityNode.outgoing> <ControlFlow idref='T18'/> </ActivityNode.outgoing> <ActivityNode.incoming> <ControlFlow idref='T19'/> <ControlFlow idref='T20'/> </ActivityNode.incoming> </MergNode> <ObjectNode name='Invoce'> <ActivityNode.outgoing> <ObjectFlow idref='T25'/> </ActivityNode.outgoing> <ActivityNode.incoming> <ObjectFlow idref='T26'/> </ActivityNode.incoming> </ObjectNode> Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 954 M. Rahmouni, S. Mbarki VI. The Result of Transformation Rules VII. In this section, we show the XMI file generated that is the result of ATL transformation rules. This transformation is based on the input XMI file of the combination of AD and CD. The XMI file generated is as follows: Related Work From a state-of-the-art review in model transformation and code generation, several proposals have been identified. The most relevant are [10] [11] [12] [13] [14] [15] [16][17][18][19][8] [20] [21] [22] [23] [24]. The authors of the work [10], show how to generate JSPs and JavaBeans using the UWE [11], and the ATL transformation language [12]. Among future works cited, the authors considered the integration of AJAX into the engineering process of UWE. Bezivin et al. [13] propose to use ATL transformation to transform PIMs defined by Enterprise Distributed Object Computing into PSMs for different web services platforms. Billing et al. [14] define PIM to PSM transformation in the context of EJB by using QVT. The authors of the work [15] show that the MDA can be considered as a software industrialization pattern (or a software factory). They propose an MDA Engine based on a real case study in an IT services company. It is a proposal for a framework to create custom MDA tools, based on XMI, XSLT and the Visitor Pattern. The work [16] has proposed a model-driven development approach for E-Learning platform. The authors established the domain model (CIM) through the analysis of business logic, and then they established robustness diagram of the system after the robustness analysis. Then, they stratified on the PIM under the J2EE framework, and proposed the method of transformation from PIM to PSM layer by layer. The objective of the work [17] is to introduce a new framework for the design of secure Data Warehouses based on MDA and QVT, which covers all the design phases (conceptual, logical and physical) and specifies security measures in all of them. One approach which has gained much attention in the web-based MDA community is the AndroMDA MDA generator [18]. This framework provides a PIM schemes to model and integrate a wide variety of scenarios and comes with a set of plugins, called cartridges. Two other works follow the same logic and have been the subject of two articles [19] [20]. A metamodel of AJAX has been defined using the AndroMDA tool. The generation of AJAX code was made and illustrated by an application that manages CRUD operations of person. The meta-model is very important and we can join it to our meta-models for modeling AJAX user interfaces. The objective of the work of Nasir et al. [21] is to generate the code of a DotNet application “Student Appointment Management System”. The method used is WebML. The code is generated, applying the MDA approach. In [22], Esbai et al. generate the N-tiers web application based on UML class diagram. This involves developing all meta-classes needed to be able to generate an N-tiers application respecting a MVC2, DI and DAO patterns. In this work the author applied the approach by modeling and used the MOF 2.0 QVT standard as a transformation language. Recently, the work [23] was conducted to generate the MVC 2 web model. In this work, the author appropriates <?xml version="1.0" encoding="UTF-8"?> <org.eclipse.struts:Struts xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.struts="http:///org/ec lipse/struts.ecore"> <viewPackage> <view name="CreatePayment.jsp"/> <view name="Order.jsp"/> </viewPackage> <controllerPackage> <actionmappings> <action path="/Order" name="OrderForm" type="/OrderAction" input="AddToCart.jsp"> <forward name="success" path="//@viewPackege.0/@view.1"/> </action> <action path="/CreatePayment" name="CreatePaymentForm" type="/CreatePaymentAction" input="/CreateCustomer.jsp"> <forward name="success" path="//@viewPackege.0/@view.0"/> </action> </actionmappings> <formbeans> <form name="CreatePaymentForm"/> <form name="OrderForm"/> </formbeans> </controllerPackage> </org.eclipse.struts:Struts> In the following section, we present the PSM model generated that corresponds to the above XMI file. The Fig. 14 shows the generated PSM model. Fig. 14. The generated PSM Model Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 955 M. Rahmouni, S. Mbarki [6] the transformation rules by ATL transformation language in order to generate only the CRUD operations from three classes Ci, Cj and Ck. This paper aims to rethink, to complete and generalize the work presented in the article [23]. This work attempts to generalize the input model and control the transformation rules by using the Activity diagram and class diagram. In this work, we combined CD and AD in order to generate precisely the ingredients of MVC 2 web. [7] [8] [9] [10] VIII. Conclusion and Future Work [11] In this paper we have presented a new technique method to control the transformation of models. This method allows transforming an UML class diagram combined with an UML activity diagram to MVC 2 web model that is the Struts framework. The aim of using the activity diagram is to model a workflow in a use case or between use cases or specify an operation (model the internal logic of a complex operation) in view to stabilize the class diagram. Therefore, we can know control the input jsp pages of an Action classes and the ActionForm classes associated with these action classes. After stabilize the class diagram, we can know the relation between the classes, operations and attributes of each class as well as associations between classes and finally we can generate precisely all ingredients of MVC 2 web. This method is divided into two steps. The first step is to model the activity diagrams of all operations and determine the elements necessary of each Action class. In the second step, after we know the elements of each Action class, we specify the transformation rules. These rules are developed in ATL transformation language. On the other hand, we transform only the operations that have an activity diagram and belong to the class diagram. And finally the process of a M2M transformation, so generated model can be used to generate an e-commerce web application from this model. Furthermore, we plan to generate an e-commerce web code from the MVC 2 web model generated. Our goal is to facilitate more and more the development and tests. [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] References [1] [2] [3] [4] [5] [22] OMG Model Driven Architecture, document update/2012-06-27, (http://www.omg.org/mda/) (Accessed 26 July 2012). X. Blanc, MDA en action: Ingénierie logicielle guidée par les modèles (Eyrolles, 2005). S. J. Mellor, K. Scott, A. Uhl and D. Weise, MDA Distilled: Principles of Model-Driven Architecture (Addison-Wesley, 2004). L. MENET, Formalisation d’une Approche d’Ingénierie Dirigée par les Modèles Appliquée au Domaine de la Gestion des Données de Référence. PhD thesis, Université de Paris VIII, Laboratoire d’Informatique Avancée de Saint-Denis (LIASD), école doctorale: Cognition Langage Interaction (CLI), 2010. F. Jouault, F. Allilaire, J. Bézivin and I. Kurtev, ATL : A Model Transformation Tool, Sciences of Computer ProgrammingElseiver, Vol. 72, n. 1-2, pp 31–39, 2008. [23] [24] Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Omg/mof Meta Object Facility (mof) specification, omg document ad/2012-06-27, (Accessed 26 July 2012) (http://www.omg.org). http://www.eclipse.org/articles/Article-JET2/ jet_tutorial2.html. (Accessed 25 July 2012). S. Mbarki, and M. Erramdani, Model-Driven Transformations: From Analysis to MVC 2 Web Model, (2009) International Review on Computers and Software (IRECOS), 4 (5), pp. 612620. OMG Unified Modeling Language (OMG UML), Infrastructure OMG Document Number: formal/2010-05-03 (Accessed 10 August 2012). http://www.omg.org/spec/UML/2.3/Infrastructure. Kraus, A., Knapp, A., Koch N., Model-Driven Generation of Web Applications in UWE, Proceeding of the 3rd International Workshop on Model-Driven Web Engineering, CEUR-WS, Vol. 261, 2007. Koch, N., Transformations Techniques in the Model-Driven Development Process of UWE, Proceeding of the 2nd International Workshop Model-Driven Web Engineering, Palo Alto (Page: 3 Year of publication: 2006 ISBN: 1-59593- 435-9). F. Jouault, F. Allilaire, J. Bézivin, I. Kurtev, ATL: A model transformation tool, Science of Computer Programming-Elsevier Vol. 72, n. 1-2: pp. 31-39, 2008. Bezivin, J., Hammoudi, S., Lopes, D., Jouault, F., Applying MDA approach for web service platform, In EDOC’04 preceedings of the 8th IEEE International Entreprise Distributed Object Computing Conference, pages 58-70, 2004. Bezivin, J., Busse, S., Leicher, A., Suss, J.G, Platform Independent Model Transformation Based on TRIPLE, In Middleware’04: Proceedings of the 5th ACM/IFIP/USENIX International Conference on Middleware, pages 493- 511,2004. T. D. Ndie, C. Tangha1, F. E. Ekwoge, MDA (Model- Driven Architecture) as a Software Industrialization Pattern: An Approach for a Pragmatic Software Factories, Journal of Software Engineering & Applications, pages 561-571, 2010. Cong, X., Zhang, H., Zhou, D., Lu, P., Qin, L., A Model- Driven Architecture Approach for Developing E-Learning Platform , Entertainment for Education. Digital Techniques and Systems Lecture Notes in Computer Science, Volume 6249/2010, 111122, DOI: 10.1007/978-3-642-14533-9_12, 2010. E. Soler, J. Trujillo, C. Blanco, E. Fernandez-Medina, Designing Secure Data Warehouses by Using MDA and QVT, Journal of Universal Computer Science, vol. 15, no. 8 pages 1607-1641, 2009. AndroMDA. http://www.andromda.org/. Distante, D., Rossi, G., Canfora, G., Modeling Business Processes in Web Applications: An Analysis Framework, In Proceedings of the The 22nd Annual ACM Symposium on Applied Computing (Page: 1677, Year of publication: 2007, ISBN: 1-59593-480-4). Gharavi, V., Mesbah, A., Deursen, A. V., Modelling and Generating AJAX Applications: A Model-Driven Approach, Proceeding of the 7th International Workshop on Web- Oriented Software Technologies, New York, USA (Page: 38, Year of publication: 2008, ISBN: 978-80-227-2899-7) M.H.N.M. Nasir, S.H. Hamid, H. Hassan, WebML and .NET Architecture for Developing Students Appointment Management System, Journal of applied science, Vol. 9, n. 8, pp. 1432-1440, 2009. Redouane Esbai, Mohammed Erramdani, Samir Mbarki, Ibtissam Arrassen, Abdelouafi Meziane and Mimoun Moussaoui, ModelDriven transformation with approach by modeling: From UML to N-tiers Web Model, International Journal of Computer Science Issues (IJCSI), Vol. 8, Issue 4, No 2, July 2011 ISSN (Online): 1694-0814. M. Rahmouni, S. Mbarki, MDA-Based ATL Transformation to Generate MVC 2 Web Model, International Journal of Computer Science & Information Technology (IJCSIT), Vol 3, No 4, August 2011. S. Mbarki, M. Erramdanim, Towards automatic generation of MVC 2 web applications, InfoComp-Journal of Computer Sciences, Vol. 7, No. 4, pp 84–91, 2008. International Review on Computers and Software, Vol. 8, N. 4 956 M. Rahmouni, S. Mbarki Authors’ information Department of Computer Science, Faculty of Science, Ibn Tofail University, Kenitra, BP 133, Morocco. M'hamed Rahmouni PhD Student, holding a Diploma of Higher Approfondie Studies in Computer Science and Telecommunication from the faculty of science, Ibn Tofail University, Morocco, 2007. He participated in various international congresses in MDA (Model Driven Architecture) integrating new technologies XML, EJB, MVC, Web Services, etc. E-mail: md.rahmouni@yahoo.fr Samir Mbarki Received the B.S. degree in applied mathematics from Mohammed V University, Morocco, 1992, and Doctorat of High Graduate Studies degrees in Computer Sciences from Mohammed V University, Morocco, 1997. In 1995 he joined the faculty of science Ibn Tofail University, Morocco where he is currently a Professor in Department of computer science. His research interests include software engineering, model driven architecture, software metrics and software tests. He earned an HDR in computer Science form Ibn Tofail University in 2010. E-mail: mbarkisamir@hotmail.com Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 957 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Digital Image Watermarking and Encryption Using DWT and RSA Omar Alirr, Kasmiran Jumari Abstract – In DWT based watermarking technique the cover image is decomposed to its frequency bands, the coefficients in these bands are modified to hide secret messages. The main characteristics of DWT Watermarking are the imperceptibility, capacity and low complexity. However, this technique has some limitations if it is used alone; it will not be efficient in terms of data security. In this paper the aim is to incorporate the DWT technique with the RSA public-key algorithm, to accomplish a high capacity and secure communication system. The difficulty of factoring in the RSA algorithm has made it one of the most powerful cryptosystems. The proposed technique aims to transfer high capacity secure data by embedding it inside the cover image without affecting or degrading the imperceptibility of the cover image. The security, capacity and imperceptibility are the main criteria according to which the performance of the system is judged. Many scenarios with different cover images and secret messages, different sizes and different image types, these scenarios are used to evaluate the performance of the proposed system by computing the PSNR and the corresponding payload sizes. For the system to not show any suspension of secret data that is being transferred, the value of the PSNR should be around 40dB, so a trade off must be made between security, capacity and imperceptibility to find to what extent this system can reach. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: DWT Watermarking, RSA, Public-Key Cryptograph I. Discrete Wavelet Transform (DWT) has been utilized in digital watermarking more frequently because of its better spatial localization and multi resolution characteristics, which imitate the theoretical modeling of the humans visual system [3]. The RSA cryptosystem, is the most known used public-key encryption tool used today. The security of RSA depend on the fact of the difficulty of computing the private key by knowing the public key. The problem relies on factoring to the prime numbers [4], [5]. In the following sections, we present a literature review on DWT, RSA and then we introduce the proposed method and its implementation. Introduction The development in technology and networking has generated serious threats to obtain secured data communication. This has driven the interest among computer security researchers to overcome the serious threats to build secured data transmission. The main requirements needed to be taken into consideration while building secure transmission system are, imperceptibility; which is the difference between the watermarked image and original (cover) image cannot be distinguished by human eyes. Data Payload, also known as capacity of watermarking. It is the maximum amount of information that can be hidden without degrading image quality and Security; Secret key has to be used for embedding and detection process in case security is a major concern. There are three types of keys used in watermark systems: private-key, detection-key and public-key. Hackers should not be able to remove watermark with anti-reverse engineering research algorithm [1], [2]. Steganography and cryptography are definitely complementary technologies. They provide two different services to the data they are protecting. Stego hides the existence of the data, while crypto makes the contents of the data difficult to read [1]. In watermarking there are many methods used to hide secret information, Comparing to spatial domain schemes, frequency domain watermarking schemes have proved to be higher effective in term of achieving the needed imperceptibility and robustness for digital watermarking schemes. II. DWT In Discrete Wavelet Transform (DWT) the Wavelet Series is considered as the sampled version of CWT and its computation may cost significant quantity of time and resources, that depend on the required resolution. The DWT, which depend on sub-band coding is found to reach a fast computation of Wavelet Transform. It is easy to deploy and reduces the calculation time and the needed resources [6], [7]. The DWT transform is a special function which, in a form same as to sine and cosine in Fourier transform, these wavelets are used as elementary functions to represent signals. For the 2D images, applying DWT mean that processing the image using 2D filters in each dimension of the image. The filters divide the inserted Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 958 O. Alirr, K. Jumari image into 4 non overlapping multi resolution sub-bands LL, LH, HL and HH. The sub-band LL denote the coarse scale DWT coefficients while the sub-bands LH, HL and HH represent the detail scale of DWT coefficients.[7], [8]. II.1. The approximation coefficients and the detail coefficients at each level are up-sampled by factor of 2, go through the low pass and high pass filters and then are added. This process is keeping continue along the same number of levels as in the decomposition way to generate the original signal [9], [10]. Multi-Resolution Analysis In order to analyze a non-stationary signal, we need to determine its behavior at any individual event. Multiresolution analysis provides one means to do this. A multi-resolution analysis decomposes a signal into a smoothed version of the original signal and a set of detail information at different scales. This type of decomposition is most easily understood by thinking of a picture (which is a two dimensional signal). We remove from the picture information that distinguishes the sharpest edges, leaving a new picture that is slightly blurred. This blurred version of the original picture is a rendering at a slightly coarser scale. We then recursively repeat the procedure. Each time we obtain some detail information and a more and more blurred (or smoothed) version of the original image. Removal of the detail information corresponds to a band pass filtering, and generation of the smoothed image corresponds to a low pass filtering. Given the decomposition, we can reconstruct the original image, Fig. 1 shows the decomposition tree. In Fig. 1, the signal is represented by sequence, x[n], where n is an integer. The low-pass filters is represented by Go while the high-pass filters take the symbol Ho. for every level, the high pass filter generate the detail information, d[n], and the low pass filter related with scaling functions generate the coarse approximations, a[n] [6], [9], [10]. Fig. 2. Three level wavelet reconstruction III. RSA The idea of public- key cryptography was generated from the challenge of solving two of the most difficult problems related with traditional (symmetric) encryption. The first challenge is the key distribution, as in shared encryption it is required that the two parties are already own the same key, but in public-key there is no need to spread the same shared key with trusted one or using key distribution center. The second problem that Diffie solved using the digital signature for authentication [4], [5]. In order to break the RSA algorithm, there are two known possible ways. The first one is the brute- force tool: by trying all possible private keys. So, the larger number of bits used in e and d, the higher secure the algorithm. Despite that, since the computations that are involved in both key generation and data encryption, are complex, as key become larger, the system will run slower [11], [4]. The most researches of the cryptanalysis on RSA have concentrated on the task of number factoring to its two prime factors. But for a large number with large prime factors, factoring become a hard problem [4]. IV. Fig. 1. Three levels wavelet-decomposition The Proposed System In this technique there are two branches that represent the encoding (forward) and the decoding (reverse) of the proposed technique, in each branch we utilize the encryption using RSA public key algorithm and the watermarking using the DWT technique. Once we have decomposed a signal this way, we may analyze the behavior of the detail information across the different scales. We can extract the regularity of a singularity, which characterizes the signal's behavior at that point. This provides an effective means of edge detection. Furthermore, noise has a specific behavior across scales, and hence, in many cases we can separate the signal from the noise. Reconstruction then yields a relatively accurate noise free approximation of the original signal. This denoising technique is developed in [6], [9], [10]. Fig. 2 shows the reconstruction process of the original signal from its transform coefficients. the reconstructing process considered as the reverse-back process of decomposing the signal. IV.1. The Encoding Procedure Encoding branch consist of two steps , the first one is the preparation of secret image and encryption using RSA algorithm. The resulted encrypted secret data is then used in the second step by embedding it inside the DWT coefficients of the decomposed cover image, to generate the watermarked cover image. Fig. 3 shows the encoding procedure followed by the encoding steps: Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 959 O. Alirr, K. Jumari Step 1: The original cover image is subdivided into nlevel of DWT decomposition to generate the approximation sub-band and 3 of detailed sub-bands, the n-level of decomposition depend on the size of secret image and the robustness we want. Step 2: select L numbers of wavelet coefficients from either HL or LH as the watermark embedding positions, where L refers to the number of bits in the secret watermark image. The choosing of HL or LH bands come from the facts that these band are less affected from external distortion and does not degrade the cover image severely. Step 3: The secret image is a binary image with size NxM must not be larger than the LH or HL sub-band size. Step 4: Encrypt the secret binary image using RSA algorithm, this step is discussed in detail in the next section. Step 5: Generally, the wavelet coefficients consist of positive and negative floating values. the aim is to embed the encrypted secret image bits in the integer part of the selected coefficients. So, we convert the whole number part of a selected wavelet coefficient into its 8-bit binary format and at the same time, the sign and fractional part of that selected coefficients are temporary saved. Step 6: A single bit of the encrypted secret image is then substituted into the LSB bit of the coefficients integer part to obtain the watermarked segment. We can add more than one bit in each DWT coefficient to increase the capacity, and this will be discussed in the results chapter. Step 7: Next, the watermarked segment in Step 4 is converted back to the decimal representation. To avoid data missing, the coefficient sign and the fractional part of it are added to the watermarked segment to produce a watermarked wavelet coefficient. Step 8: Step 5 to Step 6 are repeated until the all the secret image bits of length L is totally embedded. Step 9: Lastly, n-level of Inverse DWT is performed to obtain the watermarked cover image. Step 1: The watermarked cover image is decomposed into n-level of DWT decomposition to generate the approximation sub-band and 3 of detailed sub-bands. Step 2: select the watermarked coefficients from the chosen HL or LH of the decomposed bands. Step 3: convert the whole number part of a selected wavelet coefficient into its 8-bit binary format. Step 4: A single bit of the encrypted secret image is then retrieved from the LSB bit of the watermarked coefficients integer part to construct the encrypted matrix. Step 5: Next, the retrieved encrypted matrix in Step 4 is converted to the decimal representation. Step 6: decrypt the retrieved matrix in step 5 using RSA algorithm, this step also is discussed in detail in the next section. Step 7: Step 3 to Step 4 are repeated until the all the secret image bits of length L is totally retrieved. Step 8: Lastly, the decrypted matrix in step 6 is converted to the binary format and reshaped to construct the original secret image. Fig. 4. The Decoding Procedure V. Cover image is decomposed using DWT into two dimensional bands. The secret image is converted to it equivalent binary representation to be encrypted using RSA algorithm, the resulted encrypted matrix has a size bigger than the original secret image, this encrypted form is considered in the embedding process. All decomposed DWT bands (LL, LH, HL and HH) are considered and used as region of embedding in different grayscale watermark scenarios, to see the impact of different bands of DWT on the cover image. V.1. Fig. 3. The Encoding Procedure IV.2. Implementations and Performance Analysis The Effect of Embedding One Bit per Coefficient in the Middle DWT Bands In this section the cover image is a grayscale image and the secret watermark is a binary image (pixel=1bit). The aim here is to embed one pixel from the secret image inside each coefficient in the middle DWT band LH of the cover image. Scenarios are shown in the Fig. 5 to Fig. 10. The Decoding Procedure The decoding branch also has two steps like encoding branch but in reverse order, the first step start with decomposing the watermarked image to its DWT coefficients, and then selecting the coefficients that preserve the secret data, and retrieve it back, this retrieved secret data is then used by the second step to decrypt it using RSA algorithm, this followed by reconstructing the original image (watermark) to its original form. Fig. 4 shows the decoding procedure followed by the decoding steps: V.2. Embedding 3-Bit in Each Coefficient in LH and HH DWT Bands In this section the cover image and the secret watermark are grayscale images. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 960 O. Alirr, K. Jumari Fig. 9. Encrypted Cameraman and Watermarked Lena pair Fig. 5. Airplane and Man watermark and cover pair Fig. 10. Extracted Encrypted and decrypted Cameraman Fig. 6. Encrypted Airplane and Watermarked Man pair Fig. 11. embedding 3-bits in LH band Fig. 7. Extracted Encrypted and decrypted Airplane Fig. 12. embedding 3-bits in HH band V.3. Fig. 8. Cameraman and Lena watermark and cover pair Embedding 4-Bits in Each Coefficient In LH and HH Bands In this section the cover image and the secret watermark are grayscale images. The aim here is to embed 4 bits from the secret image inside each coefficient in LH and HH DWT bands of the cover image. Scenarios are shown in Fig. 13 and Fig. 14. The aim here is to embed 3 bits from the secret image inside each coefficient in LH and HH DWT bands of the cover image. Scenarios are shown in Fig. 11 and Fig. 12. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 961 O. Alirr, K. Jumari Band LH LH LH HH Fig. 13. Embedding 4-bits in LH band LH HH LH TABLE I THE PERFORMANCE IN ALL SCENARIOS Cover & Embedded Cover size PSNR watermark watermark (pixel) (dB) name size (bits) Man & 1024×1024 393216 54.7 Airplane BW Lena & 512×512 98304 54.3 Camera BW Man & 1024×1024 786432 43.6 Couple gray Man & 1024×1024 786432 43.8 Couple gray Man & 1024×1024 786432 39.0 Couple gray Man & 1024×1024 786432 39.2 Couple gray Man & 1024×1024 786432 19.4 Couple gray VI. 1 1 3 3 4 4 8 Conclusion This paper was mainly devoted to the performance analysis of the proposed system of the incorporating the DWT watermarking technique and the RSA public-key algorithm. By combining these two efficient methods, the high secure data communication can be achieved. Imperceptibility in term of Peak Signal to Noise Ratio (PSNR), maximum capacity payload and the secrecy, are used to evaluate the proposed technique. The proposed technique grants the authenticity and the privacy of the secret transmitted data by using RSA algorithm procedure. The proposed technique grants hiding high amount of secret payload through the embedding in the DWT decomposed bands coefficients. Fig. 14. Embedding 4-bits in HH band V.4. Bit Embedding 8-Bits in LH Band In this section the cover image and the secret watermark are grayscale images. The aim here is to embed 8 bit from the secret image inside each coefficient in LH and HH DWT bands of the cover image. Scenario is shown in Fig. 15. References [1] E. Cole, Hiding in Plain Sight Steganography and the Art of Covert Communication ( Wiley Composition, 2003). [2] S.M. Mohidul, R. Debnath, S. K. Alamgir Hossain, DWT Based Digital Watermarking Technique and its Robustness on Image Rotation, Scaling, JPEG compression, Cropping and Multiple Watermarking, in ICICT , pp.246-249, 2007. [3] A. Al-Haj, Combined DWT-DCT Digital Image Watermarking, Journal of Computer Science, Vol. 3, n. 9, pp. 740-746, 2007. [4] P. M. Sonsare, S. Sapkal, Stegano-Crypto System for Enhancing Biometric-Feature Security with RSA, in International Conference on Information and Network Technology, Vol. 4, pp.196-200, 2011. [5] W. Stalling, Cryptography and network security (Pearson education, Prentice Hall, 2011). [6] B. Furht, E. Muharemagic, D. Socek, Multimedia Encryption And Watermarking ( Springer science, 2005). [7] Milan S. Shet, Minal Patel, K. Manikantan, S. Ramachandran, DWT Based Feature Extraction Using Normalized Magnitude Based Thresholding and Multilevel Illumination Normalization for Enhanced Face Recognition, (2012) International Review on Computers and Software (IRECOS), 7 (5), pp. 1969-1985. [8] A. Ouled Zaid, A. Makhloufi, A. Bouallegue, C. Olivier, A. NaitAli, Blind Watermarking Integrated to Wavelet Image Coding Scheme, (2008) International Review on Computers and Software (IRECOS) 3 (1), pp. 53-61. [9] S. Mallat, W. L. Hwang, Singularity Detection and Processing, IEEE Transaction on Information Theory, Vol. 38, n.2, pp.617643, 1992. [10] Y. Zhang, Digital Watermarking Technology: A Review, in Fig. 15. Embedding 8-bits in LH band The imperceptibility using PSNR and the payload capacity are compared in all suggested scenarios to evaluate the system performance. Two types of secret images are used as watermark, light binary images and heavy grayscale images. The imperceptibility, payload capacity and RSA algorithm security show a collaborative impact on the system performance. High security mean large prime number in RSA algorithm, that lead to high capacity payload that degrade the cover image quality by the amount of this payload and the chosen DWT band where it is embedded. Table I summarized the PSNR results that obtained from all previous scenarios, as shown the impact of the watermark on the cover image is higher when it is embedded in the middle bands and lower in the HH band which represent the details of the image. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 962 O. Alirr, K. Jumari Future Computer and Communication, International Conference, pp.250-252, 2009. [11] Z. Bojkovic, D. Milovanovic, Multimedia Contents Security: Watermarking Diversity and Secure Protocols, in Modern Satellite, Cable and Broadcasting Service, 6th International Conference, Vol. 1, pp.377-383, 2003. Authors’ information Department of Electrical, Electronic & Systems Engineering, Universiti Kebangsaan Malaysia, Bangi, Malaysia. Omar Alirr received the BS degree in electrical and computer engineering in 2006 from the Hashemite University, Jordan. and the MS degree in communication and computer engineering in 2012 from the National University, Malaysia. He is currently working toward the PhD degree at the PETRONAS University, Malaysia. His current areas of interest include watermarking, cryptography and security in data communication. Kasmiran Jumari is a Professor in Faculty of Engineering, Universiti Kebangsaan Malaysia. He received. The MS degree in Instrument Design, from University Of Aberdeen, United Kingdom, 1978. And the PhD degree in Electronics, University of Kent, Canterbury, England, 1985. His areas of interest include Security System, Intrusion detection system, Signal Processing, Image processing, computer vision, Communication Engineering and Computer communications networks. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 963 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Study on Multi-Agent Q Learning Based on Prediction Ya Xie, Zhonghua Huang Abstract – Multi-agent Q learning algorithm(model) based on prediction is proposed in order to make multi-agent has the ability of online learning, which two layers of structure are adopted, planning, prediction and Q learning etc are integrated. The system state is predicted through the adoption of prediction, which the convergence speed of learning is accelerated, at the same time planning technology is used in the model through prior knowledge to solve the partial perception problems, the adaptive learning ability of algorithm has been greatly improved by the application of prediction technology, where learning algorithm has a strong ability of on-line learning and higher learning efficiency, the successful application of this algorithm in the RoboCup shows its good learning performance. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Q Learning, Online Learning, Multi-Agent, Robocup to model independent, simplicity and efficient characteristics of Q learning. The statistics learning and reinforcement learning are integrated organically in order to solve partial perception, uncertain information and behavior strategy learning of other agent, which other agent's strategy is learned through statistics of joint actions, optimal choice of joint actions is guaranteed by use of full probability distribution of strategy probability vector, which guarantees the convergence of the algorithm in theory. In multi-agent Q learning based on statistics, statistics techniques are used to solve the uncertain information and strategy learning of other agent in the multi-agent environment, but at the same time, statistics learning needs more training samples, which will lead to learn more iterative times and slow convergence speed, then the learning algorithm is not suitable for online learning. Agent should have the ability of online learning in many MAS (such as: RoboCup), therefore, an algorithm with fast convergence speed and suitable for online learning is needed, based on this, multi-agent Q learning algorithm based on prediction is proposed, which two layers of structure are adopted, planning, prediction and Q learning technology etc are integrated, application of prediction technology makes the algorithm adaptive learning ability has been greatly improved, learning algorithm has strong online learning ability and high efficiency of learning, the learning algorithm is more suitable for online learning. This paper discusses the concept and model algorithm, and the performance of the algorithm is analyzed. Nomenclature TD MAS RoboCup s a s a m f fi Pt s A Temporal Differences Multi-Agent System RobotWorldCup State Action The next state The next action Model Mapping function Element vector Probability of optimal behavior strategy in the state st Action space of agent Pt0 Optimal behavior strategy without prediction I. Introduction Reinforcement learning of multi-agent introduces the traditional reinforcement learning technology into MAS (Multi-Agent System). Reinforcement learning belongs to unsupervised learning, it is a kind of adaptive environment learning method with environmental feedback as input, which obtains the optimal strategy finally through interaction with the environment and continuous improvement strategy. Because of its online learning and adaptive learning characteristics, reinforcement learning is an effective tool to solve the optimization problem of the intelligent strategy, which is widely used in various fields and has become one of the research hotspots in the field of machine learning. Reinforcement learning algorithm in mature are: TD, Q learning, Dyna-Q and Q-PSP learning etc, this paper chooses Q learning as multi-agent learning foundation due II. The Concept of Multi-Agent Q Learning Based on Prediction II.1. Two Layer Learning Structure MAS is a complex, dynamic environment, motion state function with model independent is used as learning goals Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 964 Ya Xie, Zhonghua Huang in enhance learning such as Q learning, TD learning, which is suitable for solving unsupervised, dynamic learning tasks, so this algorithm is suitable for multi-agent environment, but at the same time, for this learning algorithm, search spaces of state and action in learning processing will increase exponentially with the number growth of agent, which will lead to low efficiency of learning, in fact, the condition of traditional reinforcement learning can't be satisfied easily in MAS, so the convergence can't be guaranteed in MAS. Multi-agent reinforcement Learning is studied by some scholars at home and abroad, such as the state and action of single agent is extended to multi-agent joint actions and space in Hu and Wellman studies, where the learning form is transformed from (s, a) to( s , a )[1], FOF learning algorithm is proposed by Littman, which converges to Nash equilibrium point in certain conditions [2], in fact, learning efficiency of enhance learning by joint action space is very low in multi-agent environment, and also the suitable environment of learning algorithm is too simple, therefore the traditional reinforcement learning can't be led into MAS simply, multilayer learning model comparing to monolayer model will be more effective in a complex environment that is proposed by Davidsson in 1996 and Stone in 2000 [3][4]. Based on this, multi-agent reinforcement learning model based on prediction is proposed in this paper, which consists of two layers, where the top layer is an action planning module, that consists of abstract motion state rules, the rules can be designed by the designer according to the prior knowledge; the bottom layer is a Q learning module based on prediction. Through the study found, the prediction of next state of system will be helpful to reduce the search space of learning in reinforcement learning, which will improve the efficiency of learning, at the same time, another good of integration of prediction technology and reinforcement learning is that the actual state can be perceived in the next cycle after the prediction of next action every time, therefore, the prediction function can be learned easily through mature supervise learning method. II.2. mapping can be described as: m = f(s), where f represents a mapping function, which system state as input will be mapped to model as output by the utility, states with same effectiveness for learning agent will be mapped to the same model, the number of model is far less than the number of state, |m| << |s|. In the enforcement learning, if the look-up table is used as learning function, then the table will be large in the complex problems, and the lookup efficiency of table will be low at the same time, but the learning function will more abstract to solve the problem of lookup table, but also can improve the generalization ability of reinforcement learning, Satinder proposed a set of states replacement of status columns in lookup table, that is to say the state space can be mapped using a set [5]. View of the model partition of self-organizing neural network in the unsupervised case [6], this paper uses it as mapping functions, which the state will be mapped to model, element vector as F = (f1, …,fi,…) that can characterize the system state is used as input of SOM networks, the network output is the mapping mode, the structure of SOM network is as follows in Fig. 1. Fig. 1. Structure of SOM network In the learning process, the observed state will be mapped to model through SOM, (m, a) form rather than (s, a) form is adopted in learning, where a indicates action. Mapping of State to Model Because of the limitation of the agent perception ability, and influence of noise of system environment (or outside), partial perception of environment can be obtained by agent in MAS. In fact, in the learning process, the full system environment is not necessary to be perceived by learning agent in each learning step, for example, in RoboCup, when our attacking players in front of the ball, the offensive player is not necessary to know our goalie actions, that is to say, the behavior strategy of offensive player is not necessary to involve goalkeeper. Similarly, for learning agent in MAS, lots of state are considered to be equivalent, that is to say, the system states with large number can be mapped to models with smaller number, where s indicates state, and m indicates model, then the Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved III. The Model of Multi-Agent Q Learning Based on Prediction Fig. 2 shows the structure of learning model, which consists of behavior planning module and Q learning module based on prediction. Fig. 2. Structure of learning model International Review on Computers and Software, Vol. 8, N. 4 965 Ya Xie, Zhonghua Huang (1) Action planning module The planning module is the set of abstract action rules according to the prior knowledge, Ye et al pointed out that it is very difficult to learn the optimal strategy for agent according to only local (current) knowledge to learn, the agent requires global knowledge [7]. Here we tend to use the term of prior knowledge rather than the global knowledge to express, because lots of global knowledge is included in the priori knowledge, priori knowledge is more general concept than the global knowledge. The planning module can be designed by the designer according to the prior knowledge, in the learning process, the module can be updated according to the newly learned knowledge, which can be realized through the method of abstract rules from knowledge, particularly, MMDP is proposed by Craig Boutilierk [8], M-Dyna-Q is proposed by Weiss [9], as the core of this paper is concerned with the learning module, and the construct and updating of planning module have been mature method, so the correlation method will not be discussed for details. (2) The Q learning module based on prediction A must considering question in multi-agent reinforcement learning is that: whether the communication is needed between agents, agents can observe joint action and the agent can obtain their own reward, in this paper assume that the learning agent is a separate individual without interaction between agents, agent can observe joint actions and get their reward. The basic idea of reinforcement learning is the experiment of every possible action by trial-and-error in every experience, optimal behavior control strategy can be formed according to the return, the disadvantage of this method is that the convergence speed is very slow, which may fail to converge in the complex environment. Prediction technique is adopted in order to solve this problem, unlike much previous research, learning techniques is not used to learn how to predict, but the prediction technology is adopted to accelerate the convergence speed of learning for meeting the requirements of online learning. In a cooperative or antagonistic environment, agent's action is decided according to environment and behavior of others, if the next action of others can be predicted, then the optimal strategy will be formed according to the prior knowledge, the application of prediction technique in the study will be helpful to reduce the learning search space and improve the learning speed. Ledezma A. et al. proposed a method to predict the opponent's actions by observing the opponent behavior [10], which is only applicable for simple environment with two agents. In fact, in multi-agent environment, forecast for the system state of the next cycle is more useful and generally than the action predication of agent, of course, forecast of state is based on the prediction of action, the predicting state will map to model according to SOM. (3) Prediction module Prediction module is composed of two parts: action recognition and state prediction. Action recognition is used to identify the action of other agent, the action of heterogeneous agent will be identified according to its usefulness, state prediction part is one of the core of learning module, where the observation of environment for input and the predicated state for output, because we can get the actual state values at each step, this prediction part can be constructed through supervised learning or TD learning. In fact, multilayer neural network is used as prediction part in the experiment, prediction part can be improved through online learning. (4) Learning strategy under prediction state In the study, prediction part will make a prediction based on the current state, according to the prediction state model, agent will select behavior strategy for the next cycle according to the plan of planning part, of course, even if the model of each forecasting state matches the model of actual state, we can't think that planning part gives the optimal plan, but that the plan is correct in most of the time, the reason is that the prior knowledge is not suitable for each specific state or lack of planning rules of this state, planning part can be improved by learning [11] [12]. At the same time, in order to reduce the influence of errors plan, ε-greedy strategy will be used for action selection, that is to say, the agent will select this action according to planning with probability ε and select other action randomly with probability 1-ε. (5) The application of learning model The state of system, because the application field of this text is RoboCup, so coordinate of player and ball within a certain range can be adopted to depict the system state, of course, it is only reaction of local system state, in fact, as long as the state within 25 meters can be obtained timely for agent, the input of SOM is the coordinate value, output is model that can be a vector to represent, this vectors can more express mapping of complex system condition, but also be conducive to as input for prediction module. The model prediction can be completed by Prediction module with the current model as input and the forecast model of next cycle as output, according to the discussion above, prediction can be completed adopting supervised learning technology, because the prediction is a complex process, and the neural network has strong robustness and good generalization ability, neural network is used to realize the forecast module based on comprehensive comparison the supervised learning algorithm, neural network perturbation learning has characteristics of convergence to the global optimum, which is used to train the network. This neural network is feedforward neural network with three layers, the input of which is the output of SOM network, the output is prediction mode vector, prediction module training can be completed fast due to the schema mapping of complicated system state. IV. Analysis of Learning Performance Learning performance of learning model is analyzed by probability theory in the following. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 966 Ya Xie, Zhonghua Huang For a certain condition, p indicates correct probability of the next state prediction by prediction part, q indicates correct (optimal) action probability according to the planning, ε-greedy strategy is selected for action selection by learning agent. The optimal control strategy is learned by every action trial in traditional reinforcement learning, now learning process by introducing learning model is: agent selects action with probability ε according to the planning, or selects action randomly with probability 1-ε, if the state prediction is correct and planning behavior is optimal, in this case, the agent gain (learned) optimal strategy for the current status, and won't explore learning space, then prediction has accelerated the process of learning, improved learning efficiency, specific expressed as follows: Pt s pq V. 1 1 p 1 q A 1 1 1 pq pq A 1 (1) pq A 1 pq A 1 where Pt s indicates probability of optimal behavior strategy in the state st, A indicates action space of agent, Pt0 1 , Pt0 indicates optimal behavior strategy without A prediction, for any state, we can get as follows: Pt s Pt0 pq A 1 pq 1 A 1 A A A pq pq 1 The Application of Multi-Agent Q Learning Based on Prediction in RoboCup RoboCup provides a fully distributed control, real-time asynchronous multi-agent environment, RoboCup is carried out in the standard computer environment, using Client/Server, by the RoboCup association provides a standard Server, the team writes each client (Client) program, simulation of the actual football team. RoboCup is a two - team competition, each team consists of several agents, all agents share a common goal: to win, therefore teammate considers mutual collaboration between agents, opponent considers the mutual antagonism between agents, the agent should have the ability to learn in order to adapt to the complex environment constantly. Through RoboCup that is a distributed control, real-time asynchronous, noise multi-agent platform, variety of collaboration, coordination of theory, learning algorithm and multi-agent system structure and other artificial intelligence problem can be test. (1) Front-court confrontation and cooperation strategy learning As shown in Fig. 3, the attack between offensive team with three agent and defensive team with four agent, the goal of offensive team is score a goal, keep control of the ball, and do not let the ball out of bounds, No. 9 is an offensive player that uses multi-agent Q learning algorithm based on prediction to learn high-level strategy under this scenarios, we define the offensive player from the initial position to shoot success or outside of the ball as a scenario, and also, define the reward value of successful and unsuccessful behavior, if the action of player leads to good results, then the action is successful behavior, otherwise is not successful behavior, where score a goal, surpass are good results, but lost the ball, outside of the ball are not good results. Environment parameter selection, the agent setting and training process of training is similar to the previous chapter, here no longer repeated discussion, Because the training scenes is simple, so the number of training is less, a total of about 6000 training. In the design of learning model, the M-Dyna-Q algorithm[4][6] proposed by Weiss is used to construct and improve the planning part, 3 layer feedforward neural network is used as the prediction part, the SOM network (the network node is determined by the state parameter) is adopted as the state schema mapping. (2) The analysis of algorithm performance Fig. 4 is the performance curve of the learning agent, the number of unsuccessful action in 100 experiments is adopted as the performance index (ordinate), the abscissa is the number of iterative learning control, comparing to the traditional Q algorithm in the same period, view from Fig. 4, the action of strategy of agent with the adoption of 1 1 1 p A 1 pq with a high probability, otherwise, agent will tend to random exploring. (2) A A 1 Eq. (2) shows the comparison of learning model and traditional learning methods, if Eq. (2) is greater than 0, then the learning model is effective, otherwise the learning is invalid, for A pq pq part in Eq. (2), set x = pq, then A x x , which is a function of two variables, where two variables are between 0 and 1, when 1 1 ε=x= , the function has a minimum value as , at A A the same time, Eq. (2) is equal to 0, that is to say Pt s - Pte 0, this means that the learning model can improve the efficiency of learning, the learning algorithm based on prediction is equivalent to the traditional learning algorithm in the worst case, when forecasting and planning with right degree, agent will use planning rules Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 967 Ya Xie, Zhonghua Huang this learning algorithm after some learning steps is better than the strategy before unlearning; the learning algorithm can be convergent in the 4000 learning steps, while the Q learning algorithm cannot be convergent after 6000 learning steps. (in fact, the Q learning algorithm cannot be convergent after 10000 learning steps, this shows that the traditional Q learning cannot guarantee the convergence of learning in multi-agent environment), a funny thing is that if all agents use this learning algorithm, then how is their performance? This is another research direction. delay of reward is translated into instantaneous reward, learning efficiency is improved through theoretical analysis and prediction. In order to make full use of the prior knowledge, planning technology is used, planning part in learning module is composed of abstract control strategy, when the system is in a predetermined state, agent can select the optimal behavior according to the planning, In order to avoid the unfavorable influence of errors in planning, the action selection of agent with ε-greedy strategy. At the same time in order to the generalization ability and learning efficiency of enforcement learning in complex actual environment, SOM network is adopted to map the state to model, which the environment that is concerned by agent is transformed from system state with large number to model with small number. The learning algorithm can be applied to multi-agent environment, theoretical analysis shows that the algorithm is convergent, at the same time this algorithm effectively solves the problem of low efficiency of reinforcement learning in multi-agent environment. Successful application of this algorithm in RoboCup shows its good learning performance. There are two key problems in this learning model: the first is the planning design, how to effectively structure control rule set by the prior knowledge? How to improve the planning part so that it always gives the optimal planning? Second is the design of prediction function, how to choose the prediction function? How to improve prediction function? No discussion is given in detail, these problems in the paper as a matter of fact, the solution we can find similar to these individual problems in current research. It should also be noted that the learning process of this learning model includes three independent parallel processes: prediction function learning, planning learning and Q learning. Fig. 3. The training scenarios of agent Acknowledgments This work was supported by program for new century excellent talents in university (ncet-11-0968) and the key project of department of education of hunan province (11a206). Fig. 4. The performance curve of the learning agent VI. Conclusion References The significantly differences (characteristics) between reinforcement learning and other learning methods are: delayed reward and trial-and-error, which has a temporal credit assignment problem and the problem of infinite state visit. In multi-agent environment, this characteristics lead to the slow of learning speed and can't be convergent, in view of the above problems, this paper proposes a learning model, which contains a prediction module, the system state of next cycle is predicted in every cycle, since we can get the actual state information in every cycle, then prediction module is improved through existing methods according to the difference between prediction information and actual information, in a certain sense, the [1] [2] [3] [4] [5] Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Littman M L, Friend-or-foe: Q-learning in general-sum games, In 18th International Conference on Machine Learning. Williamstown, USA: Morgan Kaufmann Press, pp. 322–328, 2001 Yonghai Zhu, Shuyu Zhang, Pei Pei, Shugang Chen, Information Processing Model of Team Learning and Memory and Technical Support, (2012) International Review on Computers and Software (IRECOS), 7 (4), pp. 1812-1818. W. Zemzem, M. Tagina, A New Approach for Reinforcement Learning in non Stationary Environment Navigation Tasks, (2012) International Review on Computers and Software (IRECOS), 7 (5), pp. 2078-2087. Ong,S. C. W., Png, S. W., Hsu, D., and Lee, W. S, Planning under uncertainty for robotic tasks with mixed observability, IJRR, Vol. 29 N. 8, pp.1053-1068, 2010. LI Yi, JI Hong, Q-learning for dynamic channel assignment in cognitive wireless local area network with fibre-connected International Review on Computers and Software, Vol. 8, N. 4 968 Ya Xie, Zhonghua Huang distributed antennas, The Journal of China Universities of Posts and Telecommunications, Vol. 19 N. 4, pp.80-85, 2012. [6] Xiangfen Ji, Zhu Qi, Zhao Su, Spectrum allocation based on Q-Learning algorithm in Femtocell networks, Proceedings of 2012 IEEE International Conference on Computer Science and Automation Engineering, China, pp.782-787, 2012. [7] Hu yugang, The Research of Q Learning-Based Estimation of Distribution Algorithm, Proceedings of the 2011 10th International Symposium on Distributed Computing and Application to Business, Engineering and Science, China, pp.235-241,2011. [8] Xueqing SUN,TaoMao, Laura RAY, Dongqing SHI, Jerald KRALik, Hierarchical state-abstracted and socially augmented Q-Learning for reducing complexity in agent-based learning, Journal of Control Theory and Applications, Vol. 9 N. 3, pp. 440-445, 2011. [9] Sajid M. Sheikh, Shedden Masupe, M-Learning: User Expectations and Acceptance Study at the University of Botswana, (2012) International Review on Computers and Software (IRECOS), 7 (5), pp. 2183-2189. [10] Stone P. Layered learning in multiagent: A winning approach to robotics soccer. MIT Press, pp.125-130 ,2000. [11] Weiss G. Planning and learning together. In 4th International Conference on Autonomous Agent. Barcelona, Spain: ACM Press, pp.102-103,2000. [12] Takahashi Y, Edazawa K, and Asada M. Multi-Module learning system for behavior acquisition in multi-agent environment. In IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 927-931, 2002. Authors’ information School of Computer and Communication, Hunan Institute of Engineering Xiangtan 411104, China. Ya Xie was born in Changde, China, in 1982. She earned the M.S. degrees in Application of Computer from Central South University in 2006. At the same time, she is a teacher in department of computer and communication, Hunan Institute of Engineering(Xiangtan, China) from 2010. As the first author more than 10 papers were published. She current research interests include intelligent control and machine learning. Zhonghua Huang: Born in Hunan Province of China in 1979, doctor graduate is achieved from Central South University in 2006, now worked in Hunan Institute of Engineering for an associate, main research fields: function control, neural network etc. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 969 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Optimization of Processor Architecture for Sobel Real-Time Edge Detection Using FPGA Fawnizu Azmadi Hussin1, Zahraa E. M. Osman2, Likun Xia1, Noohul Basheer Zain Ali 1 Abstract – This paper presents an optimized processor architecture for Sobel edge detection operator on field programmable gate arrays (FPGA). The processor is optimized by the use of several optimization techniques that aim to increase the processor throughput and reduce the processor logic utilization. FPGA offers a high level of parallelism which is exploited by the processor to implement the parallel process of edge detection in order to increase the processor throughput and enable the processor to meet real-time performance constraints. To achieve realtime performance, the proposed processor consists of several Sobel instances that are able to produce massive output pixels in parallel. This parallelism enables data reuse within the processor block which reduces the number of calculations while increasing the processor throughput. Moreover, the processor gains performance with a factor equal to the number of instances contained in the processor block. By the application of the optimization techniques, the proposed Sobel processor is able to meet real-time performance constraints due to its high throughput even with a considerably low clock frequency. In addition, the logic utilization of the proposed processor is low compared to other Sobel processors when implemented on ALTERA Cyclone II DE2-70 board. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Real-Time and Embedded Systems, Processor Architecture, Optimization, Sobel Edge Detection I. The low level operations include image capture, noise reduction, image segmentation (including edge detection) and followed by image analysis (including feature extraction). The large amount of data encourages the use of parallel architectures to implement low level operations, e.g., the use of dedicated hardware rather than general purpose processors. The system back-end carries out high-level operations such as image interpretation and image recognition to recognize image contents. The high-level operations require less data bandwidth and are characterized as control-intensive operations which promote the utilization of instruction-level parallelism (ILP), e.g., the use of general purpose processors. From the above we can conclude that, one general purpose processor is insufficient to perform this variety of operations on the large amount of data in real-time. A more feasible system should contain a dedicated parallel processor at the front-end for the low-level processing of data, attached with a fast general purpose processor at its back-end to perform high level processing operations [5]. Since most of the algorithms for the low-level operations are iterative in nature, meaning the exact computations are to be repeated for each pixel in the image frame, increasing the image frame size will increase the computational burden significantly. For example, the NTSC video standard requires 30 frames per second, with approximately 0.25 mega pixels Introduction IMAGE processing operations are well known for their large amount of data and calculations; they require high computational capabilities, memory space, and processing time. Although today's general purpose processors are powerful, real-time image and video processing applications still need more computational power than what a general purpose processor can deliver. Such applications include real-time face/fingerprint recognition, real-time video surveillance, intelligent systems, military aerial and satellite surveillance systems. The architectures of the image processing systems should grant massive parallelism to keep pace with the large amount of data that are required to be processed in a certain time frame [1]-[4]. The use of parallel processing provides a solution for the problem of processing the extremely large amount of data in image processing applications. Image and video processing systems are then implemented by taking advantage of the high level of parallelism within their operations. The computational operations in a complete image/video processing system may be divided into two levels of processing operations: low level operations and high level operations. The operations in the lower level are more data intensive while the operations in the higher levels of processing are more control intensive. Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 970 Fawnizu Azmadi Hussin, Zahraa E. M. Osman, Likun Xia, Noohul Basheer Zain Ali per frame, resulting in a total of 7.5 mega pixels per second [6]. PAL video standard requires 25 frames per second with a larger frame size. Algorithms like image edge detection using Canny [40] operator require approximately 130 operations per pixel. High resolution image and video standard have 4 times more pixels per frame which will increase the computational load even further [6]. An efficient way to deal with the enormous amount of data is by using parallel processing. The key to efficient implementations of image and video processing systems are always achieved by exploiting data or instruction parallelism within the image processing algorithms. The data level parallelism (DLP) is exploited by applying the same operation to multiple sets of data while the instruction level parallelism is accomplished by scheduling the execution of multiple independent operations in a pipelined manner. Low-level processing operations entail nested looping with the innermost loop applying an operator (neighborhood, point and global operators) to obtain the output pixels forming the output image. Mixed with the large amount of data that requires high memory bandwidth, the nature of the low-level operations increases the possibility of utilizing data level parallelism when implementing their application [39]. High-level operations are control-intensive and are more sequential in nature than parallel. With irregular instructions structure and low data and bandwidth requirements, highlevel operations are meant for instruction level parallelism [2]. The design of image processing system, particularly the one specialized for a low-level operation on a dedicated hardware with limited resources, is not an easy procedure. It requires sacrificing some advantages for others, for instance memory space for processing speed and logic utilization for performance. A designer should achieve a feasible design by performing trade-offs between design characteristics to deal with the hardware limitations. This requires an optimization of the image processing algorithm during the process of transforming the algorithm from a research development phase to a hardware working system [2]. When implementing real-time image/video processing systems on resource constrained platform, the massive amount of input data makes developing an algorithm that is computational, memory, and power efficient a very difficult task. Since the algorithms are usually developed under "no resource limitations" environment, they have to be optimized in order to meet the real-time performance. Edge detection is a low-level operation that requires large amount of computations and data which necessitate an architecture with high-level of parallelism to be able to satisfy the system's time constraints. Although FPGAs provide high parallelism and re-programmability, their logical and memory resources are limited. Since design parameters such as throughput, power and area are dependent on each other, several trade-off decisions for an optimum performance/area trade-off of the hardware design are required. An optimized system should be able to deliver a high throughput (parallelism) with the minimum amount of logic (area) and consumes less power (low frequency). This research aims to present an optimization of an edge detection processor based on Sobel edge detection operator to be implemented on FPGA. The research focuses on optimizing the design by the simplification of the Sobel edge detection algorithm and the utilization of several optimization techniques. The optimization aims to minimize the logic and hence the power consumption. The optimization intends to maximize the processor throughput and frame rate while using a considerably low frequency by increasing the processor parallelism. This rest of this paper is organized as follows: section 2 describes the edge detection using Sobel operator. Section 3 explains the how image processing operations are optimized using several optimization techniques. Section 4 shows how Sobel operator is implemented on FPGA. The following sections present the proposed system and the implementation on FPGA followed by a comparative analysis of the system's performance compared to other similar approaches. II. Sobel Image Edge Detection Sobel operator is a widely used operator which depends on obtaining the gradient as a method for image edge detection [8]-[9]. It improves the edge detection response of Prewitt operator [10]-[11] by assigning higher weights to the pixels close to the candidate pixel. Utilizing double weights will smooth the image noise generated by the derivatives [12]. The Sobel gradients equations are shown in Eq. (1) and (2): Gx Gy f x, y x f x, y y Z 7 2Z8 Z9 Z1 2Z 2 Z3 (1) Z3 2Z6 Z9 Z1 2Z 4 Z7 (2) G f Gx 2 Gy1 Gx Gy Sobel operator is based on the differencing operation [1 0 -1] and averaging operation [1 2 1] in order to smooth the noise developed by the derivatives. By convolving these two operations together, the two 3x3 Sobel masks can be obtained. Fig. 1 shows the horizontal and the vertical masks of Sobel operator. Like all gradient operators, Sobel computes the first derivative of a grayscale input image by convolving the 3×3 masks on the image (Fig. 2). Since the borders cannot be calculated with the 3×3 mask, they have to be blacked out, partially calculated or calculated with zero extensions as partial neighborhoods. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 971 Fawnizu Azmadi Hussin, Zahraa E. M. Osman, Likun Xia, Noohul Basheer Zain Ali 1 -2 -1 0 0 0 1 2 1 -1 0 1 -2 0 2 Using alternative simpler algorithm. -1 0 1 Reduction of Computation Since the low-level image and video processing operations are able to perform a large number of computations on a massive amount of data, every operation counts. The reduction of the amount of operation to perform in the algorithm implies reducing the number of calculations to be performed on each pixel. This will increase the performance of the system to match the real-time constraints. Low-level operations that involve symmetrical computations or successive computational redundancies are perfect candidates for this reduction strategy. This strategy is usually implemented by revealing the mathematical identities and properties using manual expansion of the calculation steps. Edge detection is a perfect example of low-level window operations with high computational redundancy and symmetry. The sliding window operations entailed in the gradient edge detection operations involve symmetrical coefficients which can be employed to reduce the computations by rearranging and regrouping operations in order to reduce the occurrence of timeconsuming calculations. Fig. 1. Vertical and Horizontal masks of Sobel Fig. 2. Obtaining image gradient [7] The total gradient value G is then compared to a predetermined threshold value T=t. If the gradient value for the pixel exceeds the threshold value, then the pixel is counted as a featured pixel (an edge), or not otherwise. Sobel filter is more feasible to be implemented dedicated hardware than other filters because it has several advantages. First, Sobel mask has small number of entries (3×3) which make it easier to implement. Second, the Sobel masks contain 8 multiplications by 1 which reduces the number of multipliers (6 times). Third, the mask contains 4 multiplications by 2 which can be implemented using shift registers. This allows Sobel to be implemented on a multiplier free chip which will make the dedicated processor faster and smaller. Prewitt Filter is less complex if implemented on hardware because Prewitt kernel [1 1 1] consists only of 1's which does not require multiplication circuit. Sobel is a better choice than Prewitt because the low pass filter produced by the [1 2 1] kernel will result in a smoother frequency response compared to that of [1 1 1] kernel [4]. Reduction of Data Reduction of the amount of data to be processed is a major source of performance gain. Since the computations are performed on each pixel in the image frame, reducing the number of pixels is essential for achieving real-time performance and reducing the memory usage. Since edge detection is a low level operation that requires the calculations to be repeated for each pixel in the frame, reduction of data is not an applicable way of optimization for this kind of operations. Alternative Simple Algorithm The key in designing real-time resource-friendly systems is to base those systems on computationally simple algorithms. The algorithms may not be the perfect computational solution if they are considered from a mathematical point of view. However, they are convenient for embedded real-time systems. In the embedded world, a system's storage requirements are very important for the choice of a feasible solution which can indirectly affect the power consumption of the system. Therefore, an optimum real-time embedded solution should be computationally simple and memory and power efficient. Most of the optimization techniques used to optimize image processing systems for real-time attempt to find time-wasting computations and try to avoid them in order to reduce the overall execution time [13]. These techniques are utilized to optimize the designs of modern compilers to achieve the best time-space trade-off. III. Optimization of Image Processing System While variety of hardware and software optimization techniques are used to realize real-time versions of image/video processing algorithms, simplifying the algorithm can result in high performance gain. The simplification rationalizes the algorithm back to the core functionality, which reduces the computational complexity, the memory usage and the power consumption [2]. By applying simplification strategies to the algorithm in the research development environment, the optimized algorithm is able to meet real-time constraints when it is implemented on limited resource platform such as FPGA. Simplifying the algorithms of image/video processing reveals three basic schemes: Reducing the number of operations. Reducing the amount of processed data. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 972 Fawnizu Azmadi Hussin, Zahraa E. M. Osman, Likun Xia, Noohul Basheer Zain Ali This implies if the optimization attempts to minimize the execution time, the memory usage will increase accordingly and vice versa. That is due to the increment of the architecture parallelism which will accordingly increase the logic and memory consumption. In order to apply this concept on image processing applications, the optimization techniques need to be applied on the image processing algorithm to reduce the overall execution time [13]. Here are some of those techniques that are used to attain real-time performance in image processing systems. assign Z <= pi * x + omega * y; assign Q <= omega * (pi + y) The value (y*omega) represents a common sub expression and it might be assigned to an intermediate variable T as follows: assign T <= y * omega; assign Z <= pi * x + T; assign Q <= pi + T The value T will be saved in a register for further loop calculations. The effect of the common sub expression elimination is good enough to be used as a common compiler optimization. It is explained in section 5 how the Sobel processor is analyzed to eliminate the repeated calculations that occurs during the convolution. The calculations are completed once and the sub expression is reused several times inside the processor block. III.1. Arithmetic Identities Significant execution-time reduction can be achieved by common sense application of arithmetic identities, for example, the avoidance of multiplication by 1 and addition by 0 [13]. Moreover, a division operation executes slower than a multiplication operation in some computers. So it will be more efficient to replace it by multiplication with a negative exponent. This will save a considerable number of cycles. Section 5 demonstrates how this technique is used to optimize the Sobel algorithm which involves a lot of multiplications by 1 and 0. III.4. Loop Invariant Removal A common loop optimization technique is performed by the exclusion of code that does not change inside an iterative loop. The removal of the loop invariants can save the time required to recalculate the invariants inside the loop. The following Verilog® code is an example of removal of a loop invariant: III.2. Reduction in Strength Replacing arithmetic operations with equivalent but faster operations is referred to as reduction in strength [13]. Replacing a multiplication and division by the power of 2 with shifting operations is generally faster [2], [13]. Substituting multiplication and division operations with shifting will save not only several clock cycles but also considerable amount of logic resources required to implement a parallel multiplier or a divider by using a simple shift register. In this paper, the proposed architecture is optimized to replace all multiplications by 2 required by the Sobel masks with shift operations. for (i= 1; i < 100; i = i+1) begin X[i]= X[i] +2 *omega *t; end By eliminating the invariant (2 * omega * t), the code can be rewritten as: Z = 2 * omega * t for ( i= 1; i < 100; i +1) begin X [i] = X [i] + Z End III.3. Common Sub Expression Elimination In our proposed architecture, the thresholding operation is excluded out of the processor building block as a loop invariant operation. This reduces the processor size by avoiding the duplication of the comparator circuit in every building block. Common sub expression elimination is an optimization technique that searches for instances of identical expressions and replaces them with a single variable that carries the computed value. This necessitates examining whether or not the replacement is worthy, i.e. by examining whether saving the value of the variable is more expensive than recalculating it in terms of memory, logical resources and performance. Common sub expression elimination can be divided into two kinds: Local Sub expression elimination: A simple optimization that works within a simple basic block. Global Sub expression elimination: Implies analyzing the entire procedure by the use of the data flow analysis. For example, the following Verilog® code is considered: III.5. Loop Transformations Loop transformations attempt to improve performance by rewriting loops to make better use of the memory system [14]-[17]. Optimization of memory usage relies on the fact that the same data will be used repeatedly. The reused data are kept in a local or embedded memory which has low access latency. The reuse of the data in the embedded memory improves the performance by reducing accesses to main memory and hence reduces the memory access latency. Two types of data reuse are Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 973 Fawnizu Azmadi Hussin, Zahraa E. M. Osman, Likun Xia, Noohul Basheer Zain Ali explained here [18]: Spatial reused: When several data items within the same embedded memory line are reused in the loop, the loop exhibits spatial reuse. Temporal reuse: If the same data is used in more than one loop iteration then the loop demonstrates temporal reuse. The loop transformations are usually applied by changing the order of the execution of those nested loops. They aim to uncover the massive amount of fine-grain parallelism and to endorse the data reuse by the improvement of both the spatial and temporal data reuse. The interaction between loop transformation methods enables a wide variety of designs with different area and time trade-offs [16]. The loop transformations include the following types. III.5.1. // the loop after loop blocking for (i=0; i< max; i+= block_size){ for (j=0; j< max; j+= block_size){ for(ii= i; ii<i+block_size; ii++){ for(jj=j;jj<j+block_size;jj++){ a[ii][jj] += a[ii][jj]+ b[jj][ii]; } } } } It will be shown in section 5 how loop blocking is applied on the Sobel processor and combined with loop unrolling to enable more chance for data reuse. This decreases the number of calculations and hence the processor size. III.5.2. Loop Blocking (Tiling) Loop Fusion Loop fusion combines instructions from several adjacent loops that use the same memory locations into a single loop [26]. This enhances the data reuse by preventing the data from being reloaded and hence reduces total processing time. The next Verilog® codes show the effect of loop fusion on two loops: Loop blocking (also called strip mining or loop tiling) replaces a single loop with two loops [16]-[17], [25]. The inner loop works on a portion of the original loop iteration space with the same increment as the original loop. The outer loop navigates across the original iteration space with an increment equal to the block size. The inner loop will be fed by an outer loop with blocks of the original iteration space to execute the original loop block by block. When applying loop blocking on a nested loop with a depth n, the new nested loop depth will be anything between n+1 and 2n. Loop blocking divides the large loop iteration space into smaller blocks which allows the accessed data to fit in the low-capacity embedded or local memory. Moreover, loop blocking is used to minimize the external memory accesses by enhancing the reuse of the data in the embedded memory. It permits the processor to perform as many operations as possible on the array elements in the embedded memory and reduces the references to external memory [18], [26]. For instance, consider the following VHDL® code: // the original code for (i=1; i< n; i++) begin b[i] = a[i]+2*c; end for (i=1; i< n; i++) begin d[i]= b[i]+2*c; end //after loop fusion for (i=1; i< n; i++) begin b[i] = a[i]+2*c; d[i] = b[i]+2*c; end //loop before Blocking for (i=0; i< max; i++) { for (j=0; j< max; j++){ a[i ] [ j] += a [i , j]+ b[j , i]; } } Our proposed architecture combines the calculations of the vertical and horizontal gradients in one Sobel instance where both are calculated in parallel to reduce the processing time and enhance the data reuse. The code consists of two nested loop i and j. To apply loop blocking, each of the two loops is replaced with two loops, an outer loop and an inner loop. The outer loops i and j have the same size as the original i and j loops (before tiling), respectively. Although both the new loops i and j have a step size equal to the required block size. The inner loops ii and jj have sizes equal to the block size and a step size equal to the original i and j loops before the loop blocking, respectively: III.6. Scalar Replacement Scalar replacement or register promotion is an optimization technique that aims to reduce accesses to external memory by replacing repeated array references with scalar temporaries [17]. The replacement is achieved by storing the repeatedly referred array data in registers. In FPGA, scalar replacement can be implemented using internal registers or embedded RAM blocks. In nested loop computations (e.g., the image Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 974 Fawnizu Azmadi Hussin Hussin,, Zahraa E. M. Osman, Likun Xia, Noohul Basheer Zain Ali processing operations) multiple references are made to the same data in the same or consecutive loop iterations. Scalar replacement for reconfigurable architectures differs from cache based architectures in the data replacement and localization strategies. The data replacement aand nd localization are made explicitly, i.e., every datum has to be stored in a specific location in order to be reused by the designer, or discarded when it is no longer in use [16], [16 , [27] 27].. This paper presents a specially designed line buffer that is built using using the embedded RAM blocks inside the FPGA core as explained in section 6. The line buffer is used to store the data required by the Sobel processor for the calculations and is meant to reduce the external memory access latency and bring the data ready at execution time. described in section 3. The optimization is meant to increase the processor throughput, reduce the logic utilization and enable the processor to attain real real-time time performance at the same time. The optimization can reduce the memory read redundancy of the input data to a minimum and avoid the recalculations of the same data by using a processor that calculates several window operations in parallel. This way, the data are calculated once and reused several times inside the processor block. The Sobel processor is built out of several Sobel instances, each of wh which ich is able to produce one output pixel as shown in Fig. 3. The instance is built out of simple mathematical operators: subtractor (SUB), adders (ADD), shift operators (<<) and modulus operators (ABS). Separating the shift operator (<<) from the subtractor (SUB) enables reusing the subtractor result in future calculations. IV. Implementation ooff Sobel Operator on n FPGA Generally, implementing a Sobel edge detection system on FPGA is the same as a 22-Dimentional Dimentional (2 (2-D) D) image filter where line buffers are usually utilized as a delay line to feed the input pixels to the filter [28]. [28]. Each line buffer is as wide as a whole frame line and feeds the input pixels simultaneously with the other line buffers to the filter nodes. The line buffers allow each input pixel to be loaded once to the FPGA from the external memory. This reduces the memory read latency and enables the filter to achieve real-time real time performance constraints [28]. [28] Each pixel is multiplied by the filter coefficient (the Sobel masks in our case) and the multiplication results are added together in an adder tree. The output of the adder tree is the output pixel of the filter [6 [6],, [28] 28].. Since this design depends mainly on multiplications, the number of multipliers determines the design complexity. For filters with nonnon-symmetric symmetric coefficients, the size of the mask m*m generates a design with (m2) complexity. For 22-D D filters with symmetric masks, the complexity can be significantly optimized to ([(m+1) + (m+3)]/8) and the reduction can be increased up to (m+1) for separable filters, i.e., 11-D D filter in tthe he horizontal direction and another 11-D D filter in the vertical direction (such as Sobel filter). Separable designs enable parallel processing for the horizontal and vertical oriented gradients on FPGA [6]. [6] A dedicated processor for Sobel edge detection operator is designed to be implemented on FPGA operator platform using several design techniques. It can be implemented using a parallel and pipelined architecture as in [16], 30],, using distributed arithmetic [16 , [[29]]-[30] algorithm [17 [17],, [31] 31],, and it can also be implemented implemente using systolic arrays as in [7],, [32 33]. 32]-[[33] V. Fig. 3. Basic Sobel Instance The Sobel instance utilizes the loop fusion optimization technique by calculating the vertical and the horizontal gradient in parallel in the same instan instance. ce. The instance is optimized using arithmetic identities technique to avoid multiplication by 1 and the addition by 0 during the calculation of the gradient. Avoiding unnecessary calculations will reduce the number of calculations and hence reduce the pro processing cessing time and the logic utilization. While calculating the gradient, the instances substitute the multiplication by 2 in the Sobel masks with a shift operation, i.e., reduction of strength. streng th. The shift operation is faster in execution and can be implement implemented ed with fewer logic elements than a multiplier would require. That makes the proposed processor a multiplier free processor. The comparison of the Sobel gradients with the threshold value is processed outside the Sobel instance as a loop invariant operatio operation. n. The thresholding will increase the logic utilization if kept as part of the Sobel instance calculations because it requires placing a comparator in each Sobel instance. Linear algorithm such as edge detection can be altered to support parallel architect architecture ure format by the use of partial loop unrolling. Optimization ooff the he Sobel Edge Detection Processor The architecture proposed in this paper is optimized using a combination of the optimization techniques Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 975 Fawnizu Azmadi Hussin Hussin,, Zahraa E. M. Osman, Likun Xia, Noohul Basheer Zain Ali This implies, duplicating the Sobel instance to form one combinational block that can calculate several outputs in parallel. Fig. 4 illustrates how the optimized Sobel processor block is partially unrolled bby y a factor of 4 to form a 11×4 ×4 Sobel processor block. two third of the subtractions performed while obtaining horizontal gradient Gy are repeated in the cal calculations culations of the next window operations within the same image line due to the high data dependency in the Sobel edge detection operator. Since the data of Gy in each window calculations are reused in the next two window operations in the same line, the 1x4 processor-row processor row fully reuse the data of the first two instances and partially reuse the data of the thir third d one. Therefore, the number of four Sobel instances is chosen as the default number of the Sobel instances in the processor row. Increasing the number ooff instances in the processor row allows more opportunities for data reuse and increases the processor throughput but increases the logic utilization consequently. Using a parallel architecture and partial loop unrolling, the previous calculations can be reused reused within one image line. The vertical black lines in Fig 4 show how the calculations of Gy are reused in the following window operations within the same row. This way, 1x4 Sobel processor block eliminates recalculations within the same image line; i.e. implementing common sub expression elimination technique technique.. The elimination of the common sub expressions reduces the number of subtractors in the design which reduces the total logical utilization. The concept of loop blocking can also be applied on the proposed proposed Sobel processor architecture if we consider the data reuse of Gx calculations since 2/3 of the subtractions within Gx calculations are repeated in the calculations of other Gx calculation in the next row due to the data dependencies within the calcul calculations ations of Gx. Combined with partial loop unrolling, loop blocking can be exploited to enable the data reuse within the calculations of multiple image lines at the same time. By exploiting the data reuse within two image lines, the processor instances are cconnected onnected as shown in Fig. 5. Every four vertical consecutive instances are considered as a Sobel Processor row. The rows are connected to each other to form a Sobel processor block and exploit the data reuse. Fig. 5, details the connection of the first an and d second rows of the Sobel instances. The thick black vertical connection lines indicate data reuse within the same row (G ( y calculation). The thicker black horizontal connection lines indicate computation data reuse from previous rows (G 2×4 optimized Sobel processor ( x calculation). In a 2×4 block shown in Fig. 5 it can be noticed that, the number of subtractors in the second processor row is less (10 subtractors) than that of the first row (18 subtractors) which reduces the logic resources used. The optimized Sobel Sobel processor block may contain more than two rows. The following rows of instances are all similar to the second row and all are connected in the same way. The number of Sobel rows can be increased as needed and is limited by the available FPGA resources resources. Fig. 6 shows a 4x4 optimized Sobel processor which is capable of producing sixteen 88--bit bit output pixels in one clock cycle. Optimizing the design with loop unrolling and loop blocking requires the input data to be available Fig. 4. One row of the optimized Sobel processor The four Sobel instances are connected in a way that exploits FPGA parallelism and data reuse within one line of the input image. The thick vertical lines indicate the data reuse within the same image line. Depending on the number of instances in the Sobel processor block, the processor will gain performance by a factor equal tto o the number of instances used. Notice that the number of the Sobel instance instancess in the optimized Sobel processor row can be increased as needed and is limited by the amount of logic available on the FPGAs. It should be noticed that Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 976 Fawnizu Azmadi Hussin, Zahraa E. M. Osman, Likun Xia, Noohul Basheer Zain Ali at the execution time on the FPGA board; this is solved by the use of the scalar replacement technique that stores the required image lines as sets of shift registers connected as tap-delay-lines, i.e., line buffers. designed and integrated with the Sobel processor to feed the data back to the external memory in a raster order (row by row) [34]. Therefore, the multiple-row optimized Sobel processor will calculate the gradients for a certain number of pixels from several image lines depending on the number of rows in the processor block and the number of instances in each row. By reusing the calculation results of previous window operations, our proposed architecture reduces the number of subtraction operations of a similar architecture without the data reuse by 50%. The data reuse method reduces the processing time because each pixel needs to be read from memory at most twice instead of up to six times. VI. The Line Buffer Module In this paper, the one-row 1×4 Sobel processor that exploits the data reuse within one image line is implemented on FPGA as a complete edge detection system. A line buffer is designed to feed the required number of input pixels to the processor in every clock cycle. This enables the process to achieve real-time performance. The line buffer module is utilized to feed the grayscale 8-bit pixels from the input image stored in an external SRAM to the Sobel processor. As illustrated by Fig. 7, the line buffer has the capacity to hold 3 lines of pixels. Each line consists of 160 memory locations; each location is 32-bit in length to store a total of 640 grayscale pixels (4 pixels in each location). The three lines accommodate a total of 1920 pixels in 480 locations. The line buffer is fed by a FIFO that shifts a 32-bit long word (4 pixels) from the SRAM to the line buffer in every clock cycle. The line buffer has one write pointer (wp) and three read pointers (rp0, rp1 and rp2) to read from each of the three image lines stored in the line buffer. All the pointers are set to point to the 0 location whenever the asynchronous clear (aclr) signal is asserted to reset the buffer. When the write pointer reaches the location number 479, it will point back to location 0 to fill up the first location again. The read pointers rp0, rp1, and rp2 will point to the start of each image line before the reading is started, i.e. rp0 = 0, rp1 = 160 and rp2 = 320. The read pointers are incremented to point to the next memory location in every clock cycle. To read the image pixels in the line buffer, the memory location which is pointed by the read pointer will be stored in a 32-bit register (pixout). Since six pixels are needed from each image line to calculate four output pixels, two (pixout) registers are needed for each image line. At every rising edge of the clock, the pixels in the first register, e.g. (pixout0) will be replaced by the previous values of the second register (pixout1). The registers are wired to the line buffer output taps (taps00 to taps25). The taps are wired to the Sobel processor to feed the pixels for calculating the edges. Fig. 5. Data reuse within two consecutive image lines (2 Sobel processor rows) Scalar replacement is implemented using the embedded M4K RAM blocks that are available on the FPGA core. The line buffer contents can be accessed concurrently to feed the Sobel processor block with input pixels enabling the calculation of multiple outputs in parallel every clock cycle. It should be noted that, increasing the size of the line buffers enables the exploit of more data reuse but will increase the logic utilization significantly. Additionally, a large line buffer has the disadvantage of a long overhead of filling the tabs before execution. The size of the processor is only limited by the logic resources and it is possible to use a single row processor or multiple processor rows as shown in Fig. 4 and Fig. 5, respectively. Implementing a single-row optimized Sobel processor with a certain size requires a special line buffer to be designed according to the number of Sobel instances inside the optimized Sobel block. The line buffer handles the data from an external memory and feeds the required amount of pixels to the processor determined by the processor size. In case of using an optimized Sobel processor that contains multiple rows of instances, another line buffer should be Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 977 Fawnizu Azmadi Hussin, Zahraa E. M. Osman, Likun Xia, Noohul Basheer Zain Ali Subtractor Shift register Modulus operator Adder Calculation reused from previous rows Calculation reused within the same row Fig. 6. 4×4 optimized Sobel processor VII. Implementation of the Optimization Sobel Processor on FPGA In order to implement the single row optimized Sobel processor on FPGA to run in real-time, the processor has to be integrated with a digital camera, an external memory, and a PC monitor to work as a complete edge detection system on the FPGAs board. As illustrated in Fig. 8, the digital camera captures a video stream which represents the system input. The input frames are stored in the FPGA board SRAM memory. The line buffer of the optimized Sobel processor is connected to the SRAM in order to pass the input pixels to the optimized Sobel processor. The Sobel processor writes the output pixels back to the SRAM. The VGA controller reads the processor output pixels from the SRAM to be shown on the screen. The SRAM connects to the Sobel processor by the use of a multiport memory controller module. The multiport memory controller module connects the SRAM to the camera by a camera controller module. The camera controller will transform the raw image pixels into RGB and change the RGB to grayscale pixels and write them to the SRAM. This way, 2/3 of the SRAM space is Fig. 7. Line buffer for a 1x4 optimized Sobel processor. Fig. 8. The proposed edge detection system on Cyclone II FPGA board Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 978 Fawnizu Azmadi Hussin, Zahraa E. M. Osman, Likun Xia, Noohul Basheer Zain Ali saved. Four FIFO modules designed by [35] were used to synchronize the SRAM with the other devices. The FIFO1 is used to connect the camera controller module with the SRAM multiport memory controller. The FIFO2 synchronizes the SRAM controller with the line buffer of the Sobel processor. The FIFO3 enables the Sobel processor to write the output pixels back to the SRAM by passing them to the multiport memory controller module. The FIFO4 connects the multiport memory controller module to the video graphic adapter (VGA) controller module that connects the monitor to the multiport SRAM controller. All the system modules are designed using the Verilog® hardware description language (HDL). The functionality of the system was tested using Modelsim-Altera 6.1g software. Altera Quartus® II web edition version 9.1 software was utilized to run the timing simulation of the design and to download the system design files on Altera Cyclone® II DE2-70 EP2C70F896C6 FPGA. The Altera DE2-70 board has a 2MB SRAM which is used as the external memory and a frame buffer of the edge detection system. The TRDB_D5M 5 Mega pixel digital camera from Terasic was used for video stream capture which can be simply installed on any Altera DE2-70 board. The Quartus II Classic Timing analyzer is used to analyze the performance of module that combines the Optimized Sobel processor with the line buffer. The fast timing model shows a maximum frequency of the line buffer clock of 91.86MHz with a 10.886ns clock period which is the maximum frequency of the processor. The processor has a maximum throughput of 367.77 MP/s and a maximum frame rate of 1196.02fps when operating at 91.86 MHz. The system generates an edgedetected real-time video stream successfully. A snapshot of the output video stream on the VGA monitor is illustrated in Fig. 9 and Fig. 10, respectively. Fig. 9 shows a grayscaled snapshot of Susan Lordi's sculpture with black background which represents the input to the processor. Fig. 10 shows the image after edge detection is applied. The system does not employ any form of noise reduction and the result snapshots are somewhat noisy. Therefore, the comparison between the gradient and the threshold image is inverted to produce 0 (black) when the gradient value is greater than the threshold value (an edge) and 1 (white) otherwise (not an edge). Fig. 10. Sobel edge detection snapshot from a monitor screen TABLE I LOGIC UTILIZATION COMPARISON Sobel Processor FPGA type The optimized Sobel processor Processor proposed by [29] Processor 1 proposed by [16] Processor 2 proposed by [16] Processor proposed by [36] Cyclone II DE2-70 Xilinx Spartan 3 1×4 Number of 4LUTs (equivalent) 548 1×1 202 Xilinx Virtex 4 1×1 570 Xilinx Virtex 4 1×1 701 Xilinx XC3042 1×1 140 Architecture configurations The inversion of the thresholding result enables easier observation of the black edges in a white background in the presence of noise. It should be noticed that the implementation of the system is based on a 1x4 Sobel processor that employs the data reuse within one image line. In order to implement a multiple-row Sobel processor that employ the data reuse in multiple image lines, an output buffer is required to handle output data produced by the processor from multiple image lines and feed it to FIFO3 in a raster order.The single row 1×4 Sobel processor was chose of r implementation because it is able to satisfy real-time performance constraints with less logic resources. The multi-row Sobel processor is useful for applications that require extremely high performance in the low level operations with no resource limitation. VIII. Comparative Analysis of Sobel Processors This section presents a comparative analysis between the proposed image edge detection system based on the optimized Sobel edge detection processor and other Sobel edge detection systems performances. The comparison is performed between the 1×4 optimized Sobel processor and four Sobel processors proposed by [16], [29], [36]. The comparison is based on two characteristics: clock frequency and processor throughput. These two characteristics determine whether Fig. 9. Grayscale snapshot of the input video from a monitor screen Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 979 Fawnizu Azmadi Hussin, Zahraa E. M. Osman, Likun Xia, Noohul Basheer Zain Ali or not the system can satisfy real-time systems constraints. On the one hand, a system with a high clock frequency is desirable for its high processing speed which increases the system throughput accordingly. On the other hand, a high clock frequency increases the power consumption of the system which makes it less efficient for mobile applications [23], [37]-[38]. The comparison shows that the optimized Sobel processor is able to achieve a significantly higher throughput than other methods with a considerably low frequency. Since the optimized Sobel processor is implemented using the Altera Cyclone II DE2-70, while the other processors were implemented on Xilinx FPGA (Spartan 3 for [29], XC3042 for [36] and Virtex 4 for [16]), the architecture differences between the two vendors must be considered before the evaluation. TABLE II PROCESSORS PERFORMANCE COMPARISON Clock Throughput Processor frequency (MP/s) (MHz) The optimized 91.86 367.44 Sobel processor Processor 134.756 134.432 proposed by [29] Processor 1 253 60.4 proposed by [16] Processor 2 264 72.52 proposed by [16] Processor 40 4.44 proposed by [36] It is seen from Table I that the optimized Sobel processor requires 548 4-LUTs since the LE of DE2-70 board consists of one 4-LUT. The processor proposed by [29] occupies 202 4-LUTs of the Xilinx Spartan 3. The architecture has less LUTs than the optimized Sobel processor because it consists of a single Sobel module that calculates one output pixel in every clock cycle. Processor 1 proposed by [16] uses the data reuse by exploiting scalar replacement technique within the horizontal calculations by saving the reused data in dedicated logic registers to be used in the next clock cycle. Therefore the logic utilization is close to that of our proposed architecture. Processor 2 proposed by [16] utilizes the data reuse in the horizontal and vertical direction and saves the reused data in the block RAM of the Xilinx Virtex 4 FPGA. The processor occupies about 28% more LUTs than the optimized Sobel processor. The Sobel processor presented by [36] is implemented on Xilinx XC3042 device with 70 CLBs which are equivalent to 140 LUTs. Considering the architecture configurations of the processors in the table (column 3), the optimized Sobel processor contains 4 Sobel instances to calculate 4 output pixels at the same time while all the other processor contain only one Sobel instance. This makes the optimized processor use the least logic utilization in comparison with the other processor in Table I. The comparison between the Sobel processors in terms of frequency and throughput is summarized in Table II. The maximum performance of the optimized Sobel processor is compared with the other Sobel processor mentioned in the literature. The throughputs and frame rates of each processor are recalculated for a 640x480 frame size to match the frame size of the optimized Sobel processor. For instance, the Sobel processor proposed by [29] operates at 134.756 MHz and is able to calculate the edges for an image size of 512×512 (262,144) pixels in 1.95 ms. This results in a throughput of (262,144*1000/1.95=134.432x106) 134.432 MP/s. For a frame size of 640×480 (307200) pixels, the processor can achieve a frame rate up to (134.432×106/307200 = 437.6) 437.6 fps. Similarly, the Sobel processor 1 proposed by [16] is capable of processing 128×128 (16,384) pixels in 0.271 ms with a frequency of 253 MHz which results in a throughput of (16,384*1000/0.271 = 60.4x106) 60.4 MP/s. The frame rate for a 640×480 frame size can be calculated as 60.4×106 /307200= 196.8 fps. The same calculations are performed to calculate the frame rate for processor 2 proposed by [16] that can process 16,384 pixels in 0.226 ms (72.5 MP/s throughput) running with a 264 MHz clock. Finally, the Sobel proposed by [36] reports a throughput of 4.4 MP/s, which can produce (4.44x106 /30720) 14.45 fps for a 640×480 frame size. As reported in Table II, the optimized Sobel processor has a maximum clock frequency of 91.86 MHz which is considerably low compared to the other Sobel processors Frame rate (fps) 1196.02 438.6 196.85 336.09 14.45 For instance, the Altera Cyclone II DE2-70 FPGA consists of logic array blocks (LABs) that contain 16 LEs in each. Each logic element contains a single 4-input look up table (4-LUT) and other logic for multiplexing, addition and some registers while the Xilinx FPGAs from Virtex 4 family and earlier families (includes Spartan 3 family) consist of slices, each of which consists of two 4-LUTs and other logic for multiplexing and adding and registers. The Xilinx XC3042 FPGA contains Configurable Logic Blocks CLBs. The CLB architecture is based on 32x1 LUT that can be separated into two 4-LUTs to implement two logic functions with 4 inputs each. Therefore, the comparison between the two vendors should be based on the number of LUTs occupied by the architectures in each FPGA platform because the architecture of the LUT is nearly the same. The comparison between the five architectures is shown by Table I. It should be considered that the logic utilization comparison between the different platforms is a best estimate because the logic utilization does not take into account the number of flip flops, multiplexers, and routing logic which are essential parts of the LE, slice, and (CLBs). Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 980 Fawnizu Azmadi Hussin, Zahraa E. M. Osman, Likun Xia, Noohul Basheer Zain Ali in the table except for the processor in [36]. The low frequency can help decrease the power consumption of the processor and enable the use of the processor in mobile and embedded systems [23], [37]-[40]. The optimized Sobel processor has the highest throughput and the highest frame rate with 367.44 MP/s and 1196.02 fps, respectively. The high throughput is caused by the partial loop unrolling of the design to produce 4 Sobel edge detection pixels in one clock cycle. This increases the frame rate concurrently to 1196.02 fps. The high frame rate and high throughput exceeds the real-time systems constrains and the low frequency makes the optimized Sobel processor a better choice for embedded systems. References [1] [2] [3] [4] [5] [6] IX. Conclusion This paper proposes a dedicated Sobel processor architecture on FPGA. The processor is optimized by applying several optimization techniques to reduce the logic utilization and increase the throughput. The proposed Sobel processor utilizes data reuse by taking advantage of the parallelism in the edge detection algorithm and the parallelism offered by the FPGA as the implementation platform. A single row of the Sobel processor utilizes the data reuse within one image line in the calculations of the horizontal gradients. The processor that consists of multiple rows utilizes the data reuse within the same image line and within multiple image lines to enable data reuse in both the calculations of the horizontal and the vertical gradients, respectively. The effect of the optimization carried out on the processor is significant in terms of logic utilization and performance. In terms of logic utilization, the optimization reduces the processor size, allowing more instances to be placed inside the processor block. Consequently, the processor gains performance with a factor equals to the number of the Sobel instances contained in the processor block. The comparative analysis shows that the Sobel processor is able to achieve a very high throughput even when operating with a low clock frequency compared to other Sobel processors discussed in the literature. With the help of the specially designed line buffer, the proposed processor is able to produce several output pixels every clock cycle and hence satisfy real-time systems constraints. The low logic utilization of the Sobel processor along with its significantly high throughput and low operating frequency make it a good choice for mobile and embedded systems. [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] Acknowledgements This work was supported by Universiti Teknologi PETRONAS Graduate Assistantship (GA) scheme. [20] Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved B. A. Draper, et al., "Accelerated image processing on FPGAs," Image Processing, IEEE Transactions on, vol. 12, pp. 1543-1551, 2003. N. Kehtarnavaz and M. Gamadia, Real-time image and video processing: from research to reality: Morgan & Claypool Publishers, 2006. Z. E. M. Osman, et al., "Hardware implementation of an optimized processor architecture for SOBEL image edge detection operator," in Intelligent and Advanced Systems (ICIAS), 2010 International Conference on, 2010, pp. 1-4. Z. E. M. Osman, et al., "Optimization of Processor Architecture for Image Edge Detection Filter," in Computer Modelling and Simulation (UKSim), 2010 12th International Conference on, 2010, pp. 648-652. J. G. Ackenhusen, Real-time signal processing: design and implementation of signal processing systems: Prentice Hall PTR, 1999. H. S. Neoh and A. Hazanchuk, "Adaptive Edge Detection for Real-Time Video Processing using FPGAs," presented at the The International Conference for Embedded Signal Processing Applications, GSPx 05, Santa Clara, CA, 2005. C. Torres-Huitzil and M. Arias-Estrada, "FPGA-based configurable systolic architecture for window-based image processing," EURASIP J. Appl. Signal Process., vol. 2005, pp. 1024-1034, 2005. N. Kanopoulos, et al., "Design of an image edge detection filter using the Sobel operator," IEEE Journal of Solid-State Circuits, vol. 23, pp. 358-367, 1988. I. Sobel and G. Feldman, "A 3x3 Isotropic Gradient Operator for Image Processing," presented at a talk at the Stanford Artificial Project, unpublished but often cited, orig. in Pattern Classification and Scene Analysis, Duda,R. and Hart,P., John Wiley and Sons,'73, pp271-2, 1968. J. M. S. Prewitt, "Object enhancement and extraction," Picture Processing & Psychopictorics, Academic Press, New York, pp. 75149, 1970. S. C. Wu and J. M. S. Prewitt, "An Application of Pattern Recognition to Epithelial Tissues," in Proceedings of the Annual Symposium on Computer Application in Medical Care, 1978, pp. 15-25. B. Chanda and D. Majumder, Digital image processing and analysis: Prentice-Hall of India, 2004. E. Dougherty and P. Laplante, Introduction to real-time imaging: SPIE Optical Engineering Press, 1995. N. Baradaran, et al., "Compiler reuse analysis for the mapping of data in FPGAs with RAM blocks," in Proceedings of IEEE International Conference on Field-Programmable Technology, 2004, pp. 145-152. J. M. P. Cardoso and P. C. Diniz, "Modeling Loop Unrolling: Approaches and Open Issues," in Computer Systems: Architectures, Modeling, and Simulation. vol. 3133, A. Pimentel and S. Vassiliadis, Eds., ed: Springer Berlin / Heidelberg, 2004, pp. 224-233. J. Park and P. C. Diniz, "Partial data reuse for windowing computations: performance modeling for FPGA implementations," presented at the Proceedings of the 3rd International Conference on Reconfigurable Computing: Architectures, Tols and Applications, Mangaratiba, Brazil, 2007. B. So and M. Hall, "Increasing the Applicability of Scalar Replacement," in Compiler Construction. vol. 2985, E. Duesterwald, Ed., ed: Springer Berlin / Heidelberg, 2004, pp. 2732-2732. Y. N. Srikant and P. Shankar, The Compiler Design Handbook: Optimization and Machine Code Generation: CRC PRESS, 2007. B. Buyukkurt, et al., "Impact of Loop Unrolling on Area, Throughput and Clock Frequency in ROCCC: C to VHDL Compiler for FPGAs," in Reconfigurable Computing: Architectures and Applications. vol. 3985, K. Bertels, et al., Eds., ed: Springer Berlin / Heidelberg, 2006, pp. 401-412. O. S. Dragomir, et al., "Loop unrolling and shifting for reconfigurable architectures," in International Conference on Field Programmable Logic and Applications, FPL, 2008, pp. 167- International Review on Computers and Software, Vol. 8, N. 4 981 Fawnizu Azmadi Hussin, Zahraa E. M. Osman, Likun Xia, Noohul Basheer Zain Ali 172. [21] O. S. Dragomir, et al., "Optimal Loop Unrolling and Shifting for Reconfigurable Architectures," ACM Trans. Reconfigurable Technol. Syst., vol. 2, pp. 1-24, 2009. [22] J. Mellor-Crummey and J. Garvin, "Optimizing Sparse Matrix– Vector Product Computations Using Unroll and Jam," International Journal of High Performance Computing Applications, vol. 18, pp. 225-236, 2004. [23] S. Kilts, Advanced FPGA Design: Architecture, Implementation, and Optimization: John Wiley & Sons, 2007. [24] F. Hannig, et al., "Parallelization Approaches for Hardware Accelerators – Loop Unrolling Versus Loop Partitioning," in Architecture of Computing Systems – ARCS 2009. vol. 5455, M. Berekovic, et al., Eds., ed: Springer Berlin / Heidelberg, 2009, pp. 16-27. [25] K. Jung Sub, et al., "An Automated Framework for Accelerating Numerical Algorithms on Reconfigurable Platforms Using Algorithmic/Architectural Optimization," Computers, IEEE Transactions on, vol. 58, pp. 1654-1667, 2009. [26] U. Meyer, et al., Algorithms for memory hierarchies: advanced lectures: Springer, 2003. [27] N. Baradaran, et al., "Extending the Applicability of Scalar Replacement to Multiple Induction Variables," in Languages and Compilers for High Performance Computing. vol. 3602, R. Eigenmann, et al., Eds., ed: Springer Berlin / Heidelberg, 2005, pp. 455-469. [28] K. Benkrid, et al., "High level programming for real time FPGA based video processing," in Proceedings of IEEE International Conference on Acoustics, Speech, and Signal Processing. ICASSP '00, 2000, pp. 3227-3230. [29] T. A. Abbasi and M. U. Abbasi, "A proposed FPGA based architecture for Sobel edge detection operator," Journal of active and passive electronic devices, vol. 2, pp. 271–277, 2007. [30] S. Hezel, et al., "FPGA-based template matching using distance transforms," in Proceedings of the10th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2002, pp. 89-97. [31] S. Chivapreecha and K. Dejhan, "Hadware implementation of Sobel-Edge detection Distributed Arithmatic Digital Filter " presented at the 25th ACRS, Asian Conference on Remote Sensing, Chiang Mai, Thailand, 2004. [32] R. W. Means and H. J. Sklar, "Systolic array image processing system," United States Patent, 1989. [33] N. K. Ratha, et al., "Convolution on Splash 2," in FPGAs for Custom Computing Machines, 1995. Proceedings. IEEE Symposium on, 1995, pp. 204-213. [34] P. M. Athanas and A. L. Abbott, "Real-time image processing on a custom computing platform," Computer, vol. 28, pp. 16-25, 1995. [35] C. E. Cummings, "Simulation and Synthesis Techniques for Asynchronous FIFO Design," presented at the SNUG 2002, Synopsys Users Group Conference, San Jose, CA, 2002. [36] L. Xue, et al., "FPGA based Sobel algorithm as vehicle edge detector in VCAS," in Proceedings of the 2003 International Conference on Neural Networks and Signal Processing, 2003, pp. 1139-1142 Vol.2. [37] H. Saar. (2006, Minimizing FPGA power consumption. Available: http://www.eetimes.com/design/automotivedesign/4004640/Minimizing-FPGA-power-consumption [38] R. Woods and J. McAllister, FPGA-based implementation of signal processing systems: John Wiley & Sons, 2008. [39] Mostafa Ayoubi Mobarhan, Asadollah Shahbahrami, Mojtaba Ayoubi Mobarhan, Atefeh Ahmadnya Khajekini, Shiva Derogar, "License Plate Identification Algorithms Using Color Analysis and Edge Features, (2012) International Review on Computers and Software (IRECOS), 7 (3), pp. 1012-1019. [40] Mohammad Javad Ebrahim, Hossein Pourghassem, A Novel Automatic Synthetic Segmentation Algorithm Based on Mean Shift Clustering and Canny Edge Detector for Aerial and Satellite Images, (2012) International Review on Computers and Software (IRECOS), 7 (3), pp. 1122-1129. Authors’ information 1 Department of Electrical and Electrical Engineering, Universiti Teknologi PETRONAS, 31750 Tronoh, Perak, Malaysia. E-mails: fawnizu@petronas.com.my likun_xia@petronas.com.my. noohul.z@petronas.com.my 2 Department of Engineering, Simmid Corporation, 47301 Petaling Jaya, Selangor, Malaysia. E-mail: zahraa@symmid.com Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 982 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Aspect-Oriented Modeling Approaches and Aspect Code Generation Abid Mehmood, Dayang N. A. Jawawi Abstract – The integration of aspect oriented modeling approaches with model-driven engineering process achieved through their direct transformation into aspect-oriented code can enhance the software development from many perspectives. However, since no aspect modeling technique has been adopted as the standard so far, it becomes imperative to compare all existing techniques on the basis of some appropriate criteria. This study aims to assess existing UMLbased aspect-oriented modeling techniques from the perspective of their suitability with regards to integration into model-driven engineering process through aspect-oriented code generation. For this purpose, an evaluation framework has been defined and employed to evaluate 14 wellpublished, UML-based aspect-oriented modeling approaches. Results of this comparison show that a majority of these approaches works well to handle the basic modeling tasks. However, in the context of their integration into model-driven engineering process, these approaches need to be improved from various perspectives. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Aspect-Oriented Modeling, Model-Driven Engineering, Code Generation I. Therefore, in practice, aspect-oriented techniques are applied during analysis using Early Aspects [1], during design using Aspect-Oriented Modeling (AOM) [2], and using Aspect-Oriented Programming [3] for implementation. A few of the benefits of applying aspect orientation to software development may be found linked with maintainability, extensibility and reusability of the system, see for example [4]-[6]. The current study is specifically related to aspectoriented design approaches (i.e., AOM approaches) and their subsequent integration with Model-Driven Engineering (MDE) [7]-[9] process. Essentially, MDE process makes the models a primary development artifact and uses them as basis for obtaining an executable system. It emphasizes on subjecting models to a refinement process, through automatic transformations, until a running system is obtained. An integration of AOM approaches with MDE process (i.e., obtaining a final executable system from aspect-oriented models) can be realized through two different ways [10], [11]. First approach works purely at the modeling level and uses a model weaver to integrate the aspect and base models in such a way that a non-aspect-oriented (i.e., object-oriented) model is obtained. Object-oriented code generation approaches are subsequently used to generate code into one of the object-oriented programming languages. Examples of the use of this integration approach are the Motorola WEAVR [12], Dynamic Weaver [13]. On the other hand, second approach directly transforms the aspect-oriented model into code of an Aspect-Oriented Programming (AOP) language and relies on weaver provided by the target language to deal Introduction Aspect-oriented software development (AOSD) approaches [1]-[3] are applied to software systems development for improved handling of crosscutting concerns, which represent the functionality that cuts across the primary modularization of a system. Crosscutting concerns usually seem to originate from non-functional requirements such as logging, security, persistence etc. However, it is not uncommon to find situations where even the functional requirements have their behavior spread out over many modules. A good example of a common crosscutting concern is the behavior related to authentication/authorization of a particular role in a software system. A straightforward representation of this behavior at modeling and implementation levels, usually supported by object-oriented paradigm, would most likely cut across all modules wherein update operations are performed. Such representation results in problems associated with the phenomenon of scattering (a concern spread out over several modules) and tangling (one module representing more than one distinct concern) of behavior. Aspect-oriented techniques provide mechanisms to explicitly identify, separate, and encapsulate such crosscutting behavior (usually referred to as aspect behavior). Once the aspect behavior is encapsulated separately, composition mechanisms are also provided to control where and when this behavior is to be integrated with non-crosscutting behavior (usually referred to as the base). Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 983 Abid Mehmood, Dayang N. A. Jawawi with aspects, see for example, MATA [14] and RAM mapping [15]. We focus on the second approach to integrating aspect-orientation with MDE process in this paper, i.e., on aspect-oriented code generation from aspect-oriented models. The motivation behind this selection is provided in the following section. In this context, while we move towards aspect-oriented code generation, the modeling notations used to support aspect-orientation play a vital role, since the completeness of generated code is directly dependent on comprehensiveness supported by the modeling notation used. Moreover, since no modeling language has been adopted as a standard for aspect-oriented modeling, an evaluation of the entire corpus of existing aspect-oriented modeling approaches for their suitability to the purpose of code generation is expected to provide a basis for aspect-oriented code generation. Therefore, this study is focused on evaluating 14 existing AOM approaches in the context of aspectoriented code generation. In general, this comparison focuses on investigating the suitability of these approaches to serve the goal of integration of MDE and aspect orientation. In the following, Section 2 provides the motivation for this study and briefly discusses the related work. In Section 3, we define the strategy used for evaluation of AOM approaches, specifically, by describing the rationale behind selection of approaches and the set of criteria used for comparison. Section 4 presents the results of comparison. We conclude the paper in Section 5. II. Similarly, Hovsepyan et al. [6] have discovered that approaches which target aspect-oriented programming languages result in compact, smaller, less complex and more modular implementations. Hence, keeping in view the benefits of integration of aspect-oriented techniques with MDE through aspectoriented code generation, we consider it worthwhile to evaluate existing AOM approaches with respect to their suitability to serve as input to an aspect-oriented code generation process. Previously, a systematic mapping study [19] has identified and classified the existing research in the context of aspect-oriented model-driven code generation. The results of that study indicated the underdevelopment of the area of aspect-oriented code generation. Aspect-oriented modeling approaches have been extensively compared in existing literature. For example, Wimmer et al. [20] have performed an in-depth comparison of AOM approaches focusing on a general feature-based evaluation. Chitchyan et al. [21] have provided a comprehensive review of all significant works on both aspect-oriented as well as non-aspect-oriented approaches to software development. Op de beeck et al. [22] have compared AOM approaches within the context of product line engineering. They have also proposed to position AOM approaches within software development life cycle for large-scale systems. With regards to assessment of AOSD models, in [23] a framework for effective assessment of AOSD models has been presented. This framework essentially integrates the design patterns and AOSD technologies to design software systems. As far as aspect-oriented code generation is concerned, a comparison of six approaches has been conducted in [24], focusing only on the support or otherwise of features required for full code generation. As far as the integration of aspect-oriented modeling techniques into an MDE environment is concerned, the specific question of the suitability of various approaches for this integration by means of aspect-oriented code generation has not been explicitly investigated so far. Motivation and Related Work In previous section, we mentioned two different approaches to obtaining an executable from aspect models, i.e., weaving the aspect model to obtain a nonaspect model followed by generation of non-aspect code, and transformation of aspect model into aspect-oriented code. The core idea behind the first approach is to provide a composition mechanism so that models can be simulated, tested and debugged, prior to execution. Several model weavers have been proposed to achieve this. However, the main drawback in this approach is that it does not support separation of concerns that have once been composed during the weaving process. This means that benefits of clear separation of concerns become unavailable after the composition has been performed. Further, by losing clear boundaries of concerns at implementation level, the software system faces problems related to evolvability, traceability, reusability and understandability (cf. [16]). In contrast, second approach that proposes transformation of an aspect-oriented model directly into aspect-oriented code is mainly inspired by the benefits resulting from the existence of a direct mapping between constructs of design model and the programming language. Moreover, several empirical studies, for example [4], [5], [17], [18], have reported the potential benefits of using aspectoriented techniques in software development. III. Evaluation Methodology In this section, we describe the methodology used for evaluation of selected approaches in the context of this study. First, the rationale behind the selection of approaches and a brief description of the approaches is presented. Then we elaborate the comparison approach. III.1. Selection of Approaches Several proposals for AOM have appeared in literature. These proposals differ in perspectives of their distinguished goals, provided notations, level of concern separation, level of abstraction and level of maturity. However, a vast majority of AOM approaches possess at least one common characteristic, which is their extension from UML. Extending UML for aspect Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 984 Abid Mehmood, Dayang N. A. Jawawi orientation seems quite natural and convincing since aspect orientation can be seen as an extension to object orientation for which UML is the standard and most widely used modeling language. Therefore, for this research study, focusing only on approaches that extend UML, we have identified 14 well-published, UML-based AOM approaches namely Stein [25], Ho [26], Aldawud [27], Von [28], Clarke [29]-31], Jacobson [32], France [33], Pawlak [34], [35], Cottenier [36], [37], Fuentes [38], [39], Katara [40], Klein [41], J.Klein [42]-[44], and Whittle [14], [45], [46]. In the following, we briefly describe these approaches. an AOSD package, which is used to encapsulate all elements defined by the AOSD profile. Crosscutting concerns are modeled using aspects, which are extensions to UML core classes. A new stereotype <<aspect>> is used to model aspects, which are further classified into synchronous or asynchronous aspects. In this profile, synchronous aspects are distinguished from asynchronous ones in that they usually control the behavior of the core classes. The <<crosscut>> stereotype is used to model crosscutting relationships. For behavior modeling, this profile does not dictate any specific behavioral package; however, currently only the use of Collaboration and State machine packages has been outlined for this profile. III.2. The Aspect-Oriented Design Model Notation for AspectJ III.5. aSideML Notation Aspect-Oriented Design Model (AODM) notation of Stein et al. [25] provides a design technique specific to AspectJ. Therefore, it extends UML with the only intention to support AspectJ's concepts at the design level. To exploit the huge resemblance between the core concepts of AspectJ and UML, it provides UML representation for basic constructs of AspectJ, namely join points, pointcuts, introductions, and aspects. Mainly the class, statechart and sequence diagrams are used for structure and behavior modeling. They represent join points using UML links, and apply the concept of adopted links to different diagrams in a way specific to each diagram. Similarly, an advice in AspectJ is viewed as analogous to an operation in UML. Aspects are represented as classes of a special stereotype named <<aspect>>. In principle, AODM has been specified using the UML's standard extension mechanism, but for certain specifications meta-model has also been extended. For example, the UML extend relationship, from which the <<crosscut>> stereotype has been derived originally, can be specified between use cases only. The aSideML's Notation of Von [28] is a meta-model extension of UML to support aspect-oriented concepts. Aspects are defined by parameterizing different model elements, and one or more crosscutting interface is defined to organize join point description and the crosscutting behavior of the aspect. Crosscutting features are defined as an extension to the original features of the class. Specifically, to model structure, a new construct called aspect diagram is introduced which extends features of a UML class diagram. Collaboration and sequence diagrams are extended for modeling behavior of the aspect. The join points are defined by means of an enhanced sequence diagram. Weaving of models is also provided which supports the same set of diagrams and generates woven class diagrams, woven collaboration diagrams and woven sequence diagrams. III.6. Theme/UML Clarke et al. have proposed the Theme/UML [29]-[31] approach. This approach has basically evolved from work on composition patterns [31], [47], and is considered one of the early approaches to aspect-oriented modeling. In this approach, a new declaratively complete unit named “Theme” is proposed at the design level to represent system concerns, which are essentially collections of structures and behaviors inferred from requirements. A distinction has been made between the “base” themes and the “aspect” themes, where aspect themes refer to crosscutting behavior. In Theme/UML approach, an aspect theme is differentiated from a base theme in the sense that in addition to other behavior, it may define some behavior that is triggered by behavior in some other theme. As far as modeling is process is concerned, first the triggered behavior needs to be identified and captured in the form of templates and then the crosscutting behavior related to those templates is modeled. Later, the base themes which are not affected by the crosscutting themes are modeled using the standard UML design process. III.3. The UMLAUT Framework UML All pUrpose Transformer (UMLAUT) is an open framework proposed by Ho et al. [26] for developing application-specific weavers that can generate detailed aspect-oriented design from a high level design modeled using UML. The UML model elements can be input using various formats such as XMI and Java source. Extensions to UML are done through the UML Profile mechanism. The weaving process is implemented as a model transformation applied to the UML model. Specifically, the weave operation is defined as a transformation rule from an initial model to a final one. III.4. The UML Profile for AOSD The UML Profile for Aspect-Oriented Software development has been presented by Aldawud et al. [27]. It extends the standard UML package structure to define Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 985 Abid Mehmood, Dayang N. A. Jawawi A different approach is used to modeling of aspect themes by representing them using a new complete unit of modularization similar to a package in standard UML, with stereotype <<theme>>. This theme may comprise of any of the standard UML diagrams to model different views of the structure and behavior required for a concern to execute. Essentially, the aspect theme design is similar to a standard UML package that contains structural and behavioral diagrams. The only difference is the specification of templates listed inside the theme package notation and a sequence diagram for each of the templates grouping in the theme package. Even though Theme/UML allows any kind of UML diagrams to be used for aspect-theme design, package and class diagrams are currently used for structure modeling, whereas sequence diagrams are used for behavior modeling. Framework, which is a middleware to support concerns such as persistence, security, fault tolerance etc. in J2EE applications. Currently, the profile does not support behavior modeling, whereas the support for structure modeling is provided by means of class diagrams. <<aspect>> stereotype is used to represent aspects, and they are linked with a target class using <<pointcut>> stereotypes. The association between the operations of base and aspect classes (i.e., the join point) is specified with the help of a proprietary language. This approach is similar to that of Jacobson et al. described previously in that it does not support model weaving. III.10. The Motorola WEAVR Approach The Motorola WEAVR approach [36], [37] has been developed by Cottenier et al. in an industrial setting, specifically in context of telecommunication industry. It uses Specification and Description Language (SDL) to specify models, which has partly been adopted in UML 2.x. The WEAVR approach is thus based on UML 2.x. The approach uses class diagrams and composite structure diagrams to represent structure. State machines, action language of SDL and sequence diagrams are used to model behavior. Individual aspects are represented using <<aspect>> stereotype and a pointcut-advice mechanism is used for composition of aspects and target models. Model execution and code generation are also supported. III.7. Aspect-Oriented Software Development with Use Cases Jacobson et al.’s approach [32] is based on the idea of using a development process where concerns are kept separated from requirements specification to the implementation phase. For this purpose, they define use case slices to specify high-level design and then refine this design to obtain detailed design. At detailed design level, they represent structure by means of class diagrams and behavior by means of sequence diagrams. Model weaving is not supported. One distinguishing characteristic of this approach is its support for traceability of models pertaining to a specific concern along different phases of software development. III.11. The Aspect-Oriented Executable Models Notation Aspect-Oriented Executable UML Models (AOEM) of Fuentes et al. [38], [39] is a UML profile that extends the UML and its action semantics to construct aspectoriented executable models. In AOEM, an aspect is represented by a UML class stereotyped as <<aspect>>, and comprises special operations to model advices. Specifically, advices are modeled using activity diagrams without input objects and any number of output pins to modify values of intercepted objects. In [13], a dynamic weaving mechanism has also been provided by authors of the AOEM to enhance its models. III.8. Aspect-Oriented Architecture Models The Aspect-Oriented Architecture Model approach of France et al. [33] is based on composing model elements that present a single concept using different views. The model elements that are composed using this approach are needed to be of the same type. Aspects may specify concepts that are not present in a target model. Templates are used in conjunction with package diagrams, class diagrams, communication diagrams and sequence diagram to represent aspects. In this respect, this approach is similar to Theme/UML approach described previously. The compositor composition mechanism is used to provide the concern composition. Just like Theme/UML, primary models and aspect models are distinguished, where the latter represent crosscutting behavior. Later, a tool called Kompose [48] has also been developed which uses the composition technique proposed by AspectOriented Architecture Models approach. III.12. The Concern Architecture View Approach Katara et al. [40] have provided a conceptual model for design of aspects by designing a concern architecture model. The approach can handle the specification of aspects both in symmetric as well as asymmetric manner. The conceptual model has been implemented as a UML Profile. Aspects are defined as augmentations to target model, and the composed model is obtained by mapping a non-aspect model to a new model containing aspect descriptions. The aspects are parametric in nature and thus can be III.9. The UML Notation for AOSD The notation of Pawlak et al. [34], [35] is a UML profile based on UML 1.x to model a design using JAC Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 986 Abid Mehmood, Dayang N. A. Jawawi bound or instantiated several times. To make them generic in this way, they are explicitly split into two parts: required (which defines the join point) and provided (which defines the augmentation to original model). To compose an aspect into a target model, a special operation called superimposition is used, which allows an aspect to augment another one. III.13. modeling diagrams, and even to other modeling languages. The only condition in this regard is that the modeling language to be represented using MATA must have a well-defined meta-model. UML meta-model can be represented in the form of a graph by making each metaclass a node in the type graph, and making each metaassociation an edge in the type graph. In this way, any UML model can be represented as an instance of this type graph. Aspects are defined using graph transformation rules, where the left-hand-side (LHS) of a transformation rule is a pattern that defines the pointcuts which are to be matched, whereas the right-hand-side (RHS) defines new elements to be added (or removed) at these pointcuts. MATA provides a convenient way of writing the graph rules by proposing that the rule be given on one diagram only, rather than writing graph rules using both LHS and RHS, since this needs repetition of unchanged elements on both sides of the rule. To this purpose, it defines three new stereotypes namely: (1) <<create>> to specify that a new element must be created by the graph rule, (2) <<delete>> to identify deletion of an element by a graph rule, and (3) <<context>> to avoid effect of (1) and (2) on elements. The Behavioral Aspect Weaving Approach The approach of Klein et al. [41] is based on the concept of scenarios which are basically sequence diagrams or Message Sequence Charts. A pair of scenarios is used to define an aspect, one scenario representing the pointcut, and the other representing the advice. Just like AspectJ, the advice in this behavioral aspect weaving approach can be inserted “around”, “before”, or “after” a join point. In order to weave an aspect model into a target model, first a generic detection strategy is used which identifies all the join points in the target model, then a generic composition mechanism is applied to compose advice model with the target model at the identified join points. III.14. Reusable Aspect Models Reusable Aspect Models (RAM) [42]-[44] is a multiview modeling approach that combines existing aspectoriented approaches to model class, sequence and state diagrams into a single approach. Multi-view modeling, in its essence, provides means to describing a system from multiple points of view, using different modeling notations, and thus allowing the use of the most appropriate modeling notation to describe facets different views of a system. RAM is different from all other AOM approaches in a sense that it views aspects as concerns that are reused many times in an application or across several applications. Therefore, this approach models any functionality that is reusable by means of an aspect. Hence, different views (i.e., structure, message, and state views) of a reusable concern are encapsulated in the form of an aspect model which is essentially a special UML package. This aspect model comprises of three different compartments representing the structural view, state view and message view. These views are expressed using a UML class diagram, state diagram and sequence diagrams respectively. III.15. III.16. Comparison Approach A summary and categorization of our comparison criteria is shown in Fig. 1. It has to be noted here that the actual comparison criteria employed in this study is, in essence, inspired by all existing surveys on AOM approaches discussed previously in Section 2. However, we have adapted it, in some cases semantically, to fulfill needs of this study in the specific context of aspectoriented code generation. Moreover, we have extended the comparison to all existing well-published AOM approaches. In general, the selected criteria refer to revealing relevant information from two broader perspectives. First, we try to analyze each studied approach in terms of its overall suitability to be used for the purpose of code generation, and in turn, for the long-term goal of automatically obtaining useful code in practical scenarios. The analysis from this perspective seems particularly relevant since the modeling approach, in general, is expected to be robust and mature enough to be integrated into broader contexts of model-driven engineering and automatic software systems development. Second, the devised criteria are representative of the analysis leading to defining the likelihood of each approach to effectively work for a practical code generation system. We base our comparison given in the following sections on the set of criteria described in the following: MATA Notation Modeling Aspects using a Transformation Approach (MATA) of Whittle et al. [14], [45], [46] is a graph transformation based approach to modeling and composing aspects. Both the base and aspect models are represented in the form of well-formed graphs. Since the idea of using graph rules is broadly applicable, MATA is seen as an approach which can be extended to any III.16.1. Notation-Specific Criteria Extension mechanism: This criterion is used to explore Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 987 Abid Mehmood, Dayang N. A. Jawawi if the AOM approach extends UML by extending metamodel of UML (heavyweight extension mechanism), or by defining a UML profile (lightweight extension mechanism). In fact, both approaches to extending UML have their pros and cons. In principle, however, it has been shown previously (cf.[49], [50] that extending the meta-model is preferable in case if aspect-oriented concepts were well-defined, stable and their likelihood to transfer to or composition with other domains was little. On the other hand, since UML profiles are nothing but a new dialect of UML to support specific domains [51], they are considered ideal in situations where the aspect domain is subject to change and evolution, and it is likely that it will transfer to, or be composed with other domains. Yet another important factor that relates to the distinction between meta-model extension and profile mechanisms is the tool support for UML extensions. Since UML-based tools are built on the meta-model, any changes in meta-model essentially require corresponding adjustments to UML tools as well. However, since UML profiles use standard extension mechanisms and disallow changes in the meta-model, no changes are needed for existing tool support. We have defined this criterion with intention to highlighting related information in the studied approach and to make its correlation with code generation approaches. Programming language influence: As noted by Reina et al. [50], constructs and their respective handling in AOM languages are often inspired by concepts expressed in a specific aspect-oriented programming language. This criterion identifies the specific AOP language that influences the given AOM approach. An investigation of the use of language-specific constructs is fundamental while considering code generation to a specific target language. Mapping availability: In addition to the influence of a programming language on the development of an AOM approach, we also investigate if there is some work related to mapping of the models in given AOM approach to certain aspect-oriented language. This criterion actually identifies the programming language for which mapping has been proposed, only if a mapping definition is provided as a proof, or some appropriate examples are given. This criterion is understandably relevant in context of code generation. Therefore, we will consider it in detail while discussing the likelihood perspective. UML version support: This criterion refers to the UML version supported by the surveyed AOM approach. Main purpose of this criterion is to identify the approaches that do not support the current major enhancements of UML. This criterion is essentially related to looking into suitability of the approach (the first perspective). UML diagrams support: This criterion identifies and lists all different types of UML structural and/or behavioral diagrams extended by the given AOM approach, in order to support aspect-orientation. This criterion is related to both perspectives of our study. An AOM approach cannot be called effective unless it provides a mechanism for a comprehensive modeling of the system, through supporting the effective diagrams. Furthermore, this criterion is much more relevant for code generation as the amount of code generation may directly be influenced by the diagram(s) used as input to code generation approach. Design process support: A design process is relevant in our research study as the completeness of design is an essential requirement for generating complete and fully executable code. This criterion evaluates the surveyed approach in terms of its support for the design process. Specifically, it investigates if this support has been provided in an explicit way, by supporting the detailed modeling, or only implicit support is available, for example in terms of guidelines. External traceability: The external traceability criterion refers to the relationship between two models at different phases in full software development life cycle, where one model is refinement of another. In particular, this criterion investigates if the surveyed AOM approach provides traceability of models over phases such as requirements specification, design, and implementation. In case this traceability is supported, it lists the combination of phases over which the support is provided. For example, an external traceability support from requirements specification to design and to the implementation level will be specified as R D I. Support for external traceability is important in the context of our study as the main rationale behind the use of aspect technology is to maintain traceability through different phases of development life cycle. Internal traceability: Unlike external traceability which focuses on different phases of development life cycle, internal traceability is concerned with traceability between two models belonging to one phase. Specifically, this criterion will explore whether mechanisms or guidelines are provided for applications of the approach in which abstract models are refined (i.e., traced) into detailed models, for example, refinement of an abstract design model into a detailed design model. The support for such traceability is very important while studying prospects along the transformation of models Fig. 1. Comparison criteria Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 988 Abid Mehmood, Dayang N. A. Jawawi into other models and eventually into code. Scalability: Scalability of an AOM approach can be defined as its ability to handle both small as well as large modeling scenarios. The scalability criterion here refers to investigating if the scalability has been proven in realworld projects or at least by examples that go beyond composition of two or three concerns. The rationale behind investigating scalability is that an AOM approach that lacks in scalability cannot obviously be used to generate code which is of industrial standard. aspect-oriented programming language). In case, a composition plan is available, it is investigated whether it is dynamic or static. Dynamic composition refers to support for integration of concerns at the model run-time, i.e., during the execution of the model. Composition of models is particularly important for the purpose of simulation and validation of models. In this way, it seems relevant to both perspectives of this study. Composed model: This criterion evaluates the output of concern composition in cases where static composition plan is applied. In particular, it investigates if the output composed model is represented using standard UML or some extensions to UML. Just like composition plan, this criterion will also provide insight into modeling notation in terms of its suitability, even though it is not much relevant from code generation perspective. This is because our intention is to explore aspect-oriented code generation, whereas a woven and standard UML model will eventually be consisting of only object-oriented constructs. Concern interaction: This criterion is specific to interactions between various concerns in a model. In particular, it evaluates if interactions between concerns can be modeled, and if provided, it identifies the notations used to represent this interaction, for example, a meta-class or stereotype. From code generation perspective, the transformation approach and processes thereof will have to provide details of translation of these interactions at the code level. III.16.2. Composition-Specific Criteria Concern representation: This criterion refers to a concern’s representation in the AOM approach in terms of a UML meta-class or a stereotype, and identifies the actual notational element used. For example, some AOM approaches use a stereotype <<aspect>> to represent an aspect distinguished from the meta-class Class. The representation of concern is relevant from both perspectives investigated in this study, i.e., the suitability as well as the likelihood for extension to code generation. This representation actually encompasses certain characteristics on basis of which the element symmetry 16], composition symmetry 22] and relationship symmetry 16] are determined. Specifically, the element symmetry refers to defining whether there exists some distinction between the concern modules of different structures (i.e., those representing crosscutting concerns versus others), or all concerns are treated equally with modules of identical structure. The composition symmetry is related to defining which concern modules can be composed with each other. Therefore, asymmetric concern composition implies that only “aspects” are allowed to be woven into “base”. On the other hand, symmetric composition does not make any distinction between the base and aspects, and allows all types of concerns to be composed with each other. Similarly, relationship symmetry (sometimes referred to as rule symmetry (cf. [20]), determines the placement of composition rules for concerns. The approaches in which composition rules are given within one of the modules that are to be composed are asymmetric in this perspective. A common example of this is the AspectJ language which encapsulates composition rules within an aspect in the form of pointcut-advice combinations. The approaches which are symmetric in this regard define the composition rules in neither of the modules. Therefore, from modeling perspective, the concern representation is actually what will influence its composition, whereas from code generation perspective, it is the abstraction that will somehow need to be transformed into some abstraction at the code level. Composition plan: This criterion evaluates if the support for integration of concerns at the modeling level is provided or not. Lack of this support at the modeling level would mean that composition is deferred to later phases such as implementation (with the help of an III.16.3. Maturity-Specific Criteria The criteria in this section are intended to evaluate the maturity of the studied approaches. In this section, maturity is specifically measured in terms of existing information proving the applicability and pragmatism of an approach. Modeling examples breadth: This criterion is intended to evaluate maturity of given AOM approach by investigating the number of examples modeled using the approach. Modeling examples depth: Apart from investigating the breadth of modeling examples, we measure the depth of examples as well; by looking at how many different concerns have been integrated within the modeling examples. Therefore, this criterion investigates the maximum number of concerns integrated in one example. Real-world application: This criterion evaluates the successful application of surveyed AOM approach in the design of a real-world project. This measure is expected to show the applicability of approach, which as a result, indicates the level of maturity. Information availability: This criterion refers to the available amount of papers, manuals, books and other relevant material associated with the given AOM approach. Specifically, this criterion provides the number of different resources of information on the modeling approach. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 989 Abid Mehmood, Dayang N. A. Jawawi III.16.4. Tool-Support-Specific Criteria Notation category. Balance in extension mechanisms and UML versions: Currently, to a certain extent there is a balance between meta-model extensions and UML profiles. As described previously, UML profiles have some benefits with regard to tool-support since profiles are supported by almost all UML tools. Therefore, in order to provide tool-support for their profile, all a profile developer has to do is to provide a reference implementation within existing framework of the chosen UML tool. So far as the UML version support is concerned, though at first glance one can see the balance between UML 1.x and UML 2.x, most recent approaches have already provided support for UML 2.x. Inclination to AspectJ: Among approaches that are influenced from the feature set of an existing aspectoriented programming language, AspectJ appears to be the most popular programming language. In the specific context of transforming aspect-oriented constructs from design to code, this inclination may reduce the modelsystem gap. However, where not applicable, determining the precise effects on this model-system relationship would require further investigation, which may be conducted through defining a mapping between constructs at different levels. Missing model- to- code mapping details: Mapping of model constructs to those of programming language is an important concern that is greatly related to code generation from visual models. Modeling support: This criterion is related to evaluation of different means to use the surveyed AOM approach to design. Moreover, it also refers to investigation of support for syntactic and semantic validation of the design. Composition support: It refers to the tool support for composition of concerns at the modeling level. This support, if provided, may specifically allow simulation, validation and debugging of models. Code generation support: In line with the concepts of model-driven engineering, AOM notations occasionally address mapping of design models to implementation code, and subsequently support the code generation from models. This criterion evaluates if code generation has been addressed, at least in principle, by the surveyed AOM approach. IV. Evaluation Results and Discussion From Tables I to IV, we summarize the results of comparison of various AOM approaches from notation, composition, maturity, and tool-support perspectives, respectively. While certain observations are evident, some interesting findings are summarized and their results are illustrated in the following. IV.1. Notation Table I summarizes the evaluation with regard to the AJ 1.x CD, CoD,SD, UC D->I n/a Ho [26] UP n/a 1.x CD D->I Aldawud[27] Von [28] Clarke [29] Jacobson [32] UP MM MM MM UP, MM UP, MM UP UP UP n/a MM UP n/a AJ SOP, AJ, HJ AJ, HJ 1.x 1.x 1.x 2.x CD, StD CD, SD, CoD PD, CD, SD CD, PD, UC, SD, AD, StD R->D R->D R->D->I R->D->I n/a n/a 2.x CD, PD, CmD A->D AJ 1.x CD D->I n/a AJ n/a n/a n/a n/a 2.x 2.x 1.x 2.x 2.x 2.x CD, DD, SD, StD CD, AD, StD PD SD CD, SD, StD CD, AD, StD France [33] Pawlak[34, 35] Cottenier[36] Fuentes [38] Katara[40] Klein [41] J.Klein[42-44] Whittle [45] Legend: n/a AJ UP R D Supported Not supported Not applicable AspectJ UML profile Requirements Design I DD CD CoD SD SOP HJ Implementation Deployment diagram Class diagram Collaboration diagram Sequence diagram SOP [52] Hyper/J Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved UC MM StD AD CmD GP PD Scalability UML version support MM, UP Internal traceability Mapping availability Stein [25] External traceability Extension mechanism Design process support UML diagrams support Approach Programming lang. influence TABLE I COMPARISON OF AOM APPROACHES ON BASIS OF NOTATION-SPECIFIC CRITERIA Use case diagram Meta-model extension State diagram Activity diagram Communication diagram General purpose Package diagram International Review on Computers and Software, Vol. 8, N. 4 990 Abid Mehmood, Dayang N. A. Jawawi Analysis and design models may cover a lot of feature details on their own, yet their transformation to code may yield abundant deal of effort. It is evident from the results that there are only two approaches that have provided mapping of design models to code, among them there is only one approach (i.e., [42]) that supports UML 2. Dearth of support for behavioral diagrams: Almost all variations of structure diagrams have been used by AOM approaches except Klein [41], which provides support for a behavior diagram only. An inadequate support for behavioral modeling of crosscutting concerns is one of the key restraints on the practical use of AOM approaches in the model-driven engineering process. Lacking in traceability support: Except for two approaches, i.e., Jacobson [32] and Clarke [29], none of the approaches provides support for traceability with respect to all phases of software development. It is also a key issue to affect the suitability of an AOM approach to be integrated into MDE process. Insufficient scalability: Scalability of approaches is another aspect in which AOM approaches need to improve. So far as the abstraction is concerned, almost all approaches support ways to hide the details of crosscutting behavior from modeler. However, the modeling examples which are presented in these studies, typically, do not exploit all features related to proving the scalability. While we have considered an approach as scalable if it can handle composition of simply three or more concerns, only six approaches could meet this criteria. However, among these six approaches Clarke [29], Jacobson [32], Cottenier [36], and J.Klein [42]-[44] have provided adequate proof of scalability of their approaches. Again, this is an area which is of high relevance in terms of applicability of AOM approaches to large-scale development and aspect-oriented code generation. them half of the approaches provide both static and dynamic composition mechanisms. The composed model can be used for validation and simulation purposes, and it can also be used to generate code. However, the support for composition must be complemented with appropriate tool-support (which we will see later), or else the modelers will have to model each concern and then manually compose it. Popularity of UML as complete model: UML seems to be the language of choice for approaches that provide composition of models, to represent the composed model. This inclination to UML seems quite natural and convincing since aspect-orientation can be seen as an extension to object-orientation, for which UML is the standard and most widely used modeling language. In this context, however, relying on UML has some obvious advantages. For example, for model transformation and/or code generation, one will be working on a source model which is defined using a standardized and well-defined metamodel. Typically, this ensures that the relationship between model and code will be based on standard metamodels, that is, the meta-model of UML and the metamodel of some target programming language like AspectJ. IV.3. Maturity Summary of the comparison results from the perspective of Maturity of approaches are given in Table III. Lack of real-world applications: So far, very few AOM approaches have been tested in a real-world project, i.e., the approaches of Pawlak et al. and Cottenier et al. In order to prove the suitability of AOM approaches for large-scale development, their application in realworld projects is a mandatory requirement. Moderate application of complicated example scenarios: The use of complex modeling examples is moderately considered by existing approaches. Some of the studied approaches use trivial examples which are not sufficient to demonstrate and validate the strength of a modeling notation. However, Theme/UML (see Clarke [29]) and Reusable Aspect Models (see J. Klein [42]-[44]) have been demonstrated using nontrivial modeling scenarios comprising of over 15 concerns each. Similarly Cottenier et al. set a good example in this regard by validating their approach with the help of a complex real-world application for telecommunication industry. IV.2. Composition Table II summarizes the evaluation with respect to the Composition category. Prevalence of Element Asymmetry for representation of concerns: In general, concerns are represented using element asymmetry (<<aspect>>), and the studied approaches possess an additional interesting pattern in this regard. In particular, when elements are asymmetric, all approaches apply the asymmetric composition mechanism (i.e., composition asymmetry), and they often use pointcut-advice mechanism for that. Further, rule asymmetry is followed to control pointcut-advice combinations. However, it should be noted here that this is not an essential characteristic, and that in principle, asymmetric composition may be employed to handle symmetry at element level. Moderate support for composition at modeling level: The studied approaches often provide support for composition of concerns at modeling level, and among IV.4. Tool-Support Table IV summarizes the evaluation with respect to the Tool-support category. Lack of tool-support for composition: A majority of approaches has provided tool-support for modeling only which is largely due to their use of UML profile mechanism. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 991 Abid Mehmood, Dayang N. A. Jawawi Approach Stein [25] Ho [26] Aldawud[27] Von [28] Clarke [29] Jacobson [32] France [33] Pawlak[34], [35] Cottenier[36] Fuentes [38] Katara[40] Klein [41] J.Klein[42]-[44] Whittle [45] Legend: Supported Not supported TABLE II COMPARISON OF AOM APPROACHES ON BASIS OF COMPOSITION-SPECIFIC CRITERIA Composition Composed Concern representation plan model <<aspect>> Class S n/a Stereotyped class S n/a <<aspect>> Class in AOSD_Package, n/a n/a State machine regions Enhanced class S Extended UML <<theme>> Package S Themes <<use case slice>> Package, <<aspect>> Classifier n/a n/a Package diagram parameterized with templates S UML <<aspect>> Class n/a n/a <<aspect>> Class s, d UML <<aspect>> Class s, d UML <<aspect>> Package n/a n/a Sequence diagrams representing Pointcut and Advice s, d UML Aspect package comprising of three parts: Class diagram, s, d UML aspectual sequence diagram, aspectual statechart diagram Scenarios – modeled using sequence diagrams with <<create>> s, d UML and <<context>> stereotypes s d Static Dynamic Asym Sym Asymmetric Symmetric On one hand, the support for composition of models is an essential requirement for approaches which handle details of composition at modeling level only and generate object-oriented code, since without this support it would not be possible to obtain a composed view of the system. On the other hand, it is desirable for other approaches as well that defer composition to implementation level, since in this case the same can be used for activities such as simulation and validation of model. As shown in Table IV, half of the approaches have not discussed any mechanism for composition of models. Nonexistence of support for aspect-oriented code generation: The investigation of tool-support for code generation reveals more interesting results. In this regard, the support provided by Cottenier et al. and Pawlak et al. has limitations from different perspectives. Specifically, Cottenier el al. generate object-oriented code only, even though they cover several aspects of code generation for the specific domain they considered (telecommunication applications). Pawlak et al. have addressed generation of aspect-oriented code but to a very limited extent, while they define only the mapping of their constructs to code in AspectJ language. n/a Concern interaction Not applicable perspectives if examined for the purpose of aspect code generation. In the following we sum up the important conclusions that can be drawn from results of comparison presented in previous subsections. Adoption of approaches requires elaboration of model-code relationship: All modeling approaches provide fair support for abstracting the complex details related to handling of crosscutting functionality. However, in order to use them for the purpose of aspect-oriented code generation, the complexities involved in their transition to code need to be studied further. It is not often straightforward to map the concepts in a modeling notation to constructs of a programming language. That is why software developers often find it difficult to transform even excellently developed models into code. Therefore, unless the model-code gap is eliminated, expecting a practical integration of aspect orientation and model-driven engineering, which generates industrystandard code, would be unrealistic. Thus, more work is needed that defines details of transformation of constructs at design level to code level. Guidance on the use of asymmetric vs. symmetric approaches missing: As briefly noted in Section 4.2, currently one can find a pattern with regard to applying symmetry or asymmetry at composition level. However, in principle, any type of composition, i.e., symmetric or asymmetric, may handle any type of representation of element. But the current approaches do not answer the question when to use asymmetric or a symmetric approach sufficiently. This may have implications for code generation approaches. For instance, approaches that use element asymmetry will best suit the enhancement to support code generation targeted at programming languages that define aspects in an asymmetric way, e.g., AspectJ. However, what will be the effect of a particular selection on the quality of design and/or produced code IV.5. Principal Findings in the Context of Aspect Code Generation So far we have focused on comparing existing aspectoriented modeling approaches for prospects along their use as a source notation in a model-driven environment. However, as previously given, we are particularly interested in investigating their potential to support enhancements for aspect-oriented code generation. This is because we believe that the automatic generation of aspect-oriented code can positively enhance the benefits of these modeling approaches. However, as we have mentioned in Section 4.1- 4.4, current modeling approaches lack from many Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 992 Abid Mehmood, Dayang N. A. Jawawi has not been explored by existing approaches yet. code level. Hence, further work is required to provide tool support for composition and code generation, and in this way to help increase the adoption of these approaches in practice. Strength of UML not fully exploited: As evident from results in Table I, majority of approaches support both structural as well as behavioral diagrams, thus allowing a modeler to consider both structure and behavior of a system. However, the selection of diagrams by different approaches is vastly different. UML diagrams possess varying levels of suitability for effectively modeling the dynamics of a particular system. Hence, it would be interesting to see how to support diagrams which are not supported currently. Moreover, only a few approaches provide composition of diagrams that they support for designing aspects. Therefore, it is imperative to go further in this context to benefit from full spectrum of UML diagrams. Missing guidelines on effectiveness of various modeling diagrams: In principle, to model a system, a specific set of UML diagrams is chosen so that it can model a system in the most comprehensive and complete manner, from both structural as well as behavioral perspectives. This means that the final UML model must be representing the system in its entirety, with respect to its structure and behavior. This is particularly relevant when code is to be obtained from the model, since the completeness of output code would be directly linked with comprehensiveness of the input model. Current approaches provide no discussion on when to use one diagram or another, and what will be the impact of choosing a certain combination of diagrams. Hence, it would be valuable to investigate the relationship between various diagrams, the completeness of a model obtained by combining them and code obtained by transforming that design model into code. TABLE III COMPARISON OF AOM APPROACHES ON BASIS OF MATURITYSPECIFIC CRITERIA Modeling Modeling RealInformation Approach example example world availability breadth depth application Stein [25] 2 2 4 Ho [26] 1 2 2 Aldawud [27] 1 >2 5 Von [28] 2 6 3 Clarke [29] >5 >15 >15 Jacobson [32] 1 >3 3 France [33] 3 1 >10 Pawlak [34], 1 1 3 [35] Cottenier [36] 2 >4 9 Fuentes [38] >3 >5 6 Katara [40] 1 >5 2 Klein [41] 1 1 9 J.Klein[42]2 >15 ~ 7 [44] Whittle [45] 2 >5 4 Legend: Supported Not n No. of supported examples/ ~ Partly n/a Not modeled supported applicable concerns/ publications TABLE IV COMPARISON OF AOM APPROACHES ON BASIS OF TOOL-SUPPORT-CRITERIA Approach Modeling support Composition support ~ Stein [25] Ho [26] Aldawud [27] Von [28] Clarke [29] Jacobson [32] France [33] Pawlak [34], [35] Cottenier [36] Fuentes [38] Katara [40] Klein [41] J.Klein[42]-[44] Whittle [45] Legend: Supported ~ Partly supported Code generation support ~ V. Conclusion In this paper we provide a comparison of different AOM approaches with respect to their potential to integrate into an MDE environment by means of aspectoriented code generation. For this task, we conducted the current study by using a well-defined comparison approach that has allowed us to identify and compare a set of 14 well-published AOM approaches. The results of our study show that in order to achieve a true integration of aspect orientation and MDE, AOM approaches need to be improved from many perspectives. In particular, we have found that mostly AOM approaches suffer from problems including: (1) inadequate support for behavioral diagrams, (2) lack of scalability, (3) moderate consideration of complex application scenarios, (4) lack of application in the realworld, (5) lack of tool-support for composition, (6) absence of details of mapping from design to code, and (7) unavailability of tool-support for aspect code generation. Not supported Tool-support needs integration with standard development environments: Aspect-oriented techniques (and their integration with model-driven engineering to develop systems) are unlikely to be adopted in practice if not complemented with reliable tool support. The primary reason for this is the fact that manual weaving of aspect-oriented models is a fairly cumbersome and error-prone task. For interested readers, a detailed discussion of difficulties associated with behavior of a system in presence of aspects may be found in studies such as [53], [54]. This problem is further enlarged in the context of code generation, because of the raised complexity involved in handling of concerns at Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 993 Abid Mehmood, Dayang N. A. Jawawi [19] A. Mehmood, D.N.A. Jawawi, Aspect-oriented model-driven code generation: A systematic mapping study, Information and Software Technology, 55 (2013) 395-411. [20] M. Wimmer, A. Schauerhuber, G. Kappel, W. Retschitzegger, W. Schwinger, E. Kapsammer, A survey on UML-based aspectoriented design modeling, ACM Comput. Surv., 43 (2011) 1-33. [21] R. Chitchyan, A. Rashid, P. Sawyer, A. Garcia, M.P. Alarcon, J. Bakker, B. Tekinerdogan, S. Clarke, A. Jackson, Survey of Aspect-Oriented Analysis and Design Approaches. Technical Report AOSD. Europe Deliverable D11, AOSD-Europe-ULANC9, in, Lancaster University, May 2005. [22] S.O.d. beeck, E. Truyen, N. Bouck'e, F. Sanen, M. Bynens, W. Joosen, A Study of Aspect-Oriented Design Approaches, in, Department of Computer Science K.U. Leuven, 2006. [23] A.H. Hannousse, O. Kazar, D. Meslati, Z. Liu, A cohabitation framework for AOSD Models, (2007) International Review on Computer and Software (IRECOS), 2 (4), pp. 285-291. [24] A. Mehmood, D.N.A. Jawawi, A comparative survey of aspectoriented code generation approaches, in: 5th Malaysian Conference in Software Engineering (MySEC), 2011 2011, pp. 147-152. [25] D. Stein, S. Hanenberg, R. Unland, An UML-based aspectoriented design notation for AspectJ, in: Proceedings of the 1st international conference on Aspect-oriented software development, ACM, Enschede, The Netherlands, 2002, pp. 106112. [26] W.-M. Ho, J.-M. Jezequel, F. Pennaneac'h, N. Plouzeau, A toolkit for weaving aspect oriented UML designs, in: Proceedings of the 1st international conference on Aspect-oriented software development, ACM, Enschede, The Netherlands, 2002, pp. 99105. [27] T. Aldawud, Bader, A.,Tzilla Elrad, UML profile for aspectoriented software development, in: The Third International Workshop on Aspect Oriented Modeling., 2003. [28] V.F.G. Chavez, A model-driven approach for aspect-oriented design, in, Pontif´ıcia Universidade Cat´olica do Rio de Janeiro, 2004. [29] S. Clarke, E. Baniassad, Aspect-Oriented Analysis and Design: The Theme Approach, Addison Wesley Object Technology, 2005. [30] E. Baniassad, S. Clarke, Theme: an approach for aspect-oriented analysis and design, in: Software Engineering, 2004. ICSE 2004. Proceedings. 26th International Conference on, 2004, pp. 158167. [31] S. Clarke, R.J. Walker, Towards a standard design language for AOSD, in: Proceedings of the 1st international conference on Aspect-oriented software development, ACM, Enschede, The Netherlands, 2002, pp. 113-119. [32] I. Jacobson, P.-W. Ng, Aspect-Oriented Software Development with Use Cases, Addison-Wesley Professional, 2004. [33] R. France, I. Ray, G. Georg, S. Ghosh, Aspect-oriented approach to early design modelling, Software, IEE Proceedings -, 151 (2004) 173-185. [34] R. Pawlak, L. Seinturier, L. Duchien, L. Martelli, F. LegondAubry, G. Florin, Aspect-Oriented Software Development with Java Aspect Components, in: R. Filman, T. Elrad, S. Clarke, M. Aksit (Eds.) Aspect-oriented software development, AddisonWesley, 2005, pp. 343-369. [35] R. Pawlak, L. Duchien, G. Florin, F. Legond-Aubry, L. Seinturier, L. Martelli, A UML Notation for Aspect-Oriented Software Design, in: AO modeling with UML workshop at the AOSD'02., 2002. [36] T. Cottenier, A.v.d. Berg, T. Elrad, Joinpoint Inference from Behavioral Specification to Implementation, in: E. Ernst (Ed.) ECOOP 2007 – Object-Oriented Programming, Springer Berlin / Heidelberg, 2007, pp. 476-500. [37] T. Cottenier, A.v.d. Berg, T. Elrad, The Motorola WEAVR: Model Weaving in a Large Industrial Context, in: Proceedings of the 6th International Conference on Aspect-oriented Software Development (AOSD '07), 2007. [38] L. Fuentes, P. Sanchez, Designing and Weaving Aspect-Oriented Executable UML models, Journal of Object Technology, 6 (2007) 109-136. [39] L. Fuentes, P. Sanchez, Towards executable aspect-oriented UML models, in: Proceedings of the 10th international workshop on References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] A. Rashid, A. Moreira, J. Araujo, P. Clements, E. Baniassad, B. Tekinerdogan, Early aspects: Aspect-oriented requirements engineering and architecture design, in, Electronic Document. http://www.early-aspects.net/, 2006. T. Elrad, O. Aldawud, A. Bader, Aspect-Oriented Modeling: Bridging the Gap between Implementation and Design Generative Programming and Component Engineering, in: D. Batory, C. Consel, W. Taha (Eds.), Springer Berlin / Heidelberg, 2002, pp. 189-201. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.M. Loingtier, J. Irwin, Aspect-oriented programming, in: M. Aksit, S. Matsuoka (Eds.) ECOOP'97 — Object-Oriented Programming, Springer Berlin / Heidelberg, 1997, pp. 220-242. J. Hannemann, G. Kiczales, Design pattern implementation in Java and aspectJ, SIGPLAN Not., 37 (2002) 161-173. A. Garcia, C. Sant'Anna, E. Figueiredo, U. Kulesza, C. Lucena, A.v. Staa, Modularizing design patterns with aspects: a quantitative study, in: Proceedings of the 4th international conference on Aspect-oriented software development, ACM, Chicago, Illinois, 2005, pp. 3-14. A. Hovsepyan, R. Scandariato, S.V. Baelen, Y. Berbers, W. Joosen, From aspect-oriented models to aspect-oriented code?: the maintenance perspective, in: Proceedings of the 9th International Conference on Aspect-Oriented Software Development, ACM, Rennes and Saint-Malo, France, 2010, pp. 85-96. S. Kent, Model Driven Engineering, in: M. Butler, L. Petre, K. Sere (Eds.) Integrated Formal Methods, Springer Berlin Heidelberg, 2002, pp. 286-298. J. Bézivin, Model Driven Engineering: An Emerging Technical Space, in: R. Lämmel, J. Saraiva, J. Visser (Eds.) Generative and Transformational Techniques in Software Engineering, Springer Berlin / Heidelberg, 2006, pp. 36-64. J. Hutchinson, M. Rouncefield, J. Whittle, Model-driven engineering practices in industry, in: Proceedings of the 33rd International Conference on Software Engineering, ACM, Waikiki, Honolulu, HI, USA, 2011, pp. 633-642. D.M. Simmonds, Aspect-oriented Approaches to Model Driven Engineering, in: International Conference on Software Engineering Research and Practice, Las Vegas, Nevada, USA, 2008. D.M. Simmonds, Y.R. Reddy, A Comparison of Aspect-Oriented Approaches to Model Driven Engineering, in: Conference on Software Engineering Research and Practice, 2009, pp. 327–333 T. Cottenier, A.v.d. Berg, T. Elrad, Motorola WEAVR: Aspect Orientation and Model-Driven Engineering, Journal of Object Technology, 6 (2007) 51–88. L. Fuentes, P. Sánchez, Dynamic Weaving of Aspect-Oriented Executable UML Models, in: S. Katz, H. Ossher, R. France, J.-M. Jézéquel (Eds.) Transactions on Aspect-Oriented Software Development VI, Springer Berlin / Heidelberg, 2009, pp. 1-38. J. Whittle, P. Jayaraman, A. Elkhodary, A. Moreira, J. Araújo, MATA: A Unified Approach for Composing UML Aspect Models Based on Graph Transformation, in: S. Katz, H. Ossher, R. France, J.-M. Jézéquel (Eds.) Transactions on Aspect-Oriented Software Development VI, Springer Berlin / Heidelberg, 2009, pp. 191-237. M. Kramer, J. Kienzle, Mapping Aspect-Oriented Models to Aspect-Oriented Code, in: J. Dingel, A. Solberg (Eds.) Models in Software Engineering, Springer Berlin / Heidelberg, 2011, pp. 125-139. W. Harrison, H. Ossher, P. Tarr, Asymmetrically vs. symmetrically organized paradigms for software composition, in, 2002. L. Fuentes, P. Sánchez, Execution of Aspect Oriented UML Models, in: D. Akehurst, R. Vogel, R. Paige (Eds.) Model Driven Architecture- Foundations and Applications, Springer Berlin / Heidelberg, 2007, pp. 83-98. N. Cacho, C. Sant'Anna, E. Figueiredo, A. Garcia, T. Batista, C. Lucena, Composing design patterns: a scalability study of aspectoriented programming, in: Proceedings of the 5th international conference on Aspect-oriented software development, ACM, Bonn, Germany, 2006, pp. 109-121. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 994 Abid Mehmood, Dayang N. A. Jawawi [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] Aspect-oriented modeling, ACM, Vancouver, Canada, 2007, pp. 28-34. M. Katara, S. Katz, A concern architecture view for aspectoriented software design, Software and Systems Modeling, 6 (2007) 247-265. J. Klein, F. Fleurey, J.-M. Jézéquel, Weaving Multiple Aspects in Sequence Diagrams, in: A. Rashid, M. Aksit (Eds.) Transactions on Aspect-Oriented Software Development III, Springer Berlin / Heidelberg, 2007, pp. 167-199. J. Klein, J. Kienzle, Reusable Aspect Models, in: 11th Workshop on Aspect-Oriented Modeling, Nashville, TN, USA, 2007. J. Kienzle, W.A. Abed, J. Klein, Aspect-oriented multi-view modeling, in: Proceedings of the 8th ACM international conference on Aspect-oriented software development, ACM, Charlottesville, Virginia, USA, 2009, pp. 87-98. J. Kienzle, W. Al Abed, F. Fleurey, J.-M. Jézéquel, J. Klein, Aspect-Oriented Design with Reusable Aspect Models, in: S. Katz, M. Mezini, J. Kienzle (Eds.) Transactions on AspectOriented Software Development VII, Springer Berlin / Heidelberg, 2010, pp. 272-320. J. Whittle, A. Moreira, J. Arajo, P. Jayaraman, A. Elkhodary, R. Rabbi, An Expressive Aspect Composition Language for UML State Diagrams, in: G. Engels, B. Opdyke, D. Schmidt, F. Weil (Eds.) MoDELS, Springer, 2007, pp. 514-528. J. Whittle, P. Jayaraman, MATA: A Tool for Aspect-Oriented Modeling based on Graph Transformation, in: 11th AOM Workshop, 2008. S. Clarke, R.J. Walker, Composition patterns: an approach to designing reusable aspects, in: Proceedings of the 23rd International Conference on Software Engineering, IEEE Computer Society, Toronto, Ontario, Canada, 2001, pp. 5-14. F. Fleurey, B. Baudry, R. France, S. Ghosh, A Generic Approach For Automatic Model Composition, in: 11th AOM Workshop, 2008. P. Desfray, UML Profiles Versus Metamodeling Extensions: An Ongoing Debate, in: Workshop on UML in the.COM Enterprise: Modeling Corba Components, XML/XMI and Metadata, Palm Springs, CA, USA, 2000. A.M. Reina, J. Torres, M. Toro, Separating concerns by means of UML-profiles and metamodels in PIMs, in: O. Aldawud, G. Booch, J. Gray, J.o. Kienzle, D. Stein, Mohamed, F. Akkawi, T. Elrad (Eds.) The 5th Aspect-Oriented Modeling Workshop In Conjunction with UML 2004, 2004. OMG, Unified Modelling Language Specification: Superstructure v2.2 in, http://www.omg.org/spec/UML/2.2/, 2009. S. Clarke, W. Harrison, H. Ossher, P. Tarr, Subject-oriented design: towards improved alignment of requirements, design, and code, SIGPLAN Not., 34 (1999) 325-339. C. Clifton, G. Leavens, A Design Discipline and Language Features for Formal Modular Reasoning in Aspect-Oriented Programs, in: Technical Report 05-23, 2005. G. Kiczales, M. Mezini, Aspect-oriented programming and modular reasoning, in: Proceedings of the 27th international conference on Software engineering, ACM, St. Louis, MO, USA, 2005, pp. 49-58. Authors’ information Department of Software Engineering, Faculty of Computing, Universiti Teknologi Malaysia (UTM), 81310 Skudai, Johor, Malaysia. Abid Mehmood received the MSc degree in computer science from Quaid-i-Azam University, Pakistan, in 2001 and is currently a PhD candidate at the Faculty of Computing, Universiti Teknologi Malaysia (UTM). Before joining the PhD program at UTM, he was working with the software industry. His research interests include aspect-oriented software engineering, model-driven engineering, and design patterns. Mr. Mehmood is a member of the ACM and IEEE Computer Society. Dayang N. A. Jawawi is an Associate Professor at the Department of Software Engineering, Faculty of Computing, Universiti Teknologi Malaysia (UTM). She received her B.Sc. Degree in Software Engineering from Sheffield Hallam University, UK; M.Sc. and Ph.D. research in Software Engineering from UTM. Currently she is Head of Software Engineering Department, Faculty of Computing, UTM; and member of Software Engineering Research Group (SERG), K-Economy, UTM. Her research interests are software reuse, component-based reuse, software quality, software metrics and testing. Most of her research projects focus on rehabilitation and mobile robotics, real-time systems, embedded systems, and precision farming applications. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 995 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Achieving Energy Efficient MAC Protocol for MANETs by Channel Utilization and Queue Size P. Sivanesan, S. Thangavel Abstract – In mobile ad hoc networks (MANET), the existing Media Access Control (MAC) protocol does not maximize the overall network throughput. Also it causes the network links to utilize higher power for data transmission. In order to overcome these issues, in this paper, we propose an energy efficient MAC protocol in MANET based on channel utilization and queue size. In this protocol, the source node that desires to transmit the data packet to its destination node, appends its queue state and channel utilization with request to send (RTS) frame and transmits it to the destination utilizing the utility function. After the destination verifies the RTS frame for error, its sends the clear to send (CTS) frame along with queue state and channel utilization information to source node using utility function. Upon receiving CTS frame, the source transmits the data packet to the destination node. By simulation results, we show that the proposed protocol improves the overall network throughput and minimizes the energy consumption. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Mobile Ad Hoc Networks (MANET), MAC Protocol, Request to Send (RTS), Clear to Send (CTS) connected by wireless links without any pre-established infrastructure in an ad-hoc fashion, by which it makes network unique from other networks. MANETs can be deployed wherever there is no or little communication infrastructure is available. These MANETs are collection of many mobile nodes which are battery operated where these nodes need to be energy conserved to maximize the battery life. Every node has to participate in an ad-hoc routing protocol and these nodes operate not only as a host but also as a router forwarding packets for other mobile nodes in the network. Hence these mobile ad-hoc networks are also called infrastructure less networking, since the mobile nodes in the network dynamically establish routes. A mobile node has a finite, decreasing energy and this management is done by MAC layer using local information. The improvement in battery technology is slower as compared to advances in semiconductor technology. Since, the inadequate battery lifetime imposes a limitation on the network performance. So Energy saving mechanism is required for the efficient operation of the battery powered ad-hoc network [1][2][3][4][10][11]. Nomenclature Pt htx hrx DSIFS DDIFS DRTS DCTS Dd DACK Tchb z CU (t) Qk UFi CFi Atx Arx FCS Transmitter gain Transmitted power Receiver gain Transmitter height Receiver height Wavelength System loss Short inter-frame spacing delay Distributed inter-frame spacing delay Ready-to-send delay Clear-to-send delay Data delay Acknowledgement delay channel busy time size of data frame Data rate Channel Utilization time t Queue state information Utility function of link i Cost factor of link i Sensitivity of the node Address of RTS frame transmitter Address of RTS frame receiver Frame check sequence I. I.1. Advantages Since the MANETs are without any pre-established infrastructure and self-organizing, it is very easy to deploy them in any kind of environment. Research about MANETs are rapidly increasing since, they play a main role in many fields like in the emergency services, military and health etc. Introduction A Mobile ad hoc network [MANET] is decentralized and self-organizing network where mobile nodes are Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 996 P. Sivanesan, S. Thangavel I.2. Challenges Faced by the Mobile Ad-Hoc Networks more transmissions to take place simultaneously. Fan Wang et al., [6] have proposed a distributed, single-channel MAC protocol (GMAC) that is inspired by game theory. In GMAC, each transmitter computes a utility function that maximizes the link’s achievable throughput. The utility function includes a pricing factor that accounts for energy consumption. GMAC allows multiple potential transmitters to contend through an admission phase that enables them to determine the transmission powers that achieve the Nash equilibrium (NE). These gains are achieved at no extra energy cost and GMAC performs best under high node densities and large data packet sizes. Sunho Lim et al., [7] have proposed communication mechanism, called RandomCast, via which a sender can specify the desired level of overhearing, making a prudent balance between energy and routing performance. And also it reduces redundant rebroadcasts for a broadcast packet and thus saves more energy. The advantage of this approach is that this paper identifies four factors that must be considered for the overhearing/rebroadcast decision, sender ID, number of neighbors, mobility, and remaining battery energy. Floriano De Rango et al., [8] have proposed modification in the MPR selection mechanism of OLSR protocol, based on the Willingness concept, in order to prolong the network lifetime without losses of performance. The mechanisms for the OLSR routing protocol, aims to improve the energy performance in Mobile ah-hoc Networks. OLSR presents the advantage of finding a route between two nodes in the network in a very short time, and it can expend a lot of resources selecting the MultiPoint Relays (MPRs) and exchanging Topology Control information. P. S. Hiremath et al., [12] have proposed protocol that conserves energy of mobile nodes and enhances the lifetime of the MANET. It is an on-demand routing protocol based on Adaptive Fuzzy Threshold Energy (AFTE). The experimental results of this approach are compared with the Load-Aware Energy Efficient Protocol (LAEE) protocol proposed by the same authors. The results show that AFTE performs better as compared to LAEE. The average network life time is enhanced by 13% considering first node failure, 15% considering 50% node failure and 23% considering 100% node failure as compared to LAEE and this add to the advantage of this proposed approach. Dheeraj Anand et al., [13] have proposed an energy efficient Destination Sequenced Distance Vector (EEDSDV) routing protocol is proposed for MANETs. The EEDSDV overcomes the problem of more energy consumption in existing DSDV protocol. EEDSDV controls the transmission energy by variant transmission power mechanism and gives a power control approach for an energy efficient routing. The advantage of this approach is that, by using the proposed protocol reduces the end to end delay and the number of control packets which is the sum of Route Request, Route Reply and In MANETs the resources used are limited i.e. the protocol used should not consume a large amount of energy or should not incur a large amount of computational or communication overheads [9] [20]. The topology of the MANETs varies dynamically. So, it is difficult to design a protocol that is able to provide hard guarantees about the QoS desired by an application [9]. Energy efficiency is an important consideration in MANETs, since nodes are relies on limited battery power for their energy. Energy-saving techniques aimed at minimizing the total power consumption of all nodes in the multicast group and at maximizing the multicast life span should be considered [10] [21]. I.3. Problem Identification In the paper [5] the authors have proposed a protocol called the Slow Start Power Controlled (abbreviated SSPC) protocol. This protocol reduces power consumption in the MANETs by using power control for the RTS/CTS (request to send/clear to send) and DATA frame transmissions. Here, in this protocol the node transmission is adjusted to the minimum required value for reception at the receiving node in order to achieve the reduced power consumption through which the maximum throughput also achieved in the MANETs. Here the transmission power is found out, when a transmitter node (Nt) sends a RTS frame to a receiver node (Nr) assigning a time interval and power to it. If the RTS frame doesn’t reaches the Nr, then the Nr is out of reach. Again the Nt send the RTS frame with increased time interval and the power. And after the Nr send the CTS frame back to the Nt, it actually calculates the transmission power required for the transmission that it can use without causing excessive interference to its neighbors. The drawback of this protocol is that it doesn’t maximize the overall network throughput while preventing terminals from unnecessarily using high power. II. Literature Review Emmanouel A. Varvarigos et al., [5] have proposed a new MAC-layer protocol for mobile ad hoc networks, called the Slow Start Power Controlled (abbreviated SSPC) protocol. SSPC improves on IEEE 802.11 by using power control for the RTS/CTS and DATA frame transmissions, so as to reduce energy consumption and increase network throughput and lifetime. The advantage of the proposed approach is the reduced energy consumption is achieved by adjusting the node transmission power to the minimum required value for reliable reception at the receiving node, while increase in network throughput is achieved by allowing Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 997 P. Sivanesan, S. Thangavel Route Error packets. K. Srinivasa Rao et al., [14] have proposed an energy efficient and reliable congestion control (EERCC) protocol for multicasting in MANETs. The proposed EERCC is implemented in three phases, in the first phase of EERCC protocol, a multicast tree routed at the source is build by including the nodes with higher residual energy towards the receivers. In the second phase an admission control scheme is proposed in which a multicast flow is admitted or rejected depending upon on the output queue size. In the third phase a scheme which adjusts the multicast traffic rate at each bottleneck of a multicast tree is proposed. The advantage of this approach is that it overcomes the disadvantages of existing multicast congestion control protocols (AODV) which depend on individual receivers to detect congestion and adjust their receiving rates. R. Bhuvaneswari et al., [15] have proposed a Demand Based Energy Efficient (DBEE) algorithm to reduce the effect of overhearing. The mobility of the nodes results in stale routes, due to the lack of route cache updation. So, a cross layer framework is implemented along with the DBEE to improve route cache performance in DSR. By using the cache timeout policy we can easily prevent stale routes from being used. The cache timeout of individual links are found by Receiving Signal Strength Indicator (RSSI) information. The advantage of the approach is that it achieves good packet delivery ratio while attaining low delay, overhead, minimum energy consumption. Yong Zhou et al., [16] have proposed novel linkutility-based cooperative MAC (LC-MAC) protocol for wireless multi-hop networks. By fully utilizing the broadcast nature of wireless multi-hop networks, the node that has overheard data packets in the previous hop may become a partner of the transmitter in the current hop. In LCMAC, based on the instantaneous channel measurements, each node tries to maximize its own linkutility (indicator of a node’s ability to cooperate) by jointly adjusting transmission rate and power. The advantage of this approach is that the optimal transmission type, rate and power are uniquely determined by the best node. utilization value for rescheduling the transmissions for that time period. Similarly, all the intermediate nodes existing in the carrier sensing zone (CS) of source node that detects the RTS frame and incapable decoding the frame assigns their channel utilization value as EIFS (Extended Interframe Space). The destination node upon receiving the RTS frame verifies for any error. If no error exists, its sends the clear to send (CTS) frame along with queue state and channel utilization information to source node using utility function. Upon receiving CTS frame, the source transmits the data packet to the destination node. By simulation results, we show that the proposed technique improves the overall network throughput and minimizes the energy consumption. III.2. Estimation of Metrics III.2.1. Estimation of Channel Utilization Let dist (t) be the distributed inter-frame spacing (DIFS). Let s (t) be the short inter-frame spacing SIFS. Let r (t) represents the Request to send (RTS) control packet. Let c (t) represents the Clear to send (CTS) control packet. Let d (t) be the data packet. Let a (t) be the acknowledgement frame (ACK). Let DDIFS, DSIFS, DRTS, DCTS, Dd, DACK be the delay components of DIFS, SIFS, RTS, CTS, data and ACK packets. The channel utilization of a network per second is computed using the following components [17]: a) The time taken for transmission and management of the data packets and control frames. b) The total number of delay components such as Distributed inter-frame spacing (DIFS) and short inter-frame spacing (SIFS). The estimation of above components and estimation of channel utilization based on these components are illustrated below. The channel busy time (Tchb) for a data frame (d) is given using Eq. (1): Tchb (d) = DDIFS + Dd (z, ) III. Proposed Solution (1) where z = size of data frame (in bytes). = rate at which the data is transmitted. DDIFS = delay component. Tchb of the RTS frames is given using Eq. (2): III.1. Overview In this technique, the source node that desires to transmit the data packet to its destination node, appends its queue state and channel utilization with request to send (RTS) frame and transmits it to the destination utilizing the utility function. All the intermediate nodes in the transmission range of source node that detects the RTS frame and which has ability to decode the RTS frame, set their channel Tchb (RTS) = DRTS (2) Tchb of the CTS frames is given using Eq. (3): Tchb (CTS) = DSIFS + DCTS (3) Tchb of the ACK frames is given using Eq. (4): Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 998 P. Sivanesan, S. Thangavel Tchb (ACK) = DSIFS + DACK (4) The utility function helps in maximizing the overall network throughput while preventing the link from using higher power [6]. According to Shannon’s capacity, the utility function for an active link i is defined as: If RTS, CTS, ACK and data packets are encountered during the interval t, the total Tchb is given using the following equation: Tchb (t) = (r (t) * Tchb (RTS)) + (c (t) * Tchb (CTS)) + + (a (t) * Tchb (ACK)) + (d (t) * Tchb (d)) UFi (Ptxi, Ptx-i) = ln 1 SNRi - CFi Ptxi, (5) (10) i = 1, 2,…,n Thus, the Channel utilization at time t, is given using Eq. (6): T t (6) CU t chb 6 100 10 where: Ptxi = transmission power of the node; Ptx-i = transmission power of all links other than i; III.2.2. [Ptx1,…, Ptxi-1, Ptxi+1, …. Ptxn) Estimation of Channel State Information The channel state information refers to the physical layer information that includes channel fading, multipath propagation, reflection, scattering and other climatic effects on the channel. It is estimated based on the signal strength and signal to noise ratio (SNR) at the receiver. The estimation of signal strength using Friis equation is given by Eq. (7) [18]: Prx P tx htx hrx 2 4 d 2 SNRi = Signal to noise ratio (SNR) received at the receiver node. CFi = cost factor representing the specific amount of power consumption. III.3. Algorithm Utilized for Achieving Energy Efficient MAC Protocol (7) Let S and D represent be the source and destination node Let Ni represents the intermediate node Let DP be the data packet Let be the sensitivity of the node. 1) When S desires to transmit the DP to D through Ni, it initially estimates UFi (Estimated in section III.2.3). 2) With the estimated UFi, Ntxi transmits the RTS frame along with the estimated queue state and channel utilization at UFi: where Pt = transmitted power; = transmitter gain; = receiver gain; htx = transmitter height; hrx = receiver height; = wavelength; d = distance among the transmitter and receiver; = system loss; Based on the estimation of signal strength, SNR is computed using Eq. (8): SNR = log10(Ptx) – log10(Prx) dB RTS RTS S Ni D The format of RTS frame is shown in Table I. (8) III.2.3. Estimation of Queue State Information Frame control The queue state information (Qk) in the network is obtained by observing the number of packets in the user’s buffer from MAC layer [19]: Qk = [qj] TABLE I FORMAT OF RTS FRAME Tchb(RTS) Atx Arx Qk CU FCS The parameters in the above table include the frame control (protocol version, type, sub-type etc). Atx and Arx represents the address of RTS frame transmitter and receiver. Qk represents the queue state, CU is the channel utilization. FCS represents the frame check sequence used for error control. 3) All Ni in the transmission range (Rtx) of S that detects the RTS frame and which has ability to decode the RTS frame, set their utilization ratio with CU (t) (Estimated in section III.2.1). It then re-schedules the transmissions for that time period. 4) Nis existing in the carrier sensing zone (CS) of S that detects the RTS frame and incapable of decoding the frame assigns their channel utilization value as EIFS (Extended Interframe Space). This assignment is due to the fact that CS is not aware of the frame (9) where qj = K 1 vector with ith component. Eq. (9) denotes the number of packet remaining in node i’s buffer. III.2.4. Estimation of Utility Function Based on channel state information (estimated in section III.2.2) and cost factor, the transmitter node estimates the utility function. During this estimation, node chooses the transmission power in such a way that the utility function is greater than the threshold (Thmax). Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 999 P. Sivanesan, S. Thangavel transmission time: can receive the signal but cannot decode the signal. EIFS = DSIFS + [(8*z) + L + Preamble length+ PLCPheader length] + DIFS where z = length of an acknowledgement (ACK) frame [(8*z) + L + Preamble length+ PLCPheader length] = transmission time of an ACK frame at the physical layer’s lowest mandatory rate. 5) D upon receiving RTS frame verifies Arx, Atx and FCS. If (Arx = AD) & (RTS frame = error-free) & ( Th ) Then D decodes the RTS frame. End if . When D is intended destination, RTS frame is errorfree and sensitivity of the node is below threshold, it decodes the RTS frame. The sensitivity of a node is referred to as the minimum signal level essential for reception at the receiver. In case, the RTS frame is prone to error or signal level is weak, the packet is discarded. 6) After decoding the RTS frame, D estimates the utility function and sends the CTS frame to S along with the CU (t) and Qk: CTS frame informs the nodes in its coverage area that data transmission will be held in D. The format of CTS frame is shown in Table II. Frame Control Fig. 1. Interframe space duration and CU for RTS and CTS frame transmissions Advantage of this approach 1) This approach achieves more energy conservation, since the utility function in uses transmission power and SNR. 2) Since the transmission power is considered based on channel utilization and queue state, it avoids interference and achieves better utilization. IV. CTS CTS S Ni D TABLE II FORMAT OF CTS FRAME Tchb (CTS) Atx Arx CW - Contention window Ntx – Nodes in the transmission range Nrx – Nodes in the carrier sensing zone Qk CU FCS 7) Similar to step 3 and 4, all Nis in the transmission and carrier sensing zone of D, sets its CUi. 8) If S receives CTS frame within t; Then: DP S D Else Data transmission has failed. S initiates re-transmission of RTS frame. End if . When S receives CTS frame with the pre-defined time interval (t), it transmits DP after the SIFS duration with the power utilized in computing utility function. Otherwise decides that the data transmission has failed i.e. the node is not within the reachable distance. 9) Similar to step 8, if D has not received the data packet before the pre-defined time, it decides that CTS frame transmission has failed. Fig. 1 illustrates the interframe space duration and channel utilization (CU) for RTS and CTS frame transmission. It descries that the nodes within the transmission range are able to sense and decode the signal exactly. But the nodes in the carrier sensing zone Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Simulation Results IV.1. Simulation Parameters We evaluate our Achieving Energy Efficient MAC protocol through NS-2 [20]. We use a bounded region of 1000 × 1000 sqm, in which we place nodes using a uniform distribution. The number of nodes is 100.We assign the power levels of the nodes such that the transmission range of the nodes varies from 250 meters to 450meters. In our simulation, the channel capacity of mobile hosts is set to the same value: 2 Mbps. We use the distributed coordination function (DCF) of IEEE 802.11 for wireless LANs as the MAC layer protocol. The simulated traffic is Constant Bit Rate (CBR). The following table summarizes the simulation parameters used: No. of Nodes Area Size Mac Simulation Time Traffic Source Packet Size Transmit Power Receiving Power Idle Power Initial Energy Transmission Range Routing Protocol Flows 100. 1000 × 1000 AEEMAC 50 s CBR 500 0.660 w 0.395 w 0.035 w 10.3 J 250,300,350 and 400 and 450m AODV 2, 4, 6 and 8. IV.2. Performance Metrics We compare the performance of our proposed Achieving Energy Efficient MAC (AEEMAC) protocol with SSPC [5]. We evaluate mainly the performance International Review on Computers and Software, Vol. 8, N. 4 1000 P. Sivanesan, S. Thangavel Flow s Vs Delay Delay(Sec) 15 10 AEEMAC SSPC 5 0 2 4 6 8 Flow s Flow s Vs Throughput Throughput according to the following metrics: Average Packet Delivery Ratio: It is the ratio of the number of packets received successfully and the total number of packets transmitted. Average Energy Consumption: The average energy consumed by the nodes in receiving and sending the packets. Packet Drop: It is the number of packets dropped during the data transmission. End-to-End-Delay: It is the amount of time taken by the packet to reach the destination. A. Based on Flows In our experiment we vary the number of flows as 2, 4, 6 and 8 with 100 nodes. 3000 2000 AEEMAC 1000 SSPC 0 2 4 6 8 Flow s Fig. 6. Flows Vs Throughput From Fig. 2, we can see that the delay of our proposed AEEMAC is less than the existing SSPC method. From Fig. 3, we can see that the delivery ratio of our proposed AEEMAC is higher than the existing SSPC method. From Fig. 4, we can see that the packet drop of our proposed AEEMAC is less than the existing SSPC method. From Fig. 5, we can see that the energy consumption of our proposed AEEMAC is less than the existing SSPC method. From Fig. 6, we can see that the throughput of our proposed AEEMAC is higher than the existing SSPC method. B. Based on Range In our second experiment we vary the range as 250, 300, 350, 400 and 450 m. Fig. 2. Flows Vs Delay Flow s Vs DeliveryRatio 1 AEEMAC Delay(Sec) DeliveryRatio Range Vs Delay 1.5 SSPC 0.5 0 2 4 6 8 50 40 30 20 10 0 AEEMAC SSPC 250 Flow s 300 350 400 450 Range Fig. 3. Flows Vs Delivery Ratio Fig. 7. Range Vs Delay Flow s Vs Drop DeliveryRatio Pkts Range Vs DeliveryRatio 100000 80000 60000 40000 20000 0 AEEMAC SSPC 2 4 6 8 1.5 1 AEEMAC SSPC 0.5 0 250 Flow s 300 350 400 450 Range Fig. 4. Flows Vs Drop Fig. 8. Range Vs Delivery Ratio Flow s Vs Energy Range Vs Drop 6000 10 AEEMAC Pkts Energy(J) 15 SSPC 5 0 4000 AEEMAC 2000 SSPC 0 2 4 6 8 250 Flow s 300 350 400 450 Range Fig. 5. Flows Vs Energy Fig. 9. Range Vs Drop Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1001 P. Sivanesan, S. Thangavel Range Vs Energy [2] Energy(J) 20 15 AEEMAC 10 [3] SSPC 5 0 250 300 350 400 450 [4] Range Fig. 10. Range Vs Energy [5] Throughput Range Vs Throughput 4000 [6] 3000 AEEMAC 2000 SSPC 1000 [7] 0 250 300 350 400 450 Range [8] Fig. 11. Range Vs Throughput From Fig. 7, we can see that the delay of our proposed AEEMAC is less than the existing SSPC method. From Fig. 8, we can see that the delivery ratio of our proposed AEEMAC is higher than the existing SSPC method. From Fig. 9, we can see that the packet drop of our proposed AEEMAC is less than the existing SSPC method. From Fig. 10, we can see that the energy consumption of our proposed AEEMAC is less than the existing SSPC method. From Fig. 11, we can see that the throughput of our proposed AEEMAC is higher than the existing SSPC method. V. Conclusion [10] [11] [12] [13] In this paper, we have proposed an energy efficient MAC protocol in MANET based on channel utilization and queue size. In this protocol, the source node that desires to transmit the data packet to its destination node, appends its queue state and channel utilization with request to send (RTS) frame and transmits it to the destination utilizing the utility function. After the destination verifies the RTS frame for error, its sends the clear to send (CTS) frame along with queue state and channel utilization information to source node using utility function. Upon receiving CTS frame, the source transmits the data packet to the destination node. By simulation results, we have shown that the proposed protocol improves the overall network throughput and minimizes the energy consumption for various transmission ranges and number of flows. [14] [15] [16] [17] [18] References [1] [9] Niranjan Kumar Ray and Ashok Kumar Turuk, “Energy Efficient Techniques for Wireless Ad Hoc Network”, proceedings of first international joint conference on information and communication Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved [19] technology, pages 105-111, Jan 2010. S.Rajeswari and Dr.Y.Venkataramani, “An Adaptive Energy Efficient and Reliable Gossip Routing Protocol For Mobile Adhoc Networks”, International Journal of Computer Theory and Engineering, Vol. 2, No. 5, October, 2010. N.Sumathi and Dr. Antony Selvadoss Thanamani, “Evaluation of Energy Efficient Reactive Routing Protocols in QoS Enabled Routing for MANETS”, International Journal of Computer Applications (0975 – 8887) Volume 14– No.2, January 2011. A.Rajaram and Dr. S. Palaniswami, “The Trust-Based MACLayer Security Protocol for Mobile Ad hoc Networks”, International Journal on Computer Science and Engineering Vol. 02, No. 02, 2010. Emmanouel A. Varvarigos, Gkamas Vasileios and Karagiorgas Nikolaos, “The slow start power controlled MAC protocol for mobile ad hoc networks and its performance analysis”, IEEE, Volume 7, Issue 6, Pages 1136–1149, August 2009. Fan Wang, Ossama Younis and Marwan Krunz, “Throughputoriented MAC for mobile ad hoc networks: A game-theoretic approach”, IEEE, Volume 7, Issue 1, Pages 98–117, January 2009. Sunho Lim, Chansu Yu and Chita R. Das, “RandomCast: An Energy Efficient Communication Scheme for Mobile Ad Hoc Networks”, Mobile Computing, IEEE Transactions on Aug. 2009. Floriano De Rango, Marco Fotino and Salvatore Marano, “EEOLSR: Energy Efficient OLSR Routing Protocol for Mobile AdHoc Networks”, Military Communications Conference, 2008. MILCOM 2008. IEEE, conference on 16-19 Nov. 2008. Ash Mohammad Abbas and Øivind Kure, “Quality of Service in mobile ad hoc networks:a survey”, International Journal of Ad Hoc and Ubiquitous Computing, Volume6,Page 75-98, 2008. Ranjeet Jaiswal, Manish Chand Sahu, Ankur Mishra and Sanjay Sharma, “SURVEY OF ENERGY EFFICIENT MULTICAST ROUTING PROTOCOLS IN MANET”, International Journal of Advanced Research in Computer Science and Electronics Engineering Volume 1, Issue 5, July 2012. Busola S. Olagbegi and Natarajan Meghanathan, “A REVIEW OF THE ENERGY EFFICIENT AND SECURE MULTICAST ROUTING PROTOCOLS FOR MOBILE AD HOC NETWORKS”, International journal on applications of graph theory in wireless ad hoc networks and sensor networks (GRAPHHOC) Vol.2, No.2, June 2010. P.S.Hiremath and Shrihari M.Joshi, “Energy Efficient Routing Protocol with Adaptive Fuzzy Threshold Energy for MANETs”, IRACST – International Journal of Computer Networks and Wireless Communications (IJCNWC), Vol.2, No.3, June 2012. Dheeraj Anand and Shiva Prakash, “Energy Efficient DSDV (EEDSDV) Routing Protocol for Mobile Ad hoc Wireless Network”, International Journal of Advanced Research in Computer Science and Electronics Engineering Volume 1, Issue 3, May 2012. K.Srinivasa Rao, R.Sudhistna Kumar, P. Venkatesh, R.V.Sivaram Naidu,and A.Ramesh, “Development of Energy Efficient and Reliable Congestion Control Protocol for Multicasting in Mobile Adhoc Networks compare with AODV Based on Receivers”, International Journal of Engineering Research and Applications (IJERA) Vol. 2, Issue 2, pp.631-634, Mar-Apr 2012. R.Bhuvaneswari and Dr.M.Viswanathan, “Demand Based Effective Energy Utilization in Mobile Ad Hoc Networks”, IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 2, No 2, March 2012. Yong Zhou, Ju Liu, Lina Zheng, Chao Zhai, and He Chen, “LinkUtility-Based Cooperative MAC Protocol for Wireless Multi-Hop Networks”, IEEE Transactions on wireless communication, vol. 10, no. 3, March 2011. Amit P. Jardosh Krishna N. Ramachandran Kevin C. Almeroth Elizabeth M. Belding-Royer, “Understanding Congestion in IEEE 802.11b Wireless Networks”, Proceeding of the 5th ACM SIGCOMM conference on Internet Measurement, 2005. Jagadeesh Kumar, S.J.K. and T. Purusothaman, “A Cross Layer Frame Work for Enhanced Quality of Service Provisioning in Worldwide Interoperability for Microwave Access Networks”, Journal of Computer Science, pp 420-424, 2012. Indumathi Ganesan and Murugesan Karuppasamy, “An Efficient International Review on Computers and Software, Vol. 8, N. 4 1002 P. Sivanesan, S. Thangavel Cross-Layer Scheduling with Partial Channel State Information”, Informatica, pp 245-250, 2011. [20] K S Shivaprakasha, Muralidhar Kulkarni, Energy Efficient Routing Protocols for Wireless Sensor Networks: a Survey, (2011) International Review on Computers and Software (IRECOS), 6 (6), pp. 929-943. [21] Ali Hassoune M., Mekkakia Z., LAT-MAC: A Latency Energy Aware MAC Protocol for Wireless Sensor Networks, (2010) International Review on Computers and Software (IRECOS), 5 (3), pp. 276-280. [22] Network Simulator: http:///www.isi.edu/nsnam/ns. Authors’ information P. Sivanesan is doing his research in the area of mobile ad hoc networks. He is currently working as a Associate Professor in the department of Information Technology, M.A.M College of Engineering, Tiruchirappalli. He is pursuing his research in Anna University of Technology Coimbatore, Tamilnadu, India. His area of interest includes mobile ad hoc networks, sensor networks and mobile computing. He is the member of ISTE. S. Thangavel was born in Namakkal, in 1971. He received the B.E. degree in Electrical and Electronics Engineering from Government College Technology, Coimbatore (Bharathiyar University) in 1993. He received his M.E. in control and instrumentation from College of Engineering Guindy (Anna University Chennai) in 2002. He received his Ph.D. from Anna University, Chennai in 2008. He is currently working as a Professor in the department of EEE at K.S.Rangasamy College of Technology, Tiruchengode from 1996 onwards. He has published 8 papers in National/International Journals. He is a reviewer for 6 international journals. He is an ISTE and IEEE member. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1003 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Image Compression Based on Crucial Region for Radiographic Weldment Images V. Vaithiyanathan1, B. Karthikeyan1, B. Venkatraman2 Abstract – Radiographic images are generally of high volume. These images when stored occupy a lot of storage space and the transmission of them is also difficult due their large size. So reduction of size plays an important role in storage and transmission of images. To achieve this reduction, compression techniques are being widely used. This paper focuses on the process of welding, Tungsten Inert Gas (TIG) welding in specific, the generation and development of photographic film of weldments and also a novel method is presented, which is intended to reduce the size of the radiographic image developed, by applying lossless compression technique on the crucial regions of the image. The crucial regions of the image are automatically detected by using segmentation technique in the proposed method. After the detection of crucial regions, lossless compression technique is applied on them. The compressed data obtained along with some information of the image is transmitted to the other validated user for reconstruction of the original image. Apparently, the original image data can’t be understood by the third party during transmission, which makes this method to be used for secure transmission of data. The image reconstructed by this method will not have any loss of data in the crucial regions of the image but certain loss is present in the non-crucial regions. This method is tested on some images and their results are shown in the paper along with the compression rates. The results are also compared with other methods. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: TIG Welding, Radiographic Images, Huffman, Lossless Compression, Entropy Nomenclature TIG PNG EMAT DICOM NDT NDE J2plossless J2plossy Tungsten Inert Gas Portable Network Graphics Electromagnetic Acoustic Transducers Digital Imaging and Communications in Medicine Non- Destructive Testing Non- Destructive Examination JPEG 2000 Lossless compression JPEG 2000 Lossy compression I. Introduction Compression techniques are generally of two types, lossless compressions techniques and lossy compression techniques. Lossy compression techniques have higher compression rates when compared to the lossless compression techniques. There will be a certain loss in data when lossy compression is applied, so after reconstructing the image from the data obtained from lossy compression, the original image differs from the constructed image. This makes lossy compression techniques unsuitable in many cases even though it reduces the size to a large extent. Manuscript received and revised March 2013, accepted April 2013 This technique is used in various applications like internet telephony, streaming media etc. In contrast to this lossless compression techniques do not miss any information and so apparently have less compression rate when compared to the lossy compression techniques. The lossless compression techniques are used in various applications like Compressed Archive File (ZIP file) format, Portable Network Graphics (PNG) image file format, gzip tool of UNIX etc. The coding schemes used in lossless compression are Huffman coding, Arithmetic coding and run length encoding. In this paper Huffman coding algorithm is used to implement lossless compression on the crucial regions of the image. In the proposed method, the crucial regions of an image are detected automatically by using thresholding segmentation technique. In particular improved Tsallis entropy based thresholding segmentation technique is used [1]. Once the important regions are detected Huffman coding, the lossless compression technique is used on these regions for data compression. II. Need for Compression Images are often needed to be transmitted over network having constraints of limited bandwidth and limited storage space. The compression techniques both Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 1004 V. Vaithiyanathan, B. Karthikeyan, B. Venkatraman lossless and lossy techniques reduces the bits required to transmit the images over the network. This enables minimum requirement of bandwidth while transmitting the image and the image is also received fast at the other end as compression reduces the time taken to transmit the image over the network. As compression techniques besides reducing the storage space also reduces the transmitting time and bandwidth requirement, compression of images became very essential in every field. In addition to this, compression also helps in the secure transmission of data which is essential requirement in many transmissions these days. By using gene expression binary images can be compressed in a better manner [2]. III. Experimental Procedure III.1. TIG Welding The metal rod (weld material) is welded by using a special arc welding methodology called the TIG welding. This method typically welds by means of generating an electric arc in between weld material and the tungsten (Tn) electrode. The inert gases from the torch provides a protective cover for the Tn electrode, heat affected zone, and the molten material. These inert gases normally Argon, Helium do not take part in any chemical reaction due to their inert nature. Their lack of odour and their transparency provides an enhanced visibility to the welder. This process of welding typically produces a temperature of around 35,000 Fahrenheit/19,426 Celsius. Heat is applied to only the weld material. Filler materials can be manually added as per the need [17]. The number of alloys and the corresponding metals that can be welded by using this method is high. They can also be used to weld metals which are dissimilar. The riveted arc allows the heat to be centered in a minute metal region. An added advantage is that the concentration of the heat is only to the weld material. It makes the joint feeble where the heat gets more impacted. Since we don’t have the slag, we can have a clear view. Also slags are not needed to be dispatched after each pass. As with other welding processes, this TIG welding does not have any transfer of the weld metals over the electric arc. Generally this method seldom produces spatter or sparks. So, no smoke or toxic gases are produced. Fumes produced are all dependent on the metal that is welded. Coming to its disadvantages, the lower filler deposition rate is the major drawback. The welder has to have good knowledge of the process beforehand. Welding may be brighter because of lack of fumes. Proper protection has to be made sure, both for the environment and the welder. Importantly, before welding any material, its physical and chemical properties are to be thoroughly looked upon. Ensuring good and safe surrounding is of prime importance [17]. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved III.2. Generation of Photographic Film of Weldments The welded material is then tested by using a method of radiography in which a radioactive isotope generates gamma rays or x-ray tube generates rays. Non-contact Electromagnetic Acoustic Transducers (EMATs) pair is also used for imaging of metallic plates [3]. Here, the radiation is passed on to the photographic film via the weld material. This causes the deposition of the material in the photographic film. Based on the density of the material, its energy absorbance differs. Film will be exposed if energy not drew in by the material become eventually dark while minimum energy disclosed areas are lighter. Thus, clefts, minute holes, slag, inclusions become darker in the film, while the Tn metal remains lighter in the film. Since x-rays are invisible to humans we need to be very careful as they may produce skin infections. Full training and sound knowledge in addition with practice is needed for the workers. Multichannel and multi-imaging x-ray streak camera system which is one dimensional can be used to produce two dimensional xray images, and two dimensional map of electron temperature [4]. III.3. Developing Photographic Film of Weldments By above method we get a photographic film in which we have the welded material`s image. This film is either developed by following a normal film developing technique and the resulting photograph is given to the professionals for the analysis and improvement or is given to a special Laser Film Digitizer which typically has the following technical specifications. This Laser Film Digitizer with Helium – Neon Laser light source has a photomultiplier sensor of optical density range of around 0.0 to 4.7. It has an optical resolution of 50 micrometres and has a memory of around 24 MB. It uses a network of Digital Imaging and Communications in Medicine (DICOM) Storage Service class, Digital Imaging and Communication in Nondestructive Evaluation (DICONDE), 2905 HD with the dimensions being 13 × 21 × 30 / 33 × 52.6 × 76.4, while the power is around 120 Vac2. The DICOM is the universal format used in Picture archiving and communication system which is widely used for compression and storing of images [5]. This 2905 Laser Film Digitizer produces greatest image quality for the diagnostic purposes like DICOM/DICONDE secondary capture. User selectable scan options include: Pixel Spacing, between 50-500 micrometres or Optical Density of 4.7 or Variable bit depth – 8, 10 or 12 bits or can itself be Self-Calibrating. Its Utilities are Teaching Files, Primary Diagnosis, Digital Duplication, Industrial Non-destructive testing/ Non-destructive examination (NDT/NDE), relevant priors. The 2905 is a swift scanner which can scan the 2K film at less than 7 seconds. Self-calibration correctly International Review on Computers and Software, Vol. 8, N. 4 1005 V. Vaithiyanathan, B. Karthikeyan, B. Venkatraman occurs whenever the system is switched on. Feed system typically ascertains the optimal scan quality by reducing the dirt or other dust. 2905 has a construction with allsteel frame. The 2905 has a heavy metal closed protective housing from laser and optics. This 2905 Digitizer has a special algorithm that is used to analyse the photographic film. Digital image processing techniques are applied to the film and the desired information is extracted from the film and is used upon. Thus scanner scans the photographic film and produces the results based on its findings. These results are compared with the conclusions given by the professionals who had seen the developed photograph, so that both produce the same desired results. Nano mechanical Testing systems using In Situ Methodologies are also used in electron scanning [6]. IV. New Approach for Compression IV.1. Detecting Crucial Regions of Image Produced After the photograph is developed, a novel method to compress the image is proposed. The image that is to be compressed is taken and improved Tsallis entropy based thresholding segmentation technique is used on it [1]. This segmentation method when applied on the original image splits the entire image into two regions, one region having intensity value 0 which is black in colour and other having intensity value 1 which is white in colour. The regions of the image which are in white colour are considered to be crucial regions of image. The intensity values present in the original image at these crucial regions and an approximate intensity value for the non-crucial regions are stored. This stored data is very important and helps in reconstructing the image without any loss in the crucial areas, which are detected automatically by thresholding segmentation technique. IV.2. Compression Using Huffman Coding Traditional Huffman coding algorithm, which is a lossless compression technique, is applied on the stored data to reduce the size of the data without missing any part of the information. Huffman coding used is the lossless compression coding scheme. This is not dependent on the specific medium characteristics. This compression algorithm is variable length coding algorithm. In this for each unique symbol a unique code is associated. The probability of the elements is considered in this algorithm and the elements with higher probability will have a smaller length code word when compared to the elements with lesser probability. Code words are associated to symbols by constructing the binary tree where the nodes represents symbols initially and the assigning process of code words for each of the distinct symbol is done in the traditional method. A dictionary which stores all the unique code words against their corresponding symbols is stored and this helps in reconstructing the original data once compressed Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved data is given. So, the dictionary is to be transmitted to the sender along with the compressed data for the recovery of original information. After applying the lossless compression technique by using Huffman coding algorithm on the data stored, the resultant compressed data, dictionary and some other information is to be transmitted. This method enables the secure transfer of information as the information sent cannot be used by any third party to get clear knowledge of the original image. The other information that is sent besides the compressed data and dictionary for the reconstruction of the original image includes the size of the image and other parameters. IV.3. Decompression In decompression, Huffman decoding method is used on the data obtained as a result of Huffman coding. In this method decoding is done by the looking into the dictionary for each code word and knowing the corresponding original data associated with it. Huffman decoding, results in the stored data that has the intensity values corresponding to all the regions of the image. Reconstruction of the image is done by using this decoded data and plotting the intensities values at the corresponding coordinate positions. This reconstructed image has same size as that of the original image and is exactly similar to the original image in the crucial regions. It only differs in the non-crucial regions of the image. V. Research Chen, C.W. et al [7], published a work which used the concept of preserving clinical useful information by using 3d separable wavelet transforms while implementing the lossy techniques. Chen, C.W. et al [8], published a work which used the preserving the crucial regions of the image concept for the Image compression. n this paper, the image compression is based on an adaptive quantization scheme which can preserve the clinically useful structures of a given image while implementing lossy techniques. Storm et al [9], published a work which implements lossless region-of-interest compression. Two coding methods are used, One using S-transform, and second using lossy wavelet zero tree coding. Here, the regions of interests are to be manually selected and Xin Li et al [10], published a work on lossless compression of the image based on edge-directed property of least-square adaptive prediction schemes. In this, the least square optimization is done for only a fraction of pixels in the image. Zukoski M. J. et al [11], published a work which is relevant to this paper. In this, an image to be compressed is first aligned with a suitable image prestored in the atlas. In the images stored in the atlas, clinically relevant and non-clinically relevant regions are predefined by International Review on Computers and Software, Vol. 8, N. 4 1006 V. Vaithiyanathan, B. Karthikeyan, B. Venkatraman radiologists. After aligning there are two approaches discussed, one is to read the relevant regions and apply lossless compression and in other parts lossy compression. Other approach is to generate the residual image and compressing it. The work published needs to store a database of atlas, requires aligning of the image to be compressed and needs the radiologist to predefine the clinically relevant and non-clinically relevant regions in the atlas images. For lossless compression, lossless jpg and for lossy compression, lossy jpg is used in this paper as shown in the examples. Vito Dai et al. [12], published a work in which they proposed a new compression algorithm named context copy combinatorial code (c4). This algorithm is lossless. In this method, the image is automatically segmented into two regions; one is called copy regions and the other is called as prediction regions. In this error bits are generated and are compressed and are sent to decoder along with segmentation map to generate layout image. This targets mainly layout images which have a mix of data’s, dense repetitive data and less dense structured data. Wen Sun et al. [13], a novel method to compress the images with extended bit depth. It is based on the value of interest parameters. This method requires the value of interest parameters to be specified during the capture process. Gray-Golomb coding, bit-plane coding are used in this proposed method. Q. T. Nhu et al. [14] have proposed a scheme called wavelet based ideal cross point regions for compression of the images. This scheme is based on ideal cross point regions and integer wavelet transform. This is lossless technique. M. Kreizer et al. [15] used the method of transferring binary data related to image instead of directly transferring the image to the host pc which results in reduced data rates in particle tracking. K-Y. Chan et al. [16] used the method of data compression by transferring only the locations and intensity values of white spots in image produced during the particle tracking. Fig. 1 shows the encoding phenomenon as described in the proposed method. Fig. 2 shows the decoding phenomenon which results in the reconstructed image. VI. Results and Discussion The above discussed compression method is tested with sample radiographic images shown in Fig. 3, Fig. 4, Fig. 5 and Fig. 6. When Fig. 3 is taken, the segmented image after applying improved Tsallis entropy based thresholding segmentation technique, is shown in Fig. 7. This specifies the crucial regions of Fig. 3. Huffman coding compression technique is applied and obtained compressed data, dictionary and some related information is sent to the other validated user for reconstruction. The reconstructed image is shown in Fig. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 11. The original size of Fig. 3; the size of the data that is to be sent to the other validated user for reconstruction along with the compression rate is shown below Fig. 11. Similar procedure is followed for the remaining radiographic images and their results are displayed. INPUT IMAGE IMPROVED TSALLIS ENTROPY THRESHOLDING STORING INFORMATION OF CRUCIAL REGIONS HUFFMAN CODING COMPRESSED DATA AND DICTIONARY Fig. 1. Encoding process COMPRESSED DATA, DICTIONARY, OTHER INFORMATION HUFFMAN DECODING PLOTTING INTENSITY VALUES USING DECODED DATA RECONSTRUCTED IMAGE Fig. 2. Decoding process From Table I, it is clear that entropy of the output image is less when compared to entropy of the input the image. This is due to some redundancy in the non-crucial regions of the image, which is the result of assuming some approximate intensity value for all non-crucial regions. TABLE I ENTROPY VALUES OF IMAGES (BITS) a a Image Origina J2plossles J2ploss Proposed s l s y Method Fig. 3 5.1941 5.1941 5.9156 3.6208 Fig. 4 4.6842 4.6842 4.6842 3.3414 Fig. 5 3.0518 3.0518 3.0518 0.5502 Fig. 6 4.4968 4.4968 4.4972 3.0955 a J2plossless is the entropy value of the image obtained after implementing lossless JPEG 2000 compression on original image b J2plossy is the entropy value of the image obtained after implementing lossy JPEG 2000 compression on original image International Review on Computers and Software, Vol. 8, N. 4 1007 V. Vaithiyanathan, B. Karthikeyan, B. Venkatraman Fig. 6. Test Image4 Fig. 3. Test Image1 Fig. 7. Segmented image of Fig. 3 Fig. 4. Test Image2 Fig. 8. Segmented image of Fig. 4 Fig. 5. Test Image3 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1008 V. Vaithiyanathan, B. Karthikeyan, B. Venkatraman Fig. 12. Reconstructed image of Fig.4 Fig. 9. Segmented image of Fig. 5 Fig. 10. Segmented image of Fig. 6 Fig. 13. Reconstructed image of Fig.5 Fig. 11. Reconstructed image of Fig. 3 Fig. 14. Reconstructed image of Fig.6 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1009 V. Vaithiyanathan, B. Karthikeyan, B. Venkatraman TABLE II PERFORMANCE COMPARISON OF DIFFERENT METHODS (BYTES) Images Original a J2plossless a J2plossy Huffman Coding Proposed Method Compression Ratio Space Saving (%) 77.58 80.885 87.993 81.86 Fig. 3 689808 512662 546524 251787 154628 0.22416 Fig. 4 182268 89315 97663 50008 34839 0.19114 Fig. 5 16000718 3317676 4378213 2041363 1921192 0.12006 Fig. 6 224400 109939 122806 60873 40702 0.1813 a J2plossless is the size of the image obtained after implementing lossless JPEG 2000 compression on original image. b J2plossy is the size of the image obtained after implementing lossy JPEG 2000 compression on original image c Proposed method is the size of the data that is to be transmitted by using the proposed method, so that the other validated user can reconstruct the original image. From Table II, it is apparent that proposed method achieves good results when compared to standard compression techniques, jpeg2000 lossless and jpeg2000 lossy compression methods. This can be inferred from compression ratio and space saving columns of the Table II. VII. [4] [5] [6] Conclusion This paper gives a detailed account on the process of welding, TIG welding in specific and the method of obtaining and developing photographic film of weldments. This in addition proposes a novel method to compress the developed radiographic images, by using the crucial regions of the image and Huffman coding algorithm. Improved Tsallis entropy based thresholding segmentation technique is used to detect the crucial regions of the image. After the detection, the intensity values corresponding to the crucial regions of the image and an approximate intensity value for non-crucial regions of image is stored and Huffman coding is applied on it. Huffman coding being lossless compression technique doesn’t lose any data regarding the crucial regions present in the image. The resultant data of Huffman coding and some other information help the other validated user to reconstruct the image without any loss in the crucial parts of image by using the decoding process. Besides this, the method is also used for secure transmission of data. This method provides better results than, jpeg2000 lossless and jpeg2000 lossy compression techniques. [7] [8] [9] [10] [11] [12] [13] [14] [15] Acknowledgements This work is supported by Indira Gandhi Centre for Atomic Research (IGCAR), Kalpakkam, India. The Weldment radiographic images are given by IGCAR. [16] [17] References [1] [2] [3] Lin, Q., Ou, C, Tsallis entropy and the long-range correlation in image thresholding, Signal Processing, Vol. 92 n. 12, 2012, pp. 2931 – 2939. Ma, S., A digital image compression algorithm based on gene expressions, , International Review on Computers and Software, Vol. 7 n 5, 2012, pp. 2555-2559. Ho, K.S., Gan, T.H., Billson, D.R., Hutchins, D.A., Application of pulse compression signal processing techniques to electromagnetic acoustic transducers for noncontact thickness measurements and imaging, Review of Scientific Instruments, Vol. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 76 n. 5,2005. Zhong, J., Shiraga, H., Azechi, H., One-dimensional and multichannels multi-imaging x-ray streak camera for imploded core plasma of shell-cone target, Review of Scientific Instruments Vol. 79 n. 10, 2008. Kang, B.J., Kim, H.S., Park, C.S., Choi, J.J., Lee, J.H., Choi, B.G., Acceptable compression ratio of full-field digital mammography using JPEG 2000, Clinical Radiology Vol. 66 n. 7, 2011, pp. 609-613. Gianola, D.S., Sedlmayr, A., Mnig, R., Volkert, C.A., Major, R.C., Cyrankowski, E., Asif, S.A.S., (...), Kraft, O., In situ nanomechanical testing in focused ion beam and scanning electron microscopes, Review of Scientific Instruments Vol. 82 n. 6, 2011. Chen, Chang Wen, Zhang, Ya-Qin, Parker, Kevin J., Subband analysis and synthesis of volumetric medical images using wavelet, Proceedings of SPIE - The International Society for Optical Engineering, 1994, Chicago,USA. Chen, Chang Wen, Zhang, Ya-Qin, Luo, Jiebo, Parker, Kevin J., Medical image compression with structure-preserving adaptive quantization, Proceedings of SPIE - The International Society for Optical Engineering, 1995, Chicago,USA. Strom, J., Cosman, P.C., Medical image compression with lossless regions of interest, Signal Processing Vol. 59 n. 2 , 1997, pp. 155-17. Li, X., Orchard, M.T., New edge-directed interpolation, IEEE Transactions on Image Processing Vol. 10 n. 10, 2001, pp. 15211527. Zukoski, M.J., Boult, T., Iyriboz, T., A novel approach to medical image compression, International Journal of Bioinformatics Research and Applications Vol. 2 n. 1 , 2006, pp. 89-103. Dai, V., Zakhor, A., Lossless Compression of VLSI Layout Image Data, IEEE Trans. on Image Processing, Vol. 15n. 9, 2006 , pp. 2522-2530. Sun, W., Lu, Y., Wu, F., Li, S., Level embedded medical image compression based on value of interest, Proceedings International Conference on Image Processing,2009, Cairo, Eypt. Nhu, Q.T., Huynh, C.X., Dang, T.T., Lossless image compression using ideal cross point regions with wavelet transform, 4th International Conference on Biomedical Engineering, 2013, Vietnam. Kreizer, M., Liberzon, A., Three-dimensional particle tracking method using FPGA-based real-time image processing and fourview image splitter, Experiments in Fluids Vol. 50 n.3 , 2011,pp. 613-620. Chan, K.-Y., Stich, D., Voth, G.A., Real-time image compression for high-speed particle tracking, Review of Scientific Instruments Vol. 78 n. 2 , 2007. E.R. Bohnart, TIG Handbook for GTAW Gas Tungsten Arc Welding (Miller Electric. 2005). Authors’ information 1 School of Computing, SASTRA University, Thanjavur-613401, India RSEG, Indira Gandhi Centre for Atomic Research, Kalpakkam603102, India 2 Dr. V. Vaithiyanathan is currently working as Associate Dean (Research) in School of Computing, SASTRA University, Thanjavur, India. He obtained his Ph.D degree from Alagappa University, International Review on Computers and Software, Vol. 8, N. 4 1010 V. Vaithiyanathan, B. Karthikeyan, B. Venkatraman Karaikudi. He has published more than 40 papers in reputed journals. His area of interest includes Image Processing, Cryptography, Steganography and Soft computing. B. Karthikeyan is currently working as Assistant Professor in School of Computing, SASTRA University, Thanjavur, India. He received his M.Tech degree from Manonmaniam Sundaranar University. Presently he is pursuing Ph.D in the area of Image Processing. His research area includes Image Processing and Steganography. Dr. B. Venkatraman, an American Society for NDT certified Level – III in four NDT methods (RT, PT, NRT and VT) has over 27 years of experience. He has specialized in conventional and advanced NDE especially radiography, thermal imaging and image processing. He is presently the Head, Radiological Safety Division and Associate Director, Radiological Safety and Environment Group at the Indira Gandhi Centre for Atomic Research (IGCAR), Kalpakkam. He has over 130 publications in Journals and Conferences including two articles in Encyclopedia of Material Science, 3 monographs, 3 books and is the series editor along with Dr Baldev Raj for the NDT handbooks. He is, Fellow of the Indian Society for Non-Destructive Testing, President, Indian Society for Radiation Physics and Associate Member of Health Physics Society of USA and Professor Homi Bhabha National Institute. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1011 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Energy Based Efficiency Evaluation of Cluster and Tree Based Routing Protocols for Wireless Sensor Networks M. Faheem, Zia Ud Din, M. A. Shahid, S. Ali, B. Raza, L. Sakar Abstract – The wireless arena has been experiencing exponential growth in the last couple of years. In twenty- first century, due to recent advances in sensor and wireless communication technologies have enabled a new generation of massive-scale Wireless sensor network (WSN) and is not-too-distant future when miniature, low-cost sensors may be literally sprayed onto walls, roads, or machines, creating a digital skin that can observe a variety of interested physical phenomena. Due to the severe energy constraint of a sensor node, network architectures and protocol are important aspects in the design of Wireless sensor network due to their big impact on the energy consumption. Since last couple of years to prolong the network lifetime of a tiny sensor node various researchers have proposed a number of energy efficient routing protocols. Up till now, their performance superior or worse cannot be inspected without any suspicion by conventional techniques because of their transformed behavior in different environments. The aspire of this research is to evaluate the performance among energy efficient routing protocols in Wireless sensor networks (WSNs) based on metrics Overhead, Delay, Packet Delivery Ratio (PDR) and Congestion over Energy consumption and Network lifetime. The current research work can be utilized to guide protocol designing, application-specific protocol selection and modification of the existing routing protocols in Wireless sensor networks. Simulations between Energy Efficient Cluster based Data Gathering Protocol ECDGP and Energy Efficient Data Collection Protocol-Tree Based EEDCP-TB confirms their results in term of Overhead, Delay, Packet Delivery Ratio (PDR) and Congestion on Energy consumption and Network lifetime. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Wireless Sensor Network, Energy Efficient, Routing, Protocol, Cluster, Tree I. Introduction A Wireless sensor network consists of hundreds to thousands of sensor nodes or motes normally battery operated to observe events in the real world. These nodes are miniature in volume with the limited memory, sensing facilities as well as communication and processing capabilities. Modern growth in low power wireless integrated micro-sensor technologies have made these sensor nodes accessible in a large numbers at low cost, can be deployed in a wide range of applications such as disaster relief, emergency rescue operation, environmental monitoring, home security, localization, surveillance, temperature, pressure, sound, motion, pollutants, earthquake cautions and many other fields, to function for a long time [1]. The most important difference between Wireless sensor networks and traditional networks can be represented in term of their restricted power, processing, storage and reliable selforganization capabilities. Among the various scopes, one of the key applications of WSN is, all sensor nodes work simultaneously in collaboration and send several types of periodically observed information to sink over a large geographical area with great accuracy for further analysis. Manuscript received and revised March 2013, accepted April 2013 After computing and aggregation sink conveyed this data to external network by way of internet or satellite network [2]. Among researchers, a researcher claim that communication energy cost is several orders higher than the computational cost [3]. Due to their constrained energy resources energy efficiency has become one of the most critical issues in WSNs. Inefficient use of energy can significantly reduce the network lifetime [4]. In order to make a longer network lifetime, it is essential to reduce the energy expenditure of individual nodes. In addition, imprecise use of bandwidth may lead to more collision during message transmission. This phenomenon causes the sink node to fail to learn significant data about urgent events and also causes more wastage of energy in term of data retransmission [5]. In particular minimizing energy consumption is a key requirement in the design of sensor network protocols and algorithms. Since sensor nodes are equipped with small often irreplaceable battery with limited power capacity [6]. It is essential that the network should be energy efficient in order to prolong the lifetime of the network. Energy expenditure in WSN is because of data messages transmitting/receiving, processing and forwarded quires to the neighbouring nodes. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 1012 M. Faheem, Zia Ud Din, M. A. Shahid, S. Ali, B. Raza, L. Sakar While wasteful energy consumption is due to ideal listening and back off time, overhearing, packet collision and time latency due to control messages [7], [8]. The key aim of this manuscript is not to put forward a new protocol design for cluster or tree based networks or to improve an existing routing protocol to prolong the network lifetime. Instead, it aims to experimentally explore internal/external factors that impact the lifetime of the cluster and tree based sensor networks in a real time environment due to their miscellaneous behavior in different scenarios for the developers and researchers. So that, innovative energy efficient routing protocols can be embedded in WSNs to prolong node life time and further to motivate researchers for supplementary research to prolong sensor life. The rest of this paper is prepared as follows: Section II presents an overview of the tree and cluster based routing protocols in the literature. Section III describes the protocols description for analysis. Section IV presents the performance using network model. Section V gives an explanation of performance analysis using radio model. Section VI illustrates evolution analysis. Final section VII represents a summary of conclusions. II. II.1. Related Work Tree Based Routing Protocols in WSN In this section we briefly discuss the subsequent tree based routing protocols. The basic purpose of the tree based routing protocols are building optimum routes from the source node to sink. Usually, sink node is considered as much more powerful than sensor nodes and works as an interface with the administrator [9]. On a tree based routing Parents-Childs (PC) relation is formed among the nodes and parents are selected based on different parameters such as their number of hops, residual energy, link quality and length of routing path from the source node to sink [10]. Some most important weaknesses of tree based routing techniques has been given by Nirupama Bulusu and S. Jha in [11], are (i) tree root is a single point of failure, (ii) as a network grow up path becomes longer and longer causes to amplify end to end packet failure, congestion and decreased network lifetime and (iii) it has an extremely poor load balancing as nodes nearer to the root carry more traffic. T. Mingdong, et al. proposed a Tree Cover based Geographic Routing protocol (TCGR). To minimize energy consumption it utilizes the key idea of greedy routing to deliver the data packets to its neighbor's closet to the destination. It takes into account the two mechanisms are (i) labelling scheme and (ii) routing scheme. In the tree cover network node position can be represented by a each label set based on KPR scheme and data messages are conveyed by link and shortcut based. Many advantages and disadvantages of geographic routing also has been discussed in [12]. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved L. Chiu-Kuo et al. in [13] to handle the energy consumption problem proposed a Steiner Trees Grid Routing protocol (STGR). After node deployment virtual grid structure is constructed by the sink based on the square Steiner tree where the cross point of the grid is shown by Dissemination points (DPs) while Steiner points as (SPs) depending on the length of the square. To Steiner tree problem more intermediate vertices and edges are added to the graph in order to minimize the length of spanning tree. In data forwarding phase, if DPs are parallel or vertical to the location of the sink then Dissemination nodes (DNs) abundant to forward the data along with an upstream path in the grid cell. Otherwise, data is forwarded by DNs by taking into account hexagonal structure. By experimental results author assert that proposed protocol out performs Geographical Grid Routing protocol (GGR) in term of energy efficiency. A cross layer approach mechanism to achieve reliable data collection networks is proposed in [14]. ‘HAT-Mobile’ a Tree-based routing protocol for mobile Wireless sensor networks proposed by Borsani et al. in [15], addresses the problem of node energy consumption and node mobility management. It takes into account proactive techniques to speed up the handover procedures of mobile sensor nodes among different access points. HAT-Mobile restrictions the impact of the signalling overhead and maintains the handover procedure of node mobility which consequently cause to reduce energy consumption of the overall process. Furthermore, the authors state that it is also appropriate to save energy in term of handover latency and reduced packet error rate. A Tree based Routing Protocol named (TBRP) to keep in control node mobility is proposed by Mrityunjay Singh et al. in [16]. It handles the node energy constraints by considering node energy level values, one when a node has an energy level higher than half of the original battery capacity, second when a node have an energy level lower than half of the original battery capacity but higher than the average energy level. The proposed protocol shows better in targeting, quality of communication among nodes and network life time of sensor nodes. Furthermore, it has a high packet delivery ratio because of Time Division Multiple Access (TDMA) and Carrier Sense Multiple Access Collision Avoidance (CSMA/CA) techniques. A number of approaches to handle node energy consumption, mobility and to support uplink and downlink connectivity are studied in [15], [17]. II.2. Cluster Based Routing Protocols in WSN This section briefly discusses the succeeding cluster based routing protocols. In the recent era, a number of researchers demonstrate their enormous attention in cluster based energy efficient routing in Wireless sensor networks. A clustering scheme has been applied to sensor networks with hierarchical International Review on Computers and Software, Vol. 8, N. 4 1013 M. Faheem, Zia Ud Din, M. A. Shahid, S. Ali, B. Raza, L. Sakar structures to get better performance of the network along with reducing the need for power consumption. Clustering is a cross - cut technique, which is used almost in all segments of the protocol stack. The vital initiative behind clustering scheme is to organize senor nodes in a group of nodes around a Cluster head (CH) with the responsibility of up keeping state and inter cluster connectivity involved in data processing. Further this processed data sent to the Base Station (BS) via sink by deciding the minimum amount of route nodes over long distance to save node energy [18]. To handle the overload energy consumption problem in Wireless sensor network an adaptive cluster based sensor network routing protocol named as (MIN-RC) is proposed by A. Ghneimat et al. in [19], is the enhancement of LEACH-C. The network life duration of the proposed protocol can be divided into a number of rounds and each round begins with the setup phase. In order to solve problem of overloading energy consumption and minimize the diversity of the energy consumption between sensor nodes it employs an adaptive method to control the round time by considering the current state of the network. Where round time ‘Tcurrent’ is defined at the beginning of the round and ‘R current’ rely on the minimum cluster size and the optimal cluster size rather than using a constant round time ‘t’ for every round in the network span. The proposed protocol overcomes the overload problem of LEACH-C and improves the network efficiency however, the proposed scheme has drawback of an extra setup overhead. In [32] author sets the time length of each round to prolong the network lifetime and throughput in LEACH. TEEN is a reactive protocol proposed in [20] by D. Baghyalakshmi et al. for time-critical applications. The main drawback of this protocol is that the transmission from nodes in cluster head will not be there when the sensed value is not greater than the hard threshold. Sarma et al. in [21] to maintain node as well as the sink mobility a hierarchical cluster based routing protocol. In the setup phase different tasks such as logical clustering, role assignment is performed and Gateway-node (GN) is selected based on higher energy and relatively inferior mobility. Inside the same cluster, two cluster head nodes utilize different coding schemes and frequency bands to limit inter-cluster interference. Re-clustering may get initiated when the cluster head loses its connectivity or assigned time period has expired. The protocol takes into account major advantages such as (i) different CHs for each cluster reduced the bottleneck situation, (ii) maintain connectivity, (iii) minimizing the control message overhead, (iv) delivering data to sink with a higher throughput level, (v) take care of the link failure and (vi) find alternate routes in order to deliver data at the destination. However, it has to suffer a problem that during data forwarding there can be a node or link failure due to the Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved death of mobile nodes. Therefore, it has an extra assignment to strongly monitor the network status continuously. III. Protocols Description for Analysis As shown by our current literature either it is not feasible to design a routing protocol which has stupendous performance over entire scenarios for all applications. The diverse atmospheric circumstances and non linear battery consumption are the most significant reasons which have not been discussed in Bo and Z. Xinrong proposed and J. Yong-xian et al. protocol routing protocols. In addition, inspected results cannot converse about the time varying nature of real life scenario. Hence both chosen strategies are strongly required to be tested in the real atmosphere. In our present study, these listed strategies have been tested in the real life scenario to find the effect of Congestion, Delay, Overhead and Packet Delivery Ratio on Energy consumption and Network life time. So that, supplementary energy efficient routing protocol can be set in, in Wireless sensor networks to make longer network life span. III.1. ECDGP In [22] C. Bo and Z. Xinrong proposed an Energy Efficient Cluster based Data Gathering Protocol (ECDGP) to prolong the network lifetime. It belongs to the family of event-driven routing protocols works in two segments are (i) cluster formation and (ii) data transmission phase. In cluster formation phase, node by cooperative effort form a clustering network located inside an event area. While in data transmission phase, watched data collected by CH from active nodes are forwarded to sink by multi-hop routing. In C. Bo and Z. Xinrong protocol cluster head election takes place based on node belief degree. Which takes into account two parameters (i) residual energy and (ii) intra cluster distance between nodes coming from neighbors can be calculated by a belief degree function. In the current round the node which has more residual energy and minimum intra cluster distance appointed as CH. Furthermore, it selects active nodes according to the demand of network coverage by following an active selection algorithm as presented in [23]. Finally to forward observe the data from CH to the sink multi-path routing is used in order to achieve the load balance in the network. The C. Bo and Z. Xinrong proposed protocol works into rounds and cluster head rotation repeats when the energy of CH goes down to average energy . III.2. EEDCP-TB J. Yong-xian et al. in [24] proposed a scheme to improve data aggregation and network performance by International Review on Computers and Software, Vol. 8, N. 4 1014 M. Faheem, Zia Ud Din, M. A. Shahid, S. Ali, B. Raza, L. Sakar applying data distribution and load balancing technique which fulfils the latency requirement of data collection. Tree construction in J. Yong-xian et al. protocol occurs through the method of flooding avoidance also to save node energy it utilizes Cascading Time Scheme (CTS). To achieve energy balance in the network it considers the main idea of node energy state parameters during forwarding node selection and the entire network is divided into different energy level's threshold. If sink desires to disseminate information to a group of nodes of the interested areas in the network then, first it calls the next-hop forwarding nodes by running Findforwarding algorithm with certain conditions of threshold energy. The forwarded nodes run again this algorithm to find next hops until conditions satisfy. In data forwarding phase, sensor nodes send their sense data to their parent nodes by following CTS. To avoid conflict between messages it considers the delay scheme. One of the major drawbacks of this routing protocol is the network time synchronization and delay to find the next hop forwarded nodes with the required level of energy. IV. Performance Analysis Using Network Model A range of models have been proposed for WSNs. In the current study we mainly consider a WSN consisting of a set of sensor nodes and a BS are scattered in the network field devoid of isolation. The network is modelled is represented as fully connected graph G (U, E, R), where U is the set of all the nodes denoted by U= { , , …….. } E represents the set of all connected edges among nodes. TABLE I NODE SPECIFIC OFFLINE PARAMETERS Simulation tool: NCTUns 6.0 Models Simulation model Values Variable Radio Energy 10pj/bit/ Model 0.0015pj/bit/ 5nJ/bit/signal 20-60m Threshold distance ( ) ‘Rx’ power dissipation 15nJ/bit during receiving data packet. ( ) ‘Tx’ power dissipation 35nJ/bit during transfer data packet. ( ) Application 100 bytes 25 bytes 25 bytes 100bits . Bit rate 9600bps 2m[bps] 0.035w Wireless Node IEEE 802.11b Number of Nodes 100~200 Sink Position 20~80m Network 100J Model Simulation trial 50 times Simulation time 127 s Total no of rounds 200 ~2000 The distance among nodes k and l can be denoted by k ∈ , ( , )≤ where represents specific distance threshold and R is the omnidirectional communication radius of the node. The following assumptions are taken into account: - All nodes and BS after deployment are motionless and located at a specific position near to sensor field. - Symmetric model is assumed here that means sensor node A is located within the transmission range of sensor B and then B is also located within a transmission range of A. - All nodes have the same capabilities, transmission ranges and restricted power resources. - The sensor nodes periodically monitor their vicinity and generate observed data after aggregating watched information in each round send it to the Base Station via sink for further analysis. V. Performance Analysis Using Radio Model The energy model used is the same as used by W. Wang et al. in [25] where to transmit a l-bit data at a distance d the radio energy expands is given as: (, )= + ( )= · · ( )+ (, ) + · ,+ ∗ · · (1) , , < ≥ (2) , and are the parameters of the transmission/reception circuitry depending on the distance between the transmitter and receiver. Free space and multi-path fading Channel model is considered here. While receiving, the radio expands energy: ()= = · ()= (3) In addition, we also assumed that the energy dissipation for data aggregation is represented as . and threshold distance is defined as = / . VI. Evaluation Analysis Delay can be defined as the average latency from the instant that a packet is sent out from a source to that instant it is received by the sink. Fig. 2 illustrates that the network depth is inversely proportional to the delay and delay increases from lower level to upper level (from end node to sink) due to rise in number of node tasks such as sensing, data aggregation efficiency, facing redundant data, maintaining routing table and unequal distance among nodes also to sink. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1015 M. Faheem, Zia Ud Din, M. A. Shahid, S. Ali, B. Raza, L. Sakar l bit packet Transmit Electronic s * l T X Amplifier d l l l bit packet Receive Electronic s Fig. 1. Radio Energy Dissipation Model Fig. 2. Delay between ECDGP & EECDP-TB Initially, in the routing phase cluster head in the protocol proposed by C. Bo and Z. Xinrong transmit the observed data to their next hop CH, with the lowest distance and fewest number of cluster members. However, after a specific time interval cluster head starts to convey watched information to their next hop relaying node by considering maximum energy without taking into account sincere congestion problem. Thus, sometimes it may cause to increase the distance among CHs or relaying nodes and node over assignment in case of entire network data flow. Our simulation results demonstrate that the protocol proposed by C. Bo and Z. Xinrong as compared to the routing protocol proposed by J. Yong-xian et al. has a smaller amount of delay. The main reason is that the C. Bo and Z. Xinrong’s proposed protocol takes into account two algorithms, one which selects the active nodes among the sleeping nodes and reduce the network traffic load for a particular event while on the other hand watched information is conveyed by taking into account the both multi-hop and multipath routing from source to destination by taking into account the idea of relay nodes with high energy. Furthermore, during cluster formation it considers the minimum distance between clusters to sink while in J. Yong-xian et al. protocol, one of the most vital issues caused more Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved delay is the deliberated algorithm. It runs to find next hop forwarding node runs until nodes of specific threshold energy are found. On the other hand in tree construction phase, Parent-child relation does not consider the exact equal size and distance among nodes and increases towards BS. Normalized Routing Overhead- Is contains further three variants are (i) packet overhead is the number of routing packets “transmitted” per data packet “delivered” at the destination, (ii) byte overhead is the number of bytes of routing packets “transmitted” per data byte “delivered” at the destination and in the end (iii) network setup overhead which tells how many control messages are needed to put a network to be functional. Each hop-wise transmission of a routing packet is counted as one transmission. Although J. Yong-Xian et al. protocol has to face normalized overhead problems because during tree construction and data forwarding process more control messages are needed to satisfy Parent-child's relation for the network to be put into functional mode and also due to joint request message are needed to send to avoid further packet loss with the minimum hop count is less as compared to C. Bo and Z. Xinrong protocol. Fig. 3 shows that protocol proposed by C. Bo and Z. Xinrong apply more message overhead than J. Yong-xian et al. protocol for setup and routing data packets from an event area to sink. Basically in C. Bo and Z. Xinrong protocol two types of cluster formation occur which may be divided into the first and second level clustering, respectively. In the second level clustering for active node selection of a particular event area needed more messages to satisfy the coverage area of the network. During observed information forwarding from an event area to sink, messages are forwarded through multi-path and multiple-hop routing which needed more control message overhead then single-hop. In addition, due to data redundancy it may cause data packet collision due to limited buffer size. Thus, the protocol proposed by C. Bo and Z. Xinrong contains more messages overhead to set up a network to be functional. Fig. 3. Normalize routing overhead between EEDCP-TB & ECDGP International Review on Computers and Software, Vol. 8, N. 4 1016 M. Faheem, Zia Ud Din, M. A. Shahid, S. Ali, B. Raza, L. Sakar Normalized routing overhead in both routing protocol increases as the nodes start to die in the network also due to increase in network depth. Packet Delivery Ratio (PDR) or throughput can be defined as the ratio of the total number of data packets received successfully to the total number of data packets generated by source nodes. We can define PDR as: ̇ = / (4) where shows the number of data packets received while illustrates the numbers of messages send by source. As shown by in the Fig. 4 packet delivery ratio decreases as the depth of the network increases. Although, the packet delivery ratio of the routing protocol proposes by J. Yong-xian is well though, C. Bo and Z. The Xinrong’s protocol is more superior in term of the packet delivery ratio. For the reason that, during conveying watched information from source to destination it has to face a number of problems such as (i) during parent child relations there is a possibility that a node can be appointed as a route node containing minimum energy than the required energy. In such a case due to a single node failure entire specific uplink/ downlink data can be lost which can cause to increase message retransmission in the network (ii) watched information also may be lost due to limited buffering capacity of the nodes which are more nearer to the sink as a result it has to face data packet collision thus, it reduced the packet delivery ratio. In addition, if a forwarding node does not have any specific destination address then entire specific data can also be lost or delayed while in C. Bo and Z. Xinrong’s protocol during message forwarding it considers the both multi-hop and multi-path routing and selects the next hop with the maximum energy which is more fault tolerant and turn it increase packet delivery ration however, it has to face the problem of data redundancy because of sending multiple copies of a single data. Congestion occurs when a node receives a packet more than its capacity also due to inherent shared wireless link. Fig. 5 shows the congestion management in C. Bo and Z. The Xinrong’s protocol is less than J. Yong-xian et al protocol in term of entire network data flow, while in a case of specific event data flow it performs superior. In proposed J. Yong-xian et al protocol entire network is divided into various node assignments in term of sensing and carrying information. Observed information about an event has to be forwarded to the next hop node by considering node over the assignment with minimum distance by multi-hop routing. Although congestion management in C. Bo and Z. The Xinrong’s protocol is well because messages are forwarded along with the best path by considering node depth to sink, however it does not take into account exactly equal cluster size, which means that some CHs have maximum number of children while others have less number of children. Due to limited buffering size, nodes nearer sink or CH containing more member nodes has to face more congestion problem. In addition, it also has to face the problem of data redundancy due to sending more than one copy of data through multi-path to sink. A single copy of data can be flowed through multiple paths without considering the node over assignment among the nodes which caused to increase more congestion in the network due to node limited buffering capacity. Energy consumption can be defined as the total energy consumption by sensor nodes over communications. The congestion, delay, packet delivery ratio and normalize overhead are the vital issues which directly affect on node energy. The degradation in the network lifetime is due to the increase in the number of transmissions and receptions which increases as the network distance downwards increases from source to sink. In terms of energy consumption Fig. 6 makes it clear that C. Bo and Z. Xinrong’s protocol performs finer than J. Yong-xian et al protocol. This is due to the reason that C. Bo and Z. Xinrong’s protocol devours a lesser amount of energy by eliminating the route discoveries of all the nodes in the entire network. C. Bo and Z. The Xinrong’s protocol can save energy by maximizing the number of sleeping nodes according to the demand of network coverage in a cluster under the constraint that the remaining nodes can satisfy the coverage expectation with lesser amount of messages requirements. Fig. 5. Congestion management between EEDCCP-TB & ECDGP Fig. 4. PDR between EEDCP-TB & ECDGP Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1017 M. Faheem, Zia Ud Din, M. A. Shahid, S. Ali, B. Raza, L. Sakar Fig. 6. Energy consumption between EEDCP-TB & ECDGP Fig. 7. Network lifetime by using EEDCP-TB & ECDGP. Furthermore, battery life is divided among the entire network nodes to balance energy consumption than J. Yong-xian et al protocol. While J. Yong-Xian et al. protocol utilizes a proficient load balancing technique by using node energy state parameters and further save node energy by utilizes CTS to avoid message collision, thus reduced the message retransmission. During forwarding and receiving message/data nodes are divided into different level of threshold and nodes with a higher energy level are selected to convey the watcher information thus, it helps in network stability as well as appropriate load balancing in the network. Table II shows the energy consumption between ECDGP and EEDCP-TB protocols by considering round numbers. In the meanwhile number of 50% nodes died in C. Bo and Z. Xinrong’s protocol at round number 1340 as compared to J. Yong-xian et al. protocol as in 1250. Finally last node died in C. Bo and Z. Xinrong’s protocol in round 1890 while in J. Yong-xian et al. protocol round number 1823. This is because of the reason that algorithm used in C. Bo and Z. The Xinrong’s protocol is eligible to maintain stability in the entire network also C. Bo and Z. Xinrong’s protocol remains by some means stable due to its well load balancing technique such as taking into account energy state parameters and data aggregation competence. TABLE II ENERGY CONSUMPTION ACCORDING TO ROUND NUMBERS Energy Protocol Numbers of Number of rounds (J/node) rounds 50 ECDGP 680 1030 EEDCP-TB 564 841 ECDGP 1020 1373 70 EEDCP-TB 867 1173 ECDGP 1485 1880 100 EEDCP-TB 1207 1730 Network life time of Wireless sensor network can be described by using three kinds of metrics are (i) the time form deployment of the network to the death of the first node (FND), (ii) the time when a certain percentage of node alive (PNA) and (iii) the time when all node died. By the experimental results it has been shown that Delay, Congestion, PDR, Normalize overhead and Energy consumption are the key factors which directly have an effect on Network lifetime. Fig. 7 has made is clear that in term of network life time C. Bo and Z. Xinrong’s protocol outperforms the J. Yong-Xian et al. protocol routing protocol due to a stable link between nodes, will load balancing of the entire network and least amount of message retransmission also it shows that the number of nodes alive in various rounds. The round number of the first node died in C. Bo and Z. The Xinrong’s protocol is near about 800 which is 700 in J. Yong-xian et al. protocol. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Nodes % - 50 100 TABLE III NUMBER OF NODE DIED IN VARIOUS ROUND Protocol Number of FND rounds ECDGP 700 Y EEDCP-TB 600 Y ECDGP 1240 Y EEDCP-TB 1150 Y ECDGP 1880 Y EEDCP-TB 1730 Y VII. LND - Y Y Conclusion In current research work we evaluate the performance of cluster and tree based routing protocols under realistic scenario. Here it has been mainly focused on the energy constraints of the sensor node. The comparison simulation result demonstrates that the Normalized Message overhead, Delay, Congestion and Packet delivery ratio effect on the sensor lifetime and causes to degrade the network performance and node energy. In conclusion, as referring to the Energy Efficient routing protocol ECDGP has a slower rate in decreasing energy which is much greater in EEDCP-TB in term of delay, packet delivery ratio, energy consumption and network lifetime. As simulation results show that it has some shortcomings like (i) unequal size cluster formation and (ii) approximately not all sensor nodes near to an event area are selected to satisfy close sensing. Therefore, the future research work will be the modification of the protocol or designing of a novel energy efficient routing protocol for the large area network. International Review on Computers and Software, Vol. 8, N. 4 1018 M. Faheem, Zia Ud Din, M. A. Shahid, S. Ali, B. Raza, L. Sakar Update table () Appendix If Some strength and weaknesses of cluster and tree based routing protocols according to our philosophy during literature review are given below in Table A1 and A2, respectively. Node → Node { Do SND () } ENTIRE ‘ECDGP’ WORKING MECHANISM Else ALGORITHM I PSEUDO-CODE FOR NETWORK INITIALIZATION Initialize () { Sleep () { } Sink broadcast (Hello) } Node REC (Msg) } CONST table () Update table () } { While (Node broadcast & Node received) ENTIRE ‘EEDCP-TB’ ROTOCOLWORKING MECHANISM { ALGORITHM III PSEUDO-CODE FOR TREE CONSTRUCTION & DATA COLLECTION CONST table () Update table () Sink flow () { While (energy>=30%) } } } { } Find forwarded node () Call tree CONST (Parent-child) Forwarded request () Update table () ALGORITHM II PSEUDO-CODE FOR CLUSTER FORMATION & ACTIVE NODE SELECTION Initialize () } { Forwarded node flow () { While (energy>=30%) { Find leaf node () Call tree CONST (Child-parent) Forwarded REQ () Update table () } Leaf node flow () { Check table () Preceding node () Fetch info () Collect info () If { t>=i; // i is a specific time interval Data collect forwarded RES () } Else { Forwarded RES () } } Forwarded RES () } If { Event (occur) Node (Sense) Node Broadcast (Msg) Update table () Else { Sleep (node) } If RSSI > RSSI { RSSI broadcast (Hello) RSSI REC (Msg) If { RSSI > RSSI } Node RSSI SND REQ (JOIN) REC (ID) } Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1019 M. Faheem, Zia Ud Din, M. A. Shahid, S. Ali, B. Raza, L. Sakar TABLE A1 CLUSTER BASED ROUTING PROTOCOLS IN WIRELESS SENSOR NETWORK Sr No. 1 Protocol Name MCB 2 ERP 3 MIN-RC 4 Imp-AODV 5 CEDCAP 6 MCEE 7 CTPEDCA 8 PPEECS 9 HRP 10 EACD 11 ECDGP 12 SFRP 13 Chi-Chou et al Protocol S. Alizadeh et al. Protocol H. K. D.Sarma et al. Protocol 14 15 16 B. A .Sabrish et al. Protocol Strength High packet delivery ratio. Average energy consumption. Handle node mobility. Prolong the network lifetime. Inter and intra cluster problem Prolong the network lifetime High packet delivery ratio Overload problem in LEACH Improve network efficiency Minimum delay Minimum packet loss Balance energy consumption High speed data movement Distribute energy consumption among nodes Good congestion management Less energy consumption Minimum delay Very fast route finding with Improve energy efficiency Uniform energy utilization Less delay Energy efficient Less delay Less congestion Less overhead Energy efficient Excellent in energy balancing High packet delivery ratio Less delay Congestion management Well energy utilization Less message overhead Congestion management High packet delivery ratio Less overhead Save node energy Balance energy consumption Bottleneck situation Maintain connectivity Message overhead Higher throughput Congestion Save network lifetime Weaknesses Message Overhead. Reference [17] Expense of stability awareness [25] Extra setup overhead Energy consumption Overhead Updating routing table cost [19] Overhead [27] Congestion management pb. [28] Network depth [29] Message overhead Energy consumption Node depth increases [30] [26] [31] Poor Congestion management [32] Message overhead Active node distance [33] Delay CH management [34] Congestion [35] Delay Congestion Congestion Synchronization [36] Delay [37] [21] TABLE A2 TREE BASED ROUTING PROTOCOLS IN WIRELESS SENSOR NETWORK 1 Sr No Protocol Name TCGR 2 HAT-Mobile 3 STGR 4 FFDA 5 TBRP 6 EEDCP-TB 7 Trickle Tree 8 Iman ALMomani et al. protocol Strength Less congestion Management Fast data movement Control node mobility. Handover latency Good Congestion management Save node energy Balance network energy High packet delivery ratio Data aggregation prophecy A good load balance Latency Control node mobility Maintain connectivity High packet delivery ratio Congestion management Good packet delivery ratio Data aggregation efficiency Minimum control overhead Quick setup management The packet delivery ratio is good Congestion management Good data delivery ratio Minimum delay Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Weaknesses Overhead Tree depth Packet error rate Updating data table cost Reference [12] Energy consumption [13] Delay [38] Energy consumption [9] Tree depth Delay [24] Can’t check tree depth value Synchronization problem Tree depth Energy consumption [39] [15] [40] International Review on Computers and Software, Vol. 8, N. 4 1020 M. Faheem, Zia Ud Din, M. A. Shahid, S. Ali, B. Raza, L. Sakar Acknowledgements The work is financed by Comsats Institute of Information & Technology, Pakistan. The authors would also thank the anonymous reviewers for their valuable and insightful comments. References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] G. Anastasi, M. Conti, M. Di Francesco, and A. Passarella, "Energy conservation in wireless sensor networks: A survey," Ad Hoc Networks, vol. 7, pp. 537-568, 2009. T. Ma, M. Hempel, D. Peng, and H. Sharif, "A Survey of EnergyEfficient Compression and Communication Techniques for Multimedia in Resource Constrained Systems," Communications Surveys & Tutorials, IEEE, vol. PP, pp. 1-10, 2012. C. Alippi, R. Camplani, C. Galperti, and M. Roveri, "A Robust, Adaptive, Solar-Powered WSN Framework for Aquatic Environmental Monitoring," Sensors Journal, IEEE, vol. 11, pp. 45-55, 2011. K. Lin, C.-F. Lai, X. Liu, and X. Guan, "Energy Efficiency Routing with Node Compromised Resistance in Wireless Sensor Networks," Mobile Networks and Applications, pp. 1-15, 2010. A. Abedi, "Power-efficient-coded architecture for distributed wireless sensing," Wireless Sensor Systems, IET, vol. 1, pp. 129136, 2011. P. Suriyachai, U. Roedig, and A. Scott, "A Survey of MAC Protocols for Mission-Critical Applications in Wireless Sensor Networks," Communications Surveys & Tutorials, IEEE, vol. 14, pp. 240-264, 2012. Q. Tang and B. Qiao, "An energy-efficient protocol architecture with multiple clustering for Wireless Sensor Networks," in Intelligent Computing and Integrated Systems (ICISS), 2010 International Conference on, 2010, pp. 898-901. L. Hai Van and T. Xueyan, "An Efficient Scheduling Algorithm for Data Collection through Multi-path Routing Structures in Wireless Sensor Networks," in Mobile Ad-hoc and Sensor Networks (MSN), 2010 Sixth International Conference on, 2010, pp. 68-73. S. Yan, L. Haiqin, and K. Min Sik, "Energy-Efficient Routing Protocol in Event-Driven Wireless Sensor Networks," in Communications Workshops (ICC), 2010 IEEE International Conference on, 2010, pp. 1-5. Z. Zusheng and Y. Fengqi, "Performance Analysis of ClusterBased and Tree-Based Routing Protocols for Wireless Sensor Networks," in Communications and Mobile Computing (CMC), 2010 International Conference on, 2010, pp. 418-422. Nirupama Bulusu and S. Jha, "Wireless Sensor Networks, A System Perspective.," © 2005. T. Mingdong, C. Hongyang, Z. Guoqing, and Y. Jing, "Tree Cover Based Geographic Routing with Guaranteed Delivery," in Communications (ICC), 2010 IEEE International Conference on, 2010, pp. 1-5. L. Chiu-Kuo, L. Chih-Hsuan, and L. Jian-Da, "Steiner trees grid routing protocol in wireless sensor networks," in Wireless Communications, Networking and Information Security (WCNIS), 2010 IEEE International Conference on, 2010, pp. 473-477. A. Niinomi, K. Naito, K. Mori, H. Kobayashi, and M. Ehara, "Simple Tree Based Routing for Data Collection Networks," in P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC), 2010 International Conference on, 2010, pp. 535-541. L. Borsani, S. Guglielmi, A. Redondi, and M. Cesana, "Treebased routing protocol for mobile Wireless Sensor Networks," in Wireless On-Demand Network Systems and Services (WONS), 2011 Eighth International Conference on, 2011, pp. 164-170. Mrityunjay Singh, Monika sethi, Niranjan Lal, and S. Poonia, "A Tree Based Routing Protocol for Mobile Sensor Networks (MSNs)," Mrityunjay Singh et al / (IJCSE) International Journal on Computer Science and Engineering,, vol. Vol. 02,, pp. 55-60, 2010. S. Deng, J. Li, and L. Shen, "Mobility-based clustering protocol for wireless sensor networks with mobile nodes," Wireless Sensor Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Systems, IET, vol. 1, pp. 39-47, 2011. [18] S. Ghiasi, A. Srivastava, X. Yang, and M. Sarrafzadeh, "Optimal energy aware clustering in sensor networks," Sensors, vol. 2, pp. 258-269, 2002. [19] A. Ghneimat, J. Mellor, and J. Ping, "Adaptive, Cluster Based, Sensor Network Routing Protocol," in Computer Modelling and Simulation (UKSim), 2011 UkSim 13th International Conference on, 2011, pp. 472-476. [20] D. Baghyalakshmi, J. Ebenezer, and S. A. V. Satyamurty, "Low latency and energy efficient routing protocols for wireless sensor networks," in Wireless Communication and Sensor Computing, 2010. ICWCSC 2010. International Conference on, 2010, pp. 1-6. [21] H. K. D. Sarma, A. Kar, and R. Mall, "Energy efficient routing protocol for Wireless Sensor Networks with Node and Sink mobility," in Sensors Applications Symposium (SAS), 2011 IEEE, 2011, pp. 239-243. [22] C. Bo and Z. Xinrong, "An Energy-Efficient Cluster-Based Data Gathering Protocol for Wireless Sensor Networks," in Wireless Communications Networking and Mobile Computing (WiCOM), 2010 6th International Conference on, 2010, pp. 1-5. [23] M. Liu, H. G. Gong, Y. C. Mao, L. J. Chen, and L. Xie, "Distributed energy-efficient data gathering and aggregation protocol for wireless sensor networks," Ruan Jian Xue Bao/Journal of Software, vol. 16, pp. 2106-2116, 2005. [24] J. Yong-xian, C. Feng-zhen, C. Gao-feng, and H. Wei, "EnergyEfficient Data Collection Protocol for Wireless Sensor Network Based on Tree," in Wearable Computing Systems (APWCS), 2010 Asia-Pacific Conference on, 2010, pp. 82-85. [25] W. Wang, B. Wang, Z. Liu, L. Guo, and W. Xiong, "A Clusterbased and Tree-based Power Efficient Data Collection and Aggregation Protocol for Wireless Sensor Networks," Information Technology Journal, vol. 10, pp. 557-564, 2011. [26] B. S. Krishnan, M. Ramaswamy, and A. Nachiappan, "A New Cluster Based Protocol for Wireless Sensor Networks," in Information Science and Applications (ICISA), 2011 International Conference on, 2011, pp. 1-8. [27] W. Wang, Z. Liu, B. W. X. Hu, L. Guo, and W. Xiong and C. Gao, . , "CEDCAP: Cluster-based energy-efficient data collecting and aggregation protocol for WSNs.. Res. J. Inform. Technol., 3: 93-103.," 2011. [28] T. Qi and Q. Bing, "An energy-efficient protocol architecture with multiple clustering for Wireless Sensor Networks," in Proceedings - 2010 International Conference on Intelligent Computing and Integrated Systems, ICISS2010, 2010, pp. 898901. [29] A. Rajeswari, P. T. Kalaivaani, A. Abraham, J. L. Mauri, J. F. Buford, J. Suzuki, et al., "Energy Efficient Routing Protocols for Wireless Sensor Networks Using Spatial Correlation Based Collaborative Medium Access Control Advances in Computing and Communications." vol. 192, ed: Springer Berlin Heidelberg, 2011, pp. 143-156. [30] M. Khulbe, P. Srivastava, and R. C. Jain, "Parametric protocol for energy efficient cluster head selection (PPEECS) in WSNs," in 2010 16th Asia-Pacific Conference on Communications, APCC 2010, 2010, pp. 200-203. [31] M. Zeynali, A. Mollanejad, and L. M. Khanli, "Novel hierarchical routing protocol in wireless sensor network," Procedia Computer Science, vol. 3, pp. 292-300, 2011. [32] J. Yu, Y. Qi, G. Wang, and X. Gu, "A cluster-based routing protocol for wireless sensor networks with nonuniform node distribution," AEU - International Journal of Electronics and Communications, vol. In Press, Corrected Proof, 2011. [33] B. C. a. X. Zhang, "An Energy-Efficient Cluster-Based Data Gathering Protocol for Wireless Sensor Networks," in Wireless Communications Networking and Mobile Computing (WiCOM), 2010 6th International Conference on, 2010, pp. 1-5. [34] K. Subbu and L. Xinrong, "SFRP: A selective flooding-based routing protocol for clustered wireless sensor networks," in Radio and Wireless Symposium (RWS), 2010 IEEE, 2010, pp. 380-383. [35] K. Chi-Chou, W. Jun, and C. Shih-Chieh, "Energy efficient clustering communication protocol for wireless sensor network," in Advanced Communication Technology (ICACT), 2010 The 12th International Conference on, 2010, pp. 830-833. International Review on Computers and Software, Vol. 8, N. 4 1021 M. Faheem, Zia Ud Din, M. A. Shahid, S. Ali, B. Raza, L. Sakar [36] S. Alizadeh and A. Ghaffari, "An Energy-efficient hirerchical Clustering protocole in wireless sensor networks," in Computer Science and Information Technology (ICCSIT), 2010 3rd IEEE International Conference on, 2010, pp. 413-418. [37] B. A. Sabarish and K. SashiRekha, "Clustering based energy efficient congestion aware protocol for Wireless Sensor Networks," in Emerging Trends in Electrical and Computer Technology (ICETECT), 2011 International Conference on, 2011, pp. 1129-1135. [38] H. Inanlou, K. S. Shourmasti, H. Marjani, and N. A. Rezaei, "FFDA: A tree based energy aware data aggregation protocol in wireless sensor networks," in Wireless Information Networks and Systems (WINSYS), Proceedings of the 2010 International Conference on, 2010, pp. 1-5. [39] W. Bober, L. Xiaoyun, and C. Bleakley, "TrickleTree: A Gossiping Approach to Fast Staggered Scheduling for Data Gathering Wireless Sensor Networks," in Sensor Technologies and Applications (SENSORCOMM), 2010 Fourth International Conference on, 2010, pp. 214-219. [40] Iman ALMomani, Maha Saadeh, Mousa AL-Akhras, and H. A. Jawawdeh, "A Tree-Based Power Saving Routing Protocol for Wireless Sensor Networks," International Journal Of Computers And Communications, vol. 5, 2011, 2011. Authors’ information Muhammad Faheem received the B.Sc. Computer Engineering degree in 2010 from the Department of Computer Engineering at the University College of Engineering & Technology, Bahauddin Zakariya University Multan, Pakistan. In 2012, he received an MS degree in Computer Science from the Faculty of Computer Science and Information System at Universiti Teknologi Malaysia. He is currently serving as a lecturer in Computer Science Department, Comsat Institute of Information and Technology Vehari Campus, Pakistan. His research interests include the areas of Energy Efficient Routing in Wireless ad-hoc and Sensor Network. E-mail: smfaheem@ymail.com Ziauddin is working as an Associate Professor in Computer Science Department at Comsats Institute of Information & Technology, Vehari Campus (COMSATS), Pakistan. His area of research includes Software Engineering, Software Process Improvement, Software Reliability Engineering, Software Development Improvement, Software Quality Assurance, Requirement Engineering and Routing Algorithms in Sensor Networks. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Muhammad Anwar Shahid received his M.Sc. Degree in Computer Science from University of the Punjab, Lahore, Pakistan in 2004. He is working as a lecturer at Department of Computer Science and Management Information Systems, Oman College of Management and Technology, Oman. His research interests include the areas of Energy Efficient routing in wireless ad-hoc networks. Saqib Ali received his B.Sc. Engineering in 2000, M.Sc. Computer Science in 2003, and M. Phil in Communication & Networks in 2005 from University of Agriculture Faisalabad (UAF), Pakistan. In 2004, he appointed as an Assistant Network Engineer at UAF-Pakistan. Since 2005, he is working as a lecturer in the Department of Computer Science, UAFPakistan. Currently, he is a PhD candidate in the faculty of Computer Science and Information Systems, Universiti Teknologi Malaysia, Malaysia. His research interest includes cross layer optimization, multi channel multi radio wireless mesh networks and resource management in wireless communication systems. Basit Raza received the Master in Computer Science degree in 2008 from the Department of Computer Science at the University of Central Punjab, Lahore, Pakistan. He is pursuing PhD in Computer Science degree from International Islamic University, Islamabad, Pakistan. He conducted PhD research in Soft Computing Research Group (SCRG), Computer Science and Information System at Universiti Teknologi Malaysia. Currently he is working as Lecturer in COMSATS Institute of Information Technology, Islamabad, Pakistan. His research interests include the areas of Energy Efficient routing in wireless ad-hoc and sensor network. Leyla Sakar received her B.Sc. Software Engineering degree in 2012 from the Faculty of Computer Science and Information systems at Universiti Teknologi Malaysia. Currently she is pursuing her Master’s degree in Software Engineering from University Teknologi Malaysia (UTM). Her research interests include the areas of Artificial Intelligence, Optimization techniques and sensor network algorithm designing. International Review on Computers and Software, Vol. 8, N. 4 1022 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 A Wavelet Based Scheme for Video Watermarking M. Sundararajan, G. Yamuna Abstract – In rapid growth of network distributions of images and video, there is an urgent need for copyright protection against pirating. Different digital image and video watermarking schemes have been proposed to address this issue of ownership identification. This paper proposes a novel scheme for video watermarking scheme using discrete wavelet transform to protect the copyright of digital images. The efficiency of the proposed video watermarking technique is attained by two major steps: 1) Watermark embedding process and 2) Watermark extraction process. Before embedding the watermark into the digital video, the input video sequence is segmented into shots using well known shot segmentation technique. The segmented video shots are partitioned into number of frames for the embedding process. The proposed method renders the utilization of the grayscale image as a watermark to embed into the digital video sequence. The grayscale image is sliced into bit planes for analyzing the each bit of the image. Subsequently, the sliced bit plane images are permuted and each permuted watermark images are embedded into each frame of the segmented shots with the aid of the watermark embedding process. Then the recovery of the watermark is achieved with the help of the watermark extraction process. The experimentation results shows that the proposed video watermarking scheme provide better results with higher accuracy. The proposed scheme is robust against the various attacks such as frame dropping, frame averaging attack. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Digital Video Watermarking, Discrete Wavelet Transform, Embedding, Extraction, Copyright Protection Nomenclature DCT FFT DWT SVD HVS PSNR NC Discrete Cosine Transform Fast Fourier Transform Discrete Wavelet Transform Singular Value Decomposition Human Visual System Peak Signal to Noise Ratio Normalized Correlation I. Introduction Copyright dilemma has taken place throughout the multimedia industry and especially in the audio-video industry as a result of the increasing problem of unauthorized copying and distribution of digital video with the development of digital video-based application technologies, like Internet video, wireless video, videophones, and video conferencing. Several methods to tackle the problem of illegal duplication and tampering of digital video have been offered by large number of proposed researches and technologies [1]-[4]. Digital watermarking that has seen rapidly advancing in recent times can provide a solution to this problem [5]. Watermarking has been widely used in ownership protection, authentication, and content integrity confirmation of intellectual property in digital form [6]. Manuscript received and revised March 2013, accepted April 2013 Watermarking can be described as the process of embedding data into multimedia items like images, audios and videos [7] and [8]. Later this embedded data can be obtained from, or identified in, the multimedia element for diverse objectives like copyright protection, access control, and broadcast monitoring [9]. Particularly, small copyright information known as watermark is embedded by the video watermarking techniques in the digital video in such a manner that the watermark is indistinguishable and robust against attempts of degrading and detaching it from the digital object [10]. Watermarking and watermarking techniques can be classified according to the different methods they employ [11]. The two different types of digital watermarks predominantly utilized in the literature are visible and invisible watermarks [12]. Watermarking can be categorized into non-blind, semi-blind and blind methods [13]. Modern digital watermarking methods concentrate on image and video copyright protection [14] [43-46]. The illicit duplicating and evidence of ownership problems as well as manipulations detection have been addressed by several proposed robust and fragile video watermarking methods [15]. Normally, compressed domain method is more practical because majority of video sequences are stored in compressed format, Image watermarking rather than videos are employed by significantly more number of existing watermarking research literature. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 1023 M. Sundararajan, G. Yamuna However, video information should be protected with higher priority because they are even more valuable [16]. The complexity and adjustability of the solution space for the watermarking of video is remarkably greater than that of images because of the existence of time dimension even though video streams in the raw form are ordered sets of image frames, [17]. An extremely challenging and interesting task towards protecting real time video data is the video data embedding approach [18]. Several features are considered necessary not only in the watermarking process but also the watermark for digital watermarking of videos. These necessities are imperceptibility, robustness, reliability, interoperability, and unchanging bit rate [19]-[21]. According to the technique employed to hide the watermark information bits in the host video, video watermarking methods can be classified into two major types; they are spatial domain watermarking and transform-domain watermarking [22]. Spatial-domain watermarking methods embed and detect watermark by modifying the spatial pixels values (luminance, chrominance, color space) of the entire video frame. On the other hand spatial pixel values of the host video are modified according to a pre-determined transform by the transform-domain techniques. Transforms such as Discrete Cosine Transform (DCT), the Fast Fourier Transform (FFT), the Discrete Wavelet Transform (DWT), and the Singular Value Decomposition (SVD) are predominantly used. Transform-domain watermarking techniques spread the watermark in the spatial domain of the video frame making it extremely difficult to detach the embedded watermark and are verified to be more robust and imperceptible than the spatial domain techniques [23], [24]. Certain issues not present in image watermarking exist in video watermarking. Video signals are extremely vulnerable to pirate attacks, such as frame averaging, frame dropping, frame swapping, statistical analysis etc., because of the huge quantities of data and inbuilt repetition between frames [25]. II. Literature Survey Origin of the present investigation in the area of video watermarking is from the following references: Reyes R. et al. [26] have presented a public video watermarking algorithm, a visibly identifiable binary pattern, such as owner's logotype has been embedded by their method. After separating the video sequences into distinct scenes, the scene blocks have been selected at random and the binary watermark pattern has been embedded into their Discrete Wavelet Transform (DWT) domain. The binary watermark pattern has been mapped to a noise like binary pattern by employing a chaotic mixing method to improve he security of their proposed method. The watermark has been proved to be invisible and robust to several attacks by means of simulation results. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Gandhe et al. [27] proposed a system based on Discrete Wavelet Transform to perform invisible watermarking. Invisible watermarking has been performed by replacing the alternate pixel values of the host video with the pixel values of watermark video/image. A method of forensic analysis has been offered by this kind of watermarking to cope with media piracy. Robustness to geometric attacks like rotation, cropping, contract altercation, time editing has been offered by their video watermarking method without affecting the security of the watermark. K. Ait Saadi et al. [28] have proposed a grey-scale pre-processing and robust video watermarking algorithm in the emerging video coding standard H.264/AVC for copyright protection. A Hadamard transform has been employed to transform the watermark and then it has been adjusted to fulfill the H.264/AVC computational constraints before embedding it into video data in the compressed domain. Good visual quality maintained for the watermarked sequences by the approach has resulted in good robustness and high capacity of embedding. The ability of the algorithm to embed watermark in short video sequences and its robustness towards attacks like re-compression by the H.264 codec, transcoding, and few general processing have been proved by means of experimental results. Xinghao Jiang et al. [29] have presented an efficient video watermarking method by adjusting the third decoded luminance differential DC component in all chosen macro blocks. Binary dither modulation with adjustable quantization step has been used to implement the modification. They have based their proposed method on the finding that luminance differential DC components inside a block are normally space correlated and utilized properties of human visual system (HVS).by modifying the quantization step according to neighboring differential components. They have proved that it can be implemented with improved visual quality by means of experimental results. Kareem Ahmed et al. [30] have proposed a 2-level Discrete Wavelet Transform decomposition of each RGB video frame component dependant video watermarking method. Independent watermarks have been embedded into separate shots by their method. The shots have been matched to watermarks by means of a genetic algorithm. Based on a key, any one of the HL1 of red, green or blue components of each frame has been selected by their proposed method and the error correcting code has been embedded into it. Yan Liua and Jiying Zhao [31] have proposed a 1D DFT (one-dimensional discrete Fourier transform) and Radon transform based video watermarking algorithm. An ideal domain which obtains the temporal information without losing the spatial information has been generated by the 1D DFT for a video sequence. A fence-shaped watermark pattern has been embedded in the Radon transform domain of the frames with highest temporal frequencies which they have selected with comprehensive analysis and calculation. International Review on Computers and Software, Vol. 8, N. 4 1024 M. Sundararajan, G. Yamuna The adaptive embedding strength for diverse locations has preserved the reliability of the watermarked video. Jing Zhang et al. [32] have proposed a video watermarking method of the modern video coding standard H.264/AVC. For copyright protection, 2-D 8-bit watermarks like precise company trademarks or logos can be utilized as inconvertible watermark. A grayscale watermark pattern has been embedded into the video data in the compressed domain after it was altered to satisfy the H.264/AVC computational constraints. The robustness of the algorithm to withstand Transco ding process and strong common signal processing attacks, like bit-rate reduction, Gaussian filtering and contrast enhancement has been proved by experimental results. Patrizio Campisi et al. [33] have proposed a video watermarking method working in the three-dimensional discrete wavelet transform (3D DWT) based on the use of an innovative video perceptual mask, employed in the 3D DWT domain. Especially, their method has involved splitting of video sequence into spatial-temporal elements of fixed length. Then a one level 3D DWT has been employed on the video shots. They have achieved tradeoff between the mark robustness and its imperceptibility by using a multiplicative method that uses a perceptual masking on the 3D DWT coefficients to embed the mark. The spatial-temporal contrast sensitivity function, the luminance, and the variance of the 3D sub bands which host the mark have been used by the proposed mask to allow for the spatial-temporal frequency content. In this paper, we have presented an efficient video watermarking technique using discrete wavelet transform to protect the copyright protection of digital images. We have introduced a watermarking procedure to embed a grayscale image into the digital video. Initially, the input video sequence is segmented into the non-overlapping units called shots using well known shot segmentation technique. The segmented video shots are partitioned into limited number of frames for the embedding process. We have utilized the grayscale image as a watermark to embed into the digital video sequence. Initially, the grayscale image is sliced into bit planes for analyzing the relative importance played by each bit of the image. Subsequently, the sliced bit plane images are permuted to enhance the security of the watermark image. Then, each permuted images are embedded into each frames of the segmented shots with the aid of the watermark embedding process. Subsequently, the recovery of the watermark is achieved with the help of the watermark extraction process. The results obtained from the experimentation shows that our proposed video watermarking techniques provide better results with higher accuracy. The organization of the paper is as follows: The proposed efficient video watermarking technique using discrete wavelet transform is detailed in Section 3. The experimental results and discussion is provided in Section 4. Finally, the conclusions are summed up in Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Section 5. III. Proposed Methodology for Video Watermarking The proposed video watermarking scheme consists of two stages: 1) Watermark Embedding process 2) Watermark Extraction process III.1. Watermark Embedding Process Before embedding watermark pixels into the input video sequences, the following process should carried out to enhance the security of the hiding information as well as to improve the efficiency of our proposed approach. The process includes: Shot segmentation of video sequences. Bit plane slicing of grayscale image. Pixel permutation. Decomposition of image using DWT. i) Shot segmentation of video sequence The fundamental task for performing the video processing application like video indexing, video summarization, video watermarking and video retrieval is video shot segmentation. The original input video sequence is first segmented into non-overlapping units, called shots that depict different actions. Each shot is characterized by no significant changes in its content which is determined by the background and the objects present in the scene. Numerous researches are available in the literature for video shot segmentation using several techniques. Here, proposed method uses Discrete Cosine Transform and correlation measure to identify the number of frames involved in each shot. The first and second frame is divided into a set of blocks and DCT is applied to every block of the frame. The two-dimensional DCT for an input image X and output image Y can be defined as: 2m 1 p 2M Ypq p q 2n 1 q m 0 n 0 cos 2N 0 p M 1 0 q N 1 M 1 N 1 X mn cos (1) where: 1 / M , p 2 / M , 1 / N , q 2 / N , p0 1 p M 1 (2) q0 1 q N 1 Then, the correlation coefficient is computed in between the frame 1 and 2 using the following formula: International Review on Computers and Software, Vol. 8, N. 4 1025 M. Sundararajan, G. Yamuna X mn X Ymn Y m r n (3) 2 X mn X Ymn Y m n m n 2 where: X mean X , and Y mean Y After finding the correlation for the first and second frame, the same procedure is repeated for the consecutive frames presented in the video. Then, the frames within a shot can be identified by maximizing the cross correlation term which gives a measure of the degree of similarity between two frames of video. iv) Decomposition of image using DWT Wavelets are functions defined over a finite interval and having an average value of zero. The basic idea of the wavelet transform is to represent any arbitrary function as a superposition of a set of such wavelets or basis functions [37]. The basic idea of the wavelet transform is to represent a function as a superposition of a set of such wavelets. These wavelets are obtained from a single mother wavelet, multiplicative scaling and translational shifts [38]. The sequences of n real numbers x1 , ,xn are transformed into j sequences of k real numbers by the DWT according to the formula: x t jk t dt W jk (4) ii) Bit plane slicing of grayscale image Bit-Plane Slicing is a technique in which the image is sliced at different planes. Instead of highlighting gray level images, highlighting the contribution made to total image appearance by specific bits might be desired. For example the image is composed of 8 bits, 1-bit planes ranging from bit 0 to7. In terms of 8-bits, plane 0 contains all lowest order bits comprising the pixels in the image and plane 7 contains all high order bits [34]. Often by isolating particular bits of the pixel values in an image we can highlight interesting aspects of that image. The higher-order bits usually contain most of the significant visual information and the lower-order bits contain subtle details [35]. The advantage of following this method is to utilize the relative importance played by each bit of the image. Fig 1 shows the Bit plane slicing concept. where: jk t t b jk a jk a jk 1 (5) where is the mother wavelet and a and b are the scaling and shifting parameters. Watermark Embedding steps Input: Original video sequence Ov i, j , Grayscale watermark image WI i, j Output: watermarked video sequence Wv i, j 1) Segment the original input video sequence Ov i, j into number of non-overlapping shots S s i, j using shot segmentation technique. Then, identify the number of frames Fp i, j involved in each segmented shots S s i, j for embedding purpose. 2) Slice the grayscale watermark image WI i, j into 8 bit planes S I i, j using bit plane slicing. 3) Permute the sliced images S I i, j using pixel permutation technique to obtain the permuted grayscale image PI i, j . Fig. 1. Bit plane slicing 4) Extract the blue components BFp i, j of all the iii) Pixel permutation After the bit plane slicing process, the sliced images are allowed to permute each pixel value to enhance the security of the hiding information. In this scheme, each group of pixels is taken from the image. The pixels in the group are permuted using the key selected from the set of keys. The size of the pixel group is same as the length of the keys, and all the keys are of same length. If the length of the keys is more than the size of pixel group, the perceptual information reduces. In this, the group of pixels is taken along the row without the loss of generality. The column wise procedure would yield same kind of results [36]. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved partitioned frames for embedding the each sliced image S I i, j into the blue components of each frame. 5) Decompose the blue components BFp i, j of each partitioned frame Fp i, j into four sub-bands such as HH, HL, LH and LL with the aid of the DWT to attain the transformed T f i, j frames. 6) Choose the low frequency sub-bands (HL, LH) from the transformed frames to embed the permuted grayscale image PI i, j . International Review on Computers and Software, Vol. 8, N. 4 1026 M. Sundararajan, G. Yamuna 7) Find the similarity matrix of the permuted image PI i, j to embed into the chosen sub-bands. The maximum value max E p and embed the modified value: upper part U p of the similarity matrix is embedded if E p i 0 then (10) into the HL sub-band and the lower part L p of the similarity matrix into the LH sub-band. 8) The HL and LH sub-bands used to embed the permuted watermark image are divided into four parts as per the similarity matrix. The lower part E p x, y of the similarity matrix of the HL and LH bands is chosen for embedding the two similar parts of the watermark image. 9) In the HL sub-band, the upper part U p of the similarity matrix is embedded with the following steps: Calculate the mean value mean E p and the maximum value max E p of the chosen embedding part E p : n E p i mean E p (6) E p x, y Abs E p i (11) else: E p x, y E p i max E p (12) end if. 11) Similarly, the lower part L p of the similarity matrix is embedded into the LH sub-band. Also, each permuted image is embedded into all the frames of every shot. 12) Divide all the embedded frames with the embedding strength to enhance the quality of the image. 13) Map the modified sub-bands into its original position and apply the inverse discrete wavelet transform to attain the watermarked video sequence Wv i, j . The block diagram of the watermark embedding process is shown in Fig. 2. i 1 10) Embed the watermark pixels 0 or 1 in a zig-zag manner in the chosen embedding part, since the watermark is the grayscale image. The two cases for embedding the watermark image pixels are as follows: Case 1: for embedding the watermark pixel ‘1’. The values in the embedding part E p x, y are compared against the maximum value max E p and modified as follows: If the value in the chosen embedding part is greater than 1, take the absolute value and embed the same. Otherwise, if the value in the embedding part is lesser than the 1, add the corresponding pixel with the maximum value and embed the modified value: if E p i 1 then (7) Fig. 2. Watermark Embedding process E p x, y Abs E p i (8) else E p x, y E p i max E p (9) end if. III.2. Watermark Extraction Process After embedding the grayscale watermark image pixels into the original video sequence, we have extracted the embedded watermark image without affecting the original video. Watermark Extraction steps Input: watermarked video sequence Wv i, j , size of Case 2: for embedding the watermark pixel ‘0’. If the value in the embedding part E p x, y is lesser the watermark image. Output: recovered watermark image WI i', j' than the 0, take the absolute value and embed the same. Otherwise, if the value in the embedding part is greater than the 1, subtract the corresponding pixel with the 1) Segment the watermarked video sequence Wv [i, j ] into a number of non-overlapping shot S s [i ' , j ' ] using the shot segmentation technique. Then, identify Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1027 M. Sundararajan, G. Yamuna the number of frames F p [i ' , j ' ] involved in each segmented shots S s [i ' , j ' ] for the extraction process. 2) Extract the blue components B F p [i ' , j ' ] of all the partitioned frames for extracting the embedded watermark pixels. 3) Decompose the blue components of the frames with the aid of the discrete wavelet transform into four sub-bands HH, HL, LH and LL. 4) Select the low frequency sub-bands (HL, LH) from the transformed frames to extract the watermark grayscale image. 5) Extract the watermark pixels from the embedding part in a zig-zag manner from the HL and the LH sub-bands with the aid of the following steps. If the embedded pixel value is greater than the mean pixel value, then the extracted pixel value is one. If it is lesser, then the extracted pixel is zero: 1 , WI i', j' 0 , E p i mean E p , where 0 i n (13) The experimental results are carried out with diverse video sequences and the grayscale image as the watermark. The scheme discussed in this paper effectively embedded the watermark image pixels into the original video sequence and extracted back from the watermarked video sequence. The watermarked video sequences possess superior Peak Signal to Noise Ratio (PSNR) and visual quality for grayscale watermark images. The output acquired from the proposed video watermarking scheme has been evaluated by PSNR and NC (Normalized Correlation). The visual quality is evaluated by the PSNR criterion for watermarked video. The extracting fidelity is computed by the NC value between the original watermark image and the extracted watermark image. The results demonstrated that the competence of proposed approach. The performance of the proposed video watermarking scheme is evaluated through two video sample sequences such as Akiyo, Hall. Figs. 4 depict the results of Akiyo video sequence of watermark image, watermarked video sequence and the extracted watermark image. Figs. 5 show the results of the Hall video sequence. otherwise 6) Form the matrix with the size of the watermark image and the extracted pixels are placed in it to attain the watermark image. 7) Obtain the watermark image WI i', j' by applying the reverse process of permutation and bit plane slicing. The block diagram of the watermark extraction process is shown in Fig. 3. Figs. 4. (a) Input Akiyo video sequence, (b) Watermark image, (c) Frame Akiyo Watermarked video, (d) Extracted watermark image Figs. 5. (a) Input Hall video sequence, (b) Watermark image, (c) Frame Hall Watermarked video, (d) Extracted watermark image IV.1. Evaluation Results The formulas used to compute the evaluation metrics PSNR and NC values are given as follows: The formula for PSNR value computation is: PSNR 10 log10 where, I w and I h Fig. 3. Watermark Extraction process IV. 2 Emax Iw Ih I xy I *xy (14) Width and height of the watermarked image, I xy Original image pixel value at coordinate x, y , I *xy Watermarked image pixel value Experimental Results The experimental results of the proposed digital video watermarking scheme using discrete wavelet transform are presented in this section. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 2 at coordinate x, y , Emax Largest energy of the image pixels. Figs. 6 and 7 depict the PSNR graph of the Akiyo and International Review on Computers and Software, Vol. 8, N. 4 1028 M. Sundararajan, G. Yamuna TABLE III PERFORMANCE EVALUATION OF PSNR IN DB Video Proposed Existing Sequence Akiyo 40.12 30.96 Hall 28.86 N.A Hall video samples respectively. The experimental result shows that the proposed scheme has higher visual quality when embedding strength is low. IV.3. Normalized Correlation In For image-processing applications, the brightness of the image and template can vary due to lighting and exposure conditions. This is typically done at every step by subtracting the mean and dividing by the standard deviation. That is, the cross-correlation of a template, t x, y with a sub-image f x, y is: Fig. 6. PSNR graph of the Akiyo video sequence u,v Fig. 7. PSNR graph of the Hall video sequence IV.2. Performance Evaluation To prove the effectiveness of the proposed scheme the results are compared with the existing method [40] Table I shows the PSNR values with different frame number for the Akiyo video sequence. Table II shows the PSNR values with different frame number for the Hall video sequence. The results of the comparative data clearly demonstrate the efficacy of the present methodology as evidenced from the PSNR value. Table III shows the performance evaluation in terms of PSNR for Akiyo video sequence. x,y f x, y f u ,v t x u, y v t 0.5 (15) 2 f x, y fu ,v x,y 2 t x u, y v t x,y where: f is the image, t is the mean of the template, fu ,v is the mean of f x, y in the region under the template. The NC plot of the Akiyo and the Hall video sample is shown in Fig. 8. TABLE I PSNR VALUES WITH DIFFERENT FRAME NUMBER (PSNR IN DB) Video Frames Embedding Embedding Embedding sequence Strength=1 Strength=5 Strength=10 PSNR PSNR PSNR Akiyo 50 100 150 200 250 300 36.58 39.63 36.63 35.79 35.47 36.74 37.74 39.86 38.57 37.85 36.61 36.34 36.11 37.63 35.92 35.93 34.86 34.33 Fig. 8. NC plot for Akyio, Hall video sequence IV.4. Robustness Evaluation To prove the robustness of the proposed scheme the experimental results are conducted with various attacks for the Akiyo video sequence. Frame dropping attack: There is a little change between frames in shot, so the frame dropping which are some frames (even index frame) are removed from the video shot and replaced by corresponding original frames is used as an effective video watermark attack [40]. NC values of the proposed method are compared with the existing technique [40] and [41] for frame dropping attack. The results are shown in Fig. 9. The current method displays the better result for frame dropping attack compared to existing methods. The percentage of frame dropped is compared with the other two techniques TABLE II PSNR VALUES WITH DIFFERENT FRAME NUMBER (PSNR IN DB) Video Frames Embedding Embedding Embedding sequence Strength=1 Strength=5 Strength=10 PSNR PSNR PSNR 50 26.45 25.19 24.27 100 27.17 25.82 24.89 Hall 150 26.22 25.66 24.73 200 26.563 25.472 24.552 250 25.68 25.34 24.42 300 27.45 25.82 24.9 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1029 M. Sundararajan, G. Yamuna Normalized correlation [39] and [42]. The results are presented in Fig. 10. Frame averaging attack: Frame averaging is also a significant video watermarking attack that will remove dynamic composition of the watermarked video [40]. The proposed scheme uses the average of current frame and its two nearest neighbors to replace the current frame. For frame averaging attack, the proposed scheme is compared with the existing technique [40] and [41] and the results are documented in Fig. 11. Fig. 12 shows NC values for number of frame averaging. In frame averaging attack, the NC values getting better value when compared with the existing techniques [39]. 1 0.8 Fig. 12. Performance Comparison (NC) 0.6 0.4 V. 0.2 This paper proposes a novel scheme for video watermarking. In the present investigation an efficient video watermarking scheme using DWT to protect the copyright of digital video sequence is demonstrated. This is attaining by watermark embedding and watermark extraction process. Experimental results proved that the proposed scheme is efficient by means of imperceptibility and robustness against attacks such as frame dropping and frame averaging. 0 1 2 3 4 5 6 7 8 Number of Frame Dropping Proposed Existing(40) Conclusion Existing(41) Fig. 9. NC values for Frame Dropping References [1] Langelaar, G., I. Setyawan, and R. Lagendijk, “Watermarking Digital Image and Video Data: A State-of-Art Overview”, IEEE Signal Processing Magazine, Vol.17, pp. 20-46, 2000. [2] V. Potdar, S. Han, and E. Chang, "A Survey of Digital Image Watermarking Techniques",In Proceedings of the IEEE International Conference on Industrial Informatics, pp. 709-716, 2005. [3] M. Ramkumar and A. Akansu, “A Robust Protocol for Proving Ownership of Multimedia Content”, IEEE Transactions Multimedia, Vol. 6, pp. 496-478, 2004. [4] Lama Rajab, Tahani Al-Khatib and Ali Al-Haj, "Video Watermarking Algorithms Using the SVD Transform ", European Journal of Scientific Research, Vol. 30, No. 3 , pp. 389-401, 2009. [5] Jun Tian, "Wavelet-based reversible watermarking for authentication", In proceedings of SPIE, Vol. 4675, pp. 679-690, 2002. [6] Santi P. Maity and Malay K. Kundu, "An Image Watermarking Scheme using HVS Characteristics and Spread Transform”, In proceedings of 17th International Conference on Pattern Recognition (ICPR'04), Vol. 4, pp.869-872, 2004. [7] Soroosh Rezazadeh and Mehran Yazdi, "A Non-oblivious Image Watermarking System Based on Singular Value Decomposition and Texture Segmentation", In Proceedings of World Academy of Science, Engineering And Technology, Vol. 13, May 2006. [8] V. Padmanabha Reddy and S. Varadarajan, "An Effective Wavelet-Based Watermarking Scheme Using Human Visual System for Protecting Copyrights of Digital Images", International Journal of Computer and Electrical Engineering, Vol. 2, No.1, pp.32-40, 2010. [9] Cox I. J., Miller, M. L. and Bloom J. A., “Digital Watermarking”, Morgan Kaufmann Publishers, USA, 2002. [10] Doerr G. and J. Dugelay, “A Guided Tour to Video Normalized correlation Fig. 10. Performance Evaluation (NC) 1 0.8 0.6 0.4 0.2 proposed 0 1 2 3 4 5 6 7 8 Num ber of Fram e Averaging Proposed Existing(40) Existing(41) Fig. 11. NC for Frame Averaging Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1030 M. Sundararajan, G. Yamuna [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] Watermarking”, Signal Processing: Image Communication, vol.18, pp. 263-282, 2003. Saraju P. Mohanty, Elias Kougianos and N. Ranganathan, "VLSI architecture and chip for combined invisible robust and fragile watermarking", Computers & Digital Techniques (IET), Vol.1, No. 5, pp. 600-611, September 2007. Zhe-Ming Lu, Wei-Min Zheng, Jeng-Shyang Pan and Zhen Sun, “Multipurpose Image Watermarking Method Based on Meanremoved Vector Quantization" Journal of Information Assurance and Security, Vol.1, No.1, pp. 33-42, March 2006. Yong C. Kim and Byeong C. Choi, "Two-Step Detection Algorithm in a HVS-Based Blind Watermarking of Still Images", In proceedings of Lecturer Notes in Computer Science, SpringerVerlag Heidelberg, Vol. 2613, pp. 235-248, 2003. Xiang-Yang Wang and Hong Zhao, "A Novel Synchronization Invariant Audio Watermarking Scheme Based on DWT and DCT", IEEE Transactions on Signal Processing, Vol. 54, No. 12, pp. 4835-4840, 2006. Hartung H. and B. Girod, “Watermarking of Compressed and UnCompressed Video”, Signal Processing, Vol. 66, pp. 283-30, 1988. Fuhao Zou, Zhengding Lu and Hefei Ling, Yanwei Yu,” Realtime video watermarking based on extended m-sequences”, In Proceedings of IEEE International Conference on Multimedia and Expo, pp.1561-1564, 2006. Karen Su, Deepa Kundur, Dimitrios Hatzinakos, "Statistical Invisibility for Collusion-Resistant Digital Video Watermarking", IEEE Transactions on Multimedia, Vol. 7, No: 1, pp: 43 - 51, 2005. Prakash Devale, R. S. Prasad, Amol Dhumane, and Pritesh Patil , " Novel Security Strategy for Real Time Digital Videos”, World Academy of Science, Engineering and Technology, Vol. 46, pp.81-87, 2008. Neeta Deshpande, Archana Rajurkar, R Manthalkar, "Review of Robust Video Watermarking Algorithms", IJCSIS, Vol. 7 No. 3, pp: 237-246, 2010. Ji-Young Moon and Yo-Sung Ho, "A Video Watermarking Algorithm Based on the Human Visual System Properties", Computer and Information Sciences, Lecture Notes in Computer Science, Springer, Vol. 2869, pp: 699-706, 2003. Bhattacharya, S. Chattopadhyay, T. Arpan Pal, "A Survey on Different Video Watermarking Techniques and Comparative Analysis with Reference to H.264/AVC", In Proceedings of the IEEE Tenth International Symposium on Consumer Electronics, pp.1-6, 2006. D. Mukherjee, S. Maitra, and S. Acton, "Spatial Domain Digital Watermarking of Multimedia Objects for Buyer Authentication", IEEE Trans. Multimedia, vol.6, pp. 1-15, 2004. M. Herandez, M. Miyatake, and H. Meana, "Analysis of a DFTbased watermarking Algorithm", Proceedings of the IEEE 2nd International Conference on Electrical and Electronics Eng., pp. 44-47, 2005. Reddy A. and B. Chatterji, “A New Wavelet Based Logowatermarking Scheme”, Pattern Recognition Letters, Vol. 26, pp. 1019-1027, 2005. Joo Lee and Sung-Hwan Jung, "A survey of watermarking techniques applied to Multimedia”, In Proceedings of 2001 IEEE International Symposium on Industrial Electronics (ISIE2001), Vol. 1, pp: 272 -277, 2001. Reyes R., Cruz C., Nakano-Miyatake M. and Perez-Meana H.,"Digital Video Watermarking in DWT Domain Using Chaotic Mixtures”, IEEE Latin America Transactions, Vol. 8, No.3, pp. 304 - 310, 2010. Gandhe S.T., Potdar U. and Talele K.T., "Dual Watermarking in Video Using Discrete Wavelet Transform", In Proceedings of Second International Conference on Machine Vision, pp. 216 219, 2009. K. Ait Saadi, A. Guessoum, A. Bouridane, "Efficient preprocessing watermark for robust video watermarking of H.264&#47; AVC", International Journal of Advanced Media and Communication, Vol. 4, No: 3, pp: 219-234, 2010. Xinghao Jiang, Tanfeng Sun, Jianhua Li and Ye Yun, "A Novel Real-Time MPEG-2 Video Watermarking Scheme in Copyright Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] Protection", Digital Watermarking, Lecture Notes in Computer Science, Vol: 5450, pp: 45-51, 2009. Kareem Ahmed, Ibrahim El-Henawy and Ahmed Atwan, "Novel DWT video watermarking schema ", Machine Graphics & Vision International Journal archive, Vol. 18, No. 3, pp. 363-380, 2009. Yan Liua and Jiying Zhao ," A new video watermarking algorithm based on 1D DFT and Radon transform ",Signal Processing, Vol. 90, No. 2, pp. 626-639, 2010. Jing Zhang, Anthony T. S. Ho, Gang Qiu, Pina Marziliano, "Robust Video Watermarking of H.264/AVC", IEEE Transactions on Circuits and Systems II: Express Briefs, Vol. 54, No: 2, pp: 205 - 209, 2007. Patrizio Campisi and Alessandro Neri, "Perceptual Video Watermarking in the 3D-DWT Domain Using a Multiplicative Approach ", Lecture Notes in Computer Science, Vol. 3710, pp. 432-443, 2005. Gonzalez R.C., Woods R.E., “Digital Image Processing”, Addison Wesley, 2002 M. Mohammed Sathik, N.Ravia Shabnam Parveen, "Feature extraction on colored x-ray images by bit-plane slicing technique", International Journal of Engineering Science and Technology, Vol. 2, No: 7, pp: 2820-2824, 2010. A. Mitra, Y. V. Subba Rao and S. R. M. Prasanna, "A New Image Encryption Approach using Combinational Permutation Techniques", International Journal of Electrical and Computer Engineering, Vol. 1, No: 2, pp: 127-131, 2006. M. Ezhilarasan, P. Thambidurai, "A Hybrid Transformation Technique for Advanced Video Coding", Ubiquitous Computing and Communication Journal, Vol. 3, No: 3, 2008. Vetterli, M. and J. Kovacevic, Wavelets and Subband Coding. Prentice Hall, USA, 1995. Mahesh R. Sanghavi , Dr. Mrs. Archana M. Rajurkar, Prof. Dr. Rajeev Mathur, Kainjan S. Kotecha ,“A Robust Scheme for Digital Video Watermarking based on Scrambling of Watermark,” International Journal of Computer Applications (0975 – 8887), Vol.35, No.2, December 2011. A.Essaouabi and F.Regragui, E.Ibnelhaj, “A blind Wavelet-Based Digital Watermarking for Video” IJVIPNS Vol. 9 No: 9, pp: 471476, 2009. A.Essaouabi and F.Regragui, E.Ibnelhaj, “A Wavelet-Based Digital Watermarking for Video” IJCSIS Vol. 6, No.1, pp: 29-33, 2009. T.Jayamalar and Dr. V. Radha, “Enhanced Nested Video Watermarking using Wavelets and geometric warping” IJMA, Vol.3, No.4, pp: 143-157, November 2011. S. A. M. Gilani, A. N. Skodras, Adaptive Image Watermarking Using Multiple Transforms, (2007) International Review on Computers and Software (IRECOS), 2 (6), pp. 653 - 660. A. Ouled Zaid, A. Makhloufi, A. Bouallegue, C. Olivier, A. NaitAli, Blind Watermarking Integrated to Wavelet Image Coding Scheme, (2008) International Review on Computers and Software (IRECOS), 3 (1), pp. 53-61. J. N. Ellinas, Stereo Image Reversible Watermarking, (2008) International Review on Computers and Software (IRECOS), 3 (5), pp. 457-464. A. Sabri, M. Karoud, H. Tairi, A. Aarab, A Robust Image Watermarking Based on the Empirical Mode Decomposition, (2009) International Review on Computers and Software (IRECOS), 4 (3), pp. 360-365. Authors’ information Sundararajan Madhavan received the B.E degree in Electrical and Electronics Engineering and the M.E degree in Power Systems from Annamalai University, India in the year 2002 and 2008 respectively. He is currently with the Department of Electrical Engineering as an Assistant Professor. His research interests include image processing, multimedia applications. International Review on Computers and Software, Vol. 8, N. 4 1031 M. Sundararajan, G. Yamuna Yamuna Govindarajan received her B.E. (Electronics and Communication) Degree from the Regional Engineering College, Trichy, Tamil Nadu, and India in 1987. She received her M.E. (Power Systems) Degree from Annamalai University in the year 1991. She received hier Ph.D Degree in Electrical Engg from the Annamalai University in the year 2010. She has published many technical papers in national and international conferences and journals. Currently, she is working as Professor in the Department of Electrical and Electronics Engineering, Annamalai University, Tamil Nadu, India. Her areas of interest are digital signal processing, digital image processing and information security. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1032 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Signature Analyzer Block for Secure Node Entry C. Navaneethan1, K. Helen Prabha2 Abstract – We address the problem of secure transmission between two or more systems involved in communication and to overcome those using Hardware and Software co-design. With the spreading of the Internet and online forums the trusted request for a channel is diminishing and at the same time safeguarding the data and the channel from intrusion has become an inevitable requirement. Apart from the concept, the use of the existing secured transmission nodes tends to travel either toward the theorems of advancements, syllogisms, techniques and algorithms of the software issues. Hence, data could be protected, via the software & hardware co-design, from the intruders. The focus is to identify the untrusted nodes in the initial stage itself into the transmission from the physical and data link layer without using firewalls. Signature-based IDSs aim to distinguish those events that deviate from the system’s network terms and conditions. Signature-based schemes (also denoted as misuse-based) identifies the defined patterns, or signatures, within the examined data and also defends the Distributed denial of service attacks. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Inevitable, Firewalls, Syllogisms, Signature Based IDS, Distributed Denial of Service I. Introduction The Internet and computer networks are exposed to an increasing number of security threats [1]-[11]. With new types of attacks appearing drastically, developing adaptive, flexible and user friendly approaches in security oriented approaches is a severe challenge. Intrusions detection systems [3] are systems detect attacks as they take place. IDSs collect network traffic and congestion information and make use of this information to provide security to the network. Signature-based network intrusion detection techniques [2] are valuable technology to protect our systems and networks against intrusions and from the harmful activities that prevails. It is as shown in Fig. 1. Signature-based intrusion detection is the most extensively used threat detection technique. When an IDS cannot cope up with the congestion and traffic flood [2], all it can do is to drop packets, therefore, may miss potential attacks. The focus is to identify the untrusted nodes in the initial stage itself into the transmission from the physical and data link layer. Here we use a Software and Hardware Co-Design which can detect imminent threats with extremely high success rate by dynamically and automatically creating and using relevant databases and maintaining them efficiently, to detect vulnerable threats. It also provides mechanism to update these small signatures into the databases at appropriate intervals. Secured transmission insists the various technical aspect of self-healing transmission process. Sony's PlayStation Network, as shown in Fig. 2. security breach, which includes the theft of user data, including credit accessing details, is a murky underworld organized crime in online. Manuscript received and revised March 2013, accepted April 2013 The attack occurred between April 17, 2011, forcing Sony to shut down the PlayStation Network. A group called "The Three Musketeers" released a secret set of LV0 codes that modified the original set of codes that is mainly used by the boot loader. This means that hackers have the rights to peep into the Playstation user’s accounts at various and multiple times. The attackers gained "illegal/unauthorized" access to personal information stored in the Playstation network. The information that was stolen includes names, credit card details, log-in and passwords. Then the account users are compromised by the Playstation authorities. When Playstation decided to shut down for the repair work for the existing hacked accounts, the reason found out was, the account information were mainly stolen using DDOS attacks [5]. Another incident Iran's nuclear work on 17 January 2011, as shown in Fig. 3 also forces the organizations, to focus on security related issues and solve the bottleneck in various aspects. Israel tested a computer worm aimed at collapsing Iran’s nuclear centrifuges, and it also happened as per the predicted plan of Israel. The nuclear plant drifted from the actual behavior and performed its function abnormally. Experts said the Stuxnet worm caused the Iranian centrifuges to show abnormal behavior added, providing poor performance. The worm also caused huge loss to the power plant production and destroyed most of the efficient working parts. The increasing number of cyber attacks shows the importance of providing security at both the fair and the rare part of the production unit. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 1033 C. Navaneethan, K. Helen Prabha • • Stealing/modifying of data by intruders. Trusted neighbor node detection in the topology. III. Existing Work There are many models proposed to avoid the problems of intrusion but there exists lot deficiencies that need to be addressed. Signature-based IDS are less prone to intrusions since the problems due to traffic are very less. It is highly efficient in identifying the trusted systems in the network topology. An Anomaly-Based Intrusion Detection System [6], is a system for identifying intrusions and misuse of the channel thus collapsing the system activity. It can be classified into normal and anomalous. The classification is based on heuristics, rather than signatures. The bottleneck prevails in some places and they include the following: • For detection to occur correctly, the detailed knowledge about the accepted communication behavior need to be developed. • Often require extensive “training sets” to record the normal behavior patterns. If the threshold is high than estimated, it generates false negative alarms. If the attacks are unfamiliar to the training sets [6] then the alarms fail to recognize the threats and grant access to the illegal user. In some cases the real threat as per the training set too causes false alarms. Fig. 1. Illustration of Signature Based Intrusion Detection Technique Fig. 2. PlayStation Network Logo IV. Fig. 3. file photo shows the reactor building of the Bushehr nuclear power plan II. Problem Statement The various factors that count to destroy the security in the computer networks are increasing steadily. Attacks made are mostly by unauthorized users. The error cannot be immediately detected or located. Due to increased traffic, flooding and congestion occurs [3]. Identifying the trusted nodes in the Network topology is difficult in large environment. There are a number of procedures to make a environment of transmission to promote security, that is bit hectic to build upon, it comprises, • Valid IP address and Hostname Detection. • Part of unique address to be stored in a database. • Maintenance of large complementary certificates generated. • Use of Better Encryption standards. • Traffic flooding on the network. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Proposed Model Using the Hardware and software co-design the possible errors during the data transmission can be detected and corrected in the physical layer and data layer itself. And hence with the modeled co-design the flexibility is increased and thereby the execution speed can also be enhanced. The systems involved in transmission of data process should be both secure. In a topology of network many intruders interrupt or modify the actual transmission. So, first the identification of trusted system should be put into act. This is done via the Hardware design. The system which participates in transmission should be enrolled in the chip beforehand. This is done through the hostname registration into the chip. If the name already exists in the chip, the system is considered trusted, else, un trusted, hence cannot involve in transmission. as shown in Fig. 4. The system considered to be authenticated, once the signature (Hostname) matches with the stored hostnames in the chip. The indication is provided by glowing Green light. The untrusted system is indicated by glowing Red light. The data requested by the other system is transferred after it is approved to be trusted and can be authenticated as shown in Fig. 5. The data is encrypted using DES algorithm and a key. The data is decrypted by the same algorithm and key. International Review on Computers and Software, Vol. 8, N. 4 1034 C. Navaneethan, K. Helen Prabha Tx H/W Anomalous behavior S/W E-Mote Master node Fault Detection Encryption Re- Distribute T E x n c E-Mote Slave node K E y Candidate fixes Fig. 6. Self Healing mechanism Thus the original and pre-existing format of the data is regained. It ensures: Proactive techniques. Debugging and self estimating techniques. Runtime protection & containment techniques. Decryption H/W S/W VI. Rx Algorithm Used VI.1. DES Algorithm Fig. 4. Proposed Architecture T C The main aim of this algorithm is to created the keys and then share its key among the users of the algorithm as shown in Fig. 7. HOST 1 Slave N/W RX H/ HOST 2 H/W Slave TX IP Fig. 5. Transmission of Data V. V.1. Related Work Self Healing Mechanism Fig. 7. DES Algorithm Mechanism The concept of self healing mechanism [1] is to provide security to the data while storing them and also while sharing them with the external world. The entire concept is dependable to the computation. And the recovering mechanisms vary from the inputs given by the users and the system’s specifications. Self-healing mechanisms as shown in Fig. 6 stop the modification of codes by unauthorized persons. It also ensures the replication of original text in case of alteration. These approaches include writing the system’s code in a “safe” language, and attaching them with legal libraries that are required. The technique also prevents the inculcating of false code into the original code sequences. The system initially looks for the anomalous behavior [1] and then if got detected the system is forced to perform the candidate fixes. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved A separate method known as key Generator [4] is used and once the key is generated, the corresponding keys are assigned to the users as per the predefined conditions Table I shows the features of DES. TABLE I FEATURES OF DES Features Speed Deposit of keys Data block length Key length Use of data space Ciphering & deciphering key DES high needed 64 bits 56 bits full, 64 bits (264), 8 bytes same The Data Encryption Standard (DES) is a symmetrickey block cipher. Since the Hardware implementation itself performs the security checks, DES is enough to produce security at all levels. Hence implementation International Review on Computers and Software, Vol. 8, N. 4 1035 C. Navaneethan, K. Helen Prabha complexity can be reduced. VII. Detector. Finally, the data is displayed in the computer screen through a software program. System Requirements VII.1. References Hardware Specification Chip level programming is done. Registers are also provided for RHW for getting inputs and for storage of outputs. The arm board consists of two units. They are: • ARM based master node (Server). • ARM based slave node (Client). The arm board consisting of the transmitter, receiver and controller peripheral devices are usually attached to the processor by mapping their physical registers into arm memory space or into the coprocessor space or connecting to another device (a bus) which in turn attaches to the processor. Coprocessor accesses have lower latency and some peripherals are designed to be accessible in both ways (through memory and through coprocessors). Sometime the arm board can be act as an interrupt. The arm board includes the hardware debugging facilities without them. So it utilizes to find the trust worthy nodes among the sensor network in the transmission. VII.2. Software Specification The data is transmitted to the client using NETWINZ software. The data’s encryption and decryption is done using the same. The software part is wired using LAN communication. The software part provides the data security since encrypted data is send via the LAN cable securely. Thus the Hardware and software provides Network security and data security respectively. VIII. Discussion and Conclusion The hardware and software co-design promotes flexibility. The hardware is responsible for Signature checks hence implementation complexity is reduced. The reconfigurable architecture enables the addition of new features, allows rapid implementation of new standards and protocols on an as-needed basis and protects the investment in computing hardware. Authentication is performed, so it provides Network security and also it provides Data security since encryption is done. IX. [1] Context Switching Semaphore with Data Security Issues using Self-healing Approach, International Journal of Advanced Computer Science and Applications, Volume.2, No. 6, 2011. [2] Dynamic Multi-Layer Signature Based Intrusion Detection System Using Mobile agents, Department of Information System, Faculty of Computer Science, Isra University Pakistan, International Journal of Network Security & Its Applications (IJNSA), Vol.2, No.4, October 2010. [3] Intrusion Detection Systems - Analysis and Containment of False Positives Alerts, International Journal of Computer App. Volume 5 No.8, August 2010. [4] A study of DES algorithm with cellular automata, International Journal of Innovative Management, Information & Production ISME International ⓒ2011 ISSN 2185-5439 Volume 3, Number 1, March 2012 PP. 10-16 . [5] A Link Signature Based DDoS Attacker Tracing Algorithm under IPv6,Future Genertion Communication and Networking(FGCN 2007),Author(s):Xinyu, Xian Jiaotong Univ., Xian Ting ma, VOL 1,6-8 Dec. 2007. [6] Y.Cliff-S.Tin and C.Boyd,password based server aides key exchange, In applied cryptography and network security. Fourth International Conference-ACNS 2006.Springer-Verlag, Volume 3986 of Lecture Notes in Computer Science. [7] A Fuzzy approach to detect and detect and control congestion in wireless sensor networks Rekha chakravarthi et al.Indian journal of computer science and engineering (IJCSE). [8] Peer to peer Networking and applications based on B.Zheng,W.C.Lee and D.Lun Lee by Xuemin Shen,H.Yu.Journal No. 12083. [9] Design and Implementation of a short message service based on peer to peer application.Adamu Murtala Zungeru,Ufarna Victoria Edu,Ambafi James Garba,Computer Engineering and Intelligent systems.ISSN 2222-1719.Vol 3,No.4,2012. [10] A cost effective symmetric key Cryptographic Algorithm for small amount of data.9th International multihop.Vol.2 Conference Publications, IEEE INMIC 2005, Sarker, Mohammad Zakir Hossain. [11] ”Towards self healing in wireless sensor networks.Wearable and Implantable body sensor networks”, 2009, Sixth International conference on Sensor Networks.Imperial,London,UK. Authors’ information 1 B. E., M. E.; Assistant Professor/CSE, (Research Scholar- AUT Chennai). E-mail: navaneethan_c@yahoo.com 2 M. E., Ph.D.; Professor, RMD Engineering College, Tamil Nadu. E-mail: helenprabha@yahoo.com Future Enhancement The enhancement can be made for an alternative for Wired LAN communication establishment. Here the transmitter sends the data as bit streams along with a unique code which in turn obtained by the receiver. The entire transmission is via Infrared Systems. The send and obtained sequence, both are compared. If the two sequence resembles the same, the data is obtained to the receiver. This is done with the help of Sequence Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1036 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Swarm Based Topology Control for Fault Tolerance in MANET D. Manohari, G. S. Anandha Mala Abstract – To perform fault-tolerant topology control in mobile ad hoc networks (MANET), selection of an appropriate transmission power for each node and maintenance of network connectivity are daunting tasks. Most of the related works have considered either transmission power or network connectivity and not both simultaneously. In this paper, we propose a swarm based topology control algorithm for fault tolerance in MANET. Initially, each node constructs its neighbor set by sending neighbor discovery message to its neighbors. The forward and backward ants are used to gather and update nodes minimum transmission power. Meanwhile, each node calculates its interference number and they are updated in neighbor set table. Before transmitting data to the destination, the source node finds multiple paths and calculates aggregate transmission power and interference value along each path. Finally, source chooses the optimal path that satisfies both minimum interference and minimum transmission power. By simulation, we prove that our work efficiently provide fault tolerant topology control in mobile ad hoc networks. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Mobile Ad Hoc Networks (MANET), Topology Control, Fault Tolerance, Ant Colony Optimization (ACO) Nomenclature β γ d UDI UDN dis (ni nj) IL INL IP NEI_DIS twait CH Trans Power NS ad Path loss factor Constant Distance between nodes Unidirectional interference set Unidirectional interference number Euclidean distance between ni and nj Interference set of a link Interference number of a link Interference number of a path Neighbor Discovery Acknowledgement timer Chosen transmission power Neighbor set of node a to the destination d E and PRnr BT BT aa 1 Pheromone entry value Probability of next hop Aggregation of local estimates Time to reach next hop a 1 Time to be sent for the number of packets in queue at the MAC layer Time taken by Backward ant to transmit a packet Time taken by one hop in unloaded conditions Interference number Transmission power BT amac T amac hop IN_NUM TP I. I.1. Introduction Mobile Ad Hoc Networks (MANET) A self-governing architecture with group of wireless mobile nodes is defined as the mobile ad hoc network (MANET) [1]-[19]. MANET has no fixed infrastructure, centralized administration and it forms transient network [1]. Each mobile node can act as a host and a router. These nodes are free to move randomly in the wireless links. Transmission is performed through multiple nodes, which is known as multihop routing. Since, mobile nodes are free to move randomly, MANET endure dynamic and unpredictable topology changes. Due to multihop behavior and less bandwidth availability, wireless link is answerable to noise fading and interference. Further, MANET mobile nodes have less CPU processing capability and low power storage [2] [17] [18]. MANET has a miscellaneous set of applications. The set includes military battlefield, cooperative information sharing, commercial sector and disaster management such as efforts in fire, disaster relief, flood and earthquake. Apart from global level, it is well used in local level namely small aircraft, conference hall and sports stadium [3]. I.2. Topology Control The set of transmission links among pair of nodes utilized either implicitly or explicitly by routing mechanism is termed as topology of a network. Manuscript received and revised March 2013, accepted April 2013 Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 1037 D. Manohari, G. S. Anandha Mala Due to dynamic nature of MANET, topology is subjected to more influences. The influences may be weather, interference, node mobility, and transmission power [4]. The process of selecting a suitable transmission power for each node is called topology control. While sustaining the network connectivity, topology control mechanism reduces energy consumption and signal interference [5]. Topology control has many advantages. First, it determines the energy efficient paths by conditioning the path with energy efficient properties [6]. Second, topology control lessens the usage of network resources such as battery power and downgrades the routing redundancy [4]. I.3. Topology Control Algorithms in MANET The transmission power of each node is adjusted by topology control algorithm. In MANET, topology control algorithms are broadly categorized into two types, namely centralized and distributed topology control algorithms [4]. In centralized topology control algorithm, an optimum network topology is estimated by considering location information of nodes in the other network. The estimation is done by any specific node. The distributed topology control algorithm maintains the network connectivity using partial link information (eg- neighbor count). Connectivity aware and capacity aware are the two types of distributed topology control algorithms. The network connectivity is optimized by connectivity aware algorithm and Capacity aware algorithm accomplished better capacity by driving down the network contention. random movement of nodes requires more energy in order to obtain energy efficient routes [2]. Further, multihop nature of ad hoc networks requires supplementary energy [6]. Due to dynamic nature of MANET, network topology is influenced by more factors such as multi channel communication, directional antennas, transmission power, weather, and node mobility [4]. I.6. Ant Colony Optimization (ACO) The Ant colony optimization (ACO) is constructed by inspiring foraging behavior of ants. In general, ants search for food by wandering randomly in the path. Once ant found its food, it returns to its colony by laying a chemical substance, which is called pheromone. Group of ants wander through different possible paths for the same food. The ants that find food in the shortest path, strengthens the path with more chemical substance (pheromone). This helps the other ants to follow the shortest path [14]. In ACO, two types of ants are used namely forward ants and backward ant. Forward ant is launched from any source node to randomly chosen destination node. The intermediate nodes help and coordinates forward ant to reach its destination node. The forward node keeps track of the paths that it has traversed. On reaching the destination, the forward ant changed into backward ant. It starts its travel to the source node by traversing in the reverse path. The backward ant determines the quality of the path, which is traversed by forward ant [15]. I.7. I.4. Fault Tolerant Topology Control In MANET, Topology control algorithms lessen the level of routing redundancy by reducing the number of links. This makes the networsk more vulnerable to failure/crashes. Even though failure of nodes is common in wireless networks, it can be precluded by incorporating appropriate level of fault tolerance in topology control algorithms. In the event of breakdown and over loading, fault tolerance increases the robustness of the network [7]. I.5. Issues of Fault Tolerant Topology Control in MANET Minimizing energy consumption (Topology Control) and ensuring fault tolerance are two important issues in ad-hoc wireless networks. Issues that complicates fault tolerant topology control are described below: Emerging critical applications and increasing number of failures make a way for more fault tolerant requirements. Therefore achieving both topology control and fault tolerant at hand is a fazing task [8]. Self-governing architecture of MANET allows mobile nodes to move randomly in the network. This Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Problem Identification There has been considerable work for fault tolerant topology control in the literature. In that, most of the works such as [6] has considered topology control as an energy-minimizing problem. Less works has considered topology control and fault tolerant problems simultaneously. In [11], Md. Ehtesamul Haque et al. have proposed fault tolerant interference-aware topology control protocol. In that, they did not mention any specific method to choose minimum interference path. Also, the authors did not enumerate any distinct protocol to generate topology. II. Related Work Andy An-Kai Jeng et al. [6] have generalized the rneighborhood graph into a more realistic power consumption model with independent parameter ru to each node u. For mobile nodes, they have also proposed an energy efficient maintenance protocol, which is to reduce the beacon power. Lastly, they have given an adaptive configuration rule is to configure the parameter for each node based on the node’s mobility and energy levels. Their protocol allows each node to decide whether International Review on Computers and Software, Vol. 8, N. 4 1038 D. Manohari, G. S. Anandha Mala to support energy efficient routing or conserve its own energy. Moreover, it can drastically shrink the broadcasting power of beacon messages for mobile nodes. Quansheng Guan et al. [9] have presented a novel Capacity-Optimized Cooperative (COCO) topology control scheme for MANETs with cooperative communications. They have formulated the topology control problem with only channel estimate available in COCO and they have designed as a discrete stochastic optimization problem. This discrete stochastic optimization problem can be solved using a stochastic approximation approach. Their approach has considered both upper layer network capacity and physical layer relay selection. With their scheme, relay selection is extended to a networkwide behavior considering network capacity. Liang Zhao et al. [10] have studied the topology control in mobile wireless ad hoc networks (MANETs). They have defined a mobility model, namely the constant rate mobile network model (CRMN), in which they have assumed that the speed and direction of each moving node are known. The goal of their topology control model is to minimize the maximum power used by any network node in maintaining a specified monotone graph property. Network connectivity is one of the most fundamental monotone properties. Under the CRMN model, they have developed polynomial time frameworks for solving both decision and optimization versions of topology control problems for monotone properties. Md. Ehtesamul Haque et al. [11] have formulated the problem of constructing minimum interference path preserving and fault tolerant wireless Adhoc networks. They have provided algorithms for both centralized and distributed with local information, to solve the problem. Moreover, they have conceived the concept of fault tolerant interference spanner and provided a local algorithm, which is used to construct spanner of a communication graph. Finally, they have introduced two algorithms namely centrally constructed minimum interference path preserving bi-connected topology (CMIBCN), which can be used for benchmarking purposes. The latter LMIBCN can be locally constructed which has similar characteristics of CMIBCN. Structures like LBIS are also interesting and important since topologies with spanner properties have useful applications. Stephen Gundry et al. [12] have analyzed the convergence of our GA-based topology control mechanism towards a uniform node distribution. According to their framework, mobile nodes adapt their speed and direction using limited information collected from local neighbors operating in unknown terrain. Based on their Dynamic System Model (DSM), they built a homogeneous and ergodic Markov chain to analyze the convergence of Force based Genetic Algorithm (FGA) using Dobrushin’s contraction coefficients. In their algorithm, nodes using shorter communication ranges require less movement and Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved converge faster. Larger communication ranges unnecessarily increase neighboring node communication, making convergence decisions harder and consumes more energy. Orhan Dengiz et al. [13] have proposed a new model to conceptualize an autonomous topology optimization for mobile ad hoc networks using multiple mobile agents. Agents have predefined wireless communication capabilities similar to the other nodes in the MANET; however, their movements, and thus their locations, are dynamically determined to optimize network connectivity. Further, they have introduced a new approach to measure connectivity using a maximum flow formulation. Their approach is both responsive and tractable. Furthermore, users’ locations are predicted for several time steps ahead and this is shown to improve network connectivity over the network operation period. A particle swarm optimization (PSO) algorithm uses the maximum flow objective to choose optimal locations of the agents during each time step of network operation. III. Fault Tolerant Topology Control in MANET using Ant Colony Optimization III.1. Overview In this paper, we propose swarm based fault tolerant topology control mechanism for MANET. Our mechanism provides topology control in terms of minimum transmission power and minimum interference. Initially, after nodes are deployed in the network, each node constructs neighbor set (NS) table by sending neighbor discovery message to all its neighbors. Minimum transmission power used by nodes is gathered by employing forward and backward ants. This minimum transmission power is updated in NS by ant agent. To provide fault tolerant path, each node calculates its interference number. The estimated interference number is collected by sending interference number packet and stored in NS table. Before transmitting the data packet, the source node selects the optimal path, which satisfies both minimum interference and minimum transmission power criteria. III.2. Estimation of Transmission Power Transmission power required to transmit a data packet from node i to node j is [7]: Trans Power (i, j) = γ × d β (i, j) (1) where, γ is a constant, d is the distance between node i and j, β is the path loss factor, (β ≥2). III.3. Interference Number Calculation Number of nodes that hinders the data transmission between two nodes over a bidirectional path is known as International Review on Computers and Software, Vol. 8, N. 4 1039 D. Manohari, G. S. Anandha Mala interference of a link. The interference of a path can be calculated as follows [11]. Consider network is designed as a communication graph G (V, E). Where, V represents nodes and E denotes the link. Let ni, nj, nk … nn-1 be the set of mobile nodes. During transmission of data from ni to nj, node ni may interfere the nodes that are nearer to ni and nj. Unidirectional interference set (UDI) contains the set of nodes that are interfered by ni’s transmission to nj. UDI (ni, nj) can be estimated by: UDI (ni, nj) = {nk ε V | dis (ni, nk) ≤ dis(ni, nj)} (2) where, nk is a neighbor node and dis (ni, nj) be the euclidean distance between ni, nj. Generally, UDI (ni, nj) and UDI (nj, ni) are not equal due to directional dependency. UDI (nj, ni ) comprises the set of nodes interfered by nj while communicating with ni and it can be symbolized as: UDI (nj, ni) = {nk ε V | dis (nj, nk) ≤ dis(nj, ni)} (3) Unidirectional interference number (UDN) is the number of nodes that are interfered by the transmission of ni to nj. The interference set of a link IL (ni, nj) can be formulated as: IL (ni, nj) = UDI (ni, nj) U UDI (nj, ni) (4) Interference number of a link (ni, nj) is represented as INL (ni, nj) and it is the cardinality of the set of interference link (IL). Consequently, INL (ni, nj) ≤ UDN (ni, nj) + UDN (nj, ni). The sum of interference numbers of all links along a path is termed as Interference number of a path (IP). The interference number of a path P1 is measured as: n 1 IP P1 III.4. Selecting Minimum Transmission Power and Interference Path Our proposed technique provides fault tolerant topology control in MANET in two stages. In first stage, we use Ant Colony Optimization approach to select minimum transmission power path between any source and destination. The second stage chooses fault tolerant path by finding minimum interference path. ACK nj Each node waits for a time twait to receive ACK message from all possible neighbors. After the expiration of twait, it constructs the neighbor set (NS) by retrieving the information from ACK messages. The NS table format is given below in Table I. Node ID Sequence Number TABLE I NS TABLE FORMAT Hop Chosen Count Transmission Power (CH Trans Power) Interference Number In the above table, CH Trans Power will be updated by ant agent and interference number by IN_NUM packets, which will be discussed in the later sections. III.4.2. Minimum Transmission Power Path Selection Using ACO Nodes in the network, periodically propagates forward ant (FA) to all neighbors in their NS table. An ant is originated in the transmission power, which is calculated using the formula depicted in section 3.2. This transmission power is termed as chosen transmission power (CH Trans Power). Each ant consist of a pheromone table, it enclose three fields as < node id, sequence number, CH Trans Power >. The design of pheromone table is shown below in Table II. Node ID i 1 NEI _ DIS nj ni (5) here, Li represents link and IP denotes Interference number of a path. III.4.1. ni n 1 INL Li,Li 1 | IL Li,Li 1 | i 1 Nodes that receive NEI_DIS message, sends back the ACK message. The ACK message holds node id, sequence number and hop count: TABLE II PHEROMONE TABLE Sequence Number CH Trans Power Here, node id represents receiving node id (Destination), Sequence number is used for monitoring the replicas of ant packet information, CH Trans Power is chosen transmission power to reach the destination. While traversing in the path, the FA checks for the information, if the pheromone information is available, the FA, F ds k chooses its next hop with the probability, PRnr [16]: 1 PRnd E and 1 E bda (6) bNS ad where, NS ad denotes neighbor set of node a to the Neighbor Set (NS) Construction Initially after all nodes are deployed in the network, each node broadcast NEI_DIS (Neighbor Discovery) message to discover its neighbors. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved destination node d , E and is the pheromone entry value which indicates the estimated value. μ1 parameter can lower the probing behavior of the ant. International Review on Computers and Software, Vol. 8, N. 4 1040 D. Manohari, G. S. Anandha Mala The FA on reaching every node in NS, it compares CH Trans Power with maximum transmission power (MAX_TRANS_POWER) and finally reaches its destination. If CH Trans Power is lesser than MAX_TRANS_POWER, it is converted into backward ant (BA). Otherwise the ant agent is discarded. The FA stores a δ list of nodes that it has traversed. The BA retraces a δ list of nodes to reach the source. The BA computes the time it would take to transmit a data packet through δ paths and reach its destination. This is used to update the NS table. The time estimation of BA is symbolized below [16]: Finally, the pheromone entry value is updated as: E and E and 1 R ad , 0 ,1 (11) whereas, , were commonly set to 0.7 during experiments. By reaching the sender node, the BA updates its pheromone values in NS table. The NS table contains CH Trans Power for all its neighbor nodes. An Ant agent based technique for selecting minimum transmission path is picturized in Fig. 1. Node 2, 3, 4 and 11 denotes the NS of the source node. n 1 BT BTaa1 (7) a 1 In the above equation, BT is the aggregation of local estimates BT aa 1 of the time to reach next hop a 1 ,which is calculated in each node a . BT aa 1 is the product of the average time estimations to send a packet BT amac , time to be sent the number of packets in queue at the MAC layer. The formulae to estimate BT aa 1 is depicted below: Fig. 1. Minimum transmission path selection BT aa 1 P amac 1 BT amac (8) III.4.3. Minimum Interference Path Selection In the fore mentioned equation, BT amac is measured as a running average of the time difference between the arrival of a packet at the MAC layer and successful transmission. Then, BT amac is estimated as: BT amac BT amac 1 T amac To find the minimum interference path, each node calculates interference number in correspondence with all nodes in its NS table. The interference number is calculated using the method mentioned in section 3.3. Every node sends IN_NUM (Interference number) packet to its neighbors in the NS: (9) ni This value is estimated at the MAC layer so it considers local congestion of a shared medium. T amac , is the time taken by the BA to transmit a packet from node a 0 ,1 . When the BA traverses in the reverse path, it updates the pheromone table entry. The pheromone entry value E and denotes the running average of the inverse of cost. Cost is considered in terms of estimated time and number of hops it required to reach its destination. The value used to update running average is estimated as: R ad BT ad h hop 2 1 (10) where, hop is the time taken by one hop in unloaded conditions and it is constant. R ad monitors the time estimates gathered by the BA and avoids larger oscillations. It also considers delay and hop count. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved IN _ NUM Nodes in NS IN_NUM packet contains two fields < neighbor id, interference number>. The first field neighbor id contains the node ids of its neighbors and the second field denotes interference number of nodes. An example of an IN_NUM packet is shown in Table III. TABLE III AN EXAMPLE OF IN_NUM PACKET IN_NUM Packet of Node i Neighbor ID’s j k l o r s Interference 0 2 3 4 3 5 Number t u 6 5 On receiving the IN_NUM packet, the intermediate node checks for its node id and update its interference number of that path. The intermediate node passes the IN_NUM packet to the next node in the list. If the received node is the last node of the list, then it updates the packet with its interference number and pass back to the sender in the reverse path. International Review on Computers and Software, Vol. 8, N. 4 1041 D. Manohari, G. S. Anandha Mala In Table III, when node i transmits data, node k interferes two nodes, node r interferes three nodes and node t, u interferes six, five nodes respectively. Once the sender gets back the IN_NUM packet, it retrieves the interference value of each node and stores them in NS table. III.4.4. Optimal Path Selection Optimal path from the source s to destination d can be obtained by relating both interference and transmission power values of nodes. Optimal path selection process is portrayed in the following algorithm (algorithm1). Algorithm 1 Step-1 Each node calculates its transmission power (described in section 3.2) Step-2 Each node computes its Interference number (mentioned in section 3.3) Step-3 Forward and backward ants are employed to collect CH Trans Power of nodes Step-4 Transmission power (TP) of each path is determined by aggregating the CH Trans Power values of all nodes in that path: TP (Pn) = CH Trans Poweri where, i= 1, 2, 3…n=1, 2, 3… Step-5 Node’s interference numbers are accumulated by sending IN_NUM message packets. Step-6 Interference number (IPn) of each path is calculated (as per Eq (5)) Step-7 Select the path that satisfies: Popt= min {TP (Pn)} and min {IPn} Step-8 The path (Popt) is selected for data transmission form the source to the destination. In Fig. 2, nodes 2, 3, 4… 14 are deployed randomly. P1, P2, P3 and P4 are paths that connect source and destination. S- 6- 8- D is the optimal path and it satisfies both minimum transmission power and minimum interference. Fig. 2. Optimal path selection The number of nodes is varied as 20,30,40,50 and 60. In our simulation, the channel capacity of mobile hosts is set to the same value: 2 Mbps. We use the distributed coordination function (DCF) of IEEE 802.11 for wireless LANs as the MAC layer protocol. The simulated traffic is Constant Bit Rate (CBR). The following table summarizes the simulation parameters used: No. of Nodes Area Size Mac Simulation Time Traffic Source Transmit Power Receiving Power Idle Power Initial Energy Number of Flows 20,30,40,50 and 60. 1000 × 1000 802.11 100 s CBR 0.660 W 0.395 W 0.035 W 10.3 J 2,4,6,8 and 10 IV.2. Performance Metrics We compare the performance of our proposed SwarmFTC with the LMIBCN method [11]. We evaluate mainly the performance according to the following metrics: Packet Delivery Ratio: It is the total number of packets received by the receiver during the transmission. Average end-to-end delay: The end-to-end-delay is averaged over all surviving data packets from the sources to the destinations. Average Energy Consumption: The average energy consumed by the nodes in receiving and sending the packets. IV.3. Results IV. Simulation Results IV.1. Simulation Parameters We evaluate our Swarm Based Fault-tolerant Topology Control (SwarmFTC) technique through NS-2 [17] simulation. We use a bounded region of 1000 × 1000 sqm, in which we place nodes using a uniform distribution. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved A. Based on Nodes In our initial experiment we vary the number of nodes as 20, 30, 40, 50 and 60. From Fig. 3, we can see that the average end to end delay of our proposed SwarmFTC is less than the existing LMIBCN protocol. From Fig. 4, we can see that the packet delivery ratio of our proposed SwarmFTC is higher than the existing LMIBCN protocol. International Review on Computers and Software, Vol. 8, N. 4 1042 D. Manohari, G. S. Anandha Mala Flow s Vs DeliveryRatio Nodes Vs Delay 10 DeliveryRatio Delay(Sec) 15 Sw armFTC LMIBCN 5 0 20 30 40 50 1.5 1 Sw armFTC LMIBCN 0.5 0 60 2 4 8 10 Fig. 3. Nodes Vs Delay Fig. 7. Flows Vs Delivery Ratio Nodes Vs DeliveryRatio Flow s Vs Energy 0.6 15 0.4 Sw armFTC 0.2 LMIBCN 0 10 Sw armFTC LMIBCN 5 0 20 30 40 50 60 2 4 Nodes 10 Sw armFTC LMIBCN 5 0 40 10 From Fig. 6, we can see that the average end to end delay of our proposed SwarmFTC is less than the existing LMIBCN protocol. From Fig. 7, we can see that the packet delivery ratio of our proposed SwarmFTC is higher than the existing LMIBCN protocol. From Fig. 8, we can see that the energy consumption of our proposed SwarmFTC is less than the existing LMIBCN protocol. 15 30 8 Fig. 8. Flows Vs Energy Nodes Vs Energy 20 6 Flow s Fig. 4. Nodes Vs Delivery Ratio Energy(J) 6 Flow s Energy(J) DeliveryRatio Nodes 50 60 Nodes V. Fig. 5. Nodes Vs Energy From Fig. 5, we can see that the energy consumption of our proposed SwarmFTC is less than the existing LMIBCN protocol. B. Based on Flows In our second experiment we vary the number of flows as 2, 4, 6, 8 and 10. Delay(Sec) Flow s Vs Delay 10 8 6 4 2 0 Sw armFTC LMIBCN 2 4 6 8 10 Flow s Fig. 6. Flows Vs Delay Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Conclusion In this paper, we have proposed swarm based fault tolerant topology control in MANET. Our proposed algorithm provides fault tolerant topology control in MANET. First, Ant Colony Optimization approach is used to select minimum transmission power path between any source and destination. Further, fault tolerant path is identified by estimating minimum interference path. Initially, each node constructs its neighbor set by sending neighbor discovery message to its neighbors. We use forward and backward ants to gather and update nodes minimum transmission power. Meanwhile, each node calculates its interference number and they are updated in neighbor set table using interference number message. Before transmitting data to the destination, the source node finds multiple paths and calculates aggregate transmission power and interference value along each path. Finally, chooses the optimal path that satisfies both minimum interference and minimum transmission power. By simulation, we have shown that, our mechanism reduces the energy consumption and delay while International Review on Computers and Software, Vol. 8, N. 4 1043 D. Manohari, G. S. Anandha Mala maximizing the packet delivery ratio when the network size and number of flows are increased. [19] Network Simulator: http:///www.isi.edu/nsnam/ns Authors’ information References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] Fujian Qin, “QoS Topology Control with Energy Efficiency for MANET”, Journal of Convergence Information Technology, 2011 Abdullah, Sohail Jabbar, Shaf Alam and Abid Ali Minhas, “Location Prediction for Improvement of Communication Protocols in Wireless Communications: Considerations and Future Directions”, Proceedings of the World Congress on Engineering and Computer Science, (WCECS ‘11), Vol-2, 2011 Calin Curescu and Simin Nadjm-Tehrani, “A bidding algorithm for optimized utility-based resource allocation in ad hoc networks”, IEEE Transactions on Mobile Computing, pp- 1397 – 1414, Volume- 7, Issue- 12, 2008. Gaurav Srivastava, Paul Boustead and Joe F.Chicharo, “A Comparison of Topology Control Algorithms for Ad-hoc Networks”, Proceedings of the 2003 Australian Telecommunications, Networks and Applications Conference, 2003. Fei Dai and Jie Wu, “View Consistency for Reliable Topology Control in Mobile Ad Hoc Networks”, IEEE Global Telecommunications Conference, (GLOBECOM '05), 2005 Andy An-Kai Jeng, and Rong-Hong Jan, “Adaptive Topology Control for Mobile Ad Hoc Networks”, IEEE Transactions on Parallel and Distributed Systems, 2011 Harichandan Roy, Shuvo Kumar De, Md.Maniruzzaman, and Ashikur Rahman, “Fault-tolerant Power-aware Topology Control for Ad-hoc Wireless Networks”, Proceedings of Lecture Notes in Computer Science , Springer, 2011 Renato E. N. Moraes, Celso C. Ribeiro and Christophe Duhamel, “Optimal Solutions for Fault-Tolerant Topology Control in Wireless Ad Hoc Networks”, IEEE Transactions on Wireless Communications, 2009 Quansheng Guan, F. Richard Yu and Shengming Jiang, “Capacity-Optimized Topology Control for MANETs with Cooperative Communications”, IEEE Transactions on Wireless Communications, 2011 Liang Zhao, Errol L. Lloyd and S. S. Ravi, “Topology Control in Constant Rate Mobile Ad Hoc Networks”, ACM Journal of Wireless Networks, Volume 16, Issue 2, February 2010 Md. Ehtesamul Haque and Ashikur Rahman, “Fault Tolerant Interference-Aware Topology Control for Ad Hoc Wireless Networks”, ADHOC-NOW 2011, SPRINGER, pp. 100–116, 2011. Stephen Gundry, Elkin Urrea, Cem S¸Afak S¸ ahin, Jianmin Zou, M. and U¨ Mit Uyar, “Formal Convergence Analysis for Bioinspired Topology Control in MANETs”, 34th IEEE Sarnoff Symposium, pp-1 – 5, 2011 Orhan Dengiz A, Abdullah Konak B and Alice E. Smith, “Connectivity management in mobile ad hoc networks using particle swarm optimization”, ELSEVIER AdHoc networks, pp1312–1326, 2011 Vasundhara Uchhula and Brijesh Bhatt, “Comparison of different Ant Colony Based Routing Algorithms”, International Journal of Computer Applications, pp-97–101, 2010 M. Heissenbüttel and T. Braun, “Ants-Based Routing in Large Scale Mobile Ad-Hoc Networks”, http://www.iam.unibe.ch/~heissen/Papers/KIVS03_Final.pdf, 2003 Frederick Ducatelle, Gianni Di Caro and Luca Maria Gambardella, “Ant Agents for Hybrid Multipath Routing in Mobile Ad Hoc Networks”, Proceedings of the ACM Second Annual Conference on Wireless On demand Network Systems and Services (WONS), Switzerland, 2005. Med Amnai, Y. Fakhri, J. Abouchabaka, Adaptive Fuzzy Mobility for Delay and Throughput Sensitive Traffic in Ad Hoc Networks, (2012) International Review on Computers and Software (IRECOS), 7 (3), pp. 965-971. Hualong Jiang, Shuai Zhang, Guangtao Shao, Group Mobility Judge Based on Node’s Neighbors Matrix in Clustering MANET, (2012) International Review on Computers and Software (IRECOS), 7 (6), pp. 2886-2890. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved D. Manohari received MCA degree from Bharathidhasan University in 1996, and M.E degree in Anna University of Chennai in 2007. Currently She is working as an Assistant Professor in the department of MCA in St.Joseph’s College of Engineering, Chennai, India. She has 12 years of teaching experience on both graduate and post-graduate level. Her area of interest includes Wireless networks, Algorithms, Data structures and Genetic Algorithms. Dr. G. S. Anandha Mala received B.E degree from Bharathidhasan University in Computer Science and Engineering in 1992, M.E degree in University of Madras in 2001 and Ph.D degree from Anna University in 2007. Currently she is working as Professor in St.Joseph’s College of Engineering, Chennai, India, and heading the department of Computer Science and Engineering. She has published 24 technical papers in various international journal/conferences. She has 18 years of teaching experience on both graduate and post-graduate level. Her area of interest includes Natural Language Processing, Software Engineering, Data Mining, Image Processing and Grid Computing. International Review on Computers and Software, Vol. 8, N. 4 1044 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 A Bayesian Classification Approach for Handling Uncertainty in Adaptive E-Assessment V. Geetha1, D. Chandrakala2, R. Nadarajan3, C. K. Dass1 Abstract – New technologies have provided the educational field with innovations that allow significant improvement in the teaching learning process. The development of information technology has increased the popularity of Web based education, ; particularly E-assessment This paper provides an overview of Bayesian Network and its application to handle uncertainty in adaptive E-assessment. An adaptive assessment system was realized in PHP and MYSQL. The empirical data was collected and the relationship between the response time and the assessment grading was established. The classifier accuracy obtained using Bayesian classifier was compared with C4.5 Decision tree algorithm and Naïve Bayes classifier. The superiority of Bayesian algorithm over the well known algorithms in handling uncertainty of adaptive assessment data is established in this paper. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Adaptive Assessment, Degree of Toughness (DT), Bayesian Network, Naive Bayes Classifier, Classifier Accuracy, F-Measure, Area Under Curve (AUC) Nomenclature P(Ci/Y) fi yi TP TN FP FN Posterior Probability Predicted value Actual value True positive True negative False positive False Negative I. Introduction The rapid growth of Internet technologies has brought in significant improvements in the teaching learning process. Assessment is an integral part of learning and plays a significant role in education. Automated testing systems generate a great deal of valuable information which can be used to analyze the performance of the students. Adaptive testing is a form assessment in which the tests are tailored to the individual’s ability. One of the critical challenges of E-Assessment lies in its intelligence factor, on how well it can make decisions just like a human instructor. The main objective of adaptive assessment is to conduct an optimal test for all the students. In conventional tests, the same sets of questions are administered to all the students. Students get frustrated when the difficulty of the questions is higher than their ability level and bored if it is lower than their ability [1]. But in the procedure of adaptive testing, the questions will be generated based on the individual ability of the student. This will result in generating different sets of questions for different students, keeping their enthusiasm to face the test steadily. Manuscript received and revised March 2013, accepted April 2013 If the student gets correct answer for a question, the computer will then select the next question from a higher difficulty level; otherwise the next question will be from a lower difficulty level. Students do not waste their time attempting questions which are either very trivial or very difficult to their ability. The student’s proficiency in a subject will be assessed with a fewer questions than in conventional tests. A finer discrimination in all ranges of performance is possible in adaptive strategy. Adaptive assessment is an optimal way of testing for every individual student, in specific, when the instructor has to monitor the learning path that tailors to distinct users with different interests. This will improve the effectiveness of the assessment. Some of the work done in adaptive assessment is as follows: Wen Chin Chang et al. [2] have applied Item Response Theory (IRT) for student ability estimation in E-learning and they have used K-means clustering algorithm to cluster the learner’s abilities. Catherine C. Marinagi et al. [1] have proposed architecture for an adaptive assessment tool using client server platform. The emphasis for selecting has been suggested using the technique of Bayesian model. They have also demonstrated a framework [3] for adaptive multiuser web based assessment using Bayesian decision theory and then to classify the students into two categories namely “masters” and “non-masters”. Mansor Ali [4] has justified that adaptive testing will shorten the test duration, will offer flexible testing, and better balancing of test content for all ability levels. They have used least square method to estimate the difficulty level of each question. Mariana Lilley [5] in her PhD thesis has explored the issues on the use of computer aided assessment in higher education of U.K. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 1045 V. Geetha, D. Chandrakala, R. Nadarajan, C. K. Dass She has used three parameter logistic model of IRT to estimate the test takers ability which is used to generate subsequent test items. Also an automatic feedback prototype is integrated with this approach to know the students’ attitude about the approach. In adaptive assessment with multiple choice questions, there is a possibility of students making wild guesses to provide the answer for the questions. Guessing is one of the areas which lead to confusion. So assessing the performance of students’ based only on the total marks/grade will not be appropriate. Therefore multiple measures have to be taken into consideration while evaluating the students’ performance. A classification of performance is needed not only based on the mark scored but also on the time taken to answer the questions at each DT level. But there is an inconsistency between the response time to answer the questions and the grade scored. There might be few students who would have taken the same time to answer the questions at each DT level, but scored different grades, thus leading to uncertainty. Thus it becomes very difficult to classify the performance of the students based on the response time and the grade scored using conventional data mining techniques. Today’s technology has paved way for exploring new tasks in E-assessment and incorporating powerful scoring and reporting mechanisms. Bayesian Networks is a popular Artificial Intelligence technique for representing and reasoning with uncertain knowledge and hence was chosen for data analysis in adaptive EAssessment. Bayesian Networks has been extensively used in education, medical diagnosis, software reliability, data compression, fraud detection etc. Nguyen et al. [6] in their paper have applied Bayesian approach in the field of education. They have compared the accuracy of the Decision Tree and Bayesian Network algorithms for predicting the academic performance of undergraduate and postgraduate students and have shown that decision tree algorithms was more accurate for predicting the student performance. An approach has been proposed by Bidgoli et al.[7] to classify students to predict their final grade based on the data collected from education web based system. They have made a comparative study of few non parametric pattern classifiers. Conati et al. [8] have implemented Bayesian network to deal with high level of uncertainty in homework related activities. Bekele and Menzel [9] in their paper have demonstrated an application of the Bayesian approach in the field of education and have shown that the Bayesian network classifier has a potential to be used as a tool for prediction of student performance. Aloraini [10] has made a comparative study of different algorithms to predict a benign from malignant cancer and has shown that Bayesian network is significantly better than other algorithms. Good deals of research work in the application of Bayesian Networks in other areas are discussed in [11] [15]. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved The main contribution of the paper is to provide an insight into the process of applying data mining techniques to handle uncertainty in the data collected as a part of conducting adaptive E-Assessment. The organization of the paper is as follows: Section 2 discusses about the theoretical aspects of Bayesian Network classification which are relevant to the proposed work. Section 3 describes the adaptive strategy developed for E-assessment. Experimental results and analysis and comparison with C4.5 algorithm are discussed in Section 4. Section 5 concludes the work and discusses the scope for future work. II. Bayesian Networks Classification is basic task in data analysis used to extract models that are used to predict future data trends. Bayesian classifiers are statistical classifiers predicting class membership probabilities. They describe the probability distribution governing a set of variables. They specify a set of conditional independence assumptions along with a set of conditional probabilities. It refers to a type of model that uses Directed Acyclic Graphs (DAGs) where nodes represent features and arcs represent the causal relationships between them. There is one conditional probability table (CPT) for each node given its parents. If the node has no parents, then the probability distribution is unconditional; otherwise it is conditional, where the probability of each feature value depends on the values of its parents. The graph represents the qualitative component of the network whereas the tables represent the quantitative component of the network. Bayesian classification is a two steps process: i. Constructing the network structure. ii. Estimating the probability distribution (CPTs). The class that maximizes the posterior probability distribution P (Ci / Y) which is given by (1): P Ci / Y P C j / Y for i ≤ j ≤ m, j≠ i (1) where the posterior probability is given by (2): P Ci / Y P Y / Ci P Ci / P Y (2) Since it would be computationally expensive to compute P (Y /Ci) for a data set with many attributes, the concept of class conditional independence is considered. It assumes that the values of attributes are conditionally independent of each other, given the class label of the tuple. P(Ci/Y) is given by (3): n P Ci / Y P Yk / Ci (3) i 1 The probabilities P (y1/Ci), P(y2/Ci)…P (yn/Ci) can be estimated from the training set tuples. International Review on Computers and Software, Vol. 8, N. 4 1046 V. Geetha, D. Chandrakala, R. Nadarajan, C. K. Dass Since it is not possible to enumerate all the possible DAGs in Bayesian network structure learning, heuristic methods have to be applied to implement a procedure for searching among possible structures. The K2 algorithm is a greedy search algorithm that learns the network structure of the Bayesian Network from the data presented to it. The procedure starts by assuming that a node has no parents. Then it adds incrementally the parent and if the addition increases the probability of the resulting structure the structure is maintained. The algorithm stops adding parents to the nodes when the addition of a single parent cannot increase the probability of the network given the data. K2 assumes that all values are distinct. It requires a fixed ordering of the nodes, such that each node will only be considered as a possible parent of the nodes that appear later in the ordering. Naïve Bayes Classifier is a variant of Bayesian network with the simple structure that has the class node as the parent node of all other attributes. The naive bayes algorithm builds a probabilistic model by learning the conditional probabilities of each input attribute given a possible value taken by the output attribute. This model is then used to predict an output value when we are given a set of inputs. This is done by applying Bayes' rule on the conditional probability of seeing a possible output value when the attribute values in the given instance are seen together. The next sections describe the adaptive strategy followed for E-Assessment and the creation of a knowledge base. III. Proposed Method This section describes the adaptive strategy followed for E-Assessment and the creation of a knowledge base. Application has been developed using PHP software as the front end and MySQL at the back end database server to implement the procedure. III.1. Adaptive E-Assessment Procedure Case 3: This case relates to the situation where the student answers either one or two questions correctly out of the first three questions from the kth DT. The system exhibits one more question from the same DT. Thus the student encounters a total of four questions. A total of three correct answers shifts to (k+1)th DT, provided k ≠ 5; otherwise to (k-1)th DT provided k ≠ 1. Case 4: In case student answers two questions correctly out of the first four questions from the kth DT, one more question from the same DT is given. A total of three correct answers out of five given questions, shifts to (k+1)th DT; otherwise to (k-1)th DT. However shifting to a higher or lower DT does not take place when k=5 or k=1 respectively. Note: It is to be noted that once the student answers any question, he will be placed in the next question. There is no possibility of retracting the question already answered. III.1.1. Evaluation Procedure The marks for a question in each DT are given in Table I. It provides the DT and the proposed marks as per the technique adopted in the model. DT level Mark TABLE I MARKS FOR EACH DT 1 2 3 0.2 0.4 0.6 4 0.8 5 1.0 The maximum marks and the duration of the examination can be set according to the needs of the subject. The test will get terminated either on the expiry of the time frame or the student has attempted all the questions prescribed for the maximum marks, whichever occurs earlier. The score and the number of DT – wise questions asked and answered get displayed at the end of the test. III.2. Knowledge Base Creation The model for conducting online tests using adaptive strategy is given below. The interesting aspect of this model is that it allows the student to initially opt for the DT of the questions soon after he logs into the system of examination. If he opts for the kth DT (k=1, 2, 3, 4, 5) the system will start displaying the questions randomly from the kth DT for which the student answers. Case 1: If the student answers the first three questions of the kth DT correctly, the system will automatically shift to (k+1)th DT provided k ≠ 5. When k = 5, the system continues to ask questions from the same level. Case 2: In case the student answers all the three questions of the kth DT incorrectly, the system will automatically shift to ((k-1))th DT provided k ≠ 1. It follows from the earlier logic the system continues to display from the 1st DT irrespective of the number of wrong answers provided. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved A question bank for C-Programming language was created by collecting questions from course experts A conventional test (where each of the questions in the question bank have to be answered by all the students) was given to a group of students. Calibration was done with the proportion of the examinees who answered each question correctly to the total population, based on which the questions were initially classified into various levels of DT ranging from 1 to 5 (1–very easy and 5 – very difficult). The test was conducted for nearly 500 undergraduate and postgraduate students from different branches of an Engineering college and the response time (in seconds) for answering each question was captured. The average time taken to give response to questions in each DT for correctly answering as well as wrongly answering was calculated. The sample data is shown in Table II. International Review on Computers and Software, Vol. 8, N. 4 1047 V. Geetha, D. Chandrakala, R. Nadarajan, C. K. Dass TABLE II ADAPTIVE ASSESSMENT SAMPLE DATA SET Roll No. (Student_id) DT1_CA DT2_CA DT3_CA DT4_CA DT1_WA DT2_WA DT3_WA 08ece101 42.000 50.167 79.000 110.500 165.000 0.000 52.667 08ece102 0.000 44.923 59.333 0.000 0.000 51.000 89.889 08ece47 28.333 27.000 58.833 72.667 27.500 0.000 57.333 08ece135 26.667 34.167 49.500 44.000 34.000 18.333 62.800 08ece26 48.000 48.333 68.250 38.000 129.556 56.667 84.400 08ece79 16.000 26.500 73.600 10.000 31.800 30.000 66.600 08ece04 55.000 76.455 123.000 0.000 105.200 36.167 71.333 08ece119 19.286 70.714 54.200 69.000 60.000 101.833 81.000 08ece14 26.333 23.000 63.556 24.000 0.000 0.000 52.000 08ece17 36.333 107.000 128.667 75.200 29.000 0.000 45.000 DTi_CA - Average time ( in seconds) taken to answer the questions correctly at DT level i ( i = 1,2,…5) DTi_WA - Average time ( in seconds) taken to answer the questions wrongly at DT level i ( i = 1,2,…5) Tot_time - The total time ( in seconds) taken to complete the test IV. DT4_WA Tot_Time 40.000 0.000 34.600 73.000 105.000 155.000 0.000 30.500 74.375 117.000 1802 1851 1190 1292 2780 1440 2834 2146 1391 2181 IV.1.1. Discretization of E-Assessment Data Using Equal Frequency Binning Algorithm Experimental Setup and Results The data collected from the above E-Assessment model was analyzed using Bayesian Network and Naïve Bayes Classifier using WEKA open source data mining tool. The results obtained by these algorithms were compared with C4.5 Decision Tree algorithm. C4.5 algorithm constructs decision trees by using features to try and split the training set into positive and negative examples until it achieves high accuracy on the training set. Bayesian network was chosen because it gives equal importance to all the attributes. Naïve Bayes Classifier represents each class with a probabilistic summary, and finds the most likely class for each example it is asked to classify. Some classification algorithms can handle only nominal attributes. They cannot handle the attributes measured on a numeric scale. So these attributes have to be discretized into a small number of distinct ranges. One way of discretising a numeric attribute is by using equal frequency binning technique, which is a simple, unsupervised technique that considers all attributes at the same time and produce discretization intervals in such a way that there are equal numbers of objects in each interval. In the proposed work, E-Assessment data is discretized using equal frequency binning algorithm. Table III shows the discretized data generated by using equal frequency binning algorithm. IV.1. Data Preprocessing IV.2. Classification Methods A considerable amount of preprocessing needs to be done before modeling the data. Data preprocessing is an important step in data mining which transforms data into a format more effective for processing. Data preprocessing includes data cleaning, normalization, transformation, reduction, feature extraction and selection etc. When data is preprocessed, it is necessary to reduce the large number of attributes into a smaller set. The next section discusses about how data preprocessing is carried out for the E- Assessment data. Classification is a data mining algorithm which is used to extract models that describe important data classes. They have been used in a wide variety of applications in different fields. It is not possible for a single classification algorithm to give good results in all the cases. The choice of an optimal classification algorithm highly depends on the problem domain. In adaptive testing, the students were initially classified into 4 categories namely Excellent (O), Very Good (A), Good (B) and Average (C) based on the total mark scored in the test. TABLE III DATA AFTER DISCRETIZATION USING EQUAL FREQUENCY BINNING ALGORITHM RollNo DT1_CA DT2_CA DT3_CA DT4_CA DT1_WA DT2_WA DT3_WA DT4_WA Tot_time 08ece101 08ece102 08ece47 08ece135 08ece26 08ece79 08ece04 08ece119 08ece14 08ece17 [39.16, *) [*, 22.80) [22.80, 39.16) [22.80, 39.16) [39.16, *) [*, 22.80) [39.16, *) [*, 22.80) [22.80, 39.16) [22.80, 39.16) [30.58, 60.44) [30.58, 60.44) [*, 30.58) [30.58, 60.44) [30.58, 60.44) [*, 30.58) [60.44, *) [60.44, *) [*, 30.58) [60.44, *) [76.30, *) [59.08, 76.30) [*, 59.08) [*, 59.08) [59.08, 76.30) [59.08, 76.30) [76.30, *) [*, 59.08) [59.08, 76.30) [76.30, *) [70.83, *) [*, 17.00) [70.83, *) [17.00 70.83) [17.00, 70.83) [*, 17.00) [*, 17.00) [17.00, 70.83) [17.00, 70.83) [70.83, *) [82.60, *) [*, 28.25) [*, 28.25) [28.25, 82.60) [82.60, *) [28.25, 82.60) [82.60, *) [28.25, 82.60) [*, 28.25) [28.25, 82.60) [9.16, 43.58) [43.58, *) [*, 9.16) [9.16, 43.58) [43.58, *) [9.16, 43.58) [9.16, 43.58) [43.58, *) [*, 9.16) [*, 9.16) [*, 55.00) [76.16, *) [55.00, 76.16) [55.00, 76.16) [76.16, *) [55.00, 76.16) [55.00, 76.16) [76.16, *) [*, 55.00) [*, 55.00) [32.55, 89.68) [*, 32.55) [32.55, 89.68) [32.55, 89.68) [89.68, *) [89.68, *) [*, 32.55) [*, 32.55) [32.55, 89.68) [89.68, *) [1416, 2164) [1416, 2164) [*, 1416) [*, 1416) [2164, *) [1416, 2164) [2164, *) [1416, 2164) [*, 1416) [2164, *) Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1048 V. Geetha, D. Chandrakala, R. Nadarajan, C. K. Dass But there exists an inconsistency between the time taken to answer the questions and the grade scored. There might be few students who would have taken the same time to answer the questions at each DT level, but scored different grades, thus leading to uncertainty. Thus it becomes very difficult to classify the performance of the students based on the answering time and the grade scored using conventional data mining techniques. Therefore multiple measures have to be taken into consideration while evaluating the students’ performance. Fig. 2. Conditional Probability Table for the Bayesian Network IV.2.1. Bayesian Network Classifier Bayesian network is a powerful classification tool which can represent exponentially-sized probability distributions compactly and the inference on these probabilities can be performed without explicitly constructing them. Fig. 1 shows the Bayesian Network graph with dependencies among the independent attributes for the adaptive E-Assessment data generated by Weka. The nodes in the network correspond to the attributes while the edges between the nodes represent probabilistic dependencies among the corresponding attributes. The graphical structure of the Bayesian Network has got an associated joint probability for each variable in the diagraph and is specified by a set of conditional probability distribution (CPD) as shown in Fig. 2. The CPD is represented as CPT, which lists the probability that each child node takes on each of its different values for each combination of values of its parents. The joint probability distribution captures the probabilities associated with every possible combination of atomic events that could occur in that domain and can be used to answer any probabilistic query. IV.2.2. Naive Bayes Classifier The Naïve Bayes algorithm is a special case of Bayesian network which assumes that the attributes in the training are independent of each other. It uses a set of training examples to classify a new instance given to it using the Bayesian approach. The Bayes rule is applied to find the probability of observing each output class given the input attributes and the class that has the highest probability is assigned to the instance. The Naive Bayes graph for the adaptive assessment as generated by Weka is shown in Fig. 3. Fig. 3. Graphical Structure of Naïve Bayes Network The probability values used are obtained from the counts of attribute values seen in the training set. Fig.4. illustrates the probability distribution table for the Naïve Bayes classifier. Fig. 4. Conditional Probability Table for Naïve Bayes Classifier The results obtained using Bayesian Network and Naïve Bayes were compared with the well know C4.5 algorithm. IV.2.3. C4.5 Decision Trees Fig. 1. Graphical Structure of a Bayesian Network Prob(DT2_CA= [52.88100, *] | Grade=’C’, DT1_CA= [*, 23.11110] ) = 0.5 Decision trees are powerful tools for classification and prediction. C4.5 is an inductive learning algorithm designed by Quinlan. The goal is to create a model that predicts the value of a target variables by learning simple decision rules inferred from the attributes. It constructs the tree starting from a training set. It uses divide and conquer strategy to create a tree structure which represents the rules. It calculates the information gain for Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 In Fig. 2, the conditional probability is represented as: Prob(DT2_CA= [27.14290 , 52.88100] | Grade=’O’, DT1_CA= [*, 23.11110] ) = 0.571 1049 V. Geetha, D. Chandrakala, R. Nadarajan, C. K. Dass each attribute and then selects the attribute with the highest information gain. Precision is the proportion of predicted positives which are actually positive and is given by (5): Precision = TP / (TP + FP) IV.3. Evaluation of the Proposed Model Assessment of prediction accuracy is an important aspect of classification. The classifier’s performance can be analyzed and compared by the measures generated by the confusion matrix [16]. Using the generated rule set, the test data is to be checked for the accuracy of the rules. A confusion matrix displays the number of correct and incorrect predictions made by the rules on the test data. A classifier has got 4 outcomes. If the instance is positive and it is classified as positive, it is taken as a true positive (TP); if it is classified as negative, it is taken as a false negative (FN). If the instance is negative and it is negative, it is counted as a true negative (TN); if it is classified as positive, it is counted as a false positive (FP). Accuracy is the proportion of instances whose class the classifier can correctly predict and is calculated by (4): (4) The accuracy percentage of the three algorithms is given in Table IV. It can be seen that Bayesian Network achieved the highest accuracy among the three algorithms. However C4.5 decision tree algorithm has lowest accuracy. Fig. 5 gives the graphical representation of performance of classifiers evaluated. But measuring accuracy alone is not sufficient to assess the real performance of a classifier, because it will yield misleading results if the data set is unbalanced. Other commonly used measures for evaluation of classifiers are Precision, Recall, F-measure, Kappa Statistic and Receiver Operating Characteristic (ROC) curve area. 34.68 100 80 60 40 20 0 % incorrectly classified Bayesian Network F-Measure combines precision and recall into a single measure of performance and is given by (8): F-Measure = 2 × ((precision × recall)/ (precision + recall)) (8) Kappa Statistic is a measure of the agreement between the predicted and the actual classifications in a dataset. Conventionally, a Kappa of <0.2 is considered poor agreement, 0.21-0.4 fair, 0.41-0.6 moderate, 0.61-0.8 strong, and more than 0.8 near complete agreement. [17][18]. Receiver operating characteristic (ROC) curves are useful for assessing the accuracy of predictions. It is a graphical representation for comparing predicted and actual target values in a classification model. ROC curves investigate the relationship between sensitivity and specificity. Sensitivity (True positive rate) and specificity (true rate) classifies the proportion of negatives correctly classified. The ROC curve is constructed by plotting sensitivity vs. 1-specificity. Once the values of sensitivity and specificity are plotted, the ROC area metric is calculated. It is used to measure the performance of a test. The ROC area of a classifier is equivalent to the probability that the classifier will rank a randomly chosen positive instance higher than a negatively chosen instance. AUC values range from 0.5 to 1 and the larger the AUC the better will be the overall performance of the adaptive test to correctly classify the students. The various measures associated with classification are summarized in Table V. TABLE V PRECISION, RECALL, F –MEASURE AND ROC AREA VALUES % correctly classified C4.5 (7) Naïve Bayes Fig. 5. Classifier Accuracy Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved C4.5 Bayesian Network Naïve Bayes 0.111 0.333 0.167 0.1 0.5 0.891 0.887 0.888 0.846 0.977 0.654 0.68 0.653 0.529 0.889 ROC Area 65.33 Specificity = TN / (TN + FN) Kappa Statistic 11.33 Specificity tells how good a test is avoiding false alarms and is given by (7): F_Measure 88.67 (6) Recall Value C4.5 Bayesian Network Naïve Bayes Recall = TP / (TP + FN) Precision Algorithm TABLE IV OUTPUT FOR ACCURACY PERCENTAGE % correctly % incorrectly classified classified 33.33 66.67 Recall (Sensitivity) is the proportion of real positive cases that are correctly predicted positive. Sensitivity predicts how good a test is at detecting positives and is given by (6): Algorithm Accuracy = (TP + TN) / (TP + TN + FP + FN) (5) International Review on Computers and Software, Vol. 8, N. 4 1050 V. Geetha, D. Chandrakala, R. Nadarajan, C. K. Dass Value 1.2 1 0.8 TABLE VI ERROR MEASURES OF CLASSIFICATION Algorithm MAE RMSE C4. 5 0.3672 0.4285 Bayesian Network 0.1518 0.2342 Naïve Bayes 0.2365 0.3361 Value The graph for the various measures for each of the algorithm is given in Fig. 6. F-measure is used to determine the best classification among all the algorithms. The classification with the highest F-measure score is regarded as the best classification. It can be seen from Table V that Bayesian algorithm has got the highest F-measure as well as the ROC area and therefore it is concluded that Bayesian Classification is a promising methodology for handling uncertain data in adaptive Eassessment. C4.5 0.6 C4.5 Bayesian Netwo rk Naïve Bayes Mean Absolute Errorr Bayesian Network Naïve Bayes 0.4 0.2 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Root Mean Squared Error 0 P n io cis e r ll ca Re Fig. 7. Graphical Representation of Error Measures re ti c ea su tis Ar a a e t C M aS RO F_ pp a K V. Fig. 6. Various classification measures In addition to the classification error, the evaluation modules also predict the various error measures which are used to find out how far the predicted value is from the actual value. Mean Absolute Error (MAE) is the average of difference between predicted and actual value in all test cases. The formula for calculating MAE is given in (9): MAE 1 n n fi yi i 1 1 n n ei (9) i 1 where fi is the prediction and yi the true value. Root Mean Squared Error (RMSE) is used to measure differences between values predicted by a model and the values actually observed. It is calculated by taking the square root of the mean square error as shown in (10): n RMSE i 1 X obs,i X mo del ,i 2 n (10) where Xobs is observed values and Xmodel is modeled values at time/place i. Both the MAE and RMSE can range from 0 to ∞ and lower values are better. Table VI provides comparative results of various error measures for different algorithms. The graphical representation of the error measures are shown in Fig. 7. It can be seen that Bayesian Network has both low MAE of 0.1518 and RMSE of 0.2342 when compared to the other two algorithms. However C4.5 has the highest error rate among the three algorithms. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Conclusion This study empirically evaluates the performance of Bayes Network Classification technique in handling uncertainty in adaptive E-Assessment data. A strategy for conducting adaptive E-Assessment was formulated and tests were conducted for undergraduate and postgraduate students of an Engineering College. The empirical results were analyzed using C4.5, Naïve Bayes and Bayesian Networks. Comparing the performance, the analysis shows that Bayesian Network algorithm has the highest classifier accuracy percentage of 88.67%, followed by Naive Bayes Classifier with 65.33%. The experimental results also reveal that even in terms of other classifier measures, Bayesian Networks perform exceptionally well than the other algorithms. Bayesian Networks outperform Naïve Bayes on E-Assessment data and the increase in accuracy in Bayesian Networks clearly shows that there is a dependency between the response time and grade. Classification performance of C4.5 is exceptionally low in terms of F-Measure, ROC area and Kappa Statistic. In terms of error measures, the most notable is the low error rates obtained by the Bayesian Networks. The superiority of Bayesian Networks in handling uncertainty in adaptive E-Assessment is established through this empirical study. References [1] [2] [3] Catherine C Marinagi & Vassilis G.Kaburlasos, Work in Progress: Practical Computerized Adaptive Assessment based on Bayesian Decision Theory,, 36th ASEE/IEEE Frontiers in Education Conference, pp 23- 24, 2006. Wen-Chih Chang, & Hsuan-Che Yang , Applying IRT to Estimate Learning Ability and K-means Clustering in Web based Learning , Journal of Software , VOL. 4, No. 2, pp 167- 174, 2009. Catherine C Marinagi, Vassilis G.Kaburlasos Vassilis & Th. Soukalas, An Architecture for an Adaptive Assessment Tool, 37th International Review on Computers and Software, Vol. 8, N. 4 1051 V. Geetha, D. Chandrakala, R. Nadarajan, C. K. Dass ASEE/IEEE Frontiers in Education Conference , pp T3D-11 T3D-16, 2007. [4] Mansoor Al-A’ali) , Implementation of an Improved Adaptive Testing Theory, Educational Technology and Society, pp 80-94, 2007. [5] Mariana Lilley (2007), The Development and Application of Computer Adaptive Testing in a Higher Education Environment, PhD Thesis, University of Hertfordshire, UK . 2007. [6] Nguyen Thai Nghe, Paul Janecek & Peter Haddawy, A Comparative Analysis of Techniques for Predicting Academic Performance, 37th ASEE/IEEE Frontiers in Education Conference, Oct10 – 13 , T2G7 – T2G12, 2007. [7] Minaei-Bidgoli, B., Kashy, D. A., Kortemeyer, G., and Punch.W. F, Predicting Student Performance: An Application of Data Mining Methods with an Educational Web-based System, Proceedings of 33rd Annual Conference on Frontiers in Education( FIE 2003), Volume 1, pp 13–18, 2003. [8] Cristina Conati, Abigail Gertner & Kurt Vanlehn, Using Bayesian Networks to Manage Uncertainty in Student Modeling , User Modeling & User Adaptive Interaction, Vol .12 , Issue 4,pp. 371417, 2002. [9] Bekele, R.& Menzel, W., A Bayesian Approach to Predict Performance of a Student (BAPPS): A Case with Ethiopian Students, Proceedings of the International Conference on Artificial Intelligence and Applications (AIA-2005), Austria, 2005. [10] Adel Alorai,ni, Different Machine Learning Algorithms for Breast Cancer Diagnosis, International Journal of Artificial Intelligence and Applications(IJAIA) , Vol 3,No.6 , pp 21-30, 2012. [11] Gouda I. Salama1, M.B.Abdelhalim2 & Magdy Abd-elghany Zeid, Breast Cancer Diagnosis on Three Different Datasets using Multi-Classifiers , International Journal of Computer and Information Technology,Vol.1, No.1, pp 36-43, 2012. [12] Baskar Pant, Kumud Pant & K.R.Pardasani, Naïve bayes Classifier for Classification of Plant and Animal miRNA, International journal of Computer Theory & Engineering , Vol.2.No.3.pp.420-424, 2010. [13] Khlifia Jayech & Mohamed Ali Mahjoub, Clustering and Bayesian network for Image of Faces Classification, International Journal of Advanced Computer Science & Applications, Special Issue on Image processing and Analysis, 2011 [14] Neri Merhav & Yariv Ephraim, A Bayesian Classification Approach with Application to Speech Recognition, IEEE Transactions on Signal processing, Vol 39.No.10, pp.2157212166, 1991 [15] M. Mehdi, S. Zair, A. Anou and M. Bensebti, A Bayesian Networks in Intrusion Detection Systems, Journal of Computer Science Vol.3 No.5 pp. 259-265, 2007 [16] H. Witten, E. Frank, and M. A. Hall, Data Mining: Practical Machine Learning Tools and Techniques,( Morgan Kaufmann, 2011). [17] Cohen J, A Coefficient of Agreement for Nominal Scale, Educational and Psychological Measurement, pp 37-46, 1960. Breast Cancer Diagnosis on Three Different Datasets Using MultiClassifiers [18] Cohen J. Weighted Kappa: Nominal Scale Agreement with Provision for Scale and Disagreement or Partial Credit. Psychological Bulletin , Vol. 70, pp 213-220, 1968. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved Authors’ information 1 Dept. of Computer Applications. 2 Dept. of Computer Science & Engineering, Kumaraguru College of Technology, Coimbatore, India. 3 Dept of Applied Mathematics & Computational Sciences, PSG College of Technology, Coimbatore, India. V. Geetha is currently working as Associate Professor in Department of Computer Applications, Kumaraguru College of Technology, Coimbatore, India and has a teaching experience of 21 years. She is currently pursuing PhD under Anna University, Chennai. Her research interests include Knowledge Management and Data Mining She is a life member of Indian Society for Technical Education. E-mails: geethasuresh@rediffmail.com geetha.v.mca@kct.ac.in Dr. D. Chandrakala is an Associate Professor in Department of Computer Science and Engineering , Kumaraguru College of Technology, Coimbatore, India. She received her PhD degree in the area of Data Mining from AnnaUniversity in 2013. She has published several papers in National / International Journals and Conferences. Her current research interest includes Soft Computing, Artificial Intelligence, Evolutionary Algorithms, Database management systems, Data Mining and Image Processing She is a life member of Indian Society for Technical Education. Dr. R. Nadarajan is Professor and Head of the Department of Applied Mathematics and Computational Sciences, PSG College of Technology, India. He obtained his PhD degree from Annamalai University, India. He is the author of over 30 journal papers, as well as numerous proceeding papers and technical reports. He has been a reviewer for many Journals. His research interests include Object Computing, Data Mining and Database Technologies. He is the Chairman, Computer Society of India Coimbatore chapter. Member of Operational Research Society of India and Indian Society for Technical Education. C. K. Dass is pursuing his Master in Computer Applications, Kumaraguru College of Technology. He is a member of Computer Society of India. International Review on Computers and Software, Vol. 8, N. 4 1052 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 A Technique to Mine the Multi-Relational Patterns Using Relational Tree and a Tree Pattern Mining Algorithm M. Ravi Sankar, P. Prem Chand Abstract – The reason of the powerful application and large availability of the databases, the data mining become chalengable and trustful research field. The pattern mining is one of the fields in the data mining. The multi-relational data mining allows pattern mining from multiple table, in recent years multi-relational pattern mining is developing rapid manner. Even though the existing multi-relational mining algorithms are not ideal for the large amount of data. In this paper, we have developed a technique to mine the multi-realtional pattern using a relational tree. The relational tree constructed by reading the records from multi-relational database one by one and make the combination (relations) according the presence of fields in the database. From this we get the relational tree data structure without violating the relations of the records. Subsequently , the tree pattern mining algorithm is formulated and applied to the developed tree structure for mining the important relational patterns from the relational tree. The experimentation is carried out on the patient medical database and comparative results are extracted and the performance of the proposed approach is evaluated based on the existing work. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved. Keywords: Relational Tree, Pattern Mining, Multi-Relational Database, Single Relation, MultiRelation, Multi-Relation Data Mining I. Introduction In common, data mining algorithms deal with patterns in data [1]-[24]. The majority of the available data mining approaches search for patterns in a single data table, multi-relational data mining (MRDM) [2] approach involves patterns with multiple tables (relations) from a relational database [3], [4], [21], [22]. The word multirelational data mining was first employed by Knobbe et al. [5] to describe a new methodology for relational learning. Multi-Relational Data Mining (MRDM) is the multi-regulational domain dealing with knowledge identification from relational databases including multiple tables. Mining data include complex/structured objects, which falls within the scope of this domain, since multiple tables are required by the normalized representation of such objects in a relational database. The domain is looked forward at integrating results from available related fields such as inductive logic programming, KDD, machine learning and relational databases; producing new methodologies for mining multi-relational data; and practical applications of such methods. Multi-relational data mining has been marked as a continuation to the simple transactional data model. However, addressing the problem in full sense has proved to be an intimidating task. Relational data mining (RDM) refers to [6], many of which that are are based on inductive logic programming (ILP, [7]), search for patterns that involve multiple tables (relations) from a relational database. Manuscript received and revised March 2013, accepted April 2013 To highlight this fact, RDM is often termed to as multi-relational data mining (MRDM, [8]). MultiRelational Data Mining has been motivated by the relational model [9]-[11]. The relational model introduces a number of methods which are used to store, manipulate and retrieve complex and structured data in a database consisting of a pool of tables. It was the governing standard for industrial database applications throughout the last decades, and it is generally called as relational database management systems (RDBMS), which is at the foundation of all major commercial database systems. Also it imparts information about associations between tables: stipulations of how records in one table communicate with records in another table. Associations can be viewed as minor generalizations of the foreign key notion. They highlight the relation between two tables and find out the number of details regarding the relationship. The collection of named tables in a relational database, usually referred as relations that individually act as a single table. Practically, an association in a relational database will always emerge as a primary keyforeign key pair alongside with the necessary referential integrity constraint [12]. Multi-relational data mining methods are classically based on two complementary approaches: a propositional approach and a structural approach [13]. In propositionalisation, an alteration of relational learning problems in classical attribute-value representations agreeable for conventional data mining Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved 1053 M. Ravi Sankar, P. Prem Chand methods is performed. According to structural approach, the mining method directly explores the entire hypothesis space [14]. The available MRDM approaches take into account of all the main data mining tasks, including association analysis, classification, clustering, learning probabilistic models and regression. The pattern languages used by single-table data mining approaches for these data mining tasks have been unmitigated to the multiple-table case. Relational pattern languages now consist of relational association rules, relational classification rules, relational decision trees, and probabilistic relational models [15], among others. MRDM algorithms have been generated to mine for patterns articulated in relational pattern languages [16]. Various researchers have offered algorithms for mining potential information from multi-relational databases. Some of them are listed here. In 1999, Knobbe et al. [5] have summarized a general structure for multirelational data mining which utilizes structured query language (SQL) from multi-relational data to collect the information required for creating classifiers (e.g., Decision trees). According to this framework, several algorithms for multi-relational data mining have been generated. The experiments reported by Leiva [17] have proved that MRDTL – a multi-relational decision tree learning algorithm is spirited with other approaches to learn from relational data. One universal feature of all algorithms based on the multi-relational data mining framework, proposed by [5], is about their usage of selection graphs for inquiring the relevant databases to acquire the information (e.g., statistics) required for constructing a model [18]. We presented a technique in this paper, to mine relational patterns using a relational tree. The multirelational database contains multi-valued data, we create the preprocessing step to make all the data in a single format, since it is complicated to convert into a tree data structure directly. We create two types of pattern combinations in the proposed approach like single relation patterns and multi-relation patterns. The single relations are prepared by the combination of attributes from any single table and multiple relations are prepared by the combination of tuples from a further single table. For constructing the relational tree, initially the system has to detect the target table among the multi table with the help of a number of foreign keys. When compared to others the target table has an additional number of foreign keys. The parent node of the relational tree with a unique value is preferred from the target table. The system examines the records one by one with the help of a root node and make the combination (relation) of the attributes existed in the record. Similarly all of the records are stated formally from the database and if the same combination is acquired then the count of the combination (subnode) will be improved one by one. The mining procedure tracked to mine the recurrence relation of single and multi-relation patterns, after the construction of the relational tree. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved If the count of the subnode is greater than the user defined threshold then the corresponding relation is defined as the significant relation. The rest of the paper is structured as follows: In Section 2, a brief review of some of the literature works in the realtional data mining is presented. In section 3, the proposed methodology for construction of relational tree and mining procedure is provided. In Section 4, the experimental results and perform analysis discussion is provided. Finally, the conclusions are summarized up in Section 5. II. Review of Recent Related Works The literature imparts few works for multi-relational pattern mining. We are presenting some of the works here. Jun-Ichi Motoyama et al. [1] have proved a mining algorithm using property items mined from sampled examples. Based on a bottom-up property extraction from paradigms, they proposed a mining algorithm for relational frequent patterns. The extracted properties, termed as property items, were used to build patterns by a level-wise way like Apriori. The property items were supposed to have a special form, that was specified in terms of mode declaration of predicates. The algorithm shaped regular item sets as patterns without duplication in the sense of a logical equivalence. It was assessed with four different data sets with comparison to Warmr and implemented as a system called Mapix. With relational database systems, Nobuhiro Inuzuka et al. [2] have presented the implementation of multirelational mining. Based on the ILP approach, pattern miners create communicative patterns and were wideapplicative but computationally high-priced because the miners explore among large pattern space. They had been suggesting a mining algorithm called MAPIX. By restricted patterns into combinations of the atomic properties, it obtained efficiency compared with conventional algorithms containing WARMR, in order to range MAPIX to consider large data sets on standard relational database systems and they studied implementation issues. Based-on combination of properties with conserving their structure in the examples, Yusuke Nakano et al. [12] have presented multi-relational pattern mining. They proposed an algorithm through the problem recognized in WARMR for multi-relational pattern mining. To sweep away the combinatorial problem of large pattern space, another algorithm MAPIX confines patterns into combination of basic patterns, called properties. A property was described as a set of literals emerged in examples and was of an extended attribute-value form. o create patterns from pattern fragments appeared in the examples was an advantage of MAPIX. Many patterns that were not occurring in examples were not tested. Although the range of patterns was understandable and MAPIX itemizes them efficiently, a large part of patterns were out of the range. The algorithm combined International Review on Computers and Software, Vol. 8, N. 4 1054 M. Ravi Sankar, P. Prem Chand properties, they specified it as a structure preserving combination. Constraint-based pattern mining in multi-relational databases were presented by Siegfried Nijssen et al. [13]. They suggested a structure for constraint-based pattern mining in multi-relational databases. Distinctive features of the structure were that (1) it allowed searching patterns not only under anti-monotonic constraints, but also under monotonic constraints and closeness constraints, among others, articulated over complex aggregates over multiple relations; (2) it constructs on a declarative graphical representation of constraints that bonds closely to data models of multi-relational databases and constraint networks in constraint programming; (3) it relates multi-relational pattern mining tasks into constraint programs. Their structure fabricates on a unifying outlook of multi-relational pattern mining, relational database technology and constraint networks in constraint programming. They established our structure on IMDB and Finance multi-relational databases. Aída Jiménez et al. [15] have presented a method to extract multi-relational databases using trees.. Their methodology was based on the demonstration of multirelational databases as sets of trees, for which they projected two complementary representation schemes. Tree mining techniques can be applied on the basis for multi-relational data mining techniques, such as multirelational categorization or multi-relational clustering. They evaluated the variations between identifying induced and embedded tree patterns in the proposed treebased representation methods and they deliberated the relationships among the sets of tree patterns that can be identified in each case. Also explained how these frequent tree patterns can be applied, for instance, to mine association rules in multirelational databases. An approach for discovering motivating patterns in multidatabases have presented by Chengqi Zhang et al. [16]. They built up a technique for mining multidatabases. The mining algorithm was built up by comparing to traditional multidatabase mining strategies that had been spotlighted on discovering mono-databasemining-like patterns, was capable to discover both the commonality and individuality among the local patterns in branches within a company. Since the commonality was significant in terms of global decision-making, exceptional patterns frequently present as more enchanting than commonality patterns in such fields as marketing, science discovery, and information safety. They assessed the preceding proposed technique, and experimental results established that the approach was efficient and promising. Multi-relational pattern mining system for general database systems have employed by Nobuhiro Inuzuka et al. [18]. A methodology based on ILP (inductive logic programming) was suggested where they considered patterns on many tables. The approach created communicative patterns and was wide-applicative but Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved computationally pricey. MAPIX had a benefit that pattern was developed by combining atomic properties mined from sampled examples and it limited patterns into combinations of the atomic properties where it acquired efficiency judged against with other algorithms. III. The Proposed Technique To Mine the Multi-Relational Patterns Using Relational Tree and a Tree Pattern Mining Algorithm The extraction of important patterns from the multirelational database is a challenging in the data mining fields. Many of the data mining approaches are working only for the single relation table [23], [24], at the same time most of the applications are using the multirelational database to store their details, for example the hospital management stores their patient details, bank management stores their client details. However the multi-relational databases are faithful and honest and they are very user friendly. The structural way is one of the convenient way to mining the important patterns from the multi-relational database. In the proposed approach, in order to achieve the structural representation we convert the relational database into the relational tree structure. With the help of our proposed approach, we mine the two types of patterns from the structural relational tree, the first one is Single relational patterns and the second one is Multirelational patterns the patterns. We use the two important steps to mine the relational patterns that are given below: 1. Construction of relational tree from multi-relational database; 2. Mining of important relational patterns of the relational tree. III.1. An Overview of Multi-Relational Database A relational database is created by numerous interaction with the type of two-dimensional tables. The records are assumed as rows (tuples) and the column (field) are specified as attributes. The MRDM (multi-relational database) consists of a set of tables MRDB T1 , T2 , , Tn that are connected together through the foreign keys and each table Ta consists of a set of attributes Ta A1 , A2 , An that are related to fields and tuples. The foreign key helps to make the relation between the attributes in the different table. Generally the relational databases are connected through the foreign keys. If one or more columns in a single table (referencing table) that connect to a column or more column in another table (referenced table) with the help of the foreign key. In order to avoid the confusion of the location of the table, the name of the International Review on Computers and Software, Vol. 8, N. 4 1055 M. Ravi Sankar, P. Prem Chand table should be a primary key. In this paper, we handles the hospital multi-relational database to mine the important relations. The database consists of three tables, the first one is basic information about the patient, second one is laboratory examinations and the final one is a hospital information system. Example In the multi-relational database, the data regarding to a particular area or field is circulated over the tables. From the multi-table, a single table that connects to all other tables through the foreign key relation, consider that table as a target table. The following Fig. 1 represented using the three different tables such as patient information Ta and laboratory information Tb hospital information Tc . Here, the table patient information Ta is a target table which consists of seven attributes such as patient ID, gender, date of birth, admission, Lab ID, Hospital ID, diagnosis where, Hospital ID id and Lab ID are the foreign key relations. The following Fig. 1 shows the relational database. becomes difficult since we convert such format into three types of patient senior, major, miner. This will easy to group the patient according to the date of birth of the patient. Table I explains how the attributes are changed one format into another format. III.3. Construction of Relational Tree from Multi-Relational Database In the proposed approach, we use a relational tree for representing the multi-relational database. The attributes and their relations contained in the multi-tables are signified by the set of nodes in the relational tree. Initially, the multi-relational database is converted into the relational tree, like relational algebra tree [19]. Here, based on the idea of the relational algebra tree, the relational tree will be constructed by including the relations (attribute information) in every node. The relational tree contains the relationship of one attribute to each other attribute present in the same table (single relation) and one attribute with all other attributes (multi relation) in an appropriate way so that mining of information from the multi relational database will be efficient since, the medical database (hospital database) will be used to mine the relational patterns the relations are considered in the relational tree. Once the relational tree is constructed, the tree pattern mining algorithm will be developed to mine the relational patterns from the multi-relational database. Fig. 2 shows that the format of the relational tree structure of the hospital database. TABLE I THE ORIGINAL FORMAT AND THE PREPROCESSED FORMAT OF THE ATTRIBUTES OF TABLES Fig. 1. The multi relational database The attributes of the tables consist of multivalued inputs but our objective is to mining the important patterns through relational tree in view of the fact that imports of the multivalued input into the relational tree become difficult. Before the construction of relational tree, we need to convert the multivalued input data into the single value data through preprocessing phase. Table Attribute A DOB C GOT GPT LDH III.2. Pre-Processing of Multi-Relational Database In this paper, we are using the hospital multi-relational database to mine the important relation among the attributes through a relational tree. The difficulty behind is, some of the attributes having lots of numerical values and multivalued data, importing the count of all data is direct to more running time and memory usage of the tree. When we take the count of some of the attributes in the direct format, the count is very less since the mining process is not completed properly. Consider the attribute from the table Ta “DOB” is in the format of DD-MM-YYYY, counting of each data Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved ALP Total protein Urea Nitrogen Original format DD-MMYYYY Numeric values between 10 to 470 Numeric values between 6 to 498 Numeric values between 122 to 1330 Numeric values between 33 to 1330 Numeric values between 0.9 to 11.2 Numeric values between 6 to 115 Age >60 Age <60 Age <18 Value < 60 Value > 60 Conversion format Senior Major Minor Normal Abnormal Value < 60 Value > 60 Normal Abnormal Value < 500 Value > 500 Normal Abnormal Value < 300 Value > 300 Normal Abnormal Value < 6.0 Value > 6.0 Value > 8.5 Less protein Normal level High protein Value < 30 Value > 30 Normal Abnormal Condition International Review on Computers and Software, Vol. 8, N. 4 1056 M. Ravi Sankar, P. Prem Chand Fig. 2. The relational tree structure of the multi-relational database III.4. Generation of Single Relation Patterns For construction of single relation patterns, the system reads the records only from the single table. All the combinations from any single table named as single relation patterns. The multi-relational database consists of P number of tables Tc where 1 i p . In order to find out the single relation patterns initially, we need to find out the target table between them. In order to find out the target table, find out the number of foreign keys present in each table. Select the table as target table which consist of a number of foreign keys. The target table is easily connected with the other tables. The target table is also used to find out the root node of the relational tree. The root node of the relational tree selects from the target table which is a unique value. After finding the root node, the system selects the table to make the single relational patten. The system reads the record one by one of selected table among the multiple table and make the combinations according to the values present in the records. Example: Among the three tables A, B, C in the multi relation table, the table A become target table because the table A has the 2 foreign keys like Lab ID and Hospital ID. The unique attribute of the table A (patient ID) become the root node of the relational tree. The system selects the table A from multi-relational database to make the single relation patterns. The table A has a number of attributes since the system can make m n f 1 levels of length of the root node. The two attributes are combined for making length 1, the combination of the attributes is based on the values of the attributes present in the record of the selected table. Consider table A having the attribute Gender, Admission, DOB, Lab ID, Hospital ID, Diagnosis. The combinations are generated based on the records present in the selected table. If the records have the value male under gender and senior under DOB, then the upcoming combination is (male:senior:1). Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved When the same combination is repeated then the count of that combination gets increase one by one. Likewise each record of the table has read out from the table and make the combinations according to the values present in the record. Input: multi-relational database Output: single relational tree Assumptions P Total number of tables Ti where 1 i P n f Number of foreign keys m Number of attributes in table Ti cnt _ val Count value of combinations Pseudo code 1. The multi - relational database consists of P No.of tables 2. Calculate n f in each table 3. Select table Ti as target table which having the highest value of n f 4. Select an attribute Ai as root node from the target table Ti which is unique 5. Each table has m No.of attributes 6. Read first record from the table Ti 7. Make combinations of attributes upto m n f 1 length based on the presence of attributes in the table Ti 8. Add cnt _ val for each combination 9. Add cnt _ val of combination again if the same is repeated 10. Make 1 length combination as subnode of root node 11. Likewise make m 1 length combination as subnode of m 2 length combination 12. Read next record 13. Go to step 7 International Review on Computers and Software, Vol. 8, N. 4 1057 M. Ravi Sankar, P. Prem Chand III.5. Generation of Multi-Relation Patterns For construction of multi-relation patterns, the system reads the records from all tables from the multi-relation database. All the combinations from more than one table named as multi-relation patterns. The selection of target table and the selection of root node of the relational tree procedure also same as the previous section. The number of lengths of combination (subnodes) has been higher than the single relation since here the all the tables are taken to make the multi-relation combinations. Consider the total number of attributes is M then the total number of lengths is M n f 1 , the n f denotes the number of foreign key present in the target table. The system reads the first record of the each table and make the combinations according to the values present in the records. Input: Multi-relational database Output: Single relation patterns Assumptions P Total number of tables Ti where 1 i P n f Number of foreign keys M Number of attributes in all tables cnt _ val Count value of combinations Pseudo code 1. The multi - relational database consists of P No. of tables Ti where 1 i P 2. Calculate n f in each table important combination rather than the cnt_val of node not support to the threshold then such node not considered as important node. Input: Single relational tree or multi-relational tree Output: Important single relation or multi-relation patterns Assumptions cnt _ val Final count value Th Threshold value given by the user Pseudo code Begin For each length pattern If cnt _ val subnode i Th Add that subnode into set of important relations {imp relations ()} Go to next subnode i+1 Else Terminate the (subnode (i)) End if End for End IV. Experimental Results and Discussion The experimental results of the proposed approach for mining relational patterns are presented in this section. The proposed approach has been implemented in java (jdk 1.6) and the efficiency of the proposed approach is evaluated evaluation metrics. 3. Select table Ti as target table which having highest the highest value of n f IV.1. Experimental Environment and Dataset 4. Select a attribute Ai as root node from the target table Ti which is unique 5. Calculate the value of M 6. Read first record from the all table presence in the multi-relational database 7. Make combinations of attributes up to M n f 1 length based on the presence of attributes 8. Add cnt _ val for combination 9. Add cnt _ val of combination again if the same is repeated 10. Read next record 11. Go to step 7 III.6. Mining of Important Relation Patterns from Relational Tree The single relational tree consists m-1 length and multi-relational tree consist of M-(1+n(f)) number of lengths and each length has T number of nodes each of them has a count of their own. The system visit every node of the each length patterns of the tree. If the node has the count value greater than user defined threshold then, that relation (combination) is said to be an Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved We have used the real dataset for mining relational patterns and experimentation is performed on a 3.0 GHz dual core PC machine with 2 GB main memory. We have used the real dataset, where the data source [20] containing 8000 records. The database was collected at Chiba University hospital. Each patient came to the outpatient clinic of the hospital on collagen diseases, as recommended by a home doctor or a general physician in the local hospital. Collagen diseases are auto-immune diseases. Patients generate antibodies attacking their own bodies. For example, if a patient generates antibodies in lungs, he/she will chronically lose the respiratory function and finally lose life. The disease mechanisms are only partially known and their classification is still fuzzy. Some patients may generate many kinds of antibodies and their manifestations may include all the characteristics of collagen diseases. In collagen diseases, thrombosis is one of the most important and severe complications, one of the major causes of death. Thrombosis is an increased coagulation of blood, that cloggs blood vessels. Usually it will last several hours and can repeat over time. Thrombosis can arise from different collagen diseases. It has been found that this complication is closely related to antiCardiolipin antibodies. International Review on Computers and Software, Vol. 8, N. 4 1058 M. Ravi Sankar, P. Prem Chand This was discovered by physicians, one of whom donated the data sets for discovery challenge. Thrombosis must be treated as an emergency. It is important to detect and predict the possibilities of its occurrence. However, such database analysis has not been made by any experts on immunology. Domain experts are very much interested in discovering regularities behind patients' observations. The database consists of three tables. (TSUM_A.CSV, TSUM_B.CSV, TSUM_C.CSV). The patients in these three tables are connected by ID number. Fig. 5. The number of patterns of table C based on the threshold values IV.2. Performance Evaluation Our ultimate aim is to mine important relational patterns from the multi-relational database. Based on the proposed approach, we construct the relational tree for the input multi-relational database and the constructed tree contains a set of nodes for each length of pattens. Then, the relational patterns are mined from the relational database using the proposed approach for tree pattern mining. The performance of the proposed approach is evaluated by means of following measures 1. How much number of patterns are mined for each length by varying the values of the threshold value and number of records from the database. The patterns are mined for single relation and multi-relation. The we evaluate the running time and memory usage of the proposed system by varying values of the threshold and number of records from the database. Fig. 6. The number of multi-relation patterns based on the threshold values Fig. 7. The number of patterns of table A based on the size of the database Fig. 3. The number of patterns of table A based on the threshold values Fig. 8. The number of patterns of table B based on the size of the database Fig. 4. The number of patterns of table B based on the threshold values Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1059 M. Ravi Sankar, P. Prem Chand Fig. 13. The running time of the proposed approach based on the threshold values Fig. 9. The number of patterns of table C based on the size of the database Fig. 14. The memory usage of the proposed approach based on the threshold values Fig. 10. The number of multi-patterns based on the size of the database Sample result Male : 201 Female : 997 Senior : 426 Major : 477 Minor: 296 InPatient = 477 OutPatient: 685 A[G-C-Ad] (single relation – 2 length pattern) F : Senior : InPatient : 232 M : Senior : InPatient : 38 A.[g:got:gpt:ldh:alp:un] (multiple relation – 5 length pattern) F : [GOT]Normal : [GPT]Normal : [LDH]Normal : [ALP]Normal : [UN]Normal=620 M : [GOT]Normal : [GPT]Normal : [LDH]Normal : [ALP]Normal : [UN]Normal=112 A.[c:got:gpt:ldh:alp:tp] (multiple relation – 5 length pattern) Major : [GOT]Normal : [GPT]Normal : [LDH]Normal : [ALP]Normal : [TP]Normal=224 Minor : [GOT]Normal : [GPT]Normal : [LDH]Normal : [ALP]Normal : [TP]Normal=129 Senior : [GOT]Normal : [GPT]Normal : [LDH]Normal : [ALP]Normal : [TP]Normal=164 [A. G - B. Th] (multiple relation-1 length) F : 1.0(MostSever)=38 M : 1.0(MostSever)=13 From the sample result we conclude most of the patients are “female” while consdering the age of the patient most of them are “major” and most of the pateints are get the treatment by “outpatient”. Most of the patients are senior females they are admitted at inpatient in hospital. At the same time the senior male Inpatient are very less when compared with the female. From the Fig. 11. Running time of the proposed approach by varying the size of the databse Fig. 12. The memory usage of the proposed approach based on the size of the database Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1060 M. Ravi Sankar, P. Prem Chand hospital database major having the normal condition upto 46% and 43% of minor patients are normal conditions and 38% of senior patients are normal conditions. 6% of males are affected by the thrombosis disease but the female are affected 3% of thrombosis disease V. Conclusion We have developed the a technique to mine the multirelational patterns using relational tree and a tree pattern mining algorithm. At first, multi format attributes from the multi-relational database are converted into single format through preprocessing phase. Subsequently the target table is find out from the multiple tables which consists of more number of foriegn keys, the target table also used for finding the root node of the relational tree. In the relational tree, we make the tree structure for single relation and multiple relations. We formulate the efficient relational tree mining algorithm to mine the important relations from the relational tree. The experimentation process is carried out for the real world dataset of patient medical dataset and the performance analysis of the proposed approach is estimated by the evaluation metrics like number of relation patterns in each length by varying the threshold values and size of the database, running time and memory usage. References [1] Jun-Ichi Motoyama, Shinpei Urazawa, Tomofumi Nakano and Nobuhiro Inuzuka, "A Mining Algorithm Using Property Items Extracted from Sampled Examples, Inductive Logic Programming, pp. 335-350, 2007. [2] Nobuhiro Inuzuka and Toshiyuki Makino, "Implementing Multirelational Mining with Relational Database Systems", 13th International Conference on Knowledge-Based and Intelligent Information and Engineering Systems, pp. 672 - 680, 2009. [3] Oded Z. Maimon, Lior Rokach, “Data mining and knowledge discovery handbook.” Springer 2005. [4] Saso Dzeroski, "Multi-relational data mining: an introduction", ACM SIGKDD Explorations Newsletter, COLUMN: Multi Relational Data Mining (MRDM), Vol. 5 , no. 1, pp. 1 - 16, July 2003. [5] J. Knobbe, H. Blockeel, A. Siebes, and Van der Wallen D. Multirelational data mining. In Proceedings of Benelearn 99, 1999. [6] S. Dzeroski and N. Lavrac, editors. Relational Data Mining. Springer, Berlin, 2001. [7] S. Muggleton, editor. Inductive Logic Programming. Academic Press, London, 1992. [8] S. Dzeroski, L. De Raedt, and S. Wrobel, editors. Proceedings of the First International Workshop on Multi-Relational Data Mining. KDD-2002: Eighth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Edmonton, Canada, 2002. [9] Ullman, I.D. Principles of Databases and Knowledge-Based Systems, Volume I, Computer Science Press, 1988 [10] Ullman, J., Widom, J., A First Course in Database Systems, Prentice Hall, 2001. [11] Date, C. An Introduction to Database Systems, Volume I, The Systems Programming Series, Addison-Wesley, 1986. [12] Yusuke Nakano and Nobuhiro Inuzuka, "Multi-Relational Pattern Mining Based-on Combination of Properties with Preserving Their Structure in Examples, In Proceedings of the 20th international conference on Inductive logic programming, pp. 181-189, 2010. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved [13] Siegfried Nijssen, A´ıda Jim´enez and Tias Guns, "Constraintbased Pattern Mining in Multi-Relational Databases", In Proceedings of the 11th IEEE International Conference on Data Mining, pp. 1120-1127, 2011. [14] Michelangelo Ceci and Annalisa Appice, “Spatial Associative Classification: Propositional vs Structural approach”, Journal of Intelligent Information Systems, vol. 27, no. 3, pp: 191- 213, November 2006. [15] Aída Jiménez, Fernando Berzal and Juan-Carlos Cubero, "Using trees to mine multirelational databases", Kluwer Academic Publishers Hingham, vol. 24, no. 1, pp. 1-39, 2012. [16] Chengqi Zhang, Jeffrey Xu Yu and Shichao Zhang, "Identifying Interesting Patterns in Multidatabases", Classification and Clustering for Knowledge Discovery, vol. 4, pp. 91-112, 2005. [17] Hector Ariel Leiva. A multi-relational decision tree learning algorithm. M.S. thesis. Deparment of Computer Science. Iowa State University, 2002. [18] Nobuhiro Inuzuka and Toshiyuki Makino, "Multi-Relational Pattern Mining System for General Database Systems", In Proceedings of the 14th international conference on Knowledgebased and intelligent information and engineering systems, pp. 72-80, 2010. [19] Jameson Mbale, Jackson Phiri and Tie Jun Zhao, "Relational Algebra Tree – Algorithm Data Mining (RAT-Adm): A System That Computes Query Optimization", International Journal of Data Engineering (IJDE), Vol. 1, no. 4, 2001. [20] A Collaborative Effort in Knowledge Discovery from Databases from http://lisp.vse.cz/pkdd99/Challenge/chall.htm [21] Seyyed Mohammad Saeed Tabatabaee, Ehsan Rafiee, Mohammad Jafar Abdi, Mohammad Reza Kangavari, Applying a Fuzzy Association Rule Mining Approach in the Robocup Soccer Simulation Domain, (2009) International Review on Computers and Software (IRECOS), 4 (1), pp. 133 - 141. [22] G. Yılmaz, B. Y. Badur, S. Mardikyan, Development of a Constraint based Sequential Pattern Mining Tool, (2011) International Review on Computers and Software (IRECOS), 6 (2), pp. 191-198. [23] Aloysius George, D. Binu, “DRL-PREFIXSPAN: A Novel Pattern Growth Algorithm for Discovering Downturn, Revision and Launch (DRL) Sequential Patterns”, Central European Journal of Computer Science, springer publication, vol. 2, no. 4, pp. 426-439, 2012. [24] Aloysius George, D. Binu, "An approach to products placement in supermarkets using PrefixSpan algorithm", Journal of King Saud University – Computer and Information Sciences, Elsevier publication, vol. 25, no. 1, pp. 77-87, 2012. Authors’ information Ravi Sankar M. received the M.Tech degree in Computer Science & Engineering in 2006. He is pursuing Ph.D in Computer Science & Engineering at Acharya Nagarjuna University, Guntur District. He has 13 plus years of experience in three reputed Engineering colleges affiliated to JNTU. Since July 2010, he has been with Vignan's Lara Institute of Technology & Sciece, where he is currently an Associate professor in the department of Information Technology. He is an Editorial board member for a reputed international journal and also life member of ISTE. Prof. P. Prem Chand received the Ph.D (Computer Science & Systems Engineering) from Andhra University, Visakhapatnam and M.E (Computer Engineering) from Andhra University. Since 1991, he has been with Osmania University and Guided 4 candidates towards the Award of Ph.D degree from JNTU, Hyderabad. He is The Chairman for BOS in Faculty of Engineering from 2007-to date and also he was the director AICTE, New Delhi 1998 – 1999 and performed various roles in OU and AU. International Review on Computers and Software, Vol. 8, N. 4 1061 International Review on Computers and Software (I.RE.CO.S.), Vol. 8, N. 4 ISSN 1828-6003 April 2013 Errata corrige In the paper “Automatic Jet Area During Mitral Regurgitation” by Kalpana Saini, M. L. Dewal and Manojkumar Rohit published on the November 2012 issue of the Journal IRECOS, Vol. 7 N. 6, pp. 2891-2898, the title of Chapter III was mistyped. The correct title of Chapter III is: III. Algorithm for Detection of Jet Area Value Many apologies to the authors and to our readers for this mistake. Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved International Review on Computers and Software, Vol. 8, N. 4 1062 1828-6011(201304)8:4;1-Q Copyright © 2013 Praise Worthy Prize S.r.l. - All rights reserved