You are on page 1of 453


International Journal of
Computer Science Issues

Volume 7, Issue 5, September 2010

ISSN (Online): 1694-0814


IJCSI proceedings are currently indexed by:


IJCSI Publicity Board 2010

Dr. Borislav D Dimitrov

Department of General Practice, Royal College of Surgeons in Ireland
Dublin, Ireland

Dr. Vishal Goyal

Department of Computer Science, Punjabi University
Patiala, India

Mr. Nehinbe Joshua

University of Essex
Colchester, Essex, UK

Mr. Vassilis Papataxiarhis

Department of Informatics and Telecommunications
National and Kapodistrian University of Athens, Athens, Greece

In this fifth edition of 2010, we bring forward issues from various dynamic computer science
fields ranging from system performance, computer vision, artificial intelligence, software
engineering, multimedia, pattern recognition, information retrieval, databases, security and
networking among others.
Considering the growing interest of academics worldwide to publish in IJCSI, we invite
universities and institutions to partner with us to further encourage open-access publications.
As always we thank all our reviewers for providing constructive comments on papers sent to
them for review. This helps enormously in improving the quality of papers published in this
Google Scholar reported a large amount of cited papers published in IJCSI. We will continue to
encourage the readers, authors and reviewers and the computer science scientific community and
interested authors to continue citing papers published by the journal.
Apart from availability of the full-texts from the journal website, all published papers are
deposited in open-access repositories to make access easier and ensure continuous availability of
its proceedings free of charge for all researchers.
We are pleased to present IJCSI Volume 7, Issue 5, September 2010 (IJCSI Vol. 7, Issue 5). Out
of the 198 paper submissions received, 59 papers were retained for publication. The acceptance
rate for this issue is 29.8%.

We wish you a happy reading!

IJCSI Editorial Board

September 2010 Issue
ISSN (Online): 1694-0814
IJCSI Publications

IJCSI Editorial Board 2010

Dr Tristan Vanrullen
Chief Editor
LPL, Laboratoire Parole et Langage - CNRS - Aix en Provence, France
LABRI, Laboratoire Bordelais de Recherche en Informatique - INRIA - Bordeaux, France
LEEE, Laboratoire d'Esthtique et Exprimentations de l'Espace - Universit d'Auvergne, France

Dr Constantino Malagn
Associate Professor
Nebrija University

Dr Lamia Fourati Chaari

Associate Professor
Multimedia and Informatics Higher Institute in SFAX

Dr Mokhtar Beldjehem
Sainte-Anne University
Halifax, NS, Canada

Dr Pascal Chatonnay
Assistant Professor
Matre de Confrences
Laboratoire d'Informatique de l'Universit de Franche-Comt
Universit de Franche-Comt

Dr Karim Mohammed Rezaul

Centre for Applied Internet Research (CAIR)
Glyndwr University Wrexham,
United Kingdom

Dr Yee-Ming Chen
Department of Industrial Engineering and Management
Yuan Ze University

Dr Vishal Goyal
Assistant Professor
Department of Computer Science
Punjabi University
Patiala, India

Dr Dalbir Singh
Faculty of Information Science And Technology
National University of Malaysia

Dr Natarajan Meghanathan
Assistant Professor
REU Program Director
Department of Computer Science
Jackson State University
Jackson, USA

Dr Deepak Laxmi Narasimha

Department of Software Engineering,
Faculty of Computer Science and Information Technology,
University of Malaya,
Kuala Lumpur, Malaysia

Dr Navneet Agrawal
Assistant Professor
Department of ECE,
College of Technology & Engineering, MPUAT,
Udaipur 313001 Rajasthan, India

Dr Shishir Kumar
Department of Computer Science and Engineering,
Jaypee University of Engineering & Technology
Raghogarh, MP, India

Dr P. K. Suri
Department of Computer Science & Applications,
Kurukshetra University,
Kurukshetra, India

Dr Paramjeet Singh
Associate Professor
GZS College of Engineering & Technology,

Dr Shaveta Rani
Associate Professor
GZS College of Engineering & Technology,

Dr G. Ganesan
Department of Mathematics,
Adikavi Nannaya University,
Rajahmundry, A.P, India

Dr A. V. Senthil Kumar
Department of MCA,
Hindusthan College of Arts and Science,
Coimbatore, Tamilnadu, India

Dr T. V. Prasad
Professor Department of Computer Science and Engineering,
Lingaya's University Faridabad,
Haryana, India

Prof N. Jaisankar
Assistant Professor
School of Computing Sciences,
VIT University
Vellore, Tamilnadu, India

IJCSI Reviewers Committee 2010

Mr. Markus Schatten, University of Zagreb, Faculty of Organization and Informatics, Croatia
Mr. Vassilis Papataxiarhis, Department of Informatics and Telecommunications, National and
Kapodistrian University of Athens, Athens, Greece
Dr Modestos Stavrakis, University of the Aegean, Greece
Dr Fadi KHALIL, LAAS -- CNRS Laboratory, France
Dr Dimitar Trajanov, Faculty of Electrical Engineering and Information technologies, ss. Cyril and
Methodius Univesity - Skopje, Macedonia
Dr Jinping Yuan, College of Information System and Management,National Univ. of Defense Tech.,
Dr Alexis Lazanas, Ministry of Education, Greece
Dr Stavroula Mougiakakou, University of Bern, ARTORG Center for Biomedical Engineering
Research, Switzerland
Dr Cyril de Runz, CReSTIC-SIC, IUT de Reims, University of Reims, France
Mr. Pramodkumar P. Gupta, Dept of Bioinformatics, Dr D Y Patil University, India
Dr Alireza Fereidunian, School of ECE, University of Tehran, Iran
Mr. Fred Viezens, Otto-Von-Guericke-University Magdeburg, Germany
Dr. Richard G. Bush, Lawrence Technological University, United States
Dr. Ola Osunkoya, Information Security Architect, USA
Mr. Kotsokostas N.Antonios, TEI Piraeus, Hellas
Prof Steven Totosy de Zepetnek, U of Halle-Wittenberg & Purdue U & National Sun Yat-sen U,
Germany, USA, Taiwan
Mr. M Arif Siddiqui, Najran University, Saudi Arabia
Ms. Ilknur Icke, The Graduate Center, City University of New York, USA
Prof Miroslav Baca, Faculty of Organization and Informatics, University of Zagreb, Croatia
Dr. Elvia Ruiz Beltrn, Instituto Tecnolgico de Aguascalientes, Mexico
Mr. Moustafa Banbouk, Engineer du Telecom, UAE
Mr. Kevin P. Monaghan, Wayne State University, Detroit, Michigan, USA
Ms. Moira Stephens, University of Sydney, Australia
Ms. Maryam Feily, National Advanced IPv6 Centre of Excellence (NAV6) , Universiti Sains Malaysia
(USM), Malaysia
Dr. Constantine YIALOURIS, Informatics Laboratory Agricultural University of Athens, Greece
Mrs. Angeles Abella, U. de Montreal, Canada
Dr. Patrizio Arrigo, CNR ISMAC, italy
Mr. Anirban Mukhopadhyay, B.P.Poddar Institute of Management & Technology, India
Mr. Dinesh Kumar, DAV Institute of Engineering & Technology, India
Mr. Jorge L. Hernandez-Ardieta, INDRA SISTEMAS / University Carlos III of Madrid, Spain
Mr. AliReza Shahrestani, University of Malaya (UM), National Advanced IPv6 Centre of Excellence
(NAv6), Malaysia
Mr. Blagoj Ristevski, Faculty of Administration and Information Systems Management - Bitola,
Republic of Macedonia
Mr. Mauricio Egidio Canto, Department of Computer Science / University of So Paulo, Brazil
Mr. Jules Ruis, Fractal Consultancy, The netherlands

Mr. Mohammad Iftekhar Husain, University at Buffalo, USA

Dr. Deepak Laxmi Narasimha, Department of Software Engineering, Faculty of Computer Science and
Information Technology, University of Malaya, Malaysia
Dr. Paola Di Maio, DMEM University of Strathclyde, UK
Dr. Bhanu Pratap Singh, Institute of Instrumentation Engineering, Kurukshetra University
Kurukshetra, India
Mr. Sana Ullah, Inha University, South Korea
Mr. Cornelis Pieter Pieters, Condast, The Netherlands
Dr. Amogh Kavimandan, The MathWorks Inc., USA
Dr. Zhinan Zhou, Samsung Telecommunications America, USA
Mr. Alberto de Santos Sierra, Universidad Politcnica de Madrid, Spain
Dr. Md. Atiqur Rahman Ahad, Department of Applied Physics, Electronics & Communication
Engineering (APECE), University of Dhaka, Bangladesh
Dr. Charalampos Bratsas, Lab of Medical Informatics, Medical Faculty, Aristotle University,
Thessaloniki, Greece
Ms. Alexia Dini Kounoudes, Cyprus University of Technology, Cyprus
Dr. Jorge A. Ruiz-Vanoye, Universidad Jurez Autnoma de Tabasco, Mexico
Dr. Alejandro Fuentes Penna, Universidad Popular Autnoma del Estado de Puebla, Mxico
Dr. Ocotln Daz-Parra, Universidad Jurez Autnoma de Tabasco, Mxico
Mrs. Nantia Iakovidou, Aristotle University of Thessaloniki, Greece
Mr. Vinay Chopra, DAV Institute of Engineering & Technology, Jalandhar
Ms. Carmen Lastres, Universidad Politcnica de Madrid - Centre for Smart Environments, Spain
Dr. Sanja Lazarova-Molnar, United Arab Emirates University, UAE
Mr. Srikrishna Nudurumati, Imaging & Printing Group R&D Hub, Hewlett-Packard, India
Dr. Olivier Nocent, CReSTIC/SIC, University of Reims, France
Mr. Burak Cizmeci, Isik University, Turkey
Dr. Carlos Jaime Barrios Hernandez, LIG (Laboratory Of Informatics of Grenoble), France
Mr. Md. Rabiul Islam, Rajshahi university of Engineering & Technology (RUET), Bangladesh
Dr. LAKHOUA Mohamed Najeh, ISSAT - Laboratory of Analysis and Control of Systems, Tunisia
Dr. Alessandro Lavacchi, Department of Chemistry - University of Firenze, Italy
Mr. Mungwe, University of Oldenburg, Germany
Mr. Somnath Tagore, Dr D Y Patil University, India
Ms. Xueqin Wang, ATCS, USA
Dr. Borislav D Dimitrov, Department of General Practice, Royal College of Surgeons in Ireland,
Dublin, Ireland
Dr. Fondjo Fotou Franklin, Langston University, USA
Dr. Vishal Goyal, Department of Computer Science, Punjabi University, Patiala, India
Mr. Thomas J. Clancy, ACM, United States
Dr. Ahmed Nabih Zaki Rashed, Dr. in Electronic Engineering, Faculty of Electronic Engineering,
menouf 32951, Electronics and Electrical Communication Engineering Department, Menoufia university,
Dr. Rushed Kanawati, LIPN, France
Mr. Koteshwar Rao, K G Reddy College Of ENGG.&TECH,CHILKUR, RR DIST.,AP, India
Mr. M. Nagesh Kumar, Department of Electronics and Communication, J.S.S. research foundation,
Mysore University, Mysore-6, India

Dr. Ibrahim Noha, Grenoble Informatics Laboratory, France

Mr. Muhammad Yasir Qadri, University of Essex, UK
Mr. Annadurai .P, KMCPGS, Lawspet, Pondicherry, India, (Aff. Pondicherry Univeristy, India
Mr. E Munivel , CEDTI (Govt. of India), India
Dr. Chitra Ganesh Desai, University of Pune, India
Mr. Syed, Analytical Services & Materials, Inc., USA
Mrs. Payal N. Raj, Veer South Gujarat University, India
Mrs. Priti Maheshwary, Maulana Azad National Institute of Technology, Bhopal, India
Mr. Mahesh Goyani, S.P. University, India, India
Mr. Vinay Verma, Defence Avionics Research Establishment, DRDO, India
Dr. George A. Papakostas, Democritus University of Thrace, Greece
Mr. Abhijit Sanjiv Kulkarni, DARE, DRDO, India
Mr. Kavi Kumar Khedo, University of Mauritius, Mauritius
Dr. B. Sivaselvan, Indian Institute of Information Technology, Design & Manufacturing,
Kancheepuram, IIT Madras Campus, India
Dr. Partha Pratim Bhattacharya, Greater Kolkata College of Engineering and Management, West
Bengal University of Technology, India
Mr. Manish Maheshwari, Makhanlal C University of Journalism & Communication, India
Dr. Siddhartha Kumar Khaitan, Iowa State University, USA
Dr. Mandhapati Raju, General Motors Inc, USA
Dr. M.Iqbal Saripan, Universiti Putra Malaysia, Malaysia
Mr. Ahmad Shukri Mohd Noor, University Malaysia Terengganu, Malaysia
Mr. Selvakuberan K, TATA Consultancy Services, India
Dr. Smita Rajpal, Institute of Technology and Management, Gurgaon, India
Mr. Rakesh Kachroo, Tata Consultancy Services, India
Mr. Raman Kumar, National Institute of Technology, Jalandhar, Punjab., India
Mr. Nitesh Sureja, S.P.University, India
Dr. M. Emre Celebi, Louisiana State University, Shreveport, USA
Dr. Aung Kyaw Oo, Defence Services Academy, Myanmar
Mr. Sanjay P. Patel, Sankalchand Patel College of Engineering, Visnagar, Gujarat, India
Dr. Pascal Fallavollita, Queens University, Canada
Mr. Jitendra Agrawal, Rajiv Gandhi Technological University, Bhopal, MP, India
Mr. Ismael Rafael Ponce Medelln, Cenidet (Centro Nacional de Investigacin y Desarrollo
Tecnolgico), Mexico
Mr. Supheakmungkol SARIN, Waseda University, Japan
Mr. Shoukat Ullah, Govt. Post Graduate College Bannu, Pakistan
Dr. Vivian Augustine, Telecom Zimbabwe, Zimbabwe
Mrs. Mutalli Vatila, Offshore Business Philipines, Philipines
Mr. Pankaj Kumar, SAMA, India
Dr. Himanshu Aggarwal, Punjabi University,Patiala, India
Dr. Vauvert Guillaume, Europages, France
Prof Yee Ming Chen, Department of Industrial Engineering and Management, Yuan Ze University,
Dr. Constantino Malagn, Nebrija University, Spain
Prof Kanwalvir Singh Dhindsa, B.B.S.B.Engg.College, Fatehgarh Sahib (Punjab), India

Mr. Angkoon Phinyomark, Prince of Singkla University, Thailand

Ms. Nital H. Mistry, Veer Narmad South Gujarat University, Surat, India
Dr. M.R.Sumalatha, Anna University, India
Mr. Somesh Kumar Dewangan, Disha Institute of Management and Technology, India
Mr. Raman Maini, Punjabi University, Patiala(Punjab)-147002, India
Dr. Abdelkader Outtagarts, Alcatel-Lucent Bell-Labs, France
Prof Dr. Abdul Wahid, AKG Engg. College, Ghaziabad, India
Mr. Prabu Mohandas, Anna University/Adhiyamaan College of Engineering, india
Dr. Manish Kumar Jindal, Panjab University Regional Centre, Muktsar, India
Prof Mydhili K Nair, M S Ramaiah Institute of Technnology, Bangalore, India
Dr. C. Suresh Gnana Dhas, VelTech MultiTech Dr.Rangarajan Dr.Sagunthala Engineering
College,Chennai,Tamilnadu, India
Prof Akash Rajak, Krishna Institute of Engineering and Technology, Ghaziabad, India
Mr. Ajay Kumar Shrivastava, Krishna Institute of Engineering & Technology, Ghaziabad, India
Mr. Deo Prakash, SMVD University, Kakryal(J&K), India
Dr. Vu Thanh Nguyen, University of Information Technology HoChiMinh City, VietNam
Prof Deo Prakash, SMVD University (A Technical University open on I.I.T. Pattern) Kakryal (J&K),
Dr. Navneet Agrawal, Dept. of ECE, College of Technology & Engineering, MPUAT, Udaipur 313001
Rajasthan, India
Mr. Sufal Das, Sikkim Manipal Institute of Technology, India
Mr. Anil Kumar, Sikkim Manipal Institute of Technology, India
Dr. B. Prasanalakshmi, King Saud University, Saudi Arabia.
Dr. K D Verma, S.V. (P.G.) College, Aligarh, India
Mr. Mohd Nazri Ismail, System and Networking Department, University of Kuala Lumpur (UniKL),
Dr. Nguyen Tuan Dang, University of Information Technology, Vietnam National University Ho Chi
Minh city, Vietnam
Dr. Abdul Aziz, University of Central Punjab, Pakistan
Dr. P. Vasudeva Reddy, Andhra University, India
Mrs. Savvas A. Chatzichristofis, Democritus University of Thrace, Greece
Mr. Marcio Dorn, Federal University of Rio Grande do Sul - UFRGS Institute of Informatics, Brazil
Mr. Luca Mazzola, University of Lugano, Switzerland
Mr. Nadeem Mahmood, Department of Computer Science, University of Karachi, Pakistan
Mr. Hafeez Ullah Amin, Kohat University of Science & Technology, Pakistan
Dr. Professor Vikram Singh, Ch. Devi Lal University, Sirsa (Haryana), India
Mr. M. Azath, Calicut/Mets School of Enginerring, India
Dr. J. Hanumanthappa, DoS in CS, University of Mysore, India
Dr. Shahanawaj Ahamad, Department of Computer Science, King Saud University, Saudi Arabia
Dr. K. Duraiswamy, K. S. Rangasamy College of Technology, India
Prof. Dr Mazlina Esa, Universiti Teknologi Malaysia, Malaysia
Dr. P. Vasant, Power Control Optimization (Global), Malaysia
Dr. Taner Tuncer, Firat University, Turkey
Dr. Norrozila Sulaiman, University Malaysia Pahang, Malaysia
Prof. S K Gupta, BCET, Guradspur, India

Dr. Latha Parameswaran, Amrita Vishwa Vidyapeetham, India

Mr. M. Azath, Anna University, India
Dr. P. Suresh Varma, Adikavi Nannaya University, India
Prof. V. N. Kamalesh, JSS Academy of Technical Education, India
Dr. D Gunaseelan, Ibri College of Technology, Oman
Mr. Sanjay Kumar Anand, CDAC, India
Mr. Akshat Verma, CDAC, India
Mrs. Fazeela Tunnisa, Najran University, Kingdom of Saudi Arabia
Mr. Hasan Asil, Islamic Azad University Tabriz Branch (Azarshahr), Iran
Prof. Dr Sajal Kabiraj, Fr. C Rodrigues Institute of Management Studies (Affiliated to University of
Mumbai, India), India
Mr. Syed Fawad Mustafa, GAC Center, Shandong University, China
Dr. Natarajan Meghanathan, Jackson State University, Jackson, MS, USA
Prof. Selvakani Kandeeban, Francis Xavier Engineering College, India
Mr. Tohid Sedghi, Urmia University, Iran
Dr. S. Sasikumar, PSNA College of Engg and Tech, Dindigul, India
Dr. Anupam Shukla, Indian Institute of Information Technology and Management Gwalior, India
Mr. Rahul Kala, Indian Institute of Inforamtion Technology and Management Gwalior, India
Dr. A V Nikolov, National University of Lesotho, Lesotho
Mr. Kamal Sarkar, Department of Computer Science and Engineering, Jadavpur University, India
Dr. Mokhled S. AlTarawneh, Computer Engineering Dept., Faculty of Engineering, Mutah University,
Jordan, Jordan
Prof. Sattar J Aboud, Iraqi Council of Representatives, Iraq-Baghdad
Dr. Prasant Kumar Pattnaik, Department of CSE, KIST, India
Dr. Mohammed Amoon, King Saud University, Saudi Arabia
Dr. Tsvetanka Georgieva, Department of Information Technologies, St. Cyril and St. Methodius
University of Veliko Tarnovo, Bulgaria
Dr. Eva Volna, University of Ostrava, Czech Republic
Mr. Ujjal Marjit, University of Kalyani, West-Bengal, India
Dr. Prasant Kumar Pattnaik, KIST,Bhubaneswar,India, India
Dr. Guezouri Mustapha, Department of Electronics, Faculty of Electrical Engineering, University of
Science and Technology (USTO), Oran, Algeria
Mr. Maniyar Shiraz Ahmed, Najran University, Najran, Saudi Arabia
Dr. Sreedhar Reddy, JNTU, SSIETW, Hyderabad, India
Mr. Bala Dhandayuthapani Veerasamy, Mekelle University, Ethiopa
Mr. Arash Habibi Lashkari, University of Malaya (UM), Malaysia
Mr. Rajesh Prasad, LDC Institute of Technical Studies, Allahabad, India
Ms. Habib Izadkhah, Tabriz University, Iran
Dr. Lokesh Kumar Sharma, Chhattisgarh Swami Vivekanand Technical University Bhilai, India
Mr. Kuldeep Yadav, IIIT Delhi, India
Dr. Naoufel Kraiem, Institut Superieur d'Informatique, Tunisia
Prof. Frank Ortmeier, Otto-von-Guericke-Universitaet Magdeburg, Germany
Mr. Ashraf Aljammal, USM, Malaysia
Mrs. Amandeep Kaur, Department of Computer Science, Punjabi University, Patiala, Punjab, India
Mr. Babak Basharirad, University Technology of Malaysia, Malaysia

Mr. Avinash singh, Kiet Ghaziabad, India

Dr. Miguel Vargas-Lombardo, Technological University of Panama, Panama
Dr. Tuncay Sevindik, Firat University, Turkey
Ms. Pavai Kandavelu, Anna University Chennai, India
Mr. Ravish Khichar, Global Institute of Technology, India
Mr Aos Alaa Zaidan Ansaef, Multimedia University, Cyberjaya, Malaysia
Dr. Awadhesh Kumar Sharma, Dept. of CSE, MMM Engg College, Gorakhpur-273010, UP, India
Mr. Qasim Siddique, FUIEMS, Pakistan
Dr. Le Hoang Thai, University of Science, Vietnam National University - Ho Chi Minh City, Vietnam
Dr. Saravanan C, NIT, Durgapur, India
Dr. Vijay Kumar Mago, DAV College, Jalandhar, India
Dr. Do Van Nhon, University of Information Technology, Vietnam
Mr. Georgios Kioumourtzis, University of Patras, Greece
Mr. Amol D.Potgantwar, SITRC Nasik, India
Mr. Lesedi Melton Masisi, Council for Scientific and Industrial Research, South Africa
Dr. Karthik.S, Department of Computer Science & Engineering, SNS College of Technology, India
Mr. Nafiz Imtiaz Bin Hamid, Department of Electrical and Electronic Engineering, Islamic University
of Technology (IUT), Bangladesh
Mr. Muhammad Imran Khan, Universiti Teknologi PETRONAS, Malaysia
Dr. Abdul Kareem M. Radhi, Information Engineering - Nahrin University, Iraq
Dr. Mohd Nazri Ismail, University of Kuala Lumpur, Malaysia
Dr. Manuj Darbari, BBDNITM, Institute of Technology, A-649, Indira Nagar, Lucknow 226016, India
Ms. Izerrouken, INP-IRIT, France
Mr. Nitin Ashokrao Naik, Dept. of Computer Science, Yeshwant Mahavidyalaya, Nanded, India
Mr. Nikhil Raj, National Institute of Technology, Kurukshetra, India
Prof. Maher Ben Jemaa, National School of Engineers of Sfax, Tunisia
Prof. Rajeshwar Singh, BRCM College of Engineering and Technology, Bahal Bhiwani, Haryana,
Mr. Gaurav Kumar, Department of Computer Applications, Chitkara Institute of Engineering and
Technology, Rajpura, Punjab, India
Mr. Ajeet Kumar Pandey, Indian Institute of Technology, Kharagpur, India
Mr. Rajiv Phougat, IBM Corporation, USA
Mrs. Aysha V, College of Applied Science Pattuvam affiliated with Kannur University, India
Dr. Debotosh Bhattacharjee, Department of Computer Science and Engineering, Jadavpur University,
Kolkata-700032, India
Dr. Neelam Srivastava, Institute of engineering & Technology, Lucknow, India
Prof. Sweta Verma, Galgotia's College of Engineering & Technology, Greater Noida, India
Mr. Harminder Singh BIndra, MIMIT, INDIA
Dr. Lokesh Kumar Sharma, Chhattisgarh Swami Vivekanand Technical University, Bhilai, India
Mr. Tarun Kumar, U.P. Technical University/Radha Govinend Engg. College, India
Mr. Tirthraj Rai, Jawahar Lal Nehru University, New Delhi, India
Mr. Akhilesh Tiwari, Madhav Institute of Technology & Science, India
Mr. Dakshina Ranjan Kisku, Dr. B. C. Roy Engineering College, WBUT, India
Ms. Anu Suneja, Maharshi Markandeshwar University, Mullana, Haryana, India
Mr. Munish Kumar Jindal, Punjabi University Regional Centre, Jaito (Faridkot), India

Dr. Ashraf Bany Mohammed, Management Information Systems Department, Faculty of

Administrative and Financial Sciences, Petra University, Jordan
Mrs. Jyoti Jain, R.G.P.V. Bhopal, India
Dr. Lamia Chaari, SFAX University, Tunisia
Mr. Akhter Raza Syed, Department of Computer Science, University of Karachi, Pakistan
Prof. Khubaib Ahmed Qureshi, Information Technology Department, HIMS, Hamdard University,
Prof. Boubker Sbihi, Ecole des Sciences de L'Information, Morocco
Dr. S. M. Riazul Islam, Inha University, South Korea
Prof. Lokhande S.N., S.R.T.M.University, Nanded (MH), India
Dr. Vijay H Mankar, Dept. of Electronics, Govt. Polytechnic, Nagpur, India
Dr. M. Sreedhar Reddy, JNTU, Hyderabad, SSIETW, India
Mr. Ojesanmi Olusegun, Ajayi Crowther University, Oyo, Nigeria
Ms. Mamta Juneja, RBIEBT, PTU, India
Dr. Ekta Walia Bhullar, Maharishi Markandeshwar University, Mullana Ambala (Haryana), India
Prof. Chandra Mohan, John Bosco Engineering College, India
Mr. Nitin A. Naik, Yeshwant Mahavidyalaya, Nanded, India
Mr. Sunil Kashibarao Nayak, Bahirji Smarak Mahavidyalaya, Basmathnagar Dist-Hingoli., India
Prof. Rakesh.L, Vijetha Institute of Technology, Bangalore, India
Mr B. M. Patil, Indian Institute of Technology, Roorkee, Uttarakhand, India
Mr. Thipendra Pal Singh, Sharda University, K.P. III, Greater Noida, Uttar Pradesh, India
Prof. Chandra Mohan, John Bosco Engg College, India
Mr. Hadi Saboohi, University of Malaya - Faculty of Computer Science and Information Technology,
Dr. R. Baskaran, Anna University, India
Dr. Wichian Sittiprapaporn, Mahasarakham University College of Music, Thailand
Mr. Lai Khin Wee, Universiti Teknologi Malaysia, Malaysia
Dr. Kamaljit I. Lakhtaria, Atmiya Institute of Technology, India
Mrs. Inderpreet Kaur, PTU, Jalandhar, India
Mr. Iqbaldeep Kaur, PTU / RBIEBT, India
Mrs. Vasudha Bahl, Maharaja Agrasen Institute of Technology, Delhi, India
Prof. Vinay Uttamrao Kale, P.R.M. Institute of Technology & Research, Badnera, Amravati,
Maharashtra, India
Mr. Suhas J Manangi, Microsoft, India
Ms. Anna Kuzio, Adam Mickiewicz University, School of English, Poland
Mr. Vikas Singla, Malout Institute of Management & Information Technology, Malout, Punjab, India,
Dr. Dalbir Singh, Faculty of Information Science And Technology, National University of Malaysia,
Dr. Saurabh Mukherjee, PIM, Jiwaji University, Gwalior, M.P, India
Dr. Debojyoti Mitra, Sir Padampat Singhania University, India
Prof. Rachit Garg, Department of Computer Science, L K College, India
Dr. Arun Kumar Gupta, M.S. College, Saharanpur, India
Dr. Todor Todorov, Institute of Mathematics and Informatics, Bulgarian Academy of Sciences,

Mr. Akhter Raza Syed, University of Karachi, Pakistan

Mrs. Manjula K A, Kannur University, India
Prof. M. Saleem Babu, Department of Computer Science and Engineering, Vel Tech University,
Chennai, India
Dr. Rajesh Kumar Tiwari, GLA Institute of Technology, India
Dr. V. Nagarajan, SMVEC, Pondicherry university, India
Mr. Rakesh Kumar, Indian Institute of Technology Roorkee, India
Prof. Amit Verma, PTU/RBIEBT, India
Mr. Sohan Purohit, University of Massachusetts Lowell, USA
Mr. Anand Kumar, AMC Engineering College, Bangalore, India
Dr. Samir Abdelrahman, Computer Science Department, Cairo University, Egypt
Dr. Rama Prasad V Vaddella, Sree Vidyanikethan Engineering College, India
Prof. Jyoti Prakash Singh, Academy of Technology, India
Mr. Peyman Taher, Oklahoma State University, USA
Dr. S Srinivasan, PDM College of Engineering, India
Mr. Muhammad Zakarya, CIIT, Pakistan
Mr. Williamjeet Singh, Chitkara Institute of Engineering and Technology, India
Mr. G.Jeyakumar, Amrita School of Engineering, India
Mr. Harmunish Taneja, Maharishi Markandeshwar University, Mullana, Ambala, Haryana, India
Dr. Sin-Ban Ho, Faculty of IT, Multimedia University, Malaysia
Mrs. Doreen Hephzibah Miriam, Anna University, Chennai, India
Mrs. Mitu Dhull, GNKITMS Yamuna Nagar Haryana, India
Mr. Neetesh Gupta, Technocrats Inst. of Technology, Bhopal, India
Ms. A. Lavanya, Manipal University, Karnataka, India
Ms. D. Pravallika, Manipal University, Karnataka, India
Prof. Ashutosh Kumar Dubey, Assistant Professor, India
Mr. Ranjit Singh, Apeejay Institute of Management, Jalandhar, India
Mr. Prasad S.Halgaonkar, MIT, Pune University, India
Mr. Anand Sharma, MITS, Lakshmangarh, Sikar (Rajasthan), India
Mr. Amit Kumar, Jaypee University of Engineering and Technology, India
Prof. Vasavi Bande, Computer Science and Engneering, Hyderabad Institute of Technology and
Management, India
Dr. Jagdish Lal Raheja, Central Electronics Engineering Research Institute, India
Mr G. Appasami, Dept. of CSE, Dr. Pauls Engineering College, Anna University - Chennai, India
Mr Vimal Mishra, U.P. Technical Education, Allahabad, India
Dr. Arti Arya, PES School of Engineering, Bangalore (under VTU, Belgaum, Karnataka), India
Mr. Pawan Jindal, J.U.E.T. Guna, M.P., India
Dr. P. K. Suri, Department of Computer Science & Applications, Kurukshetra University, Kurukshetra,
Dr. Syed Akhter Hossain, Daffodil International University, Bangladesh
Mr. Nasim Qaisar, Federal Urdu Univetrsity of Arts , Science and Technology, Pakistan
Mr. Mohit Jain, Maharaja Surajmal Institute of Technology (Affiliated to Guru Gobind Singh
Indraprastha University, New Delhi), India
Dr. Shaveta Rani, GZS College of Engineering & Technology, India
Dr. Paramjeet Singh, GZS College of Engineering & Technology, India

Prof. T Venkat Narayana Rao, Department of CSE, Hyderabad Institute of Technology and
Management , India
Mr. Vikas Gupta, CDLM Government Engineering College, Panniwala Mota, India
Dr Juan Jos Martnez Castillo, University of Yacambu, Venezuela
Mr Kunwar S. Vaisla, Department of Computer Science & Engineering, BCT Kumaon Engineering
College, India
Prof. Manpreet Singh, M. M. Engg. College, M. M. University, Haryana, India
Mr. Syed Imran, University College Cork, Ireland
Dr. Namfon Assawamekin, University of the Thai Chamber of Commerce, Thailand
Dr. Shahaboddin Shamshirband, Islamic Azad University, Iran
Dr. Mohamed Ali Mahjoub, University of Monastir, Tunisia
Mr. Adis Medic, Infosys ltd, Bosnia and Herzegovina
Mr Swarup Roy, Department of Information Technology, North Eastern Hill University, Umshing,
Shillong 793022, Meghalaya, India

1. Dynamic Shared Context Processing in an E-Collaborative Learning Environment
Jing Peng, Alain-Jrme Fougres, Samuel Deniaud and Michel Ferney

Pg 1-9

2. Domain Specific Modeling Language for Early Warning System: Using IDEF0 for
Domain Analysis
Syed Imran, Franclin Foping, John Feehan and Ioannis M. Dokas

Pg 10-17

3. CETLs: Supporting Collaborative Activities Among Students and Teachers

Through the Use of Think- Pair-Share Techniques
N. A. Nik Azlina

Pg 18-29

4. Dynamic Clustering for QoS based Secure Multicast Key Distribution in Mobile Ad
Hoc Networks
Suganyadevi Devaraju and Ganapathi Padmavathi

Pg 30-37

5. A Theoretical Methodology and Prototype Implementation for Detection

Segmentation Classification of Digital Mammogram Tumor by Machine Learning and
Problem Solving Approach
Raman Valliappan, Sumari Putra and Rajeswari Mandava

Pg 38-44

6. Evaluation of Computer-aided Drug Delivery System with a Human Operator

Koji Kashihara and Yoshibumi Nakahara

Pg 45-50

7. Semantic Interoperability in Electronic Business

Juha Puustjrvi

Pg 51-63

8. Study of algorithms to optimize frequency assignment for autonomous IEEE 802.11

access points
Michael Finsterbusch and Patrick Schmidt

Pg 64-72

9. A Knowledge-Based Multi-Agent Approach for Initial Query Refinement in

Information Retrieval
Tatyana Ivanova and Ivan Momtchev

Pg 73-81

10. DEMAC: A Cluster-Based Topology Control for Ad Hoc Networks

Abhishek Majumder and Nityananda Sarma

Pg 82-88

11. Experimental Evaluation of Memory Effects on TCP Traffic in Congested

Kulvinder Singh and Anil Kumar

Pg 89-93

12. A Comparison Between Five Models Of Software Engineering

Nabil Mohammed Ali Munassar and A. Govardhan

Pg 94-101

13. Extracting Support Based k most Strongly Correlated Item Pairs in Large
Transaction Databases
Swarup Roy and Dhruba K. Bhattacharyya

Pg 102-111

14. The Use of Underwater Wireless Networks in Pisciculture at Amazon

Isadora Santos, Gleyson Souza and Mauro Margalho

Pg 112-116

15. Properties Based Simplification of 2D Urban Area Map Object

Jagdish Lal Raheja and Umesh Kumar

Pg 117-121

16. A proposed Ontology to support Modeling Diagrams

Nisreen Innab, Nidal Yousef and Mohammad Al-Fayoumi

Pg 122-127

17. Comparison between Conventional and Fuzzy Logic PID Controllers for
Controlling DC Motors
Essam Natsheh and Khalid A. Buragga

Pg 128-134

18. A Robust and Secure Methodology for Network Communications

Mayank Srivastava, Mohd. Qasim Rafiq and Rajesh Kumar Tiwari

Pg 135-141

19. A New Approach of Using Association Rule Mining in Customer Complaint

Behrouz Minaei-Bidgoli and Elham Akhondzadeh

Pg 142-147

20. A Three Party Authentication for Key Distributed Protocol Using Classical and
Quantum Cryptography
Suganya Ranganathan, Nagarajan Ramasamy, Senthil Karthick Kumar
Arumugam, Balaji Dhanasekaran, Prabhu Ramalingam, Venkateswaran Radhakrishnan
and Ramesh Kumar Karpuppiah

Pg 148-152

21. Fault Tolerance Mobile Agent System Using Witness Agent in 2-Dimensional Mesh
Ahmad Rostami, Hassan Rashidi and Majidreza Shams Zahraie

Pg 153-158

22. Securing Revocable Iris and Retinal Templates using Combined User and Soft
Biometric based Password Hardened Multimodal Fuzzy Vault
V. S. Meenakshi and Ganapathi Padmavathi

Pg 159-166

23. Interactive Guided Online/Off-line search using Google API and JSON
Kalyan Netti

Pg 167-174

24. Static Noise Margin Analysis of SRAM Cell for High Speed Application
Debasis Mukherjee, Hemanta Kr. Mondal and B. V. Ramana Reddy

Pg 175-180

25. A New Approach for Evaluation of Data Mining Techniques

Moawia Elfaki Yahia and Murtada El-mukashfi El-taher

Pg 181-186

26. Rule Based Selection of 2D Urban Area Map Objects

Jagdish Lal Raheja and Umesh Kumar

Pg 187-190

27. Design and Implementation of a System for Wireless Control of a Robot

Christian Hernndez, Raciel Poot, Lizzie Narvez, Erika Llanes and Victor Chi

Pg 191-197

28. A Review of Supply Chain Management using Multi-Agent System

Vivek Kumar and S Srinivasan

Pg 198-205

29. Development of Ontology for Smart Hospital and Implementation using UML and
Sanjay Kumar Anand and Akshat Verma

Pg 206-212

30. Survey: Image Encryption Using Salsa20

Alireza Jolfaei and Abdolrasoul Mirghadri

Pg 213-220

31. Semantic layer based ontologies to reformulate the neurological queries in mobile
Youssouf El Allioui and Omar El Beqqali

Pg 221-230

32. SMA and Mobile Agents Actors for Distributed Testing

Salma Azzouzi, Mohammed Benattou, My El Hassan Charaf and Jaafar Abouchabaka

Pg 231-238

33. Design Methodology of a Fuzzy Knowledgebase System to predict the risk of

Diabetic Nephropathy
E. RamaDevi and N. Nagaveni

Pg 239-247

34. Reengineering Of Education Institute And Coupling Measurement

Ashok Kumar, Anil Kumar and Kulvinder Singh

Pg 248-252

35. Design of Compressed Memory Model Based on AVC Standard for Robotics
Devaraj Verma C and VijayaKumar M.V

Pg 253-261

36. Iterative Refinement of Transformation Parameters for Image Registration

Jharna Majumdar, B. Vanathy and S. Lekshmi

Pg 262-267

37. Performance Analysis of FTTH at 10 Gbit/s by GEPON Architecture

Monika Gupta, Neeru Malhotra and A. N. Pathak

Pg 268-271

38. Modeling and design of evolutionary neural network for heart disease detection
K. S. Kavitha, K. V. Ramakrishnan and Manoj Kumar Singh

Pg 272-283

39. Human Tracking and Segmentation using Color Space Conversion

M. Sivabalakrishnan and D. Manjula

Pg 284-288

40. Character Recognition using RCS with Neural Network

C. Sureshkumar and T. Ravichandran

Pg 289-295

41. Performance Analysis of the Signaling Channels of OBS Switches

Hulusi-Yahyagil, A. Halim Zaim, M. Ali Aydin and . Can Turna

Pg 296-301

42. A Color Image Digital Watermarking Scheme Based on SOFM

J. Anitha and S. Immanuel Alex Pandian

Pg 302-309

43. E-Government Challenges in Public Sector: A case study of Pakistan

Nasim Qaisar and Hafiz Ghufran Ali Khan

Pg 310-317

44. Novel Genetic Algorithm towards Implementing a Lining-Layout Optimization

Ismadi Md Badarudin, Abu Bakar Md Sultan, Md Nasir Sulaiman, Ali Mamat
and Mahmud Tengku Muda Mohamed

Pg 318-326

45. Computational Analysis of Optical Neural Network Models to Weather

A. C. Subhajini and V. Joseph Raj

Pg 327-330

46. A Simple Modified Transmission Line Model for Inset Fed Antenna Design
M. Fawzi Bendahmane, Mehadji Abri, Fethi Tarik Bendimerad and Noureddine BoukliHacene

Pg 331-335

47. Optimum Multilevel Image Thresholding Based on Tsallis Entropy Method with
Bacterial Foraging Algorithm
P. D. Sathya and R. Kayalvizhi

Pg 336-343

48. A Lazy Ensemble Learning Method to Classification

Haleh Homayouni, Sattar Hashemi and Ali Hamzeh

Pg 344-349

49. Automated Test Data Generation Based On Individual Constraints and Boundary
Hitesh Tahbildar and Bichitra Kalita

Pg 350-359

50. Quantum Multiplexer Designing and Optimization applying Genetic Algorithm

Debarka Mukhopadhyay and Amalendu Si

Pg 360-366

51. Hybrid Face Detection in Color Images

Mehrnaz Niazi and Shahram Jafari

Pg 367-373

52. An Evolvable-Clustering-Based Algorithm to Learn Distance Function for

Supervised Environment
Zeinab Khorshidpour, Sattar Hashemi and Ali Hamzeh

Pg 374-381

53. Product Lines' Feature-Oriented Engineering for Reuse: A Formal Approach

Marcel Fouda Ndjodo and Amougou Ngoumou

Pg 382-393

54. Ternary Tree and Clustering Based Huffman Coding Algorithm

Pushpa R. Suri and Madhu Goel

Pg 394-398

55. Risk Quantification Using EMV Analysis - A Strategic Case of Ready Mix
Concrete Plants
Roopdarshan Walke, Vinay Topkar and Sajal Kabiraj

Pg 399-408

56. Rule Based Machine Translation of Noun Phrases from Punjabi to English
Kamaljeet Kaur Batra and Gurpreet Singh Lehal

Pg 409-413

57. A Study Of Image Segmentation Algorithms For Different Types Of Images

Krishna Kant Singh and Akansha Singh

Pg 414-417

58. Software Architecture, Scenario and Patterns

R.V. Siva Balan and M. Punithavalli

Pg 418-423

59. Efficient 2.45 GHz Rectenna Design with high Harmonic Rejection for Wireless
Power Transmission
Zied Harouni, Lotfi Osman and Ali Gharsallah

Pg 424-427

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Dynamic Shared Context Processing in an E-Collaborative

Learning Environment
Jing Peng1, Alain-Jrme Fougres1, Samuel Deniaud1 and Michel Ferney1

M3M Laboratory, University of Technology of Belfort-Montbliard

Belfort, France

In this paper, we propose a dynamic shared context processing
method based on DSC (Dynamic Shared Context) model, applied
in an e-collaborative learning environment. Firstly, we present
the model. This is a way to measure the relevance between
events and roles in collaborative environments. With this method,
we can share the most appropriate event information for each
role instead of sharing all information to all roles in a
collaborative work environment. Then, we apply and verify this
method in our project with Google App supported e-learning
collaborative environment. During this experiment, we compared
DSC method measured relevance of events and roles to manual
measured relevance. And we describe the favorable points from
this comparison and our finding. Finally, we discuss our future
research of a hybrid DSC method to make dynamical information
shared more effective in a collaborative work environment.
Keywords: Dynamical Shared Context, Relevant Information
Sharing, Computer Supported Collaborative Learning, CSCW

1. Introduction
Everyone now recognizes that effective collaboration
requires that each member of the collaboration receives
relevant information on the activity of his partners. The
support of this relevant information sharing consists of
models for formalizing relevant information, processors
for measuring relevance, and indicators for presenting
implementations of relevant information models have been
presented in the areas of HCI and Ubiquitous Computing.
System Engineering (SE) is the application field of our
research activity. According to ISO/IEC 15288:2002
standard [1], designing a system-of-interest needs 25
processes which are grouped into technical process,
project processes, etc. The system life cycle stages are
described by 11 technical processes. The first ones are the
Stakeholder Requirements Definition Process, the
Requirements Analysis Process and the Architectural
Design Process. They correspond to the left side of the
well-known entity Vee cycle [2] which links the technical
processes of the development stage with the project cycle

(described by the ISO/IEC 26702:2007 standard [3]). The

system architect plays a significant role during the system
development. Despite description of different tasks he has
to realize, there is a risk of lack of understanding of his
activity and of supporting the results of his system
architecture design, in a collaborative manner.
Hence, to improve collaboration between system architects
and other designers, we have defined two scientific
objectives: 1) observing, studying and modeling the daily
activity of system architect in order to produce new
knowledge and to propose an activity model which
describe his critical activity, and 2) facilitating cooperative
activity of designers and system architects, in improving
the sharing of their work context [4].
Regarding the second objective, we conducted two
experiments in educational context (student projects for a
course in digital factory):
For the first experiment during spring semester 2009,
we developed and implemented a computational model
of relevant shared information (0-1 static model),
based on an activity modelling using Activity Theory
[5, 6] and a pre-acquisition of student interests,
according to roles they would play in the proposed
project. Kaenampornpan and ONeill [5] have built a
context classification model based on AT to define the
elements of context. Cassens and Kofod-Petersen [6]
have proposed the use of AT to model the context. By
extension of this work, we proposed a context model
consisting of subject context, object context, rule
context, community context, tool context and division
of labour context (Figure 1).
For the second experiment, by repeating the same type
of project during spring semester 2010, based on
knowledge acquired from previous experience, we
developed and implemented a dynamic computational
model of relevant shared information (DSC model).

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010

ISSN (Online): 1694-0814

Division of labour










Fig. 1: Context modeling based on Activity Theory

In this paper, we firstly present DSC methodology which

is a technique to measure the relevance between events
and roles. Then, we apply this method in our collaborative
environment project, and compare the related results with
the results of manual-analyzing of the relevance. At last,
we analyze the results of relevance measurement, and
propose a new research direction to further improve the
relevance of calculation of information sharing contexts.

2. Issue of this Research

Information technology has played an important role in the
higher education infrastructure, and E-learning systems
make the education more and more flexible and ubiquitous
[7, 8]. Since learning is considered as a collaborative
activity, a variety of CSCL (Computer Supported
Collaborative Learning) systems have been developed in
order to have a more effective study performance. With
CSCL systems, students and teachers can perform all their
activities in this virtual classroom environment, for
instance, shared resources, disseminating knowledge and
information, discussing, and following the project, etc.
In E-learning systems, sharing and disseminating
information among the students and the teachers are very
helpful and meaningful, such as learning resources,
questions, feed-backs, etc. However in most CSCW
(Computer Supported Collaborative Work) systems,
sharing and disseminating information may cause a
redundancy which has a bad influence on work and study
performance [9, 10]. In our project, it is found that the
redundant shared information will affect study motivation
and performance. Therefore the elimination of the
redundant shared and disseminated information becomes
more and more crucial and important [11].
Measuring the relevance between events and roles, such as
what the information retrieval does, when there is a query
[12, 13]. In present study, that measurement is the way to
do share more precisely, when an event occurs in the
collaborative learning environment. We need to find the
most appropriate roles or users to share this specific event
information. This problem is resolved in three steps:

firstly, how to capture and identify event attributes of an

event when it is generated in the collaborative learning
environment? Secondly, how to identify and evaluate a
roles interest degree in the collaborative learning
environment, which means: what kinds of events will be
useful for him, and we can share these events information
to him? Thirdly, how to measure the relevance degree
between these roles and these events in the collaborative
environment? In the following section, these steps will be
explained in detail.

3. Method of Research
Our research has been carried out with two steps in two
years experiments:
Step 1: Context Factor collection. During the first
experiment, we collected the context factors
according to our context model from all the
information of events.
Step 2: Relevance measurement. During this
experiment, we calculate the relevance dynamically
through the context factor, which represent the
event attribute.
DSC is a generic extensible context awareness method,
which includes simple but powerful and lightweight
mechanisms for the generation of relevant shared
information to the appropriate users. The concept of DSC
is based on event attributes, roles interest degree, and
relevance measurement. Relevance has been studied for
the recent fifty years, and the general practice of relevance
analysis is to research or to analyze the relationships
between events or entities. The relevance measure or score
is a quantitative result of the relevance analysis [14, 15,
16]. In this paper, our method is based on context model
and relevance analysis (Figure 2). This method can be
descried in three parts from left to right:
Part 1: Event capture and Roles interests capture.
In this part, we suppose that events could be
presented by text and we gathered them during the
experiment. Then we used Natural Language
Processing tool to capture the key words as our
context factors. Similar demonstration can be made
for the roles interest capture. By supposing that the
roles interests could be presented by text, we
captured them during the ongoing of the experiment.
Part 2: Relevance measurement. Details of this part
are illustrated in the following paragraph.
Part 3: Relevantly shared information. The measured
information will be shared by relevance with
different role in order to reduce the redundancy of
information shared.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010

ISSN (Online): 1694-0814

In this paper, we do not describe the first phase of this

methodology, to focus on treatments carried out on
knowledge (events and interests of roles). Simply put, the
automatic capture of events, during the cooperative
activity mediated by our environment, can be done
automatically by an agent-based system [17, 18]. Indeed,
agents can observe the work conducted in the environment
and can capture and record all events and their context of






with E : total number of events in the corpus,

e : ci e : number of events where ci appears.

With these IEF parameters of CF, event attributes and
roles interest degree will be presented in following.

3.2. Event Attributes Modeling

For an event, we need a parameter to specify EA (Event
Attributes), which is a set of importance degree of CF in a
specific event. Firstly, we define CFF (Context Factor
Frequency) in equation (3) to present the probability of ci
in the total words appear in an event description or





Fig. 2: Methodology of modeling Dynamical Shared Context (DSC)

where ni is the number of occurrences of the considered ci

in an event (W is the sum of all the words in this event).

3.1. Context Modeling

In the presented model, contexts are used to cluster
information semantically. If we have a closer look at the
term context, Wang [19] defines a context as any
information that can be used to characterize the situation
of entities in the collaborative space. We propose a
conceptual model that classifies contextual information
into 7 categories as expressed in equation (1): Role
context, Task context, Object context, Tool context,
Requirement context, Community context and Event type
context [5, 6, 20, 21, 22].
Context = {Role, Object, Tool, Requirement, Community,
In each category, there are many terms to present this
context characteristic. We define these terms as CF
(Context Factor): ci which can be a word, or a sentence. A
CF is used to synthesize and describe an event attribute or
a roles interest degree. In our case, CF is extracted by a
probability method from a specific collaborative learning
environment. We extract 60 CF from previous experiment,
and we will use these CF in the next section.
Inspired from TF-IDF (Term Frequency Inverse
Document Frequency) method [23, 24, 25, 26], we define
IEF (Inverse Event Frequency) as a measure of general
importance of CF in a special corpus. Equation (2)
presents the general importance of ci (CF):

iefi log

e : ci e


Then, we define EW (Event Weight) of ci in equation (4),

which indicates the importance degree of ci in a specific
ewi cffi ief i
Finally, EA is obtained as (5):

ea ew1 , ew2 , ew3 ,...ewn


3.3. Role Interest Degree Modeling

A parameter presenting the RID (Roles Interest Degree),
which represents the interest degree of CF for a specific
role is needed. In the proposed method this can be
presented and evaluated by CF. Firstly, we define roles
REF (Relevant Event Frequency) in equation (6) to
specify the probability of the events where ci appears in
the total number of events relevant with a role.


er : ci er


with Er : total number of events in the corpus relative to

this role, er : ci er : number of events relative to this

role where ci appears.
Then, RW (Role Weight) of ci is defined in following
equation for a role, which specifies the importance degree
of ci for a specific role (7).
rwi refi iefi

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010

ISSN (Online): 1694-0814

assemble the fourth sub-assembly (SA 4) and then creates

the final product.

Finally, RID is obtained as (8):

rid rw1 , rw2 , rw3 ,...rwn


3.4. Context Relevance Measurement

The relevance measurement is realized by cosine
similarity method [27, 28, 29] in (9). Relevant sharing is a
concept which describes the relevance of shared
information. It considers that the relevance of shared
information is a measurable and quantitative issue. In our
opinion, the relevance of sharing is the most essential
motive factor to share information in the collaborative
work. Our aim is to measure relevance between events and

v v
relevanceve , vr cos e r
ve vr

SA 1
SA 2
SA 3


In practice, it is easier to calculate the cosine of the angle

between the vectors. is the angle between event
attributes vector and roles interest degree vector.
The event attributes vector for event e can be built from
equation (10):

ve ew1,e , ew2,e , ew3,e ,...ewn,e

As shown in table 1, the students are divided into 2 groups

of 15 persons. Each group aims at designing an assembly
system based on a concept which is different from the one
of the other group. The two different concepts of assembly
system are firstly given to students at the beginning of the
project. Then, each group is organized in 3 design teams:
two teams are in charge of one sub-assembly (SA 1, SA 2)
and the third one is in charge of the last sub-assembly
(SA 4) and the whole assembly of the product. The other
sub-assembly (SA 3) is assumed to be provided by an
external provider.

SA 4 +product

Table 1: Project organization

Group 1
Group 2
Team 1
Team 1
Team 2
Team 2
Team 3
Team 3

L2 + L1

The following roles are defined and assigned to team

members respectively:
Team manager (TM): Responsible of the planning
and costs;


Synthesis responsible (SR): Management of the

architecture and simulation of the assembly system;

The roles interest degree vector for role r can be built

from equation (11):

Quality responsible (QR): Responsible of the

quality according to the requirement and standard;

Designer (DS), Common role to each team


vr rw1,r , rw2,r , rw3,r ,...rwn,r


4. Experiment
In this section, we test the above method about calculating
the relevance degree between events and roles by an
example from our project. In practice, we apply this
method in our Google App collaborative learning where it
helps to send the email and announce to the appropriate
receivers instead of all members in the project (Figure 3).
The project given to the students aims at designing an
assembly system following the lean manufacturing
principles, using the e-collaborative learning environment
to manage cooperation in groups and project. The studied
product is a hydraulic motor composed of 4 subassemblies (SA). The inherent structure of this product
implies the use of the first three sub-assemblies to

According to the architectural Vee cycle [29], we

identified two architectural layers. The top layer (L1)
corresponds to the development of the whole assembly
system and the bottom layer (L2) corresponds to the
development of the three sub-assembly systems. Hence the
team in charge of the whole assembly of the product is
responsible of the top layer. From stakeholders
requirements, it defines the design requirements and
architects the whole assembly system. Then it allocates to
the bottom layer a set of derived requirements the subassembly systems must satisfy. Finally, the synthesis
responsible of the bottom layer provide the architectures
of the sub-assembly systems which are then integrated into
the whole assembly system by the synthesis responsible of
the top layer in order to provide a system which verifies
the synthesized stakeholders requirements.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Fig. 3: Illustration of the e-collaborative learning environment used by the students: here, the project leader of Group 11 is currently editing the work of item 6
(information will be forwarded by email to members of Group 11)

4.1. Context Modeling

In our case, we get 219 samples of recorded events, such as
email, message and question or notification. These context
factors are classified according to our context model, and
82 typical event examples are selected to measure the
We take an example from Team1 of Group1 called Group
11. This event happened at the final step in the project
cycle (Event 80, illustrate in Figure 4). The Team1
Manager announced their teams layout situation in digital
factory relative to the other 2 teams. Team1 Manager
shared this information usually only with his team
members, but this is not a relevant sharing by manual
analysis. In this part, we measure relevance between this
event and all the roles in Group1 and compare calculating
result of relevance with another model realized by a survey
and manual-analysis of relevance. Finally, we discuss the
meaning of results.
In this project, we calculated the IEF of all words in the
events samples by using equation (2), and we selected the
64 highest IEF as our CF according to context model
which are partially listed in table 2. The CF here was

selected with context knowledge, not only with calculate

Table 2: Inverse Event Frequency


4.2. Event Attributes Modeling

In table 3, we present the number of each CF appeared in
original description of this event example. Then we can
calculate the CFF by dividing it by the total words in event
by equation (3). There are 289 words in this event
Table 3: Context Factor Frequency

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010

ISSN (Online): 1694-0814

We present the EW of these context factors in table 4

calculated by equation (4).


Sequentially, we use the obtained event attributes to make

the event attributes vector vE by equation (13)
vE = [0, 0, 0.0031, 0.0032, 0]

4.3. Role Interest Degree Modeling

Table 5: Team1s roles Relevant Event Frequency






























Table 7: Team3s roles Relevant Event Frequency




























Table 9: Team2s Role Weight














Table 10: Team3s Role Weight





Table 6: Team2s roles Relevant Event Frequency




The different roles REF calculated by equation (6) is listed

in tables 5-7.






Table 8: Team1s Role Weight



The event attributes can be obtained via equation (12):

ea=(0, 0, 0.0031, 0.0032, 0)



The RW of these context factors calculated by equation (7)

is listed in tables 8-10.

Table 4: Event Weight











The role Team1 Managers interest degree can be obtained

by (14):
ridT1M = (0.2155, 0.1669, 0.3500, , 0.4173)
The Team1 Managers interest degree is sequentially used
to make the role interest degree vector by equation (15):
vT1M = [0.2155, 0.1669, 0.3500, , 0.4173]
The same demonstration can be made to get other roles
interest degree vectors, which are expressed in equations
(16)-(28), respectively:
vT1QR = [0, 0.4789, 0.2782, 0.1556, , 0]
vT1SR = [0.2052, 0.1192, 0.3333, 0.1370, , 0.1192] (17)

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010

ISSN (Online): 1694-0814

vT1DS1 =
vT1DS2 =
vT2M =
vT2QR =
vT2SR =
vT2DS1 =
vT2DS2 =
vT3M =
vT3QR =
vT3SR =
vT3DS =

[0, 0, 0.3111, 0, , 0]
[0, 0.8346, 0, 0, , 0]
[0, 0.1915, 0.2226, 0.6077, , 0.1113]
[0, 0.0927, 0.0927, 0, , 0]
[0, 0, 0, 0, , 0]
[0, 0, 0, 0, , 0]
[0, 0.4173, 0, 0, , 0]
[0, 0, 0.0467, 0, , 0]
[0, 0, 0.0583, 0, , 0.1043]
[0, 0, 0, 0, , 0]
[0, 0, 0, 0, , 0]


Table 12: Team2s roles Relevance

Team2 roles

With the above mentioned method, we developed a

simulator which can calculate the relevance degree
between this event and all the roles in this project. This
simulator uses DSC model and 0-1 model (mentioned in
the following). It can also show the highest relevance
members with this event sample in red, and this is a sharing
recommendation for the user, when they want to share
some information with others. The relevance measurement
results are listed in tables 11-13.
A student survey conducted at the end of the project
confirmed the interest and increasing relevance of
information they had received over the project progressed.
In this survey, we evaluated the students satisfaction of
relevance information shared recommended by our DSC
model. To further improve the relevance of information to
deliver, we now have to work on a hybrid model that
combines the advantages of both models (TF-IDF model
and 0-1 model): a previous knowledge acquisition (a priori
interests expressed by the different roles), and a dynamic
calculation based on events captured by the environment.
Our first action in this direction has been to develop a tool
to trace and compare the two approaches (Figure 4). This
tool allows one to follow step by step the evolution of the
dynamic calculation of relevance of information sharing
for different roles, and to establish where the dynamic
model TF-IDF is more efficient than the static model 0-1.
Table 11: Team1s roles Relevance
Team1 roles























Table 13: Team1s roles Relevance

Team3 roles
0-1 Model
Used to


4.4. Context Relevance Measurement

Used to

Used to


From these results, we conclude that:

1. Relevance measured by DSC model shows that this
event has high relevance with T1M, T1QR, T1SR, T2M,
T3M, which are the same shared results by manual
2. In results from 0-1 model, some roles relevance is not
coherent with the manual analysis shared situation, such
as T1QR.
3. In usually shared way, sharing information with which
person is not accurate. By this sharing way, some roles
have been missed, such as T2M and T3M; some roles
have been shared with redundancy, such as T1DS1 and
Through this example, we find that DSC model can make a
reasonable relevance measurement between event and role
relative to the manual analysis of sharing, and this
application can make sharing more accurate and efficient.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010

ISSN (Online): 1694-0814

To improve the relevance of information shared, we are

now working in two directions: 1) proposition of a hybrid
model, combining acquisition of interests as the roles of
actors, and dynamic capture of events occurring in the
course of a project, and 2) analysis of the relevance of a
model based on a hierarchy of CF. This hierarchy could be
established by an expert before start of collaborative

ISO/IEC 15288:2002, "Systems engineering System life
cycle processes", ISO 2002.
[2] K. Forsberg, and H. Mooz, "The relationship of system
engineering to the project cycle", in Proc. of the NCOSE
conference, 1991, pp. 57-65.
[3] ISO/IEC 26702:2007, "Standard for Systems Engineering
Application and management of the systems engineering
process", ISO 2007.
[4] J. Peng, A.-J. Fougres, S. Deniaud, and M. Ferney, "An ECollaborative Learning Environment Based on Dynamic
Workflow System", in Proc. of the 9th Int. Conf. on
Information Technology Based Higher Education and
Training (ITHET), Cappadocia, Turkey, 2010, pp.236-240.
[5] M. Kaenampornpan, and E. ONeill, "Modelling context: an
activity theory approach", In Markopoulos, P., Eggen, B.,
Aarts, E., Croeley, J.L., eds.: Ambient Intelligence: Second
European Symposium on Ambient Intelligence, EUSAI 2004.
pp. 367374, 2004.
[6] J. Cassens, and A. Kofod-Petersen, "Using activity theory to
model context awareness: a qualitative case study". In Proc.
of the 19th International Florida Artificial Intelligence
Research Society Conference, 2006, pp. 619-624.
[7] A. J. Cuthbert, "Designs for collaborative learning
environments: can specialization encourage knowledge
integration?", in Proc. of the 1999 conference on Computer
support for collaborative learning (CSCL '99), International
Society of the Learning Sciences, 1999.
[8] A. Dimitracopoulou, "Designing collaborative learning
systems: current trends & future research agenda", in Proc. of
the 2005 conference on Computer support for collaborative
learning (CSCL '05), International Society of the Learning
Sciences, 2005, pp. 115-124.
[9] L. Lipponen, "Exploring foundations for computer supported
collaborative learning", in Proc. of the Conf. on Computer
Support for Collaborative Learning (CSCL '02), International
Society of the Learning Sciences, 2002, pp.72-81.
[10] A. Weinberger, F. Fischer, and K. Stegmann, "Computer
supported collaborative learning in higher education: scripts
for argumentative knowledge construction in distributed
groups", in Proc. of the 2005 conference on Computer support
for collaborative learning (CSCL '05), International Society
of the Learning Sciences, 2005, pp. 717-726.
[11] T. Gross, and W. Prinz, "Modelling shared contexts in
cooperative environments: concept, implementation, and
evaluation", Computer Supported Cooperative Work 13,

Fig. 4: Tool for tracking and calculating relevance of information to share

5. Conclusion
E-collaborative learning systems have been developed to
support collaborative learning activity, which makes the
study more and more effective. Now we think that learning
activity will have a better performance and effectiveness if
we can eliminate the redundant shared information in the ecollaborative system. Therefore, we proposed an
implementation of DSC method supported by an ecollaborative learning system environment. This
environment can supply pertinent useful resources, propose
appropriate workflow to realize project, share and
disseminate relevant information.
We have described an original methodology of DSC model
to address the problem of shared redundancy in
collaborative learning environments. In this method,
context model are applied for preparing the DSC modeling.
A collective activity analysis approach (Activity Theory)
allows us to build this context model. This phase is critical,
since the dynamic shared context model depends on this
context model to obtain satisfying context factors.
After describing our methodology we presented an
illustration in an e-collaborative learning context. In this
illustration, we selected 82 typical events from the project,
and measured the relevance between these events and roles
by using the tool Relevance Processing V_0.1. From the
results of relevance, we got a useful advice to share the
information in a collaborative environment.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010

ISSN (Online): 1694-0814

Kluwer Academic Publishers, Netherlands, 2004, pp. 283303.

[12] J. L. Dessalles, La pertinence et ses origines cognitives,
Nouvelles thories, Hermes-Science Publications, Paris, 2008.
[13] R. Johnson, S. Harizopoulos, N. Hardavellas, K. Sabirli, I.
Pandis, A. Ailamaki, N. G. Mancheril, and B. Falsafi, "To
share or not to share?", in Proc. of the 33rd international
conference on Very large data bases, Vienna, Austria, 2007,
pp. 23-27.
[14] J. Mesmer-Magnus, and L. DeChurch, "Information sharing
and team performance: A meta-analysis", Journal of Applied
Psychology, Vol. 94, No. 2, 2009, pp. 535546.
[15] M. Zhong, Y. Hu, L. Liu, and R. Lu, "A practical approach
for relevance measure of inter-sentence", In Proc. of the 2008
Fifth international Conference on Fuzzy Systems and
Knowledge Discovery, Vol. 4, 2008, pp. 140-144.
[16] W. B. Croft, and D. J. Harper, "Using probabilistic models
of document retrieval without relevance information", Journal
of documentation, Vol. 35, 1979, pp. 285-295.
[17] A.-J. Fougres, "Agents to cooperate in distributed design
process", IEEE International Conference on Systems, Man
and Cybernetics, (SMC04), The Hague, Netherlands, 2004,
[18] A.-J. Fougres, "Agent-Based -Tools Integrated into a CoDesign Platform", Int. J. of Computer Science Issues, Vol. 7,
Issue 3-8, 2010, pp. 1-10.
[19] G. Wang, J. Jiang, and M. Shi, "Modeling contexts in
collaborative environment: A new approach", Computer
Supported Cooperative Work in Design III, 2007, pp 23-32.
[20] J. J. Jung, "Shared context for knowledge distribution: A
case study of collaborative taggings", In Proc. of the 21st int.
conference on Industrial, Engineering and Other Applications
of Applied Intelligent Systems, New Frontiers in Applied
Artificial Intelligence, Wrocaw, Poland, 2008, pp. 641-648.
[21] A. Dey, D. Salber, and G. Abowd, "A conceptual framework
and a toolkit for supporting the rapid prototyping of contextaware applications", Human-Computer Interaction Journal,
Vol. 16 , No. 2-4, 2001, pp. 97-166.
[22] P. J. Brezillon, "Explaining for developing a shared context
in collaborative design", in Proc. of the13th Int. Conf. on
Computer Supported Cooperative Work in Design, 2009,
[23] H. C. Wu, R. W. Luk, K. F. Wong, and , K. L. Kwok,
"Interpreting TF-IDF term weights as making relevance
decisions", ACM Trans. on Information System, Vol. 26, No.
3, 2008, pp. 1-37.
[24] T. Roelleke, and J. Wang, "TF-IDF uncovered: a study of
theories and probabilities", In Proc. of the 31st Annual int.
ACM Conf. on Research and Development in Information
Retrieval (SIGIR '08), ACM, NY, 2008, pp. 435-442.

[25] K. Church, and W. Gale, "Inverse document frequency (idf):

A measure of deviation from poisson", in Proc. of the third

workshop on very large corpora, 1995, pp. 121-130.
[26] S. Tata, and J. M. Patel, "Estimating the selectivity of tf-idf
based cosine similarity predicates". SIGMOD Rec. New
York, Vol. 36, No. 2, 2007, pp. 7-12.
[27] M. Esteva, and H. Bi, "Inferring intra-organizational
collaboration from cosine similarity distributions in text
documents". In Proc. of the 9th ACM/IEEE-CS Joint Conf. on
Digital Libraries, JCDL '09. ACM, New York, 2009, pp. 385386.
[28] S. Yuan, and J. Sun, "Ontology-Based Structured Cosine
Similarity in Speech Document Summarization", in Proc. of
the 2004 IEEE/WIC/ACM int. Conf. on Web intelligence,
IEEE Computer Society, Washington, 2004, pp. 508-513.
[29] K. Forsberg, H. Mooz, and H. Cotterman, Visualizing
project management, models and frameworks for mastering
complex systems, 3rd edition, John Wiley & Sons, 2005.
Jing Peng is Computer Engineer from University of Technology of
Troyes (UTT). She is preparing PhD in Computer Science &
System Engineering in the Laboratory of M3M at University of
Technology of Belfort-Montbliard (UTBM). Her research focus on
context modeling, dynamical context shared and relevant
information sharing.
Alain-Jrme Fougres is Computer Engineer and PhD in
Artificial Intelligence from University of Technology of Compigne
(UTC). He is currently member of the Laboratory of Mecatronics3M
(M3M) at University of Technology of Belfort Montbliard (UTBM),
where he conducts research on cooperation in design. His areas of
interests and scientific contributions concern: the natural language
processing, the knowledge representation, the multi-agent system
design (architecture, interactions, communication and co-operation
problems). In recent years, his research has focused on the context
of co-operative work (mediation of cooperation and context
sharing), mainly in the field of mechanical systems co-design.
Samuel Deniaud, Mechanical Engineer and holder of a PhD from
the University of Franche-Comt, is presently Assistant Professor in
the Mechatronic3M laboratory at the University of Technology of
Belfort-Montbliard (UTBM) since 2001. He conducts research
activities in the field of system engineering, more particularly on the
activities, methods and tools for designing system architecture from
functional and dysfunctional points of view. He is currently applying
his results on the architectural design activity of vehicles, and their
associated production systems by using digital factory tools.
Michel Ferney, holder of a Ph.D. from the University of FrancheComt (UFC), is presently Head Professor in the Laboratory of
Mecatronics3M (M3M) at the University of Technology of Belfort
Montbliard (UTBM). His research field of interest covers
mechatronic product design and modeling, production systems
modeling and soft computing.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Domain Specific Modeling Language for Early Warning System:

Using IDEF0 for Domain Analysis
Syed Imran, Franclin Foping, John Feehan and Ioannis M. Dokas
Cork Constraint Computation Centre, University College Cork
Western Gateway Building, Cork, Ireland

Domain analysis plays a significant role in the design phase of
domain specific modeling languages (DSML). The Integration
Definition for Function Modeling (IDEF0) is proposed as a
method for domain analysis. We implemented IDEF0 and
managed to specify reusable domain specific language artifacts
in a case study on water treatment plants safety. The
observations suggest that IDEF0 not only examines the technical
aspects of the domain but considers also its socio-technical
aspects; a characteristic listed as DSML requirement in the case
Keywords: Domain Analysis, Domain Specific Modeling,
IDEF0, Reusable Domain Models, Early Warning Systems.

1. Introduction
The objective of our research is to develop a graphical
language able to represent concepts related to the domain
of water treatment plants operations and safety. The
graphical language will be an integrated component of an
Early Warning System (EWS). The models specified by
the graphical language will represent different facets of
the domain and executable code will be generated
automatically. In short, the objective of our research is to
develop a Domain Specific Modeling Language (DSML)
for EWS.
The first phase in the development of any DSML is to
gather and process the required information and to define
reusable language artifacts. This phase is known as
domain analysis [1]. The idea of reusable artifacts is of
importance. It forces the definition of filters based on
which commonalities and variabilities of the domain
become discernible.
During domain analysis, knowledge about the domain is
acquired from various sources such as experts, technical
documents, procedures, regulations and other materials.
The purpose of this phase is to produce domain models.
Domain models consist of concepts, relations, terminology

and semantics representing the overall knowledge of the

domain and hence revealing important properties that
affect the design of the DSML [2].
The problem is that there are not any lucid guidelines or
standards on how to gather and process the information of
the domain when developing a DSML [2,3]. Formal
analysis techniques such as the Feature-Oriented Domain
Analysis (FODA) [4], Family-Oriented Abstractions,
Specification and Translation (FAST) [5], Domain
Analysis and Reuse Environment (DARE) [6] have been
proposed in domain engineering. These approaches aren't
so popular among developers of DSML. An explanation
for this is that domain engineering is strong on its main
focus -finding and extracting domain terminology,
architecture and components- but gives little help in
designing, constructing and introducing languages for the
engineered domain [7].
In this paper we propose the use of Integration Definition
for Function Modeling (IDEF0) as part of a domain
analysis method for a DSML. The DSML is developed to
become integrated component of an EWS. A case study
taken from water treatment plant operations and safety
domain demonstrates its usefulness.
The remainder of the paper is structured as follows: In
Section 2, the IDEF0 method is briefly described followed
by a description of the steps taken to curry out the domain
analysis in the case study. In Section 3, we demonstrate
first the implementation of IDEF0 in defining the entities
and processes of the Water Treatment Plant (WTP) and
subsequently in identifying the social factors that affect
the operations of WTP. In Section 4, the reusable domain
model is briefly described followed by the conclusions.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


2. Methods
Some of the characteristics of IDEF0 are [9]:

2.1 IDEF0
IDEF0 is designed to model the activities, processes and
actions of an organization or system [8]. It is an
engineering technique for performing and managing needs
analysis, benefits analysis, requirements definition,
functional analysis, systems design, maintenance, and
baselines for continuous improvement [9]. It enhances the
domain expert involvement by through simplified
graphical representation.
With IDEF0 one can specify five elements: the activities,
input, output, constraints or control and mechanisms or
resources of a system (see Fig. 1). The activities are
receiving certain inputs that need to be processed by
means of some mechanism, and are subject to certain
control such as guidelines, policies, before being
transformed into output. The activities can be
instantaneous or can happen over a period of time.
IDEF0 diagrams are organized in hierarchical structure,
which allows the problem domain to be easily refined into
greater details until the model is descriptive as necessary.
The first level of the hierarchical structure represents a
single high level activity, which then can be decomposed
to lower levels that represent the processes of the system,
the resources and the information that passed between
them in more detail.

expressiveness in graphically representing a wide
variety of business, manufacturing and other types of
enterprise operations to any level of detail;

It provide concise details in order to facilitate its

understanding, consensus and validation;

It is a coherent and simple language and

promotes consistency of usage and interpretation;

It enhances communication between system

analysts, developers and users through ease of learning
and its emphasis on hierarchical exposition of detail.
IDEF0 has been extensively used for structured analysis
and design of systems, covering functional modeling in
describing the system graphically by means of providing
better understanding. It has also been used for many
reasons such as for designing and specification of
methodologies in which progressively decomposing a
system from a high level was found to effective for
methodology development [10]. It is widely used also in
modeling manufacturing systems in which knowledge
based system approach is used [11].

2.2 Steps of Domain Analysis and Case Study

During the domain analysis phase we visited the Inniscarra
WTP in County Cork, Ireland on several occasions for
over a three month period. The Inniscarra plant serves the
population of about 100,000 consumers and is distributing
about 21,000 m3 /day of treated drinking water. It is
considered as one of the largest WTP in Ireland. With the
help and guidance of the domain experts it was possible to
gain enough information for the analysis and to build
IDEF0 models.
The requirements of the overall modeling were agreed
over a series of meetings with domain experts. Once
gathered, the requirements were documented and validated
to insure that there is no inconsistency or obscureness.
Some of the key requirements are briefly described below.

Fig. 1 IDEF0 Language model.

Systematic profiling should be included as a

feature of the DSML. With the term systematic
profiling we mean the modeling and representation of
physical entities that constitute a WTP in a categorized
way. For example, many physical objects are involved
in each purification phase of raw water such as
flocculation, coagulation. The goal of the systematic
profiling is to provide detail information of these
objects, categorized by purification phase in which

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

they belong. The profiling process guides us to

understand what exists in a WTP providing basic
information of its capacity and capability to perform
specific purification tasks. For example, if a WTP has
an ozone generator in its profile we can assume that
the plant design to perform Ozonation process to
disinfect the water, to reduce color and odor by
oxidizing the organic substances in the water.

The DSML has to have a hazard/vulnerability

component permitting its users to represent their
mental models about the threats and vulnerabilities of
the WTP, providing thus an explanation on how
unwanted events may happen during WTP operations.

Users should be able to define early warning

signals. There are two categories of warning signals;
namely weak and sound warning signals. For example,
sensors monitoring the water for the presence of
chemical radiological or biological hazards are able to
provide sound warning signals. Weak signals are those
which indicate the presence of latent conditions in a
WTP. In short, are indications of how much a WTP is
vulnerable to the variability of the environment. For
example, if a WTP is constructed close to the banks of
a river, then its location may be considered as a latent
condition which makes it vulnerable to river floods
incidents. Usually, latent conditions are detected by the
personnel or by the auditors of the WTP.


Fig. 2 illustrates an overall view for developing the

reusable domain models. A profiling process performed
first to list the physical entities and processes of WTP. In
this step we made extensive use of IDEF0. It is the step
where this paper is focusing at. In a second step, hazards,
vulnerabilities and early warning signals together with the
social factors that affect the safety health of WTP were
defined based on system safety engineering approaches.
Unexpectedly, as it is shown in Subsection 3.1, during the
first step we found out that IDEF0 helped us in identifying
important social factors that effected WTP operations. We
then mapped the concepts derived from both, the first and
the second steps and defined their relations and
constraints. Finally we specified the reusable artifacts that
constitute the DSML of the EWS.

3. IDEF0 model of WTP

The high level view of the WTP is illustrated in Fig. 3.
The model describes the entire WTP as an activity in
which raw water is taken as an input. The activity is
executed using different resources such as chemicals,
treatment mechanisms and labour. Controls ensure that all
WTP activities accord with legislations and standards. The
output of the activity is the treated water.

Users should be able to define socio-technical

factors that may affect the safety of WTP. By sociotechnical factors we mean the social and organizational
features that may affect WTP operations.

Fig. 3 High level IDEF0 view of the WTP.

Fig. 2 Reusable domain models for EWS in WTP.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Water purification consists of several stages such as water

intake and screening, flocculation, coagulation, filtration,
pre and post chemical treatment and disinfection. The
IDEF0 model represents these steps through hierarchical
decomposition. A part of the lower level view is shown in
Fig. 4 where the higher level activity of the WTP
process is broken down into several lower level activities
resulting to better understanding of water purification
The first activity in Fig. 4 is the Intake & Storage
Process. Raw water intake is the input of this activity.
The raw water is then handled by mechanisms such as
penstock, intake pumps, metal screens. Furthermore, the
activity is performed under some controls such as setting


the penstock selection level, regulating the intake pumps,

checking of raw water quality parameters before allowing
the raw water to be passed into next process called PreFiltration Process. The sequence of the water flow is
from left to right and each activity is decomposed further
to several lower levels so as to provide the obscure
understanding of the WTP treatment processes.
As result, with the IDEF0 analysis of the WTP we
identified 21 activities in 4 decomposition levels. In the
last decomposition level we identified 27 mechanisms and
25 controls. This indicates the usefulness of IDEF0 in:

Gaining comprehensive information on the

process involved in WTP;

Fig. 4 IDEF0 model for A0 activity in WTP treatment

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Table 1: Socio-technical factors from IDEF0 Analysis

Identifying the output flows between activities

which are integral to understanding critical elements
for safety and security;

Identifying critical concepts;

Listing the physical objects of WTP.

3.1 Socio-technical factors

Several social factors such as the availability of funds, the
regulations of the governance body on different standards,
the strategic actions taken in case of flooding or other
natural disasters, may affect the water treatment process.
Table 1 illustrates how IDEF0 facilitate in understanding
these factors. It lists some of the socio-technical factors
associated with the mechanism Intake pumps of activity
A0-1 (see Fig. 4). The table provides the information
regarding the technical and socio-technical factors that can
affect the operation of the water pumps in supplying water
to the specific process of the WTP. It also provides us
with the information on how socio-technical factors relate
to some of the technical factors that could lead in affecting
the entire water intake and storage process. For example,
when the demand of the drinking water is higher than the
original water treatment capacity of the plant, the social
factors plays the major role in deciding how to manage the
situation rather to allocate additional resource of water
supply or the funds to expand or to upgrade the whole or
part of the water treatment facility or in case the funds are
not accessible the additional burden is put on the treatment
process hence effecting the operation of water intake
pumps, storage tank level, raw water quality parameters.

4. Reusable Domain Model

The reusable domain model is specified using a
metamodel. The metamodel is often defined as a model of
a model that is the language in which the models are
defined and they themselves also needs to be expressed in
some language, for this purpose we have used modelbased Eclipse Modeling Framework (EMF) technology
[12]. The EMF is originally based upon a subset of the
Object Management Group standard Meta Object Facility
2.0 (MOF) called Essential MOF (EMOF) [13]. The
development of metamodel has been assisted by the
information obtain from the IDEF0 model. During the
development phase, as a part of prerequisite the
information obtained from the IDEF0 is categorized
according to the commonalties and variabilities, where
commonalties define the set of features that are common
to several WTP activities and variabilities are what makes
activities different from each other.

IDEF0 model highlighting technical and sociotechnical factors in regulating raw water intake
Activity: A0-1
Name: Intake and Storage process
Mechanism: Intake pumps
Control: Pump control
Description: The raw water intake pumps takes
water from a lake and supplies it to the raw water
reservoir in WTP. This activity involves control
measures, which are influenced by different technical
and subsequently socio-technical factors.
1. Feedback from activity A5 (Treated water
outlet), information of the treated water level from
treated drinking water reservoirs.
2. Raw water quality parameters.
3. Raw water intake level.
4. Raw water storage tank level.
5. Maintenance and other technical reasons.

The treated water supply demand should be kept
in consideration to the WTP capacity. If the demand
of drinking water is more than the treatment capacity
of WTP then the technical factor 1 will be affected
as the level of drinking water reservoir will mostly
be low and would ultimately effect the pump control
action in regulating raw water intake pumps.
Raw water quality parameters are set by national
and EU standards and legislation.
Raw water intake level is determined not only by
the water resource but also depends on the level of
water in the lake. As in our case study, the lake water
level up to which limit the water can be taken into
WTP is set by Water Services Authority. There is
hydroelectric plant downstream from our water
intake, which requires subsequent amount of water to
be fully functional.
Raw water storage tank level depends on many
factors such as, the availability of water and the
demand of treated water in supply. In some cases raw
water storage tanks are not available because of
financial limitations.

Funds allocated to run water treatment utilities

may have significant effects on their performance.
Maintenance, periodical inspections and audits are

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Table 1: Commonalities and Variabilities using IDEF0 model



Sequence Subsequence







1. Flow meter

1. Penstock

1. Pumps Control

2. Tanks

2. Metal Screens

2. Manual Inspection

3. Sampling test

3. Intake pumps

3. Maintenance


1. Penstock selection
2. Raw water quality

4. Sampling for
cryptosporidium test and
laboratory test.

The mapping from IDEF0 to metamodel is illustrated in

Fig. 5. During the mapping process, all the activities are
defined as separate class each, which also act as superclass
to their subclasses defined for their sub activities. For
example, the first activity of our IDEF0 model is Intake
and Storage Proc which has been mapped to class

Fig. 5 IDEF0 model for A0 activity in WTP treatment process.

Intake and it is also act as a superclass to the subactivities specified at its in its lower decomposition level
that are Raw Water Intake Proc. and Raw Water
Storage Proc..
The classes are also specified for mechanisms and

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

commonalities are defined in a separate class. It is also
to be noticed that commonality can be define as an
attribute of variabilities but the vice versa is not allowed.
For example, the class Penstock which is categorized as
a variability of a mechanism in an Intake activity can
have an attribute class Sensor but the other way around
is not possible.
Once the required classes are defined they are referenced
to each other accordingly as defined by the IDEF0 model.
A class with subsequence number A1 is to be a referred by
class with a sequence number A0-1 as it is the sub activity
of A1. The sensor class is referred by the mechanism
class which is further referenced by the category class.
Here the sensor is defined as commonality because it is
repeated in many sub activities that belong into a lower
hierarchy level of the Intake and Process shown in Fig 4.
The activities in the lower hierarchy levels made use of
different types of sensors. Given this repetition we defined
the sensor concept as commonality. Fig 4 shows the
2nd level of the IDEF0 analysis to demonstrate the result
of IDEF0 method. In reality we developed a series of
hierarchical IDEF0 models that describe each activity box
shown in Fig 4 in more detail. All classes are referred by
the Map class in our case. In EMFs ecore metamodel
the class Map is considered as a starting point or
mapping point to rest of the metamodel. The class Map
itself does not take part directly in modeling of domain
concepts but it is used as a point where the whole
architecture of the metamodel is initially mapped as
referenced. In the case of controls, we used a declarative
language in a metamodel level, the object constraint
language, and also specify separate control class, to
define their constraints.

5. Conclusions
This paper presents the use of IDEF0 as domain analysis
approach for the development of a DSML. The case study
demonstrated that IDEF0 contributed in identifying the
reusable building blocks of a DSML and proved very
useful in collecting, organizing and representing the
relevant domain information.
On the other hand, it was observed that IDEF0 models can
become so concise that it can cause comprehension
difficulties and only domain experts can understand it
fully. Difficulties can also arise in communicating various
domain concerns between different domain experts.
Furthermore, it has been noticed that the domain
information can change during the course of time such as


due to advancement of technology or other issues; in this

case there will always be a need to update and validate
such changes in IDEF0 model. We clearly understand the
limitations of using IDEF0 model for socio-technical
aspects as it does not allow us to model the interactions
between social factors. However, it guides us to identify
parameters which are more influenced by it.
There is no standard methodology for domain analysis that
fits all domains due to conflicting goals and objectives.
Therefore, there is always a need to understand which
approach for domain analysis fits the needs and best
matches with the specifications. This paper demonstrated
that IDEF0 is advantageous in defining the physical
objects and the processes in a complex system but also
contributed in identifying other social factors that affect
the performance of the system. These characteristics are of
importance for any EWS. In short, IDEF0 should be
considered as a reliable alternative approach for the
development of a DSML in EWS.
This work is supported by the research project SCEWA
(Grant No 2007-DRP-2-S5), funded by the Irish
Environmental Protection Agency under the DERP grand
scheme. We would also like to express special thanks to
Mr. Pat Murphy, the plant managers from Inniscarra
Water Treatment Plant for his cooperation and assistance.

[1] J. M. Neighbors, Software construction using
components, doctoral dissertation, Univ of California,
Irvine, 1981.
[2] R. Tairas, M. Mernik, and J. Gray, Using ontologies in the
Domain Analysis of Domain Specific languages Models
in Software Engineering. Vol. 5421, 2009, pp. 332-342.
[3] M. Mernik, and J. Heering, and A.M. Sloane, When and
how to develop domain-specific languages, ACM
Computing Surveys (CSUR), Vol. 37, 2005, pp. 316-344.
[4] K. Kang, S. Cohen, J. Hess, W. Nowak, S. Peterson,
Feature-Oriented Domain Analysis (FODA) Feasibility
Study, Technical Report CMU/SEI-90-TR-21, Software
Engineering Institute, Carnegie Mellon University,
Pittsburgh, PA, 1990.
[5] D. M. Weiss, C. T. R. Lai, Software Product-Line
Engineering: A Family Based Software Development
Process, Addison-Wesley Longman Publishing Co., Inc.
Boston, MA, USA, 1999.
[6] W. Frakes, R. Prieto-Diaz, C. Fox, DARE: Domain
Analysis and Reuse Environment, Annals of Software
Engineering, Vol. 5, 1998, pp. 125-151.
[7] J.-P. Tolvanen, Keeping it in the family, Application
Development Advisor, 2002.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

[8] P.S. DeWitte, R.J. Mayer, and M.K. Painter, IDEF family
of methods for concurrent engineering and business reengineering applications, Knowledge Based Systems.
College Station, TX, USA, 1992.
[9] FIPS, Integeration Definatin of Functional Modeling
(IDEF0), Federal Information Processing Standards.
Publication 183, Springfield, VA, USA, 1992.
[10] A. Presley, and D. Liles, The Use of IDEF0 for the
Design and Specification of Methodologies, Proceedings
of the 4th Industrial Engineering Research Conference,
Nashville, USA, 1995.
[11] C. L. Ang, R. K. Gay, L. P. Khoo, and M. Luo, A
knowledge-based Approach to the Generation of IDEF0
Models, International Journal of Production Research,
Vol. 35, 1997, pp. 1385-1412.
[12] Eclipse
[13] Essential MOF (EMOF) as part of the OMG MOF 2.0

Syed Imran is a postgraduate student at University College Cork,

Ireland. His research is focused on the development of a Domain
Specific Modeling language for Early Warning Systems. He has
masters in computer science from Technical University
Braunschweig, Germany and bachelors in engineering from
Voronezh State University, Russia. He has a working experience
of more than 7 years as a software engineer.
Dr. loannis M. Dokas has diploma in civil engineering and PhD in
expert systems. He has been awarded with EU Marie Currie
Fellowships two times, during which he conducted post doctoral
research in Germany and Ireland. Currently he is the leader of a
research team working on early warning systems at the Cork
Constraint Computation Centre. His current research is funded by
the Irish EPA. His research interests are in the fields of systems
safety, environmental engineering, and artificial intelligence.
John Feehan is a graduate of the Sligo Institute of Technology,
Sligo, Ireland where he completed an Honours Degree in
Environmental Science and Technology in 1990. Upon graduation
he worked as an Environmental Manager in the Pharmaceutical
Industry for five years before joining the newly established
Environmental Protection Agency (EPA) in 1995. In the EPA, he
has worked on strategic management, policy development,
licensing, enforcement, surface water, wastewater and drinking
water. John is also a graduate of University College Cork, Ireland
where he was awarded a first class honours Masters Degree in
Environmental Analytical Chemistry in 1996. He is Member of the
Royal Society of Chemistry, the Chartered Institution of Water and
Environmental Management and the Institution of Engineers of
Ireland. He is a Chartered Chemist, Chartered Water &
Environmental Manager, Chartered Scientist and a Chartered
Franclin Foping is currently undertaking a Ph.D. in Computer
Science at the University College Cork in the Republic of Ireland.
The bulk of his thesis is to deploy an early warning service over
the Internet. He also holds an MSc in Computer Graphics
Programming from the University of Hull in England. Franclin was
a finalist of the Microsoft Imagine Cup Software Design in March
2007 in England. He is a Linux and open source enthusiast with an
experience of over 10 years in the field. In his spare time, Franclin
enjoys travelling, reading, watching soccer and tennis games.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

CETLs : Supporting Collaborative Activities Among

Students and Teachers Through the Use of ThinkPair-Share Techniques
N. A. Nik Azlina
Software Engineering Department, Malaysian Institute of Information Technology
Universiti Kuala Lumpur
Jalan Sultan Ismail
50250 Kuala Lumpur, Malaysia

Collaborative system is currently underway to many
organizations of the fact that it is not just a catch
phrase or fad, but it is truly an essential shift in the
way technology delivers value to various businesses
nature. Schools are the place for handling information
and knowledge and, in most developed countries,
Internet has been a source of information as well as a
tool for teaching and learning. Thus, it is crucial to
have a transformation in our education field to allow
new generations to become competent in the
technology use. The purpose of this paper is to find
out the technique that is able to enhance the
collaborative learning process which is known as
Think-Pair-Share. This study also aims at proposing a
collaborative system that will apply the Think-PairShare technique to ease the collaborative process
among teacher and students. The CETLs project is
meant to address the support for collaborative learning
and the establishment of shared understanding among
students and teachers. This paper also introduces a
collaborative framework for CETLs which adapt the
use of Think-Pair-Share in a collaborative

Keywords: CETLs, educational system, collaborative

environment, collaborative learning
collaborative system, Think-Pair-Share.




Computer use is deemed increasingly important

in modern societies. Computers and the Internet
have introduced dramatic changes to work
processes and to the organization of corporate
structures over the past decade [1]. In the field of
education, the Internet has become one of the
major sources for students to obtain information
easily. The facilities and tools such as search
engines, forums, bulletin boards, electronic mail,
and messenger service (chatting) are widely used
by students to get information. Online tools have

provided the educator with a variety of ways of

communication with their students and for
students to communicate with each other. The
role of the Internet is not just for transmitting
information but as a tool for teaching and
learning which one can educate or learn without
the restrictions of time [2]. Collaborative
environments promote and enhance the ability of
learners to participate in knowledge building
asynchronous collaborative communication and
interaction. The gradual shift from traditional
way to the web-based style of teaching does not
offer only advantages of time and place, but also
of flexibility of information exchange and
education like students, teachers or instructors
can be facilitated by the use of online
educational system which supports variety of
communication styles such as instant messaging,
newsgroup, discussion forum, e-mail and
bulletin board.
In order to support the teaching process or
specifically the collaborative process, this
research has come out with a Web-based
collaborative system named CETLs which stands
for Collaborative Environment for Teaching and
Learning (system). CETLs is mainly designed to
be used by teachers and students in secondary
schools. In order to support the collaborative
activities, CETLs applies Think-Pair-Share
technique and it has the responsibility of
preparing students for corresponding, cooperating, working and enjoying themselves
when using it.



IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Related Research


Collaborative Activities

Collaborative activities are democratic by nature,

which makes group members more flexible and
eventually replaceable as a group and a learning
community that shares knowledge and
experiences. It is a learning method that uses
social interaction where the virtual learning
community that provides support and sharing
among its members can be built through the
integration of online communication tools and
course activities and sustained through effective
instructor [3].
The current society is rapidly changing with
technological advancements and therefore the
schools cannot be left behind. The traditional
learning that takes place works, but a change is
needed. A change in the school system is needed
to parallelly follow the changes in the society
[4]. It allows students to work on authentic,

meaningful, and challenging problems, to

interact with data in ways that allow studentdirected learning; to build knowledge
collaboratively; and to interact with teacher in
the field. Technologies also can be used to
promote the development of higher-order
thinking skills and allow opportunities for
teachers to act as facilitators or guides and often
as a co-learner with the students. This any time,
anywhere, access is changing how students
communicate with each other and how
Collaborative learning (CL) provides an
environment to enliven and enrich the learning
process. Introducing interactive partners into an
educational system creates more realistic social
contexts, thereby increasing the effectiveness of
the system [6]. Fig. 1 which is taken from
reference [6] shows the interaction between
educator (teacher) and the students in order for
them to collaborate together for the learning

Individual student
Educator as Collaborative

Individual student
Individual student

Social interaction occurs between the

collaborative students which enhances
knowledge acquisition

Collaborative Learning
occurs among student
within groups both in
and outside class.
Groups work as a team

Fig. 1 Collaborative Learning

CL deals with instructional methods that seek to

promote learning through collaborative efforts
among students working on a given learning
task. Hence, collaborative learning inspires
students to work as a group and therefore they
require a medium for communication.
When creating a community that supports CL
approach, the community builders must consider
variety of factors related to people, group
processes and technology. In order to allow a
proper communication and interaction among
peers during the collaborative learning, the CL
features must focus on the synchronous and
asynchronous tools, where, synchronous means
at the same time, which involves interaction in
real time. Inversely, asynchronous brings the

meaning of not at the same time. Asynchronous

activity allows the user to complete the tasks on
his own time and schedule, without real time
interaction with anybody else. In addition, the
document management should be considered as
well. In accordance with the above discussion,
the following Table 1 outlines the features of
collaborative learning [7] :

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
Table 1: Collaborative Learning Features

CL Features


Supporting Tools


- Audio conferencing
- Video Conferencing
- Instant Messaging

.- Web conferencing
.- Chat
- Whiteboards


- Discussion boards
- Links
- E-mail

.- Calendar
.- Group Announcements
- Surveys and Polls


- Resource Library

- Upload / Download

Collaborative Process

The process for collaborative learning in the

literature mostly aims to describe the activitychain of collaborative learning activities or serve
as a basis for the design of computer support for
the activities of collaborative learning. The
process of the computer supported collaborative
learning includes four steps [8]:
The first step is initiated by the moderator
(teacher or coordinator) preparing the task
and workspace for the students and teacher to
do their activities in a collaborative class, i.e.
prepare the groups, course structure and add
any learning contents into the system.
Secondly, the teacher and students will work
on their own material. For the teacher, the
process of elaborating, editing and exporting
the material and knowledge will be the
primary task.
These activities involved
navigating, copying and searching.
Thirdly, the students do their activities that
have been instructed by the teacher. The
students will interact with the teacher to work
with the learning materials that been
uploaded by the teacher.
Fourthly, the teacher and students can
collaborate by discussion and negotiation.
The students will ask questions to the
teacher. The teacher will discuss and come
out with solution.


Collaborative Techniques

In order to perform the collaborative activities, a

proper collaborative technique should be set and
followed by all the users (collaborators). There
are many collaborative learning techniques
which are available such as:

2.3.1 Fishbowl
This technique has a team of three or four
students to work on a problem or exercise. At the
same time, other teams of three or four observe
the first team. In particular, the first teams work
on seeking other points-of-view, listening to and
paraphrasing ideas, and other communication
skills while solving the given problem. The
second teams focus their attention on the team
dynamic and make sure they are prepared to
discuss how well or poorly the first teams
worked together to solve the problem. After the
given duration of time, the class discusses what
had and had not happen during the activity [9].

2.3.2 Jigsaw
The Jigsaw technique begins with pairs
preparation, where each pair has a subject to
study. The students must read and summarize
their material and plan how to teach it to the rest
of their own initial group. Then, new pairs of
students are formed. Typically one student
listens the material presented by the other and
suggests improvements. Then, the roles are
interchanged. The cooperative goal is that all
students know all parts of the educational
material, where all of the students must teach and
learn. While students work, the teacher moves
from group to group. Her job is to observe the
work and assist the students in their processes.
At the end of the session, students learning must
be evaluated using an individual test on all
lesson topics [10].

2.3.3 Paired Annotations

Students pair up to review or learn the same
article, chapter or content area and exchange
double-entry journals for reading and reflection.
Students will then discuss key points and look
for divergent and convergent thinking and ideas.
The pair (group) discusses the key points of the
reading and looks for areas of agreement and



IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

disagreement. Together students prepare a

composite annotation that summarizes the
article, chapter, or concept. Finally, the group
prepares a composite annotation that summarizes
the article, chapter, or concept and presents it to
the teacher [11].


Existing CSCL Tools

Research is done by comparing five existing

collaborative systems. WebICL [13], CoVis [14],
VLE [15], CoMMIT [16], and GREWPtool [17]
are the examples of the collaborative
applications which concern on the learners
collaborations. After studying and investigating
the five collaborative systems, the comparisons
have been made in accordance with the CL
features discussed earlier in Section 2.1 (Table
1). Therefore a comparison table, which is Table
2 has been produced to represent the details.

2.3.4 Think-Pair-Share
This technique involves sharing with a partner
which enables students to assess new ideas and if
necessary, clarify or rearrange them before
presenting them to the larger group [12]. Detail
explication about the Think-Pair-Share technique
will be discussed in Section 4.

Table 2: Comparing the Five Existing Systems with Collaborative Learning Features

CL Features





Group formations




Audio Conferencing
tools to support

Video conferencing

Instant Messaging

Discussion Boards /

Whiteboards / Editor

tools to support

Links /Search Engine

Group Announcements
(Bulletin Boards)



Resource Library

Upload / Download






N /A= Cannot be determined

Table 2 places the CL Features (Refer Table 1)
on the leftmost column. The System
Functionality column lists all the functions
which are supposed to be in the collaborative
system. The rest of the column heading labeled
as WebICL, CoVis, VLE, CoMMIT, and

GREWPtool are the five similar systems use for

comparison. It can be concluded that none of the
systems fulfill all the CL features. However, the
best system is CoVis since it is provided with the
member login function, group formation by
teacher, group joining by students, as well as

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

group activity. The synchronous communication

is done through the use of video conferencing as
well as a shared editor, while asynchronous
communication is supported with the use of four
tools which are forums, search engine, bulletin
boards, and e-mail. The document management
is handled with the use of upload and download
tool, as well as the resource library, where all the
documents are accessed with the permissionbase. Having a supervision tool for the
teacher/instructor, CoVis also provides a
working space for all the learners [18]. However,
the collaborative technique used for CoVis
cannot be determined. Most of the reviewed
systems do not mention the name of the
collaborative technique applied in their system.
However, based on the study and analysis made,
it is obvious that none of the reviewed system
uses Think-Pair-Share technique for the
collaborative activity. However, the researcher
finds that Think-Pair-Share is useful to be as an
alternative to the collaborative teaching due to its
several advantages.


What is CETLs

CETLs stands for Collaborative Environment for

Teaching and Learning (system). It is an
educational system which is purposely
developed for schools to support collaborative
activities among teacher and students. In order to
realize the collaborative process, CETLs applies
Think-Pair-Share technique for the teaching and
learning process.
The major role of the teacher in CETLs is to
support collaborative activities, by providing
contents and assigning Think-Pair-Share group
as well as Think-Pair-Share activities to students.
Teacher also responsible to evaluate student
works during and after the Think-Pair-Share
process. Teacher can also communicate with the
students through the use of real-time messaging
in the chatroom, bulletin board and e-mail.
CETLs support the students group activities,
where the students are able to communicate
among themselves, to discuss the academic
matters. Through the system, the student can also
conduct their activities such as accomplish their
assignments, upload and download notes,
communicate with all collaborators using email,
and answer the questions that have been posted
by the teacher in the collaborative class.

technique, it allows the students to think
individually, interact with their pair and share
the information with all the students and their
teacher. This technique helps students to
improve and enhance their knowledge by sharing
all the information, ideas and skills [19]. It
educates the student to be more active and
participate during the learning process rather
than to be a passive learner. Implementing
CETLs at school will ease the work of
organizing the students and teachers activities
such as uploading and downloading the
assignment, distributing quizzes, marks and
comments, as well as helping the teacher in
terms of their time management since all the
work and activities can be done online.


Why Do You Need CETLs

Software plays a central role in almost all aspects

of daily life, whether in government, banking
and finance, education, transportation and
entertainment. It is undeniable that the software
products have helped us to be more efficient and
productive in terms of problem solving, and they
are able to provide us with an environment for
work and play that is often safer, more flexible,
and less confining. Because of those reason, the
educational technology need to be introduced to
school. The researcher thinks that improving and
enhancing the teaching and learning process in
education fields is always the primary task of
educational organizations in order to make the
teaching and learning become more effective.
Thus, the idea to develop this research with the
development of a collaborative system arose for
few reasons which are :

3.1.1 Lack of Computer Use in School

There is limited usage of computers in schools
currently. Each school is provided with only a
number of computers which are placed in the
laboratory and the students are only allowed to
enter the laboratory during the specific hours.
Since technology is the most excellent tools for
information processing, new generations need to
become competent in their use, therefore they
should acquire the necessary skills, and this
require access to computers during their school
life. Therefore, the development of this online
collaborative system is intentionally to increase
the use of computers in school.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

3.1.2 To



While some students enjoy playing games and

do any clicks on the computer, however some of
them still feel like a strange to hold a computer.
Most of the teenagers seem the computer as a
medium for communication and entertainment,
but they do not really realize that it can also be as
a teaching or education tool as well. The current
society is rapidly changing with technological
advancements and therefore the schools cannot
be left behind [4]. Schools do not only play the
role as the plain-learning institutions, but as a
place to explore and discover new things.
Therefore, by introducing the computer-based
learning, it is hoped that both teachers and
students will have better exposure to the use of
computers with frequent use.

3.1.3 Introducing


The traditional process of teaching is more to

teacher-oriented mode. The development of this
collaborative system is to introduce and
encourage the students-centered approach, where
the students are given the priority to plan, solve,
and communicate by themselves before asking
for teachers help. Teacher will be in the system
as a facilitator, helping students with contents,
ideas, assessment, and in final discussion. This
online collaborative process will encourage
group activity, thus allow students to be more
courageous, since the system allows students to
give opinions and ideas in an open discussion.
Usually a bright student loves to study and have
no problem to learn individually. But, an
average student who has less interest in studying
will easily to get bored when they study by
themselves. They will learn effectively in groups
where by they can have discussions and are able
to share the ideas among themselves. The
learners must interact in some particular ways,
engaging with each other and course materials
internalization of knowledge rather than just
memorizing of knowledge [20]. Having group
activities frequently in learning process will help
students understand their course subjects.
Students can help each other and provide such
solutions together.

3.1.4 Time Management

In face-to-face learning process, students have to
follow the provided schedule in order to perform
their learning routines; which include

assignments and quizzes. However, with some

reason such as sickness, students fail to come to
the class to perform their activities which will
cause them to lose their marks. The flexibility of
time and space can be a virtual one in which
work is done by individuals who are distributed
in place and time [21]. This will ease and give
flexibility for the students to manage their own
time, where they can organize their activities
such as upload/download the assignments and
notes without any disturbance.

4. Think-Pair-Share: A Collaborative
Technique For CETLs
After reviewed some common collaborative
techniques in Section 2.3, Think-Pair-Share
technique is chosen to be applied in CETLs due
to some reasons. Think-Pair-Share is a cooperative learning technique which is said as a
multi-mode discussion cycle in which students
listen to a question or presentation, have time to
think individually, talk with each other in pairs,
and finally share responses with the larger group
[22]. It is a learning technique that provides
processing time and builds in wait-time which
enhances the depth and breadth of thinking [23].
Using a Think-Pair-Share technique, students
think of rules that they share with partners and
then with classmates in a group [22]. The general
idea of the think-pair-share is having the students
independently think or solve a problem quietly,
then pair up and share their thoughts or solution
with someone nearby. Every student should be
prepared for the collaborative activities; working
with pair, brainstorming ideas, and share their
thoughts or solution with the rest of the
collaborators. Obliquely, this technique let the
team learns from each other. When applying this
technique, there will be a wait time period for the
students [24]. The use of timer gives all students
the opportunity to discuss their ideas. At this
knowledge construction stage, the students will
find out what they do and do not know which is
very valuable for them. Normally this active
process is not widely practice during traditional
lectures. Teachers had time to think as well and
they were more likely to encourage elaboration
of original answers and to ask more complex
questions [25]. The Think-Pair-Share technique
also enhances the student's oral communication
skills as they have ample time to discuss their
ideas with the one another and therefore, the
responses received are often more intellectually
concise since students have had a chance to


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

reflect on their ideas. And there will be positive

shifts in comprehension levels, awareness and
use of comprehension strategies, aspects of oral
language and attitudes [26]. Therefore, it is
pertinent to apply this collaborative technique in

The ideas of Think-Pair-Share technique

are concluded based on the study made from
Reference [22] and Reference [23], which is
summarized in the following Table 3:

Table 3: Summary of the Think-Pair-Share


Think-Pair-Share; a collaborative learning technique

To increase participation by allowing a group of collaborators to interact and share ideas, which
can lead to the knowledge building among them.
Consist of three stages:
Think Individually
Each participant thinks about the given task. They will be given time to jot down their own ideas
or response before discussing it with their pair. Then, the response should be submitted to the
supervisor/ teacher before continue working with their pair on the next (Pair) stage.


Pair With partner

The learners need to form pairs. The supervisor / teacher need to cue students to share their
response with their partner. Each pair of students will then discuss their ideas about the task, and
their previous ideas. According to their discussion, each pair will conclude and produce the final
answer. Then they need to move to the next (Share) stage.
Share To the whole class / collaborators
The supervisor / teacher asks pairs to share their response with the rest of the class. Here, the large
discussion will happen, where each pair will facilitate class discussion in order to find similarities
or differences towards the response or opinions from various pairs.


How CETLs is Developed


The CETLs Framework

CETLs is developed in accordance to

the CL Features (Table 1) as well as the
collaborative process suggested by Reference
[8]. CETLs applies the Think-Pair-Share
technique to support the collaborative process

between students and teachers, and its

development is done according to the following
framework (Fig. 2). The framework, which is
named as Adjusted System Framework
(adapted from Reference [27]) shows that
collaborative learning process requires both
students and a supervisor/teacher to get involve.

Fig. 2 Adjusted System Framework for Think-Pair-Share


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

This framework particularly focuses on the

process happen in the collaborative activity and
interaction happens between users and the
system; where the users can be either students or
teacher. The collaborative activities might
happen between teacher and students, or between
a pair of students. Students, who act as
collaborator in pair-basis, will perform specific

tasks and actions by having a teacher as an

observer or supervisor.


The CETLs Use Case Diagram

The conceptual design of CETLs is shown in the

Fig. 3 which involves a coordinator, teacher and
student. CETLs provides a platform for teaching
and learning whereby a technique called ThinkPair-Share is used.

Fig. 3 Use Case Diagram for CETLs



IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


CETLs Interfaces

A CSCL tool which supports the

collaborative activities among teachers and
students was developed, and it is named as
CETLs; Collaborative Environment for Teaching

and Learning (system). CETLs applied the

Think-Pair-Share technique which allows the
users (both teacher and students) to communicate
and collaborate together, using the three stages
of the selected collaborative technique; think,
pair and share.

Fig. 4 The Think-Pair-Share (Collaborative Class) in CETLs

The above Fig. 4 shows the most

important part of the CETLs system; the
collaborative class, which applies the ThinkPair-Share technique to perform the collaborative
activities among the students. This collaborative
activity requires supervision from a teacher. The

students are provided with one or more

collaborative activities (i.e Task 4: Atmosphere)
and everyone in the collaborative class is able to
join each activity by clicking on each icon
(Think, Pair, or Share).

Individual working
space (Think)

Fig. 5 The Think Stage in CETLs

The Think stage requires student to silently think

by themselves, thus CETLs provide a working

space, where each student can jot down their

ideas, as shown in Fig. 5.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Write message to your

pair in the text box

Pop-up window to
display conversation
between pair
Fig. 6 The Pair Stage in CETLs

Entering the second stage, the student needs to

pair up. Here, the conversation may take place,
and that is why CETLs is endowed with an
instant messaging function; to allow two students

(pair) to discuss together. Here, the collaborative

activity happens between two students (pair).
Refer Fig. 6.

Public area display the

chat messages by all users.
Logged Users
Type the Chat
Message here

Fig. 7 The Share Stage in CETLs

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

The last stage as shown in Fig. 7

involves a large group discussion, to allow
collaboration among all collaborators, and this
function is supported by a chatroom (to be used
by all students and teachers in the current active

class). The purpose of this chatroom is to allow

the students to share their solutions and thoughts
with the rest of the class, while acquiring the real
solution from the teacher with direct

To fulfill the concept of Think-PairShare, all of the three stages of think, pair, and
share is provided with a timer, where the
supervisor/teacher is able to set the time for each
task, while the learner need to conclude their
answers within the specified time. To further
enhance this educational system, CETLs does
not only offer the think, pair, and share features,
but some other learning features to support the
teaching and learning activities. The features
include the class management, assignment
management, notes/assignment upload and
download as well as e-mail.

environment is a good opportunity for learning
communities to leverage new technology. Thus,

this research has reported a collaborative

approach used for teaching and learning on the
Web. Approaches to collaborative teaching and
learning include positioning the teacher as
supervisor, joint class discussion by supervisor
and students, and the use of a group project.
Several CSCL tools have been reviewed and
comparisons are made accordingly. A
collaborative learning technique; Think-PairShare, is summarized, and a CSCL system which
applied this technique is developed. The CSCL
system is named as CETLs, which is hoped to
improve the process of teaching and learning,
thus to enhance the students performance in
schools. CETLs is believed as a learning
mechanism that is able to provide better
transformation not only to the teacher and
students, but to the whole community as well.



T. S. Roberts, Online Collaborative Learning:

Theory and Practice, 2003 [e-book], Hershey,
PA, USA: Idea Group Inc. in ebrary (OUM
Digital Collection) [accessed 18 November


S. Kaplan, Building Communities - Strategies

for Collaborative Learning. ASTD Source for
E-Learning, Learning Circuits, 2002.


A. Kienle, Integration of knowledge

management and collaborative learning by
processes, Education and Information
Technologies, Vol. 11, Issue 2, 2006, pp. 161


W. J. Leonard, R. J. Dufresne, W. J. Gerace, J.

P. Mestre, Collaborative Group Techniques,
A discussion of teaching via small-group
cooperative learning work, 1999.


T. Gallardo, L. A. Guerrero, C. Collazos, A. P.

Jos, S. Ochoa, Supporting JIGSAW-type
Collaborative Learning Department of
Computer Science, Universidad de Chile,
Blanco Encalada, 2003.








A. Lindbeck, and D. Snower, Multitask

Learning and the Reorganization of Work:
From Tayloristic to Holistic Organization,
Journal of Labor Economics, Vol.18, Issue 3,
2000, pp. 353-376.
A. J. Romiszowski, and R. Mason, Computer
Mediated Communication, Handbook of
Research for Educational Communication and
Technology, 1996, pp. 438-456.
S. Williams, and T. S. Roberts, ComputerSupported Collaborative Learning: Strengths
and weaknesses, Computers in Education.
International Conference on 3-6 Dec, 2002,
Vol. 1, pp. 328 331.
M. Neill, Computers, Thinking, and Schools
in the: New World Economic Order.
Composing Cyberspace, McGraw Hill,
Boston, 1998, pp. 415-426.
R. Marion, Influence of Technological
Change on Teaching and Learning in the
Academy Journal of Physical Therapy
Education, Vol.16, Issue 3, 2002, pp. 23-30.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814






L. Brown and V. Lara, Professional

Development Module on Collaborative
Learning, Texas Collaborative for Teaching
Excellence, El Paso Community College,
D. W. Whitehead, Research-Based Criteria
for the Design and Selection of Literacy and
Thinking Tool, Literacy Learning: The
Middle Years Journal, Vol. 15, Issue 2, 2007,
pp. 280-310.
Z. Jianhua, L. Kedong, K. Akahori, Modeling
and System Design for Web-Based
Collaborative Learning, The United Nations
University, Institute of Advanced Studies,
South China Normal University, Educational
Technology Institute, Tokyo Institute of
Technology, 2000.
Gomez, R. D. Pea, D. C. Edelson, B. J.
Fishman, Learning Through Collaborative
Visualization. The CoVis Project, School of
Education & Social Policy, Northwestern
University, 1998.
C. Y. Y. Cheng, J. Yen, Virtual Learning
Collaborative Learning System, System
Sciences, Proceedings of the Thirty-First
Hawaii International Conference, 1998, Vol. 1,
pp. 480-491.

online group discourse processes, ProQuest

Education Journals, Vol. 28, Issue 3, 2007, pp.

P. Resta and T. Laferrire, Technology in

Educational Psychology Review Journal, Vol.
19, Issue 1, 2007, pp. 65-83.

[22] J. McTighe and F. T. Lyman, Jr., Cueing

Thinking in the Classroom: The Promise of
Leadership, 1988, Vol. 45, pp. 18-24.
[23] T. Yerigan, Getting Active In The Classroom.,
Journal of College Teaching and Learning,
Vol. 5, Issue 6, 2008, pp. 19-24.
[24] A. K. Banikowski, and T. A. Mehring, Strategies
to Enhance Memory Based on BrainResearch Focus on Exceptional Children,
Vol. 32, Issue 2, 1999, pp. 1-17.
[25] M. B. Rowe, Wait Time: Slowing Down May
Be a Way of Speeding Up, Journal of Teacher
Education, Vol. 37, Issue 1, 1986, pp. 43-50.
[26] D. W. Whitehead, Research-based Criteria for
the Design and Selection of Literacy and
Thinking Tools, Literacy Learning: The
Middle Years Journal, Vol. 15, Issue 2, 2007,
pp. 280-310.


G. E. Lautenbacher, J. D. Campbell, B. B.
Sorrows, D. E. Mahling, Supporting
Through Information System Technology,
Frontiers in Education Conference, 27th
Annual Conference. Teaching and Learning in
an Era of Change. Proceedings 1997, vol. 3,

[27] A. Dimitracopoulou, Designing Collaborative

Learning Systems: Current Trends & Future
Research Agenda, Proceedings of the 2005
Conference on Computer Support for
Collaborative Learning Technology &
Educational Engineering Laboratory, 2005, pp.


S. Taneva, R. Alterman, T. Hickey,

Depth, Proceedings of the 27th Annual
Cognitive Science Conference, 2005, pp. 21562161.


R. D. Pea, The Collaborative Visualization

Communications of the ACM, Vol. 36, Issue 5,
1993, pp. 60-63.


S. Ledlow, Using Think-Pair-Share in the

College Classroom, Center for Learning and
University, 2001.

N.A. Nik Azlina was graduated from Multimedia

University, Cyberjaya, Malaysia in 2004 with a degree
in Software Engineering. She completed a Master of
Software Engineering from the University of Malaya in
2008. For several years Nik Azlina worked as a lecturer
at International University College of Technology
Twintech before expanding her career to University of
Kuala Lumpur, Malaysia, lecturing in Software
Engineering Department. She has carried out
considerable research in the area of CSCL and
collaborative learning. Her current research interests
encompass the field of Requirements Engineering
which focuses on the RE process and its relation with
Activity Theory.


P. V. Dennen and K. Wieland, From

Interaction to Intersubjectivity: Facilitating



IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Dynamic Clustering for QoS based Secure Multicast Key Distribution

in Mobile Ad Hoc Networks
Suganyadevi Devaraju1, Padmavathi Ganapathi2

Department of Computer Applications,

SNR SONS College (Autonomous)
Coimbatore, Tamil Nadu , India
Department of Computer Science,
Avinashilingam Deemed University ,
Coimbatore, Tamil Nadu , India

Many emerging applications in mobile ad hoc networks involve
group-oriented communication. Multicast is an efficient way of
supporting group oriented applications, mainly in mobile
environment with limited bandwidth and limited power. For
using such applications in an adversarial environment as military,
it is necessary to provide secure multicast communication. Key
management is the fundamental challenge in designing secure
multicast communications. Multicast key distribution has to
overcome the challenging element of 1 affects n phenomenon.
To overcome this problem, multicast group clustering is the best
solution. This paper proposes an efficient dynamic clustering
approach for QoS based secure multicast key distribution in
mobile ad hoc networks. Simulation results shows the
demonstration of Dynamic clustering approach have better
system performance in terms of QoS performance metrics such
as end to end delay, energy consumption, key delivery ratio and
packet loss rate under varying network conditions.
Keywords: Mobile Ad hoc Networks, Multicast, Secure
Multicast Communication, QOS Metrics.

1. Introduction
A MANET (Mobile Ad Hoc Network) is an autonomous
collection of mobile users that offers infrastructure-free
architecture for communication over a shared wireless
medium. It is formed spontaneously without any
communications such as video conferencing, discussion
forums, frequent stock updates, video on demand (VoD),
pay per view programs, and advertising. The combination
of an ad hoc environment with multicast services [1, 2, 3]
induces new challenges towards the security
infrastructure. In order to secure multicast communication,
security services such as authentication, data integrity,
access control and group confidentiality are required.
Among which group confidentiality is the most important

service for several applications [4]. These security services

can be facilitated if group members share a common
secret, which in turn makes key management [5, 6] a
fundamental challenge in designing secure multicast and
confidentiality requires that only valid users could decrypt
the multicast data.
Most of these security services rely generally on
encryption using Traffic Encryption Keys (TEKs) and reencryption uses Key Encryption Keys (KEKs) [7]. The
Key management includes creating, distributing and
updating the keys then it constitutes a basic block for
secure multicast communication applications. In a secure
multicast communication, each member holds a key to
encrypt and decrypt the multicast data. When a member
joins and leaves a group, the key has to be updated and
distributed to all group members in order to meet the
multicast key management requirements. Efficient key
management protocols should be taken into consideration
for miscellaneous requirements [8]. Figure 1 summarizes
these requirements.

Figure 1. Multicast Key Management Requirements

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Security requirements:
Forward secrecy: In this case, users left the group should
not have access to any future key. This ensures that a
member cannot decrypt data after it leaves the group.
Backward secrecy: A new user who joins the session
should not have access to any old key. This ensures that a
member cannot decrypt data sent before it joins the group.
Non-group confidentiality: Users that are never part of the
group should not have access to any key that can decrypt
any multicast data sent to the group.
Collusion freedom: Any set of fraudulent users should not
be able to deduce the currently used key.
The process of updating the keys and distributing them to
the group members is called rekeying operation. A critical
problem with any rekey technique is scalability. The rekey
process should be done after each membership change,
and if the membership changes are frequent, key
management will require a large number of key exchanges
per unit time in order to maintain both forward and
backward secrecies. The number of TEK update messages
in the case of frequent join and leave operations induces
several QOS characteristics as follows:
Packet Drop Rate: The number of TEK update messages
in the case of frequent join and leave operations induces
high packet loss rates and reduces key delivery ratio which
makes unreliable.
Quality of service requirements:
1-affects-n: If a single membership changes in the group,
it affects all the other group members. This happens
typically when a single membership change requires that
all group members commit to a new TEK.
Energy consumption: This induces minimization of
number of transmissions for forwarding messages to all
the group members.
End to end delay: Many applications that are built over the
multicast services are sensitive to average delay in key
delivery. Therefore, any key distribution scheme should
take this into consideration and hence minimizes the
impact of key distribution on the delay of key delivery.
Key Delivery Ratio: This induces number of successful
key transmission to all group members without any loss of
packet during multicast key distribution.
Thus a QOS based secure multicast key distribution in
mobile ad hoc environment should focus on security,
reliability and QOS characteristics.
To overcome these problems, several approaches propose
a multicast group clustering [9, 10, and 11]. Clustering is


dividing the multicast group into several sub-groups.

Local Controller (LC) manages each subgroup, which is
responsible for local key management within the cluster.
Thus, after Join or Leave procedures, only members
within the concerned cluster are affected by rekeying
process, and the local dynamics of a cluster does not affect
the other clusters of the group and hence it overcomes 1affects-n phenomenon.
Moreover, few solutions for multicast clustering such as
dynamic clustering did consider the QOS requirements to
achieve an efficient key distribution process in ad hoc
This Paper proposes an efficient cluster-based multicast
tree (CBMT) algorithm for secure multicast key
distribution in mobile ad hoc networks. Thus this new
efficient CBMT approach is a dynamic clustering scheme
with Mobility Aware Multicast version of Destination
Sequenced Distance Vector (Mobility Aware MDSDV)
routing protocol, which becomes easy to elect the local
controllers of the clusters and updates periodically as the
node joins and leaves the cluster.
The main objective of the thesis is to present a new
approach of clustering algorithm for efficient multicast
key distribution in mobile ad hoc network by overcoming
issues of multicast key management requirements.
Extensive simulation results in NS2 show the analysis of
the CBMT algorithm for multicast key distribution based
on the performance of QOS characteristics.
Hence, this proposed scheme overcomes 1-affects-n
phenomenon, reduces average latency and energy
consumption and achieves reliability, while exhibiting low
packet drop rate with high key delivery ratio compared
with the existing scheme under varying network
The remainder of this Paper is structured as follows;
Section 2 presents the related works about Key
management and multicast clustering approaches. Section
3 describes the proposed the four phases for efficient
CBMT for secure multicast key distribution. Section 4
evaluates the performance characteristics of efficient
CBMT with simulation environment for the proposed
algorithm and discusses the analysis of the simulation
results and Finally, Section 5 concludes the paper.

2. Related Work
Key management approaches can be classified into three
classes: centralized, distributed or decentralized. Figure 2
illustrates this classification.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Logical key hierarchy was proposed independently in

[14]. The key server maintains a tree with subgroup keys
in the intermediate nodes and the individual keys in the
leaves. Apart from the individual keys shared with the key
server, each node knows all keys on the path to the root. In
root, the group key is stored. As the depth of the balanced
binary tree is logarithmical in the number of the leaves,
each member stores a logarithmical number of keys, and
the number of rekey messages is also logarithmic in the
number of group members instead of linear, as in
previously described approaches.
Figure 2: Classification of key management Approaches

2.1 Centralized Approaches

In centralized approaches, a designated entity (e.g., the
group leader or a key server) is responsible for calculation
and distribution of the group key to all the participants.
Centralized protocols are further classified into three subcategories namely Pairwise key approach; Secure locks
and Hierarchy of keys approach.

One-way function trees (OFT) [15] enables the group

members to calculate the new keys based on the previous
keys using a one-way function, which further reduces the
number of rekey messages. Thus the pair wise key
approach exhibits linear complexity. Secure lock, although
most efficient in number of messages, poses serious load
on the server and can be used only for small groups. All
tree-based protocols have logarithmic communication and
storage complexity at the members, and linear storage
complexity at the key server.

2.2 Distributed Key-Agreement Approaches

Pairwise key approach: In this approach, the key server
shared pairwise keys with each participant. For example,
in GKMP [12], apart from pairwise keys and the group
key, all current group participants know a group key
encryption key (gKEK). If a new participant joins the
group, the server generates a new group key and a new
gKEK. These keys are sent to the new member using the
key it shares with key server, and to the old group member
using the old gKEK.
Secure Locks: Chiou and Chen [13] proposed Secure
Lock; a key management protocol where the key server
requires only a single broadcast to establish the group key
or to re-key the entire group in case of a leave. This
protocol minimizes the number of re-key messages.
However, it increases the computation at the server due to
the Chinese Remainder calculations before sending each
message to the group.
Hierarchy of Keys Approach: Most efficient approach to
rekeying in the centralized case is the hierarchy of keys
approach. Here, the key server shares keys with subgroups
of the participants, in addition to the pair wise keys. Thus,
the hierarchical approach trades off storage for number of
transmitted messages. The simulations are conducted and
the performance is compared for CBMT and OMCT with
varying density of cluster and network surface. This
comparison is done in terms of end to end delay, energy
consumption, key delivery ratio and packet drop ratio.

With distributed or contributory key-agreement protocols,

the group members cooperate to establish a group key.
This improves the reliability of the overall system and
reduces the bottlenecks in the network in comparison to
the centralized approach. The protocols of this category
are classified into three sub-categories namely Ring based
cooperation, Hierarchical based cooperation and Broadcast
based cooperation depending on the virtual topology
created by the members for cooperation.
Ring-Based Cooperation: In some protocols, members
are organized in a ring. The CLIQUES protocol suite [9] is
an example of ring-based cooperation. This protocol
arranges group members as (M1, Mn) and Mn as controller.
It specifies a role of the controller that collects
contributions of other group members, adds own
contribution, and broadcasts information that allows all
members to compute the group key.
The choice of the controller depends on the dynamic
event and the current structure. In additive events new
members are appended to the end of the list CLIQUES do
not provide verifiable trust relationship, because no other
member can check whether values forwarded by Mi, or the
set broadcasted by the controller are correctly built.
Hierarchical Based Cooperation: In the hierarchical
GKA protocols, the members are organized according to

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

some structure. STR protocol [16] uses the linear binary

tree for cooperation and provides communication efficient
protocols with especially efficient join and merges
operations. STR defines the role of the sponsor
temporarily and it can be assigned to different members on
dynamic events depending on the current tree structure.
The sponsor reduces the communication overhead as it
performed some operations on behalf of the group. The
sponsor is not a central authority. STR provides verifiable
trust relationship because every broadcasted public key
can be verified by at least one other participant.
Broadcast based Cooperation:
Broadcast based
protocols have constant number of rounds. For example,
in three-round Burmester-Desmedt (BD) protocol [17]
each participant broadcasts intermediate values to all other
participants in each round. The communication and
computational load is shared equally between all parties.
This protocol does not provide verifiable trust
relationship, since no other group member can verify the
correctness of the broadcasted values.

2.3 Decentralized Approaches

The decentralized approach divides the multicast group
into subgroups or clusters, each sub-group is managed by
a LC (Local Controller) responsible for security
management of members and its subgroup. Two kinds of
decentralized protocols are distinguished as static
clustering and dynamic clustering. In Static clustering
approach, the multicast group is initially divided into
several subgroups. Each subgroup shares a local session
key managed by LC.
Example: IOLUS [18] and DEP [11] belong to the
categories, which are more scalable than centralized
protocol. Dynamic clustering approach aims to solve the
1 affect n phenomenon. This approach starts a multicast
session with centralized key management and divides the
group dynamically. Example: AKMP [10], SAKM [19]
belong to this approach and are dedicated to wired
networks. Enhanced BAAL [20] and OMCT [21,22]
proposes dynamic clustering scheme for multicast key
distribution in ad hoc networks.
OMCT [21,22] (Optimized Multicast Cluster Tree) is a
dynamic clustering scheme for multicast key distribution
dedicated to operate in ad hoc networks. This scheme
optimizes energy consumption and latency for key
delivery. Its main idea is to elect the local controllers of
the created clusters [21,22]. OMCT needs the
geographical location information of all group members in
the construction of the key distribution tree. Once the
clusters are created within the multicast group, the new LC


becomes responsible for the local key management and

distribution to their local members, and also for the
maintenance of the strongly correlated cluster property.
The election of local controllers is done according to the
localization and GPS (Global Positioning System)
information of the group members, which does not reflect
the true connectivity between nodes.
Based on the literature reviewed, OMCT is the efficient
dynamic clustering approach for secure multicast
distribution in mobile ad hoc networks. To enhance its
efficiency, it is necessary to overcome the criteria, as
OMCT needs geographical location information in the
construction of key distribution tree by reflecting true
connectivity between nodes.
To overcome the above limitations another method called
Optimized Multicast Cluster Tree with Multipoint Relays
(OMCT with MPR) [23] is introduced which uses the
information of Optimized Link State Routing Protocol
(OLSR) to elect the LCs of the created clusters. OMCT
with MPRs assumes that routing control messages have
been exchanged before the key distribution. It does not
acknowledge the transmission and results in
retransmission which consumes more energy and
unreliable key distribution due to high packet drop rate for
mobile ad hoc networks.
Destination Sequenced Distance Vector (DSDV) [24] is a
table driven proactive routing protocol designed for
mobile ad hoc networks. This protocol maintains routing
table as a permanent storage. Routes are maintained
through periodically and event triggered exchanges the
routing table as the node join and leave.
Route selection is based on optimization of distance
vector. It avoids routing loops and each node has a unique
sequence number which updates periodically. It is mainly
used for intra cluster routing. It allows fast reaction to
topology changes. Improvement of DSDV (IDSDV) [25,
26], improves the delivery ratio of Destination-Sequenced
Distance Vector (DSDV) routing protocol in mobile ad
hoc networks with high mobility. It uses message
exchange scheme for its invalid route reconstruction but
does have multicast connectivity between nodes.
The proposal of this paper is to present a new efficient
Cluster Based Multicast Tree (CBMT) using Mobility
Aware Multicast version of DSDV for secure multicast
key distribution. Mobility aware MDSDV have multicast
connectivity between nodes. It sends acknowledgement
for each transmission in order to reduce the
retransmission. The LCs are elected easily with periodic
updates of node join and leave information using multicast

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


tree. This overcomes the issues of end to end delay,

unreliability with high packet drop rate and low key
delivery ratio. The efficient CBMT algorithm is simulated
with network simulator NS-allinone-2.33 and the
performance is studied based on the QOS characteristics in
multicast key distribution.

3. Proposed Methodology
The methodology of efficient CBMT is proposed in order
to assure reliable QOS based secure multicast key
distribution for mobile ad hoc networks. The specific
contributions are structured in four Phases.
Phase I : Integration of OMCT with DSDV [27]
Makes easy election of LC
Improves key delivery ratio
Phase II : Enhancement of OMCT with DSDV[28]
Reduces end to end delay
Consumes less energy
Phase III : CBMT with MDSDV[29]
Improves reliability
Reduces packet drop rate
Phase IV: Efficient CBMT
Improves Key Delivery Ratio
Consumes Less Energy
Reduces end to end delay
Reduces Packet Drop Rate

3.1 Integration of OMCT with DSDV [27]

The main idea of this phase is to integrate OMCT
clustering algorithm with DSDV routing protocol to elect
the local controllers of the created clusters. The principle
of this clustering scheme is to start with the group source
GC, to collect its 1-hop neighbors by DSDV, and to elect
LCs which are group members and which have child
group members (the LC belongs to the unicast path
between the source and the child group members).
The selected nodes will be elected as local controllers as
shown in figure 3. In the example shown in figure 3, the
group source GC 0 collects its 1-hop neighbors by DSDV,
and elects LCs node 1 and 7, which are group members
and which have child group members as 2, 3,4,5,6 and 8,
9,10,11,12 respectively. The selected nodes will be elected
as local controllers.
According to the step 3 in the algorithm, if a new member
13 joins the group then the member do not belong to
formed clusters. This approach chooses from these
remaining group members the nodes that have the
maximum reachability to the others nodes in one hop.

Figure 3. OMCT with DSDV

This reachability information is collected through the

DSDV routing protocol, consolidated through OMCT
signaling and attached the created cluster. If the created
clusters do not cover group members then the node is
selected as local controller for the remaining group
members. Thus this phase makes easy to elect the local
controllers and also increases the key delivery ratio in
multicast transmission.

3.2 Enhancement of OMCT with DSDV [28]

The Integration of OMCT with DSDV approach is further
enhanced by sending acknowledgement for each
transmission using the DSDV routing protocol in order to
reduce retransmission. Thus in this phase, it reduces the
end to end delay and consumes less energy which makes
this approach as an energy efficient.

3.3 Cluster based Multicast Tree with MDSDV [29]

Cluster based multicast tree (CBMT) with MDSDV
algorithm is a new reliable version of OMCT with DSDV
for secure multicast key distribution in mobile ad hoc
networks. It includes key tree engine and forms tree
structure based on authentication.
Multicast version of DSDV routing protocol is used to
form multicast tree among the group members. Thus this
phase proposes a reliable dynamic clustering approach by
reducing the packet drop rate and increasing the key
delivery ratio.

3.4 Efficient CBMT with Mobility Aware MDSDV

More frequent membership dynamism causes node failure,
link failure, power failure which leads to time delay in
multicast transmission. Node fails due to movement of

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

node out of coverage area. Failure of node is easily

identified by reachability information of Mobility Aware
MDSDV. When a LC fails, it leads to clusterization. Thus
this phase proposes an efficient CBMT with Mobility
aware MDSDV which improves the performance of QoS

4. Performance Evaluation and Analysis of

The performance of CBMT for multicast key distribution
is evaluated in terms of QoS characteristics as metrics and
simulated using NS2 version ns-allinone-2.33 [30].

4.1 Performance Metrics

The QOS metrics are namely end to end delay in key
distribution, energy consumption, Key delivery ratio and
packet drop rate of multicast key distribution.
Key Delivery Ratio is defined as the number of
received keys divided by number of sent keys. This
metrics allows evaluating the reliability of the
protocol in terms of key delivery ratio in key
transmission from the source to the group members.
Energy Consumption is defined as the sum of units
required to the keys transmission throughout the
duration of simulation.
End to end Delay: The average latency or end to
end delay of keys transmission from the source to the
receivers. This metrics allows evaluating the average
delay to forward a key from a LC to its cluster
Packet Loss Rate: is obtained as subtracting number
of packets received at the destination from number
of packets send to destination. This metrics allows in
evaluating the reliability of the protocol in terms of
packet loss rate in key transmission from the source
to the group members.


The density of
Network surface

group 7, 13, 28 and 50 nodes

The maximal speed

The pause time
The simulation duration
Physical/Mac layer
Mobility model
Routing protocol

2000m *2000m).
10km/h (2.77m/sec)
20 seconds
200 seconds
IEEE 802.11
Random waypoint model
Mobility Aware MDSDV

4.3 Analysis of Simulation Results

This section presents analysis of simulation results to
compare the performance of efficient CBMT with
Mobility aware MDSDV and CBMT in varying density of
nodes and network surface. This simulation results shows
that the efficiency is improved by efficient CBMT
approach of multicast key distribution in terms of end to
end delay of key distribution, energy consumption, key
delivery ratio and packet loss rate compared to the OMCT.
The simulation results illustrate the comparison of
efficient CBMT with Mobility aware MDSDV and OMCT
as shown in fig.4a 4d. Indeed, this approach of CBMT
divides the multicast group with the effective connectivity
between nodes. It allows fast reaction to topology

4.2 Simulation Environment

The proposed CBMT using MDSDV is simulated under
Linux Fedora, using the network simulator NS2 version
ns-allinone-2.33. This simulation environment is defined
by the following parameters as shown in table I.
The simulations are conducted and the performance is
compared for CBMT and OMCT with varying density of
cluster and network surface. This comparison is done in
terms of end to end delay, energy consumption, key
delivery ratio and packet drop ratio.
Table 1: Simulation Metrics

Figure 4 a Average End to end Delay

Figure 4a and 4b illustrates that the average delay of key

distribution and the energy consumption are better with
this approach of efficient CBMT with mobility aware
MDSDV than OMCT. This is due to the fact that it sends
acknowledgement for each transmission in order to reduce
the retransmission. Hence it reduces average end to end

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

delay and energy consumption of multicast

distribution in efficient CBMT compared to OMCT.



From the figure 4c and 4d, it can be observed that

Efficient CBMT gives better performance and achieves
reliability in terms of key delivery ratio and reduces packet
loss rate compared to the OMCT algorithm under varying
network conditions.

5. Conclusion

Figure 4 b Energy Consumption

Secure multicast communication is a significant

requirement in emerging applications in adhoc
environments like military or public emergency network
applications. Membership dynamism is a major challenge
in providing complete security in such networks. Some of
the existing algorithms like OMCT address the critical
problems using clustering approach like 1-affects-n
phenomenon and delay issues. Therefore an attempt is
made to improve the performance in terms of QoS metrics
as node increases by using an approach of efficient Cluster
Based Multicast Tree algorithm for secure multicast
communication. This algorithm uses Mobility aware
Multicast version of DSDV routing protocol for electing
LCs. The proposed efficient CBMT is tested and the entire
experiments are conducted in a simulation environment
using network simulator NS2. The results are formed to be
desirable and the proposed method is efficient and more
suitable for secure multicast communication dedicated to
operate in MANETs.


Figure 4 c Key Delivery Ratio

Figure 4 d Packet Loss Rate

[1] T. Chiang and Y. Huang, Group keys and the multicast

security in ad hoc networks, Proc. IEEE International
Conference on Parallel Processing, IEEE press, pp 385390, Oct 2003.
[2] T. Kaya, G. Lin, G. Noubir, and A. Yilmaz, Secure
multicast groups on ad hoc networks. Proc. 1st ACM
workshop on security of ad hoc and sensor networks,
ACM Press, pp 94-102.2003.
[3] L. Lazos and R. Poovendram, Energy-Aware Secure
Communication in Ad Hoc Networks Using
Location Information. Proc.IEEE
International Conference on
Acoustics Speech and
Signal Processing, pp 201-204, Apr 2003.
[4] H. Bettahar, A. Bouabdallah, and M. Alkubeily, Efficient
Key Management Scheme for Secure Application level,
IEEE sym. On Computers and Communications, pp 489497, July 2007.
[5] G.Valle, R.Cardenas, Overview the Key Management in
Adhoc Networks, LCNS 3563, pp 397-406, Aug 2005.
[6] D.Huang, D.Medhi, A Secure Group Key Management
scheme for Hierarchical Mobile Adhoc Networks, Adhoc
Networks, pp 560-577, June 2008.
[7] B.Kim, H.Cho, J. Lee, Efficient Key Distribution
Protocol for secure Multicast Communication, LCNS
3043, pp 1007-1016, Apr 2004.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

[8] Y. Challal, H. Seba, Group Key Management Protocols:

A novel Taxonomy, International Journal of Information
Technology pp 105-118, 2005.
[9] L. Dondeti, S. Mukherjee, and A. Samal, Secure one-to
many group communication sing dual encryption, IEEE
sym. On Computers and Communications, pp 1-25, Jul
[10] H. Bettahar, A. Bouabdallah, and Y. Challal, An adaptive
key management protocol for secure multicast, Proc.IEEE
International Conference on Computer Communications
and Networks, pp 190-195, Oct 2002.
[11] M. Bouassida, I. Chrisment, and O. Festor, An Enhanced
Hybrid Key Management Protocol for Secure Multicast in
Ad Hoc Networks. LCNS 3042, pp 725-742, Apr 2004.
[12] H. Harney and C. Muckenhirn. Group key management
protocol (gkmp) specification. RFC2093, 1997.
[13] G. H. Chiou and W. T. Chen. Secure Broadcast using
Secure Lock. IEEE Transactions on Software Engineering,
August 1989.
[14] Chung KeiWong, Mohamed Gouda, and Simon S. Lam.
Secure group communications using key graphs.
IEEE/ACM Trans.2000.
[15] Alan T. Sherman and David A. McGrew. Key
establishment in large dynamic groups using one-way
function trees. 2003.
[16] Yongdae Kim, Adrian Perrig, and Gene Tsudik. Treebased group key agreement. ACM Trans. Inf. Syst. Secur.,
[17] Mike Burmester and Yvo Desmedt. A secure and scalable
group key exchange system. Information Processing
Letters, May 2005.
[18] S. Mittra. Iolus: A framework for scalable secure
multicasting. In SIGCOMM, pages 277288, 1997.
[19] Y. Challal, H. Bettahar, and A. Bouabdallah. SAKM: A
Scalable and Adaptive Key Management Approach for
Multicast Communications. ACM SIGCOMM, April 2004.
[20] M. Bouassida, I. Chrisment, and O. Festor. An Enhanced
Hybrid Key Management Protocol for Secure Multicast in
Ad Hoc Networks. In Networking 2004, Greece, May
[21] M. Bouassida, I. Chrisment, and O. Festor. Efficient
Clustering for Multicast Key Distribution in MANETs. In
Networking 2005, Waterloo, CANADA, May 2005.
[22] M.S. Bouassida, I. Chrisment and O.Feastor. Group Key
Management in MANETs, May 2006.
[23] M. Bouassida, I. Chrisment, and O. Festor: Efficient Group
Key Management Protocol in MANETs using the
Multipoint Relaying Technique. International Conference
on Mobile Communications 2006.
[25] T. Liu & K. Liu, Improvement on DSDV in Mobile Ad
Hoc Networks, IEEE, China, 2007, pp.1637-1640
[26] A H A Rahman, Z A Zukarnain, Performance
Comparison of AODV, DSDV and I-DSDV routing
protocols in Mobile Adhoc Networks, European Journal
of scientific Research, pp 566-576, 2009.
[27] D.Suganyadevi, G.Padmavathi, A Reliable Secure
Multicast Key Distribution Scheme for Mobile Adhoc


Networks, World Academy of Science, Engineering and

Technology, Vol. 56, 2009, pp 321-326.
[28] D.SuganyaDevi., G. Padmavathi, "Performance Efficient
EOMCT Algorithm for Secure Multicast Key Distribution
for Mobile Adhoc Networks," in International Conference
on Advances in Recent Technologies in Communication
and Computing, 2009, pp.934-938.
[29] D.SuganyaDevi., G. Padmavathi, "Cluster Based
Multicast Tree for Secure Multicast Key Distribution in
Mobile Adhoc Networks," International Journal of
Computer Science and Network Security, Vol. 9, No. 9,
2009, pp. 64-69.
[30] The Network Simulator NS-2 tutorial homepage,

SuganyaDevi Devaraju received her B.Sc

Krishnammal College for Women, Coimbatore
in 1996 and 1999 respectively. And, she
received her M.Phil degree in Computer
Science in the year of 2003 from
Thirunelveli. She is pursuing her PhD at
Avinashilingam University for Women. She is currently working as
an Assistant Professor in the Department of computer
Applications, SNR Sons College, Coimbatore. She has 11 years of
teaching experience. She has presented 15 papers in various
national and international conferences. She has 6 publications in
various international journals. Her research interests Multicast
Communication, MANET and Network Security.
Dr. Padmavathi Ganapathi is the professor
and head of Department of Computer Science,
Coimbatore. She has 22 years of teaching
experience and one year Industrial experience.
Her areas of interest include Network security
communication. She has more than 120
publications at national and International level.
She is a life member of many professional organizations like CSI,

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

A Theoretical Methodology and Prototype Implementation for

Detection Segmentation Classification of Digital Mammogram
Tumor by Machine Learning and Problem Solving Approach
*VALLIAPPAN Raman 1, PUTRA Sumari 2 and MANDAVA Rajeswari 3

School of Computer Science, University Sains Malaysia,

George town, Penang 11800, Malaysia

School of Computer Science, University Sains Malaysia,

George town, Penang 11800, Malaysia

School of Computer Science, University Sains Malaysia,

George town, Penang 11800, Malaysia

Breast cancer continues to be a significant public health
problem in the world. Early detection is the key for
improving breast cancer prognosis. The CAD systems can
provide such help and they are important and necessary
for breast cancer control. Microcalcifications and masses
are the two most important indicators of malignancy, and
their automated detection is very valuable for early breast
cancer diagnosis. The main objective of this paper is to
detect, segment and classify the tumor from mammogram
images that helps to provide support for the clinical
decision to perform biopsy of the breast. In this paper, a
classification system for the analysis of mammographic
tumor using machine learning techniques is presented.
CBR uses a similar philosophy to that which humans
sometimes use: it tries to solve new cases of a problem by
using old previously solved cases. The paper focus on
segmentation and classification by machine learning and
problem solving approach, theoretical review have been
undergone with more explanations. The paper also
describes the theoretical methods of weighting the feature
relevance in case base reasoning system.
Key words: Digital Mammogram, Segmentation, Feature
Extraction and Classification.

1. Introduction
Breast cancer is the most common cancer of western
women and is the leading cause of cancer-related death
among women aged 15-54 [14]. Survival from breast
cancer is directly related to the stage at diagnosis. Earlier

the detection, higher chances of successful treatments. In

an attempt to improve early detection, a study has been
undertaken to process the screening mammograms of
breast cancer patients in order to analyze the
mass/microcalcifications features that help to differentiate
benign from malignant cases.
In this paper we propose the selected shape-based features
in order to classify clustered masses between benign and
malignant [15]. The computerized analysis of
mammographic masses performed in this work can be
divided into four stages: 1) digitization of mammograms
and enhancement of images; 2) detection of suspicious
areas; 3) extraction of features for every segmented tumors
in the digitized mammogram; and 4) analysis of the
features using Case Based Reasoning techniques. A CaseBased Reasoning algorithm is used for classifying these
cases into benign or malignant cases. We have to be aware
that Case-based Reasoning means using previous
experience in form of cases to understand and solve new
problems [13].
The main objective of this paper is to focus on the
segmentation and theoretical review for classification of
tumor by case base reasoning approach and how to apply
weights to the features, and improve the accuracy rate.
The paper is organized as follows: In Section 2, it clearly
explains the existing works of mammography detection,
then machine learning technique is explained in section 3,
Next in section 4 problem solving capabilities are
explained, next experimental results are shown in Section
5. Section 6 discusses the shown experimental results.
Finally conclusion and future works are specified in


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

section 6.

2. Existing Research Works

The problem of image processing has been divided into
several research areas and medical research has been quite
receptive of image processing in applications like x ray,
computer aided tomography, ultrasound and magnetic
resonance [8]. There are several existing approaches were
made to detect the abnormal tissues in breast images and
to detect the cancer earlier.
Zhang et al. [3] noted that the presence of spiculated
lesions led to changes in the local mammographic texture.
They proposed that such a change could be detected in the
Hough domain, which is computed using the Hough
transform. They partitioned an image into overlapping
ROIs and computed the Hough transform for each ROI.
The Hough domain of each ROI was thresholded to detect
local changes in mammographic texture and to determine
the presence or absence of a spiculated mass.
Brzakovic et al. [4] use a two stage multi-resolution
approach for detection of masses. First they identified
suspicious ROIs using Gaussian pyramids and a pyramid
linking technique, based on the intensity of edge links.
Edges were linked across various levels of resolution. This
was followed by a classification stage, where the ROI
were classified as malignant, benign or normal based on
features like shape descriptors, edge descriptors and area


round malignant masses. However, some malignant

masses are shaped irregularly.
The above methods show less than five false positives per
image with a true positive detection rate of approximately
90%.It is difficult to compare the performance of these
methods because their databases are different.

3. Machine Learning Approach

Compare to all the existing works; we developed
mammographic tumor segmentation by region growing
approach and classification using case base reasoning
approach [15]. In this paper there are two stages; first
stage includes machine learning approach such as
digitizing the images, preprocessing and segmentation.
Tumor segmentation classified as two types: Mass and
Microclacification.It is more difficult to detect masses than
microcalcifications because their features can be obscured
or similar to normal breast parenchyma. Masses are quite
subtle, and often occurred in the dense areas of the breast
tissue, have smoother boundaries than microcalcifications,
and have many shapes such as circumscribed, speculated
lobulated or ill-defined. Second stage is the problem
solving approach using Case Base Reasoning method; new
cases are solved by previous solved old cases, which is the
main focus of the paper. Figure 1 illustrates the overall
block diagram of tumor Classification method.
Digitizing Mammogram

Petrick et al. [5] developed a two-stage algorithm for the

enhancement of suspicious objects. In the first stage they
proposed an adaptive density weighted contrast
enhancement filter (DWCE) to enhance objects and
suppress background structures. The central idea of this
filtering technique was that it used the density value of
each pixel to weight its local contrast. In the first stage the
DWCE filter and a simple edge detector (Laplacian of
Gaussian) was used to extract ROIs containing potential
masses. In the second stage the DWCE was re-applied to
the ROI. Finally, to reduce the number of false positives,
they used a set of texture features for classifying detected
objects as masses or normal. They further improved the
detection algorithm by adding an object-based regiongrowing algorithm to it.
Lai [6] made an approach based on a multiresolution
Markov random field model detect mass lesions. Its initial
window size for segmentation influences the sensitivity of
detection. Li [7] proposed a method on iris filter was
developed to detect mass lesions of rounded convex
regions with low contrast. The iris filter enhances most

Machine Learning
Image Preprocessing

Image Segmentation

Feature Extraction and Selection

Problem Solving

Case Base Reasoning


Fig 1 illustrates the overall block diagram of Mass Classification


3.1 Digitization
First, the X-ray mammograms are digitized with an
image resolution of 100 100 m2 and 12 bits per pixel by
a laser film digitizer. To detect microcalcifications on the
mammogram, the X-ray film is digitized with a high
resolution. Because small masses are usually larger than
3mm in diameter, the digitized mammograms are
decimated with a resolution of 400 400 mm 2 by

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

averaging 4 4 pixels into one pixel in order to save the

computation time.

Fig 2 illustrates original image [16] by reducing image dimension in

averaging of 88 Matrix

3.2 Preprocessing
Preprocessing is an important issue in low-level image
processing. The underlying principle of preprocessing is to
enlarge the intensity difference between objects and
background and to produce reliable representations of
breast tissue structures. An effective method for
mammogram enhancement must aim to enhance the
texture and features of tumors. The reasons are: (1) lowcontrast of mammographic images; (2) hard to read
masses in mammogram because it is highly connected to
surrounding tissues; the enhancement methods are
grouped as global histogram modification approach and
local processing approach. Current work is carried out in
global histogram modification approach.



Global Histogram

Re-assign the
intensity values of
pixels to make the
new distribution
of the intensities
uniform to the
utmost extent

Effective in
enhancing the entire
image with low

Local Approach

Feature-based or
using nonlinear
mapping locally

Effective in local
texture enhancement

Table 1 illustrates the preprocessing approach

3.3 Segmentation
After preprocessing, next stage is to separate the
suspicious regions that may contain masses from the
background parenchyma, that is to partition the
mammogram into several non-overlapping regions, then
extract regions of interests (ROIs), and locate the
suspicious mass candidates from ROIs. The suspicious
area is an area that is brighter than its surroundings, has
almost uniform density, has a regular shape with varying
size, and has fuzzy boundaries. The Segmentation
methods do not need to be excruciating in finding mass
locations but the result for segmentation is supposed to

include the regions containing all masses even with some

false positives (FP). FPs will be removed at a later stage.
We chose region growing process for segmentation of a
mammographic tumor.
The basic idea of the algorithm is to find a set of seed
pixels in the image first, and then to grow iteratively and
aggregate with the pixels that have similar properties. If
the region is not growing any more, then the grown region
and surrounding region are obtained. Region growing may
be applied globally or locally. If the grown region of a
seed has an average intensity greater than that of the
surrounding, the region is classified as the parenchyma, or
fat, tissue.The accuracy reaches 70% for classifying the
tissue patterns. The key issue of region growing is to find
a criterion that checks whether the gray level values of its
neighbors are within a specified deviation from the seed.
The performance of the algorithm depends on the
enhancement method; therefore the algorithm will get a
better result if a better enhancement method is applied.
Global histogram Modification Enhancement method was
applied to enhance the images before region growing.
Second issue of region growing is to find the suitable
seeds. An automatic seed selection was applied. There are
three parts in mammograms: a fat region, a fatty and
glandular region, and a dense region. According to the
intensity values and local contrast between a seed pixel
and its neighbors in the three partitions, three sets of seed
pixels are selected from the partitioned regions.
The region growing process starts from seed pixels. The
gray level mapping shows local valleys at the boundary of
two neighboring regions. The local peak just after the
local valley in the gray level mapping gives a sign of the
switch between the absorption of pixels in the boundary of
the current region and the absorption of pixels in the
neighboring region. When the grown region size is equal
to or greater than a minimum region size with the stopping
condition such as speckle noise, touching previous region,
new adjacent region, contrast limitation. Once the
stopping condition is achieved, region growing is applied
and the masses are segmented. Below algorithm
summarizes the region growing procedures for segmenting
the masses.
1. Pull the top item from the growth list.
2. Mark this pixel in the output image - it is part of the
3. Examine each neighboring pixel. For each pixel, if it
has not already been visited and it fits the growth criteria,
mark it as visited and add it to the growth list.
4. Go back to step 1 and repeat until there are no more
items in the growth list and extract the part of tumor.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


5. Case Base Reasoning Approach

4. Feature Extraction
After segmenting the tumors in mammogram, The ROI
hunter provides the regions of interest without giving
further information [12]. To this purpose suitable features
should be selected so that a decision making system can
correctly classify possible pathological regions from
healthy ones. Feature extraction plays a fundamental role
in many pattern recognition tasks. In this paper twelve
features (global and local features) are extracted from the
segmented tumors. Below table illustrates the features.
Feature of Selection


g (i, j) g (i, j)


N 1

i , j 0

g (i, j) g (i, j)
g (i, j ) g (i, j )
g (i, j ) g (i, j )

N 1

i , j 0


Retrieved Case

N 1

Case-Based Reasoning (CBR) integrates in one system

two different characteristics: machine learning capabilities
and problem solving capabilities. CBR uses a similar
philosophy to that which humans sometimes use: it tries to
solve new cases (examples) of a problem by using old
previously solved cases. The process of solving new cases
contributes with new information and new knowledge to
the system. This new information can be used for solving
other future cases. The basic method can be easily
described in terms of its four phases .The first phase
retrieves old solved cases similar to the new one. In the
second phase, the system tries to reuse the solutions of the
previously retrieved cases for solving the new case. The
third phase revises the proposed solution. Finally, the
fourth phase retains the useful information obtained when
solving the new case. In a Case-Based Classifier System, it
is possible to simplify the reuse phase. Classifying the new
case with the same class as the most similar retrieved case
can do reuse [13].
Elaborate a New Case

New case

i , j 0

N 1

Acquired Case

New case


i , j 0

Reuse Acquired Case




Domain Knowledge

Revised case


Retain Problem

P1 P2


Standard deviation

g (i, j ) 1 / N i , j 0 g (i, j )
N 1


tumor area


True Length of Mass


True Breadth of Mass

Convex Perimeter

Solved Case

Case Base

Perimeter of the convex hull of the mass

Perimeter/Convex Perimeter

Table 2 illustrates the Local and Global Features

Fig 3 illustrates the Case Base Reasoning Approach

The kernel in a Case-Based Reasoning system is the

retrieval phase (phase 1). Phase 1 retrieves the most
similar case or cases to the new case. Obviously, the
meaning of most similar will be a key concept in the
whole system. Similarity between two cases is computed
using different similarity functions. For our purpose in this
paper, we use the similarity functions based on the
distance concept. The most used similarity function is the
Nearest Neighbor algorithm, which computes the
similarity between two cases using a global similarity
measure. The future practical implementation (used in our
system) of this function is based on the Minkowskis
Minkowskis metric is defined as:

SimilarityCase _ x, Case _ y r

i 1

Wi xi yi


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Where Case_x, Case_y are two cases, whose similarity is
computed; F is the number of features that describes the
case; xi y i represent the value of the ith feature of case
Case_x and Case_y respectively; and wi is the weight of
the ith feature. In this study we test the Minkowskys
metric for three different values of r: Hamming distance (r
= 1), Euclidean distance (r = 2), and Cubic distance (r =
3). This similarity function needs to compute the feature
relevance ( wi ) for each problem to be solved. Assuming
an accurate weight setting, a case-based reasoning system
can increase their prediction accuracy rate. We use also
the Clarks and the Cosine distance, both are based on
distance concept and also use weighting features.
Sometimes human experts can not adjust the feature
relevance, automatic method can solve this limitation.
5.1 Feature Selection Based on Rough Set theory
This paper presents a review on weighting method based
on the Rough Sets theory introduced by Pawlak [10]. It is
a single weighting method (RSWeight) that computes the
feature weights from the initial set of train cases in the
CBR system. We also introduce a weighting method that
computes the Sample Correlation among the features and
the classes that the cases may belong to. The idea of the
rough set consists of the approximation of a set by a pair
of sets, called the lower and the upper approximation of
this set. In fact, these approximations are inner and closure
operations in a certain topology generated by the available
data about elements of the set. The main research trends in
Rough Sets theory which try to extends the capabilities of
reasoning systems are: (1) the treatment of incomplete
knowledge; (2) the management of inconsistent pieces of
information; (3) the manipulation of various levels of
representation, moving from refined universes of
discourse to coarser ones and conversely .
We compute from our universe (finite set of objects that
describe our problem, the case memory) the concepts
(objects or cases) that form partitions of that Universe.
The union of all the concepts made the entire Universe.
Using all the concepts we can describe all the equivalence
relations (R) over the universe. Let an equivalence relation
be a set of features that describe a specific concept. The
universe and the relations form the knowledge base,
defined as KB = (U; R). Every relation over the universe
is an elementary concept in the knowledge base [10].
All the concepts are formed by a set of equivalence
relations that describe them. So we search for the
minimum set of equivalence relations that define the same
concept as the initial set. The set of minimum equivalence

relations is called reduct. A reduct is the essential part,

which suffices to define the basic concepts occurring in
the knowledge. The core is the set of all indispensable
equivalence relations over the universe, in a certain sense
the most important part of the knowledge. The core is
defined as the intersection of all the reducts. Reducts
contain the dependencies from the knowledge. We can use
this information to weigh the relevance of each feature in
the system [10]. An attribute that does not appear in the
reduct has a feature weight value of 0.0, whereas an
attribute that appears in the core has a feature weight value
of 1.0. The rest has a feature weight value depending on
the proportional appearance in the reducts. This is the
weight feature information that we use in the case-based
classifier system.
5.2 Sample Correlation
Sample Correlation computes the weights wi computing
the sample correlation which exists between each feature
xi and the class z [10].
The Sample Correlation is defined as:

Sample_ Correlation xi , z

1 N

N 1 j 1



z j z

S z


Where N is the number of cases; xij is the value of ith

feature for the case j; z j is the class which belong to the
case j. i is the mean of the ith feature;| is the mean if the
classes; S xi is the standard deviation of the feature xi ; and

S z is the standard deviation of class z.

Therefore weighting feature method needs a huge amount
of cases to develop a good weighting feature selection
during the retrieval phase.
If the system accuracy rate increases, then there is enough
information in the system to develop a good weighting

6. Experimental Results
Currently the project is in the initial stage (prototype)
and first phase of implementations are done in matlab.
Therefore there are forty six X-ray mammograms taken
for testing the method. The mammograms were taken from
the patient files in the Free Mammogram Database
(MIAS). In addition, 10 mammograms were used for
training of the classifier. The 46 mammograms include 15

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

malignant and 10 benign masses that are in dense regions

with glandular tissues, various breast areas involving
ducts, breast boundaries, blood vessels, and/or glandular
tissues. After segmentation, feature extraction and
classification need to performed and tested. The below
results show the various stages of mammogram
segmentation. Feature extraction and Classification need
to be refined and implemented in future works.


Fig 7 illustrates the results of segmented benign tumors

The efficiency and complexity of this system

was improving than other systems presented in
literature. The performance of the algorithm on the
training set was a TP rate of 62% with 0.4 FP per
image. The algorithm was tested using a set of 46
images, consisting of 15 malignant cases and 10
benign cases. Performance of the algorithm on the
testing set was a TP of 60% and average of 0.5 false
clusters per image. Table 2 shows that average
accuracy of detecting benign and malignant ranges in
60% -70%.

Fig 4 illustrates the original image from MIAS database

[16].Preprocessing the Image, Hunting for ROI, Histogram of
Original Image and segmenting the tumor.
Segmentation Result
Experiment 1
Experiment 2
Experiment 3
Table 2 illustrates the results of Benign and Malignant tumors

Fig 5 illustrates the original mammogram image [16], segmentation

tumor for malignant cases and benign cases using region growing

Fig 6 illustrates the results of segmented malignant tumors

The tests were divided into 2 stages. The first

part concerns subjective tests of the initial detection
of masses and another one focused on the
classification using the selected feature sets. The
subjective tests were performed by image processing
and experts in radiology. Radiologists suggestions
were used regarding mass shapes and their
occurrence terms. The initial detection of mass was
optimized with regard to influence of image preprocessing, size and shape of structuring element in
global histogram modification approach, whereas to
re-assign the intensity values of pixels to make the
new distribution of the intensities uniform to the
atmost extent. After that region growing
segmentation is applied to detect and segment the
tumor. On the segmented tumor part, features are
selected for classification. Therefore an m112 real
valued matrix is obtained for each mammography,
which contains as many rows (m) as the number of
masses are analyzed in the image, while the number
of columns (12) is related to the computed shape
features for every mass. In order to feed this
information to the system of case base classification,
the matrix is flattened into a vector. This process is
achieved computing the mean value of each feature
of the mass present in the image. Therefore, an image
can be reduced to a real-valued vector with 12
features. The human experts also decided which
training and test sets must be used. The training set
contained 10 samples, while the test set had 36
samples. The intial results were evaluated comparing
the result of this classification with the diagnosis

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

given by the biopsies. Currently the classification of

benign and malignant was identified with accuracy
range of 60-70%.

The paper provides the methodology with partial
results of segmentation and explains theoretically how
mammogram tumor classification is performed through
case base reasoning method. First stage of mammogram
mass segmentation result is shown in this paper, second
stage is under implementation, so the conceptual
framework of classification method is described on the
paper. Info structure presented in this paper when
successfully implemented would have an immense impact
in the area of computer-aided diagnosis system. In future
the methodology can be applied in a variety of medical
image applications
I would like to thank School of Computer Science and
Institute of Post graduate Studies, University Sains
Malaysia for supporting to progress my research activities.

[1] Kohonen T, Self Organization and Associative Memory,
Spring-Verlag, Hidelbarg, (1998)
[2] Hall EL, Computer Image Processing and Recognition ,
Academic Press, New York, (1978).
[3] Woods R.E, Digital Image Processing, Adisson Welsely,
Reading, (1992).
[4] Kapur T, Model based Three Dimensional Medical Image
Segmentation, MIT, (1992).
[5] Sheshadri HS, Kandaswamy A., Detection of breast cancer
by mammogram image segmentation. JCRT journal, Page
no 232-234(2005).
[6] S.M. Lai, X. Li, and W.F. Bischof, On techniques for
detecting circum- scribed masses in mammograms, IEEE
Trans Med Imaging 8, 377 386 (1989).
[7] H.D. Li, M. Kallergi, L.P. Clarke, V.K. Jain, and R.A. Clark,
Markov random field for tumor detection in digital
mammography, IEEE Trans Med Imaging 14,
565 576,
[8] H. Kobatake, M. Murakami, H. Takeo, and S. Nawano,
Computerized detection of malignant tumors on digital
mammograms, IEEE Trans Med Imaging 18, 369378,
[9] N. Otsu, A threshold selection method from gray-level
histograms, IEEE Trans System Man Cybernet SMC-9, 62
66 (1979).
[10] Z.Pawalak, Rough Sets: Thoertical Aspects of Reasoning
Data, Kluwer Academic Publication (1991).
[11] Jiang, Y., R.M. Nishikawa and J. Papaioannou,
"Requirement of Microcalcification Detection for

Computerized Classification of Malignant and Benign

Clustered Microcalcifications" In Proceedings of the SPIE
Conference on Image Processing, vol. 3338,pp. 313-317. San
Diego (USA), (1998).
[12] Dhawan, A.P., and Y. Chitre,"Analysis of Mammographic
Microcalcifications using Gray-level Image Structure
Features" IEEE Transactions of Medical
Imaging, (15)
[13] Aamodt, A., and E. Plaza, Case-based reasoning:
Foundations issues, methodological variations, and system
approaches. AI Communications, 7: 39-59, (1994).
[14] Fajardo, L.J., and M.B. Williams , The Clinical Potential of
Digital Mammography, In Proceedings of the 3rd
International Workshop on Digital Mammography, pp. 43-52.
Chicago (USA), (1996).
[15] Raman Valliappan and Putra Sumari Digital Mammogram
Segmentation: An Initial Stage in 4th IASTED International
conference on Advanced Computing Science and
Technology, Langawi, Malaysia, (2008).
[16] Mammogram Image Analysis Database, UK.
Valliappan Raman is currently doing his PhD in mammogram
tumor segmentation and classification at University Sains
Malaysia. He has completed his Masters Degree in 2005 at
University Sains Malaysia and completed his Bachelor of
Engineering in Computer Science in 2002 at Madurai Kamaraj
University. He has been working as lecturer for past four years in
well established university. He have undergone various research
projects under major government grants and published papers,
articles and journals. His research interest is in medical imaging,
watermarking and health informatics.
Putra Sumari, is currently an Associate professor in School of
Computer Science, University Sains Malaysia. He has undergone
various research projects under government and university grants.
He has supervised many postgraduate and undergraduate
students. His research areas are in applied informatics, multimedia
and image processing. He has published many papers in highly
repuatated journal and conferences.
Mandava Rajeswari is currently an Associate Professor in School
of Computer Science, University Sains Malaysia. His research
areas are in computer vision and medical imaging.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Evaluation of Computer-aided Drug Delivery System

with a Human Operator
Koji Kashihara1 and Yoshibumi Nakahara2

Graduate School of Information Science, Nagoya University,

Furo-cho, Chikusa-ku, Nagoya, Aichi 464-8601, Japan

Graduate School of Human Ecology, Wayo Women's University

2-3-1, Konodai, Ichikawa, Chiba 272-8533, Japan

To assist the judgment of human operators, a computer-aided
drug delivery system with adaptive predictive control is
suggested. The assisting system can predict future responses of a
patient to drug infusions, calculate optimal inputs, and present
those values on a monitor. Regardless of sudden disturbance such
as bleeding, human operators of the computer-aided system were
able to control arterial blood pressure. To improve the computeraided system, future studies will be required to consider the
method for emergency warning or correspondence to multiple
drug infusions.
Keywords: Adaptive Predictive Control, Computer-aided
System, Neural Networks, Arterial Blood Pressure, System

1. Introduction

accomplished physicians. For example, it is difficult for

beginners to appropriately grasp the characteristics of drug
responses reflecting the history of past inputs and outputs
or to correspond to an acute emergency such as bleeding.
Therefore, the effectiveness of intelligent control systems
may be applied to the quick decision making of
inexperienced beginners.
A computer-aided drug delivery system using adaptive
predictive control with NN was suggested in this study;
effectiveness was evaluated in human operators. 1) In
blood pressure control using a single drug, the learning
effect of the assistant system on beginners without
pharmacological knowledge was investigated. 2) The
accuracy of correspondence to an unknown and acute
emergency was assessed using the assistant system.

Shortage of anesthesiologists is a serious social problem

especially in local areas of Japan [1]. Under such a
condition, a constant effect of medical treatment is desired,
regardless of degree of advancement in system operators.
As a possible solution, the effects of automated therapy
systems without human operations have been expected [2].
However, to make these practicable, further improvement
is needed. To widely advance automated systems, many
issues such as their approval as medical instruments and
responsibility for medical accidents must be resolved.
Accordingly, a computer-aided system to assist in
decision-making by an operator rather than by automated
systems may become effective.

2. Control System

As an effective method for automatic control of biological

information, the application of intelligent control systems
has been studied. For instance, automated drug infusion
systems with neural networks (NN) and fuzzy theory for
blood pressure control have been developed and evaluated
[3]-[7]. In particular, the significant differences exist
between the abilities of residents and those of

The APC-NN is a control system where the NN

recursively learns the characteristics of mean BP responses
and determines predicted future outputs. In the closed loop
controls, the NN initially learned about BP response every
10 s (Learning Loop). The learned BPNN response was
used for the prediction of future outputs by the NN

2.1 Adaptive Predictive Control with NN

Figure 1A shows a block diagram of an adaptive predictive
control with NN (APC-NN) and a human operator.
Predicted future outputs to drug inputs were displayed (Fig.
1B), by using the APC-NN to emulate arterial blood
pressure (BP) response. A system operator can determine
the appropriate inputs, referencing the predicted values
(green circles in Fig. 1B) calculated by a computer as well
as personal experience in arterial pressure control.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

(Prediction Loop). A human operator determined final

infusion rates, referencing the predicted outputs.

Computer-aided system

value, r
- e(t+i)

2. Predictive Loop
Optimal value


1. Learning Loop



BPNN Learning algorithm





1 2 1
[BP BPNN ] 2



Model response

adjusted to decrease the error function by the

backpropagation learning rule based on the gradient
descent method.
The BPNN predicted by NN was compared with the
observed BP; its error was calculated by the following




Target values

shows the difference between actual BP as a supervised

signal and BPNN predicted by the NN before update of the
connection weights. The error is back propagated through
the network. The connection weight is updated by the
gradient descent of E as a function of the weights.

w * w Kn w

Predictive response
by NN


infusion rates

optimal input

panel for inputs

Fig. 1 Drug delivery system with APC-NN. A: Block diagram of a

controller. B: Example of a control display.



w and w* are the weights of each connection before and

after update, respectively. w is the modified weight and
Kn is the learning rate. The backpropagation algorithm
was performed in the following order: output, second
hidden, and first hidden layers. The total number of
weights was 120.

2.2 NN Output

2.4 Initial Weights in NN

To assess the BP response, a multilayer feed-forward NN

with two hidden layers was used. The NN structure was a
nonlinear autoregressive moving average model [8] as
follows: BPNN(t) is the BP change estimated by the NN.

To determine the initial weights, the NN learned the BP

model response. The weights before learning were
randomly assigned between -1 and 1. The infusion rate of
NE (-4 to 6 g/kg/min) was randomly assigned; learning
calls were replicated 300,000 times. Normalization was
performed by dividing all outputs by 50. The learning rate,
Kn, was 0.01.

BPNN(t) = f (BP(t-1), u(t-1), , u(t-6))


The input layer in the NN is composed of past input and

output. BP(t-1) is the actual BP change induced by
norepinephrine (NE) infusion before one sampling interval.
The duration of past infusion rates determined by a human
operator (u) was set to 1 min. The input values were sent
through the first and second hidden layers and the output
layer. When the NN calculated output, the hyperbolic
tangent function was applied 14 times (seven times in each
hidden layer).

2.3 Backpropagation Algorithm

To identify the BP response and determine the initial
weights, NN was trained using the output of the model
response to random inputs. The backpropagation algorithm
was used in the online mode. All connection weights were

NN learning resulted in an absolute error of approximately

0.9 mmHg compared with the model response. The trained
NN was used in the system evaluation with the learning
rate set to Kn = 0.1 to quickly converge target values.

2.5 Cost Function

The APC-NN calculated the optimal infusion rate that
minimized the cost function:

Q (t ) r (t i ) BPNN (t i )


i 1

Np is a prediction horizon, r(t+i) is a prescribed target

value of BP control at time point t+i, and BPNN(t+i) is the

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

BP predicted by NN. Future output can be estimated by

BPNN(t) derived from the backpropagation algorithm. Q
contained the predicted output after Np steps to suppress
sudden changes in infusion rate. Np was set to 5 in this
study. The cost function was minimized by a downhill
Simplex method for a quadratic function [7].


u is the infusion rate (g/kg/min) and g is the unit impulse

response (mmHg) calculated from the derivative values of
the step response of Eq. (5). T is a sampling rate; Nm is
the finite number of terms in the model for the unit
impulse response. K, T, and L are the same as in Eq. (5).
Parameters were set to T = 10, Nm = 30, K = 20/3, T = 49,
and L = 10. Randomized noises (1 mmHg) were added to

3. System Evaluation
(a) Step response


3.1 Participants


3.2 Simulation Task



BP (mmHg)

Participants were fourteen healthy volunteers. They were

divided into two groups: computer-aided group using
APC-NN (assist group; n = 7, 27.4 5.0 years) and nonassist group (n = 7, 26.6 3.4 years). All participants had
no experience with drug delivery or specific
pharmacological knowledge. The condition of the
participants was verified before the experiment. Informed
consent was obtained from all participants after a complete
description of the experiment.

(b) Unit impuluse response

(A) Modeling of blood pressure response

To make a model for BP response to a drug infusion, the
average step response changed from baseline during a 5min NE infusion (3 g/kg/min) in anesthetized rabbits (n =
3) was used (Fig. 2) [5]. NE is generally used for the
increase in blood pressure. The BP response (10-Hz
sampling rate) was averaged every 10 s. The step response
of BP was approximated by the first-order delay system
with a pure time delay:

BP(t ) K 1 exp

t L

(t L)


K is a proportional gain [mmHg/(g/kg/min)], T is a time

constant (s), and L is a pure time delay (s). If t < L, then
BP(t) = 0. K = 20, T = 49, and L = 10 were derived from
approximation of the averaged step response.
The BP response as a model was calculated by the
convolution integral in the discrete-time domain:

BPmodel (t ) g ( ) T u (t )








Time (s)
Fig. 2 The average step response changed from baseline during a 5-min
NE infusion (a) and the unit impulse response (b).

(B) BP control
Using the model response and the suggested control
system, the BP control tasks were performed. The
objectives of the first and second tasks were to study the
effect of initial learning of beginners on BP control. Target
values were set to two steps: +20 mmHg (60-400 s) and
+10 mmHg (410-720 s). Although the actual control time
was 720 s, the single trial in this study was performed in
an abridged form: 288 s (4 s 72 times) meaning total
thinking time for selection of drug infusion rates.
The purpose of the third task was to study the accuracy of
correspondence to an unexpected emergency (e.g., the
sudden change induced by bleeding). Target values were
the same as those in the first and second tasks. A large
disturbance of -30 mmHg was added to the BP response in
the last half of the task (360-720 s).

3.3 Procedures
g (t )

t L


Immediately before the control tests, all participants were

instructed to regulate BP responses to the target values,
controlling drug infusion rates as correctly as possible.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

determining optimal drug inputs based on the predicted

response by the NN. In correspondence to a sudden
emergency, the automatic control was able to perform the
appropriate BP regulation while neatly avoiding
undershoot because of the online-learning of the NN.

3) Third trial. In both groups, the ability of

correspondence to a sudden emergency (disturbance
of -30 mmHg) was evaluated. For all participants, the
existence of the large disturbance was never instructed.
Predictive responses and optimal inputs were
continuously displayed in the assist group.

3.4 Data Analysis



Infusion rate







Time (s)




Fig. 3 BP control based on APC-NN. The third trial had an acute and
unknown disturbance of -30 mmHg.

BP (mmHg)

2) Second trial. In the non-assist group, the same task as

the first was performed with no instructions; the
learning effect of the experience of first trial was
evaluated. In the assist group, computed optimal
inputs and future BP responses were newly displayed.
Before this trial, the experimenter instructed that the
green circles on a screen meant predicted values and
optimal inputs calculated by the computer. No other
concrete instructions or practice was given.



Each participant performed the following control tasks.

1) First trial. For all participants of both groups, the
ability to regulate BP as beginners was evaluated,
using the model response.

Disturbance of -30 mmHg (3rd trial)


BP (mmHg)

Although the experimenter also instructed that the drug

infusion rate correlated with the BP increase, other
instructions for properties of the drug response were not
given. The participants were required to carefully maintain
BP values within the limited values (-30 to +50 mmHg).
When the time reached 4 s, the time limit for considering
drug infusion rate, the BP response after 10 s to the
determined input value was automatically output. Input
values could be easily controlled by operation of two
cursor keys: and indicating decrease and
increase of drug infusion rate. The participants
experienced the moving speed of input values using the
cursor keys before the experiment.


-30 mmHg (3rd trial)






Infusion rate

Selected drug infusion rates and BP responses were

recorded for later analysis. The average absolute value
between actual BP and target values and the maximum
negative response were calculated for each participant.
The ground averages among all participants were then
calculated. All data were presented as mean SD.
Unpaired t tests were applied for comparison of intergroup
differences. Statistical significance was assigned to
differences with p < 0.05.




4. Results
The results for automatic control based on APC-NN are
shown in Fig. 3. An overshoot was observed in an initial
adjustment of BP to the target value of +20 mmHg;
however, BP outputs totally converged on the target values,



Time (s)



Fig. 4 Typical example of BP control in the non-assist group.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

An example of BP control in the non-assist group is shown

in Figure 4. Because of the same task as the first one, the
second trial showed sufficient learning effects; however, in
the third trial, correspondence to an unexpected and
sudden disturbance was delayed, resulting in induction of
a great undershoot.
An example of BP control in the assist group is shown in
Figure 5. The second trial incorporated predicted outputs
and optimal inputs as new information. A learning effect
of the assistant system as well as experience from the first
trial was indicated. In the assist group, the undershoot
during the acute disturbance was inhibited, compared with
the non-assist group.

-30 mmHg (3rd trial)


MAP (mmHg)

Table 1: Average of the absolute value between actual BP responses and

targets in each subject (mmHg).


Non-assist group

Assist group




























































5. Discussion


Infusion rate










Time (s)
Fig. 5 Typical example of BP control in the computer-aided group.

Table 1 shows the average of absolute values between

actual BP responses and targets in each control task.
Especially, the third control trial in the assist group had the
effectiveness of the assistant system: In the change of
absolute values from the second trial to the third, the
unpaired t test showed a significant difference between the
non-assist and assist groups: 1.01 0.77 versus -0.25
0.64 mmHg; p < 0.01 in the one-tailed test. In addition, the
maximum negative responses from the target value in both
groups were assessed. In the change of maximum negative
response between the second and third trials, the unpaired t
test showed a significant difference: -9.11 2.63 versus 5.50 4.13 mmHg in the non-assist and assist groups; p <
0.05 in the one-tailed test.

The computer-aided drug delivery system in this study

made it possible for beginners to work on blood pressure
control. In particular, the effect of the assist system on
unexpected or acute emergency is expected. During a long
constant state, humans regulating drug infusion rates may
take a long time to recognize the emergency and respond
with the correct treatment. Such delayed therapy may
induce serious problems. In contrast, computers can
quickly detect acute response changes and correctly
regulate drug infusion rates, referencing the history of
inputs and responses. Accordingly, an assistant system that
can quickly communicate with the operator will be
required under such emergencies. Furthermore, by
predicting the conditions that humans make mistakes,
presentation of some answers and a warning may become
On the other hand, drug treatment based on a computer
may induce a hunting phenomenon during acute and great
changes in BP response; however, the system operator has
a possibility of modifying the response changes well. For
example, in the third trial of the assist group (Fig. 5), the
operator was able to sufficiently converge to target values,
avoiding the hunting phenomenon. Furthermore, compared
with automated control (Fig. 3), system operators inhibited
the initial overshoot. Accordingly, effective fusion in
higher cognitive ability in humans as well as the merits of
a computer will produce a better assistant system.
Because of the repeated tasks (first and second trials), the
non-assist group gained sufficient learning about BP
control, based on their experience in the first trial.
Regardless of the unfamiliar assist system and easy

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

instructions immediately before the second trial, the assist

group also had effective results. Accordingly, it is
expected that the suggested system can be used as an
assistant tool for beginners to easily make decisions about
drug therapy.

6. Conclusion
The effectiveness of a computer-aided drug delivery
system based on APC-NN was assessed from the
viewpoint of the cognitive and learning abilities of
beginners. A positive effect of the computer-aided system
was observed in the case of an acute disturbance. In future
studies, the assistant system will need effective fusion of
the ability of quick searching for optimal inputs in
computers with careful and delicate control in humans.
This study was funded by a Grant-in-Aid for Young
Scientists (B) from the Ministry of Education, Culture,
Sports, Science and Technology of Japan (KAKENHI,

[1] T. Suzuki, and T. Konishi, JJSCA, Vol. 29, No. 4, pp. 406406, 2009.
[2] A. M. Fields, K. M. Fields, and J. W. Cannon, Closed-loop
systems for drug delivery, Curr Opin Anaesthesiol, Vol. 21,
No. 4, 2008, pp. 446-451.


[3] C. T. Chen, W. L. Lin, T. S. Kuo, and C. Y. Wang, Adaptive

control of arterial blood pressure with a learning controller
based on multilayer neural networks, IEEE Trans. Biomed.
Eng, Vol. 44, 1997, pp. 601-609.
[4] J. W. Huang, and R. J. Roy, Multiple-drug hemodynamic
control using fuzzy decision theory, IEEE Trans. Biomed.
Eng, Vol. 45, 1998, pp. 213-228.
[5] K. Kashihara, T. Kawada, K. Uemura, M. Sugimachi, and K.
Sunagawa, Adaptive predictive control of arterial blood
pressure based on a neural network during acute hypotension,
Ann Biomed Eng, Vol. 32, 2004, pp. 1365-1383.
[6] K. Kashihara, Automatic regulation of hemodynamic
variables in acute heart failure by a multiple adaptive
predictive controller based on neural networks, Ann Biomed
Eng, Vol. 34, 2006, pp. 1846-1869.
[7] Y. Takahashi, Adaptive predictive control of nonlinear timevarying system using neural network, IEEE International
conference on neural networks, Vol. 3, 1993, pp. 1464-1468.
[8] Z. Trajanoski, and P. Wach, Neural predictive controller for
insulin delivery using the subcutaneous route, IEEE Trans.
Biomed. Eng, Vol. 45, 1998, pp. 1122-1134.
Koji Kashihara is a researcher at Nagoya University. He
received PhD (Eng.) degree in 2001 from Tokyo Institute of
Technology. He belonged to National Cardiovascular Center
Research Institute, RIKEN, University of Sydney, etc. His
research interests are human brain activities and autonomic
nervous system.
Yoshibumi Nakahara (PhD) is a professor (Dean) of graduate
school of human ecology at Wayo Women's University. He is
also an honorary professor at Tokyo Institute of Technology.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Semantic Interoperability in Electronic Business

Juha Puustjrvi1

Aalto University
Espoo, Finland

E-business refers to the utilization of information and
communication technologies (ICT) in support of all the activities
of business. The standards developed for e-business help to
facilitate the deployment of e-business. In particular, several
organizations in e-business sector have produced standards and
representation forms using XML. It serves as an interchange
format for exchanging data between communicating applications.
However, XML says nothing about the semantics of the used
tags. XML is merely a standard notation for markup languages,
which provides a means for structuring documents. Therefore the
XML-based e-business software is developed by hard-coding.
Hard-coding is proven to be a valuable and powerful way for
exchanging structured and persistent business documents.
However, if we use hard-coding in the case of non- persistent
documents and non-static environments we will encounter
problems in deploying new document types as it requires a long
lasting standardization process. Replacing existing hard-coded ebusiness systems by open systems that support semantic
interoperability, and which are easily extensible, is the topic of
this article. We first consider XML-based technologies and
standards developed for B2B interoperation. Then, we consider
electronic auctions, which represent a form of e-business. In
particular, we represent how semantic interoperability can be
achieved in electronic auctions.
Keywords: B2B, Open Systems, Electronic Auctions, Semantic
Interoperability, Web Services, Ontologies.

1. Introduction
Electronic business, or shortly e-business, refers to a wide
range of online business activities for products and
services. It is usually associated with buying and selling
over the Internet, or conducting any transaction involving
the transfer of ownership or rights to use goods or services
through a computer-mediated network.
Business-to-business (B2B) is a form of e-business. It
describes commerce transactions between businesses, such
as between a manufacturer and a wholesaler, or between a
wholesaler and a retailer. Other forms of e-business are
business-to-consumer (B2C) and business-to-government
(B2G). The volume of B2B transactions is much higher
than the volume of B2C transactions [1].

Automating interoperation is crucial for B2B. By

interoperation we refer to the creation of coordination
among discrete business activities conducted by different
organizations or different groups within an organization,
so that a unified business process is formed. It can be
implemented at various levels of automation, ranging from
partially to fully automated interoperation. The first B2B
interoperations were partial point-to-point interoperations
and they were not based on any standards. As an example
of a fully automated implementation in the case of
inventory replenishment, a system can automatically order
products from partners, based on current stock levels
going below the reorder point. Also, as we will present,
the interoperation within electronic auctions can be fully
In B2B all the trading partners must have a shared
understanding about how to work together. In particular
trading partners must have shared understanding of the

exchanged business documents,

business processes, and
messaging mechanism.

To exchange documents trading partners need a common

language through which to exchange documents between
their computer systems. HTML, the first-generation
language of the Internet, is not suited for this task as it
defines only the formatting of information, not its meaning.
Instead XML is rapidly becoming the key standard for
data representation and transportation. In XML [2] the
tags can define the structure of the information, enabling
computer tools to use that information directly. However,
as XML-documents themselves do not capture any
semantics, the introduction of XML-messaging in
exchanging business documents requires hard-coding.
By hard-coding we refer to the software development
practice of embedding the semantics input-messages into
the application program, instead of obtaining the
semantics from external sources. Hard-coding is proven to
be a valuable and powerful way for exchanging structured

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

and persistent business documents. However, if we use

hard-coding in the case of non- persistent documents and
non-static environments we will encounter problems in
deploying new document types and extending the systems
into new domains, e.g., on electronic auctions.
A more flexible way for achieving consensus on
exchanged messages is to develop appropriate domain
ontology [3], and use it as a vocabulary in exchanging
business documents. Essentially the developed ontology
must be shared and consensual terminology among the
communicating parties as it is used for information sharing
and exchange.
Deploying open ontology based interoperable systems for
e-business is a challenging problem. In this article, we
focus on this problem in the context of Service Oriented
Architecture [4]. To begin with, we first characterize the
terms integration and interoperability. Then we consider
open information systems from autonomy, heterogeneity
and dynamicity point of views. After that, we give a short
overview of the state of the art with respect to
interoperation in B2B by considering the major
standardization efforts of e-business. In particular, we give
an overview of EDI, ebXML and RosettaNet. Then we
consider XML and RDF based messaging from semantics
point of view. In addition, to illustrate semantic
interoperation in e-business, we represent a way for
implementing semantic interoperation in electronic auction
system. After that we shortly discuss the future and
emerging trends of semantic interoperability in e-business.
Finally, we conclude the article by discussing the
advantages and disadvantages of the deployment of
semantic interoperability in B2B.

2. Integration and Interoperability

The problem of integrating and interoperability of
heterogeneous data sources is not new: the rapid
deployment of heterogeneous distributed databases after
the 1980s led to the need to share or merge heterogeneous
local databases [5]. This required solving the structural
and semantic heterogeneity of local databases. Structural
heterogeneity caused by the diversity of the data models of
the integrated local database systems (e.g., relational and
hierarchical data models) as well for the independent
design of local databases (e.g., address can be an attribute
in a schema and an entity set in another schema) [6].
The integration of data sources means that the data sources
are pulled together into one logical data source with a
single global schema [7]. Semantic integration means that
a new ontology is derived from existing ontologies such


that the new ontology facilitates the interoperability of the

systems. Nowadays integration is usually not appropriate
because it violates the autonomy of the integrated systems.
Moreover the problems related to the maintainability of
integrated systems make integration undesirable and the
interoperability of autonomous systems more appropriate.
The issues related to interoperability are discussed in
many articles including [8, 9, 10, 11]. Unfortunately in the
literature the terms integration and interoperation is often
used interchangeably. The interoperability of two systems
means that the systems are able to work together by
exchanging information and using the exchanged
information. That is, interoperation refers to making
applications work together by sharing the appropriate
messages but without any single conceptual integration.
As e-business frameworks enable the sharing of
appropriate messages, but do not usually enable
integration, we use the term B2B interoperation though
the term e-business integration is commonly used in the
We also make the difference between the terms syntactic
interoperability and semantic interoperability. Syntactic
interoperability means that the communicating systems are
able to exchange structured data such as XML documents.
This requires the detection of syntactic errors. In the case
of such errors receiving system usually request the sending
system to resending the incorrect message.
Beyond the requirements of syntactic interoperability
semantic interoperability means that after data were
transmitted from a sender system to a receiver, all
implications made by one party had to hold and be
provable by the other.
There are two thoroughly different approaches for
achieving semantic interoperability: hard-coding and
semantic messaging.

By hard-coding we refer to the software

development practice of embedding the semantics
input-messages into the application program,
instead of obtaining the semantics from external
Hard-coding requires that the
developers of the communicating applications are
familiar with the used conceptual scheme
(vocabulary) and use that information in
developing the communicating applications.
Hence, hard-coded systems are able to understand
each other as long as they exchange persistent
types of documents as the semantics of the
messages (exchanged documents) cannot be
interpreted by the machines just based on the

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

message and the conceptual schema. However,

hard-coding is proven to be a valuable and
powerful way for exchanging structured and
persistent business documents. In contrast, if we
use hard-coding in the case of non- persistent
documents and non-static environments we will
encounter problems in deploying new document
types and extending the system by new
participants. Therefore it does not satisfy the
goals of open, extensible information systems
that support semantic interoperability

By semantic messaging we refer to the practice of

including the semantics of the exchanged
document in a machine understandable form in
the messages. For semantic interoperability it is
necessary to provide standardized ways to
describe the meanings of the exchanged
documents. Exchanging semantic messages
represents an open, easily maintainable and
extensible way for developing interoperable open

In this article our analysis of semantic interoperability in

the context of electronic auctions is restricted to semantic

3. Open Systems and Web Services

Open information systems have components that cross
organizational boundaries and in this sense are open. This
implies that the components in open systems are
autonomous and heterogeneous. Further the configuration
of the open system can change dynamically. For example,
if a component fails, then the failed component can be
easily replaced by another component.
Fundamentally components autonomy means that they
function under their own control, and each component can
locally decide how to proceed in its interaction with others.
The reason for this is that the components reflect the
autonomy of the organization interests that they represent.
In addition, there may be technical reasons for the
autonomy, e.g., as a result of a hardware failure or error in
a software.
In open systems heterogeneity can arise in a variety of
formats, e.g., in networking protocols, in encoding
information, and in used data models. Heterogeneity may
also arise at semantic levels, e.g., the same concept is used
for different meanings, or two different concepts are used
for the same meaning. The reason for heterogeneity is
historical: the components may have arisen out of legacy


systems that are initially developed for local uses, but are
eventually expanded to participate in open environments.
Developing open systems is challenging as the system
should cope with the scale of the number of participant
and preserve the autonomy of local heterogeneous systems
while maintaining coordination over these systems.
Web services [12] provide a methodology that supports
open, distributed systems. They are frequently application
programming interfaces (API) or web APIs that can be
accessed over a network, such as the Internet, and
executed on a remote system hosting the requested
services. Technically Web services are self-describing
modular applications that can be published, located and
invoked across the Web. Once a service is deployed, other
applications can invoke the deployed service.
There are two ways of using Web services: the RPCcentric view (Remote Procedure Callcentric) and the
document-centric view [13]. The RPC-centric view treats
services as offering a set of methods to be invoked
remotely while the documentcentric view treats Webservices as exchanging documents with one another.
Although in both approaches transmitted messages are
XML-documents, there is a conceptual difference between
these two views.
In the RPC-centric view the application determines what
functionality the service will support, and the documents
are only business documents on which the computation
takes place. Instead the document-centric view considers
documents as the main representation and purpose of the
distributed computing: each component of the
communicating system reads, produces, stores, and
transmits documents. The documents to be processed
determine the functionality of the service. Therefore,
document centric view corresponds better with our goal of
applying services in open environments.

4. E-Business Frameworks
The standards developed for B2B interoperation, which
are also called e-business frameworks, guide the
development B2B implementations by specifying the
details for business processes, exchanged business
documents, and secure messaging.
Even though the interoperation in B2B is nowadays
usually based on Web services, it is useful to make a
classification of the interoperation/integration approaches

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

In Information-oriented approaches applications

interoperate through a database or knowledge
base. If the database developed by integrating
existing databases, then this approach represent
B2B integration.

In Process-oriented (also called workflow

oriented) approach the interoperation is
controlled through a process model that binds
processes and information within many systems.

In Service-oriented interoperation applications

share methods (e.g., through Web service
interface) by providing the infrastructure for such
method sharing.

In Portal-oriented application integration a

multitude of systems can be viewed through a
single user interface, i.e., the interfaces of a
multitude of systems are captured in a portal that
user access by their browsers.

4.1 EDI
Electronic Data Interchange (EDI) [15, 16] refers to the
organizations by electronic means. These documents
generally contain the same information that would
normally be found in a paper document used for the same
organizational function. However, EDI is not confined to
just business data but encompasses all fields including
medicine, transport, engineering and construction.
The first B2B implementations were bilateral private
message-oriented solutions which were not based on any
standard. The need of common B2B standards
strengthened as the amount of private point-to-point
solutions that the companies had to maintain increased.
The development of EDI (Electronic Data Interchange)
standards for B2B began in 1970s. The first EDI
standards versions (X12) were published in 1983. It is
most commonly used EDI syntax in North America. The
next EDI standard (EDIFACT) originated in 1985. It is
dominant EDI standard outside North America.
In the 1970s, when the development of the EDI standards
began, messaging information was expensive. Therefore
the EDI syntax is very compact in size, which in turn gives
rise that EDI documents are hard to read and maintain.
However, EDI has advantages over manual business
interactions as it reduce paper consumption, eliminates
data entry errors, and speed up the transfer of business
documents. Newer XML/EDIFACT is an EDI- format


that allows EDIFACT message types to be used by XML

Organizations that send or receive documents between
each other agree on the specific information to be
transmitted and how it should be used. This is done in
human readable specifications (also called Message
Implementation Guidelines). The EDI standards prescribe
the formats, character sets, and data elements used in the
exchanged business documents. The complete Document
List includes all major business documents, e.g., such as
purchase order. The standard says which pieces of
information are mandatory for a particular document,
which pieces are optional and give the rules for the
structure of the document. However, it does not give any
semantics for the documents.

4.2 ebXML
The goal of ebXML is to provide an open XML-based
infrastructure enabling the global use of electronic
business information in an interoperable, secure and
consistent manner by all parties [17]. The objective of
ebXML is to be a global standard for governmental and
commercial organizations of all sizes to find business
partners and interact with them.
The development of the ebXML started at 1999 and it was
sponsored by UN/CEFACT (United Nations centre for
Trade Facilitation and Electronic Business) and OASIS
(Organization for the Advancement of Structured
Information Standards).
The ebXML standard is comprised of a set of
specifications designed to meet the common business
requirements and conditions for e-business [13]. The CC
(Core Components) provides the way business information
is encoded in the exchanged business documents. The
BPSS (Business Process Specification Schema) is an
XML-based specification language that can be used in
defining the collaboration of the communicating business
partners. However, BPSS is quite limited in that it can
only express simple request-response protocols. In
addition, BPSS lacks formal semantics, and thereby it
cannot be ensured that both communicating parties have
the same interpretation of the exchanged documents.
The vocabulary that is used for an ebXML specification
consists of a Process-Specification Document, a
Collaboration Protocol Profile (CPP), and a Collaborative
Document describes the activities of the parties in an
ebXML interaction. It is expressed in BPSS. CPP
describes the business processes that the organization

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


supports. CPA is technical agreement between two or

more partners, and it may have legal bindings. All
specifications are stored in ebXML registry.

applications RDF and OWL, which are the key

technologies in Semantic web, and hence also the key
technologies in implementing semantic interoperability.

4.3 RosettaNet

5.1 XML Extensible Markup Language

RosettaNet [18] is an industry-driven consortium of

information technology, semiconductor manufacturing,
and telecommunications companies [19].
addressed is the supply chain area, but also manufacturing,
product and material data and service processes are in
scope [19].

XML (Extensible Mark-up Language) is a metalanguage

for defining markup languages. By a metalanguage we
refer to a language used to make statements about
statements in another language, which is called the object
language [2]. There are also XML-based query languages
such as XPath, XQuery and XML-DMQL developed for
querying XML documents [20, 21].

RosettaNet develops open e-business process standards,

which are based on XML. It defines message guidelines,
business processes interface and implementation
frameworks for interactions between companies. Its main
standardized components are PIPs (Partner Interface
Processes), directories and the RNIF (RosettaNet
Implementation Framework).
The PIPs are divided into eight clusters noted by numbers.
The clusters are further divided into segments noted by
letters. For example, 3A4 is for Purchase Order and
acknowledgement. Each PIP defines the process of
exchanging messages between two partners. However,
after a message departs a partners computer system, it is
not possible to find out whether it was received and
correctly processed by the other partner organization.
RosettaNet only offers a fixed time-out for the
confirmation of each message. In the case that the message
is not confirmed in this time, the original partner resends
the message.
RosettaNet uses UML diagrams to describe PIPs and
relationships among the messages exchanged as part of the
PIPs. However, the meaning of the UML diagrams is
informal, and hence no direct machine interpretation is
RNIF concerns the messaging. It specifies the business
message that contains the business documents specified in
PIP, and the necessary headers and security features
needed to process the message. RNIF also contains
exception-handling mechanism and makes sure that the
delivery is non-repudiated.

5. XML-Based Technologies and E-Business

We now give a short overview of the key technologies that
are required for implementing semantic interoperability in
B2B. In particular, we give an overview of XML and its

In XML there is no fixed collection of markup tags such

as in HTML. In XML one can define own tags, which is
tailored for the information one wish to present. Hence,
each XML language (i.e., XML application) is targeted at
a particular application domain. However, the languages
use the same basic markup syntax, and they all benefit
from a common set of generic tools for processing XMLdocuments.
As a matter of fact, the name extensible markup
language is misleading in the sense that XML is not a
single markup language that can be extended but rather it
is a common notation that markup languages can build on
[21]. XML is merely a standard notation for markup
languages. It serves as an interchange format for
exchanging data between communicating applications.
XML says nothing about the semantics of the used tags.
Hence, by just presenting exchanged documents in XML
does not mean that the applications understand each other.
It just provides a means for structuring documents.

5.2 OWL and RDF

The term ontology originates from philosophy, where it is
used as the name of a subfield of philosophy, namely, the
study of the nature of existence. In such a context it
represents a branch of metaphysics [22].
In the context of information technology ontology tries to
capture the meaning of a particular subject domain that
corresponds to what a human being knows about that
domain [23]. It also tries to characterize that meaning in
terms of concepts and their relationships. Ontology is
typically represented as classes, properties attributes and
values [24]. These elements comprise the vocabulary for
the exchanged messages.
An ontology language is a formal language used to encode
the ontology [3]. There are a number of such languages

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

including OWL (Web Ontology Language) as well as

earlier developed ontology languages such as OIL, DAML
and DAML+OIL [22, 25].
OWL is a language for making ontological statements,
developed as a follow-on from RDF (Resource
Description Framework) [24]. It is intended to be used
over the World Wide Web, and all its elements (classes,
properties and individuals) are defined as RDF resources,
and identified by URIs. However, by generalizing the
concept of a Web resource, it can also be used to represent
information about things that can be identified on the Web,
even when they cannot be directly retrieved on the Web,
e.g., items and their prices that are available from on-line
RDF is a language for representing information about
resources in the World Wide Web [22]. It is intended for
situations in which this information needs to be processed
by applications, rather than being only displayed to people.
RDF provides a common framework for expressing this
information, and so it can be exchanged between
applications without loss of meaning. The ability to
exchange information between different applications
means that the information represented in RDF may be
made available to applications other than those for which
it was originally created.
RDF defines a language for describing relationships
among resources in terms of named properties and values.
The relationship of XML and RDF is that XML provides a
way to express RDF-statements. In other words, RDF is an
application of XML.
OWL has more facilities for expressing meaning and
semantics than XML and RDF, and thus OWL goes
beyond these languages in its ability to represent machine
interpretable content of the ontology. In particular, it adds
more semantics for describing properties and classes, for
example relations between classes, cardinality of
relationships, and equality of classes and instances of the

6. Electronic Auctions
In e-business buyers and sellers should be able to
interoperate inside an architecture that is easy to use and
maintain [26, 27]. Electronic auctions (e-auctions)
represent one approach to achieve this goal by bringing
together business in the web [28, 29, 30].
E-auction is a system for accepting bids from bidders and
computing a set of trades based on the offers according to


a well defined policy [31]. Technically, an e-auction is a

software system that resides somewhere in the Internet [32,
33].Such systems can provide several types of business
processes [34] depending upon their target audience.
Online auctions have turned out to be popular and
effective mediums for producing goods and services in
both B2B and B2C. The well known auction houses such
as eBay, Amazon and Priceline conduct many different
types of auctions. The most popular auction types are
English, Dutch, first-price sealed bid and second price
sealed bid.
In an English auction, the auctioneer begins with the
lowest acceptable price and bidders are free to raise their
bids successively until there are no more offers to raise the
bid or until the end of the auction is reached if there is a
time limit . A Dutch auction is the opposite of an English
auction in that the auctioneer starts with an initial high
price, which is then lowered progressively until there is an
offer from a bidder to claim the item.
In sealed auction each bidder (buyer or seller) is given just
one chance to bid, and where he or she does not know the
amount of other bids. In second-price auction bids are
sealed and sent to an auctioneer, and like in sealed auction
the highest bidder wins, but the price the winner pays is
the price that the second highest bidder has bid.
At the moment most e-auction software is targeted only to
B2B procurement. However, there is also a growing
interest on new auction formats such as on combinatorial
auctions and on multi-attribute auctions. In combinatorial
auctions bidders can place offers on sets of items. In
multi-attribute auction price is not the only negotiable
parameter [35, 36].
Further, in classifying auctions, we can make the
distinction between human oriented e-auctions and
automated e-electronic auctions. In human oriented eauctions the auction system communicates with the
humans (buyers and sellers) in carrying out the auction. In
automated e-auctions buyers and sellers software
modules (auction agents) communicate with the auction
system [37], and auction agents make offers based on the
predefined rules. These rules can be classified into three
classes [38]: rules that control the admission of bids, rules
that control the information revealed by the auction, and
rules that control how the auction computes trades.
By automating e-auctions both buyers and sellers can
benefit in many ways. For example, they can achieve cost
reductions and shorten the duration of the auction
processes [39]. The key point in automating e-auctions is
that both buyers and sellers have shared understanding of

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

the auction process as well the semantics of the exchanged

messages [40]. Shared understanding of the auction
processes can be achieved by modeling the auction by
process models. For example, we can use BPMN
(Business Process Modeling Notation) [41, 42], BPEL [43]
or UML activity diagram [44] for representing the flow of
activities in auctions.
In e-auction processes bidding and announcing the current
state of the auction requires messaging. In early auction
systems, the participant received the state information
either through text-based e-mail or by checking the Web
site of the auction system [33]. However, such solutions
are appropriate only in human oriented electronic auctions.
The automation of e-auctions requires that when the
auction information changes the auction system sends the
information to the auction agents that participate to the
auction. Understanding this information in a consistent
way is crucial because auction agents make their decision
based on this information. This in turn requires the
introduction of auction ontologies.

7. Auction Ontologies
A feature of ontologies is that depending on the generality
level of conceptualization, different types of ontologies are
needed. Each type of ontology has a specific role in
information sharing and exchange. For example, the
purpose of the auction ontology is to describe the concepts
of the domain in which auction take place.
An auction ontology describes the concepts and their
relationships related to a variety of auction types, e.g., on
English auction, combinatorial auction, second-price
auction, sealed auction, and multi-attribute auction. To
illustrate this, a simple auction ontology is graphically
presented in Figure 1. This graphical representation is
simplified in the sense that it does not specify cardinalities
such as whether an offer may concern one or more items.
Neither does it specify the properties of classes such as the
identification of a bidder, the type of an auction, or the
price of an offer.








Fig. 1. A Simple auction ontology.

By the term auction instance ontology we refer to the

auction ontology supplemented by instances of the
ontology. To illustrate this, a simple auction instance
ontology is presented in Figure 2. It describes an auction
(having ID e254), where B2B-Corpotation has set the


offer of $ 85on item p12, and ARGO-Corporation has set

the offer of $87 on the same item.































Fig. 2. A simple auction instance ontology.

Depending on the auction types the information

concerning the state of the auction process is shared and
exchanged. For example, in a sealed auction only the
auction system (marketplace) knows all the bids while
bidders only know their own bids and the highest bid, and
so B2B-Corporation cannot see the bids of ARGOCorporation, and vice versa. B2B-Corporations instance
ontology includes the value of the highest bid but not any
information about its bidder while marketplaces instance
ontology includes all the information concerning the state
of the auction.

8. Software Architecture
By software architecture we refer to the structure, which
comprises software components, the externally visible
properties of those components, and the relationships
between them [45]. The main goal of the auction software
architecture is to allow the reconsideration and redesign of
auction processes. This goal is important because the
marketplace may be forced to rapidly change the existing
auction processes or to develop new ones to better utilize
the new information technology. In order to facilitate the
changes of the auction processes we can use workflowtechnology [46] in implementing the auction engine,
which coordinates the auction processes.
The auction system has three types of users: buyers, sellers
and the auction system administrator. Figure 3 illustrates
the communication structure between the users and the
system as well as the communication between the
components of the system.
The Ontology managers are implemented by Knowledge
Management Systems which are computer based systems
for managing knowledge (ontologies) in organizations.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

They include a knowledge base, which is a special kind of

database for knowledge management. It provides the
means for the computerized collection, organization, and
retrieval of knowledge for various applications. The
BPEL-engine runs Internet-based workflows. They
deviate from traditional workflows in that their tasks
corresponds the execution of Web services.













Fig. 3. The components of the system.

System administrator is a person (or a role) who maintains

the auction system. In reverse auction (i.e., in procurement)
a buyer is the auction initiator, and in other forms of
auction seller is the auction initiator.
Basically, there are two approaches how companies can
integrate their system with the Auction agent: A company
communicates with the Auction agent through a Web
service interface, or a company integrates its content
management system with the Auction agent. The gain of
the first approach is that it has minimal initial costs but has
high operational cost as it requires duplication of content
management effort. In the second approach the costs are
other way around. However this approach is extremely
fascinating as it allows (through a Web service) the
integration of the ERP-system (Enterprise Resource
Planning system) with the Auction agent. In particular,
this approach nicely matches with the third wave ERPsystems, which are based on the use of Web services.

9. Auction Processes
We model auctions as business processes. A business
process is a series of tasks from one to the next over time
[13]. Depending on the specific business process, its tasks


can be some combination of services that correspond to

administrative activities. Further, these services may
themselves be composite, i.e., they may also be
implemented as business processes.
Process description languages [47] have a number of
technical requirements. First, they must be able to model
process, incorporating the correctness of the execution
with respect to the constraint of the real world. Second,
the process must be interfaced to underlying
functionalities. For example, in the case of Web services,
the process must be adapted to the interfaces provided by
the Web services.

9.1 Using BPMN for Specifying Auction Processes

The BPMN (Business Process Modeling Notation) is a
process description language developed for modeling
business process flows and the coordination of Web
services. The primary goal of BPMN is to provide a
standard notation that is readily understandable by all
business stakeholders such as the business analysts, who
create and refine the processes, the technical developers
responsible for implementing the processes, and the
business managers who monitor and manage the processes.
Hence, BPMN is intended to serve as common language to
bridge the communication gap that frequently occurs
between business process design and implementation.
Currently there are several competing standards for
BPMN used by modeling tools and processes. From
presentation point of view BPMN and the UML 2.0
Activity Diagram from the OMG [47] are quite similar.
However, the latter has not adequate graphical
presentation of parallel and interleaved processes, which
are typical in workflow specifications.
The BPMN defines a Business Process Diagram (BPD),
which is based on a flowcharting technique tailored for
creating graphical models of business process operations.
These elements enable the easy development of simple
diagrams that will look familiar to most analysts.
In BPD there are tree Flow Objects: Event, Activity and
Gateway: An Event is represented by a circle and it
represents something that happens during the business
process, and usually has a cause or impact. An Activity is
represented by a rounded corner rectangle and it is a
generic term for a task that is performed in companies.
The types of tasks are Task and Sub-Process. So, activities
can be presented as hierarchical structures. In particular,
we use activities in representing the scope of transactional
constraints. A Gateway is represented by a diamond shape,

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

and it is used for controlling the divergence and

convergence of sequence flow.
In BPD there are also three kind of connecting objects:
Sequence Flow, Message Flow and Association. A
Sequence Flow is represented by a solid line with a solid
arrowhead. A Message Flow is represented by a dashed
line with an open arrowhead and it is used to show the
flow of messages between two separate process
participants. An Association is represented by a dotted line
with a line arrowhead, and it used to associate data and
text with flow objects. We use Association in specifying
the selectivity and the criterion of the isolation constraints.
In addition BPMN allows an easy way to connect
documents and other artifacts to flow objects, and so
narrows the gap between process models and conceptual
models. In particular, this feature allows us to incorporate
the transactional requirements to BPD-diagrams. Also, a
notable gain of BPMN specification is that it can be used
for generating executable WS-BPEL code.
Similar to many process modeling methodologies also
BPMN utilizes the concept of swimlanes as a mechanism
to organize activities into separate visual categories in
order to illustrate different functional capabilities or
BPMN supports swimlanes with two main constructions.
The two types of BPD swimlane objects are pool and lane.
A pool represents a participant in a process. It also acts as
a graphical container for partitioning a set of activities
from other pools, usually in the context of B2B situations.
A lane is a sub-partition within a pool and will extend the
entire length of the pool, either vertically or horizontally.
In Figure 4, the message exchange between the
marketplace and buyer is presented by two pools. A
sequence flow is represented by s solid line, and it is used
to show the order that activities will be performed in the
auction process. A message flow is represented by a
dashed line and is used to show the flow of messages
between two separate process participants that send and
receive them.











Fig. 4. Using swimlanes for presenting an auction.

9.2 Coordinating Auction Processes

Orchestration is a way of coordinating processes by
combining simple Web services to create complex,
sequence driven tasks. It views processes from the
perspective of one orchestration engine, and so it implies a
centralized control mechanism. The orchestration engine
itself can also be a Web service.
Orchestration involves creating business logic to maintain
conversation between multiple Web services [48, 49]. It
can occur between an application and multiple Web
services, or multiple Web services can be chained into a
workflow, so that they can communicate with one another.
Hence, orchestration as a process specification method
suits well for workflows coordination.
A workflow specification describes business process tasks
and their dependencies, and the requirements these tasks
impose on information system functionality and human
skills [50]. Hence, auction processes may be realized
through workflows. In addition the workflow specification
represented by BPD diagrams can be automatically
translated into executable WS-BPEL code. In the context
of electronic auctions the WS-BPEL code specifies the
order in which participating Web services (Buyers and
Sellers) are invoked. With WS-BPEL we can also specify
conditional behaviors (e.g., whether the offer of B2B
Corporation is higher than the offer of ARGOCorporation).

10. Exchanging Messages

We next illustrate how the ontology managers (located at
each site) are able to unambiguously interpret the elements
of the exchanged messages, and thus maintain their
instance ontologies. First we consider the case where
exchanged messages are XML-coded message, and then
we consider semantic interoperation where exchanged

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

messages are XML-coded RDF-statements, i.e., RDFstatements are presented by XML-documents.

10.1 XML-based Messaging

Although XML-documents are commonly used for
information exchange they do not provide any means of
talking about the semantics of data. Instead, it is up to the
applications that receive the XML-messages to interpret
the nesting of the tags, i.e., the semantics of the messages
is hard-coded in communicating applications.
Even if there is a conceptual schema or ontology [2]
having the same naming (e.g., classes offer and bidder)
as the tags in the XML-message, it is up to the application
to interpret the nesting of tags. To illustrate this consider
the statement:
B2B-Corporation has placed offer, which id is OF44 and
value is $ 85, on item p12.
We can present this sentence by XML e.g., by the
following two nesting ways:
<offer id =OF44>
<value> $85 </value>
<bidder> B2B-Corporation </bidder>
<item> p12 </item>
<offer >
<id> OF44</id>
<value> $85 </value>
<bidder> B2B-Corporation </bidder>
<item> p12 </item>
However, the complex element offer does not provide any
semantics for the tag nesting. Further, we can present id as
an attribute or as an element. That is, there is no standard
way of assigning meaning to tag nesting. Therefore the
semantics of the messages must be specified by binding
the message to an ontology, e.g., to the ontology presented
in Figure 1. Such a binding can be done in RDF.

10.2 RDF-based Messaging

Using semantics in information exchange requires that the
terms in the ontology are globally unique. This
requirement is easily achieved by storing the ontology in
the Web and identify it by its address, i.e., by its URL
(Uniform Resource Locator) [2]. Hence the ontology can
be identified for example by the URL:

Using this URL as the prefix of an XML-element we can
give globally unique names for auction models and their
elements. For convenience, however, it is useful to specify
an abbreviation for the URL, e.g., ao. This can be
specified as follows:
ao= >
Now, for example, the element <ao:bidder> is a globally
unique name of a class of the auction ontology. Hence,
for example the previous natural language sentence can be
bind to an ontology and presented in RDF as follows:
xmlns : xsd=
xmlns: ao=>
<rdf:Description rdf:about=OF44>
<rdf:type rdf:resource=&ao;offer/>
<ao:value rdf:datatype=xsd;integer>
<ao:item rdf:resource=p12/>
<ao:bidder rdf:resource=B2B-Corporation/>
</rdf : Description>
Now, semantic interoperation can be carried out by
including this RDF description in the body part of a SOAP
message, and by sending the offer to the Web service of
the marketplace.

11. Future Research Directions

Most e-business frameworks suffer from expressiveness
and the lack of semantics. E-business frameworks are
typically limited to simple request-response protocols.
However, many business protocols are quite complex and
long lived. Automating such business processes requires
that complex interactions can be modeled in business
processes. Further, many business processes require that
they are executed in an atomic way. For example, assume
that a business process (composed Web service) is
composed of Flight reservation Web service and Hotel
Web service. In this case the success of the hotel
reservation may be useless if the flight reservation fails.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

The atomicity protocols and transaction models developed

for composing Web services tolerate semantic failures
(also called logical failures) but not system and
communication failures. That is, if a composed Web
service fails as a result of fully booked hotel (a semantic
failure), then neither the flight will be reserved. However,
if the coordinator or the participant of the protocol does
not receive a protocol message as a result of
communication or system failure, then the execution of the
composed Web service will become blocked, i.e., will
not terminate (commit or abort).
A way to coordinate the activities of Web services in an
atomic way is to provide a Web service which function is
to do the coordination. In order to alleviate the
development of such coordinators WS-Coordination [13]
provides a specification that can be utilized in developing
the coordinator. However, such a coordination tolerates
only logical failures (e.g., reservation of a hotel room fails
logically, if the hotel is fully booked), but it does not
tolerates system and communication failures. Recovery
from communication and system failures requires the
deployment of termination protocols, which are activated
when the coordinator or a participant of the commitment
protocols fail to receive an anticipated message.
In addition, with respect to semantics, current Web
services suffer from the lack of formal semantics. The
WSDL (Web Service Definition Language) can only be
used for specifying syntactic interoperability, i.e., it does
not provide any means for machine understandable
description of a Web service. Instead by introducing
semantic Web services machines can understand the
description of the Web services. Semantic Web Services
comprise an ontology layer on the Web services in the
layered semantic Web stack. There are multiple
standardization efforts (e.g., DAML-S, OWL-S, WSMO
and WSDL-S), which aim to define languages for
describing relevant aspects of semantic Web services. It is
assumed that the deployment of semantic Web Services
will reduce the implementations of interoperable B2B
processes from months to some minutes.

12. Conclusions
The sophistication of information technology and
communications is changing our society and economy.
Computers and other electronic devices increasingly
communicate and interact directly with other devices over
the Internet. Businesses have been particularly quick to
recognize the potential and realize the benefits of adopting
new computer-enabled networks. Businesses use networks
even more extensively to conduct and re-engineer







In order to automate B2B trading partners need a common

language through which to exchange documents between
their computer systems. Although XML is rapidly
becoming the key standard for data representation and
transportation XML-documents themselves do not capture
any semantics. Therefore the introduction of XMLmessaging in exchanging business documents requires
hard-coding, which fights against the principles of open
B2B networks. Instead exchanging semantic messages
represents an open, easily maintainable and extensible way
for developing interoperable B2B systems.
In this article, we have considered how to exploit semantic
web technologies in developing open interoperable B2B
systems. A challenging situation for the businesses is also
the introduction of new technologies. The introduction of
the semantic interoperation in B2B is challenging as it
incorporate semantic web technologies into many tasks in
presentation, and processing. The introduction of these
technologies also changes the daily duties of the many
ICT-employees of the organization. Therefore the most
challenging aspect will not be the technology but rather
changing the mind-set of the ICT-employees and the
training of the new technology.
The introduction of a new technology for B2B is also an
investment. The investment includes a variety of costs
including software, hardware and training costs. Training
the staff on new technology is of prime importance as the
incorrect usage and implementation of a new technology,
due to lack of proper training, might turn out to be
expensive in the long run.
The corner stone of our developed solution is the auction
ontology on which the communicating parties have to
commit in their mutual communication, i.e., the used
ontology must be shared and consensual terminology as it
is used for information sharing and exchange. It, however,
does not suppose the introduction of a universal ontology
for B2B. This situation is analogous with natural
languages: a company, or any business organization, may
communicate in French with authorities and in English
with business companies. Just as there is no universal
natural language, so there is no universal ontology.

[1] Turban, E., King, D., Viehland, D., and Lee, J. (2006).
Electronic commerce. PrenticeHall.
[2] Harold, E. and Scott Means, W. (2002). XML in a Nutshell.
OReilly & Associates.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

[3] Gruber, M. and Thomas R. (1993).Toward principles for

the design of ontologies used for knowledge sharing. Padua
workshop on Formal Ontology.
[4] Singh, M.P. (2004). Practical Handbook of Internet
Computing, Chapman Hall & CRC Press.
[5] Ullman, J. and Widom, J. (1998). Principles of Database
Systems. New Jersey: Prentice Hall.
[6] Baeza-Yates, R.and Ribeiro-Neto, B.(1999).Modern
Information Retrieval. New York: Addison Wesley.
[7] Garcia-Molina, H., Ullman, J. and Widom, J. (2000).
Database System Implementation. New Jersey: Prentice
[8] Natalya F. N. (2004). Semantic integration: a survey of
ontology-based approaches, ACM SIGMOD Record,
Vol.3, No. 6.
[9] Cruz I. F. and H. Xiao, X. (2005). The Role of Ontologies
in Data Integration , Journal of Engineering Intelligent
Systems 13(4). pp. 245-52.
[10] Mayo, E. and Steinberg, T. (2007).The Power of
Information: an Independent Review. Available at:
[11] Stasinopoulou , T., Bountouri, L., Kakali, C., Lourdi, C.,
Papatheodorou, C.,
Doerr M. and Gergatsoulis, M.
Ontology-based metadata integration in the
cultural heritage domain. In: D.H.-L. Goh et al. (eds),
Lecture Notes in Computer Science, ICADL 4822
(Springer, Berlin/ Heidelberg, 2007) 165-75.
[12] Newcomer E. (2002). Understanding Web Services.
[13] Singh, M.P. and Huhns, M.N. (2005). Service-OrientedComputing, Jon Wiley & Sons.
[14] Lithicum, D. (2004). Next Generation Application
Integration. Boston: Addison-Wesley.
[15] Foxvog, D. and Bussler, C. (2006). Ontologizing EDI
Semantics. ER 2006 Workshop on Ontologising Industrial
Standards (OIS), pp. 301-311.
[16] Iacovou, C. L., Benbasat, I. and Dexter, A. S. (1995).
Electronic Data Interchange and Small Organizations:
Adoption and Impact of Technology. MIS Quarterly, Vol.
19(4), pp. 465-485.
[17] Dogac, A., Tambag, Y., Pembecioglu, P., Pektas, S.,
Laleci, G. B. , Kurt, G., Toprak, S. and Kabak, Y. (2002).
An ebXML infrastructure implementation through UDDI
registries and RosettaNet PIPs. ACM Sigmod International
Conference on Management of Data. pp. 512-523.
[18] RosettaNet consortium, Rosettanet Homepage, URL:, Accesses 8/12, 2009.
[19] Damodaran, S. (2004). B2B integration over the Internet
with XML: RosettaNet successes and challenges, 13th
International Wold Wide Web conference on Alternatr
track papers & posters. pp. 188-195.
[20] Feng, L. and Dilon T. (2005). An XML-enabled data
mining query language: XML-DMQL. Int. J. Business
Intelligence and Data Mining, Vol. 1, No.1, pp. 22-41.
[21] Moller, A. and Schwartzbach, M. (2006). An Introduction
to XML and Web Technologies. Addison Wesley.
[22] Antoniou, G. and F. Harmelen, F. (2004). A semantic
web primer. The MIT Press.


[23] Berners-Lee, T., Hendler, J. and Lassila, O. (2001). The

Semantic Web. Scientific American. Vol. 284(5), pp 34-43.
[24] Davies, J., Fensel, D. and Harmelen, F. (2002). Towards
the semantic web: ontology driven knowledge
management. John Wiley & Sons.
[25] Daconta, M. Obrst, L. and K. Smith K. (2003). The
semantic web. John Wiley & Sons.
[26] Siddiqui, B. (2002). UDDI-based electronic marketplace,
in Web Services Business strategies and architectures. Ed.
Flechter, P and Waterhouse, M., Expert Press.
[27] Sashi, C. M. and OLeary B. (2002).The Role of Internet
Auctions in the Expansionof B2B Markets. Industrial
Marketing Management.
[28] Elliot, A. C. (2000). Getting Started in Internet Auctions.
John Wiley & Sons.
[29] Klein, S. and Keefe, R. (1999). The Impact of Web on
Auctions. International Journal of Electronic Commerce,
Vol. 3, No. 3.
[30] Krishna, V. (2002). Auction Theory. Academic Press.
[31] Rothkopf, M. H. and Park S. (2001). An Elementary
Introduction to Auctions Interfaces. Interfaces, Vol. 31,
No. 6, pp. 83-97.
[32] Esmahi, L. and Bernand, J. C. (2000). MIAMAP: A
Virtual Marketplace for Intelligent Agents. Proceedings of
the 33rd HICSS.
[33] Wurman, P. (2005). Online Auction Site Management.
[34] Grigoria, D., Casatib, F. et al. (2004). Business Process
intelligence. Computers in Industry, Vol. 53, pp. 321-343.
[35] Nisan, N. (2000). Bidding and allocation in combinatorial
auction. In proc of the Second ACM Conference on
Electronic Commerce.
[36] Hoos, H. and Boutlier, C. (2001). Bidding Languages for
Combinatorial Auctions.
Proceedings of the 17th
International Joint Conference on Artificial Intelligence.
[37] Esmahi, L. and Bernand, J. C. (2000). MIAMAP: A
Virtual Marketplace for Intelligent Agents. Proceedings of
the 33rd HICSS.
[38] Wurman, P. Wellman, P. M. and Walsh, W (2005).
[39] Wurman, P. Wellman, P and Walsh, W. (2001). A
parametrization of the auction design space. Games and
Economic Behavior. Vol. 35, No. 1-2.
[40] Puustjrvi, J. (2005). Coordinating electronic auctions by
workflow systems. Proceedings of the IADIS International
Conference WWW/Internet, pp. 139-142.
[41] BPMN (2004) Business Process Modeling Notation
[42] Smith, H. and Fingar, P. (2003). Business Process
Management (BPM): The Third Wave, Meghan-Kiffer
[43] BPEL (2002) Business Process Execution Language for

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

[44] UML (2007). Introduction to OMGs Unified Modeling

[45] Chalmeta, R.; Campos, C. and Grangel, L. (2001).
Reference Architectures for Enterprise Integration. Journal
of Systems and Software, Vol. 57(3), pp. 175-191.
[46] Marinescu, D. C. (2002). Internet-Based Workflow
Management, John Wiley & Sons.
[47] Sommerville, I. (2004). Software Engineering. Addison
[48] Cardoso, J. and Sheth, A. (2003). Semantic e-workflow
composition. Journal of Intelligent Information Systems
(JIIS), Vol. 21, No. 3, pp 191-225.
[49] Cardoso, J., Miller J. et al. (2004). Modeling quality of
service for workflows and web service processes. Web
Semantics: Science, Services and Agents on the World
Wide Web Journal, Vol. 1, No. 3, pp. 281-308.
[50] Cardoso, J. Lenic, M. (2006). Web process and workflow
path mining using the Multimethod approach. Int. J.
Business Intelligence and Data Mining, Vol. 1, No.3, pp.

Juha Puustjrvi obtained his B.Sc. and M.Sc degree in computer

science in 1985 and 1990, respectively, and his PhD degree in
computer science in 1999, all from the University of Helsinki,
Finland. Since 2003 he has been the professor of information
society technologies at Lappeenranta University of Technology.
Currently he is an adjunct professor of eBussines technologies at
the Aalto University, and an adjunct professor of computer science
at the University of Helsinki. His research interests include
eLearning, eHealth, eBussines, knowledge management, semantic
web and databases.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Study of algorithms to optimize frequency assignment for

autonomous IEEE 802.11 access points
Michael Finsterbusch and Patrick Schmidt
Dept. of Communication and Computer Science, Hochschule fr Telekommunikation Leipzig (FH),
University of Applied Sciences (HfTL)
Leipzig, Saxony, Germany

This study points to an automatic channel assignment for
unadministrated, chaotic WLANs to take advantage on the given
capacity of the IEEE 802.11 frequency spectrum and to enhance
the quality of the entire WLAN sphere.
This paper determines four public channel assignment algorithms
for IEEE 802.11 networks. We show the problem of channel
assignment in unadministrated WLANs and describe each
algorithms functional principles. We implemented each one and
simulated them on a huge amount of random topologies. The
results show the timing behavior, the used iterations and the error
statistics. Based on these data we determined problems in each
algorithm and found graphs were they failed to find a collision
free solution. We also implemented some improvements and
finally a modified algorithm is presented that shows best results.
Keywords: Wireless LAN, Channel Selection, Heuristic,

gathering information from its environment and choosing

its channel configuration with respect to other APs within
reach. A centralized algorithm collects information about
the whole network topology and the disturbing
environment from all APs in its domain. Then one node in
the domain calculates the best channel assignment for the
whole topology and distributes the results to all APs in its
This paper is organized as follows. First we shortly
describe the problematic nature of channel use and
channel access in 802.11. Then we describe the aims of
automatic channel assignment. In section four the different
channel assignment algorithms are presented, in section
five the performance of the several algorithms is compared.
We summarize our research findings in section six.

2. Principles of IEEE 802.11 data exchange

1. Introduction
The use of IEEE 802.11 wireless LANs (WLAN) has
been grown rapidly for the last ten years, promoted by
inexpensive IEEE 802.11 capable PDAs, mobile phones,
laptops and WLAN routers. WLAN is used for business
and private networks. In the early days of 802.11 WLANs
were mainly installed and administrated by experts.
Today's WLANs are often operated by end users
regardless of their possible influence on other wireless
networks in immediate vicinity. In urban areas often exist
up to 30 WLANs in a place. Mostly they use factory
default settings with the same channel and maximum
transmit power. That results in a bunch of badly working
wireless networks.
To increase the performance of WLANs in such an
environment, automatic lerning and self organized
algorithms are needed to optimize the channel load and
take action on changing network topologies.
This study deals with two kinds of algorithms, that
we classify into distributed and centralized algorithms. A
distributed algorithm runs on any single Access Point (AP),

The air interface in IEEE 802.11 networks is a shared

medium. Both data- and control-frames and up- and downlink share the same channel, in contrast to other wireless
networks like GSM, EDGE or UMTS. Furthermore the
IEEE 802.11 frequencies are license free, so everyone can
provide its own WLAN network.
The next paragraphs show in short the channel
division and the channel access method.

2.1 Channels in IEEE 802.11

IEEE 802.11 wireless LANs can use two different
frequency ranges in 2.4GHz (IEEE 802.11b/g) and 5GHz
(IEEE 802.11a/h) [1]. The frequency ranges are split into
different channels. Every channel has a bandwidth of
20MHz. Between the center frequencies of neighboring
channels is a frequency gap of 5MHz. Channels 1 to 11 in
the 2.4GHz range may be used in the USA, whereas in
most parts of Europe channels 1 to 13 are available. This
means there are only three non-overlapping channels
within 2.4GHz range. The 5GHz band ranges from


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

5.0GHz to 5.725GHz. The first available channel in

Europe is channel 36 (5180MHz), the last is channel 140.
In 5GHz range only channel numbers that are a multiple of
four (e.g. 36, 40, 44) may be used. This means all
available channels in 5GHz band are non-overlapping.
Nevertheless the 2.4GHz range (IEEE 802.11b/g) is used

2.2 Access to the wireless network

The access to the wireless interface in IEEE 802.11 is
coordinated by the Carrier Sense Multiple Access with
Collision Avoidance (CSMA/CA) protocol. Any
transceiver must sense for some microseconds (backoff
time) for a free channel. This avoids simultaneous access
to a channel. The backoff time is calculate before a frame
will be sent. The backoff time is a multiple of a time slot
and a random number within the range of 0 to Contention
Window (CW). The contention window ranges from

CWmin CW CWmax


At startup, CW is initialized with CWmin . After

collision CW will be increased by a power of 2, but with
maximum of CWmax :

CW min(2init collisions 1, CWmax )


If a frame was send successfully CW is reset to

CWmin . Default values for CWmin and CWmax are 31
and 1023. A time slot is 9s or 20s long, depending on
modulation used [1]. Overall the CSMA/CA algorithm
shares the medium fair between all transmitting stations.
Therefore high channel load, collisions and
interferences decrease the throughput per channel and
increase the latency.

3. Aims of optimized frequency assignment

An optimized frequency assignment improves the
exploitation of the air interface. This decreases the
interference, between neighboring wireless stations,
channel load and collisions. So the overall quality
(throughput, delay and packet loss) of the entire IEEE
802.11 environment will increase. An automatic frequency
assignment has the additional advantage that it can be used
also in non-administrative domains ('chaotic' networks).
Therefore, an optimal channel assignment algorithm
for 802.11 networks will find a channel configuration for
each node and each radio device of each node in such a


way that a minimum of radio interference occurs during


4. Algorithms
4.1 Channel selection in chaotic wireless networks
Matthias Ihmig and Peter Steenkiste have published a
channel selection method [7] discussed in this section.
Their method tends to optimize the channel selection in
chaotic wireless networks. Chaotic wireless networks are a
group of single WLAN Access Points including its clients
(wireless stations), within different administration
domains and without coordination between those. Due to
this scenario this method depends only on locally
measurements and without communication. We will call
this method CHAOTIC afterwards.
The CHAOTIC channel selection procedure is
divided in three modules: monitoring module, evaluation
module and channel switching module.
The monitoring module permanently collects
information about the channel load on a single dedicated
channel. The AP collects data for at least t hold seconds.
Then it switches to the next channel if it is necessary. For
t hold Ihmig et al proposed a 10 seconds interval. To
determine the channel load the so called MAC delay is
used as metric in [7]. During the measurement the channel
load can fluctuate significantly, so they use an
exponentially weighted moving average to smooth the
measured load value:

xk xk 1 (1 ) xk ,

n 1


For each channel the weighted channel load value is

saved in the load table.
The evaluation module takes the decision of channel
switching. This is done by comparing the current channel
load against a threshold threshcurrent . On startup

threshcurrent is set to minimum threshold threshmin .

Ihmig et al used a value of 50% channel load for
threshmin . In the case the channel load is higher than the
( channelcurrent threshcurrent ), the channel switch is
triggered. The flow chart in figure 1 shows the algorithm
of the evaluation module.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


way AP1 detects AP2's and AP3's high channel load (and
maybe of AP0 also, when AP1 and AP0 startup
simultaneously) and switches to channel 1. The updated
threshmin, AP1 threshcurrent is up to two or three times

> thresh



higher than threshold threshmin, AP 0 of AP0. After that the

Select channel with

smallest entry



all table entries up-to-date?

= second



CHAOTIC algorithm remains in a deadlock situation. This

is not the optimal channel assignment (figure 2), but AP0
and AP1 will not switch to another channel any more.
Both AP's have an threshold value that will not be
overcalled from channelcurrent . The evaluation algorithm

Select channel with

oldest entry

= thresh



just loop in the comparison of the current channel load and

the threshold (see figure 3), but it will never break the
loop to switch to another channel.

Trigger Channel Switch

Stay for thold seconds

Fig. 1 Program flow chart of channel selection [7].


The channel switching module's job is to switch to

the assigned channel together with all connected wireless
Rating of the CHAOTIC algorithm
The CHAOTIC algorithm seems easy to implement. The
simulation results in the paper of Matthias Ihmig and Peter
Steenkiste showed that at least 95% of the throughput
compared to hand-optimized can be reached.
However the CHAOTIC algorithm has a
disadvantage that we have pointed out during
implementation and testing. There exist topology scenarios
for that the algorithm fails. Demonstrating that behavior
on a minimal setting (figure 2), assume 4 APs that use the
same channel (channel 0) on
initial state

step 1

Channel 1
Channel 2

Fig. 2 Example graph on error condition.

startup. AP1 is able to detect all other AP's, whereas AP0,

AP2 and AP3 just detect the load of AP1. We assume all
APs generate equal channel load, that is higher than
threshmin . After startup AP0 scans its environment. Due
to detected to high load, AP0 switches to channel 1 and
sets its threshmin, AP 0 to threshcurrent , AP 0 . In the same


> thresh



Select channel with

smallest entry


all table entries up-to-date?

= second

Select channel with

oldest entry



= thresh



Trigger Channel Switch

Stay for thold seconds

Fig. 3 Program flow chart of channel selection [7] in error condition - the
algorithm locks in a loop.

Modified CHAOTIC algorithm

We modified the CHAOTIC algorithm to overcome its
disadvantages. The modified CHAOTIC at startup scans
all channels to update the whole load table. So the AP can
choose its best channel. Additionally we add a channel
aging. In case of an outdated current channel and
interferences with other APs, channel switching is forced.
This way reaction to changes in the topology is better and
it breaks possible deadlock constellations.
Our simulation results of the CHAOTIC algorithm
and the modified CHAOTIC algorithm are given in
section 5.

4.2 Channel assignment with a central heuristic

K. Leung and B. Kim published a centralized
heuristic to optimize channel load with a better channel
assignment in [6]. The heuristic uses a greedy step to
speed up the algorithm. Greedy algorithms generate good
results, step by step, by splitting the whole problem in

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

many particular problems to generate a good solution

(local minima/maxima) for the partial problems. But it is
not guaranteed that they produce the optimal solution for
the whole problem. Often greedy algorithms generate
good results in a comparatively short time.
The aim of this heuristic is to minimize the channel
load of the 'bottleneck'. The bottleneck means the AP with
the most neighbor APs using the same channel. By
optimizing the bottleneck, the flow in the whole set is
The heuristic algorithm contains of 6 steps [6]:


force to find a better channel assignment. This algorithm

scales exponential. So it is not applicable on huge
networks with normal APs that consists usually of low
power embedded devices. The unsuccessful test by Leung
and Kim with the network consist of 111 APs, took about
9 minutes on a SUN Sparc workstation. Therefore it can
not take action to changes in the environment or the
network topology in an adequate time.
But aside from the bad scaling, the central heuristic
fails on a number of network topologies. We determined
during implementation and testing that the algorithms fails
on ring topologies (see figure 4). The main problem is that

1) Generate a random, initial channel assignment.

step 1

initial state
2) Choose the bottleneck (with channel utilization V). If
there are several bottlenecks choose one randomly.
3) Identify bottleneck's assigned channel k. For each
available channel n from 1 to N with n k
neighbor AP j, temporarily modify the channel
assignment by reassigning only AP j with
n. Save the minimum channel utilization W of all

V=2, Wmin=2



random (4.b)

step 2

If W V , then replace V by W a greedy step.

Continue with step 2.
b) If W V , then with a pre-defined probability
replace, V by W. Continue with step 2.
c) If W V , a local optimum has been reached.
Continue with step 5.

6) Test if condition (5) for all APs is satisfied for the

final assignment. If so, the final assignment is
feasible. Otherwise, it is considered that no feasible
solution exists for the network under consideration.
This heuristic was used by Leung and Kim [6] to
calculate the channel assignment for two different
networks, one with 21 APs and one with 111 APs. The
optimized channel assignment was known in advance. The
heuristic was not able to produce the optimal channel
assignment for the second network with 111 APs.
Rating of the central heuristic
This heuristic is only useful for offline network design,
because it is too slow or needs to much computing power,
respectively. Steps 3 and 5 of the algorithm use brute-


5) Repeat steps 1 to 4 with a number of random, initial

assignments. The final solution is chosen to be the
best according to (4), among the local suboptimal

V=2, Wmin=1


channel 1
channel 2

Fig. 4 Central heuristic on error condition.

in step 3 of the algorithm, only one neighbor AP will be

changed. Afterwards will be the next bottleneck chosen to
optimize. In the ring topology, all APs have an utilization
Vector V of 2 - the direct neighbors in the ring. The
reduction of utilization Vector V optimize the local
utilization, but the overall utilization vector W stays at 2.
This failure occurs on ring topologies with even-numbered
amount of nodes and with odd-numbered nodes in line
Furthermore the algorithm has another problem, it
can not handle incoherent topologies.
Our simulation results for the centralized heuristic are
shown in section 5.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

4.3 Distributed heuristic for multi radio mesh

The channel selection algorithm discussed in this
section was published by Bong-Ju Ko et. al. in [2]. It is a
full distributed online greedy algorithm which optimizes
the channel constellation based on local node information.
They developed and tested the algorithm in an
experimental multi radio mesh environment to improve the
overall throughput performance. In our experiments we
used it to optimize the channel constellation in chaotic
networks. For shorter naming we call this algorithm DH in
this paper.
The algorithm is based on two basic facts. At first an
interference cost function f ( a, b) which measures the
spectral overlapping between channels a and b. The
function is defined in such a way that f ( a, b) 0 and

f (a, b) f (b, a) . If the value goes to 0

( f ( a, b) 0 ) channels a and b don't overlap and a
higher value means they overlap. The algorithm works
with every cost function which reflects these requirements
and in our study we simply use f ( a, b) 0 which
means that different channels don't overlap. The second
basic fact is the interference set S. The interference set S j
of node j is a list of all nodes whose transmissions will
interfered by transmissions of j. A accurate determining of
the interference sets is very complex in real life
environments and therefore we assumed the interference
set contains all neighbors of node j.
The algorithm itself is defined by the following
pseudo code:
procedure ChannelSelection(node i)

Si :
cj :

interference list of i

ci :

i's current channel

actual channel list for each


F (ci ) :

f (c , c )
jS i

for k:=1 to K do

F (k ) :

f (k , c )
j S i


F (ci ) F (k ) then


F (ci ) : F (k )
ci : k

j Si



As we could see the algorithm minimizes the sum of

channel interferences in each iteration. At first step the
actual interference sum is calculated. To do this the actual
channel ci is combined with every channel c j and the
each calculated cost f (ci , c j ) is added up to the sum

F (ci ) . In the next step the loop calculates the cost sum
Fk in each iteration and compares it to F (ci ) . If Fk is
smaller than F (ci ) a better channel is found because the
interference costs are decreasing when using this channel.
Rating of the DH algorithm
The algorithm in [2] is very small, very fast and easy to
implement. Because of the very greedy sequence it
converges to a stable solution in only a few steps but also
comes to many incorrect solutions. One example graph
were the algorithm fails to find a collision free solution is
presented in figure5.
initial state




channel 1
channel 2

Fig. 5 Example graph where DH fails to find optimal solution.

The graph shows four nodes with two available

channels at all. The node numbers show the order in which
each AP runs the DH algorithm. At first node 0 changes it's
channel to 1 because this one is free of interferences. After
that AP 1 does the same thing and causes the locking
situation. Because the nodes 0 and 1 doesn't interfere each
other they will never change their channel anymore and
nodes 2 and 3 can't find the optimal result.
Optimizing of the DH algorithm
To optimize the algorithm we tried to use two different
strategies of changing this behavior. At first we tried to
run the algorithm in a randomized node order and we also
sorted the nodes based on node weight to determine the
right running order, but we couldn't optimize the fault
rates significantly.

4.4 Communication Free Learning algorithm

The Communication Free Learning algorithm (CFL)
was published by D.J. Leith, P. Clifford and D.W.Malone
in [4] and [5]. It is a node coloring instruction which was

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

developed and tested by the authors for automatic channel

configuration of unadministrated AP's. It is very simple
and doesn't need any communication or synchronization
between the AP's. The algorithm's channel selection is
based on vector pi , which contains a selection probability
for each available channel. The algorithm updates pi for


each channel i following this description:

channel 1

1) Initialize p [1 / c,1 / c,...,1 / c ]

channel 2

2) Toss a weighted coin to select a channel i with a

probability of pi . Sense channel i's quality. If it is
acceptable hop to this channel and goto step 3, if not
goto step 4.

Fig. 6 General graph where CFL doesn't find optimal solution.

cannot choose this channel and we got a lock situation

where the optimal solution cannot be found anymore.
Figure 6 corresponds to figure 5 and is the generalized
graph of this.

3) On successful change to channel i, update pi as

a) pi 1

5. Comparison of algorithms

pi 0, j i

4) If no channel change, update pi like this:


pi (1 b) pi


pi (1 b) pi

, j i
c 1

5) Go back to step 2.
The parameter b is called Learning Parameter and
influences the speed of channel changes. In our simulation
we always used b 0.1 according to statements in [5].
Leith et. al. used a measurement of MACAcknowledgements to measure the channel quality, we
used a simple binary decision. A channel is always good if
no other neighbor is using the same one.
Rating of CFL-Algorithm
The CFL is also very easy to implement and always
converges to a stable solution. On the other hand it deals
with a lot more iterations than a greedy algorithm e.g. the
one presented in section 4.3. This is because the selection
decision is based on probabilities which are updated in
every step in dependence to b (Learning Parameter).
Another thing we found out is that there are some
general graphs or subgraphs which cannot be handled
correctly by the CFL under special circumstances.
Figure 6 shows one general graph with two available
channels where the CFL fails to calculate a correct
solution. If the edge nodes are using the same channel i the
probability pi is set to pi 1 according to step 3a and
will never change again. The nodes in the middle therefore

To compare the channel assignment algorithms

described in section 4 objectively, we implemented all
algorithms in the C programming language. To determine
accuracy, disadvantages and performance of this
algorithms, we let they compute channel assignments for
various random generated graphs.
To generate the test graphs, we use an algorithm that
use a weighted random metric. In fact this means that at
startup an empty adjacency matrix for n nodes is created.
With a probability of the edge between two nodes is set
in the adjacency matrix. That means this nodes can
interfere with each other. Additionally, it prohibits single,
isolated nodes.
The algorithm test is performed in the following way.
At startup of every test run, a random graph is generated.
Overall we tested the algorithms with graphs of 4 to 24
nodes and 100.000 random graphs for every amount of
nodes. The probability of interferences between two nodes
was set to 20%. After graph generation, we determined
the minimal needed amount of channels for a interference
free channel assignment with the DSATUR algorithm. The
well known algorithm DSATUR (Degree of Saturation)
was developed and published by Brlaz in [3].
Then the graph is initialized with a random channel
assignment. If the random channel assignment is already a
collision free (valid) assignment the graph is reinitialized
until the assignment is not valid. With this setting, every
algorithm described in section 4 had to compute the
channel assignment. Then the result was checked for
validity and additionally we saved the runtime and
iterations needed. The minimal needed amount of channels
- calculated with DSATUR algorithm - was the maximal
number of channels to use. The test run was performed on

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

a desktop workstation (Intel Pentium 4 CPU 3.00GHz

with 512MB RAM, Linux Kernel 2.6.22).

5.1 Measurement results


that of the CHAOTIC algorithm. A particular feature of

this algorithm is that it needs just one or two iterations
(figure 14). This algorithm is relative fast, but it has a very
high error rate (see figure 18).

The figures 7 and 9 shows the time needed by the

CHAOTIC and the modified CHAOTIC algorithm,
respectively. The better timing behavior of the modified
CHAOTIC algorithm is perfectly clear. The modified
CHAOTIC needs also distinctly fewer iterations (figures 8
and 10), as well. But the root square mean execution time
in figure 10 shows that the modified CHAOTIC algorithm
needs also many iterations for some graphs, but overall it
is much faster.

Fig. 9 Runtime of modified CHAOTIC alogrithm.

Fig. 7 Runtime of CHAOTIC algorithm.

Fig. 10 Iterations of modified CHAOTIC algorithm.

Fig. 8 Iterations of CHAOTIC algorithm.

Figure 11 shows the worst, exponential time

consumption of the central heuristic. The reasons for that
was explained in section 4.2. The bad scaling of the
algorithm reflects also in the iteration diagram (figure 12)
and in the comparison of all algorithms in figure 17.
Figure 13 shows the timing behavior of the
distributed heuristic algorithm. It is approximately equal to

Fig. 11 Runtime of central heuristic algorithm.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Figure 15 shows the timing behavior of CFL

algorithm. We see, the time consumption increases rapidly.
It needs already a half second average to calculate a
channel assignment for 24 nodes. Test runs with invalid
results were not counted.

Fig. 12 Iterations of central heuristic algorithm.

Fig. 15 Runtime of CFL algorithm.

Figure 16 shows the iterations needed to compute a

valid channel assignment.

Fig. 13 Runtime of distributed heuristic algorithm.

Fig. 16 Iterations of CFL algorithm.

Fig. 14 Iterations of distributed heuristic algorithm.

Figure 17 summarizes our findings of the time

consumption for all algorithms, including DSATUR. It
shows that CFL and central heuristic scale badly for
networks with more nodes. The modified CHAOTIC
scales at best of all determined algorithms. But DSATUR
seems to be the fastest algorithm in our simulation. But the
DSATUR algorithm has an exponential scale as a last
resort and also needs the complete topology for calculation
Figure 18 shows the amount of invalid channel
assignments for the entire algorithms. Only the modified
CHAOTIC is free of errors. All other algorithms can not

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

be used in real world applications because of their high

error rate.


all used radio interfaces. We could use our simulation

results to choose the right algorithm for channel
configuration of the backbone's ingress access points.


Fig. 17 Runtime comparison of all algorithms.

[1] IEEE Standard for Information technology

Telecommunications and information exchange between
systems Local and metropolitan area networks Specific
requirements Part 11: Wireless LAN Medium Access
Control (MAC) and Physical Layer (PHY) Specifications.
IEEE Std 802.11TM-2007.
[2] B.J.Ko, V.Misra, J.Padhye, and D.Rubenstein. Distributed
channel assignment in multi-radio 802.11 mesh networks.
Columbia University, Technical Report, 2005.
[3] Brlaz. New methods to color the vertices of a graph.
Communications of the Assoc. of Comput. Machinery 22,
[4] D.J.Leith and P.Clifford. Channel dependent interference and
decentralized colouring. Proc. International Conference on
Network Control and Optimization, Avignon, 2007.
[5] D.J.Leith, P.Clifford, and D.W.Malone. Wlan channel
selection without communication. Proc. IEEE Dyspan, 2007.
[6] K. Leung and B. Kim. Frequency assignment for ieee 802.11
wireless networks. Proc. 58th IEEE Vehicular Technology
Conference, 2003.
[7] M.Ihmig and P.Steenkiste. Distributed dynamic channel
selection in chaotic wireless networks. 13th European
Wireless Conference, Paris, 2007.

Patrick Schmidt studied computer science in Leipzig at Telekom

University of Applied Sciences (HfTL) and received his Diploma in
2006 for inventing a secure and mobile architecture for mobile
vehicles. His Master of Engineering at Telekom University of
Applied Sciences in Leipzig in 2009 was on research for WLAN
backbone optimization. His current projects cover WLAN and
WLAN backbone optimization, network traffic management, deep
packet inspection and high availability.
Fig. 18 Comparison of invalid assignments.

6. Conclusion
In this paper we compared four different algorithms
for channel assignment in IEEE 802.11 networks. These
algorithms are from different publications and are using
different strategies to solve the problem. We implemented
them in C programming language and simulated all
algorithms on a huge amount of random graphs. We
determined weaknesses/problems in every single one and
could therefore not recommend to use one of these in real
world networks with a higher amount of nodes.
The best results achieved the modified CHAOTIC
algorithm. For practical usage this one would be the best
when regarding its performance and robustness.
Or future goal is to develop a WLAN backbone
architecture with a self organizing channel assignment for

Michael Finsterbusch studied computer science in Leipzig at

Telekom University of Applied Sciences (HfTL) and received his
Diploma in 2006 for implementing a Diameter server and client to
gain a AAA-infrastructure for a secure and mobile architecture for
mobile vehicles. His Master of Engineering at Telekom University
of Applied Sciences in Leipzig in 2009 was on research for WLAN
mobility. His current projects cover WLAN optimization, WLAN
mobility, network traffic management, deep packet inspection and
high availability.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


A Knowledge-Based Multi-Agent Approach for Initial

Query Refinement in Information Retrieval
Tatyana Ivanova1, Ivan Momtchev2

College of Energy and Electronics, Technical University Sofia,

Botevgrad, 2140, Bulgaria

Technical University -Sofia,

Blvd. Kl. Ohridski 8, Sofia 1000, Bulgaria

Query refinement is one of the main approaches for overcoming
natural language lexical ambiguity and improving the quality of
search results in Information Retrieval. In this paper we propose
a knowledgerich personalized approach for iterative query reformulation before sending it to search engines and entropybased approach for refinement quality estimation. The underling
hypothesis is that the query reformulation entropy is a valuable
characteristic of the refinement quality. We use multi-agent architecture to implement our approach. Experimental results confirm that there is a trend for significant improvement in the quality of search results for large values of entropy.
Keywords: semantic search, multi-agent system, query refinement, query refinement entropy

based methods for query disambiguation are essential for

obtaining high-quality-results. Query refinement is a complicated tack, performed in dynamic Web environment and
closely depending from unpredictable changing user interests. That is why we believe, that multi-agent architecture
is the best one for personalized query refinement.

2. State Of The Art

There are two main research areas, closely related to query
disambiguation: Query Refinement (QR, or Query Expansion, QE) and Word Sense Disambiguation (WSD).

2.1. Query Refinement Research

1. Introduction
In general, the quality of returned from search engine results heavily depends on the quality of the sending query.
Because of natural language ambiguity (such as polysemy
and synonymy) it is very difficult to formulate unambiguous query even for experts in the search domain. That is
why techniques to assist the user in perspicuous formulating a search query are needed for improving the performance of the search engines.
Query refinement is a well-known method for improving
precision and recall in information retrieval. Query improvement may be made before it is sent to the search engines, or after returning the first results. In the first case
the active user involvement and knowledge rich resources
are needed. Therefore, this approach is the most effective
only for expert users. For non-expert user automatic query
expansion, based on statistical analysis of returned results
is more successful. In all cases, the quality of the initial
query is crucial for obtaining relevant results, since the
query reformulation (automatic or iterative) everything is
made on the basis of these results. Therefore, knowledge-

Query Refinement (or expansion) is a process of supplementing a query with additional terms (or general reformulation in some cases), as the initial user query usually is
incomplete or inadequate representation of the users information needs. Query expansion techniques can be classified in two categories (Fig. 1): those based on the retrieved results and those that are based on knowledge. The
former group of techniques depends on the search process,
uses user relevance feedback in an earlier iteration of
search and statistical algorithms (as Local Context Analysis (LCA), Global Analysis [20], and Relevance Feedback
techniques) to identify the query expansion terms. Query
reformulation is made after initial query sending on the
base of the all returned results or using only the first N results automatically (as shown on Fig.2, road (3)) or by little user participation (Relevance feedback, road (4) on the
Fig.2). Only the first few of the most frequently used in returned documents terms are used in query refinement
Global analysis techniques for query expansion usually select the most frequently used terms in all returned documents. They are based on the association hypothesis,

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

which states that specific domain terms tend to co-occur in

the documents of that domain. Term Clustering, Dimensionality Reduction (LSI, SVD) and Phrasefinder [21]
techniques are used for specific term extraction and categorization. While global techniques rely on analysis of a
whole collection to discover word relationships, local
techniques emphasize analysis of the top-ranked documents retrieved for a query.
Query expansion


Refinements, based on
retrieved results

Knowledgebased refine-







Local approaches

Global approaches


Feedback Ranking


Figure 1: Classification of Query expansion approaches



Local analysis techniques use local selection strategy







reformula(4) tion





Search engine indexes


Figure 2: Query refinement paradigms

(usually relation-based) from some group of returned documents. They have shown to be more effective than global
techniques when initial query is clear and unambiguous,
but they are not robust and can seriously hurt retrieval
when few of the retrieved documents are relevant [22].
Experiments on a number of collections, both English and
non-English, show that local context analysis offers more
effective and consistent retrieval results than global term
extraction and categorization techniques [21]. Feedback


based approaches use marked from the user as relevant

documents for additional term extraction. Relevance feedback [5], [3] is used to refine a query using knowledge of
whether documents retrieved by this query are relevant.
The Knowledge-based query refinement approaches [13],
[10] are independent of the search process and additional
query terms are derived from thesauruses [6], [7] gazetteers, domain ontologies [18], [9], [19], [17] user profile
ontologies or other knowledge resources. They use linguistic methods to analyze initial query and provide many
possible query expansion terms and rely on the user to select the appropriate ones.
These approaches are usually domain-dependent [18], [6],
[9], and are applicable only in domains where the knowledge can be machine-processed. They are applicable in all
search stages, but are very useful for initial query refinement, as retrieved document approaches are not applicable
in this stage.

2.2. Word Sense Disambiguation

Most Internet searchers tend to use only one or two words
in a query [4]. These queries (and often not only they) are
unclear and ambiguous. For example the average number
of different meanings of common nouns in WordNet is
about 7-8. On the other hand, search results are only as
good as the posed queries and usually even minimal
change in the query leads to significant changes in the results. That is why techniques for word sense disambiguation are of great importance for web search tack.
Word Sense Disambiguation (WSD) is defined as the
problem of computationally determining which sense of
a word is activated by the use of the word in a particular
context. The main source of information for the specified
word meaning is the context. In general, word sense disambiguation involves the association of a given word in a
text with a definition or meaning (sense). The task involves two steps: (1) the determination of all the different
senses for the word; and (2) a means to assign each occurrence of a word to the appropriate sense.
There are two main WSD approaches: knowledge-based
and corpus-based. Knowledge-based approaches rely primarily on dictionaries, thesauri, lexical knowledge bases,
ontologies, without using any textual corpus. They use the
definitions from dictionaries, tesauruses, calculate semantic similarity measures using relations from tezauruses or
ontologies, or mutual disambiguation algorithms (such as
the Lesk method). Corpus-based methods are classification
or clustering methods, using tagged or untagged textual
corpus and mashine-learning algorithms. These methods
are not applicable for initial query disambiguation because
of the very little or missing context information in the queries.


Table 1: differences in the results for similar queries - yahoo and hakia

1) abscissa
2) abscissa +axis

Identical returned results (%)

1) tiger
2) tiger +wood
1) snake
2) snakes
2) negative+integer
1) dog
2) dog +animal

Identical returned results

1) trigonometry
2) trigonometry +

All returned results

1) insect
2) insects
1) pelican
2) pelican +bird

Identical returned results (%)


Identical returned results



All returned results




8,8 %



11,0 %



3,1 %


2,0 %

1000 233 23,3 % 102


12,7 %



0,0 %


135 13,6 % 142


36,6 %


372 37,7%



19,0 %




3,0 %


268 27,0 % 100

9,0 %

0,2 %

2,4 %

14,5 %

11,7 %

Table 2: differences in the results for similar queries - clusty and ask



Identical returned results (%)



41,5% 198

34 17,2%







1) trigonometry
2) trigonometry +



19,9% 224



1) tiger
2) tiger +wood






48,0% 216

30 13,9%



40,8% 200

63 31,5%





20,7% 199

1) snake
2) snakes
2) negtive+integer
1) dog
2) dog +animal
1) abscissa
2) abscissa +axis




Identical returned results

1) insect
2) insects
1) pelican
2) pelican +bird


All returned results

Identical returned results

Our experience in Web searching shows that little semantic changes in the query lead to major changes in the returned results. We will call this query property query volatility. We have made a lot of experiments, sending
groups of two semantically very close queries to four
search engines: yahoo, hakia, clusty and ask and counting
the number of the URLs, returned from the two queries in
every group. Some of the results are shown in table 1 for


All returned results

3. Our Approach for Interactive Query


Identical returned results (%)

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


28 14,1%

yahoo and hakia, and in table 2 for clusty and ask.

For example, on the first row in the table 1, number of all
results, results, whose URLs are returned from both queries insect and insects from yahoo, hakia, clusty, ask
and their percentage are shown.
The results shows that even when queries are nearly semantically and syntactically the same (as insect and insects for example) there is significant difference in returned URSs. Because of the query volatility sending as
accurate as possible queries is of great importance not only
for obtaining good results but for the successful implementation of all query refinement methods, based on the returned results. That is why methods to assist the searcher
in query formulation are of great importance for effective
search. We propose an approach for interactive query refinement before sending it to search engines.
The conceptual schema of our approach is shown on Fig.3.
The approach is knowledge-based and interactive. It heavily relies on the availability of sufficient appropriate
sources of knowledge and active participation of the
searcher. The process of the initial query refinement is

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

performed in three stages: (1) Query analysis; (2) Generating query suggestions; (3) Formulating and sending the refined query.
(1). Query analysis. The main aim in this stage is finding
the meaning of the query. The system performs syntactic
and lexical analysis as searcher type, the query using
WordNet. If this analysis fails (WordNet doesnt contain
proper nouns, compound domain terms), another knowledge resources as gazetteers, domain ontology or specialized annotated corpus may be used. Many of them may be
downloaded from internet (manually or automatically, using Search web resources module (Fig. 3).




Query interpretations



Search web



Figure 3. The conceptual schema of the proposed initial
query refinement

Search queries usually contain rather keywords than

grammatically correct text. This makes linguistic query
analysis more difficult and ambiguous than natural language text analysis. For example, when user type only one
word, it is often impossible to determine if it is noun or
verb, and which among the many possible meanings is in
the searcher's account. Using two or more words in the
query user rare define clear context and usually the query
remains ambiguous. Therefore, even excellent linguistic
analysis seldom could find the meaning of the query. That
is why a lot of possible query interpretations may be generated as a result of the query analysis.
(2). Generating query suggestions. This stage involves selecting some most appropriate among the possible interpretations and proposing them to the user. The main problem in this stage is making appropriate evaluation of every
possible interpretation to restrict the number of proposed
interpretations when they are too many. Word sense disambiguation (WSD) techniques are used for restricting
possible interpretations. The use of context-based WSD
methods is very limited because of missing or incomplete
word context in search queries. Reasoning, based on do-


main ontology, profile ontology (if corresponding system

is personalized) or WordNet hierarchy is very useful in
this stage.
(3). Formulating and sending the refined query. In this
stage the searcher selects an appropriate query reformulation, or formulates the new query if suggestions are inadequate. This is an interactive phase in which the user gives
meaning of the suggestions and takes full responsibility for
the final query formulation. All the suggestions help him
in sending appropriate query, expressing its goals.
The proposed approach helps the user to express more
clearly the meaning of the query. The question always
arises if adding words, specifying the meaning always
came to improving the quality of results. Our experiments
have shown that this was not always so. In the next section
we propose an approach for estimating the quality of the
query refinement, independent of semantics and the subject area of the query.

4. Entropy-Based Approach for Refinement

Quality Estimation
Formulating his query, the searcher has in mind a clearly
defined semantic. In practice, it appears that the search engines found many semantics, which could lie behind the
particular query and returned results are relevant to these
semantics. This leads to many irrelevant (for the searcher
intense) results, which decreases the precision. It indirectly
reduces the actual recall, since some possibly relevant results are shifting from those related to other semantics (and
irrelevant in this case). Query refinement leads to narrowing the scope of the search, and thus reducing the total
number of hits. Our hypothesis is that there is clear dependence between search engine hits change and quality of
semantic query refinement. We assume that the rate of the
hits change in the process of query reformulation is the
valuable measure for the refinement quality.
Definition: Query refinement entropy (or shortly entropy)
is called the quotient of the refined query hits and initial
query hits.
Our hypothesis is that the greater is the query refinement
entropy, the more significant is the improvement in the
quality of the returned results.
Query enrichment should be flexible and able to cope with
query ambiguity and react adequately to user information.
That is why we propose a multi-agent architecture for implementation of our approach and testing our hypothesis


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

analysis agent

User interface




Ontologybased enrichment agent

Thesaurusbased enrichment agent



Figure 5 sequence diagram of QR when some

vent been found in WordNet

keywords ha-

Figure 4 the multi-agent architecture for query enrichment

The Query Linguistic Analysis Agent (QLAA) analyzes the

sending by the User Interface (UI) query, using WordNet,
and sends proposed initial query refinement variants to
Coordination Agent (CA). CA then proposes various strategies for further query refinement, depending from initial
QR proposals, system resources and user profile. It sends
request to Hits Agent (HA) for delivery hits of existing variants, and asks Ontology-Based Enrichment Agent
(OBEA), Thesaurus-Based Enrichment Agent (TBEA) and
Corpus-Based Enrichment Agent (CBEA) about additional
query refinement proposals. They send his proposals back
to coordination agent that asks Hits agent for needed from
search engine hits, and evaluation of query refinement (using refinement entropy) is returned results to the Coordination agent. Coordination agent returns estimated proposals
(and its estimations) to the user for choosing the best one.
This will help the searcher in clear and unambiguous expression of it information needs. This is only a general
ideology of the MAS functionalities. In each real situation
the system functioning is determined by the specifics of
the query, entered by the user, and can be shown explicitly
by using interagent communication diagrams. On the diagram on Fig.5 the query refinement process in case when
some of query keywords havent been found in WordNet
is shown; On the diagram on fig.6 the query refinement
process by using only WordNet is shown. This may be the
whole QR, or the first it phase, when user specify that proposed refinement isnt correct enrichment of his query. In
this case, the second QR phase is shown on Fig.7. On Fig.
8 the sequence diagram of QR without using textual corpus is shown, and on Fig 8 QR when initial information
about query domain, represented by ontology is available.
In our subsequent experiments we use mathematical, biological and computer science domain ontologies and dont
include thesauruses. Our queries are concept oriented
and implemented in coordination agent strategies are static. This is because of our first aim is to estimate the

Figure 6 sequence diagram of QR by using WordNet only

Figure 7 - second QR phase after incorrect enrichment, using


Figure 8 QR without using textual corpus

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Figure 9 - QR by using WordNet and domain ontology

Figure 10 - QR using only domain ontology

valuability of the proposed entropy-based measure. The

full capabilities of the proposed multiagent system are object of future research.

5. Experimental Results
To verify experimentally our hypothesis we have selected
190 search queries, having entropy between 1 and 40400.
A key objective in query selection was to provide many
different values of entropy, to investigate the relationship
between the magnitude of the entropy and returned results
quality. We have manually evaluated relevance of the first
70 results of each sent query and its semantically refined
ones by opening and reviewing each of them, received by
the original and it semantically refined query. The evaluation is based on adopted common five-level relevance criteria: 4 points for every high-quality result (including high
quality relevant to the topic information, represented in a
perfect form, including needed hyperlinks to related top-


ics), 3 points for these, lacked some visual representation

or links, 2 points for uncompleted information, 1 point for
short description of only one of several meanings of the
concept, or partially erroneous information, and 0 points
for fully irrelevant results. For example, when we send
query tiger, searching information about an animal, we
4 points to wikipedias comprehensive hyperlinked and illustrative material;
3 points to
2 points to species/Tiger;
1 point to
0 points to:;;,, as fully irrelevant to the animals topic.
We group the results according to the entropy value in five
groups (for achieving clear visual representation): first
group with entropy between 1 and 3 (first two diagrams on
Fig. 11 and Fig. 12), second group having entropy, greater
than 3 and non greater than 8 (second two diagrams on
Fig. 11 and Fig. 12 ), third group having entropy, greater
than 8 and non greater than 20 (third two diagrams on Fig.
11), forth group, having entropy, greater than 20 and non
greater than 100 (forth two diagrams on Fig. 11 and Fig.
12 ), and the last group, having entropy, greater than 100
(the last two diagrams on Fig. 11 and Fig. 12).We call the
sum of the points of the first 70 received results of the initial and refined query five-level-precision and show it values on the left group of charts. On the right group of
charts we show the dependency between entropy and fivelevel-precision rates of change, as well as polynomial or
logarithmic approximation of this dependency. We think
five-level-precision is a good results evaluation measure,
because usually relevant results are of varying quality and
no one of frequently used results relevance measures
(precision, recall, f-measure and so on) takes note of this


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Poly. (precision changing rate)


initial query
refined query

precision changing rate




five-level precision .

precision changing rate(%)








initial query


precision changing rate

Log. (precision changing rate)


refined query


-20 3







five-level precision

precision changing rate (%)






precision changing rate

Log. (precision changing rate)


five-level precision .

precision changing rate (%),,,





















initial query








L o g .(p rec is io n c h an g in g rate)


five-level precision...

precision changing rate (%). .

p rec is io n c h an g in g rate


refined query


18 19 20














precision changing rate

Log. (precision changing rate)


five-level precision ..









initial query
refined query


precision changing rate (%).





initial query
refined query









Figure 11. Graphical representation of experimentally evaluated

dependency between precision and entropy






Figure 12. Graphical representation of experimentally evaluated

dependency between precision and entropy

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


6. Conclusion


In this paper we propose a knowledgerich approach for

interactive query disambiguation before sending it to
search engines and entropy-based approach for refinement
quality estimation. Our studies are aimed at exploratory
search of textual web resources. The literature review has
shown that a large variety of knowledge-based sources and
methods may be used to help the user in the web query
sense disambiguation. To achieve the best results combined use of many of them is needed. We propose a multiagent architecture for flexible dynamic combination of
various query analyzing and disambiguation methods and
algorithms. Having in mind the prevailing web search engines syntactic keyword-based searching and indexing
approaches, our main goal was to find the answer of the
question whether (always) the semantic query refinement
leads to better search results. For our experiments we implement above approaches, using Jade-based Multi-agent
system. The experimental results have shown that semantic query refinement not always leads to results improvement. When the entropy is not larger than 3, returned from
the refined query relevant results in the group of first 70
usually are more, but some of the very good ones (returned
by the initial query) are no longer among the first 70 and
as a result the overall quality of the results in many cases
is not better. With the increase of entropy the expectations
for better results are greater, but even for large values of
entropy there are isolated cases of worsening quality of results. There is a trend for significant improvement in the
quality of search results for large values of entropy.
Despite the clear tendency to increase the quality of results
as a result of the increasing entropy, there is a large deviation from this trend in both directions. This means that in
case when entropies are slightly different each-other, in
some cases query disambiguation leads to much better results than other ones. Our future research will be directed
to search other dependencies (apart from the values of entropy) between the query refinement and the quality of returned results and experiment various strategies for query
disambiguation, using various knowledge-based resources.
As experiments show, query entropy is a valuable measure
for query-refinement quality and it should be used for calculating of expected refinement effect of various manually
or automatically added disambiguation words. Complexity
and indeterminism of query disambiguation methods, as
well as unpredictability and dynamism of web environment and user needs make appropriate use of multiagent
architecture for implementing query-refinement tack. The
query entropy is one of the valuable criteria for choosing
of appropriate query refinement interactively from the user
or automatically from Query enrichment evaluation agent.
Practical realization of query refinement heavily depends
from coordination agents strategies. These strategies are
important field of future research.

[1] E. Agirre, et al., Semeval-2007 Task 02: Evaluating Word

Sense Induction and Discrimination Systems, 2007,
[2] E. Agirre, P. Edmonds, Word Sense Disambiguation: Algorithms and Applications, 2007
[3] N.J. Belkin, et al., Relevance Feedback versus Local Context Analysis as Term Suggestion Devices, Rutgers
TREC8 Interactive Track, 2000
[4] M. K. Bergman, Guide to Effective Searching of the Internet, tutorial, 2005
[5] B. Billerbeck, and J. Zobel, Techniques for Efficient Query
[6] D. Buscaldi, et al., A WordNet-based Query Expansion method for Geographical Information Retrieval, 2005,
[7] P.A. Chirita, et al., Personalized Query Expansion for the
Web, in proceedings of the 30th annual international ACM
SIGIR conference on Research and development in information retrieval, 2007
[8] H. Dang, The Role of Semantic Roles in Disambiguating
Verb Senses, 2005,
[9] F. Gaihua, et al., Ontology-based Spatial Query Expansion
[10] F.A. Grootjen, Conceptual query expansion, Data &
[11] B. Katz, et al., Word Sense Disambiguation for Information
Retrieval, 1999,
[12] S. Liu, Word Sense Disambiguation in Queries, 2005,
[13] A.P. Natsev, et al., Semantic Concept-Based Query Expansion and Re-ranking for Multimedia Retrieval. A Comparative Review and New Approaches, 2007,
[14] Pitler, E., et al., (2009), Using Word-Sense Disambiguation
Methods to Classify Web Queries by Intent,
[15] W. Ryen, G. Marchionini, Examining the Effectiveness of
[16] A. Sanfilippo, et al., Word Domain Disambiguation via
Word Sense Disambiguation, 2006,
[17] G. Solskinnsbak, Ontology-Driven Query Reformulation
in Semantic Search, 2007, masteroppgaver/IME/IDI/2007/3523/masteroppgave.pdf
[18] N. Stokes, et al., Exploring criteria for successful query expansion

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

[19] S. Tomassen, Research on Ontology-Driven Information

Retrieval, 2006, download?doi=
[20] J. Xu, and W. B. Croft., Query expansion using local and
global document analysis, In Proceedings of the 19th annual
international ACM SIGIR conference on Research and
development in information retrieval, ACM Press, 1996,
[21] J. Xu, and W.B. Croft, Improving the Effectiveness of Information Retrieval with Local Context Analysis, ACM
[22] X. Xu, A Comparison of Local Analysis, Global Analysis
and Ontology-based Query Expansion Strategies for Biomedical

D-r Tatyana Ivanova, 2009, is an assistant-professor in College

of Energy and Electronics (CEE), Technical University of
Sofia, from 2000.
Assoc prof. d-r Ivan Momtchev is a dean of French Language
Faculty of Electrical Engineering, Technical University of
Sofia, from 2005.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

DEMAC: A Cluster-Based Topology Control for Ad Hoc

Abhishek Majumder1 and Nityananda Sarma2

Department of Information Technology, Assam University

Silchar, 788011, Assam, India

Department of Computer Science and Engineering, Tezpur University

Tezpur, 784028, Assam, India

The presence of transient network links, mobility and limited
battery power of mobile nodes in MANETs poses a hefty
challenge for such networks to scale and perform efficiently
when subjected to varying network condition. Most of the
topology control algorithms proposed have high control overhead
to discover and maintain route from source to destination. They
also have very high topology maintenance cost. To minimize
routing overhead and topology maintenance cost CBRP (Cluster
Based Routing Protocol) was developed. It performs better than
other approaches in most of the cases.
In this paper, an energy and mobility aware clustering approach
is presented. The clustering approach is incorporated in a DSR
like protocol for routing in MANET to evaluate the performance
improvement gained due to clustering using proposed approach.
Rate of cluster head changes, throughput of the network, delay
and routing overhead is evaluated using NS2. Simulation results
reveal that proposed approach has better performance in
comparison with CBRP.
Keyword: Mobile Ad-Hoc Networks, Topology Control,

1. Introduction
A mobile ad-hoc network (MANET) is a collection of
mobile nodes that form a wireless network without the
existence of a fixed infrastructure or centralized
administrative. This type of network can survive without
any infrastructure and can work in an autonomous manner.
Hosts forming an ad-hoc network take equal responsibility
in maintaining the network. Every host provides routing
service for other hosts to deliver messages to the remote
destinations. As such network does not require any fixed
infrastructure; it makes them best for deployment in
volatile environment such as battle field and disaster relief
situations. Some of the constraints

in MANETs are - limited bandwidth, low battery power of

nodes and frequent link breaks due to mobility of the
nodes. These constraints should be taken into
consideration while maintaining the connectivity among
the nodes.
Topology control plays an important role in solving such
problems. Topology control is the problem of computing
and maintaining connected topology among the network
nodes. The major goals of topology control are
connectivity with energy efficiency, high throughput and
robustness to mobility etc. A number of algorithms for
topology control are already proposed in the literature [14]. These algorithms are mainly of two types: Centralized
and Distributed algorithms. Centralized algorithms rely on
global topology information to make adaptive decisions
where as distributed algorithms rely on partial link state
information such as neighbor counts to maintain network
connectivity. Centralized algorithms have the problem of
high connectivity overhead and scalability. Therefore,
distributed topology control algorithms are generally
preferred over centralized topology control algorithms.
The main idea behind the energy efficient topology control
algorithm is that allow nodes in the network to
communicate in its neighborhood to form small groups of
nodes which are called clusters. In CBRP, the cluster head
election is based on the ID of the nodes and the node with
the lowest ID among its neighbors is selected as cluster
head. Because of mobility of nodes in ad hoc network this
is probable that elected cluster head to be too mobile.
Therefore, the lowest ID nodes will be consuming extra
battery power for performing functionalities of a cluster
head. This will lead to election of inactive or poor energy
node as cluster head. The selected lower energy nodes will
result in performance degradation in the network and more


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

energy will be consumed indirectly as a result of frequent

change of cluster head. Motivation behind introducing
degree, energy and mobility aware clustering scheme is to
find an alternative efficient way for clustering of MANET
that improves the performance of the ad-hoc network and
reduces the frequency of change of cluster heads.
This paper proposes a clustering scheme for MANET. The
scheme named Degree Energy Mobility Aware Clustering
Scheme (DEMAC) is a degree, energy and mobility aware
clustering approach.

2. Related Works
Various topology control algorithms are available for
mobile ad-hoc networks that try to utilize battery power of
mobile nodes in an efficient way. This section briefly
reviews some the prior works on topology control.
Local Information No Topology (LINT) proposed by
Ramanathan et al. [5] uses locally available neighbor
information collected by routing protocols to keep the
degree of neighbors bound. All network nodes are
configured with three parameters, the desired node degree
dd, a high threshold of the node degree dh and a low
threshold of node degree dl. A node periodically checks
the number of its active neighbors. If the degree is greater
than dd, the node reduces its operational power. If the
degree is less than dd the node increases its operational
power. If neither is true then no action is taken.
On the other hand, selective backbone construction for
topology control [6] is a backbone based approach. In this
approach a chain of connected nodes are constructed. All
the other nodes in MANET should be neighbor of a node
that participates in construction of the backbone. The
backbone construction in SBC starts from a small number
of seed nodes and propagates outwards to sweep the
network. When a node selects its neighbors to include in
the backbone, it also transfers the topology information it
knows so far to these neighbors. Thus, the neighbors can
make more intelligent coordinator selection decisions
based upon more topology information and avoid
redundancy. When choosing coordinators, SBC
simultaneously considers the energy requirement,
movement and location of nodes to maximize energy
conservation, and ability to maintain good networking
performance. The problem with this scheme is its high
topology maintenance cost.
In this paper Cluster Based Routing Protocol (CBRP) [5]
will be given more emphasis because the protocol divides
the nodes of the ad hoc network into a number clusters. By


clustering nodes into groups, the protocol efficiently

minimizes the flooding traffic during route discovery and
speeds up this process as well. Major advantage of this
protocol is its low topology maintenance cost.

3. CBRP Overview
Cluster Based Routing Protocol (CBRP) [7-9] is a routing
protocol designed
for use in mobile ad hoc networks.
The protocol divides the nodes of
the ad hoc network
into a number of overlapping or disjoint 2-hop-diameter
clusters in a distributed manner. A cluster head is elected
for each cluster to maintain cluster membership
information. Inter-cluster routes are discovered
dynamically using the cluster
membership information
kept at each cluster head. By clustering nodes into groups,
the protocol efficiently minimizes the flooding traffic
during route discovery and speeds up this process as well
[10]. Furthermore, the protocol takes into consideration
the existence of uni-directional links and uses these links
for both intra-cluster and inter-cluster routing.

3.1 Types of nodes

In CBRP network nodes are categorized as cluster head,
cluster member and gateway nodes. A cluster head for
each cluster is elected in the cluster formation process for
each cluster. A cluster head will have complete knowledge
about group membership and link state information in the
cluster. All nodes within a cluster except the cluster head
are called members of this cluster. Any node a cluster head
may use to communicate with an adjacent cluster is called
a gateway node.

3.2 Data structures

Each node maintains neighbor table, cluster adjacency
table and two-hop database for routing of packets from
source to destination nodes. Neighbor table keeps track of
the neighbor ID, neighbor status and link status with the
neighbor of a node. Cluster adjacency table keeps
information about adjacent clusters. Two hop topology
databases contain information about the two hop
neighbors of a node.

3.3 Cluster formation

The goal of Cluster Formation is to impose some kind of
structure or hierarchy in the otherwise completely
disorganized ad hoc network. Apart from the states of
cluster member and cluster head, a transitional state called
cluster undeclared is also defined for smoother operation
of cluster formation. "Undecided" means that a node is

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

still in search of its host cluster. Initially all the nodes

status is undeclared.
Each node transmits some packets named Hello message
to announce its presence to its neighbor nodes. Upon
receiving a hello message, each node updates its neighbor
tables. Each node enters the network in the undecided
state. Every node upon receiving hello message from its
neighbors compares its own ID with its neighbors. If a
node distinguishes that its own ID is the lowest ID
between its neighbors, this node declares itself as cluster
head. Every node that has a bi-directional link to this
cluster head will be a member of this cluster
Clusters are identified by their respective cluster heads,
which means that the cluster head must change as
infrequently as possible. The algorithm is therefore not a
strict lowest-ID clustering algorithm. A non-cluster head
never challenges the status of an existing cluster head.
Only when two cluster-heads move next to each other, one
of them loses its role as cluster head.

3.4 Routing
Routing in CBRP is based on source routing. RREQ is
flooded in the network to discover the route. Due to the
clustering approach very few nodes are disturbed, only the
cluster heads are flooded. If node S seeks a route to node
R, node S will send out a RREQ, with a recorded source
route listing only itself initially. Any node forwarding this
packet will add its own ID in this RREQ. Each node
forwards a RREQ only once and it never forwards it to
node that already appears in the recorded route. The
source unicasts the RREQ to its cluster head. Each clusterhead unicasts the RREQ to each of its bi-directionally
linked neighboring clusters, which has not already
appeared in the recorded route through the corresponding
gateway. This procedure continues until the target is found
or another node can supply the route. When the RREQ
reaches the target, the target may choose to memorize the
reversed route to the source. It then copies the recorded
route to a Route Reply packet and sends it back to the

4. Degree Energy Mobility Aware Clustering

Scheme: DEMAC
In MANET absence of any fixed infrastructure makes
network topology more unstable. Random movement of
the MANET nodes makes the selection of cluster head in
hierarchical algorithm, such as CBRP, very much
important. If the cluster head selection is not proper
overall performance of the network will be degraded.
Therefore, wise cluster head selection can lead to a well
performing routing protocol. In CBRP the node having


lowest ID among its neighboring nodes will be the cluster

head. Obviously, neither the nodes residual energy nor
the mobility of the node is taken under consideration. As
mentioned earlier, in hierarchical cluster-based MANET,
cluster heads play the main role in maintaining the cluster
structure and standing against the destructive factors
namely mobility. In the degree, mobility and energy based
approach proposed in this paper, cluster formation
mechanism is considered with respect to node speed,
residual energy and degree of the node. With this scheme,
a node with the highest F-value will be named cluster

4.1 Priority function (F)

The algorithm considers three factors for selection of
cluster head namely- node speed, residual energy and
degree of node. The node speed is important for selection
of a cluster head. This is because, if a highly mobile node
is elected as cluster head, there is a higher possibility of
the cluster head to move out of the neighborhood of the
respective cluster which lead to election of a new cluster
head. Similarly, the energy is taken into consideration
because if a poor energy node is elected as cluster head,
the node will be dead shortly and an initiation of cluster
head election process will take place more frequently.
Degree of the node is taken into consideration so that a
cluster contains good number of nodes as member node.
Our algorithm uses a function of these three factors to
assign a priority level to a node for election of cluster
head. The function used for estimation of priority level for
cluster head election is given asF= (residual energy * degree)/2*speed


Where is a constant which represents the degree by

which the speed effects the priority. With large , nodes
moving at low speed would be preferred to be selected as
cluster heads.

4.2 Hello message and neighbor table

To keep track of neighborhood each node maintains a
neighbor table having fields for ID of the neighboring
nodes, link status, and role of neighboring nodes and value
of F. Continuous updating of the neighbor table is done by
periodic transmission and reception of the hello message
to and from the neighborhood of a node. Hello message
will carry important information regarding the sender such
as nodes ID, node status, neighbor table, cluster adjacency
table and value of F.

4.3. Methodology

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


In order to use the priority given in Eq.(1) for clustering, a

two step clustering algorithm is proposed which uses the
priority as a basis for cluster head selection. In DEMAC
all the nodes send (receive) hello message to (from) their
neighbors. On receiving the hello message from its
neighbors a node will count number of neighbors it has.
Then it calculates the value of F using Eq.(1). All the
nodes start in Cluster-Undeclared state. Every node
broadcasts its priority in a hello message to its 1-hop
neighbors, once in every Broadcast Interval (BI) period. If
the node is not already in the neighbor table of each
neighboring node, it will be stored in the neighbor table of
them along with a timeout period (TP) seconds as new
neighbor. Otherwise neighboring nodes entry in neighbor
table is updated. Fig. 1 shows the algorithm in details.
The algorithm is distributed. Thus, a node receives the Fvalue from its neighbor then compares them with its own.
If a node has highest value of F among all its neighbors, it
assumes that it has status of cluster head. Then the node
broadcasts hello packet to introduce itself as cluster
head. In case, the priority of two nodes are same, the
cluster head selection is base on the lowest ID algorithm,
the node with the lowest ID gets the status of cluster head.
If a node with cluster member or cluster undecided status
moves into the range of another cluster head node with
higher mobility, a clustering process will not be triggered
because this decreases the stability of the network and
overhead for topology control increases.

Fig. 1 Cluster formation algorithm for DEMAC

A node x receives a hello packet from y:

x searches its neighbor table;
if (y is already in the neighbor table of x) then
-calculate the F-value of node x using (1);
-update neighbor tables field of node x for node y;
-update the cluster adjacency table of node x;
-update 2-hop database of node x;
-update the number of cluster head related to x;
if (x is a cluster head in proximity of other cluster head)
if (F-value of x is greater than node y) then
-node x remains cluster head;
-node y gives up cluster head role and becomes a
member node of x;
else if (F-value of node x is equal to node y) then
if (x has a lower ID) then
-x remains cluster head;
-y becomes a member of x;
- x is member of neighbor cluster head;

In DEMAC, each node transmits some packets named

Hello message to announce its presence to its neighbor
nodes. In the example when node 1 receives a hello
message from its neighbor node 2 it updates its neighbor
tables entry corresponding to node 2. Node 1 also updates
its cluster adjacency table and 2-hop neighbor database.
Upon receiving a hello message, node 1 counts the number
of neighbor nodes. It also measures its speed and residual
energy. Then it computes its F-value using Eq.(1) and
compares it with F-value of its neighbors. Let node 1 has
highest value of F among its neighbors nodes (2, 3, 4, 5)
and none of its neighbor is cluster head, it declares itself a
cluster head and sends a hello message to its neighbors.
Nodes 2,3,4,5 will become the member of the cluster
whose cluster head is node 1. Node 2 is also the member
of cluster 6. Therefore, in the example node 2 is a gateway
node. Node 3 and 9 maintains connectivity between

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

cluster 1 and 8. Therefore node 3 and 9 are also gateway

nodes. Similarly node 7 and 11 are also gateway nodes.


The simulation has been run for 100 seconds. The results
are averaged over 5 randomly generated nodal topologies.
The performance of DEMAC is compared with CBRP
considering number of cluster head changes, throughput,
delay and routing overhead with respect to maximum
speed of the node.

Fig. 2 Example of DEMAC

5. Simulation and Performance Analysis

Fig. 3 Number of Cluster Head Changed vs. Speed

The proposed protocol is simulated in NS-2.31 network

simulator [11]. The mobility scenarios were randomly
generated using the random waypoint mobility model with
input parameters such as maximum speed, number of
nodes, area size, etc. NS-2 CBR generator is used to
generate traffic. There are simultaneously 10 CBR traffic
flows associated with randomly selected disjoint source
and destination node. Packet size is 512 bytes. The CBR
rate in the network is taken as 8 pkts/s. The initial energy
of each node is 500 Joules. Each Node will consume 0.002
w for transmission, 0.00175 w for reception, 0.00005
while idling. CMUPriQueue is used for implementing the
interface queue. Size of the buffer is set to 50. DEMAC is
implemented by doing the required modification on the
implementation of CBRP in ns-2 environment. The
Simulation parameters are listed in table(1).
Table1. Simulation Parameters


Number of



Size of
the scenario

500 x 500

Max Speed


5,10,15,20,25 (m/s)



90 m


Pause Time

0.0 sec

Fig. 4 Throughput vs Speed

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Normalized routing overhead is the percentage of routing

packets with respect to cbr packets. Fig.5 demonstrates the
results of the measured normalized overhead for CBRP
and DEMAC. It can be seen from Fig.5 that DEMAC
outperforms CBRP by average 39%. Average end-to-end
delay is the average time required for a packet to reach the
destination from source. It can be observed from Fig.6 that
though in low node speed the end-to-end delay of CBRP is
almost equal to that of DEMAC but when the node speed
increases the end-to-end delay of CBRP becomes more
than DEMAC. DEMAC outperforms CBRP by average

6. Conclusion and Future Work

Fig. 5 Normalized Routing Overhead vs Speed

In this paper DEMAC is proposed as a degree, energy,

mobility aware clustering scheme in MANET. Due to its
improved cluster head selection algorithm DEMAC
outperforms CBRP with respect to number of cluster head
changes, throughput, delay and routing overhead. From
the simulation results, it is observed that the proposed
method has up to 15.5% less number of cluster head
changes in comparison with CBRP. Similarly, considering
throughput a gain of 25% is recorded in DEMAC over
CBRP. Further DEMAC also have 39% less routing
overhead and 31.5% less average end-to-end delay as
compared to CBRP. Therefore it can be concluded that
DEMAC is more suitable than CBRP for MANET. Future
works remain for performance evaluation of DEMAC in
different network densities and different transmission
range keeping the mobility same.

Fig. 6 Average End-to-end Delay vs. Speed

In simulation a scenario with rate of 10 pkts/sec is used.

Maximum speed of the node has been considered 5, 10,
15, 20, 25 m/s. The scenario is tested for both CBRP and
DEMAC. Fig3 represents the effect of varying mobility on
the number of cluster head changes in the ad-hoc network
considering both DEMAC and CBRP. It can be seen from
Fig.3 that DEMAC outperforms CBRP by average 15.5%
improvement for cluster head changes. It is very clear that
DEMAC yields a very good gain over CBRP because it
has taken degree, residual energy and speed of the node.
From the cluster head changes vs mobility curve, it can be
said that DEMAC is more suitable for cluster formation
than CBRP.
Throughput is defined as the average number of data
packets received at destinations during simulation time.
Fig.4 demonstrates the results of the measured throughput
for CBRP and DEMAC. It can be seen from Fig.4 that
DEMAC outperforms CBRP by average 25%.

[1] Kenneth J. Supowit, The relative neighbourhood graph
with application to minimum spannig trees, Journal of
theACM, Vol. 30, No. 3, 1983, pp. 428-448.
[2] Ning Li, Jennifer C Hou and Lui Sha, Design an Analysis
of an MSTBased Topology Control Algorithm, in
INFOCOM, 2003.
[3] Nicos Christofides, Graph Theory : An Algorithmic
Approach, Academic press, 1975.
[4] Hu L, Topology control for multihop packet radio
networks, in Communications, IEEE Transactions on,
Vol. 41, Iss. 10, 1993, pp. 1474- 1481.
[5] Ramanathan R. and Rosales-Hain R., Topology
control of multihop wireless networks using transmit
power adjustment, in Proc. IEEE INFOCOM, 2000.
[6] Haitao Liu and Rajiv Gupta, Selective Backbone
Construction for Topology Control in Ad Hoc Networks,
IEEE, 2004, pp. 41-50.
[7] Chien-Chung Shen, Chavalit Srisathapornphat, Rui Liu,

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Zhuochuan Huang, Chaiporn Jaikaeo, Sand Errol L.

Lloyd, CLTC: A Cluster-Based Topology Control
Framework for Ad Hoc Networks, IEEE
Vol.3, Issue1, JANUARY-MARCH 2004, pp. 18-32
[8] P.Basu, N. Khan, and T.D.C. Little, A Mobility Based
Metric for Clustering in Mobile Ad Hoc Networks, MCL
Technical Report No. 01-15-2001
[9] M. Jiang, J. Li, and Y.C. Tay, Cluster Based Routing
Protocol, IETF Draft, August 1999.
[10] J. Mingliang, Y.C. Tay and P. Long, "CBRP: A Clusterbased Routing Protocol for Mobile Ad hoc Networks",
National University of Singapore.
[11] Network simulator ns-2


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Experimental Evaluation of Memory Effects on TCP Traffic in

Congested Networks
Kulvinder Singh1, Anil Kumar2

Assistant Professor, Department of Comp. Sc. & Engg. Vaish College of Engineering,
Rohtak(Haryana), India

Assistant Professor, Department of Comp. Sc. & Engg. Vaish College of Engineering,
Rohtak(Haryana), India

Today the Internet is a worldwide-interconnected computer
network that transmits data by packet switching based on the
TCP/IP protocol suite. Internet has TCP as the main protocol of
the transport layer. The performance of TCP is studied by many
researchers. They are trying to analytically characterizing the
throughput of TCPs congestion control mechanism. Internet
routers were widely believed to need big memory spaces.
Commercial routers today have huge packet memory spaces,
often storing millions of packets, under the assumption that big
memory spaces lead to good statistical multiplexing and hence
efficient use of expensive long-haul links.
In this paper, we summarize the works and present the
experimental study result with big memory space size and give a
qualitative analysis of the result. Our conclusion is that the,
round-trip time (RTT) is not increased by linear, but by quadric
when the memory space size of the bottleneck is big enough. Our
goal is to estimate the average queue length of the memory space
size and develop a TCP model based on RTT and the average
queue length.

Keywords: Traffic management, Congestion control, congestion

mechanism, congestion model, memory size.

1. Introduction
The traffic across internet is increasing so congestion is
becoming an important issue in network applications.
When congestion is occurred the packet round trip time is
increased and probability is lost and decreased in the
throughput. Transport protocol must deal with this traffic
congestion in order to make best use of the capacity of
network. TCP adopt a window based congestion control
mechanism. Traditionally experimental study and
measurement have been the tools of choice for checking
the performance of various aspects of TCP. But the
amount of non-TCP traffic flows (such as multimedia
traffic) keep increasing in todays Internet, non-TCP flows
should share the bandwidth with TCP flows friendly,

which means the throughout of the non-TCP flows

transport protocol should be approximately the same as the
TCP. In order to do that, we must analytically model the
TCP behavior and characterize the throughput of TCPs
congestion control mechanism.
In this paper, we investigate is the behaviour of a single
TCP flow when using memory spaces with different size.
We summarize the TCP congestion control mechanism
and the method of analytically characterize the throughput
of TCPs congestion control mechanism. We present the
experimental study result with big memory space size and
give a qualitative analysis of the result.

2. An overview of Different mechanisms of

TCP congestion control
We can distinguish two major kinds of congestion control
window-based such as TCP (Transmission Control
Protocol), and rate-based that for example regulates ATMABR [2] (Available Bit Rate service of an Asynchronous
Transfer Mode network) traffic. The window-based
congestion control model in the Internet attempts to solve
an optimization problem by decoupling the network
problem to that of individual source utility maximization
by assigning bit-marks.
We have a reliable protocol TCP window-based
acknowledgment clocked flow control protocol. The
sender control the sending rate by increasing or decreasing
the size of its congestion window according to the
acknowledgement received. The strategy used for
congestion window size adjustment is known as AIMD
(Additive Increase Multiplicative Decrease).

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


2.1. Slow Start and Congestion Avoidance

2.4. Fast Recovery

The slow start[8] and congestion avoidance algorithms

must be used by a TCP sender to control the amount of
outstanding data being injected into the network.
The congestion window (cwnd) is a sender-side limit on
the amount of data the sender can transmit into the
network before receiving an acknowledgment (ACK),
while the receiver's advertised window (rwnd) is a
receiver-side limit on the amount of outstanding data. The
minimum of cwnd and rwnd governs data transmission.
The variables threshold (ssthresh) is used to determine
whether the slow start or congestion avoidance algorithm
is used to control data transmission.
The slow start algorithm is used at the beginning of a
transfer, or after repairing loss detected by the
retransmission timer.

A TCP receiver should send an immediate duplicate ACK

when an out-of-order segment arrives. The purpose of this
ACK is to inform the sender that a segment was received
out-of-order and which sequence number is expected.
From the sender's perspective, duplicate ACKs can be
caused by a number of network problems. First, they can
be caused by dropped segments. In this case, all segments
after the dropped segment will trigger duplicate ACKs.
Second, duplicate ACKs can be caused by the re-ordering
of data segments by the network. Finally, duplicate ACKs
can be caused by replication of ACK or data segments by
the network. In addition, a TCP receiver should send an
immediate ACK when the incoming segment fills in all or
part of a gap in the sequence space. This will generate
more timely information for a sender recovering from a
loss through a retransmission timeout, a fast retransmit, or
an experimental loss recovery algorithm.

2.2. Congestion Avoidance

In congestion avoidance we deal with lost packets due to
traffic congestion. It is described in [4]. The assumption of
the algorithm is that packet loss caused by damage is very
small; therefore the loss of a packet signals congestion
somewhere in the network between the source and
destination. There are two indications of packet loss: a
timeout occurring and the receipt of duplicate ACKs.
Congestion avoidance and slow start are independent
algorithms with different objectives.
But when congestion occurs TCP must slow down its
transmission rate of packets into the network, and then
invoke slow start to get things going again.

2.3. Fast Retransmit

A TCP receiver should send an immediate duplicate ACK
when an out-of-order segment arrives. The purpose of this
ACK is to inform the sender that a segment was received
out-of-order and which sequence number is expected.
From the sender's perspective, duplicate ACKs can be
caused by a number of network problems. First, they can
be caused by dropped segments. In this case, all segments
after the dropped segment will trigger duplicate ACKs.
Second, duplicate ACKs can be caused by the re-ordering
of data segments by the network. Finally, duplicate ACKs
can be caused by replication of ACK or data segments by
the network.
The TCP sender should use the "fast retransmit" algorithm
to detect and repair loss, based on incoming duplicate
ACKs. The fast retransmit algorithm uses the arrival of 3
duplicate ACKs as an indication that a segment has been
lost. After receiving 3 duplicate ACKs, TCP performs a
retransmission of what appears to be the missing segment,
without waiting for the retransmission timer to expire.

3. Congestion Control and Sizing Router

Memory spaces
The goal of this research is to investigate the memory
space size that is required in order to provide full link
utilization given a used TCP congestion control algorithm.
We start by considering the case of a single TCP
We have seen that the standard TCP congestion control
algorithm is made of a probing phase that increases the
input rate up to fill the memory space and hit network
capacity [10]. At that point packets start to be lost and the
receiver sends duplicate acknowledgments. After the
reception of three duplicate acknowledgments, the sender
infers network congestion and reduces the congestion
window by half. TCP does not modify TCP behavior in
environments with high to mild congestion (typical of low
speed networks) [5]. In high bandwidth-delay networks in
which HighSpeed TCP sends bursts of large number of
packets, the amount of buffer available in the bottleneck
router is an important issue to keep the router highly
utilized during congestion periods. A large buffer
increases delay and delay variance which adversely affects
real-time applications (e.g., video games, device control
and video over IP applications.) It is therefore important to
investigate the effects of buffering on TCP performance
such as throughput, convergence to fairness and

4. The Model for TCP Congestion Control

Traditionally, experimental study and implementation or
measurements have been the tools of choice for examining

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

the performance of various aspects of TCP. Recently,

there is a great interest in analyzing the performance of
TCP and TCP-like algorithms to quantify the notion of
"TCP-friendliness", which means connections that use
non-TCP transport protocol, should get a similar share of
bandwidth as TCP connections that share the same link
under the same conditions of loss, RTT etc.
In this model, the throughput of TCP's congestion control
mechanism is characterized as a function of packet loss
and round trip delay. [7]Consider a TCP flow starting at
time t=0. For any given time t, define Nt to be the number
of packets transmitted in the interval [0, t], and Bt = Nt/t,
the throughput on that interval. The steady state TCP
throughput B should be:

B lim Bt lim


A sample path of the evolution of congestion window size

is given in figure 1.


1 p
2 b


B( p)


2 b

8 (1 p )
2 b

3 bp
2 b (1 p )
2 b

3 p

which can be expressed as:

B ( p )


2 bp

Extends this model to include the case where the TCP

sender times-out and the impact of window limitation of
receiver advertised window size, it can be derived that:

B( p) min min2

p(1 32 p 2 )

To min 3


where To - interval waiting for time out, Wmin - receiver

advertised window size.




5. Experimental Work







We are using here rate based congestion control protocols,

one of which is TFRC (TCP Friendly Rate Control
Protocol)[3]. The model assumes that the congestion
window size increase is linear during congestion
avoidance, which is not always true. When the memory
space size of the bottle-neck node is big enough, the
increase is sub-linear, which lead to the analytical result
will be higher than the actual result. We use QualNet
network simulator [6] to verify the assumption.

Figure 1 Triple Duplicate Period.

Between two triple duplicate ACKs loss indications, the

sender is in congestion avoidance phase. Define a TD
period (TDP) to be a period between two triple duplicate
ACKs loss indications. For the i-th TDP, define Yi to be
the number of packets sent in the period, Ai the duration
of the period, and Wi the window size at the end of the
period. Considering {Wi}i to be a Markov regenerative
process with rewards{Yi}i, it can be shown that
E [Y ]
E[ A]
It can be derived that
E[Y] = l/p + E[W] - 1
=E[W]*(E[W]*3/2 - 1)*b/4 + E[W]/2
E[A] =(b*E[W]/2+1)*RTT


Table 1: Parameters used in the simulation.

Queue Size between R0 & R1


Delay between R0 & R1

35 ms

Bandwidth between R0 & R1

15 Mb

TCP window size


Queue Algorithm

Drop Tail

Bandwidth of Branch

128 Mb

Delay of Branch

2 ms

We perform 4 experimental tests. Table 2 list the number

of connections in each simulation.


Where: p - loss probability, b window increases by l/b

packets per ACK, RTT round trip time.
From (I) (2) (3), we can get

Table 2: Number of connections in each simulation.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Experiment No.
TCP Connections





TFRC Connections









In each simulation, we increase the memory space size of

RO and RI from 50 to 850 step by 100 and the result is
shown in figure 2 - figure 5. In each bar diagram, X axis is
memory space size and Y axis is the mean of bandwidth of
TCP connections and TFRC connections.





Figure 4






32 TCP & 32 TFRC





















Figure 2









16 TCP & 16 TFRC

Figure 5

64 TCP & 64 TFRC


6. Analysis







Figure 3





24 TCP & 24 TFRC


From the result of the experiments, we can find that when

the memory space size is much less than the
Bandwidth*Delay, the model result is quite close to the
actual result. However, as the memory space size
increases, the experimental study result show that the
TFRC connections get more bandwidth than the TCP
connections, which means the analytical result, is higher
than the actual result. We think it is because when the
memory space size is big enough, the congestion window
size increase is by sub-linear, not by linear.
Considering equation (3), this implies that the increase of
RTT is by linear in a TDP. In fact the increase of RTT is
not by linear.
We can find that the RTT will increase much more when
the congestion window is big than that when the
congestion window is small. When the memory space size
of the bottleneck node is small, the congestion window
can not be very big, so the RTT can be approximately
viewed as increases by linear. But when the memory space

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

size is big enough, the error between linear and quadric

curve can not be neglected. The actual time of TDP is
longer than the time estimated in the model when the
memory space size is big, so the actual throughput is
lower than the throughput estimated in the model.

7. Related Work
A survey on TCP performance in a heterogeneous network
is given in [1]. It considers the different characteristics of
a path crossed by TCP traffic, focusing on bandwidth
delay product, round trip time (RTT), on congestion
losses, and bandwidth asymmetry.
It presents the problems and the different proposed
solutions. The model used in this paper was proposed in
[7]. TFRC [3] use it to calculate the sending rate of the
sender. But only the experimental study result with small
memory size was given.

8. Conclusion and Future Work

In this paper, we summarize the TCP congestion control
mechanism and the analytical model. The model proposed
in [7] captures not only the behavior of TCPs fast
retransmit mechanism, but also the effect of TCPs
timeout mechanism on throughput. But with the big
memory space size, the model result does not fit the actual
result well. We suppose that it is because the increase of
RTT is not by linear when the congestion window is big.
We present the experimental study result and give a
qualitative analysis. There are a lot of work remain to do.
First, a quantitative analysis will help us to make the
model more precise. Second, the loss probability of the
packet plays an important role in the model. However, in
practice, it is hard to measure the loss probability
accurately. So, if we get the relation of memory space size
and the RTT, we can infer the queue length of the memory
space at the bottleneck node from RTT. In our future
work, we would also like to investigate the effects of
buffer size on the performance of other recently proposed
high-speed TCP variants, e.g. FAST TCP [9] which
changes its window according to buffer delay.
In this way, we can model the TCP congestion control
mechanism mainly based on the queue length of the
memory space and the RTT, which can be measured more
accurately than packet loss probability.

[l] Chadi Barakat, Eitan Altman, and Walid Dabbous, On TCP
Performance in a Heterogeneous Network: A Survey, IEEE
Communications Magazine, January 2000.


[2] D. M. Chiu and R. Jain, Analysis of the increase and

decrease algorithms for congestion avoidance in computer
networks, Computer Networks and ISDN Systems, Vol 17, pp.
1 - 14, June 1989.
[3] S.Floyd, M.Handley, J.Padhye, and J.Widmer. EquationBased Congestion Control for Unicast Applications: the
Extended Version, ICSI Technical Report TR-00-03, March
[4] V. Jacobson, Congestion Avoidance and Control,
Computer Communication Review, vol. 18, no. 4, pp. 314-329,
Aug. 1988.
[5] S. Floyd, HighSpeed TCP for Large Congestion Windows,
in RFC 3649, Experimental, December 2003.
[6] The Network SimulatorQualNet, Tech. rep., WebPage: Version 5.02, July 2010.
[7] J.Padhye, V.Firoiu, D.Towsley, and J.Kurose, Modeling
TCP throughput: A simple model and its empirical validation,
Proceedings of SIGCOMM98, 1998.
[8] W. Stevens. TCP Slow Start, Congestion Avoidance, Fast
Retransmit, and Fast Recovery Algorithms. RFC 2001, Jan
[9] C. Jin, D. X. Wei, and S. H. Low, FAST TCP: Motivation,
Architecture, Algorithms, Performance, in Proceedings of IEEE
INFOCOM04, March 2004.
[10] Saverio Mascolo and Francesco Vacirca, TCP Congestion
Control & Memory Space Requirements in Proceedings of the
44th IEEE Conference on Decision and Control, and the
European Control Conference 2005 Seville, Spain, December 1215, 2005.
Kulvinder Singh received the M.Tech.(CSE) degree in 2006 and
the M.Phil.(CS) degree in 2008 from Ch. Devi Lal University
Sirsa(Haryana), India. At present he is working as a Assistant
Professor in Vaish College of Engineering, Rohtak, India. He is a
member of IEC. He presents many research papers in national
and international conferences. His interest areas are Networking,
Web Security, Internet Congestion and Fuzzy Database.
Anil Kumar received his bachelor degree from Delhi University,
Delhi, India and Master degree from IGNOU, India and M.Tech in
Computer Science & Eng. From Kurukshetra University,
Kurukshetra, India in year 2002 and 2006. Currently he is pursuing
Ph.D in Computer Science from the Department of Computer
Science & Application Kurukshetra University, Kurukshetra,
India. Currently is Asst. Professor in Computer Science &
Engineering Department in Vaish Engineering College, Rohtak,
Haryana, India since September, 2006. He had also worked in
software industries more than three years & being a lecture in
other engineering college more than two years. His research areas
include Software engineering, Reengineering, Software Metrics,
Object Oriented analysis and design, Reusability, Reliability.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

A Comparison Between Five Models Of Software Engineering

Nabil Mohammed Ali Munassar1 and A. Govardhan2

Ph.D Student of Computer Science & Engineering

Jawahrlal Nehru Technological University

Kuktapally, Hyderabad- 500 085, Andhra Pradesh, India

Professor of Computer Science & Engineering

Principal JNTUH of Engineering College, Jagityal, Karimnagar (Dt), A.P., India

This research deals with a vital and important issue in computer
world. It is concerned with the software management processes
that examine the area of software development through the
development models, which are known as software development
life cycle. It represents five of the development models namely,
waterfall, Iteration, V-shaped, spiral and Extreme programming.
These models have advantages and disadvantages as well.
Therefore, the main objective of this research is to represent
different models of software development and make a
comparison between them to show the features and defects of
each model.
Keywords: Software Management Processes, Software
Development, Development Models, Software Development Life
Cycle, Comparison between five models of Software Engineering.

increased recently which results in the difficulty of

enumerating such companies. During the previous four
decades, software has been developed from a tool used for
analyzing information or solving a problem to a product in
itself. However, the early programming stages have
created a number of problems turning software an
obstacle to software development particularly those
relying on computers. Software consists of documents and
programs that contain a collection that has been
established to be a part of software engineering
procedures. Moreover, the aim of software engineering is
to create a suitable work that construct programs of high

1. Introduction
Computer Science

No one can deny the importance of computer in our life,

especially during the present time. In fact, computer has
become indispensible in today's life as it is used in many
fields of life such as industry, medicine, commerce,
education and even agriculture. It has become an
important element in the industry and technology of
advanced as well as developing countries. Now a days,
organizations become more dependent on computer in
their works as a result of computer technology. Computer
is considered a time- saving device and its progress helps
in executing complex, long, repeated processes in a very
short time with a high speed. In addition to using
computer for work, people use it for fun and
entertainment. Noticeably, the number of companies that
produce software programs for the purpose of facilitating
works of offices, administrations, banks, etc, has


Computer Function



The Software engineering

Tools and techniques to solve problems

Fig. 1 Explanation of software engineering conception.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


2. Software Process Models


A software process model is an abstract representation of a

process. It presents a description of a process from some
particular perspective as:

The pure waterfall lifecycle consists of several nonoverlapping stages, as shown in the following figure. The
model begins with establishing system requirements and
software requirements and continues with architectural
design, detailed design, coding, testing, and maintenance.
The waterfall model serves as a baseline for many other
lifecycle models.



General Software Process Models are

1. Waterfall model: Separate and distinct phases of
specification and development.
2. Prototype model.
3. Rapid application development model (RAD).
4. Evolutionary
development and validation are interleaved.
5. Incremental model.
6. Iterative model.
7. Spiral model.
8. Component-based software engineering : The system
is assembled from existing components.

System Requirements
Software Requirements

Architectural Design

Detailed Design


There are many variants of these models e.g. formal

development where a waterfall-like process is used, but
the specification is formal that is refined through several
stages to an implementable design[1].



Fig. 2 Waterfall Model[4].

3. Five Models
A Programming process model is an abstract
representation to describe the process from a particular
perspective. There are numbers of general models for
software processes, like: Waterfall model, Evolutionary
development, Formal systems development and Reusebased development, etc. This research will view the
following five models :
1. Waterfall model.
2. Iteration model.
3. V-shaped model.
4. Spiral model.
5. Extreme model.
These models are chosen because their features
correspond to most software development programs.


System and
Software Design

and Unit Testing

Integration and
System Testing

3.1 The Waterfall Model

The waterfall model is the classical model of software
engineering. This model is one of the oldest models and is
widely used in government projects and in many major
companies. As this model emphasizes planning in early
stages, it ensures design flaws before they develop. In
addition, its intensive document and planning make it
work well for projects in which quality control is a major

Operation and
Fig. 3 Waterfall model[2].

The following list details the steps for using the waterfall

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

1 System requirements: Establishes the components
for building the system, including the hardware
requirements, software tools, and other necessary
components. Examples include decisions on
hardware, such as plug-in boards (number of
channels, acquisition speed, and so on), and decisions
on external pieces of software, such as databases or

Software requirements: Establishes the expectations

for software functionality and identifies which system
requirements the software affects. Requirements
analysis includes determining interaction needed with
other applications and databases, performance
requirements, user interface requirements, and so on.
Architectural design: Determines the software
framework of a system to meet the specific
requirements. This design defines the major
components and the interaction of those components,
but it does not define the structure of each
component. The external interfaces and tools used in
the project can be determined by the designer.

Detailed design: Examines the software components

defined in the architectural design stage and produces
a specification for how each component is




starting coding. There is no overlap between stages. In

real-world development, however, one can discover issues
during the design or coding stages that point out errors or
gaps in the requirements.
The waterfall method does not prohibit returning to an
earlier phase, for example, returning from the design phase
to the requirements phase. However, this involves costly
rework. Each completed phase requires formal review and
extensive documentation development. Thus, oversights
made in the requirements phase are expensive to correct
Because the actual development comes late in the process,
one does not see results for a long time. This delay can be
disconcerting to management and customers. Many people
also think that the amount of documentation is excessive
and inflexible.
Although the waterfall model has
instructive because it emphasizes
project development. Even if one
model, he must consider each of
relationship to his own project [4].



Testing: Determines whether the software meets the

specified requirements and finds any errors present in
the code.
Maintenance: Addresses problems and enhancement
requests after the software releases.

In some organizations, a change control board maintains

the quality of the product by reviewing each change made
in the maintenance stage. Consider applying the full
waterfall development cycle model when correcting
problems or implementing these enhancement requests.
In each stage, documents that explain the objectives and
describe the requirements for that phase are created. At the
end of each stage, a review to determine whether the
project can proceed to the next stage is held. Your
prototyping can also be incorporated into any stage from
the architectural design and after.
Many people believe that this model cannot be applied to
all situations. For example, with the pure waterfall model,
the requirements must be stated before beginning the
design, and the complete design must be stated before





its weaknesses, it is
important stages of
does not apply this
these stages and its

Advantages :
Easy to understand and implement.
Widely used and known (in theory!).
Reinforces good habits:
define-before- design,
Identifies deliverables and milestones.
Document driven, URD, SRD, etc. Published
documentation standards, e.g. PSS-05.
Works well on mature products and weak teams.
Disadvantages :
Idealized, doesnt match reality well.
Doesnt reflect iterative nature of exploratory
3. Unrealistic to expect accurate requirements so
early in project.
Software is delivered late in project, delays discovery
of serious errors.
Difficult to integrate risk management.
Difficult and expensive to make changes to
documents, swimming upstream.
Significant administrative overhead, costly for small
teams and projects [6].
Pure Waterfall

This is the classical system development model. It consists

of discontinuous phases:

Architectural design.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Detailed design.
Coding and development.
Testing and implementation.
Table 1: Strengths & Weaknesses of Pure Waterfall


Minimizes planning
overhead since it can
be done up front.
Structure minimizes
wasted effort, so it
works well for
technically weak or
inexperienced staff.

Risk reduction spirals can be added to the top of the

waterfall to reduce risks prior to the waterfall phases. The
waterfall can be further modified using options such as
prototyping, JADs or CRC sessions or other methods of
requirements gathering done in overlapping phases [5].


3.2 Iterative Development


Only the final phase

produces a nondocumentation

Backing up to
address mistakes is

The problems with the Waterfall Model created a demand

for a new method of developing systems which could
provide faster results, require less up-front information,
and offer greater flexibility. With Iterative Development,
the project is divided into small parts. This allows the
development team to demonstrate results earlier on in the
process and obtain valuable feedback from system users.
Often, each iteration is actually a mini-Waterfall process
with the feedback from one phase providing vital
information for the design of the next phase. In a variation
of this model, the software products, which are produced
at the end of each step (or series of steps), can go into
production immediately as incremental releases.

Pure Waterfall Summary

The pure waterfall model performs well for products with
clearly understood requirements or when working with
well understood technical tools, architectures and
infrastructures. Its weaknesses frequently make it
inadvisable when rapid development is needed. In those
cases, modified models may be more effective.


Modified Waterfall

The modified waterfall uses the same phases as the pure

waterfall, but is not based on a discontinuous basis. This
enables the phases to overlap when needed. The pure
waterfall can also split into subprojects at an appropriate
phase (such as after the architectural design or detailed

Table 2: Strengths & Weaknesses of Modified Waterfall


More flexible than the

pure waterfall model.
If there is personnel
continuity between the
phases, documentation
can be substantially
Implementation of easy
areas does not need to
wait for the hard ones.


Modified Waterfall Summary

Milestones are more

ambiguous than the
pure waterfall.
Activities performed
in parallel are subject
to miscommunication
and mistaken
interdependencies can
create problems.

Fig. 4 Iterative Development.

3.3 V-Shaped Model

Just like the waterfall model, the V-Shaped life cycle is a
sequential path of execution of processes. Each phase
must be completed before the next phase begins. Testing
is emphasized in this model more than the waterfall
model. The testing procedures are developed early in the
life cycle before any coding is done, during each of the
phases preceding implementation. Requirements begin the
life cycle model just like the waterfall model. Before

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

development is started, a system test plan is created. The

test plan focuses on meeting the functionality specified in
requirements gathering.



The high-level design phase focuses on system

architecture and design. An integration test plan is created
in this phase in order to test the pieces of the software
systems ability to work together. However, the low-level
design phase lies where the actual software components
are designed, and unit tests are created in this phase as

System Test

High Level

Low Level

The implementation phase is, again, where all coding

takes place. Once coding is complete, the path of
execution continues up the right side of the V where the
test plans developed earlier are now put to use.



Simple and easy to use.

Each phase has specific deliverables.
Higher chance of success over the waterfall model
due to the early development of test plans during the
life cycle.
Works well for small projects where requirements are
easily understood.



Unit Test





Fig. 6 V-Shaped Life Cycle Model[7].

3.4 Spiral Model

The spiral model is similar to the incremental model, with
more emphases placed on risk analysis. The spiral model
has four phases: Planning, Risk Analysis, Engineering and
Evaluation. A software project repeatedly passes through
these phases in iterations (called Spirals in this
model). The baseline spiral, starting in the planning
phase, requirements are gathered and risk is
assessed. Each subsequent spiral builds on the baseline
spiral. Requirements are gathered during the planning
phase. In the risk analysis phase, a process is undertaken
to identify risk and alternate solutions. A prototype is
produced at the end of the risk analysis phase. Software is
produced in the engineering phase, along with testing at
the end of the phase. The evaluation phase allows the
customer to evaluate the output of the project to date
before the project continues to the next spiral.
In the spiral model, the angular component represents
progress, and the radius of the spiral represents cost.

Fig. 5 V-Model [3]



Very rigid like the waterfall model.

Little flexibility and adjusting scope is difficult and
Software is developed during the implementation phase,
so no early prototypes of the software are produced.
This Model does not provide a clear path for problems
found during testing phases [7].



High amount of risk analysis.
Good for large and mission-critical projects.
Software is produced early in the software life cycle.


Can be a costly model to use.
Risk analysis requires highly specific expertise.
Projects success is highly dependent on the risk
analysis phase.
Doesnt work well for smaller projects [7].


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Spiral model sectors

Objective setting :Specific objectives for the phase are
2. Risk assessment and reduction: Risks are assessed and
activities are put in place to reduce the key risks.
3. Development and validation: A development model
for the system is chosen which can be any of the
general models.
4. Planning: The project is reviewed and the next phase
of the spiral is planned [1].


under which the system would produce win-lose or loselose outcomes for some stakeholders.
3. Identify and Evaluate Alternatives: Solicit
suggestions from stakeholders, evaluate them with respect
to stakeholders' win conditions, synthesize and negotiate
candidate win-win alternatives, analyze, assess, resolve
win-lose or lose-lose risks, record commitments and areas
to be left flexible in the project's design record and life
cycle plans.
4. Cycle through the Spiral: Elaborate the win conditions
evaluate and screen alternatives, resolve risks, accumulate
appropriate commitments, and develop and execute
downstream plans [8].

3.5 Extreme Programming

An approach to development, based on the development
and delivery of very small increments of functionality. It
relies on constant code improvement, user involvement in
the development team and pair wise programming . It can
be difficult to keep the interest of customers who are
involved in the process. Team members may be unsuited
to the intense involvement that characterizes agile
methods. Prioritizing changes can be difficult where there
are multiple stakeholders. Maintaining simplicity requires
extra work. Contracts may be a problem as with other
approaches to iterative development.

Fig. 7 Spiral Model of the Software Process[1].

WinWin Spiral Model

The original spiral model [Boehm 88] began each cycle of
the spiral by performing the next level of elaboration of
the prospective system's objectives, constraints and
alternatives. A primary difficulty in applying the spiral
model has been the lack of explicit process guidance in
determining these objectives, constraints, and alternatives.
The Win-Win Spiral Model [Boehm 94] uses the theory
W (win-win) approach [Boehm 89b] to converge on a
system's next-level objectives, constraints, and
alternatives. This Theory W approach involves identifying
the system's stakeholders and their win conditions, and
using negotiation processes to determine a mutually
satisfactory set of objectives, constraints, and alternatives
for the stakeholders. In particular, as illustrated in the
figure, the nine-step Theory W process translates into the
following spiral model extensions:
1. Determine Objectives: Identify the system life-cycle
stakeholders and their win conditions and establish initial
system boundaries and external interfaces.
2. Determine Constraints: Determine the conditions

Fig. 8 The XP Release Cycle

Extreme Programming Practices

Incremental planning: Requirements are recorded on
Story Cards and the Stories to be included in a release are
determined by the time available and their relative priority.
The developers break these stories into development
Small Releases: The minimal useful set of functionality
that provides business value is developed first. Releases of
the system are frequent and incrementally add
functionality to the first release.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Simple Design: Enough design is carried out to meet the

current requirements and no more.
Test first development: An automated unit test
framework is used to write tests for a new piece of
functionality before functionality itself is implemented.
Refactoring: All developers are expected to re-factor the
code continuously as soon as possible code improvements
are found. This keeps the code simple and maintainable.
Pair Programming: Developers work in pairs, checking
each others work and providing support to do a good job.
Collective Ownership: The pairs of developers work on
all areas of the system, so that no islands of expertise
develop and all the developers own all the code. Anyone
can change anything.
Continuous Integration: As soon as work on a task is
complete, it is integrated into the whole system. After any
such integration, all the unit tests in the system must pass.
Sustainable pace: Large amounts of over-time are not
considered acceptable as the net effect is often to reduce
code quality and medium term productivity.
On-site Customer: A representative of the end-user of the
system (the Customer) should be available full time for the
use of the XP team. In an extreme programming process,
the customer is a member of the development team and is
responsible for bringing system requirements to the team
for implementation.



XP and agile principles

Incremental development is supported through small,
frequent system releases.
Customer involvement means full-time customer
engagement with the team.
People not process through pair programming,
collective ownership and a process that avoids long
working hours.
Change supported through regular system releases.
Maintaining simplicity through constant refactoring of
code [1].


Lightweight methods suit small-medium size projects.
Produces good team cohesion.
Emphasises final product.
Test based approach to requirements and quality


Difficult to scale up to large projects where
documentation is essential.
Needs experience and skill if not to degenerate into
Programming pairs is costly.




Test case construction is a difficult and specialized

skill [6].

4. Conclusion and Future Work

After completing this research , it is concluded that :
1. There are many existing models for developing
systems for different sizes of projects and
2. These models were established between 1970 and
3. Waterfall model and spiral model are used commonly
in developing systems.
4. Each model has advantages and disadvantages for the
development of systems , so each model tries to
eliminate the disadvantages of the previous model
Finally, some topics can be suggested for future works:



Suggesting a model to simulate advantages that are

found in different models to software process
Making a comparison between the suggested model
and the previous software processes management
Applying the suggested model to many projects to
ensure of its suitability and documentation to explain
its mechanical work.

[1] Ian Sommerville, "Software Engineering", Addison
Wesley, 7th edition, 2004.
[2] CTG. MFA 003, "A Survey of System Development
Process Models", Models for Action Project: Developing
Practical Approaches to Electronic Records Management
and Preservation, Center for Technology in Government
University at Albany / Suny,1998 .
[3] Steve Easterbrook, "Software Lifecycles", University
of Toronto Department of Computer Science, 2001.
[4] National Instruments Corporation, "Lifecycle Models",
2006 ,
[5] JJ Kuhl, "Project Lifecycle Models: How They Differ
and When to Use Them",2002
[6] Karlm, "Software Lifecycle Models', KTH,2006 .
[7] Rlewallen, "Software Development Life Cycle
Models", 2005 ,
[8] Barry Boehm, "Spiral Development: Experience,
Principles, and Refinements", edited by Wilfred J.
Hansen, 2000 .
Nabil Mohammed Ali Munassar was born in Jeddah, Saudi
Arabia in 1978. He studied Computer Science at University of
Science and Technology, Yemen from 1997 to 2001. In 2001 he

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
received the Bachelor degree. He studied Master of Information
Technology at Arab Academic, Yemen, from 2004 to 2007. Now
he Ph.D. Student 3 year of CSE at Jawaharlal Nehru
Technological University (JNTU), Hyderabad, A. P., India. He is
working as Associate Professor in Computer Science &
Engineering College in University Of Science and Technology,
Yemen. His area of interest include Software Engineering, System
Analysis and Design, Databases and Object Oriented
Dr.A.Govardhan: received Ph.D. degree in Computer Science
and Engineering from Jawaharlal Nehru Technological University
in 2003, M.Tech. from Jawaharlal Nehru University in 1994 and
B.E. from Osmania University in 1992. He is Working as a
Principal of Jawaharlal Nehru Technological University, Jagitial. He
has published around 108 papers in various national and
international Journals/conferences. His research of interest
includes Databases, Data Warehousing & Mining, Information
Retrieval, Computer Networks, Image Processing, Software
Engineering, Search Engines and Object Oriented Technologies.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Extracting Support Based k most Strongly Correlated Item

Pairs in Large Transaction Databases
S Roy1 and D K Bhattacharyya2
Department of Information Technology, North Eastern Hill University,
Umshing, Shillong 793022, Meghalaya, INDIA

Department of Computer Science & Engineering, Tezpur University,

Napaam, 784 028, Assam, INDIA

Support confidence framework is misleading in finding
statistically meaningful relationships in market basket data. The
alternative is to find strongly correlated item pairs from the
basket data. However, strongly correlated pairs query suffered
from suitable threshold setting problem. To overcome that, top-k
pairs finding problem has been introduced. Most of the existing
techniques are multi-pass and computationally expensive. In this
work an efficient technique for finding k top most strongly and
correlated item pairs from transaction database, without
generating any candidate sets has been reported. The proposed
technique uses a correlogram matrix to compute support count of
all the 1- and 2-itemset in a single scan over the database. From
the correlogram matrix the positive correlation values of all the
item pairs are computed and top-k correlated pairs are extracted.
The simplified logic structure makes the implementation of the
proposed technique more attractive. We experimented with real
and synthetic transaction datasets and compared the performance
of the proposed technique with its other counterparts (TAPER,
TOP-COP and Tkcp) and found satisfactory.
Keywords: Association mining, correlation coefficient,
correlogram matrix, top-k correlated item pairs.

1. Introduction
Traditional support and confidence measures [17] are
insufficient at filtering out the uninteresting association
rules [1]. It has been well observed that item pairs with
high support value may not imply statistically highly
correlated. Similarly, a highly correlated item pair may
exhibit low support value. To tackle this weakness, a
correlation analysis can be used to provide an alternative
relationships. It also helps to improve the understanding of
meaning of some association rules. Xiong et. al.,
introduced the notion of strongly correlated item pairs in
their work TAPER [2,15], which retrieves all strongly
correlated item pairs from transaction database based on
user specified threshold . A number of techniques have
already been proposed [3, 12, 13, 15, 16] to handle this
problem. However, setting up an appropriate value for is

the most challenging task, which requires a prior

knowledge about the data distribution. To address this
issue an alternative top-k correlated-pairs query problem
has been introduced recently to mine k topmost strongly
correlated pairs instead of computing all strongly
correlated pairs based on [14]. Top-k query could play a
major role in answering how sales of a product is
associated to sales of other product which in turn may
help in designing sales promotions, catalog design and
store layout. Besides providing a statistical meaning to the
traditional association mining problem, top-k query could
be helpful in efficient finding of co-citation and term
occurrence during document analysis. Current research on
computational biology reveals that a simple pair-wise
correlation analysis may be helpful in finding new genegene relationship [8] which again in turns useful in
discovering gene regulatory pathways or gene interaction
network. Functional relationship [9, 10] between pairs of
genes based on gene expression profiles and their changes
in different diseases and conditions may be indicative in
determining disease mechanism for diseases like cancer.
Recently, a number of techniques have been proposed to
compute top-k correlated pairs. Existing techniques
require multi passes over the database which is too costly
for large transaction database. It would be more effective
if one can develop an algorithm, which extracts top-k
strongly correlated item pairs using single pass over the
database and without generating large tree or candidate
This paper presents a one pass technique k-SCOPE (kStrongly COrrelated item Pair Extraction) which extracts
top-k strongly correlated item pairs in only single scan
over the database and without generating any candidate
sets. A preliminary version of this work can be found in
[7]. k-SCOPE uses a correlogram matrix for capturing the
support of all the 1- and 2-itemsets. Later, it generates a
list of k top most strongly correlated item pairs from the
matrix. The performance of the proposed technique has


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

been found satisfactory in comparison to other

counterparts, in light of several real and synthetic
transaction datasets.
The rest of the paper is organized as follows: section 2
reports the background of the work and also discusses
some of the related works in section 3. The proposed
technique is described in section 4 & 5. Section 6 shows
the performance evaluation of the proposed technique and
finally in section 7, the concluding remarks are given.

2. Background
Association mining [1] is a well studied problem in data
mining. Starting from market basket data analysis, now it
spreads its spectrum of applications in different domains
like machine learning, soft-computing, computational
biology and so on. Standard association mining technique
is to extract all subsets of items satisfying minimum
support criteria. Unlike traditional association mining, the
all-pair-strongly correlated query is to find a statistical
relationship between pairs of items from transaction
database. The problem can be defined as follows.
Definition 1: Given a user-specified minimum correlation
threshold and a market basket database with I={I1 I2,
I3,. IN, } set of N distinct items and T transactions in
database D is a subset of I, a all-strong-pairs correlation
query finds collection of all item pairs (Ii, Ij) with
correlations above the threshold . Formally, it can be
defined as:
SC ( D, ) ( I i , I j ) | ( I i , I j ) I , I i I j ( I i , I j ) (1)

To determine appropriate value of , a prior knowledge

about data distribution is required. Without specific
knowledge about the target data, users will have
difficulties in setting the correlation threshold to obtain
their required results. If the correlation threshold is set too
large, there may be only a small number of results or even
no result. In which case, the user may have to guess a
smaller threshold and do the mining again, which may or
may not give a better result. If the threshold is too small,
there may be too many results for the users; too many
results can imply an exceedingly long time in the
computation, and also extra efforts to screen the answers.
An alternative solution to this problem could be to change
the task of mining correlated item pairs under prespecified threshold to mine top-k strongly correlated item
pairs, where k is the desired number of item pairs that have


largest correlation values. The problem of top-k

correlated- pairs query problem can be defined as follows:
Definition 2: Given a user-specified k and a market basket
database with I={I1 I2, I3,. IN } set of N distinct items
and T transactions in database D is a subset of I, a top-k
correlated-pairs query finds the ordered list of k item pairs
with top most correlations. Formally, it can be defined

( I i , I j )...( I i k , I j k ) | ( I i , I j ) ... (2)

TK ( D , k )

( I i k , I j k ) ( I i k 1 , I j k 1 )
Next we discuss Pearson correlation measure in order to
compute the correlation coefficient between each item pair.

2.1 Support based Correlation Coefficient

In statistics, relationships among nominal variables can be
analyzed with nominal measures of association such as
Pearson's correlation coefficient and measures based on
Chi Square [5]. The correlation coefficient [5] is the
computational form of Pearson's correlation coefficient for
binary variables. An equivalent support measure based
correlation coefficient computation technique has been
introduced in [2, 15] to find correlation of item pairs in a
transaction database based on their support count. For any
two items Ii and Ij in a transaction database, the support
based correlation coefficient can be calculated as:

(I i , I j )

Sup(I i , I j ) Sup(I i ) * Sup(I j )

Sup(I i ) * Sup(I j ) *(1 Sup(I i ))* (1 Sup(I j ))


where Sup(Ii), Sup(Ij) are the support of item Ii and Ij and

Sup(Ii, Ij) is the joint support count of (Ii, Ij).
Adopting the support measures, used in traditional
association mining technique for computing correlation
coefficient , the task of top-k correlated-pairs finding
from transactional database is to generate a sorted list of k
pairs in the order of from the database. An illustration of
the top-k correlated-pairs query problem has been depicted
in Fig 1. The input to this problem is a market basket
database containing 8 transactions and 6 items. The value
of k is set to 7 as input. Since the database has six items,
there are 6C2 = 15 item pair for which correlation
coefficient is to be calculated. To compute (4,5) using
equation (3), we need the single element support
Sup(4)=4/8 and Sup(5)=3/8 and joint support
Sup(4,5)=3/8, in order to compute exact correlation
(4,5)=0.77. Finally the pairs are ordered based on the
value of and a list of k sorted pairs are generated as
output of the problem.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Top-k Correlated-Pairs Query

a) Market Basket














Fig 1. Illustration of top-k correlated pairs query problem

Next we discuss and analyze few of the promising

techniques on top-k strongly correlated item pair findings.

3. Related Works
Extraction of top-k correlated-pair from large transaction
database has gained considerable interest very recently.
Top-k problem is basically an alternative solution for the
all-pair strongly correlated pairs query problem. A very
few techniques have been proposed so far to address the
problem of answering top-k strongly correlated pairs
query. A brief discussion on different key techniques has
been presented below.

TAPER [15] is a candidate generation based technique for
finding all strongly correlated item pairs. It consists of two
steps: filtering and refinement. In filtering step, it applies
two pruning techniques. The first technique uses an upper
bound of the correlation coefficient as a coarse filter.
The upper bound upper((X,Y)) of correlation coefficient
for {X, Y} as follows:
Sup ( Y )
Sup ( X )

possible item pairs, TAPER applies second pruning

technique based on the conditional monotone property (1D) of the upper bound of the correlation coefficient. For
an item pair {X,Y}, if upper bound is less than , then all
the item pairs involving item X and the rest target items
having support less than Y will also give upper bound less
than .


b) k =7

(X,Y) upper((X,Y))=


1 Sup ( X )
1 Sup ( Y )

If the upper bound of the correlation coefficient for an

item pair is less than the user-specified correlation
threshold, right way the item pair is pruned. In order to
minimize the effort for computation of upper bound of all

In other way, for item pair {X,Y}, if sup(X)>sup(Y) and

fix item A, the upper bound upper((X,Y)), is monotone
decreasing with decreasing support of item Y. Based on
that 1-D monotone property, straightway one can avoid
such computation of upper bound for other items. In the
refinement step, TAPER computes the exact correlation
for each surviving pair and retrieves the pairs with
correlations above .
TAPER is candidate generation based, all strongly
correlated item pair finding technique.
It is well
understood that TAPER in its original form cannot find
top-k item pairs. TAPER suffers from drawbacks of
candidate generation step. It is well known that, in
comparison to single element item sets, usually the two
element candidate sets are huge. The upper bound based
pruning technique is very effective in eliminating such
large number of item pairs during candidate generation
phase. However, when database contains large number of
items and transactions, even testing those remaining
candidate pairs is quite expensive.

TOP-COP [11] is an upper bound based algorithm for
finding top-k strongly correlated item pairs and extended
version of TAPER. TOP-COP exploits a 2-D monotone
property of the upper bound of correlation coefficient
for pruning non-potential item pairs i.e. pairs which do not
satisfy the correlation threshold . The 2-D monotone
property is as follows:
For a pair of items (X,Y), if Sup(X)>Sup(Y) and fix item
Y, the
upper((X,Y)) is monotone increasing with
decreasing support of item X. Based on the 2-D monotone
property a diagonal traversal technique, combined with a
refine-and filter strategy has been used to efficiently mine
top-k strongly correlated pairs.
Like TAPER, TOP-COP is also a candidate generation
based technique. The 1-D monotony property, used in
TAPER provides a one dimensional pruning window for
eliminating non-potential item pairs. Moving one step
further, TOP-COP exploits the 2-D monotone property,

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

which helps further in eliminating non-potential pairs from

two dimensions instead of one dimension. Compare to 1-D
monotone based pruning, the 2-D pruning technique is
more effective in eliminating large number of item pairs
during candidate generation phase. Like TAPER, TOPCOP also starts with sorted list of items based on support
in non-increasing order, which need a scanning of the
database once for creating such list. Since it is candidate
generation based technique and having structural
similarity with TAPER, it also suffers from the drawbacks
of expensive testing of remaining candidates after pruning
and filtering steps.

3.3 Tkcp
Tkcp [14], an FP-tree [4] based technique, for finding topk strongly correlated item pair. The top-k strongly
correlated item pairs are generated without any candidate
generation. Tkcp includes two sub processes: (i)
construction of the FP-Tree, and (ii) computation of
correlation coefficient of each item pairs using the support
count from FP-tree and extraction of all the top-k strongly
correlated item pairs based on correlation coefficient value
. The efficiency of FP-Tree based algorithm can be
justified as follows: (i) FP-Tree is a compressed
representation of the original database, (ii) the algorithm
scans the database twice only and (iii) the support value of
all the item pairs is available in the FP-Tree.
Although the algorithm is based on efficient FP-tree data
structure, yet it also suffers from the following two
significant disadvantages.
(i) Tkcp constructs the entire FP-tree with initial support
threshold zero. The time taken to construct such huge
FP-tree is quite large..
(ii) Moreover, it also requires large space to store the
entire FP-Tree in the memory; particularly when the
number of items is very large.
The techniques discussed above are either generates a
large number of candidates or generates large tree. They
also need multiple passes over the entire the database. It
will be more expensive when the database contains large
numbers of transactions or rows. The next section
discusses an efficient one pass top-k correlated pairs
extraction technique that addresses the shortcomings of
the algorithms reported above.


4. Correlogram matrix based technique

The problem of finding support based top-k strongly
correlated item pairs basically is a problem of computing
the support count of 1- and 2- element item sets and uses
the count to calculate (correlation coefficient) of all the
item pairs and extracts the k most strongly correlated pairs.
A correlogram matrix based technique has been discussed
in this section for capturing frequency count of 1- and 2element item sets for finding support based top-k strongly
correlated item pairs from transaction database using
single scan over the entire database and without generating
any candidates.
Next we provide the background of the technique.

4.1 Correlogram Matrix

A co-occurrence frequency matrix of size: n(n+1)/2,
where, n is the number of items present in the database.
Each cell of the matrix contains the frequency of cooccurrence of item pairs. Item pairs are specified by row
index and column index of the cell. For example, to
specify the frequency of co-occurrence of item pair {4, 5},
corresponding to sample market basket dataset depicted in
Fig 2 (a), the content of the cell (4,5) in the matrix (see
Fig 2(b)) with an index of row 4 and column 5 will
indicate the co-occurrence frequency of the item pairs {4,






Fig 2. (a) Sample market basket

Frequency of
itemset {3}


Fig 2. (b) Sample correlogram matrix

item pair {4, 5}

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

On the other hand, the diagonal cells having same indices

i.e. row and column indices are same, specifies the
occurrence frequency of the 1- item set. In Fig 2.(b), the
cell (3, 3) indicates the occurrence frequency of the single
itemset {3}.

4.2 Construction Correlogram Matrix

To construct the correlogram matrix, we visualize the
situation as graph. All the items participated in a particular
transaction are considered as nodes. As the items are
appeared in the transaction in a lexicographical order, so
we can say that they form a directed graph involving all
those items as nodes of the graph. All the items are linked
by a single link or edge. Thus, there is only one directional
path exists between any two nodes. To illustrate the fact
let us consider the transaction number four in Fig 2.(a),
where item number 1, 2, 4 and 5 participated in the
transaction. To count the co-occurrence frequency of all
the item pairs participated in a particular transaction; we
count the links among all the pairs of nodes and
correspondingly increments the content of a cell in the
correlogram matrix with index from both the participating
nodes. Thus, if we consider the above example, we
increment the content of cell (1, 2), (1, 4), (1, 5), (2, 4), (2,
5) and so on. We also increment the count of first node of
a pair i.e. during increment of the count for pair (1, 2), we
also increment the content of the cell (1, 1). The intension
behind such increment is to keep track of the frequency of
occurrence of 1-itemset. Thus by following this procedure,
one can construct the correlogram matrix by scanning the
database once only.

4.3 Extracting top-k strongly correlated item pairs

From the correlogram matrix it is very simple to extract
the support of 1- and 2-itemsets. Using these support
counts, next we computed the correlation coefficient of all
the item pairs using equation (3) and created a sorted list
of top-k item pairs based on their correlation coefficient.
The advantages of this technique can be stated as:
It is scalable in terms of number of database instance,
since it is one pass.
No requirements for candidate generation;
Unlike other techniques discussed so far, it requires only
one scan over the database;
It gives a facility of interactive mining, i.e. compute the
correlogram matrix once and generate different top-k list
based on different k values.
Since it is memory based, it can be found very fast, and
Easy to implement due to its simplified logic structure.


5. k-SCOPE: The Algorithm

The stepwise algorithmic representation of the proposed
approach (see Fig 3) has been presented in this section.
The algorithm accepts the market-basket database i.e. D
and k as input and it generates list of top-k strongly
correlated item pairs, L, as output. Step 1 is dedicated to
the first phase of the approach, i.e. construction of the
correlogram matrix using single scan of the original
database. In step 2a, the correlation coefficient of each
item pair is computed and in step 2b, top most k correlated
item pairs are extracted and added to the top-k list. Top-k
list L is a sorted list (descending order) of item pairs based
on the correlation coefficient. For any pair whose
correlation coefficient less than the k-th pairs correlation
coefficients are straightway pruned. Otherwise, it updates
the list by eliminating the k-th pair and inserting the new
pair in its appropriate position in the list. Finally, the
algorithm returns top-k list L.
Input : D // Transaction database
// No. of strongly correlated pairs
L // Sorted list of k most strongly correlated item pairs
k-SCOPE Algorithm:
1. Generate Correlogram Matrix from D
2. For each item pair (i, j) D do
a. Compute Pearson Correlation coefficient, (i, j) by
using support count from the correlogram matrix.
b. If | L | < k then
L = L (i, j)
i. Sort the list L in descending order based on
of each pair.
ii. If (i, j) D such that (i,j) (L[k]) then
L = L - L[k]
L = L (i, j)
3. Return L
Fig 3. k-SCOPE Algorithm

5.1 Analysis of k-SCOPE algorithm

In this section, we analyze the proposed technique in terms
of completeness, correctness and the computation savings.
5.1.1 Completeness and Correctness
Lemma 1: k-SCOPE is complete i.e. k-SCOPE finds top-k
strongly correlated pairs.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Proof: Since k-SCOPE is based on exhaustive search and

computes correlation coefficients of all pairs without
pruning any item pair, so, k-SCOPE extracts k top most
strongly correlated item pairs based on the value . This
fact ensures that k-SCOPE is complete in all respects.
Lemma 2: k-SCOPE is correct i.e. correlation coefficients
of the extracted pairs are the k top most correlation
Proof: The correctness of k-SCOPE can be guaranteed by
the fact that, k-SCOPE calculates exact correlation of each
pair present in the database and creates a sorted list
(descending order) of item pairs based on the correlation
coefficient and discards all those pairs whose correlation
coefficient lower than the k-th pairs correlation
5.1.2 Space Complexity
We have considered the modified version of TAPER to
generate top-k strongly correlated pairs, as TAPER in its
original form unable to do so.
TAPER and TOP-COP needs memory space for keeping
top-k list and support count of all items and also to store a
huge number of candidates item pairs, depending on the
upper bound value. TOP-COP maintains a matrix for
keeping the pruning status of all item pairs out of n item,
which in turn occupies memory space of order (n2). Tkcp
creates an entire FP-tree in the memory with initial support
threshold zero (0), which is normally very huge when the
number of transactions as well as the dimensionality is
large and also depends on the number of unique patterns
of items in the database. Sometimes it is difficult to
construct such tree in the memory. However, k-SCOPE
always requires a fix memory of size, n*(n+1)/2, for n
dimensional market basket database to construct
correlogram matrix and array of size k to store top-k
strongly correlated item pairs. The total space requirement
could be:
Spacek-SCOPE = O(n*(n+1)/2)+O(k)
5.1.3 Time Complexity
The computational cost of k-SCOPE consists of two parts:
Correlogram matrix construction cost (CCM) and cost for
extraction of top-k strongly correlated item pairs (CEX).
(a) Construction of correlogram matrix: Let us
consider that the database contains T number of
transactions and maximum N number of items in each
transaction. So, to scan the database once it requires
(T*N) times. For storing and updating support count in
correlogram matrix with respect to each transaction it
requires to find out the all pairs of combinations of the
items present in that transaction. Thus, the time


requirement for updating the count is N2. The total time

complexity for construction of correlogram matrix could
be : CCM =O(T*N2) .
(b) Extraction of top-k strongly correlated item pairs:
Since for calculating the correlation of each pair, kSCOPE has to traverse the correlogram matrix once,
thus the time requirement for computing correlation
coefficient of all item pairs with n numbers of item, is
O (n*(n+1)/2) O(n2 ). In order to create the top-k list,
for each item pair it compares the correlation
coefficient () of the new pair with (k-1)th pair in the
list. If of new pair is greater than the k-th pair, then
the k-th pair is eliminated from the list and new pair is
inserted and placed in the list according to the
descending order of the . Thus, for placing a new pair
it requires at most k times comparison and swapping.
Since, the problem is to find k top most item pairs out
of n(n-1)/2 item pairs, thus considering worst case
scenario, the time requirement for creating list of top k
item pair can be denoted as:
CEX = O(n2 )+O(k*(n*(n-1))/2).
Thus the total cost incurred by k-SCOPE is:
= O(T*N2)+ O(n2 )+ O(k*(n*(n-1))/2)
= O(T*N2)+ O(n2 )+ O(k*n2)
The computational cost of TOP-COP and TAPER
algorithms are almost similar, except the cost of
computing the exact correlations for remaining candidates,
which may be less in case of TOP-COP, as it prunes more
number of non-potential pairs based on 2-D monotone
property. The cost of TOP-COP algorithm includes
following parameters:
COSTTOP-COP = CSort +CBound +CExact + Ck-list
Where CSort, CBound, CExact and Ck-list are cost of creating
sorted list of items on non-increasing order of support,
cost of computing upper bounds, cost of computing exact
correlation of remaining pairs and k-top list maintenance
cost respectively. On elaborating and simplifying the
above cost parameters it could become:
COSTTOP-COP = O(n log n) +O(n2) + O(n2) + O(k2)
However, the above cost model, does not consider the cost
of scanning the database. It requires one scan for creating
the initial sorted itemlist and at least another whole scan
(when any hash based data structure is used) of the
database for computing exact correlation of existing pairs
after pruning. On incorporating such cost it would be:

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

COSTTOP-COP = O(T*N)+O(n log n) + O(T*N)+O(n2) +

O(n2) + O(k2)
2*O(T*N)+O(n log n) + 2*O(n2) + O(k2)
Similarly the cost of Tkcp algorithm could be modeled as:
COST Tkcp = CSort +CD_Sort +CFP + Ck-list
= (O(T*N)+O(n log n)) +O(T*N2)+ (O(T*N)+
CFPTree) +(O(n)* CCond_base+O(P*k2))
where CSort is the cost of creating initial sorted list of items
based on support by one pass of the database, CD_Sort is the
cost incurred during sorting the database based on
descending order of item support and CFP is the total cost
of creating FP-tree. Creation of complete FP-tree requires
one complete scan over the database and cost of creating
pattern tree (CFP_Tree). Computing correlation of each pair
and for maintaining the k-top list it requires additional cost
CCond_base for creating of conditional pattern base (P) for
each item. As the cost of scanning a database is much
larger than the other computational parameters, the
computational savings of k-SCOPE will be quite large
(O(T*N)) when the number of records in a transaction
database is very high.


by the original author. Since performance of Tkcp highly

dependent on FP-tree implementation, we adopted third
party FP-tree implementation [6] to avoid implementation
Since, TAPER in its original form cannot generate top-k
list, we modified TAPER, so that it can generate such topk strongly correlated item pair list. As TAPER is
dependent on the correlation threshold , in order to
generate same result by modified TAPER we set the
with the correlation coefficient of the k-th pair from the
top-k list generated by k-SCOPE. Ideal values for
modified TAPER for different datasets are presented in
Table 3.
Table 1 : Synthetic Dataset
Data Set

No of

No of

Avg size of

No of





















Table 2 : Real Dataset

6. Performance Evaluation
The performance of k-SCOPE is evaluated in comparison
to its other counterparts, and tested in light of synthetic as
well as real-life datasets. Several synthetic datasets
generated according to the specifications given in Table 1
for testing purpose. The synthetic datasets were created
with the data generator in ARMiner software
( which also
follows the basic spirit of well-known IBM synthetic data
generator for association rule mining. The size of the data
(i.e. number of transactions), the number of items, the
average size and number of unique patterns in transactions
are the major parameters in the synthesized data
We also used real life Mushroom dataset from UCI ML
), Pumsb from IBM. Pumsb is often used as the
benchmark for evaluating the performance of association
mining algorithms on dense data sets. The Pumsb data set
corresponds to binarized versions of a census data set from
IBM (available at is used
for the experiments (see Table 2).
We used Java for implementation of k-SCOPE and
modified TAPER. We used code of TOP-COP as provided

Data Set

No of

No of





IBM Almaden

Table 3: Suitable value for different dataset

Next we present our experimental results over the

different real and synthetic datasets.

6.1 Experimental Results

Performances of all the algorithms were compared in
terms of execution time for different values of k. In case of
Tkcp, it consumes maximum time compared to other two
techniques, since Tkcp generates entire FP-Tree with
initial minimum support value zero. As a result it has been

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

found too time consuming to construct and parse the tree

in the memory, especially when the number of items is
large. It has been observed that Tkcp cannot perform when
number of items is more then 1000. In case of
T10P1000D100K dataset, Tkcp failed to mine, due to
large number of items and unique pattern. From the
performance graph it could be easily observed that
modified TAPER (TAPER in graph is represents the
modified TAPER) performs much better then TOP-COP,
even though TOP-COP is an improved and modified
version of TAPER. It happens because of use of efficient
hash data structure, which is lacking in original TOP-COP
implementation. This is further indicates that performance
of correlation mining algorithms could be improved
through efficient implementation. However, in all cases, kSCOPE exhibits comparatively better performance than
modified TAPER, TOP-COP and Tkcp (see Fig 4 & 5).
With the decrease in , the running time requirements of
modified TAPER also increases, since low value
generates large number of candidate sets. Similarly, TOPCOP also exhibits an exponential performance graph in
increasing number of items. But k-SCOPE and Tkcp
maintains stable running time in different datasets, since
both algorithms are independent of . It further confirms
the fact that like Tkcp, k-SCOPE is also robust with
respect to input parameter k.

6.4 Scalability of k-SCOPE

The scalability of k-SCOPE algorithm with respect to the
number of transactions and number of items in the
databases is shown in Fig 6. In this experiment, we used
ARMiner to generate synthetic datasets. We generated
four data sets with the number of transactions ranges from
1,00,000 to 5,00,000, keeping number of items as 1000 to
test the scalability in terms of increasing number of
transactions. In order to test the scalability in terms of
number of items, we generated another five transaction
datasets with number of items ranges from 15000 to
10,000 keeping number of transaction equal to 1,00,000. It
has been observed that, the execution time increases
linearly with the increase of the number of transaction and
items at several different top-k values. Fig 6 reports the
scalability test results for k equals to 500 and 2500. From
the graph it is clear that the performance of k-SCOPE is
insensitive to different k values .Thus k-SCOPE is highly
robust in handling large transaction databases for different
values of k.

7. Conclusion
An efficient correlogram matrix based technique, kSCOPE, has been presented in this paper to extract top-k


strongly correlated item pairs from large transaction

database. The technique is capable to generate top k
strongly correlated item pairs just by scanning the
database once. It captures the support count of all the
items pairs and stored it in the correlogram matrix. Later,
stored support counts are used to compute correlation
coefficient all the item pairs and extract k most strongly
correlated pairs. Advantage of k-SCOPE is that, it also
supports interactive mining. Experiments have shown that
k-SCOPE is faster than other counter- parts.

[1] J Han and M. Kamber, Data mining Concepts and
Technique, Morgan Kaufmann Publishers, San Francisco,
CA, 2006.
[2] H Xiong, S Shekhar, S., P-N Tan, V Kumar, Exploiting a
Support-based Upper Bound of Pearson's Correlation
Coefficient for Efficiently Identifying Strongly Correlated
Pairs. Proceedings of SIGKDD04, pp 334-343, 2004
[3] Z He, S Deng, and X Xu, An FP-Tree Based Approach for
Mining All Strongly Correlated Item Pairs, LNAI 3801, pp.
735 740, 2005
[4] Han, J., Pei, J., Yin, J, Mining Frequent Patterns without
Candidate Generation, Proceedings of SIGMOD00, pp 1-12,
[5] T Henry, Reynolds. The Analysis of Cross-classifications.
The Free Press, New York, 1977
[6] C. Borgelt, An implementation of the fp-growth algorithm.
Workshop Open Source Data Mining Software (OSDM'05,
Chicago, IL), pp. 1-5, 2005.
[7] S Roy and D K Bhattacharyya, Efficient Mining of Top-K
Strongly Correlated Item Pairs using One Pass
Technique,Proc. of ADCOM,pp. 416-41, IEEE 2008.
[8] W P Kuo, Functional Relationships Between Gene Pairs
in Oral Squamous Cell Carcinoma, Proc. of AMIA
Symposium, pp.371-375, 2003
[9] K Donna, Slonim, From patterns to pathways: gene
expression data analysis comes of age, Nature Genetics
Supplement, vol 32, pp. 502-508, 2002
[10] A.J. Butte & I S Kohane, Mutual information relevance
networks: functional genomic clustering using pairwise
entropy measurements, Pac. Symp. Bio-comput.418429,2000.
[11] H Xiong, Top-k - Correlation Computation,
INFORMS Journal on Computing, Vol. 20, No. 4, pp.
539552,Fall 2008
[12] L Jiang et. al., Tight Correlated Item Sets and Their
Efficient Discovery, LNCS, Vol 4505, Springer Verlag 2007
[13] S Li, L Robert, L S Dong, Efficient mining of strongly
correlated item pairs, Proc. of SPIE, the International Society
for Optical Engineering,ISSN 0277-786X.
[14] Z He, X Xu, X Deng, Mining top-k strongly correlated item
pairs without minimum correlation threshold, Intl. Journal of
Knowledge-based and Intelligent Engineering Systems 10,
IOS Press, pp 105-112, 2006.
[15] H Xiong, TAPER: A Two-Step Approach for
All-Strong-Pairs Correlation Query in Large Databases,
IEEE Trans. On Knowledge and Data Engineering, vol. 18
no. 4, pp. 493-508.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

[16] S Roy and D K Bhattacharyya, SCOPE: An Efficient One

Pass Approach to find strongly Correlated Item Pairs, Proc.
of ICIT08,pp. 123-126, IEEE CS Press,2008.
[17] R Agrawal , T. Imielinski, A. N. Swami. 1993. Mining
association rules between sets of items in large databases.
Proc. ACM SIGMOD Internat. Conf. Management Data,
ACM Press, New York, 207216.

Swarup Roy did his M.Tech. in Information Technology and

pursuing his Ph.D in Comp Sc & Engg. from Tezpur University.
Presently he is an Assistant Professor in the department of
Information Technology at North Eastern Hill University, Shillong.
He was awarded with gold medal for securing first potion in
M.Tech. His research interest includes Data mining and
Computational Biology. S Roy has published a number of papers
in different refereed Intl. Conf. Proc. / Journal and also authored a
book. He is a reviewer of an international journal.
Dhruba K Bhattacharyya did his Ph D in Computer Science in the
field of Information security and Error Correction & Detection in
1999 from Tezpur University. Presently he is Professor and Head
in the department of Computer Science and Engineering of Tezpur
University. Prof Bhattacharyya has more than 100 research
publications in the Int'l. Journals and refereed Conference
Proceedings and also he has written/co-edited five books. His
research interests include Data Mining, Network Intrusion
Detection and Content based Image Retrievals. He is a
PC/Advisory Committee member of several International


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Fig 4: Execution time comparison on Synthetic dataset

Fig 5: Execution time comparison on Real dataset

Fig 6: Scalability of k-SCOPE algorithm.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

The Use of Underwater Wireless Networks in Pisciculture at

Isadora Santos1, Gleyson Souza2 and Mauro Margalho3

Centro de Cincias Exatas e Tecnologia, Universidade da Amaznia

Belm, Par, Brazil

The past decades have seen a growing interest in underwater
wireless communications researches, but this faces many
challenges, specially through physical processes that cause
impact in this communication technique.
Despite this, underwater wireless networks seems to be a good
solution for water quality monitoring in pisciculture tanks, since
this service requires a lot of time and manpower. The Amazon
region has many resources to increase pisciculture development
so the idea of making this service automatic is very promising.
In this paper we aim to analyze the performance of this network
by simulation, in order to check the viability of the underwater
wireless networks in pisciculture activity at Amazon.
Keywords: underwater wireless, Amazon, pisciculture, acoustic
network, simulation.

1. Introduction
The Amazon is known worldwide by its biodiversity and
water availability. The Amazon River basin is the largest
in the world, occupying an approximated area of
7.008.370 km2, with nearly 60% located in Brazil [1]. The
importance of these water resources is mainly for fishing
and navigation.
Its estimated a range of three thousand species of fish in
this region [2] and a high rate of deforestation due to
conversion of forest to pasture lands and agriculture.
Nowadays these data are highly relevant because
of the high demand for alternative livelihood activities that
require little deforestation. One of these activities is the
fish farming or pisciculture, as it is called the fish
cultivation, mainly from fresh water, which may be
ornamental or sustainable and generate jobs and finances
to the population. This makes this activity a great social
and economical option for this region.
However, this activity needs supporting
technology, in order to have a water quality monitoring at
the farms, as it has a great influence on growth and
survival of fish [3] and it is too vulnerable to pollution
caused by industrial and urban waste, and the use of
pesticides and fertilizers.

There are many methods to monitor water

quality; many of these manuals use specific equipments
for each quality factor, as thermometers, Secchi disks, and
conductivity measurer, among others [3, 4]. But because
methods are manual they require much time and
manpower. So, a promising solution to this monitoring
activity and data collection would be through sensors
adjoined to underwater wireless networks technology or
underwater acoustic networks, as it called the underwater
data communication. It has been studied for decades and is
getting stronger due to tests that have been done.
The perspective of making this monitoring
service automatic will open a range of improvements and
growth possibilities for pisciculture activity, therefore it
constitutes an important motivation factor for this
The purpose of this paper is to analyze by simulation the
performance of underwater wireless networks at
Amazonian fishing farm scenery in order to assess its
implementation viability.
As underwater acoustic networks researches are
not recent, many studies have expanded this knowledge,
its main features, disadvantages and challenges [5, 6, 7].
Recent developments about this theme led to studies of
sensor technologies [8, 9, 10] and simulations using many
tools that evaluate this technology performance [11, 12].
The main difference between surveyed papers and this one
is the simulation scenario and the motivation, because
there has not been found studies about this subject that had
been realized in Brazil with emphasis on Amazon, neither
with the same purpose.
Besides this session, this paper is divided into four more
sessions. The second session presents a study of the art
state of underwater wireless communications referencing
some related works. The third session presents the
simulation details. The fourth session will discuss the case
study, scenario and results analysis. And the fifth session
presents the conclusion of this research.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

2. Underwater Acoustic Networks

An underwater wireless communication way, called
underwater acoustic network, is a research growing field
in the last decades. It occurs because of the growing need
oceanographic data collect, navigation assistance and
environmental monitoring [8].
Those networks are generally constituted establishing a
link between instruments such as autonomous underwater
vehicles or sensors that may connect to a surface station
which can further be connected to radio-frequency links.
This design creates an environment where scientists can
extract real-time information [6].
An example of an underwater wireless network
environment can be observed in Fig.1.

Figure 1. Example of an Underwater Acoustic Network environment.

One of the first uses of this technique occurred during

the II World War, in 1945, when the United States
developed a telephone which communicated with
submarines [8, 13].
The underwater wireless communication is provided
through acoustic waves, but this is not the only way of
transmitting underwater signal. The electromagnetic
waves suffer from high absorption in water and propagate
only at extremely low frequencies and elevated
transmission power [14]. The optical waves, instead,
suffer with high scattering. That fact makes the acoustic
transmission the best solution.
Despite this, the development of systems based on
wireless communication underwater faces significant
challenges due to the fact that the propagation
characteristics in the underwater environment are too
variable [7], in other words, different environments suffer
different physical processes, so, an application that works
effectively at an ambient may fail completely in other.
Other challenges faced by this network are the limited
bandwidth, delay propagation, high bit error rates and
connectivity loss in some areas [5, 6, 8].
But it is expected for those networks that it can provide
the control data exchange, video, images and voice. In


order to reach this aim a lot of researches are being

developed currently focused on efficient communication
algorithms, modulation schemes, appropriated protocols
for its characteristics and mobile underwater
communication techniques [13].

3. Performance Analysis by Simulation

Due to the cost, lack of equipments and difficulties to
perform tests at the ocean, simulations using suitable
softwares have been the most used option on researches
about underwater wireless networks.
The simulations allow a faster performance evaluation,
for various protocols, and get really close of real results,
besides that there are a lot of tools for this purpose.
The simulation tool used on this research was Network
Simulator (NS-2) also used at [12]. NS-2 has a great
acceptation level by international scientific community, it
is developed in C++ and TCL languages and it has an
open source, hence it is in constant development process
for seeking improvements. More information about this
tool can be found at [15].
Associated to NS-2 a patch for dynamic libraries use
has been installed. Among other features, it allows the use
of different modules in simulation without recompile NS
[16]. Also, it was installed NS-MIRACLE (MultiInteRfAce Cross-Layer Extension library for the Network
Simulator) which is a library package that increases the
functionalities of NS-2 and makes easier the simulations
of moderns communication systems because it permits the
coexistence of various modules at the same protocols
stack. The download can be done at the page [17]. The
dei80211mr library [18] which has also been installed
provides an 802.11 implementation for NS-2 and
aggregates too many features.
Those cited changes were necessary to enable the
underwatermiracle module installation, essential for this
paper. This ns-miracle module allows a detailed
simulation from underwater channel, with the
implementation of different MAC protocols and two PHY
layer models. The documentation and download about this
module are at [19].
All those tools were developed by SIGNET Lab of
Padovia University at Italy [20].

4. Case Study
4.1 Scenario Description
The used scenario in this simulation is based in a
pisciculture tank with 4.500m2 and 1,5m depth, since such
tanks can vary from a few square meters until many

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

hectares, and can be rectangular or square [21]. Normally

the small tanks (between 100m2 and 500m2) are used for
subsistence fishing farm, or domestic, the tanks with
hectares size are most difficult to manage, so they are
rarely used. And for commercial use, for big companies,
the tanks normally measure between 1.000m2 and
5.000m2. The depth varies between 0.5m and 2.0m.
The water quality monitoring is provided by three fixed
sensors located at the coordinates: node 1 (X=5m; Y=5m),
node 2 (X=5m; Y=35m) and node 3 (X=105m; Y=5m), as
shows Fig. 2. Those distances were configured so that
makes perceptible the performance difference according to
distance variation.


the viability of underwater acoustic communications for

pisciculture water monitoring.
The evaluated performance factors were: blocking
probability (Graphic 1), receiving power by distance
(Graphic 2), Signal-Noise ratio by distance (Graphic 3)
and throughput (Graphic 4).
From the graphic 1 in Fig. 3, blocking probability can
be calculated. This factor is obtained with the division
reason of the dropped packets number by the received
packet number. The worst efficiency was in node 3 with
approximated value of 5% of blocking probability, this is
considered so low that does not compromise the data
transmission required at the scenario.

Figure 2. Example of the simulated scenario.

The sensors capture data relative to factors such as pH,

temperature, dissolved oxygen, electric conductivity and
transparency and send them in broadcast, using Constant
Bit Rate (CBR) traffic. At this simulated scenario the
traffic begins at node 1, configured as the only
transmission node, and it is received by nodes 2 and 3.
After the informations are received, actions would be
taken to normalize the water quality, e.g. devices can be
activated to discharge chemical products in the water, or
alarms can sound.
Considering that those data require low bandwidth to
be sent, the power transmission was set at the band of
1.0x1010 and the packet send rate as 3.000 bytes, because
it was considered enough to send those data. The
frequency was set at the range of 8 KHz that is
characteristic of underwater wireless networks.
Those used values in simulation were configured to
this scenario believing that if good results are obtained,
certainly good results will be obtained for smallest
Title: The title should be centered across the top of the
first page and should have a distinctive font of 18 points
Century. It should be in a bold font and in lower case with
initial capitals.

4.2 Results
From the obtained simulation results, graphics were
generated to prove the model characteristics and analyze

Figure 3. Graphic 1 Blocking Probability

Another evaluated factor was the reception power rate

related with the node distance, which can be observed at
the second graphic in Fig. 4. It was observed that
increasing the distance between the nodes decreases the
reception power rate. However, as this scenario size is
considered big in comparison with a normal pisciculture
environment, such as the distance between nodes, this
reduction of reception power rate is not enough to affect
negatively the data transmission quality.

Figure 4. Graphic 2 Reception Power by distance

The Signal-Noise ratio (SNR) in reason of

distance, presented in graphic 3 at Fig. 5, shows that the
greater the distance between nodes, the smaller the signalnoise ratio.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Figure 5. Graphic 3 Signal-Noise Ratio by distance

Finally, graphic 4 at Fig. 6 shows the throughput at the

two receptors nodes in the simulation instants. It could be
verified that on both nodes the throughput oscillated
between 3.000bps and 3.500bps, which is really close to
the 3.000 bytes rate established. At the second node,
which has the smallest distance, the throughput was
constant in almost all instants, what differs to the third
node, most distant, that obtained a biggest variation on
throughput. Even so, this rate is considered viable to this

In a region like Amazon that has resources to

greatly increase the pisciculture development, the proposal
to automate this service is very promising, as it would
enhance fish production and would improve not only the
regions economy but also the population livelihood that
depends of the activity.
With the growing interest in underwater wireless networks
by researchers, many improvements are still expected for
this technology, which will encourage, in the future,
applications even better, such as marine species
recognition, transmission by submarine pictures or video,
which would contribute not only to the pisciculture
activity but with other underwater applications.







Figure 6. Graphic 4 Throughput

5. Conclusions
This paper presented a performance analysis for the
proposed use of underwater wireless networks at
pisciculture tanks for water quality monitoring.
The obtained results by simulation demonstrates
the viability of the proposal, since the used scenario has
dimensions considered large for this type of activity,
therefore in smallest scenarios, the results tend to be
Because the data to be collected do not require
high transmission power and neither high bandwidth, the
proposal appears to be suitable for automation of water
monitoring in pisciculture activity, as it needs a lot of time
and manpower because the measurements are performed
more than once a day.






Ministrio do Meio Ambiente, "Plano Nacional de Recursos

Hdricos." [Online]. Available:
[Accessed: Apr. 11, 2010]
Ministrio do Meio Ambiente, "Agncia Nacional de guas."
cias/amazonica.aspx. [Accessed: May 11, 2010]
V.K. Silva, M.W. Ferreira, and P.V. Logato, "Qualidade da
gua na Piscicultura.", unpliblished.
J.S. Vieira, J. Sampaio, G. Gomiero, P. Vieira, and R. Logato,
"Aspectos gerais da piscicultura," 1991.
M. Stojanovic, "Underwater wireless communications: current
achievements and research challenges," IEEE Oceanic
Engineering Society, 2006, pp. 2-7.
E. Sozer, M. Stojanovic, and J. Proakis, "Underwater acoustic
networks," IEEE Journal of oceanic engineering, vol. 25,
2000, pp. 72-83.
J. Preisig, "Acoustic Propagation Considerations for
Development," Society, 2006, pp. 1-5.
I. Akyildiz, D. Pompili, and T. Melodia, "Underwater acoustic
sensor networks: research challenges," Elseviers Ad Hoc
Networks, vol. 3, 2005.
I.F. Akyildiz, D. Pompili, and T. Melodia, "Challenges for
Efficient Communication in Underwater Acoustic Sensor
Networks.pdf," SIGBED Review.
J. Heidemann, W. Ye, J. Wills, A. Syed, and Y. Li, "Research
Challenges and Applications for Underwater Sensor
Networking," Information Sciences.
J. Han, J. Huang, and M. Ran, "Design and simulation of an
underwater acoustic network," Wireless, Mobile and Sensor
A.F. III and M. Zorzi, "Modeling the Underwater Acoustic
Channel in ns2," Work.
M. Stojanovic, "Underwater acoustic communications,"
A.P. Miguens, "Noes sobre gerao, transmisso,
propagao e recepo das ondas eletromagnticas e
acsticas," Navegao: A Ciencia e a Arte, vol. III, 2000, pp.
[Accessed: May 12, 2010]
Universit degli Studi di Padova, "A patch for effectively
using Dynamic Libraries in NS-2." [Online]. Available:
May 12, 2010]
Universit degli Studi di Padova, "NS-MIRACLE: MultiInteRfAce Cross-Layer Extension library for the Network

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814





Apr. 14, 2010]
Universit degli Studi di Padova, "dei80211mr: a new 802.11
Apr. 14, 2010]
May 12, 2010]
Universit degli Studi di Padova. Department of Information
Available: [Accessed: May 12,
E. Carballo, A.V. Eer, T.V. Schie, and A. Hilbrands,
Piscicultura de gua doce em pequena escala, Agromisa
Foundation, 2008.

Isadora Mendes dos Santos is a student of Computer Science

Bachelors degree at the University of Amaznia, Brazil. She
participated in some research projects including the CODPON
networks (Continous Displacement Plan Oriented Network). Her
research interests include computer networks, underwater acoustic
networks, network performance evaluation.
Gleyson Correa de Souza is a student of Computer Science
Bachelors degree at University of Amaznia, Brazil. Research
interest: computer networks.
Mauro Margalho Coutinho is a lecturer and researcher in the
Center of Science and Technology, at University of Amaznia,
Brazil. Mauro Margalho is Msc in Computer Science (emphasis in
Network Computer) by Federal University of Pernambuco and PhD
in Electrical Engeneering (emphasis in Telecommunication
Systems) by Federal University of Par. Currently holds the
position of coordinator of Computer Science Bachelor's degree
Course at the University of Amazon and member of the editorial
board of the TRAOS journal as well as the head of computer
network department from Assemblia Legislativa do Par
(Legislative Power from Par). Professor Mauro Margalho
participated in several research projects, highlighting the creation
of the CODPON networks (Continous Displacement Plan Oriented
Network) project. Areas of interest include digital TV, mobile
computing, computer networks and accessibility.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Properties Based Simplification of 2D Urban Area Map Object

Jagdish Lal Raheja and Umesh Kumar
Central Electronics Engineering Research Institute (CEERI)/ Council of Scientific and Industrial Research (CSIR), PilaniRajasthan, 333031, India

For a long time, Geo-spatial information was printed on paper
maps whose contents were produced once for specific purposes
and scales. These maps are characterized by their portability,
good graphic quality, high image resolution and good placement
of their symbols and labels. These maps have been generated
manually by cartographers whose work was hard and fastidious.
Today, Computers are in use to generate the map as per
requirement called the cartographic generalization. The purpose
of cartographic generalization is to represent a particular
situation adapted to the needs of its users, with adequate
legibility of the real situation and its perceptional congruity with
the representation. Interesting are those situations which, to
some degree, vary from the real situation in nature. In this paper,
a simple approach is presented for the simplification of contour,
roads and building ground plans that are represented as 2D line,
square and polygon segments. As it is important to preserve the
overall characteristics of the buildings; the lines are
geometrically simplified with regard to geometric relations. It
also holds true for contour and road data. In this paper, an
appropriate transformation and visualization of contour and
building data is presented.

Keywords: Cartographic Generalization, GIS, Map, Object,


1. Introduction
In natural environment human senses perceive
globally, without details. Only when one has a particular
interest he or she observes details. It is a natural process;
otherwise abundance of details would lead to confusion.
For similar reasons, in the process of cartographic
generalization many details may be omitted which are of
least interest to the user at that context or these are merger
together for the sake of map space. The concept of
generalization is ubiquitous in nature and so similarly in
cartography. It is basically a process of compilation of
map content. The actual quantitative and qualitative basis
of cartographic generalization is determined by the map
purpose and scale, symbols, features of the represented
objects, and other factors. One of the applications of
representing map objects for display at low resolution
devices like mobile and GPS system.

Figure 1: (a) Elimination, (b) Simplification, (c) Aggregation, (d) Size

reduction, e) Typification, (f) Exaggeration, (g) Classification and
symbolisation, (h) Displacement, (i) Refinement.

The figure 1 shows different various operations involved

in cartographic generalization. In this paper, we focus
solely on simplification.

2. Cartographic Generalization and Some

Related Work
Cartography is a very old scientific discipline, and
cartographic generalization dates back to the times of the
first cartographic representation. It is a domain of active
research and consequently many techniques for
cartographic generalization have been developed:
pragmatic bottom-up approaches use specific algorithms
for different generalization tasks. Then there are more
holistic ideas, using top-down strategies, to strive at an
integrated solution of this complex task. For building
simplification, Staufenbiel [1] developed an algorithm by
deriving a set of rules of what to do with building facades
too small to be represented. He came up with a detailed
processing scheme which later was implemented in the
CHANGE software. Similar concepts are currently being
implemented in many GIS products. Similarly the
algorithm developed as part of the AGENT project aims at
a concurrent solution of several competing aims: squaring,
rectification, and enlargement of minimal narrow objects
inside the building. The approach presented there is
similar to methods used for the reconstruction of

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

parametric buildings in aerial images. The simple

simplification process simplify the object at a level after a
level it will not produce better level of simplification. The
basic simplification processes are effective only till a
certain level, after which further improvement in results
cannot be obtained, whereas the technique presented here
provides the user options to simplify the object at various

3. Multiple Representation v/s Cartographic

Multilevel representation databases can quickly create
maps at different scales (from predefined representations).
However, they can not be considered an alternative to
cartographic generalization [2]. A major drawback of
multiple representation is that it often generates
voluminous databases and restricts the cartographic
products to the predefined scales. Many research projects
have addressed multiple representation in multi-scale
databases, in which every object has different
representations at different scales. In these databases, an
object has a detailed representation at a high scale, as well
as a simplified representation at a low scale. This
approach reduces the complexity of multiple
representation, but does not solve the problem completely.

4. Simplification
When a map is represented graphically and the
representation scale is reduced then some area features
will become too insignificant to be represented, i.e. the
object can be regularly or irregularly shaped. In this paper
a simple approach has been presented to simplify contour
lines and building plans to make the map more accurate
and understandable. In this paper simplification for
contour lines and buildings has been defined.
Vertex Simplification: Line simplification is also
referred to as vertex simplification. Often a vertex has too
much resolution for an application, such as visual displays
of geographic map boundaries or detailed animated
figures in games or movies. That is, the points on the
vertexes representing the object boundaries are too close
together for the resolution of the application. For example,
in a computer display, successive vertices of the vertex
may be displayed at the same screen pixel so that
successive edge segments start, stay at, and end at the
same displayed point. The whole figure may even have
all its vertices mapped to the same pixel, so that it appears
simply as a single point in the display. Different
algorithms for reducing the points in a vertex to


approximate the original within a specified tolerance have

been purposed. Most of the algorithms work in any
dimension since they only depend on computing the
distance between points and lines. Thus, they can be
applied to arbitrary 2D or 3D curves by sampling a
parametric curve at regular small intervals. Vertex
reduction is a brute-force algorithm for vertex
simplification. Here a vertex is discarded when its
distance from a prior initial vertex is less than some
minimum tolerance > 0. More Specifically, after fixing
an initial vertex V0, successive vertices Vi are tested and
rejected if they are less than away from V0. But, when a
vertex is found that is further away than , then it is
accepted as part of the new simplified vertex, and it also
becomes the new initial vertex for further steps of
simplification. Thus, the resulting edge segments between
accepted vertices are longer than the in length. This
procedure is easily visualized as follows: [3]






Keep Vertex

Original Polyline

Discard Vertex

Reduced Polyline

Figure 2: Vertex Reduction used for Simplification

This is a fast first order O(n) algorithm. It should be

implemented comparing squares of distances with the
squared tolerance to avoid expensive square root
Here Douglas-Peucker (DP) approximation has
been used to simplify the vertex in the map. This
algorithm has O(nm) as worst case time, and O(nlogm)
expected time, where m is the size of the simplified
vertex. Note that this is an output dependent algorithm,
and will be very fast when m is small. The first stage of
the implementation does vertex reduction on the vertex
before invoking DP approximation. This results in the
well known vertex approximation/simplification algorithm
which not only provides high quality results but is also
very fast. Here the map information is provided by a
server and the tolerance value is input by the user. The
following steps are used to simplify the vertexes in the

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Step [1]: Generate the Map.
Step [2]: Get the tolerance value from the user.
Step [3]: Calculate the number of objects or buildings on
the screen.
Step [4]: Call the DOUGLAS PEUKAR recursive
simplification routine to simplify the vertex.
Step [5]: Generate the simplified Map.
A sample contour data set from Survey of India (SoI)s
stored in Open Geo-spatial Consortium (OGC)s
Geography Markup Language (GML) format is used for
simplification of line and buildings. Using the following
step the map can be simplified for the level of tolerance.


The algorithm treats individual polygons one after the

other. It works locally, trying to replace polygon sides
which are shorter than the critical length. These sides are
substituted according to some given rules, depending on
the geometry of the adjacent building sides. This results in
a simple, but not necessarily correct model of the original
situation. Thus, in an adjustment process, the original
building shape is adjusted to the new building model. The
advantage of this procedure is the fact that the rules can be























































Hut Oblong













Figure 3: Input for Vertex Simplification



Figure 4: Output file after Simplification process with tolerance value=5

Building Simplification: The main constraints involved

in the simplification of building ground plans are
preservation of right angles, co linearity and parallelism.
Apart from preservation, enhancement of the
characteristics may even be necessary. The deciding factor
in simplification is the minimal length of a faade that can
be represented at a certain scale. All the sides of building
smaller than critical lengths have to be replaced.

and coarse, as they yield only approximate values, which

are refined in the adjustment process. Furthermore,
additional parameters can also be introduced in the

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

adjustment, like the fact that the building size has to be

The first step of the algorithm results in a
simplified ground plan, which is used as a model. This
model is described in terms of building parameter that is
in turn adjusted to the original ground plan in the
subsequent adjustment process. The decision of how to
substitute a short facade depends on the geometry of the
neighboring sides:


Step [15]: Generate the final simplified Map.

A sample contour data set from Survey of India (SoI)s
stored in Open Geo-spatial Consortium (OGC)s
Geography Markup Language (GML) format is used for
simplification of line and buildings. Using the following
step the map can be simplified for the level of tolerance.

Intrusion / extrusion: the angle between preceding and

subsequent side is approx. 180 . The small side is just
set back to the level of the main facade.
Offset: the angle between preceding and subsequent side
is approx. 0 . The longer one of the adjacent building
sides is extended, and the shorter side is dropped.
Corner: the angle between preceding and subsequent side
is approx. 90 . The adjacent facades are intersected.
Following steps are to be followed for the simplification
of the complete map.
Step [1]: Send a request for the GML to the server.
Step [2]: Generate the Map.
Step [3]: Enter threshold value.
Step [4]: Calculate the number of objects or buildings on
the screen.
Step [5]: Take the first object and follow the following
steps for simplification.
Step [6]: OFFSET ANGLE First rationalize the building
to remove any offset angle.
Step [7]: Working in clockwise direction, take 3
consecutive points of the building and find the angle
between them.
angle is greater than 190 degrees, this indicates the
presence of either a protrusion or a corner in the building.
Step [9]: A decision is made to ascertain whether a corner
or a protrusion has been arrived at.
Step [10]: CORNER If its a corner then we set the
point as the meeting point of the two consecutive edges.
Step [11]: PROTRUSION: we calculate its area and find
out whether it is greater than the threshold area or not. If
not, then the following steps are performed else the
building is left unaltered.
Step [12]: If its a protrusion then store all the points in a
temporary array till the angle formed by the 3 points is
180 degrees.
Step [13]: Follow the above steps from (7 to 12) till all the
points are traversed.
Step [14]: Follow the above steps from (6 to 13) till all the
objects are traversed.

Figure 5: Input for Vertex Simplification

Figure 6: Output for Vertex Simplification

Figure 7: Input Building map for simplification process

The above figure 5 is used as input map and output map

has been generated using different threshold values.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Figure 8: output map using threshold value =500

Figure 9: output map using threshold value=1000

4. Conclusion
There are many approaches proposed for the process of
vertex as well as polygon simplification. The technique
proposed here modifies the existing technique to arrive at
a more efficient model. The final map will be more
accurate and understandable.
This research is being carried out under the project
activity Cartographic Generalization of Map Object
sponsored by Department of Science & Technology
(DST), India. This project is currently underway at
Central Electronics Engineering Research Institute
(CEERI), Pilani, India. Authors would like to thank
Director, CEERI for his active encouragement and
support and DST for the financial support.

[1] Robert Weibel and Christopher B. Jones, Computational
Perspective of Map Generalization, GeoInformatica, vol. 2, pp
307-314, Springer Netherlands, November/December 1998.


[2] Brassel, K. E. and Robert Weibel, A Review and

framework of Automated Map Generalization, International
Journal of Geographical Information System, vol. 2, pp 229-224,
[3] M. Sester, Generalization Based on Least Squares
Adjustment International Archive of Photogrammetry and
Remote Sensing, vol. 33, Netherland, 2000.
[4] Mathias Ortner, Xavier Descombes, and Josiane Zerubia,
Building Outline Extraction from Digital Elevation Models
Using Marked Point Processes, International Journal
Computer vision, Springer, vol. 72, pp: 107-132, 2007.
[5] P. Zingaretti, E. Frontoni, G. Forlani, C. Nardinocchi,
Automatic extraction of LIDAR data classification rules,
14th international conference on Image Analysis and
Processing, pp 273-278, 10-14 Sept.
[6] Anders, K.-H. & Sester, M. [2000], Parameter-Free Cluster
Detection in Spatial Databases and its Application to
Typification, in: IAPRS, Vol. 33, ISPRS, Amsterdam, Holland.
[7] Bobrich, J. [1996], Ein neuer Ansatz zur kartographischen
Verdr angung auf der Grundlage eines mechanischen Federmodells, Vol. C455, Deutsche Geod atische Kommission, M
[8] Bundy, G., Jones, C. & Furse, E. [1995], Holistic generalization
of large-scale cartographic data, Taylor & Francis, pp. 106119.
[9] Burghardt, D. & Meier, S. [1997], Cartographic Displacement
Using the Snakes Concept, in: W. F orstner & L. Pl umer, eds,
Smati 97: SemanticModelling for the Acquisition of
Topographic Information fromImages andMaps, Birkh auser,
Basel, pp. 114120.
[10] Douglas, D. & Peucker, T. [1973], Algorithms for the
reduction of the number of points required to represent a
digitized line or its caricature, The Canadian Cartographer
10(2), 112122.
[11] Harrie, L. E. [1999], The constraint method for solving spatial
conflicts in cartographic generalization, Cartographicy and
Geographic Information Systems 26(1), 5569.
[12] Hojholt, P. [1998], Solving Local and Global Space Conflicts in
Map Generalization Using a Finite Element Method Adapted
from Structural Mechanics, in: T. Poiker & N. Chrisman, eds,
Proceedings of the 8th International Symposium on Spatial
Data handling, Vancouver, Canada, pp. 679689.
[13] J ager, E. [1990], Untersuchungen zur kartographischen
Symbolisierung und Verdr angung im Rasterdatenformat, PhD
thesis, Fachrichtung Vermessungswesen, Universit at Hannover.

Dr. J. L. Raheja has received his M.Tech from IIT

Kharagpur and PhD degree from Technical
University Munich, Germany. At present he is Sr.
Scientist in Central Electronics Engineering
Research Institute (CEERI), Pilani, Rajasthan, since
2000. His area of
interest is Cartographic
Generalisation, digital image processing and Human Computer
Umesh Kumar has obtained M. Tech. from C-DAC
affiliated to GGSIPU New Delhi, India, he is a
Project Assistant in Digital Systems Group of Central
Electronic Engineering Research Institute, Pilani,
Rajasthan, India. His interested areas include
Cartographic Generalization,
Processing, Human
processing based application development.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


A proposed Ontology to support Modeling Diagrams

Nisreen Innab1, Nidal Yousef2, and Mohammad Al-Fayoumi3

Computer Information Systems, College of Business Administration

Jeddah ,KSA

Information Systems, Isra University

Amman, Jordan

Information Systems, King Abdul Aziz University

Jeddah ,KSA

This paper investigates ontology. Ontology exhibits enormous
potential in making software more efficient, adaptive, and
intelligent. It is recognized as one of the areas which will bring
the next breakthrough in software development. Ontology
specifies a rich description of the terminology, concepts and
properties explicitly defining concepts. Since understanding
concepts and terms is one of the difficulties in modeling
diagrams, this paper suggests an ontology aiming to identify
some heavily used modelling diagrams concepts to make them
easier to perform
Keywords: Ontology, modeling, concept, requirement

1. Introduction
In systems engineering and software engineering,
requirements analysis encompasses all of the tasks that go
into the instigation, scoping and definition of a new or
altered system. Requirements analysis is an important part
of the system design process, whereby requirements
engineers and business analysts, along with systems
engineers or software developers, identify the needs or
requirements of a client. Once the client's requirements
have been identified, the system designers are then in a
position to design a solution [1].
The requirement phase based on robust conceptual models.
Ontologies are a promising means to achieve these
conceptual models, since they can serve as basis for
During requirements stage many modelling can be used
for the similar or different systems. It depends on the
multiple views of the developers and the types of the
systems. Authors of requirements use different
terminology and hence the same term is applied to
different concepts and different terms are used to denote

the same entity. The same semantic of multi concepts may

use in different modelling. For example the concept entity
which is used in (entity) relationships modelling has a
close meaning to the concept (class) which has been used
in unified modelling language. The differences lead to
difficulties of understanding concepts during modelling
and confusion, and diminish exchange of knowledge between developers and domain experts.
Therefore we propose to suggest a framework that aims to
identify some important concepts that are heavily used at
different modelling diagrams, to be easier to perform.
In this paper, we introduce a framework for building and
using ontology for modelling diagrams in order to
standardize their different concepts. We can support
modelling by using ontology (meaning of things), which
helps the software developer and the user of the system to
define and understand the concepts and their definitions

2. The Proposed ontology

We propose framework that aims to identify some
important concepts that are heavily used at different
modelling diagrams, to be easier to perform.The
framework consist the following stages:We select some of
well-known modelling diagrams of requirements process.
Each selected modelling diagrams has its semantic and
standards (ontology) .We extract and refine the concepts
of those selected modelling diagrams. Then we arrange
each of the extracted concepts according to their frequency
of existing in all the selected modelling diagrams by using
specific program. We specify a collection of concepts that
have the highest frequency use in the selected modelling

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Then we emphasize the importance of the thirty highest

frequencies concepts for our results in both approaches by
using percentage technique, which depends on the
proportion of how many concepts of the thirty highest
frequency concepts is part of each modelling diagram
concepts. We choose the first thirty highest frequency
concepts from our results in each approach in order to
limit our study where the frequency was increased steadily
for the first thirty highest frequency concepts. We use
BungeWandWeber (BWW) representation model for
evaluating, comparing our proposed ontology. BWW is a
well-known model that had been.

3. Reasons for using ontology with modelling

Modelling can be made easier by using ontology. The
reason is that the ontology provides the basic concepts and
their relations that is easy to grasp even for non-experts on
Although the concept of ontology has been around for a
long time in philosophy, in recent years it has become
known in the computer world as a machine-readable
vocabulary that is specified with enough precision to allow
differing terms to be precisely related.An ontology defines
the common words and concepts (meanings) used to
describe and represent an area of knowledge. Ontologies
are used by people, databases, and applications that need
to share domain information (a domain is just a specific
subject or area of knowledge, like medicine,
counterterrorism, imagery, automobile repair, etc.)
Ontologies include computer-usable definitions of basic
concepts in a domain and the relationships among them.
Ontologies encode knowledge in a domain and also
knowledge that spans domains. In this way, they make that
knowledge reusable [2]. Ontology shows enormous
potential in making software more efficient, adaptive, and
intelligent. It is recognized as one of the areas which will
bring the next breakthrough in software development. The
idea of ontology has been welcomed by visionaries and
early adopters for example, ontology has been used in
medical informatics studies, and the community produced
popular tools such as Protg ontology editor. However, it
has failed to appeal to the majority users of the
mainstream, at least until recently. It is said that the idea
was too mysterious for ordinary people to understand.
There is no standard way to do things with ontology, but
so many different proprietary ways. There were not
enough tools for programming ontologies and managing
various aspects of the life cycle of ontologies [3].
We make use of ontology with modelling diagram in this
paper because of its significant nowadays, its improvement
than the past, because there several applications which use
ontology, and the ontology specifies a rich description of
the terminology, concepts relevant to a particular domain


or area of interest. Ontologies might be important for

Software Engineers because they have to share their used
previously in systems analysis and design research.
conceptualizations with each other, and with their user
There are a number of problems ontology solves
particularly well, such as problems with information
integration, model transformation, translation, data
cleansing, search, navigation, text understanding,
document preparation, speech understanding, active
menus and forms, question-and-answer issues, etc.
Developers should consider whether there are other
innovative ways of using ontology for solving their
problems. Once developers are comfortable with the value
ontology brings in, they can go ahead and populate the
ontology for the solution.
One of the main difficulties in modelling diagrams
understands concepts and terms by the system developer
and users without complexity and conflicts. To solve
this problem this research proposes to build ontology
and use it during modelling to reduce ambiguity of
modelling diagram concepts.

4. The Framework for building the initial

ontology .
The purpose of this paper is to suggest a framework that
aims to identify some important concepts that are heavily
used at different modelling diagrams, to be easier to
perform. The framework consists of: selecting modelling
diagrams, extracting concepts, found relation between
each concept with all selected modelling diagrams.
Since there is a huge number of modelling diagrams
concepts, we intend to minimize those concepts on a small
number that are rigorously very important and have the
majority used in most of modelling diagrams. Therefore,
we use two approaches to emphasize the significance of
the results and strictly build our ontology on sturdy base.

4.1 Selecting modelling diagrams

In the field of software engineering in particular in
requirement phase, several and different modelling
diagrams are used. We selected 56 diagrams and collected
their definitions from multi recourses [4, 5, 6, 7, 8, 9, 10,
11]. Snapshot of the results of this step were as in table

4.2 Extracting Concepts

For each selected modelling diagram we extract most of
their concepts based on many references that explain,
define each modelling diagram, classify its concepts with

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Diagram Definition

Depicts high-level business processes, including data flow,

or to model the logic of complex logic within a system.It
shows the overall flow of control.
The use-case diagram depicts a collection of use cases,
actors, their associations, and optionally a system
Use Case
boundary box. When modelling requirements a use case
diagram can be used to model the context of your system,
indicating the major external entities that your system
interacts with.
A State Machine Diagram models the behaviour of a
single object, specifying the sequence of events that an
object goes through during its lifetime in response to
events. A State Machine diagram illustrates how an
element, often a class, can move between states classifying
its behavior, according to transition triggers, constraining
guards, and other aspects of state machine diagrams that
depict and explain movement and behaviour
Table (4.1): Definition of Selected Modelling Techniques and Diagrams

their notation, the relationship between those concepts,

their utilization and the modelling diagram itself [4, 5, 8,
9, 12,13, 14,15, 16, 17, 18, 19, 20]. In the following, we
show snapshot of the table that we construct from this


Activities, Actions, Action Constraints, Control

Flow, Initial Node, Final Node, Objects and Object
Flows, data store, Decision and Merge Nodes, Fork
and Join Nodes, Expansion Region, Exception
Handlers, Interruptible Activity Region, Partition.
Actors, Use Cases, Name and Description,
Use Case
Requirements, Constraints, Scenarios, Scenario
Diagrams, Extending Use Cases, Extension Points,
System Boundary.
States, Initial and Final States, Transitions, State
Actions, Self-Transitions, Compound States, Entry
State Machine
Point, Trigger, Exit Point, Choice Pseudo-State,
Junction Pseudo-State, Terminate Pseudo-State,
History States, Concurrent Regions.
Table (4.2): Snapshot for Each Modelling Diagram with its Concepts

Then we define each concept that we arrange in categories

as we show in the previous table without redundancy.
Table (4.3) shows snapshot of the concepts with their
descriptions that we extract from all the previous selected
modelling diagrams.

Concept Definition

A class that cannot be directly instantiated. A class

Abstract Class
which cannot instantiate objects; it must be
Activity Final
The end point of an activity diagram
The assignment of an object to a classifier
A classifier that requests a service from another
Person, place, thing. It is an object or concept about
which you want to store information.
Table (4.3): The Extracted Concepts with their Definitions


4.3 Relation between each concept with all selected

modelling diagrams
We found the relation between each concept with all
selected modelling diagrams definitions by using access
programme as a tool. Where we create two tables, the first
one contains the modelling diagrams definitions and the
second table contain all the concepts then, we create a
query to find the number of times (frequency) for each
concept in which it appears in all selected modelling
diagrams definitions.
We show some of the results in table (4.4) which contains
frequency column which indicates number of occurrence
for each concept in all selected modelling diagrams
Table (4.4): Concepts Relationship with Modelling Diagrams

We notice from the results that there is a different

frequency for each concept. Some have a high frequency
as: model, system, diagram, element, action, object, user,
class, interaction, etc. That means the concepts with high
frequencies are significant as they are related to many
modelling diagrams. Thus we can define it once and use it
in all the selected diagrams.

5. Ontological Analysis
We agree that ontological analysis and evaluation is one of
several approaches that should be used to improve the
modelling diagrams. We evaluate the
results by percentage technique that depends on the
We choose the 30 highest frequencies of the results that
shown in table(4.4) to limit our study where the frequency
was increased steadily for the first thirty concepts.
To emphasize the importance of the thirty highest
frequencies concepts for our results we use percentage
technique as follows:
Identify all the selected modelling diagrams.
Classify the concepts for each modelling diagram in a
Then count the concepts for each category
Demonstrate the thirty highest frequency concepts,
then find and remark if any of those concepts exist in
each category.
Count remarked concepts for each category.
Define the proportion.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

According to the results of Table (5.1), the highest

percentage for the frequency of the specific thirty concepts
rate to the number of the concepts of each modelling
diagram is 100% for domain model, dialogue model,
application model, object role modelling, and joint
application development. While the lowest percentage is
for block diagram, function block diagram, and mind map.
The table shows the moderate percentage (50%) is for
composite structure diagram, component diagram,
subsystem diagram, high-level petri nets, and timed petri
A central idea behind our approach is to identify common
significant modelling concepts by (1) breaking modelling
constructs and model elements down into ontologically
primitive concepts and (2) mapping each concept onto a
common ontology

Concepts (Con.)



















Control Flow, Initial Node,

Final Node, Object and Object
Flow, Data Store, Division and
Merge Nodes, Fork and Join
Activity Diagram

Table (5.1) shows the results of the previous steps. For the
first diagram Activity diagram we identify in the third
column a collection of its important concepts as action,
actor, and constraint. Then we set in the fourth column
number of all its concepts that we identify in column three.
We use the category of the highest frequency concepts that
we outline in table (4.4), to search about those specific
concepts if they exist or not in the collection of the
Activity concepts that we show in column three. After
that, we count how many important concepts exist and
write the number in column five. The proportion between
the numbers of Activity concepts (column four) to the
number of specific existing concepts (column five) are
7:34, which present in column six. The proportion 7:34
indicates 20.6% which shows in the last column of the
Indeed, the other modelling diagrams can be recognized in
the same way for Activity diagram.

BWW is a representation model that defines ontological

constructs for information systems. According to these






Interruptible Activity Region,

Partition, Association, Class,
Association Class, Attribute,
Base Class, Branch,









,Diagram, Activity, Data.









Constraint, Scenario, Scenario

Diagram, Extending, Extension
Use Case Diagram

Number of how many concept of the 30 highest

frequency concepts exist in this category : Number of
all concepts for each category.
Exchange the values of proportion to 100% percentage.










Attribute , Operation , Type,






Diagram, Element,

Table (5.1): Evaluate the results by Percentage Technique

6. Comparison with BWW

Given the importance of using and the potential use of
ontologies over the past years, the principal question then
becomes: How do we compare and evaluate different
ontologies for determining their strengths and weaknesses
for the purpose required?
Only limited guidance is provided regarding the selection
and evaluation of ontologies. We use Bung- Wand-Weber
(BWW) model for evaluating, comparing our ontology.
BWW is a well-known model that had been used
previously in systems analysis and design research.

constructs the completeness and efficiency of a

modelling technique can be defined [21]. It defines five
fundamental constructs which are: things, property,
state, transformation, and stable state. A thing is the
existence of a thing in the world. Properties are relations
that map a thing to some values. A stable state is a state
in which a thing will remain unless forced to change by
an external event. Mapping between one state to anther
is called transformation.
The following Table (6.1) present comparison of BWW
constructs with the specific concepts of our results[22, 23,
24, 25, 26].

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Definition of BWW
The elementary unit in
the BWW ontological
model. The real world
is made up of things.
properties. A property
is modeled via a
function that maps the
thing into some value.
A set of things that can
be defined by their
possessing a particular
set of properties
TOTAL Concepts
















Table (6.1): Comparison with BWW Constructs

The results of the comparison between the most known

concepts of BWW representation model (30 concepts) and
the most important concepts of our result of our initial
ontology (30 concepts) shows that twenty five concepts
represent 83.33% have the same semantic.
One of the contributions of this comparison is to provide a
clear ontological definition of modelling diagrams
constructs. Our analysis shows that the ontology we are
constructing has some ontological strength as the results
identify the common core constructs of modelling
diagrams (for example, object, attribute, class). The
analysis and evaluation shows that many of our ontology
construct are well matched with the BWW-model, but also
we suggest several concrete improvements in future to our

7. Conclusions
The purpose of this paper is to enhance the existing
modelling diagrams which are used during requirement
phase by building ontology which includes defining
terms and classifying them. In order to reduce ambiguity
of modelling diagram concepts, and to understand
concepts and terms by the system developer and users
without complexity and conflicts.
Many modelling can be implemented in various ways.
There are different concepts that the developers and the
customers must learn. The difference of modelling in the
real world splits the developers in different schools; each
one may focus on different aspects of the world and show
that developers understand the world differently. Ontology
can enhances the existing modelling techniques which are
used during requirement phase. In addition, ontology
includes definitions, classifications and formalization of


This paper concentrates on modelling in requirement

phase. Authors of requirements use different terminology
and hence the same term is applied to different concepts
and different terms are used to denote the same entity.
Therefore it leads to difficulties in the understanding of the
concepts and terms by the system developer and users
without complexity and conflicts. One way that provides
support to solve this problem is to build ontology and use
it during modelling.
We argue the constructs of modelling diagrams have to be
communicated using some commonly understood
In our future research, we recommend to apply the
framework of the proposed ontology with other software
development process. And apply these ideas with the
use of an Arabic ontology.

[1] Barry Boehm, A view of 20th and 21st century software
engineering, Proceedings of the 28th international
conference on Software engineering, Shanghai, 2006,
ISBN:1-59593-375-1, ACM, pp: 12 29
[2] Leo Obrst, Ontologies for Semantically Interoperable
Systems, CIKM03, 2003.
[3] Milton, S.K., & Kazmierczak, E., "Enriching the Ontological
Foundations of Modelling in Information Systems",
Proceedings of Workshop on Information Systems
Foundations: Ontology, Semiotics, and Practice, (Ed,
Dampney, C.), 2000, pp: 55-65.
[4] Stephen J. Mellor, A Comparison of the Booch Method and
Shlaer-Mellor OOA/RD, by Project Technology, Inc, 1993.
[5] Recker, Jan C. and Indulska, Marta, An Ontology-Based
Evaluation of Process Modeling with Petri Nets, IBIS International Journal of Interoperability in Business
Information Systems Vol.2 No.1, 2007:pp. 45-64.
[6] Malcolm Shroff & Robert B. France, Towards a
Formalization of UML Class Structures in Z, Computer
Software and Applications Conference, 1997. COMPSAC
'97. Proceedings., pp:646 651.
[7] Johannes Koskinen , Jari Peltonen , Petri Selonen , Tarja Systa ,
Kai Koskimies, Model processing tools in UML, 23rd
International Conference on Software Engineering, 2001pp:819820.
[8]Yeol Song and Kristin Froehlich, "Entity-Relationship Modeling: A
Practical How-to Guide," IEEE Potentials, Vol. 13, No. 5, 19941995, pp. 29-34.
Kevin L.Mills, Hassan Gomaa, Knowledge-Based
Automation of a Design Method of Current Systems, IEEE
Transaction of Software Engineering, Vol.28. No.3, 2003.
[10] Federico Vazques, Identification of complete data flow
diagrams , ACM SIGSOFT Software Engineering Notes,
Vol. 19 , Issue 3, 1994, pp: 36 - 40 .
[11] luciano baresi, mauro pezz`e, Formal Interpreters for
Diagram Notations, ACM Transactions on Software

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Engineering and Methodology, Vol. 14, No. 1, 2005, Pages

[12] Boris Litvak, Behavioral Consistency Validation of UML
diagrams, Proceedings of the First International Conference
on Software Engineering and Formal Methods 2003.
[13] R. Juric and Il-Yeol Song, "The Assessment of Objectoriented Modleing Elements of the UML 1.1" 3rd Biennial
World Conference. on Integrated Design and Process
Technology, 1998.
[14] UML Semantics Appendix M1- UML Glossary version
1.0, 13 January 1997
[15] David N. Jansen, Holger Hermanns, QoS modelling and
analysis with UML-statecharts: the StoCharts approach,
ACM SIGMETRICS Performance Evaluation Review,
Vol. 32, Issue 4 2005 pp. 28 33.
[16] Jose Galindo, Angelica Urrutia, Ramon A. Carrasco, and
Mario Piattini, Relaxing Constraints in Enhanced
Entity-Relationship Models Using Fuzzy Quantifiers,
IEEE Transactions On Fuzzy Systems, vol. 12, no. 6,
[17] Veda C. Storey, Comparing Relationships in Conceptual
Modeling: Mapping to Semantic Classifications, IEEE
Transactions On Knowledge And Data Engineering, vol.
17, no. 11, 2005.
[18] Swathi C . Solsi, Edward L. Jones, Simple Yet Complete
Heuristics for Transforming Data Flow iagrams into
Booch Style Diagrams, Ada Letters, Volume XI,
Number 2, 1991.
[19] Kevin L. Mills, Hassan Gomaa, A Knowledge-Based
Method for Inferring Semantic Concepts from Visual
Models of System Behavior, ACM Transactions on
Software Engineering and Methodology, Vol. 9, No. 3,
2000, pp. 306337.
[20] Harald Storrle, Structured nodes in UML 2.0 activities,
Nordic Journal of Computing, Vol.11 , Issue 3 2004 pp.
279 302.
[21] Ahmad Kayed, Robert M.Colomb, Using BWW Model
to Evaluate Building Ontologies in CGs Formalism",
Vol. 30, No.5, 2005,pp 379-398
[22] Michael Rosemann1, Jan Recker, Marta Indulska, Peter
Green, How have Process Modeling Grammars
Developed over Time?, Proceedings of the 18th
Conference on Advanced Information Systems
Engineering, 2006, pp. 447-464.
[23] Michael Rosemann, Jan Recker, Marta Indulska, Peter
Green, How have Process Modeling Grammars
Developed over Time?, Proceedings of the 18th
Conference on Advanced Information Systems
Engineering 2006, pp. 447-464.
[24] Michael Rosemann, Peter Green. Integrating MultiPerspective Views Into Ontological Analysis, ICIS 2000
pp. 618-627.
[25] Gretchen Irwin, Daniel Turk, An Ontological Analysis of
Use Case Modeling Grammar, Journal of the
Association for Information Systems Vol. 6 No.1,
[26] Andreas L. Opdahl, Brian Henderson-Sellers,
Ontological Evaluation of the UML Using the Bunge

WandWeber Model, Softw Syst Model, 2002 pp. 43

Nisreen Innab received her B.S. degree in 1997. In 2003,she

earned her High Diploma Degree in Computer Information
Systems, in 2004 she earned Master Degree in Computer
Information Systems. A Ph.D. was received in 2008 in Computer
Information System, she is employed
as full time lecturer, Assistant
Professor and MIS department
Chairperson at College of Buisness
Administration (CBA) in Saudi
Arabia, Jeddah from Oct. 2007 till
now. She published three papers in
current research interests are: data
mining, machine learning, modeling
and simulation, ontology, modeling
Nidal Yousef received his B.S.
degree in 1997. In 2001, he earned
his Master degree in Computer
Information System. A Ph.D. was
received in 2008 in Computer
Information System. He joined King
Abdulaziz University, in KSA in
2009, as an Assistant Professor and
in 2010 he moved to Al- Esra
University in Jordan as Assistant
in the college of
Computing and Information Technology. He has published 4
research papers in international journals and conferences.
Mohammad Al-Fayoumi received his B.S. degree in 1974. In
1977, he earned his Master degree in mathematics, and a
postgraduate diploma in Computer Science was received in
1979. A Ph.D. was received in 1982 in the area of Computing
Science. The last two degrees
were awarded from Bucharest
University; he joined the Yarmouk
University, 1982 in Jordan, as an
Assistant Professor and a Head of
Computer Science Department. In
1986 he moved to Collage of
Business Studies in Kuwait and
then moved back to Jordan in
Applied Science University as
Associate Professor and a Head of
Computer Science Department. In
2005 he moved to the Middle East University for Graduate
Studies in Jordan as an Associate Professor and a Dean of
Information Technology Faculty, he promoted to a professor
rank in August, 2008. Currently, he is a professor and advisor of
graduate studies at King Abdulaziz University, Saudi Arabia. His
research interests include areas of information security,
computer simulation, systems development, e-commerce, elearning and internet security and algorithm analyzes and
design. He has supervised many PhD's and masters degrees
research thesis and projects of diverse areas. He has published
more than 50 research papers in a multitude of international
journals and conferences, in addition to a nine books in the area
of computer sciences

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Comparison between Conventional and Fuzzy Logic PID

Controllers for Controlling DC Motors
Essam Natsheh1 and Khalid A. Buragga 2

Department of Management Information Systems, College of Applied Studies & Community Services, King Faisal University
Hofuf, Al-Hassa 31982, Saudi Arabia

Department of Information Systems, College of Computer Sciences & IT, King Faisal University
Hofuf, Al-Hassa 31982, Saudi Arabia

Fuzzy logic and proportional-integral-derivative (PID)
controllers are compared for use in direct current (DC) motors
positioning system. A simulation study of the PID position
controller for the armature-controlled with fixed field and fieldcontrolled with fixed armature current DC motors is performed.
Fuzzy rules and the inferencing mechanism of the fuzzy logic
controller (FLC) are evaluated by using conventional rule-lookup
tables that encode the control knowledge in a rules form. The
performance assessment of the studied position controllers is
based on transient response and error integral criteria. The results
obtained from the FLC are not only superior in the rise time,
speed fluctuations, and percent overshoot but also much better in
the controller output signal structure, which is much remarkable
in terms of the hardware implementation.

Keywords: Three-term controller, PID controller, fuzzy systems,

fuzzy logic controller, DC Motors.

1. Introduction
Lotfi Zadeh, the father of fuzzy logic, claimed that many
sets in the world that surrounds us are defined by a nondistinct boundary. Zadeh decided to extend two-valued
logic, defined by the binary pair {0, 1}, to the whole
continuous interval [0, 1], thereby introducing a gradual
transition from falsehood to truth [1].
Fuzzy control is a control method based on fuzzy logic.
Just as fuzzy logic can be described simply as "computing
with words rather than numbers"; fuzzy control can be
described simply as "control with sentences rather than
equations". A fuzzy controller can include empirical rules,
and that is especially useful in operator controlled plants.
A comprehensive review of the classical design and
implementation of the fuzzy logic controller can be found
in the literature [2], [3], [4]. A fuzzy IF-THEN rule-based
system consists of the following modules [5], [6]:

Fuzzification: Converting crisp facts into fuzzy sets

described by linguistic expressions. Membership
functions can be flat on the top, piece-wise linear and
triangle shaped, rectangular, or ramps with horizontal
Inference: The fuzzy IF-THEN rule expresses a fuzzy
implication relation between the fuzzy sets of the
premise and the fuzzy sets of the conclusion. The
following steps describe this process:
1. Matching of the facts with the rule premises
(determination of the degree of firing DOF of the
facts to the rule premises).
2. If the rule contains logic connections between
several premises by fuzzy AND or fuzzy OR the
evaluation is performed by t-norms or t-conorms
(the result gives then the DOF of the facts to the
complete premise).
3. Implication: The next step is the determination of
the individual rule output. The DOF of a rule
interacts with its consequent to provide the output
of the rule. It will be a fuzzy subset over the output
Aggregation: This process aggregates the individual
rule outputs to obtain the overall system output. It will
be also a fuzzy subset over the output universe (a
union operation yields a global fuzzy set of the
Defuzzification to obtain crisp output (various
defuzzification methods can be used, as, e.g., center
of gravity, bisector of area, and mean of maximum, to
obtain a crisp numerical output value).

A PID-like (proportional plus integral plus derivative,

PID) fuzzy logic controller (FLC), or simply PID-like
FLC, algorithms have been and continue to be a very
active and fruitful research field since Mamdani and
Assilian pioneering work on fuzzy controller in 1974 [3];
the controller is shown in Fig. 1. The impetus behind this


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

continuity of the subject lies largely in the fact the

conventional PID algorithms has been successfully used in
the process industries since 1940s [7] and remains the
most commonly used algorithm today, while numerous
application of fuzzy logic control (FLC) have immerged
covering a wide range of practical areas [8] and that many
software and hardware products for fuzzy control have
been commercialized during the last few years.

allows a novice to construct a set of membership functions

for a specific linguistic variable systematically.

2.1 Ideal PID-like FLC

A comprehensive review of the classical design and
implementation of the ideal PID-like FLC can be found in
[3], [6]. The control law can be realized by:
U (k) = F (e (k), se (k), de (k))

Z -1

e (kT)

U (k)
se (kT)





de (kT)

Fig. 1 PID-like fuzzy logic controller.

Because designing methods of PID-like FLC emulates

human control strategy, their principles are easy to
understand for non-control specialists. During the last two
decades, designing methods of conventional PID-like
controller have been using more and more advanced
mathematical tools. This is needed in order to solve
difficult problems in a rigorous fashion. However, this
also results in fewer and fewer practical engineers who
can understand these design methods. Therefore, practical
engineers who are on the front line of designing consumer
products tend to use the approaches that are simple and
easy to understand. Design method of the PID-like FLC is
just such approaches. The objective of this paper is to
identify and study the designing method of the PID-like
The remaining of this paper is organized as follows:
Section 2 is presents the designing of the PID-like FLC.
Comparing the performance of conventional PID and PIDlike FLC design methods using second-order armaturecontrolled DC motor and third-order field-controlled DC
motor as a case studies are presented in section 3. Finally,
section 4 presents the conclusion.

2. Designing the PID-Like FLC

In the following section, we propose a design method for a
PID-like FLC. A simple mean for designating membership
functions for the PID-like FLC is presented. This method



where e (k), se (k) and de (k) are error, integral of error

and rate of change in error, respectively; U (k) is the
control action and the function F is the control law that is
described by a rule-base. The reasoning algorithm
translates the set of vague rules into a mapping:
U (k) = f (e (k), se (k), de (k))

U k K P e k K i se k K d de k
that is similar to the ideal PID control algorithm:


The major problem to this design method is that it is

difficult to write rules for the integral action [9]. Another
problem is integrator windup. Windup occurs when the
actuator has limits, such as maximum speed for a motor.
When the actuator saturates, the control action stays
constant, but the error will continue to be integrated, the
integrator winds up. The integral term may become very
large and it will then take a long time to wind it down
when the error changes sign. Large overshoots may be the

2.2 Rule-base Matrix of the PID-like FLC

In the following we shall discuss the nature of the rules
contained in the PID-like FLC rule-base. The typical
response of the second-order and third-order systems is
shown in Fig. 2.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
Fig. 2 The general response of the second-order and third-order systems.

According to the sign and magnitude of error e (k) and its

change de (k), the response plane is roughly divided into
five zones. The index used for identifying the response
zones is defined as [11], [12]:


maintained. The rules that belong to this zone

realize meta-rule 1.
To design PID-like FLC, we propose three-dimensional
rule-base matrix described in Table 2, where N, Z, and P
are the linguistic labels negative, zero, and positive of the
term sets error, change of the error, and sum of the error.
Table 2: Rule-base matrix of the PID-like FLC

Z2: e < 0 and de < 0,

Z1: e > 0 and de < 0,
Z4: e > 0 and de > 0,
Z3: e < 0 and de > 0,
Z5: e 0 and de 0.
So, we can identify five main homogenous zones in PIDlike FLC rule-base, as shown in Table 1, where N, Z, and
P are the linguistic labels negative, zero, and positive of
the term sets error, change of the error, and sum of the

Change of the error







Sum of the error




Change of the error

Sum of the error



2.3 Optimizing the Membership Functions

Table 1: State plane of the PID-like FLC rule-base



Tang and Mulholand [13] propose the following three

MR1: If both e (k) and de (k) are zero, then maintain
present control setting.
MR2: If conditions are such that e (k) will go to
zero at a satisfactory rate, then maintain present
control setting.
MR3: If e (k) is not self-correcting, then control action
U(k) is not zero and depends on the sign and magnitude of
e (k) and de (k).
Yager and Filev [6] use these three meta-rules to analyze
the general rule-bases of the FLC as follows:
In zone 1 and 3 the error is self-correcting and
U(k) is almost zero; that is, the control variable
remains at its present setting. The rules of these
zones realize meta-rule 2.
In zone 2 and 4 the errors are not self-correcting
and consequently negative and positive,
respectively, control action U (k) applies. The
magnitude of U (k) changes with respect to the
magnitudes of e (k) and de (k). The rules
associated with these zones are related to metarule 3.
In zone 5 both e (k) and de (k) are close to zero.
The system is in a steady state and U (k) is almost
zero, that is, the present control setting is

In real applications of FLC, the membership functions are

constructed by assembling knowledge from the experts
and then modified by laboriously surveying the control
response of the process. In most control cases, the FLC
cannot be effective without carefully arranging the
membership functions.
In the theoretical analysis of the FLC, the selection of
membership functions does not get much attention from
the majority of researchers. Most use isosceles triangular
functions with equal spans throughout the whole universe
of discourse as membership functions for their FLCs [11],
[12], [17]. The main advantage of choosing this type of
membership function is that it eases the difficulties in
analyzing the structure of the FLC. However, almost all
the applications of FLC adopt non-equal span membership
functions to cope with the real control problems.
Instinctively, the closer the control response to the setpoint
(or normal condition), the narrow the membership
function range should be. For some highly nonlinear
processes a FLC with equal-span triangular membership
function is not adequate to achieve a good control result.



U x

K x




Fig. 3 Membership functions for fuzzy variable x.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

For fuzzy variable x with universe of discourse [Ux, Ux]

and three fuzzy sets negative, zero, and positive we use the
membership functions shown in Fig. 3 to represent them.
The problem is simplified to be the determination of Kx
point in each fuzzy variable.
To accomplish a better performance and to devise a
systematic method to obtain optimal membership
functions, we propose the following algorithm:
Determine the universe of discourse Ux for each fuzzy
Initialize Kx value to each fuzzy variable to be Kx = Ux / 2;
Initialize IAE and ITAE to large values;
For i=1 to max number of epochs to refinement all Kx
For j=1 to min number of epochs to refinement one
Run the experiment and get new_IAE and
new_ITAE ;
If ((new_IAE < IAE) and (new_ITAE < ITAE))
IAE = new_IAE ;
ITAE = new_ITAE ;
Save Kx ;
End if
If ((new_IAE IAE) and (new_ITAE ITAE))
Kx = Kx increase_ratio;
Kx = Kx decrease_ratio;
End if
End for
End for
We suggest using decrease_ratio and increase_ratio as 0.9
and 1.05 respectively. IAE and ITAE are defined as

Integral of the absolute of the error (IAE) defined by:

IAE e t dt

The integral of time multiplied by the absolute of

error (ITAE) defined by:

ITAE t e t dt

where e (t) is the measured error. The calculation in the

studies was implemented by substituting an algebraic sum
for the integrals [8]. IAE accounts mainly for error at the
beginning of the response and to a lesser degree for the
steady state duration. ITAE keeps account of errors at the
beginning but also emphasizes the steady state [10].


3. Performance Analysis of the PID-Like FLC

3.1 Introduction
Having designed a fuzzy PID-like controller, it is
important to validate its performance and compare it with
conventional PID controllers. Analyzing time responses
usually makes such evaluations. But simply examining the
behavior of a controller is not enough to validate its
performance or prove that it is better or worse than other
controllers are. In the next section, we suggest using two
performance measures with two simulated systems. The
objectives of the simulation are to demonstrate the
feasibility of the fuzzy PID-like design method when
applied to second order systems and third order systems.
Then we compare their performance with the performance
of conventional design method.
In the following section, we present the performance
measures that will be used during this study. In section
3.3, we present the applications that will be used in testing
and analyzing the performance. Section 3.4 presents
implementation technique for the PID-like FLC. The
simulation results of this controller will be presented in
section 3.5.

3.2 Performance Measures

To test our model, we choose to use two performance
measures. These measures will be used in analyzing the
performance of the PID-like FLC. They are:
1. Transient response: One of the most important
characteristics of control systems is their transient
response. The transient response is the response of a
system as a function of time. It can be described in
terms of two factors[18]:
The swiftness of response, as represented by the
rise-time (Tr).
The closeness of the response to the desired
response, as represented by the overshoot (Os)
and settling-time (Ts).
2. Error integral criteria: The performance was
evaluated by two frequently used error integral
criteria IAE and ITAE as was described in the
previous section.

3.3 Description of the Applications used in our Study

Two types of direct current (DC) motors are studied to
examine the performance correspond to various design
methods to design PID-like FLC.
DC motors are classified into several broad categories.
They are described in [24]. The DC motors have

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

separately excited-field, in which the field winding is

separate from the armature. They are either armaturecontrolled with fixed field or field-controlled with fixed
armature current [16], as shown in Fig. 4.


where Km is motor gain constant and Tm is motor time

constant. For simplicity, we assume that Km = 1 newtonm/amp and Tm = 1 second.

3.3.2 Field-controlled DC Motors

Separately excited-field
DC motors

DC motors

The transfer function between the output angular

displacement of this motor shaft (t) and its input control
action U (t) is given by [16]:

U s s T f s 1 Tm s 1

DC motors

Fig. 4 Separately excited-field DC motors.

DC motors whether armature-controlled or fieldcontrolled, are used in our simulation. The block diagram
of such systems is shown in Fig. 5. The control objective
for both types of DC motors is to reach a specified motor
position using an appropriate input drive voltage.
A zero-order holder device is used to keep a constant
controller output during each interval. The PID controller
inputs are defined as follows:
e kT setpo int t position t | t kT

e kT e k 1 T

se kT se k 1T T e k 1T

de kT

here T is sampling interval time; setpoint(t) and position(t)

are reference and process output that is the angular
displacement of the motor shaft.

e (t)







Output (t)

Fig. 5 DC Motor system with PID-like FLC.

3.3.1 Armature-controlled DC Motors

Ogata [16] gives the transfer function between the output
angular displacement of the motor shaft (t) and the input
control action U (t):

U s s Tm s 1


where Km is motor gain constant, Tf is time constant of

field circuit and Tm is time constant of inertia-friction
element. For simplicity, we assume that Km = 1 rad/voltsec, Tf = 0.1 second and Tm = 1 second.

3.4 Implementation of the PID-like FLC

For simulating the design method of PID-like FLC, we
code the fuzzy inference system using C language; see
appendix A. In the implementation, MIN operator is
chosen as AND connective between the antecedents of the
rules of the FLC and as the fuzzy implication operation,
while MAX operator is chosen as OR connective between
the individual rules. Center of area (COA) is chosen as
defuzzification method [2], [14], which defined as:

x x


Here xi is a running point in a discrete universe, and (xi)

is its membership value in the membership function.
Having defined the fuzzy linguistic control rules, the
membership functions corresponding to each element in
the linguistic set must be defined. We use optimal
membership functions method described in the previous
section to define the membership functions for e, de, se
and U linguistic variables. These membership functions
used for both DC motor systems types, have universe of
discourse of e, de, se and U as [-50 50], [-40 40], [-100
100], and [-40 40] respectively.
For designing PID-like FLC for both DC motor types, 50
radian were used as desired angular displacement of the
motor shaft and sampling interval time T were used as 1

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


3.5 Simulation Results

Comparisons between step responses of armaturecontrolled DC motor and field-controlled DC motor
systems using conventional PID controller and the PIDlike controller are shown in Fig. 6 and Fig. 7 respectively.
Table 3 and Table 4 compares the transient response and
error integral criteria of those two systems.

Fig. 7 Step response of field-controlled DC motor system using

conventional and fuzzy PID controllers.

Table 4: Performance comparison of field-controlled DC motor system

Fig. 6 Step response of armature-controlled DC motor system using

conventional and fuzzy PID controllers.

Table 3: Performance comparison of armature-controlled DC motor


PID controller
Using PID-like







PID controller
Using PID-like








Throughout the experiments, we assumed the operating

condition for both controllers was fixed and there were no
motor parameters and motor load variations. From the
running results as shown in Fig. 6 and Fig. 7, the PID-like
FLC performed better than that of the conventional PID
Taking the conventional PID controller as a base system,
Table 5 shows the percentage of improvement of PID-like
FLC over conventional PID controller. From this table its
shown that using the PID-like FLC with armaturecontrolled DC motor, took about 58% less time than that
of conventional PID controller to reach the desired
position and 43% with field-controlled DC motor system.












Table 5: Percentage of improvement of PID-like FLC over conventional

PID controller



Armaturecontrolled DC
motor system
Fieldcontrolled DC
motor system


















The simulation results for the system with PID-like FLC

shows a constant speed behavior in the steady state for
both cases aforementioned. Moreover, a very fast rise time
without a large overshoot and a very low percentage of
speed fluctuations are also observed in the step responses
when compared to the conventional PID controller cases.
When the voltages obtained by the PID-like FLC in both
cases are compared with the ones in conventional PID
control results, an almost constant steady state behavior is
observed. Indeed, a vigorous change in the controller
output to be used as an input voltage to the motor as in the
PID case is not realizable in a real time hardware
implementation. The reason for getting such a smooth

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

controller output in the PID-like FLC case is because of

the fact that PID-like FLC updates the controller output by
making comparison of the error and the change of error in
the angular displacement of the motor shaft. In this way, a
robust and a realizable controller output signal is obtained.
These observations, on the other hand, successfully
demonstrate that the PID-like FLC to regulate the angular
displacement of the motor shaft of a DC motors is one of
the best selections in the mechanism control area.

4. Conclusions
The design and implementation of armature-controlled and
field-controlled DC motor system using both conventional
PID and PID-like FLC have been presented. Comparisons
of experimental results of the conventional PID controller
and PID-like FLC show that the PID-like FLC is able to
perform better than the conventional PID controller.
Results indicate that even without knowing the detail of
the control plants, we were able to construct a well
performed fuzzy logic controller based on the experience
about the position controller.
The authors would like to express their appreciation to
Deanship of Scientific Research at King Faisal University
for supporting this research.

[1] J. Jantzen, "Tutorial on Fuzzy Logic", Technical University
of Denmark: Department of Automation, Technical report
[2] J. Jantzen, "Design of Fuzzy Controllers", Technical
University of Denmark: Department of Automation,
Technical report number 98-E 864, 19 Aug 1998, URL:
[3] C. C. Lee, "Fuzzy Logic in Control Systems: Fuzzy Logic
Controller-Part I", IEEE Transactions on Systems, Man, and
Cybernetics, Vol. 20, No. 2, pp. 404-418, 1990.
[4] C. C. Lee, "Fuzzy Logic in Control Systems: Fuzzy Logic
Controller-Part II", IEEE Transactions on Systems, Man, and
Cybernetics, Vol. 20, No. 2, pp. 419-435, 1990.
[5] R. Isermann, "On Fuzzy Logic Applications for Automatic
Control, Supervision, and Fault Diagnosis", IEEE
Transactions on Systems, Man, and CyberneticsPart A:
Systems and Humans, Vol. SMC-28, No. 2, pp. 221-235,
[6] R. R. Yager and D. P. Filev, "Essentials of Fuzzy Modeling
and Control", John Wiley & Sons, 1994.
[7] T. E. Marlin, "Process Control: Designing Process and
Control Systems for Dynamic Performance", McGraw-Hill,


[8] J. Nie and D. A. Linkens, "Fuzzy-Neural Control: Principles,

algorithms and applications", Prentice Hall, 1995.
[9] J. Jantzen, "Tuning of Fuzzy PID Controllers", Technical
University of Denmark: Department of Automation,
Technical report number 98-H 871, 30 Sep 1998, URL:
[10] H. X. Li and H. B. Gatland, "Conventional Fuzzy Control
and Its Enhancement", IEEE Transactions on Systems, Man,
and CyberneticsPart B: Cybernetics, Vol. SMC-26, No. 5,
pp. 791-797, 1996.
[11] C. Liaw and J. Wang, "Design and Implementation of a
Fuzzy Controller for a High Performance Induction Motor
Drive", IEEE Transactions on Systems, Man, and
Cybernetics, Vol. SMC-21, No. 4, pp. 921-929, 1991.
[12] H. X. Li and H. B. Gatland, "A New Methodology for
Designing a Fuzzy Logic Controller", IEEE Transactions on
Systems, Man, and Cybernetics, Vol. SMC-25, No. 3, pp.
505-512, 1995.
[13] K. L. Tang and R. J. Mulholland, "Comparing Fuzzy Logic
with Classical Controller Designs", IEEE Transactions on
Systems, Man, and Cybernetics, Vol. SMC-17, No. 6, pp.
1085-1087, 1987.
[14] J. Jantzen, H. Verbruggen and J. Ostergaard, "Fuzzy Control
in the Process Industry: Common Practice and Challenging
Perspectives", Technical University of Denmark: Department
of Automation, URL:
[15] B. C. Kuo, "Automatic Control Systems", Prentice-Hall,
[16] K. Ogata, "Modern Control Engineering", Prentice-Hall,
[17] Z. Zhao, M. Tomizuka and S. Isaka, "Fuzzy Gain
Scheduling of PID Controllers", IEEE Transactions on
Systems, Man, and Cybernetics, Vol. SMC-23, No. 5, pp.
1392-1398, 1993.
[18] R. Dorf and R. Bishop, "Modern Control Systems",
Addison-Wesley, 1995.

Essam F. Natsheh obtained his PhD in Communications and

Networks Engineering from University Putra Malaysia in 2006.
Currently, he is an Assistant Professor at the Management
Information Systems Department, College of Applied Studies and
Community Services, King Faisal University (Saudi Arabia). Essam
has more than 15 years of teaching and research experiences in
Malaysia and Saudi Arabia. Also, he has more than 20
publications in refereed journals at international level. His research
interest is mobile ad-hoc networks, in particular, the development
of a new routing algorithm for this type of networking.
Khalid A. Buragga received the B.Sc. in Computer Information
Systems (CIS) from King Faisal University, Saudi Arabia, and the
M.Sc. in CIS from University of Miami, USA, and the Ph.D. in
Information Technology from George Mason University, USA. He is
currently an assistant professor at college of Computer Sc. & IT,
King Faisal University. His general research interests span the
areas of software design, development, quality, and reliability;
communications, networking and signal processing.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


A Robust and Secure Methodology for Network Communications

Mayank Srivastava1, Mohd. Qasim Rafiq 2 and Rajesh Kumar Tiwari3

Department of Computer Science, GLAITM

Mathura, U.P. 281406, India

Department of Computer Engg, Zakir Husain College of Engg. & Technology, AMU
Aligarh, U.P., India

Department of Computer Science, GLAITM

Mathura, U.P. 281406, India

With the rapid development of a network multimedia
environment, digital data can now be distributed much faster and
easier. To maintain privacy and security cryptographic alone is
not enough. In recent years, steganography has become attractive
vicinity for network communications. In this paper, an attempt is
made to develop a methodology which calculate the variance of
secret message (which the sender wishes to send) and
accordingly create a carrier file. This carrier file can be sent in
any network (secure & unsecure) without giving any doubt in the
attackers mind. The practical implementation of this has been
done on Microsoft platform. Experimental results show the
feasibility of the proposed techniques.
Keywords: Steganography, Cryptography, Image file, Stego file.

1. Introduction
The growing use of Internet need to store, send and
receive personal information in a secured manner. For this,
we may adopt an approach that can transfer the data into
different forms so that their resultant data can be
understood if it can be returned back into its original form.
This technique is known as encryption. However, a major
disadvantage of this method is that the existence of data is
not hidden. If someone gives enough time then the
unreadable encrypted data may be converted into its
original form.
A solution to this problem has already been achieved by
using a technique named with the Greek word
steganography giving a meaning to it as writing in
hiding. The main purpose of steganography is to hide
data in a cover media so that other will not notice it [10].

Steganography has been used in various forms for last

2500 years. It has found use in variously in military,

diplomatic, personal and intellectual property applications.

There are examples from history that serve to illustrate the
desire to hide messages or some type of intelligence from
others. Histaiacus shaved the head of a messenger, wrote a
note encouraging Aristagoras of Miletus to revolt against
the king of Persia. After the messengers hair grew back,
the messenger was dispatched with the message.
Obviously, this message wasnt especially time
constrained. Another human vector example includes
writing messages on silk, which would then be
compressed into a ball and covered with wax. The
messenger would swallow the wax ball. The
characteristics of the cover media depends on the amount
of secret data that can be hidden, the perceptibility of the
cover media and its robustness [4,5,6,7,10,18].
Publishing and broadcasting fields also require an
alternative solution for hiding information. Unauthorized
copying is hot issue in the area like music, film, book and
software. To overcome this problem some invisible
information can be embedded in the digital media in such
a way that no one can easily extract it [1,2,4].
Analogously, software industries have taken advantage of
another form of steganography, called watermarking,
which is used to establish ownership, identification, and
provenance [3,7].

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

2. Related Works
The most suitable cover media for Steganography is image
on which numerous methods have been designed. The
main reason is the large redundant space and the
possibility of hiding information in the image without
attracting attention to human visual system.
In this
respect, a number of techniques have been developed [1,7]
using features like

Masking and Filtering
Transform Technique

The method of substitution generally does not increase the

size of the file. Depending on the size of the hidden image,
it can eventually cause a noticeable change from the
unmodified version of the image [4,6]. Least Significant
Bit (LSB) insertion technique is an approach for
embedding information in a cover image. In this case,
every least significant bit of some or all of the bytes inside
an image is changed to a bit of the sink image. When
using a 24-bit image, one bit of each of the primary color
components can be used for the above purpose.
The masking and filtering techniques starts with the
analysis of the image. Next, we find the significant areas,
where the hidden message will be more integrated to cover
the image and lastly we embed the data in that particular
In addition to the above two techniques for message
hiding, transform techniques has also been employed in
embedding the message by modulating coefficients in a
transform domain. As an example, we may mention here
that Discrete Cosine Transform works by using
quantization on the least important parts of the image in
respect to the human visual capabilities.
The poor quality of recover image is the main drawback
with the proposed LSB algorithm by Anderson and
Petitcolas [11]. Raja [12] have proposed the least
significant bit-embedding algorithm where cover image
should always at least eight times larger than the sink
image. As a result of which it can be pointed out here that
a small image may not keep a large image. Marvel [6] has
proposed a spread spectrum image steganographic
technique for image carrier and able to conceal 5 kB of
secret data in 512 x 512 image size. Julio C. HernandezCastro [7] has given a concept for steganography in games
where the less robust technique saves only few parts of
total carrier files. Raja [8] concluded that three secret bits


can be embedded in one pixel. Amin [10] has given a

secured information hiding system which can only embed
60 kB message in 800 x 600 pixels image.
In conclusion, we can say that all of the above methods
used for embedding secret data works on the principle of
replacement of entire or some parts of the carrier file. Due
to this replacement policy, however, we are not able to
conceal high amount of secret data into the carrier file.
Further, the existence of carrier file gives a chance for
comparing and ultimately one tries to recover the hidden
data from the corresponding stego carrier file being
created. To overcome these problems, we have designed a
robust and secure methodology for network
communications. Here, based on the secret data we create
our own image file. Robustness, security and high capacity
are the major advantages with this methodology. For
practical implementation of the various steps of the
proposed methodology, we have framed an image creator
(IC) and secret data observer (SDO). The paper is
organized as follows. The proposed method is discussed in
Section 3. Section 4 describes the process of data retrieval.
Practical implementation and discussion about the
proposed method is given in Section 5 followed by
conclusion in Section 6.
provenance [3,7].

3. Proposed Methodology
It is the principle concept in steganography that one has to
take care to conceal the secret data in a carrier file such
that the combination of both the carrier and the
information embedded will never raise any doubt over it.
This carrier file can be sent in any communication media
for secured communication.
To achieve this, we propose here a model for
communication channel. The model is divided into two
parts. The first part (Sender Part) of the model takes the
secret data (which sender wish to send) make analysis and
accordingly creates an image file and sends to the receiver
end. The second part (Recipient Part) of the model
receives the image (stego image) and retrieves the secret
data and displays. The basic model of stego image file
creation is shown in Figure 1.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Fig. 1 Basic Model.

3.1 Sender Part

Secret data, which the sender wishes to keep confidential,
is the original message or data that is fed into the
algorithm as input. Here, we start our process by analyzing
the secret data. Initially we calculate standard deviation of
the secret data by converting it into three different
combinations. In the first arrangement, we take the
original secret data (i.e. without changing lower case to
upper case or vice versa) and compute the standard
deviation. The second combination is made by changing
all secret data into lowercase characters. The last
combination converts the secret data into corresponding
uppercase characters. One can find the standard deviation
of an entire population (all secret characters) in cases
where every member of a population is sampled. In cases
where that cannot be done, the standard deviation Sk is
estimated by examining a random sample taken from the
population (Fig.2). Example is given below.

The above examples suggest that the second combination

is most suitable since the deviation is comparatively small.
Here, we combine three characters of the transmitting data
to make a single pixel of the cover shapes. So, the
deviation and corresponding ASCII values are the
parameters for deciding the pixels of cover image. We
then move to the next stage

3.1.1 Image File creation:

Digital images are commonly of two types

8-bit images
24-bit images.

These images can be logically divided into two parts

named as header part and body part. The header part
consists of all preliminary information like file name, file
type, compression type, etc. and the body part keeps the
information of pixels. The image editing software,
mathematical software and electrical and electronic circuit
designing software tools are the best source for generating
the header part and body part of the carrier image file. The
file header part does not play any primary role in data
embedding. We mainly concentrate on the body part of the
carrier image file to hide the transmitting data. Thus, some
part of the carrier image file can be constructed by
geometrical shapes, hand sketch objects, different curves,
etc. Generally, methods generating plain curves are useful

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

for creating 2D drawing for general proposes, but for the

purpose of engineering application methods for smooth
space curves are more suitable and provide more realistic
picture (image) of any real-world object. Again, the space
curves may be needed in many computer graphics
application for representing 3D and 2D objects. Realworld objects around us are mostly 3D and inherently
smooth. Our own vision system is best suited to observe
3D objects. The computer display of 3D objects made up
of curved surfaces is expected to look natural, reflecting
real-world qualities. Therefore, much of computer
graphics and manufacturing processes, data plotting,
artistic sketch and animation all need spatial smooth
curves for achieving accurate representation of real-world
objects. By selecting the pre-existing shapes and
generating the new objects, we can create the body part of
the carrier image file. MatLab, CircuitMaker,
Mathematica, Multisim, image editing software, etc. are
the softwares by which this can be achieved. This solves
our purpose by making the body part of the carrier image
(see e.g. Fig 3).


Fig. 4 A hand sketched image

Further, shading, image rendering, texturing are the tools

that can be used to make the image more realistic. Shaded
images with a high degree of visual realism create the
impression that the images are realistic. Once the image is
formed, we start with different image realistic work
involving shading the image surfaces and then analyze
from the viewers point of view. The method of texturing
also plays a vital role in adding value to a model as shown
in Figure 5.

Fig. 5. Image after certain effects

Fig. 3 Image file format

One of the major advantages of this new methodology is

independencies of the size of the carrier file, that is, based
on the size of the input transmitting data, we generate the
required image file. For just an illustration we have shown
a normal image in Fig. 4

The stego key is known as password, which is a protection

fence for this methodology. After the creation of carrier
image file, we start the analysis of the distribution place of
the carrier image file and the secret data. Here, we can
introduce another layer of protection securities by
applying the mathematical formula. The secret data
distribution process begins with the given mathematical
formula that calculates the next pixel address location for
the secret data.
Mj = i + (j 1)*Y, j = 1, 2, 3
where Mj is the target location, i is the staring location
place, j gives the secret bit number and Y is the distance
between two consecutive location in carrier image file.
The series of location address for secret character can be
defined when i = 1 and Y = 10, as 1, 11, 21, 31, 41, 51.
For other requirements, we store the value of Mj in the
location buffer. This direct replacement of the pixel value
to the corresponding transmitting data character gives a
freedom to store three characters in one pixel, whereas,
the LSB methods require eight pixel to store same three
characters. Further, the extra advantage we can get here is

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


the size independency of the pre-existing carrier file. The

required pseudo code is given below.
Data Embedding
1DArray Cover_iamge = Load (Cover image, &length);
1D Array Stego_Image [ ];
1D Array Secret_data [ ];
1D Array ASCII_data [ ];
Integer L, I, J, K;
INPUT Secret_data;
/* Input the Data Store Position */
For i= 0 to Length (Secret_data [ ])
ASCII_data [ I ] = Secret_data [ i];
End For;
/* Secret Data Storing */
If Length (Secret_data [ ]) > Length (Cover_image [ ])
Print Secret Data size is more, Select other
Else Pixel_Place=L; J=1;
For I =L to Length (Secret_data [ ])
K= Secret_data[J];
SetColorValue (Stego_image [Pixel_Place],
&K );
End For ; End if;
SaveImage (Stego_image [])
RenameImage (Stego_image [ ], Cover_Image [ ] );
Remove Image (Stego_image [ ]);

3.1.3 Stego Image Coloring

After the secret data embedding process, we start the
colour filling procedure. Our algorithm initiates the first
step by the checking of the location buffer information and
in the next step, it selects the first pixel location and check
its presence in the location buffer. If the location buffer
values not match with the pixel address, the algorithm
changes the pixel intensities with the user supplied value.
We continue this process for the entire shape. Further, we
can add other shape, objects or text to make the embedded
carrier image to more realistic. Here, we have added an
extra text which makes the carrier image file into stego
image as shown in Fig.6.

Fig. 6. Stego Image

3.1.4 Image Transmission

At the end of the process the stego image can be
transmitted in any media (i.e. secure and none secure
both). Since we are creating a new image for each
transaction so any attacker cannot compare the stego file
with its original file this gives a good boost for sender and
receiver both.

3.2 Data retrieval

The embedded stego image can be retrieved back by using
the extraction algorithm. Generally, the extraction is the
reverse process of embedding the data into the image.
The received stego image is the primary input of the
model. The retrieval process takes the inputs of initial
pixel place, stego key and the mathematical formula by
which the transmitting data has been distributed. Based on
the next pixel location which is obtained by the
mathematical formula is generated and the corresponding
pixel ASCII value is converted into the characters. Finally,
with the aid of a grammar and dictionary, the transmitting
data is retrieved and fabricated as shown in Figure 8.
Following is the required pseudo code used for the
purpose of retrieval of the secret data.
Data_Extract ()
Array Stego_buffer=Load(stego_image, &Length)
String Secret_txt_buffer;
String Secret_buffer;

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Integer I, J, Y, A, L, M;
Integer Red, Blue, Green;
Input I, J, Y;
For ( A=1; A <= L; A++ )
Z = i + (j 1) *Y
IF ( Z== A) The
GetRGB (&Red, &Green, &Blue, Stego_buffer [A]);
Decode (Secret_buffer [M], Red);
Decode (Secret_buffer [M], Green);
Decode (Secret_buffer [M], Blue);


that can be hidden in the cover medium; security refers to

an eavesdroppers inability to detect hidden information;
whereas, the robustness is referred to the amount of
modification that can be made such that the stego medium
can withstand before an adversary can destroy the hidden
information. In this proposed system, we maintain all
above three aspects.
5. Conclusion
Security in secret data transmission has become a very
critical aspect of modern internet and intranet systems. In
this paper we have designed a novel and secure
methodology which creates a new image file, embeds the
secret data and transmit the stego file. At the receiver end,
the recipient extracts the secret data using the reverse of
the embedding process. As this methodology does not
depends on the size of the secret data so any one can send
any amount of data using any network or media across the
world in a completely secured form. As the new
methodology maintains two layers of protection, it is hard
to detect the secret information by any unauthorized

For (A=1; A< =M; A++)

Secret_txt_buffer [A]= Secret_buffer [M];

4. Practical implementation and discussion

Based on the above methodology, we have designed IC
(image creator) and SDO (secret data observer) in
Microsoft platform and it may further be implemented in
other programming platform like JAVA and C. The initial
steps of IC start with the analysis of the secret data; based
on the secret data, we select the shapes and objects; and by
using some mathematical formula, we distribute it into the
carrier image file. The next optional step prompts to user
for selecting the colour, pattern and texture filling. Finally,
the program asks for any other text, or shape selection for
more realistic view of the canvas and at the end stego
image is generated. SDO is reciprocal of the IC. We select
the stego image and input stego key with the defined
mathematical formula. Finally, we get the secret data in
output panel.
The three different aspects considered in any
information hiding system: capacity, security and
robustness. Capacity refers to the amount of information

[1]. G. Sahoo and R.K. Tiwari Designing an Embedded
Algorithm for Data Hiding using Steganographic Technique by
File Hybridization, IJCSNS International Journal of Computer
Science and Network Security, Vol. 8 No. 1 January 2008.
[2]. Donovan Artz Digital Steganography: Hiding Data within
Data, IEEE Internet computing, pp.75-80 May June 2001.
[3]. Mitchell D.Swanson, Bin Zhu and Ahmed H. Tewfik
0-7803-3258-x/96. 1996
[4]. M.M Amin, M. Salleh, S.Ibrahim, M.R. Katmin, and M.Z. I.
Shamsuddin Information hiding using Steganography IEEE 07803-7773-March 7, 2003.
[5]. Lisa M. Marvel and Charles T. Retter, A
IEEE 0-7803-4506-1/98, 1998
[6]. Bret Dunbar, A Detailed Look at Steganography techniques
and their use in an Open Systems Environment , January 18,
2002 SANS Institute.
[7]. C. Cachin, An Information Theoretic Model for
Steganography, inn proceeding 2nd Information Hiding
Workshop, vol 1525, pp.303-318, 1998.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

[8]. F.A.P
Peticolas, R.J. Anderson and M. G. Kuhn,
Information Hiding A Survey, in proceeding of IEEE, pp.
1062-1078, July 1999.
[9] Venkatraman. S, Ajith Abraham, Marcin Paprzycki
Significance of Steganography on Data Security , IEEE 0-76952108-8, 2004.
[10]. N.F. Johnson and S Jajodia, Exploring Steganography:
Seeing the Unseen , Computer, vol31, no. 2, Feb 1998, pp. 2634.
[11] Ross J. Anderson and Fabien A.P. Petitcoals On the Limits
of Steganography, IEEE Journal on Selected Areas in
Communications, Vol. 16 NO. 4 MAY 1998.
[12] K.B. Raja, C.R. Chowdary, Venugopal K R, L.M. Patnaik
A Secure Image Steganography using LSB, DCT, and
Compression Techniques on Raw Images, IEEE 0-7803-95883/05.
[13] S. Craver, On public-key steganography in the presence of
an active warden, In Second International Workshop on
Information Hiding, Springer- Verlag, 1998.
[14]. A. Allen, Roy (October 2001). "Chapter 12: Microsoft in
the 1980's". A History of the Personal Computer: The People and
the Technology (1st edition). Allan Publishing. pp. 1213. ISBN
[15]. Tsung-Yuan Liu and Wen-Hsiang Tsai, A New
Steganographic Method for Data Hiding in Microsoft Word
Documents by a Change Tracking Technique, Information
Forensics and Security, IEEE Transactions on Volume 2, No. 1,
March 2007 p.p 24 30.
[16]. Dekun Zou and Shi, Y.Q., Formatted text document data
hiding robust to printing, copying and scanning, Circuits and
Systems, IEEE International Symposium, Vol.5 , 2005 p.p- 4971
[17]. A Castiglione, A. De Santis, C. Soriente Taking advantage
of a disadvantage: Digital forensics and steganography using
document metadata The Journal of system and software 80
(2007) 750-764.
[18]. Sahoo, G. and Tiwari, R.K. (2010) Some new
methodologies for secured data coding and transmission, Int. J.
Electronic Security and Digital Forensics, Vol. 3, No. 2, pp.120


Mayank Srivastava completed his MCA from VBSPU in the year

2002 and currently pursuing M.Tech(Sequential) from GBTU,
Lucknow, Uttar Pradesh He is working as a Asst. prof. at GLA
Institute of Technology & Mgmt., Mathura, Uttar Pradesh since
Mohd. Qasim Rafiq completed his M.Tech in the year 1986 from
A.M.U, Aligarh, Uttar Pradesh. and the field of parallel
processing in the year 1996 from University of Roorkee, Uttar
Pradesh. Currently he is the Chairman of the Department of
Computer Engg., ZHCET, AMU, Aligarh, Uttar Pradesh.
Rajesh Kumar Tiwari received his MCA from Nagpur University in
2002 and PhD in the field of Data Security form Birla Institute of
Technology, Ranchi in the year 2010. Currently, he is a Reader at
GLA Institute of Technology & Mgmt,, Mathura, Uttar Pradesh,
India. His research is focused on data security, network security,
cloud computing and database management system.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

A New Approach of Using Association Rule Mining in Customer

Complaint Management
Behrouz Minaei-Bidgoli, Elham Akhondzadeh

Department of computer engineering, University of Science and Technology

Tehran, Iran

Department of industrial engineering, Shahed University

Tehran, Iran

A new approach of using data mining tools for customer
complaint management is presented in this paper. The association
rule mining technique is applied to discover the relationship
between different groups of citizens and different kinds of
complainers. The data refers to citizens' complaints from the
performance of municipality of Tehran, the capital of Iran.
Analyzing these rules, make it possible for the municipality
managers to find out the causes of complaints, so, it leads to
facilitate engineering changes accordingly. The idea of contrast
association rules is also applied to identify the attributes
characterizing patterns of complaints occurrence among various
groups of citizens. The results would enable the municipality to
optimize its services.
Keywords: association rule, customer complaint management,
e-government, data mining.

1. Introduction
With the advent of information and communications
technology (ICT), many governments have been
promoting using information systems to deliver services
and information to citizens effectively [1], [2]. Some
researchers have studied the adoption of IT and
technological innovations in public sector [3], [4], [5], [6],
[7], [8], [9], [10], [11], [12], [13]. Using such electronic
means in governments is defined as e-government that
facilitates providing services and helps governments to be
more citizen-oriented [1], [2].
One of the topics that is often included in this domain, is
the adoption of Customer Relationship Management
(CRM) in public sector. King (2007) [14] introduced CRM
as a key e-government enabler that uses ICT to collect and
store data which can then be used to discover valuable
knowledge about customers. Schellong (2005) [15]
introduced the concept of CiRM as a part of new
NewPublicManagement (NPM) that is included in the area

of e-government [13]. CiRM applies CRM in the private

sector focusing on citizens and uses IT to improve
relationship with them [1], [13], [15], [16], [17].
Call centers and citizens' voice databases are among the
common ways to connect between the government and
citizens [1], [13], [16]. Furthermore, the databases could
be analyzed in order to improve government policies [1].
One of the effective techniques that can be used in
analyzing the customer data is data mining that have been
widely used in this domain [18]. Many researchers have
focused on using data mining tools in CRM and according
to Ngai et al. (2009) [18], the research on it will increase
in the future.
In this paper, focusing on CiRM, we use data mining tools
to extract useful information from a citizens' complaints
database in Iran. Customer complaint management is one
of the elements of customer retention that is crucial for
successful management of customers' needs [18].
According to a survey research [18] on using data mining
techniques in CRM, only a few studies (two papers) have
examined the application of data mining tools in complaint
management. These two papers which were conducted by
Bae et al. (2005) [19] and LarivieRe and Poel (2005) [20],
discussed the use of clustering and sequence discovery
respectively. Compared to the other elements of customer
retention, the number of papers regarding the application
of data mining in complaint management (2 out of 54
papers) is low and further researches are needed to be
carried out on this field [18].
In this paper, a new approach of using data mining tools in
complaint management is presented by applying the
association rule techniques. The apriori algorithm is
implemented to discover the associations between
different variables and the type of complaints.
Several researchers believe that behavioral variables are
better predictors in comparing with the non-behavioral


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

variables [21], [22], [23]. Some kinds of these variables

such as demographic and cultural characteristics are also
considered in this study. Citizens are grouped according to
the variables and the idea of contrast association rule
mining is applied to compare the citizens' complaints
according to their behavioral characteristics.
The remaining of this paper is organized as follows: in
section 2, the association rule and the apriori algorithm is
discussed. The application of association rule and results
are shown in section 3. Finally, section 4 includes the
concluding remarks.

2. Methodology
In this section, we discuss the association rule and apriori
algorithm that are used in analyzing the customer data.

2.1. Association rule

The concept of association rule is originated from the
market basket analysis which aims to identify frequent
itemsets in a supermarket shopping [24], [25], [26].
The main idea is to find products that are frequently
bought together for improving marketing strategies [24].
Besides the market basket analysis, cross selling programs
are also introduced as another common use of association
rule mining. This technique is ranked after neural network
and decision tree among the data mining tools which have
been used for CRM [18].
An association rule is presented in the form A B,
where A B . A is the antecedent of the rule and B is
its consequent. It means that when A occurs, B occurs with
certain probability. The strength of association rules is
often evaluated by means of the support and confidence
measures. These two measures are defined as follows:


threshold. At the second step, the minimum confidence

threshold is applied to select the rules [27].

2.3. Implementation of association rule mining in

complaint management
In this section, the mining process is described. Firstly, we
extract the association rules among the geographical
location in which citizen lives, time fields and the subject
of complaint in order to find out the correlation between
these fields and type of complaint. By analyzing these
associations, the municipality managers can find the
primary subjects and the causes of complaints in different
regions. The analyzing process will be more explained in
section 3.
Next, we apply the idea of contrast association rule mining
in the data in order to compare the type of complaints of
different citizen groups according to their demographical
and cultural characteristics. The idea of contrast
association rules was presented by Minaei-Bidgoli et al.
(2004) [29]. The main purpose of mining such rules is to
discover interesting differences between segments of a
population. In this study, citizens are categorized
according to gender and education as demographical
variables and cultural characteristics. For example, to find
out the impact of gender of citizens on the type of
complaint, the dataset is divided into male and female
subsets. After that, we try to find those rules with the same
antecedent and consequent but notable difference in
support and confidence measures. By investigating these
rules, we can thus understand similarities and conflicts
between the requirements of males and females.
Both of educational and cultural characteristics could be
examined in a similar manner using the same approach.
The dataset is divided into graduated and non-graduated
subsets in the case of education variable while it is
categorized into 9 groups according to experts' opinions in
the case of cultural characteristics.

Support ( A, B) Count ( A, B) / The total number of records (1)

Confidence ( A B ) Count ( A, B ) / Count ( A)


2-2- Apriori Algorithm

Apriori is one of the common tools [18] and the basic
algorithm for finding frequent itemsets [28]. This
algorithm was proposed by Agrawal and R. Srikant in
1994 [28] and is the first technique that controls the
exponential growth of candidate itemsets. It uses the
support for pruning candidate itemsets [27].
This algorithm is composed of two major steps, the
generating frequent itemsets and finding the association
rules from found frequent itemsets. At the first phase, it
finds the itemsets that have the minimum support

3. Case study
In this section, the association rule mining is applied to
discover the relationship between different citizens and the
type of their complaints in the case of Tehran

3.1. Research data and preprocessing

The citizens' data of a call center system in Iran are
analyzed. The system belongs to the Tehran municipality.
Its mission is to evaluate the performance of municipality.
Citizens can call to this center and thank, criticize,
complaint or give their opinions about the performance of
managers, employees and different operating units of the

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

The data includes 190135 records of citizens' messages

from spring 2008 to spring 2010. An example of the data
is shown in table 1. Each row of this table provides
information of a particular message. The definition of
fields is represented in table 2. The initial analysis of the
data implies that 90 percent of the citizens' calls relate to
their complaints which we concentrate on in this study.
After handling the duplicate data, missing values and
outliers, the "season" feature was created.
Table 1: an example of data

t ID












Table 2: the definitions of fields


Subject ID
Message Time
Citizen Region


Citizen Gender
Citizen Education

The subject of citizen call
The time of citizen call
The geographical location of
where the citizen lives
Male or Female
The degree of citizen education
such as BSc, MSc, PhD.


Examples of the association rules are shown in table 3.

CR, Se and S in the antecedent and consequent
explanation stand for "citizen region", "season" and
"subject" respectively. The fourth and fifth columns show
the support and confidence metrics, respectively.
For example, the first three rules represent the occurrence
confidence of three kinds of complaints in region 10 which
are more important for citizens living in this region. The
first rule implies that more than 70% of citizens'
complaints in this region are against the urban service
management system of the municipality. The occurrence
confidence of this subject is more than 70% and can be
noted as the primary factor that causes complaints in this
region. The administrative-financial and delinquency of
employees and managers are detected as the second
priority subjects. The 7% remaining complaints refer to
other issues which have been occurred with a confidence
less than 5.
The next three rules state the occurrence confidence of
complaints in region 11. As shown in the rows 4 and 5,
most of the complaints are related to the administrativefinancial matters but with a little difference with the urban
service management system. 10% of the complaints refer
to the contractors of the municipality. Obviously, the 33%
remaining complaints occurred with a low confidence and
are not important for citizens in this region.
In a like manner, the rules 7-11 show the occurrence
confidence of different kinds of complaints in region 22 in
Table 3: the results of association rules between "citizen region",
"season" and "subject" attributes




CR = 10

CR = 10

3.2.1. Region, season and type of complaint

CR = 10

As discussed before, the association rules between 'citizen

region', 'season' and 'subject' have been extracted to find
out the correlation between geographical location, time
and the type of complaint. The confidence level is set to
5%. Choosing a very low minimum confidence make it
possible to find those kinds of complaints that occurred
with a low confidence. By comparing these rules with the
ones that have a high confidence, ranking the subjects
based on their importance is possible. Analyzing these
rules, we can find those kinds of subjects that cause
complaint more than the others or the ones that are not
important for citizens.
In analyzing the rules in the above manner, if a subject
occurred in a particular region with a confidence more
than 70%, it can be notable as the primary factors that
cause complaints in that region.

CR = 11

CR = 11


CR = 11
CR = 22
and Se =
CR = 22
and Se =
CR = 22
and Se =
CR = 22
and Se =

S = the urban servic

management system
S = AdministrativeFinancial matters
S = delinquency of
employees and managers
S = AdministrativeFinancial matters
S = the urban servic
management system
S = Contractors
S = AdministrativeFinancial matters

3.2. Association rule mining

In this section, we discuss the results of the presented
mining process.














S = delinquency of
employees and managers



S = Transportation and






IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

3.2.2. Demographical characteristics and type of

In this section, we want to answer the question "is there
any conflict between males and females' complaints or
graduated and non-graduated citizens' complaints? As
described in section 2, we answer to this question using
contrast association rule mining.
Some of the rule which is obtained in this manner is
presented in table 4. SE in the antecedent explanation
stands for "citizen education". The other variables are
defined as before.
A minimum confidence of 5% was chosen to obtain as
many rules as possible.
Table 4: contrast rules in males and females








CR = 13 and
CR = 13 and
CE = BSc
CR = 22


CR = 22

S = socialcultural
S = socialcultural
and traffic
and traffic








The first two rules indicate that females with a Bachelor of

Science (BSc) education degree living in region 13
complain on the social-cultural subjects with a high
confidence, but males of this region with similar education
degree feel displeasure on this subject with a low
confidence. The support of the first rule is also more than
second one. These two rules imply that there is a close
correlation between gender and the complaints which
relate to social- cultural subjects.
Analyzing the third and fourth rules make it possible to
compare the importance of transportation and traffic
subjects between males and females.
These rules are not unexpected and can validate the results
to some extent.
In a like manner, the dataset has been divided into
graduated and non- graduated subsets and the contrast
rules have been extracted. Table 5 lists some of these
rules. CG stands for citizen gender. Other variables are
defined as before.
Based on the rules 1 and 2, there is a contrast between
graduated males and non-graduated males' complaints in
region 14. These rules show that the "delinquency
employees and managers" subject for graduated males is
more important than non-graduated males in this region,
with a notable difference.


Table 5: contrast rules in graduated and non-graduated citizens







CR = 14
and CG =
CR = 14
and CG =
CR = 12
and CG =
CR = 12
and CG =

S = delinquency
of employees
and managers
S = delinquency
of employees
and managers
S = the urban
S = the urban









There is a high difference between confidences of the rules

3 and 4. Non-graduated males complaint on the
performance of urban service management system of
municipality with a high confidence, but graduated males
complaint with a lower confidence. This rule is neither
expected nor unexpected and should be investigated by
municipality experts.

3.2.3. Cultural variables and type of complaint

In order to investigate the correlation between cultural
characteristics and type of citizens' complaints, dataset is
segmented into 9 groups based on the experts' opinions.
The segmentation is done by dividing geographical regions
into different groups according to cultural characteristics.
Similar to the previous section, the association rules have
been extracted. These rules are illustrated in table 6.
Analyzing these rules give us an idea about the type of
complaints in different citizens' groups. For example rules
1-9 show that the most important subject for males with a
BSc education degree in segments 3, 4 and 1 is the
performance of urban service management system, while
males with a BSc education degree in other segments
complaint on this subject with a very low confidence.
More than 5000 contrast rules are obtained in this section.
With such a great number of rules and different kinds of
attributes, it is too difficult to check all the rules. But in the
case of males with a BSc education degree, we can say
that the occurrence patterns of different kinds of
complaints are alike in segments 3, 4 and 1 with a high
difference to other segments which are similar to each

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
Table 6: contrast rules in different citizens' groups





CE = BSc
and CG =
CE = BSc
and CG =
CE = BSc
and CG =
CE = BSc
and CG =

S = The urban
S = The urban
S = The urban
S = The urban














4. Conclusion
Using association rule mining in customer complaint
management is the main purpose of this paper. The data of
citizens' complaints on Tehran municipality were
analyzed. Using this technique made it possible to find the
primary factors that cause complaints in different
geographical regions in different seasons of the year.
The idea of contrast association rules was also applied to
discover the variables that influence complaints
occurrence. In order to accomplish this objective, citizens
were grouped according to the demographical and cultural
characteristics and the contrast association rules were
The results show that there is a strong relationship between
citizen gender and education and patterns of complaints
occurrence. Given have been focused on cultural
characteristics, it is notable that some segments are alike,
while other segments are similar. Applying this approach
for CiRM shows an understandable way for clustering the
data using the feature impact on finding similar clusters.

We are thankful to our colleagues in Data Mining
Laboratory in Computer Engineering Department at Iran
University of Science and Technology for their
cooperation and support. This work is also partially
supported by Data and Text Mining Research Group at
Computer Research Center of Islamic Sciences, NOOR co.
Tehran, Iran.


T. Sasaki, , Y. A.Watanabe and K. Minamino,K, "An

Empirical Study on Citizen Relationship Management in












Japan", in PROC. PICMET conference of IEEE Xplore.,

2007, Portland, Oregon USA.
SH. Paul, "A case study of E-governance initiatives in
India", The International Information & Library Review,
Vol.39, 2007, pp.176184.
J. L. Brudney and S. C. Selden, "The adoption of innovation
by smaller local governments: The case of computer
technology", The American Review of Public,
Administration, Vol.25, No.1, 1995, pp.7186.
J. L. Perry and K. L. Kraemer, Technological innovation in
American local governments: The case of computing, New
York: Pergamon Press, 1979.
D. Bugler and S. I. Bretschneider, Technology push or
program pull: Interest in new information technologies
within public organizations. In B. Bozeman (Ed.), Public
management: The state of the art, San Francisco: JosseyBass, 1993.
C. C. Hinnant and J. A. O'Looney, "Examining pre-adoption
interest in online innovations: An exploratory study of eservice personalization in the public sector", IEEE
Transactions on Engineering Management, Vol.50, No.4,
2003, pp.436447.
N. Al-Qirim, "Personas of e-commerce adoption in small
businesses in New Zealand", Journal of Electronic
Commerce in Organizations, Vol.4, No.3, 2006, pp.1745.
F. Damanpour, "Organizational innovation: A meta-analysis
of effects of determinants and moderators", Academy of
Management Journal, Vol.34, No.3, 1991, pp.555590.
J. L. King, V. Gurbaxzni, K. L. Kraemer, F.W. McFarlan,
K. S. Raman and C. S. Yap, "Institutional factors in
information technology innovation", Information Systems
Research, Vol.5, No.2, 1994, pp.139169.
K. Layne and J. Lee, "Developing fully function EGovernment: A four stage model", Government Information
Quarterly, Vol.18, No.1, 2001, pp.122136.
L. G. Tornatsky and M. Fleischer, The process of
technological innovation, Lexington, MA: Lexington
Books, 1990.
M. M. Brown, "Understanding E-Government benefits",
American Review of Public Administration, Vol.37, No.2,
2007, pp.178197.
C. G. Reddick, "The adoption of centralized customer
service systems: A survey of local governments",
Government Information Quarterly, Vol. 26, 2009, pp. 219
S. F. King, "Citizens as customers: Exploring the future of
CRM in UK local government", Government Information
Quarterly, Vol.24, 2007, pp. 4763.
A. Schellong, "CRM in the public sector: Towards a
conceptual research framework", in Proceedings of the 2005
national conference on digital government research (Atlanta,
Georgia, May 1518, 2005.
A. Schellong and T. Langenberg, "Managing citizen
relationships in disasters": Hurricane Wilma, 311 and
Miami-Dade County. In Proceedings of the 40th annual
Hawaii international conference on system sciences, January
0306, 2007.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
[17] R. Silva and L. Batista, "Boosting government reputation












through CRM", The International Journal of Public Sector

Management, Vol. 20, No.7, 2007, pp.588-60.
E.W.T. Ngai, L. Xiu and D.C.K. Chau, "Application of data
mining techniques in customer relationship management: A
literature review and classification", journal of Expert
Systems with Applications, Vol. 36, 2009, pp. 25922602.
S. M. Bae, S. H. Ha and S. C. Park, "A web-based system
for analyzing the voices of call center customers in the
service industry", Expert Systems with Applications,
Vol.28, 2005, pp.2941.
B. LarivieRe and D. V. D. Poel, "Investigating the postcomplaint period by means of survival analysis", Expert
Systems with Applications, Vol. 29, 2005, pp.667677.
C. M. Heilman, F. Kaefer and S. D. Ramenofsky,
"Determining the appropriate amount of data for classifying
customers for direct marketing purposes", Journal of
Interactive Marketing, Vol.17, No.3, 2003, pp.528.
P. E. Rossi, R. E. McCulloch and G. M. Allenby, "The
value of purchase history data in target marketing",
Marketing Science, Vol.15, No.4, 1996.
A. Prinzie1, D.V.D. Poel, "Constrained optimization of
data-mining problems to improve model performance: A
direct-marketing application", Expert Systems with
Applications, Vol.29, 2005, pp.630-640.
J. Ahn and S. Young, "Customer pattern search for after
sails service in manufacturing", Journal of Expert Systems
with Applications, Vol.36, 2009, pp.53715375.
R. Agrawal, and R. Srikant, "Fast algorithm for mining
association rules", In Proceedings of the Twentieth
International Conference on Very Large Databases, 1994,
pp. 487499.
Q. Yang, L. Tianyi, and K. wang, "Building AssociationRule Based Sequential Classifiers for Web-Document
Prediction", Data Mining and Knowledge Discovery, Vol.8,
2004, pp. 253273.
P. Tan, M. Steinbach and V. Kumar, "Introduction to Data
Mining", Addison Wesley, ISBN: 0-321-32136-7, 2006.
J. Han and M. Kamber, Data Mining: "Concepts and
Techniques, Second Edition", Morgan Kaufman Publisher,
B. Minaei-Bidgoli, P. Tan and W. Punch, "Mining
interesting contrast rules for a web-based educational
system", In International conference on machine learning
applications, Los Angeles, California, 2004, pp.18.

Dr.Behrouz Minaei-Bidgoli obtained his Ph.D. degree from Michigan

State University, East Lansing, Michigan, USA, in the field of Data
Mining and Web-Based Educational Systems in Computer Science and
Engineering Department. He is working as an assistant professor in
Computer Engineering Department of Iran University of Science &
Technology, Tehran, Iran. He is also leading at a Data and Text Mining
research group in Computer Research Center of Islamic Sciences, NOOR
co. developing large scale NLP and Text Mining projects for Persian and
Arabic languages.
Elham Akhondzadeh received the M.Sc. degree in industrial
engineering from university of Shahed. She is interested in data mining


studies and its applications. Her current researches focus on using data
mining in citizen relationship management.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

A Three Party Authentication for Key Distributed Protocol Using

Classical and Quantum Cryptography
Suganya Ranganathan1, Nagarajan Ramasamy2 , Senthil Karthick Kumar Arumugam3, Balaji Dhanasekaran4, Prabhu
Ramalingam , Venkateswaran Radhakrishnan , and Ramesh Karpuppiah
Assistant Professors, Master Of Computer Applications, Bharathiar University, Nehru College Of Management
Coimbatore, Tamilnadu 641105, India.

In the existing study of third party authentication, for
message transformation has less security against attacks
such as man-in-the-middle, efficiency and so on. In this
approach, we at hand give a Quantum Key Distribution
Protocol (QKDP) to safeguard the security in larger
networks, which uses the combination of merits of
classical cryptography and quantum cryptography. Two
three-party QKDPs, one implemented with implicit user
authentication and the other with explicit mutual
authentication, which include the following:

Security against such attacks as the man-in-themiddle, eavesdropping and replay.

Efficiency is improved as the proposed protocols
contain the fewest number of communication
rounds among the existing QKDPs.
Two parties can share and use a long-term secret

To prove the security of the proposed schemes, this work

also presents a new primitive called the Unbiased-Chosen
Basis (UCB) assumption.
Keywords: .Third Party Authentication, QKDP, Preliminaries,
3AQKDP, Unbiased-Chosen Basis, Eavesdropping and Replay

product over the WWW (World Wide Web), users

sometimes transmits their credit card numbers over the
network. This is a dangerous thing to do since it is easy
for a hacker to eavesdrop on the network and read all the
packets that fly by. Therefore, users sometimes want to
encrypt the messages they send, with the goal of keeping
anyone who is eavesdropping on the channel from being
able to read the contents of the message.
The idea of encryption is simple enough. The sender
applies an encryption functions to the original plain text
message, the resulting cipher text message is sent over the
network, and the receiver applies a reverse function
known as the decryption to recover the original plain text.
The encryption/decryption process generally depends on a
secret key shared between the sender and the receiver.
When a suitable combination of a key and an encryption
algorithm is used, it is sufficiently difficult for an
eavesdropper to break the cipher text, and the sender and
the receiver can rest assured that their communication is
secure. The familiar use of cryptography is designed to
ensure privacy-preventing the unauthorized release of
information and privacy. It also is used to support other
equally important services, including authentication
(verifying the identity of the remote participant) and
integrity (making sure that the message has not been

1. Introduction
Computer networks are typically a shared resource used
by many applications for many different purposes.
Sometimes the data transmitted between application
processes is confidential, and the applications would
prefer that others be unable to read it. For example, when
purchasing a

2. Key Distribution Protocol and Its

Mechanism with Classical & Quantum
Key distribution protocols are used to facilitate sharing
secret session keys between users on communication
networks. By using these shared session keys, secure


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

communication is possible on insecure public networks.

However, various security problems exist in poorly
designed key distribution protocols; for example, a
malicious attacker may derive the session key from the
key distribution process. A legitimate participant cannot
ensure that the received session key is correct or fresh and
a legitimate participant cannot confirm the identity of
other participant. Designing secure key distribution
protocols in communication security is a top priority. In
some key distribution protocols, two users obtain a shared
session key via a Trusted Centre (TC). Since three parties
(two users and one TC) are involved in session key
negotiations, these protocols are called third-party key
distribution protocols, as in contrast with two-party
protocols where only the sender and receiver are involved
in session key negotiations.

2.1 Classical Cryptography

In classical cryptography, three-party key distribution
protocols utilize challenge response mechanisms or
timestamps to prevent replay attacks. However, challenge
response mechanisms require at least two communication
rounds between the TC and participants, and the
timestamp approach needs the assumption of clock
synchronization which is not practical in distributed
systems (due to unpredictable nature of network delays
and potential hostile attacks). Furthermore, classical
cryptography cannot detect the existence of passive
attacks such as eavesdropping. On the contrary, a
quantum channel eliminates eavesdropping, and therefore,
replay attacks. This fact can then be used to reduce the
number of rounds of other protocols based on challengeresponse mechanism to a trusted center.

2.2 Quantum Cryptography

In quantum cryptography, Quantum Key Distribution
Protocols (QKDPs) employ quantum mechanisms to
distribute session keys and public discussions to check for
eavesdroppers and verify the corrective ness of a session
key. However, public discussions require additional
communication rounds between a sender and receiver and
cost precious qubits. By contrast, classical cryptography
provides convenient techniques that enable efficient key
verification and user authentication.
Previously proposed QKDPs are the theoretical design
security proof and the physical implementation. A threeparty QKDP proposed in requires that the TC and each
participant preshare a sequence of EPR pairs rather than a
secret key. Consequently, EPR pairs are measured and


consumed, and need to be reconstructed by the TC and a

participant after one QKDP execution.

3. QKDPs Contributions
As mentioned, quantum cryptography easily resists replay
and passive attacks, where as classical cryptography
enables efficient key verification and user authentication.
By integrating the advantages of both classical and
quantum cryptography, this work presents 2 QKDPs with
the following contributions:

Man-in-the-middle attacks can be prevented,

eavesdropping can be detected, and replay attacks can be
avoided easily.

User authentication and session key verification

can be accomplished in one step without public
discussions between the sender and the receiver.

The secret key preshared by a TC and a user can

be long term which is repeatedly used.

The proposed schemes are first probably secure

QKDPs under the random oracle model.
In the proposed QKDPs, the TC and a participant
synchronize their polarization bases accordingly to a
preshared secret key. During the session key distribution,
the preshared secret key together with a random string
are used to produce another key encryption key to
encipher the session key. A recipient will not receive the
same polarization qubits even if an identical session key
is retransmitted. Consequently, the secrecy of the
preshared secret key can be preserved and, thus, this
preshared secret key can be long term and repeatedly
used between the TC and the participant. Due to the
combined use of classical cryptographic techniques with
the quantum channel, a recipient can authenticate user
identity, verify the correctness and freshness of the
session key, and detect the presence of eavesdroppers.
Accordingly, the proposed communication rounds among
existing QKDPs. The same idea can be extended to
design of other QKDPs with or without a TC.
The random oracle model is employed to show the
security of the proposed protocols. The theory behind the
random oracle model proof indicates that when the
adversary breaks the three-party QKDPs, then a
simulator can utilize the event to break the underlying
atomic primitives. Therefore, when the underlying

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

primitives are secure, then the proposed three-party

QKDPs are also secure.

4. The Preliminaries
Two interesting properties, quantum measurement and nocloning theorem on quantum physics, are introduced in
this section to provide the necessary background for the
discussion of QKDPs.

4.1 Quantum Measurement

Let Tom and Tin be two participants in a quantum
channel, where Tom is the sender of qubits and Tin is the
receiver. The R basis and the D basis are required to
produce or measure qubits. If Tom wants to send a
classical bit b, then she creates a qubit and sends it to Tin,
based on following rules.
If b = 0 (1) and Tom chooses R basis, the qubit is

If b = 0 (1) and Tom chooses D basis, the qubit is

((2 (|0) + (|1)) (2 (|0) - (|1))).

When Tin receives the qubit, he randomly chooses an R

basis or D basis and measures the cubit to get the
measuring result . If Tin measures the qubit using the
same basis as Tom, then = b will always hold;
Otherwise, = b holds with a probability . Note that
Tin cannot simultaneously measure the qubit in an R basis
and D basis, and any eavesdropper activity identified be
measuring the qubit will disturb the polarization state of
that qubit.

4.2 No Cloning Theorem

One cannot duplicate an unknown quantum state. i.e., a
user cannot copy a qubit if he/she does not know the
polarization basis of the qubit. Bases on this no cloning
theorem, we propose the UCB assumption, in which one
can identify the polarization basis of an unknown
quantum state with a negligible probability to facilitate
security proof of the proposed QKDPs.

5. Three-Party Authenticated Quantum Key

Distribution Protocol (3AQKDP)
This section presents a 3AQKDP with implicit user
authentication, which ensures that confidentiality is only
possible for legitimate users and mutual authentication is


achieved only after secure communication using the

session key start. The proposed three-party QKDPs are
executed purely in the quantum channel and this work
does not consider errors caused by environmental noise.
The following describes the notation, the first proposed
3AQKDP and its security theorem.
The following are the notations, proposed 3AQKDP:
R: The rectilinear basis, polarized with two
orthogonal directions, (|0) and (|1).
D: The diagonal basis, polarized with two
orthogonal directions,
((2 (|0) + (|1)) and (2 (|0) - (|1))).
Ui: The k-bit identity of a participant.
In this paper, we denote UA as the identity of Tom, UB as
the identity of Tin and U as a non-fixed participant.
h(.): The one-way hash function. The mapping of
h(.) is {0,1}* {0,1}m


rTU: An 1-bit random string chosen by the TC.6.

KTU: The n-bit secret key shared between the TC and a
participant, such that KTA is the secret key shared between
the TC and Tom. It should be noted that m = u + 2k.
Note that the bases R and D, the identity Ui, and the oneway hash function h(.) are publicly known parameters.

6. The Proposed 3AQKDP

6.1 Setup Phase
Let Tom and Tin be 2 users who would like to establish a
session key:
KTU is the secret key shared between TC and user U.
Bit sequence in KTU is treated as the measuring bases
between user U and the TC. If (KTU)i = 0, the basis D is
chosen; otherwise, the basis R. Note that (KTU)i denotes
the ith bit of secret key (KTU).
The following describes the 3AQKDP by using the
notations defined in previous sections. Here, we assume
that every participant shares a secret key with the TC in
advance either by direct contact or by other ways.
6.2 Key Distribution Phase
The following describes the details of key distribution
phase. Assume that the TC has been notified to start the
3AQKDP with Tom and Tin. TC and the users have to
perform the 3AQKDP as follows:

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

guessing attacks to guess the bases over the quantum

channel and thus, the secret key, KTA (or KTB) can be
repeatedly used.

6.2.1 TC

The TC generates a random number rTA and a session

key SK. TC then computes
RTA = h(KTA,rTA) (SK||UA||UB)
for Tom and, similarly rTB and
RTB = h(KTB,rTB) (SK||UB||UA)
for Tin.

2. The TC creates the qubits, QTA, based on (rTA ||RTA)i

and (KTA)i for Tom where
i = 1;2;..;n and (rTA ||RTA)i denotes the ith bit
of the concatenation rTA ||RTA.

If (rTA||RTA)i=0, (KTA)i= 0,
then (QTA)i is (1/2(|0) + (|1)).


If (rTA||RTA)i=1, (KTA)i=0,
then (QTA)i is (1/2(|0) - (|1)).


If (rTA ||RTA)i = 0 , (KTA)i= 1,

then (QTA)i is (|0).


If (rTA ||RTA)i = 1 , (KTA)i= 1,

then (QTA)i is (|1).


In item 2 of users, only Tom (or Tin), with the secret key
KTA (or KTB) is able to obtain SK||UA||UB (or SK|| UB||
UA) by measuring the qubits QTA (or QTB) and computing
h(KTA,rTA) RTA (or h(KTB,rTB) RTB). Hence, Tom
(or Tin) alone can verify the correctness of the ID
UA||UB (or UB||UA)

7. Security Proof of 3AQKDP

This section presents a theorem to demonstrate the
security of 3AQKDP. A new primitive, Unbiased-Chosen
Basis (UCB) assumption, based on the non-cloning
theorem is used to facilitate the proof. The UCB
assumption describes that one can distinguish the
polarization basis of an unknown quantum state with only
a negligible probability.


TC then sends QTA to Tom. TC creates qubits QTB in

the same way for Tin.

6.2.2 Users

Tom measures the received

QTA qubits
depending on KTA. If (KTA)i=0, then the qubit is
measured based on the basis D. otherwise, the
basis R. Similarly, Tin measures the receiving
qubits QTB depending on KTB.

Once Tom obtains the measuring results

rTA||RTA she then computes

The session key SK can be obtained and the values UA

and UB can be verified. Similarly Tin gains rTB||RTB
then, Tin obtains the session key SK and checks the
correctness of UB and UA. In item 1 of TC, the hash value,
h(KTA,rTA) (or h(KTB,rTB)), is used to encipher the
sequence SK||UA||UB (or SK||UB||UA). Therefore, a
recipient will not receive the same polarization qubits
even if an identical session key is retransmitted. This also
makes an eavesdropper not be able to perform offline

(A) be the advantage in breaking the

AQKD security of 3AQKDP.

() be the advantage in breaking the
UCB assumption used in 3AQKDP.

If the adversary A breaks the AQKD security of 3AQKDP

after qini Initiate queries, qse Send queries and qh Hash
queries within time t, a UCB assumption attacker will
have an advantage to break the UCB security of . That
(A) 2(qini + qse)2/qini .


Where t t + qini Trn: Trn is the time to generate a

random number.

8. Conclusion
This study proposed two three-party QKDPs to
demonstrate the advantages of combining classical
cryptography with quantum cryptography. Compared with
classical three-party key distribution protocols, the
proposed QKDPs easily resist replays and passive attacks.
This proposed scheme efficiently achieves key

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

verification and user authentication and preserves a long

term secret key between the TC and each user.
Additionally, the requirement of quantum channel can be
costly in practice, it may not be costly in the future,
Moreover, the proposed QKDPs have been shown secure
under the random oracle model. By combining the
advantages of classical cryptography with quantum
cryptography, this work presents a new direction in
designing QKDPs.


He has published and presented around 10 papers in National

level Seminars. His interest in research area includes Cloud
computing, Mobile computing (security).
R. Prabhu is pursuing his Ph.D. He received his professional
degree M.C.A, in Computer Applications and also completed his
B.Sc in Computer Science from Bharathiar University, Tamilnadu,
India. Previously he worked as Technical Recruiter for 2 years.
Currently working has as an Asst. Professor of Computer
Applications, Nehru College of Management, Coimbatore,
Tamilnadu, India from the year 2010. He presented & published
papers more than 5 papers in National level seminar. His area of
interest in research is Cryptography and Network Security,
Information Security, Software Engineering.

[1] G.Li Efficient network authentication protocols: Lower bounds
and Optimal implementations, Distributed computing, Vol 9, No. 3
[2] J.T.Kohi, The evolution of the Kerberros Authentication
Service European conf. proc pp 295-313-1991. B.Nuemann and T.
Tso Kerberros An authentication service for computer networks
IEEE comm., Vol 32, No.9 pp33-38 1994.
[3] W.Stallings, Cryptography and network security: principles and
practice, prentice hall 2003.
[4] N. Linden, S. Popescu, B. Schumacher, and M. Westmoreland,
"Reversibility of local transformations of multiparticle
W. Dr, J. I. Cirac, and R. Tarrach, "Separability and distillability of
multiparticle quantum systems", Phys. Rev. Lett. 83, 3562 (1999)
[5] Ll. Masanes, R. Renner, M. Christandl, A. Winter, and J. Barrett,
"Unconditional security of key distribution from causality
constraints", quant-ph/0606049
[6] C. H. Bennett, G. Brassard, C. Crpeau, and M.-H.
Skubiszewska, "Practical quantum oblivious transfer", Lecture Notes
in Computer Science 576, 351 (1991)
[7] C. H. Bennett, P. W. Shor, J. A. Smolin, and A. V. Thapliyal,
"Entanglement-assisted capacity of a quantum channel and the
reverse Shannon theorem", Phys. Rev. Lett. 83, 3081 (1999)
[8] P. W. Shor, "Equivalence of additivity questions in quantum
information theory", Commun. Math. Phys. 246, 453 (2004)
[9] M. B. Hastings, "A counterexample to additivity of minimum
output entropy", Nature Physics 5, 255 (2009)

Suganya Ranganathan is pursuing her Ph.D at Karpagam

University. She holds her MCA degree from Anna University,
Chennai. Also completed her B.Sc Computer Science degree
from Bharathiar University, Coimbatore. Being her research area
is in Software Testing she also has interest on Security Oriented
networks, Digital Image Processing and whole of Software
Engineering. She was working as a Software Engineer in USTGlobal for 2 years. And recently entered into academics with 1
year of teaching experience. Organized and also presented
papers in national level conferences.
A.Senthil Karthick Kumar is a Ph.D. Research Scholar. He
completed his B.Sc in Information Technology from Madurai
Kamaraj University in 2003. Did his MCA from Bharathiar
University in 2006; M.Phil in Computer Science in 2010. He is
Pursing MBA in Human Resource Management, from Bharathiar
University through DDE. Prior to joining in NCM he worked for 3
years as a Human Resource Technical Staffing Person in various
companies like (Perot Systems), Bangalore. Currently he is
working as an Assistant Professor in Nehru College of
Management, Coimbatore under Bharathiar University. He
enrolled his Life time Member ship with ISTE, and Member in CSI.

R. Nagarajan is pursuing his Ph.D. He completed his Post

graduate degree in MCA in computer Applications in
Bharathidasan University, and he completed his B.Sc in Applied
Science (Faculty of Engineering) from Bharathiar University. He
has 20 years of experience as Manager-Operations in Bannari
Amman Group. Currently working has as an Asst. Professor of
Computer Applications, Nehru College of Management,
Coimbatore, Tamilnadu, India from the year 2009.Currently He is
concentrating on Space Communications using Optic Techniques.
He presented & published papers more than 6 papers in National
level seminar. His area of interest in research is Cryptography and
Network Security, Information Security, Robotics.
Dr.D.Balaji presently working as a Director Department of
Computer Applications, Nehru College of Management,
Coimbatore. He has graduated from Madura College, Madurai,
which was established in the year 1887. He has completed his
post graduation from the Computer centre, Madurai Kamaraj
University. He has also completed M.Phil, and M.B.A., from
Madurai Kamaraj University. He has completed Ph.D titled
Project Based Organizational Teaching and Learning. He is
having overall 13 years of academic experience. He has worked
for University of Bedfordshire, UK for 7 years and 1 year for ABB
India limited. He has published his research work in 2 international
journals, and presented 9 papers in the International conferences
and 14 papers in the national conferences. His area of
specialization is IT applications in Higher Education and
Programming Languages. He has visited many countries like
Romania, Jordan, Srilanka, Malaysia, etc., for his research work.
Venkateswaran Radhakrishnan pursing Ph.D currently in the
Karpagam Academy of higher Education, Karpagam University,
Tamilnadu, India, in the field of Cryptography and Network
Security. He received his professional degree M.C.A, in Computer
Applications and also completed his MBA (Information
Technology) from Bharathiar University, Tamilnadu, India, and he
received his M.Phil Degree in Computer Science from
Bharathidasan University, Tamilnadu, India. He has also worked
as an Asst. Professor of Computer Applications, Nehru College of
Management, Coimbatore, Tamilnadu, India from the year 2006.
He is the institution member of Computer Society of India. He
published papers in International Journals and Conferences and
also presented paper in more than 10 national seminars and
conferences. His research interest area in Cryptography and
Network Security, Information Security, Software Engineering, and
Relational database Management Systems.
Ramesh Kumar.K pursing M.B.A at M.S University, Tirunelveli.
Completed his B.E in Computer Science at Anna University. He
has experience in teaching for 2 yrs at NCM, Coimbatore and
Worked as Software Engineer and has 3yrs of experience in
Jayakailash group of companies and also 2 yrs of experience in
solid solutions. He has interest on Asp .net, C, C++, Java, Data

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
mining and Data Structures. He has also attended many
conferences and done certification courses which will support the
carrier growth.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Fault Tolerance Mobile Agent System Using Witness Agent in 2Dimensional Mesh Network
Ahmad Rostami1, Hassan Rashidi2, Majidreza Shams Zahraie3

Student of Faculty of Electrical, Computer, IT & Biomedical Engineering,

Qazvin Islamic Azad University, Qazvin, Iran

Assistant Professor of Faculty of Electrical, Computer, IT & Biomedical Engineering,

Qazvin Islamic Azad University, Qazvin, Iran

Student of Faculty of Electrical, Computer, IT & Biomedical Engineering,

Qazvin Islamic Azad University, Qazvin, Iran

Mobile agents are computer programs that act autonomously on
behalf of a user or its owner and travel through a network of
heterogeneous machines. Fault tolerance is important in their
itinerary. In this paper, existent methods of fault tolerance in
mobile agents are described which they are considered in linear
network topology. In the methods three agents are used to fault
tolerance by cooperating to each others for detecting and
recovering server and agent failure. Three types of agents are:
actual agent which performs programs for its owner, witness
agent which monitors the actual agent and the witness agent after
itself, probe which is sent for recovery the actual agent or the
witness agent on the side of the witness agent. Communication
mechanism in the methods is message passing between these
agents. The methods are considered in linear network. We
introduce our witness agent approach for fault tolerance mobile
agent systems in Two Dimensional Mesh (2D-Mesh) Network.
Indeed Our approach minimizes Witness-Dependency in this
network and then represents its algorithm.
Keywords: mobile agent system, mesh network

1. Introduction
Mobile agents are autonomous objects capable of
migrating from one server to another server in a computer
network[1] . Mobile agent technology has been considered
for a variety of applications [2] , [3] , [4] such as systems
and network management [5] , [6] , mobile computing [7] ,
information retrieval [8] , and e-commerce [9] .
In the through mobile agent life cycle may happen failures
[10] . The failures in a mobile agent system, may lead to a
partial or complete loss of the agent. So the fault

tolerant mobile agent systems should be created. Failures

could be detected and recovered. Many of Methods exist
relative to fault tolerance in mobile agent systems that are
considered any of them.
Our approach is rooted from the approaches suggested
in[11] , [12] . In[11] two types of agents are distinguished.
The first type performs the required computation for the
user which is the actual agent. Another type is to detect
and recover the actual agent that is called the witness
agent. These two types of agents communicate by using a
peer-to-peer messages passing mechanism. In addition to
the introduction of the witness agent and the messages
passing mechanism, logging the actions performed by the
actual agent is needed, since when failures happen,
uncommitted actions must be aborted when rollback
recovery is performed[13] . Check-pointed data also is
used[14] to recover the lost agent.
During performing the actual agent, the witness agents are
increased by addition of the servers, meaning any witness
monitors the next witness and the actual agent[12] .
Our proposed scheme decreases the number of witness
agents when the mobile agent itinerates in 2D-Mesh
Network. The 2D-Mesh network properties are used to
decrease Witness-Dependency. The algorithm of the
approach is developed and simulated in C++ language.
The rest of the paper is structured as follows: Section 2
presents the method of fault tolerance in mobile agent
systems by using the witness agents and probe in linear
network topology. In Section 3, Mesh Network Topology
and 2D-Mesh network is considered shortly. In Section 4,
the proposed scheme and its method for decreasing of the

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

witness-dependency is described. An algorithmic view of

the new approach also is presented in Section 4 and,
finally, Section 5 is identified conclusion and future work.

2. Fault Tolerance in Mobile Agent Systems

by Using the Witness Agents in Linear
Network Topology
Recently, fault-tolerant mobile agent execution has been
very active field of research. There are different methods
in the literature based on linear network. Some of them are
introduced in the following below.


but not the least, the lost agent due to the failure should be
recovered when a server failure happens. However, an
agent has its internal data which may be lost due to the
failure. Therefore, we have to check-point the data of an
agent as well as rollback the computation when necessary.
A permanent storage to store the check-pointed data in the
server is required. Moreover, messages are logged in the
log of the server in order to perform rollback of
executions. The overall design of the server architecture is
shown in Fig. 1.

2.1 Related work

Many method exist for fault tolerance mobile agent
systems, for example primary-backup models [15] ,
exactly once model [16] , fault tolerant mobile agent
system based on the Agent-Dependent approach [17] ,
mobile agent fault tolerance by exception handling
approach [18] , Fault Tolerance in Mobile Agent Systems
by Cooperating the Witness Agents [11] and etc. The last
approach is explained in the next sub-section.

2.2 System Architecture and Protocol Design

In [11] , in order to detect the failures of an actual agent
as well as recover the failed actual agent, another types of
agent are designated, namely the witness agent, to monitor
whether the actual agent is alive or dead. In addition to the
witness agent, a communication mechanism between both
types of agents is designed. In this design, agents are
capable of sending messages to each other. This type of
messages is called the Direct Messages which are peer-topeer messages. Since a witness agent always lags behind
the actual agent, the actual agent can assume that the
witness agent is at the server that the actual agent just
previously visited. Moreover, the actual agent always
knows the address of the previously visited server.
Therefore, the peer-to-peer message passing mechanism
can be established.
There are cases that the actual agent cannot send a direct
message to a witness agent for several reasons, e.g., the
witness agent is on the way to the target server. Then,
there should be a mailbox at each server that keeps those
unattended messages. This type of messages is called the
Indirect Messages. These indirect messages will be kept in
the permanent storage of the target servers.
Every server has to log the actions performed by an agent.
The logging actions are invoked by the agent. The
information logged by the agent is vital for failure
detection as well as recovery. Also, the hosting servers
have to log which objects have been updated. This log file
is required when performing the rollback recovery. Last

Fig. 1 The server design

The protocol is based on message passing as well as

message logging to achieve failure detection. Assume that,
currently, the actual agent is at server Si while the witness
agent is at server Si-1. Both the actual agent and the witness
agent have just arrived at Si and Si-1, respectively. The
actual agent and the witness agent are labeled as and Wi-1
, respectively.
The actual agent plays an active role in the designed
protocol. After has arrived at Si, it immediately logs a
message, log


, on the permanent storage in Si. The

purpose of this message is to let the coming witness agent

know that has successfully landed on this server. Next,
informs Wi-1 that it has arrived at Si safely by sending a
message, msg


, to Wi-1.

The actual agent performs the computations delegated

by the owner on Si. When it finishes, it immediately
check-points its internal data to the permanent storage of
Si, then, it logs a message, log


, in Si. The purpose of

this message is to let the coming witness agent know that

has completed its computation and it is ready to travel to
the next server Si+1. In the next step, sends Wi-1 a
message, msg


, in order to inform Wi-1 that is ready

to leave Si. At last, leaves Si and travels to Si+1.

The witness agent is more passive than the actual agent in
this protocol. It will not send any messages to the actual
agent. Instead, it only listens to the messages coming from
the actual agent. It is assumed that the witness agent, Wi-1,
arrives at Si-1. Before Wi-1 can advance further in the
network, it waits for the messages stent from . when Wi-1
is in Si-1, it expects receiving two messages: one is

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814



and another one is msg

are out-of-order, msg



. If the messages

will be kept in the permanent

storage of Si-1. That is msg

is considered as


unattended, and becomes an indirect message until Wi-1

receives msg



. When Wi-1 has received both


and msg


, it spawns a new agent called


Wi-1 is monitoring and Wi-2 is monitoring Wi-1. Assuming

the following failure sequence happen: Si-1 crushes and
then Si crushes. Since Si-1 crushes, Wi-1 is lost, hence no
one monitoring . This is not desirable. Therefore, a
mechanism to monitor and to recover the failed witness
agents is needed. This is achieved by the preserving the
witness-dependency: the recovery of Wi-1 can be
performed by Wi-2, so that can be recovered by Wi-1.
Fig.3 shows the witness agent failure scenario.

Wi. The reason of spawning a new agent instead of letting

Wi-1 migrate to Si is that originally Wi-1 is witnessing the
availability of . If a server failure happens just before Wi-1
migrates to Si, then no one can guarantee the availability
of the actual agent. Note that the new witness agent knows
where to go, i.e. Si, because msg


or msg


contains information about the location of Si where has

just visited. Fig. 2 shows the flow of the protocol.

Fig. 3 The witness agent failure scenario

Note that there are other more complex scenarios, but as

long as the witness-dependency is preserved, agent failure
detection and recovery can always be achieved. In order to
preserve the witness- dependency, the witness agents that
are not monitoring the actual agent receive message from
the witness agent that is monitoring it. That is, Wi sends a
periodic message to Wi-1 in order to let Wi-1 knows that Wi
Fig. 2 Steps in the witness protocol

2.3 Creation of the Witness Agent

As it is mentioned in the previous sub-section, upon
receiving msg


, Wi-1 spawns Wi , and Wi travels to

Si. The procedure goes on until reaches the last

destination in its itinerary. The youngest (i.e., the most
recently created) witness agent is witnessing the actual
agent. On the other hand, the elder witness agents are
neither idle nor terminated; they have another important
responsibility: an earlier witness agent monitors the
witness agent that is just one server closer to the actual
agent in its itinerary. That is:
W0 W1 W2 Wi-1 Wi
Where represents the monitoring relation. The above
dependency is named the Witness- Dependency. This
dependency cannot be broken. For instance, if is in Si,

is alive. This message is labeled as msg


. If Wi is

dead, Wi-1 will spawn a new witness agent, namely Wi, in

order to replace the lost witness agent in Si. When Wi
arrives at Si, it re-transmits the message msg


to Wi-1.

In order to handle this failure series, the owner of the

actual agent can send a witness agent to the first server S0,
in the itinerary of the agent with a timeout mechanism.
The effect of sending this witness agent is similar to the
case when a witness agent, Wi, fails to receive msg

i 1

This method can recover W0 and the witness-dependency

effectively with an appropriate timeout period.
This procedure consumes a lot of resources along the
itinerary of the actual agent. Then, the number of alivewitnesses should be decreased as far as possible and
minimize the witness-dependency.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


i, j

3. Mesh Network

as msg

In a mesh network, the nodes are arranged into a kdimensional lattice. Communication is allowed only
between neighboring nodes; hence interior nodes
communicate with 2k other nodes [19] . A k-dimensional
mesh has n1 n2 n3 nk, where ni is the size of ith
dimension. Fig. 4 illustrates a 44 2D-Mesh with 16
In a mesh network, two nodes (x1, x2, x3, xk) and (x'1,
x'2, x'3, x'k) are connected by an edge if there exist i, j
such that |xi x'i|=1 and xj=x'j for ji.

computing and check-pointing of data are finished and the


message log


. This message is sent when

is logged, because of assuring that the

agent has finished its task and data stored on the stable
storage. When the owner receives the message, it checks
the new witness indices (i.e. new witness location in the
2D-Mesh is identified by using the number of row and
column) with the existing elements in the witnesses array
from the last to the first for finding its neighbor 1 . For
example assume a condition which there is a node that
W[e] is its indicator and this node is adjacent to the new
witness; the owner sends a message to the witness (No
new witness) to points to the new witness. This type of
message is denoted as msg

i, j
Po int NewWitness

Fig. 5 shows the movement path of an actual agent from

the position of (1,1) to (3,2).

Fig. 4 A 44 two dimensional Mesh

4. Proposed Scheme
In our scheme the assumptions are as follows:
The network topology is 2D-Mesh. Each agents in
2D-Mesh network are shown as a pair (i, j), where i
is the number of row and j is the number of column.
Agent itinerates dynamically in the network, i.e. it
doesnt have any specified path list.
No failure happens for the owner of the actual agent.
Replication can solve the problem.

4.1 Our Approach

The main objective of our approach is to decrease the
witness-dependency in 2D-Mesh. In this method, agents
are in the nodes of 2D-Mesh graph. The location of each
agent in the graph is shown as a pair (i, j). Assume that the
owner of the actual agent hold an array, W, for the location
of the witness agent. The W is empty at first and is filled
during the actual agents itinerary with the indices number
of each witness. When the actual agent travels to a new
server in the 2D-mesh network, it sends a message to
owner after computing and check-pointing the data. This
message contains the node indices which actual agent
currently resides on it. This type of message is denoted

Fig. 5 The movement of the actual agent

As it can be seen, if the adjacent of nodes are not

considered, then the witness-dependency is same as linear
method. In this case the witness-dependency is as below:
W1,1 W1,2 W1,3 W2,3 W2,2 W3,2
If the adjacent of nodes and the properties of 2D-Mesh are
considered for decreasing the witness-dependency in the
Fig. 5, the witness-dependency is decreased due to W1,2
and W2,2 which are adjacent to each other. In this case, the
witness-dependency is as below:
W1,1 W1,2 W2,2 W3,2
Fig. 6 shows the decreased witness-dependency on the

1 In the most case that is considered, the new witness agent was neighbor
with the last elements of array.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


If the above conditions are not true then Index decreases

by one (i.e. Index=index-1) and then pair (p, q) compares
with another element of array W. The procedure goes on
until all elements of array are compared. If none of the
array elements are adjacent with new witness, then the
location of new witness is added to the end of array list.
Index is succeeded by one (i.e. Index=index+1). The
pseudo code of the algorithm is shown in Fig.7.

Fig. 6 The decreased witness-dependency

The fault tolerance of sending and receiving of the

messages are considered in [11] . Hence, the messages


i, j

and msg

lost eventually, they are like

i, j

Po int NewWitness are not

msg alive and they can be

recovered as same as recovery message methods which are

presented in [11] .

4.2 The Algorithm

As it is mentioned in sub-section 4.1, it is assumed that the
owner of the actual agent holds an array, W, for the
location of the witness agent, and Index is a pointer that
points to the position of youngest witness (i.e. Index
points to the last element in W). When actual agent visits
a new node, it sends message msg

i, j


owner after computing and check-pointing the data. This

message contains the node indices of new witness agent.
For example, assume a condition that pair (p, q) is the new
witness indices. These indices compare with the existing
elements of array W. In 2D-Mesh, two nodes (xi, xj) and
(x'i, x'j) are connected by an edge, if |xi x'i|=1 and xj=x'j
or |xj x'j|=1 and xi=x'i. Hence pair (p, q) compares with
the value of W[Index-1]1. If they are adjacent then owner
send msg

i, j
Po int NewWitness

to the witness that W[Index-1]

is its indicator in the array W for pointing to the new

witness agent. Let the value of W[Index-1] is Wi,j . In this
case if each of the below conditions is true then they are
|i-p|=1 and j=q
|j-q|=1 and i=p

Whereas W[Index] is adjacent with new visited node, the comparison
should be started from W[Index-1]

Fig.7 The pseudo code of the algorithm

5. Conclusions and Future Work

In this paper, at first, an existing fault tolerance method in
mobile agent systems in linear network topology is
considered. The existing procedure consumes a lot of
resources along the itinerary of the actual agent. Then, an
approach to enhance fault tolerance mobile agent systems
in 2D-Mesh is proposed. In this approach witnessdependency is decreased. With regard to length of witness
agent deduction, the cost of witness-dependency in 2DMesh network is less than linear network, because the
witness length is decreased. In fact, in this approach the
properties of 2D-Mesh network is used (i.e. nodes
adjacency) for decreasing of witness-dependency.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

In the Future work, the following assumptions can be

3D-Mesh or k-Dimensional Mesh topology: Topology
of the proposed algorithm is 2D-Mesh and the algorithm
can be considered in 3D-Mesh or each K-Dimensional

Mesh network.
topology: The topology can be
considered in Hyper-Cube Networks.
The topology can be considered without a
coordinator for holding the array. That is the array
can be part of agents data.



H.W. Chan, T.Y. Wong, K.M. Wong, and M. R. Lyu.

Design, Implementation and Experimentation on Mobile
Agent Security for Electronic Commerce Applications.
Proceedings of the International Conference on Parallel and
Distributed Processing Techniques and Applications.
pp.1871- 1878.
[2] D.Chess, B. Grosof, C. Harrison, D. Levine, C. Parris ,and
G.Tsudik, Itinerant Agents for Mobile Computing, IEEE
PersonalComm. Systems, vol. 2, no. 5, pp. 34-49, Oct.
[3] D. Chess, C.G. Harrison, and A. Kershenbaum, Mobile
Agents:Are They a Good Idea? Mobile Agents and
Security, G.Vigna, ed.,pp. 25-47, Springer Verlag, 1998.
[4] D.B. Lange and M. Oshima, Seven Good Reasons for
Mobile Agents, Comm. ACM, vol. 45, no. 3, pp. 88-89,
Mar. 1999.
[5] A. Bieszczad, B. Pagurek, and T.White, Mobile Agents
for Network Management, IEEE Comm. Surveys, Sept.
[6] T. Gschwind, M. Feridun, and S. Pleisch, ADKBuilding
MobileAgents for Network and Systems Management from
Reusable Components, Proc. First Intl Conf. Agent
Systems and Applications/ Mobile Agents (ASAMA 99),
Oct. 1999.
[7] K. Takashio, G. Soeda, and H. Tokuda, A Mobile Agent
Framework for Follow-Me Applications in Ubiquitous
Computing Environment, Proc. Intl Workshop Smart
Appliances and Wearable Computing (IWSAWC 01), pp.
202-207, Apr. 2001.
[8] W. Theilmann and K. Rothermel, Optimizing the
Dissemination of Mobile Agents for Distributed
Information Filtering, IEEE Concurrency, pp. 53-61, Apr.
[9] P. Maes, R.H. Guttman, and A.G. Moukas, Agents that
Buy and Sell, Comm. ACM, vol. 42, no. 3, pp. 81-91,Mar.
[10] S. Pleisch, A. Schiper, Fault-Tolerant Mobile Agent
Execution, IEEE Transaction Computer, pages 209- 222,
Feb. 2003.
[11] T. Y. Wong , X. Chen, M. R. Lyu, Design And Evalution
of A Fault Tolerant Mobile Agent System,Computer
Science & Engineering Depatment the Chines University of
Hong Kong, Feb 2004.


[12] S. Beheshti , M. Ghiasabadi, M. Sharifnejad, A. Movaghar,

Fault Tolerant Mobile Agent Systems by using Witness
Agents and Probes, Proc. fourth Intl Conf. Sciences of
Telecommunications (SETIT 2007- TUNISIA), March
[13] M. Strasser , K. Pothernel, System Mechanisms for Partial
Rollback of Mobile Agent Execution. Proceedings of 20th
International Conference on Distributed Computing
Systems 2000, pp.20-28.
[14] V. F. Nicola, Check-pointing and the Modeling of
Program Execution Time. Software Fault Tolerance, M.
Lyu (ed.), John Wiley & Sons, 1994, pp.167-188.
[15] N. Budhirja, K. Marzullo, F.B. Schneider, and S. Toueg,
The Primary-Backup Approach, Distributed Systems, S.
Mullender, ed., second ed., pp. 199-216, Reading, Mass.:
Addison-Wesley, 1993.
[16] Q. Xin, Y. Yu, Z. Qin, Fault Tolerance Issues in Mobile
Agents, Computer Science & Engineering Department
Univ. of California, San Diego, June 2000.
[17] S. Pleisch, A. Schiper, FATOMAS A fault-Tolerant
Mobile Agent System Based on the Agent-Dependent
approach, IEEE Computer Society Press. To appear in
proceeding of the intl Conference on Dependable Systems
and Networks, 2001.
[18] S. Pears, J. Xu, C. Boldyreff, Mobile Agent Fault
Tolerance for Information Retrieval Application: An
Exception Handling Approach, In proceeding of the Sixth
IEEE International Symposium on Autunomous
Decentralized systems (ISADS03), 2003.
[19] M. J. Quinn, Designing Efficient Algorithms for Parallel
Computers, University of New Hampshire: McGraw-Hill,

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Securing Revocable Iris and Retinal Templates using Combined

User and Soft Biometric based Password Hardened Multimodal
Fuzzy Vault
V. S. Meenakshi1 and Dr G. Padmavathi2

Department of Computer Applications, S.N.R. Sons College

Coimbatore, Tamilnadu, India

Department of Computer Science, Avinashilingam Deeemed University for Women

Coimbatore, Tamilnadu, India

Biometric systems are subjected to a variety of attacks. Stored
biometric template attack is very severe compared to all other
attacks. Providing security to biometric templates is an important
issue in building a reliable personal identification system. Multi
biometric systems are more resistive towards spoof attacks
compared to unibiometric counterpart. Soft biometric are
ancillary information about a person. This work provides
security and revocability to iris and retinal templates using
combined user and soft biometric based password hardened
multimodal biometric fuzzy vault. Password hardening provides
security and revocability to biometric templates. Eye biometrics
namely iris and retina have certain merits compared to
fingerprint. Iris and retina capturing cameras can be mounted on
a single device to improve user convenience. Security of the
vault is measured in terms of min-entropy.
Keywords: Biometric template security, min-entropy, fuzzy
vault, retina, iris, revocability, Soft Biometrics

are highly secure and use a stable physiological trait. They

are very difficult to spoof. Iris and retinal texture
are different for right and left eye. They are unique even
for identical twins. Retina is best suitable for high security

1.2 Soft Biometrics

Soft biometrics provides ancillary information about a
person (gender, ethnicity, age, height, weight, eye color
etc). They lack distinctiveness or permanence. Hence Soft
biometrics alone is not enough to differentiate two
individuals. Anyhow when combined with primary
biometrics (Fingerprint, Iris, Retina etc) soft biometrics
gives better results

1.3 Operation of Fuzzy Vault

1. Introduction
1.1 Merits of eye biometrics - Iris and Retina
Iris is the colored ring surrounding the pupil of the eye.
Retinal scan capture the pattern of blood vessels in the
eye. Retina and iris as biometric have certain merits
compared to other biometrics. They are very difficult to
spoof. More over retinal patterns do not change with age.
When a person is dead then the lens will not converge the
image that fall on the retina. Retina and iris are internal
organs and is less susceptible to either intentional or
unintentional modification unlike fingerprint. Retina is
located deep within ones eyes and is highly unlikely to be
altered by any environmental or temporal conditions. Both

Fuzzy vault is a cryptographic construct proposed by Juels

and Sudan [1,2]. This construct is more suitable for
applications where biometric authentication and
cryptography are combined together. Fuzzy vault
framework thus utilizes the advantages of both
cryptography and biometrics. Fuzzy vault eliminates the
key management problem as compared to other practical
In fuzzy vault framework, the secret key S is locked by G,
where G is an unordered set from the biometric sample. A
polynomial P is constructed by encoding the secret S. This
polynomial is evaluated by all the elements of the
unordered set G.
A vault V is constructed by the union of unordered set G
and chaff point set C which is not in G.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

The union of the chaff point set hides the genuine point set
from the attacker. Hiding the genuine point set secures the
secret data S and user biometric template T. The vault is
unlocked with the query template T. T is represented by
another unordered set U. The user has to separate
sufficient number of points from the vault V by comparing
U with V. By using error correction method the
polynomial P can be successfully reconstructed if U
overlaps with U and secret S gets decoded. If there is not
substantial overlapping between U and U secret key S is
not decoded. This construct is called fuzzy because the
vault will get decoded even for very near values of U and
U and the secret key S can be retrieved. Therefore fuzzy
vault construct become more suitable for biometric data
which show inherent fuzziness hence the name fuzzy vault
as proposed by Sudan [2]. The security of the fuzzy vault
depends on the infeasibility of the polynomial
reconstruction problem. The vault performance can be
improved by adding more number of chaff points C to the


vault. Therefore, security of the password is crucial. It is

very difficult for an attacker to compromise the biometric
template and the combined password at the same time.
The proposed method constructs a fuzzy vault using the
feature points extracted from iris and retina. The iris and
retinal multimodal biometric fuzzy vault is then hardened
using the password.
Steps in hardening scheme:
1. A combined user and soft biometric password is
2. A random transformation function is derived from
the combined password.
3. The password transformed function is applied to
the iris and retinal template.
4. Fuzzy vault frame work is constructed to secure the
transformed templates by using feature points from
iris and retina.
5. The key derived from the same password is used to
encrypt the vault.

1.4 Limitation of Fuzzy Vault Scheme

Fuzzy vault being a proven scheme has its own
limitations [5].
1. Compromised vault cannot be revoked and it is prone
to cross- matching of templates across various
2. It is easy for an attacker to develop attacks based on
statistical analysis of the points in the vault.
3. Attacker can substitute few points from his own
biometric feature. Therefore the vault authenticates
both the genuine user and the imposter using the same
biometric identity.
4. Original template of the genuine user is temporarily
exposed and the attacker can glean the template.
To overcome the limitations of fuzzy vault, password is
used as an additional authentication factor. The proposed
retina based fuzzy vault is hardened by combined user and
biometric password. This enhances the user-privacy and
adds an additional level of security.

1.5 Steps in Combined Password Hardened Fuzzy

The hardened fuzzy vault overcomes the limitations of
non-revocability and cross-matching by introducing an
additional layer of security by password. If the password
is compromised the basic security and privacy provided by
the fuzzy vault is not affected. However, a compromised
password makes the security level same as that of a fuzzy

Fig. 1 Steps in combined password hardened fuzzy vault

Figure 1 depicts the steps involved in the construction of

the combined user and soft biometric based password
hardened multimodal biometric fuzzy vault.
The organization of the paper is as follows: Chapter II
elaborates the background study. Section III explains the
proposed combined password hardened multimodal
biometric fuzzy vault. Section IV discusses the
experimental results and the security analysis. Section V
concludes of the proposed work.

2. Related Work
Karthick Nandakumar et al [5] used the idea of password
transformation for fingerprint and generated transformed

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


templates. In his work those transformed templates are

protected using fuzzy vault cryptographic construct in
which password acts an additional layer of security. Iris
based hard fuzzy vault proposed by Srinivasa Reddy [3]
followed the same idea of [5] to generate revocable iris
templates and secured them using password hardened
fuzzy vault. The basic idea of generating cancelable iris is
based on the idea derived from the work done by karthick
Nandakumar et al [5,6,7] and Srinivasa Reddy[3]. Sharat

points are transformed based on the soft biometric

Fig.2(a) shows the retina image Fig. 2(b) shows the retinal
vascular tree and Fig.2(c) shows the vascular pattern after
thinning and joining operation. Fig 2(d) highlights the
retinal template with bifurcation points.

Chikkarur[8] work on fingerprint provided

understanding on feature extraction steps,

The idea proposed by Srinivasa Reddy [3] is utilized to

extract the minutiae feature points from the iris texture.
The following operations are applied to the iris images to
extract lock/unlock data. Canny edge detection is applied
on iris image to deduct iris. Hough transformation is
applied first to iris/sclera boundary and then to iris/pupil
boundary. Then thresholding is done to isolate eyelashes.
Histogram equalization is performed on iris to enhance the


Iris based hard fuzzy vault proposed by Srinivasa Reddy

[3] applies a sequence of morphological operations to
extract minutiae points from the iris texture. This idea is
utilized in the proposed method for extracting the minutiae
feature point from the Iris. The same idea is used but with
combined user and soft biometric password. Soft
biometrics ideas derived from [16, 17, 18, 19] are used for
constructing soft biometric passwords.

3.2 Feature point Extraction of Minutiae from Iris

3. Proposed Method
3.1 Extraction of Bifurcation Feature point from
Thinning and joining morphological operation is
performed on the Retinal texture. The proposed work uses
the idea of Li Chen [15] for extracting the bifurcation
structure from retina.

(a) Retinal image

(a) Localized Iris Image

(b) Highlighted Iris


(b) Retinal
vascular tree
(c) Red: Permuted Points and Blue: Transformed Points
Fig 3. Iris Minutiae Extraction and Password Transformation

(c)Thinned and
joined image

(d) Highlighted
Bifurcation feature

Fig 2 Retina Feature Point Extraction

These operations highlight the retinal vascular patterns.

Then the bifurcation feature points are extracted from the
vascular patterns. The (x, y) co-ordinates of the feature

Finally the following sequence of morphological

operations is performed on the enhanced iris structure.
(i) closing-by-tophat (ii) opening (iii) thresholding
Finally thinning is done to get structures as a collection
of pixels. Now the (x, y) coordinates of the nodes and end
points of the iris minutiae are extracted. Fig. 3(a) shows
the localized iris image, Fig. 3(b) exhibits the iris image
with the minutiae patterns and Fig 3(c) shows the
permuted and transformed points.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

3.3 Iris and Retinal Minutiae Feature Point

The Iris texture and the retinal vascular tree containing the
highlighted minutiae feature points are subjected to simple
permutation and translation. This results in the original
minutiae points being transformed into new points. The
user password is restricted to the size of 5 characters. The
length of the user password is 40 bits.
The soft biometric [16, 17.18] password is generated by
combining height, eye color, and gender. The combination
of these three factors results in 24 bit soft biometric
password (8 bit each). Therefore the length of the
combined password is 64 bits. These 64 bits are divided
into 4 blocks of each 16 bits in length. The feature points
highlighted in Iris texture and the retinal structure are
divided into 4 quadrants. One password block is assigned
to each quadrant. Permutation is applied in such a way that
the relation position of the minutiae point does not change.
Each 16 bit password block is split into two components
Tu of 7 bits and Tv of 9 bits in length. Tu and Tv represents
the amount of translation in the horizontal and vertical
directions, respectively. The new feature points are
obtained by the following transformation.
Xu = (Xu + Tu) mod (2 ^ 7)
Yv = (Yv + Tv) mod (2 ^ 9)
where Xu and Xu is the horizontal distance before and
after transformation respectively. Similarly Yv and Yv is
the vertical distance before and after transformation


Now the Genuine points set G is (ui, P(ui)). Random chaff

points are generated which are 10 times in number that of
the genuine points. Both the genuine and chaff point sets
are combined to construct the vault. The vault is List

3.5 Fuzzy Vault Decoding

In the authentication phase, the encrypted vault and
combined feature point are decrypted by the combined
password. Password based transformation is applied to the
query feature points and the vault is unlocked. From the
query templates of the iris and retina, unlocking points (N
in number) are extracted. The unlocking set is found as in
encoding. This set is compared with the vault to separate
the genuine point set for polynomial reconstruction. From
this set, all combinations are tried to decode the
polynomial. Lagrangian interpolation is used for
polynomial reconstruction. For a specific combination of
feature points the polynomial gets decoded.
In order to decode the polynomial of degree 8, a minimum
of at least 9 points are required. If the combination set
contains less then 9 points, polynomial cannot be
reconstructed. Now the coefficients and CRC are
appended to arrive at SC*. Then SC* is divided by the
CRC primitive polynomial. If the remainder is not zero,
query image does not match template image and the secret
data decodes in not correct. If the remainder is zero, query
image matches with the template image, and the secret
decoded is correct.

3.6 Parameters used in implementation

3.4 Fuzzy Vault Encoding
The combined transformed features from iris and retina
are encoded in the fuzzy vault. Password acts as an extra
layer of security to the vault. It resists an imposter from
modifying the vault. Secret message is generated as a 128
bit random stream. This secret message is transformed
with the password. The 16 bit CRC is appended to
transformed key S to get 144 bit SC. The primitive
polynomial considered for CRC generation is
The minutiae points whose Euclidian distance is less than
D are removed. 16 bit lock/unlock unit u is obtained by
concatenating x and y (each 8 bits) coordinates. The u
values are sorted and first N of them are selected. The
Secret (SC) is divided into 9 non overlapping segments of
16 bits each. Each segment is converted to its decimal
equivalent to account for the polynomial coefficients (C8,
C7 C0). All operations takes place in Galois Field
GF(216). The projection of u on polynomial p is found.

The parameters used in this implementation are shown in

Table 1. Chaff points hide the genuine points from the
attacker. More chaff points makes the attacker to take
much time to compromise the vault but consumes
additional computation time. The chaff points added are
10 times in number that of the genuine points.

Table 1: Parameters of the combined Retina and Iris Vault.





No. of. Genuine points(r)




No. of Chaff points(c)




Total no. of points

(t = r + c)




4. Experimental Results and Analysis

The Iris and retinal template are transformed for three
different user passwords to check for revocability.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Consider a 5 character user password FUZZY, whose

ASCII value is given by or 40 bits. Soft biometric
password component is 155BM (24 bits). Soft biometric
password and User Password are combined to form the
transformation password as 155BMFUZZY (64 bits)
whose ASCII values are (155, 66, 77, 70, 85, 90, 90, 89,) .
These 64 bits are divided into four blocks of 16 bits each.
Each 16 bit is divided into 7 bits and 9 bits for
transformation in horizontal and vertical direction.
The feature point transformation is done with other two
user passwords and soft biometric password combinations
namely 170GFTOKEN and 146AM VAULT whose
ASCII codes are (170, 71, 70, 84, 79, 75, 69, 78,) and
(146, 65, 77, 86, 65, 85, 76, 84,) respectively. For the
same original iris and retinal template different
transformed templates are obtained when password is
changed. Fig 4(a), Fig 4(b) and Fig 4(c) shows the
transformed iris feature points and Fig 5(b), Fig 5(c) and
Fig 5(d) shows the transformed retinal templates for three
different passwords.
This property of password
transformation facilitates revocability. Different password
can be utilized for generating different Iris templates.
In the proposed method the security of the fuzzy vault is
measured by min-entropy which is expressed in terms of
security bits. According to Nanda Kumar [7] the minentropy of the feature template MT given the vault V can
be calculated as


Eye Color

Character Code



security of the
vault is tabulated in Table. IV. In order to decode a
polynomial of degree n, (n+1) points are required. The
security of the fuzzy vault can be increased by increasing
the degree of the vault. Polynomial with lesser degree can
be easily reconstructed by the attacker. Polynomial with
higher degree increases security and requires lot of
computational effort. This makes more memory
consumption and makes the system slow. However they
are hard to reconstruct.
In the case of the vault with polynomial degree n, if the
adversary uses brute force attack, the attacker has to try
total of (t, n+ 1) combinations of n+ 1 element each. Only
(r, n+1) combinations are required to decode the vault.
Hence, for an attacker to decode the vault it takes C(t,
n+1)/C(r, n+1) evaluations. The guessing entropy for an 8
ASCII character password falls in the range of 18 30
bits. Therefore, this entropy is added with the vault
entropy. The security analysis of the combined password
hardened iris fuzzy vault is shown in Table IV.
Providing security [ 9, 10, 11, 12] to biometric template is
very crucial due to the severe attacks targeted against
biometric systems. This work attempts to
multibiometric template security utilizing a hybrid
template protection mechanism against stored biometric
template attacks. Stored biometric template attack is the
worst of all other attacks in a biometric system.

r = number of genuine points in the vault;
c= number of chaff points in the vault
t = the total number of points in the vault (r + c)
n = degree of the polynomial
Table II shows the possible eye colors and Table III shows
the structure of the sample combined user and soft
biometric passwords.

Table II: Eye Color and Character Code Representation

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814



(a) Red: Permuted Points and Blue:

Transformed Points





Fig 4. Transformed Iris Features for Three

Different Soft Biometric Passwords

The hardened retina based fuzzy vault is implemented in

[21]. The multimodal fuzzy vault for fingerprint and iris
was presented in [22]. The primitive idea of combined
user and soft biometric password for iris is shown in [23].
The proposed work is an attempt to mix the ideas of soft
biometrics and multibiometrics [13, 14] in providing
stored biometric template security.
Fig 5. Transformed Retinal Features for Three Different Soft Biometric

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Table III Showing the Structure of Sample Passwords

(40 Bits)
Table IV

Soft Biometric Password

(24 bits)
Iris color
(8 bit)
(8 bit)
(8 bit)

(64 bits)


Security Analysis of Combined User and Soft Biometric based Password Hardened Multimodal Fuzzy Vault

Vault Type

Degree of

of the

Total no: of

to decode the

No: of
To be
to decode
the vault

+ guessing
entropy of the
(in security bit )



6.1088 x 10 16

6.9069 x 10 6

8.8445 x 109

51 to 63



1.1457 x 10 17

1.4307 x 10 7

8.0079 x 10 9

51 to 63

Iris and



1.8395 x 1028

1.0143 x 1013

1.8136 x 1015

68 to 81

5. Conclusions
To resist against identity theft and security attacks it is
very important to have a reliable identity management
Biometrics play vital role in human
authentication. However, biometric based authentication
systems are vulnerable to a variety of attacks. Template
attacks are more serious compared to other attacks. Single
template protection scheme is not sufficient to resist the
attacks. Hybrid scheme provide better security than their
single counterpart.
Fuzzy vault, which is a crypto
biometric scheme, is modified by adding password
hardening idea (salting) to impart more resistance towards
attacks. Multi biometric fuzzy vaults can be implemented
and again can be salted using passwords for achieving
more security in terms of min-entropy. The only
disadvantage of biometrics authentication as compared to
traditional password based authentication is non
revocability. Retina has certain advantage as compared to
other biometrics and it is suitable for high security
applications. Soft biometrics is ancillary information about
a person, when combined with user password gives better
results. It is very difficult for an attacker to gain both the
biometric features, soft biometric components and user

at the same time. The user password can be changed for
generating revocable

biometric templates. In this implementation password acts

as an additional layer of security. It is not possible for an
attacker to gain the password and the fuzzy vault at the
same time. Still better stable soft biometric components
can be explored for better performance. This is an attempt
to mix the ideas of password hardening, soft biometrics
and multimodal biometrics for template security. Instead
of using soft biometrics like height and weight which are
prone to frequent changes, biometrics like fingerprint type
and eye color can be used.
A public version of the DRIVE: Digital Retinal Images
A public version of the CUHK Iris Database is available

[1] Umat uludag, sharath pankanti, Anil. K.Jain Fuzzy vault for
fingerprints, Proceedings of International conference on
Audio video based person authentication, 2005.
[2] Juels and M.Sudan, A fuzzy vault scheme, Proceedings of
IEEE International symposium Information Theory, 2002.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

[3] E.Srinivasa Reddy, I. Ramesh Babu, Performance of Iris

Based Hard Fuzzy Vault, Proceedings of IEEE 8th
International conference on computers and Information
technology workshops, 2008
[4] U.Uludag, S. Pankanti, S.Prabhakar, and A.K.Jain,
Biometric Cryptosystems: issues and challenges,
Proceedings of the IEEE ,June 2004.
[5] Karthik Nandakumar, Abhishek Nagar and Anil K.Jain,
Hardening Fingerprint Fuzzy Vault using Password,
International conference on Biometrics, 2007.
[6] Karthick Nandakumar, Sharath Pankanti, Anil K. Jain,
Fingerprint-based Fuzzy Vault Implementation and
Performance, IEEE Transacations on Information Forensics
and Security, December 2007.
[7] K.NandaKumar, Multibiometric Systems: Fusion Strategies
and Template Security, PhD Thesis, Department of
Computer Science and Engineering, Michigan State
University, January 2008.
[8] Sharat Chikkarur, Chaohang Wu, Venu Govindaraju, A
systematic Approach for feature Extraction in Fingerprint
images, Center for Unified Biometrics and Sensors(CUBS),
university at Buffalo, NY,USA.
[9] K. Jain, A. Ross, and S. Pankanti, Biometrics: A Tool for
Information Security, IEEE Transactions on Information
Forensics and Security, vol. 1, no. 2, pp. 125143, June
[10] K. Jain, A. Ross, and U. Uludag, Biometric Template
Security: Challenges and Solutions, in Proceedings of
European Signal Processing Conference (EUSIPCO),
Antalya, Turkey, September 2005.
[11]Anil K.Jain, Karthik Nanda Kumar and Abhishek Nagar,
Biometric Template Security EURASIP Journal on
Advance in Signal Processing, special issue on Biometrics,
January 2008.
[12] Ratha, N.K., J.H. Connell, and R.M. Bolle, Enhancing
security and privacy in biometrics-based authentication
systems, IBM Systems Journal, vol. 40, no. 3.
[13] Jain, Anil K. Jain and Arun Ross, Multibiometric
systems, Communications of the ACM, January 2004,
Volume 47,
Number 1 (2004).
[14] A.K. Jain and A. Ross, Learning User-specific parameters
in a Multibiometric System, Proc. IEEE International
Conference on Image Processing(ICIP), Rochester, New
York, September 22 25, 2002, pp. 57 60.
[15] Li Chen, IEEE Member, Xiao-Long zhang, Feature-based
registration using bifurcation structures, Matlab
[16] Anil K. Jain, Sarat C. Dass, and Karthik Nandakumar,
Soft Biometric Traits for Personal Recognition Systems

Proceedings of International Conference on Biometric

Authentication, LNCS 3072, pp. 731- 738, Hong Kong,
July 2004
[17] Anil K. Jain, Karthik Nandakumar, Xiaoguang Lu, and
Unsang Park,Integrating Faces, Fingerprints, and Soft
Biometric Traits for User Recognition, Proceedings of


Biometric Authentication Workshop, LNCS 3087, pp.

259-269, Prague, May 2004
[18] Anil K. Jain, Sarat C. Dass and Karthik Nandakumar,
Can soft biometric traits assist user recognition?,
Proceedings of SPIE Vol. 5404, pp. 561-572, 2004.
[19] Anil K. Jain and Unsang Park, Facial Marks: Soft
Biometric For Face Recognition, IEEE International
Conference on Image Processing (ICIP), Cairo, Nov.
[20] Jung-Eun Lee, Anil K. Jain and Rong Jin, Scars, Marks
And Tattoos (Smt): Soft Biometric For Suspect And
Victim Identification, Biometrics Symposium 2008
[21] V.S.Meenakshi, G.Padmavathi, Security analysis of
Password Hardened Retina based Fuzzy Vault,
International Conference on Advances in Recent
Technologies in Communication and Computing 2009,
Kottayam, Kerala, India October 27-October 28 ISBN:
[22] V.S.Meenakshi, G.Padmavathi, Security analysis of
Password Hardened Multimodal Biometric Fuzzy
World Academy of Science, Engineering and Technology
56 2009, 61.pdf
[23] V.S.Meenakshi, G.Padmavathi Securing Iris Templates
using Combined User and Soft Biometric based Password
Hardened Fuzzy Vault International Journal of Computer
Science and Information Security, IJCSIS, Vol. 7, No. 2,
pp. 001-008, ISSN 19475500 February 2010, USA

V S. Meenakshi received her B.Sc

(Physics) from Madurai Kamaraj
University and MCA from Thiagarajar
College of Engineering, Madurai in
1990 and 1993 respectively. And, she
received her M.Phil degree in
Computer Science from Manonmaniam
Sundaranar University, Tirunelveli in
2003. She is pursuing her PhD at
Avinashilingam University for Women.
She is currently working as an
Associate Professor in the Department of Computer
Applications, SNR Sons College, and Coimbatore. She has
17 years of teaching experience. She has presented nearly
15 papers in various national and international conferences.
Her research interests are Biometrics, Biometric Template
Security and Network Security.

Dr. Padmavathi Ganapathi is the

Professor and Head of the Department of
University for Women, Coimbatore. She
has 22 years of teaching experience and
one year Industrial experience. Her areas
of interest include Network security and
communication. She has more than 100
publications at national and International

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
level. She is a life member of many professional organizations like
CSI, ISTE, AACE, WSEAS, ISCA, and UWA. She is currently the
Principal Investigator of 5 major projects under UGC and DRDO.


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Interactive Guided Online/Off-line search using Google API and

Kalyan Netti1
Scientist, NGRI(CSIR),
Hyderabad, Andhra Pradesh, India

Information retrieval systems (e.g., web search engines)
are critical for overcoming information overload. A major
deficiency of existing retrieval systems is that they
generally lack user modeling and are not adaptive to
individual users, resulting in inherently non-optimal
retrieval performance [1]. Sources of these problems
include the lack of support for query refinement. Web
search engines typically provide search results without
considering user interests or context. This in turn increases
the overhead on the search engine server. To address these
issues we propose a novel interactive guided Online/offline search mechanism. The system allows user to choose
for normal or combinational search [5] of the query string
and allows the user to store the best search results for the
query string. The proposed system also provides option for
off-line search which searches from the bundle of stored
results. Systems which implemented offline search require
downloading and installing the stored bundle of search
results before using it. The proposed system is an
interactive web based search facility both offline and
online. The system doesnt require installing the bundle of
saved search results for offline searching, as the search
results are added to the bundle interactively as chosen by
the user. The system is very likely to return the best
possible result as it uses combinational search. The result
from the combination search can be stored and can be
searched again offline. Experiments revealed that
combination search of keywords in query yields variety of
results. Thus the Bundle of Stored result consists of best
possible results as the user chooses to save in it. This will
enhance the systems searching capabilities offline, which
in turn reduces the burden on the search engine server.
Keywords: Web search Engine, Meta-search engine,
Information retrieval, Google, Retrieval Models, Offline
Search, Combination Search, Google API, JSON

1. Introduction
One of the most pressing issues with today's explosive
growth of the Internet is the so-called resource discovery

problem[3]. Although many information retrieval systems

have been successfully deployed, the current retrieval
systems are far from optimal [1]. A major deficiency of
existing retrieval systems is, they generally lack user
modeling and are not adaptive to individual users [4]. This
non-optimality or inconvenience to the users may
sometimes be seen as the search engine inability to
understand the user query, but if it is seen through user
perspective, two specific issues can be observed.
a) Different users may use a search query in many
different ways, but clearly thinking of one result. Like, a
user may give a query as java programming, other user
may give the query like programming java. Sometimes
the search engine may give different results even though
the user perspective is same. b) User after giving the query
has to go through the information of all websites which
are returned by the search engine, even though a best
search engine can filter the non-query related sites. This
process although a common one is very tedious. Once the
user is not satisfied with the result he/she may repeat the
process with a different query possibly with a different
combination of keywords. This may overburden the search
server with repeated queries.
A system which can give user an option for searching with
different combinations of keywords in the query is a
viable solution for the problem mentioned at a above.
Also a system which allows the user to save the best
possible results as a bundle, and accessing them later
offline is a probable solution for b mentioned above. The
bundle of search results saved can be searched again for
further refinement by any other user for a same type of
query or combination.
The system implemented in this paper is an interactive
interface and provides an option for the user to search the
server with a combination of keywords or with a normal
search. It allows the user to save the search result as a
bundle of website URLs. Later users can access the bundle
offline for further refinement of the search. This will
reduce overhead on the network and on the server when
the search is performed for the same type of result. Also
the result can be assured of the best result as it is yielded
from the combination of keywords. The main aim of this

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

paper is to make information search handy and appropriate

such that it will be easy to use while offline thus reducing
the overhead on the search engine server. The system uses
Google as a search server and to refine the URLs of the
search results JSON and Google API is used. The reason
for using Google as a search server is that, Google has
grown to be one of the most popular search engines that
are available on the Web. Like most other search engines,
Google indexes Web sites, Usenet news groups, news
sources, etc. with the goal of producing search results that
are truly relevant to the user. This is done using
proprietary algorithms, which work based on the
understanding that if a page is useful, other pages covering
the same topic will somehow link to it. So, it can be said
that Google focuses on a pages relevance and not on the
number of responses [6]. There for it can be said that
Google focuses on a pages relevance and not on the
number of responses.
Moreover, Google allows sophisticated searches, with
required and forbidden words, and the ability to restrict
results based on particular language or encoding [8].
However, only a small number of web users actually know
how to utilize the true power of Google. Most average
web users, make searches based on imprecise query
keywords or sentences, which presents unnecessary, or
worse, inaccurate results to the user. Based on this
assumption, applications that help guide users searching
sessions have started to emerge. This is further motivated
by the introduction of Google Web Services, which allows
developers to query the Google server directly from their
application [5] [8].
Google has been providing access to its services via
various interfaces such as the Google Toolbar and wireless
searches. And now the company has made its index
available to other developers through a Web services
interface. This allows the developers to programmatically
send a request to the Google server and get back a
response. The main idea is to give the developers access to
Googles functionality so that they can build applications
that will help users make the best of Google. The Web
service offers existing Google features such as searching,
cached pages, and spelling correction [7]. It is provided
via Google AJAX Search API and can be manipulated in
any way that the programmer pleases. Also Google is now
allowing queries using a REST-based interface that returns
search results using JSON .

2. Related Work
Great deal of work has been done in making available
guided search such as GuideBeam [10], which is the result
of research work carried out by the DSTC (Distributed
Systems Technology Centre) at the University of
Queensland in Brisbane, Australia. GuideBeam works
based on a principle called "rational monotonicity" that


emerged from artificial intelligence research in the early

nineties. In the context of GuideBeam, rational
monotonicity prescribes how the user's current query can
be expanded in a way which is consistent with the user's
preferences for information. In other words it is a guiding
principle of preferential reasoning [11]. Since users prefer
certain pieces of information in their quest for
information, preferential reasoning fits very nicely into the
picture of guided searching. Users can intuitively navigate
to the desired query in a context-sensitive manner. This is
known as "Query by Navigation". The goal is to elicit a
more precise query from the user, which will translate into
more relevant documents being returned from the
associated search engine. Another example that is more
closely related to Google would be the Google API Search
Tool by Softnik Technologies [12]. It is a simple but
powerful Windows software tool for searching Google. It
is completely free and is not meant to be a commercial
product. All that the users need to do is register with
Google for a license key and they will be entitled to pose
1000 queries a day. It is also an efficient research tool
because it allows the users to record the search results and
create reports of their research easily and automatically.
The URLs, titles, etc. can be copied to the clipboard and
then to a spread sheet or any other software. In summary,
it enables the users to organize and keep track of their
searching sessions, all at the convenience of their
The Google API Search Tool requires the users to
download and install the software before they can start
using it. An alternative is to have a Web-based version of
the search tool. Many projects have been exploring this
path like [5] Guided Google, Google API Proximity
Search (GAPS) developed by [13]. The
GAPS is developed using Perl and uses the Google API to
search Google for two search terms that appear within a
certain distance from each other on a page [6]. Most of the
Frameworks mentioned above are either free tools
available or commercial ones. Most of the tools mentioned
above like Guided Google, Staggernation etc were
developed using Google SOAP API, which is
discontinued by Google and those tools are no longer
available on web. Most of the tools are not interactive.
Some systems like COS [14] have the limitation of
downloading and installing the COS pack [14] offline and
it has no facility of Combination Search, thus again
resulting in inconvenience to the user.
The main difference between the tools and systems
mentioned above and the system proposed in this paper is
that there is no need for the user to download the bundle
best search results for offline search just as
implemented in COS [14].Instead, user has an option to
choose between offline and online search. The system
allows allow users to save beset results interactively. The

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

system has the facility for combination search which

proved one to retrieve best results. The system is
implemented as web interface and is easy to use. It uses
powerful Google Ajax API which is the latest search API
from Google [7], JSON for parsing the streamed response.
Thus the proposed system provides a focused search and is
very likely to return the relevant response to user.Online
help for parsing the streamed response using JSON
through web interface by using JSP and Servlets is not
available in internet although help for stand-alone is

3. Architecture

Figure 1 shows the overview and architecture of the

proposed system. The user access the system as a web
interface which is developed using JSPs. The JSPs are

of Saved

Each of these smaller clusters will be assigned queries

based on the users geographic proximity to it [15, 16].
This is a form of load balancing, and it helps to minimize
the round-trip time for a query; hence, giving greater
response time. If the user chooses for online search, the
response is handled by the JSON implemented in
JSP/Servlet Container in Tomcat and the search result is
displayed to the User. The user has then an option to save
the search results directly to the bundle of saved results. If
the user chose for the offline search then the JSP/Servlet
container sends the request to the Bundle of Saved Results
and returns the response to the user.

3.2 Google Ajax Search API

3.1 Proposed System Architecture



JSP and



Figure 1: Main Architecture

hosted on a Tomcat Server. The Tomcat server acts as

both a stand-alone webserver and servlet container. Before
submitting the Query, the user has the option to choose
between online and offline search. If the user chooses
online search then the system will ask to choose either
Combination Search or Normal Search. The search is then
handled by the Google AJAX Api and is sent to Google has Google cluster which is further
divided into smaller clusters that is made up of a few
thousand machines, and is geographically distributed to
protect Google against catastrophic data centric failures.

Figure 2, shows the Google API architecture. The

architecture of how Google Web Services interact with
user applications is shown in Figure 2. The Google server
is responsible for processing users search queries [9]. The
programmers develop applications in a language of their
choice (Java, C, Perl, PHP, .NET, etc.) and connect to the
remote Google Web APIs service. Communication is
performed via the Google AJAX Search Api. The AJAX
Search API allows you to easily integrate some very
powerful and diverse Google based search mechanisms or
"controls" onto a Web page with relatively minimal
coding. These include: [7]
a) Web Search: This is a traditional search input field
where, when a query is entered, a series of text search
results appear on the page.
b) Local Search: With Local Search, a Google Map is
mashed together with a search input field and the search
results are based on a specific location.
c) Video Search: The AJAX Video Search provides the
ability to offer compelling video search along with
accompanying video based search results.
Once connected, the application will be able to issue
search requests to Google's index of more than two billion
web pages and receive results as structured data, access
information in the Google cache, and check the spelling of
words. Google Web APIs support the same search syntax
as the site.
In short, the Google AJAX APIs serve as an enhanced
conduit to several of Google's most popular hosted
services. The hosted services such as Google Search or
Google Maps can be accessed directly, but with AJAX
APIs comes the ability to integrate these hosted services
into anyone's custom web pages. The way the AJAX APIs
work is by allowing any web page that is hosted on the
Internet access to Google search (or feed) data through
JavaScript code.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Figure 2: Google AJAX Search API Architecture

The core JavaScript code that fetches the search or feed

data can be as simple as Search.execute( ) or Feed.load( ).
As the request is made to Google's worldwide servers, a
response of either Search data or prepared AJAX Feed
data is streamed back to the Web page in either JSON
(JavaScript Object Notation) or XML formats. Parsing of
this data can either be done manually or automatically by
using one of the provided UI controls that are built upon
the lower level AJAX APIs.

3.3 JSON
JSON (an acronym for JavaScript Object Notation) is a
lightweight text-based open standard designed for humanreadable data interchange. It is derived from the JavaScript
programming language for representing simple data
structures and associative arrays, called objects. Despite
its relationship to JavaScript, it is language-independent,
with parsers available for virtually every programming
In JSON the String data structure take on these forms

JSON Schema [17] is a specification for a JSON-based

format for defining the structure of JSON data. JSON
Schema provides a contract for what JSON data is
required for a given application and how it can be
modified, much like what XML Schema provides for
XML. JSON Schema is intended to provide validation,


documentation, and interaction control of JSON data.

JSON Schema is based on the concepts from XML
Schema, RelaxNG, and Kwalify, but is intended to be
JSON-based, so that JSON data in the form of a schema
can be used to validate JSON data, the same
serialization/deserialization tools can be used for the
schema and data, and it can be self descriptive.
Apart of certain limitations which are limited to textual
data formats which also apply to XML and YAML, JSON
is primarily used for communicating data over the Internet.
The proposed system in this paper uses JSON extensively
to parse the response send by the Google API. Parsing the
response using JSON enables the system to store the
results in array, get the required URLs, Count the total
results etc. This enables the user to compare the query
string during combinational search, by total number of
results retrieved and save the best results.

4. Design and Implementation

The Proposed system is an interactive web interface,
which is developed using JAVA and coded in JSP and
Servlets. As discussed earlier, this system is developed
based on the assumption that search engines typically
provide search results without considering user interests or
context, which in turn leads to Overhead of the search
engine server.
This implementation tries to demonstrate, how the new
Google AJAX search API can be fully utilized, how it
helps the users to guide for better results, how it reduces
the overhead on the search engine sever.
This system can be grouped into four categories. The first
one is for choosing between Online and offline search.
The second one is choosing normal search or combination
search. The third one is saving the results into the bundle
of storage. The fourth is searching the bundle of stored
results offline. Each of these is discussed in detail in
following sections. A simple illustration of how this
system works is given at figure 3;

Figure 3: Design and Implementation of the system

4.1 Online Search

There is a main page (index.jsp) that is used to interface
with all other files. This page consists of query text box (a

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


shown in figure 4), and options for the user to Offline

search and online search. If the user chooses online search
the page display the option to choose for normal search or
combination search. The normal and combination search
functions are supported by search.jsp program file. The
program file search.jsp connects to by using bean which establishes the connection
using Google AJAX Api.

Figure 5: searching using java programming

Figure 4: Online Search and Combination Search

4.2 Combination Search

As mentioned earlier this system provides a function that
will automatically calculate the permutation and make
different combinations of the keywords used. For
example, if the users were to key in the term java
programming, it will automatically generate two
combinations, which are java programming and
programming java. The results of these two queries
when searched using are very different (see
Figure 5 and Figure 6).Generating different combinations
of key words in query string is carried out by
combination.jsp program file.

4.3 Parsing Response

Once the response is send by the Google, search.jsp parses
the streamed response using JSON. The code snippet for
connecting to using AJAX API Search is as

Figure 6: searching using programming java

// Encode the Query to make a valid one

//The query is returned from
//combination.jsp if use choose
//combination search
query = URLEncoder.encode(query, "UTF8");
URL url = new
.0&q=" + query);
// opening connection
URLConnection connection =

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

The code snippet for parsing the response from Google

and storing into array , getting the best URLs, Counting
number of results etc using JSON is as follows
// Reading the JSON response
String line;
StringBuilder res = new
BufferedReader reader = new
while((line = reader.readLine()) !=
null) {
//parsing using JSON Objects
String resp = builder.toString();


the save button to save the results (as shown in figure

7).The program search.jsp saves the URLs, search string
in the bundle storage. The offline search for the user is
taken care by offline.jsp program file. The user can choose
offline search from the index.jsp file.
5. Evaluation
This section focuses on evaluating the search performance
of this system when chosen online and offline. This
section also focuses on the performance of both normal
search and combination search. For simplicity, a common
search query java programming is used.

5.1 Online Search & Saving Results

5.1.1 Normal Search

As shown in the figure 4, after giving the query as java

programming in index.jsp and clicking submit query
button returned around 11100000 results as
shown in figure 7. For convenience purpose the system

JSONObject json = new

// Displaying the required results
out.println("Results Ordered = "
// Parsing the respone using JSONArray
JSONArray ja =
out.println("\n Results:");
for (int i = 0; i < ja.length(); i++) {
out.print((i+1) + ". ");
JSONObject j = ja.getJSONObject(i);

4.4 Saving Results and Offline Search

After displaying the results the user has the option to save
the results in bundled storage of results. The results can be
stored by selecting the checkboxes displayed as prefix to
each result. After clicking the checkbox the user can press

Figure 7: Displaying results after parsing for search query java


was restricted to display the first 8 results. The total results

are computed using JSON as discussed in earlier section.
The next part of the display shows check boxes as a prefix
to every result so that user has option to save the result by
clicking the checkboxes and later clicking save button.
5.1.2 Combination Search

In combination search, the query java programming is

passed through a function written in combination.jsp
program file which give all unique combinations of it.In
this case it will also produce programming java. The
search result of java programming and programming
java yielded different sets of results as shown in figure 8
and 9. The java programming query yielded The

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


11100000 results whereas programming java yielded

around 12100000 results, which is big difference. Thus
this system shows a unique way of getting best search
results by giving combination of words and providing user
a best possible way to search the internet and choosing the
best results. Apart of that, the system also allows to save
the results which are yielded from both the search queries,
thus providing a variety of options and results.
5.1.3 Offline Search
In searching based on offline, the term java
programming is submitted to the bundle of stored results.
The bundle of results is the one which were saved by the
user during normal search as shown in figure 7. The result
of this search is shown in figure 10.Figure 10 show only 3
results displayed which are top 3 results stored by the user
in figure 7.
As illustrated in the figures 8 and 9 the combinational
search yields different results as compared to the normal

Figure 9: Combination Search (part 2), displaying results for search query
programming java

Later the offline search yields the best results and thus
reduces the repeat searching by the user which again
reduces the burden on the search engine server.

Figure 8: Combination Search (part 1), displaying results for search query
java programming

As illustrated in figure:10 the user chooses the option for

the offline search and the results are from stored bundle of
results. The user after performing combination search,
which yields variety of results from combination of words
in the query string, can save the best possible results.

Figure 10: Offline Search, Displaying results for search query

programming java

6. Conclusion and Future Work

This paper proposed an interactive web interface for
guided searching and uses powerful Google AJAX search
API and JSON to parse the response. This interface
provides an option for online and offline search. The
proposed system also provides an option for Combination
search and Normal search to user. A detailed evaluation of
the system demonstrated how the user can harness the
capability of search engines by manipulation and
automation the existing search engine functions (this paper
uses as an example).

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

However the system has lot of scope to be improved. For

instance the system can provide an option to choose
between the top search engines like (, window
live) thus making the user to see different set of results
(this paper uses as example). The system can
also be further developed to allow the user to give ranking
to the results which are to be saved in the bundle of saved
Offline search has lot of scope to improve. A simple
replacement policy like least recently used can be
employed to update the bundle of saved results and thus
making the offline search more efficient and likely one to
retrieve best results.

[1] Xuehua Shen, Bin Tan, ChengXiang Zhai,Implicit User
Modeling for Personalized Search CIKM05, October 31
November 5, 2005, Bremen, Germany.
[2] Orland Hoeber and Xue Dong Yang, Interactive Web
Information Retrieval Using WordBars, Proceedings of the
2006 IEEE/WIC/ACM International Conference on Web
[3] M. Schwartz, A. Emtage, B. M e, and B. Neumann, "A
Comparison of Internet Resource Discovery Approaches,"
Computer Systems,
[4] G. Nunberg. As google goes, so goes the nation. New York
Times, May 2003.
[5] Ding Choon Hoong and Rajkumar Buyya,Guided Google:
A Meta Search Engine and its Implementation using
the Google Distributed Web Services
[6] The Technology behind Google
[8] Google Groups (web-apis)
[10] Guidebeam -
[11] Peter Bruza and Bernd van Linder, Preferential Models of
Query by Navigation. Chapter 4 in Information Retrieval:
Uncertainty & Logics, The Kluwer International Series on
Information Retrieval. Kluwer Academic Publishers,
[12] Softnik Technologies, Google API Search Toolhttp://
[13] Google API Proximity Search (GAPS)
[14] Sree Harsha Totakura, S Venkata Nagendra Rohit Indukuri
V Vijayasherly, COS: A Frame Work for Clustered off-line
[15] Luiz Andr Barroso, Jeffrey Dean, and Urs Hlzle, Web
Search for a Planet: The Google Cluster Architecture, Google,
[16] Mitch Wagner, Google Bets The Farm On Linux, June
2000, -
[18] M. B. Rosson and J. M. Carroll. Usability Engineering:


scenario-based development of human-computer interaction.

Morgan Kaufmann, 2002.
[19] I. Ruthven. Re-examining the potential effectiveness of
interactive query expansion. In Proceedings of the ACM SIGIR
Conference on Research and Development in Information
Retrieval, 2003.
[20] G. Salton and C. Buckley. Improving retrieval performance
by relevance feedback. Journal of the American Society for
Information Science, 41(4), 1990.
[21] B. Shneiderman. Designing the User Interface. AddisonWesley, 1998.
[22] C. Silverstein, M. Henzinger, H. Marais, and M. Moricz.
Analysis of a very large web search engine query log. SIGIR
Forum, 33(1), 1999.
[23] A. Spink, D. Wolfram, B. J. Jansen, and T. Saracevic.
Searching the web: the public and their queries. Journal
of the American Society for Information Science and
Technology, 52(3), 2001.
[24] K. Sugiyama, K. Hatano, and M. Yoshikawa. Adaptive web
search based on user profile construction without any effort
from users. In Proceedings of the 2004 World Wide Web
Conference (WWW2004), 2004.
[25] J. Teevan, S. Dumais, and E. Horvitz. Personalizing search
via automated analysis of interests and activities. In Proceedings
of the ACM SIGIR Conference on Research and
Development in Information Retrieval, 2005.
[26] E. M. Voorhees. Query expansion using lexical-semantic
relations. In Proceedings of the ACM SIGIR Conference on
Research and Development in Information Retrieval, 1994.
[27] C. Ware. Information Visualization: Perception for Design.
Morgan Kaufmann, 2004.
[28] J. Xu and W. B. Croft. Improving the effectiveness of
information retrieval with local context analysis. ACM
Transactions on Information Systems, 18(1), 2000.
[29] Yahoo. Yahoo search web searvices.
[30] Y. Yao. Information retrieval support systems. In
Proceedings of the 2002 IEEE World Congress on
Computational Intelligence, 2002.

Kalyan Nettii, born in Andhra Pradesh, India. He obtained his

Master degree in Technology in Computer Science and
Engineering with specialization in Database Management Systems
from JNTU, Andhra Pradesh, India, in 2004.Kalyan Netti is
interested in the following topics: semantic web technologies,
Ontologies, data interoperability, semantic heterogeneity, relational
database systems, temporal databases and temporal data

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Static Noise Margin Analysis of SRAM Cell for High Speed

Debasis Mukherjee1, Hemanta Kr. Mondal2 and B.V.R. Reddy3
Udaipur, 313601 and Delhi, 110006, India

Freescale Semiconductor
Noida, 201301, India

Delhi, 110006, India

This paper presents the different types of analysis such as noise,
voltage, read margin and write margin of Static Random Access
Memory (SRAM) cell for high-speed application. The design is
based upon the 0.18 m CMOS process technology. Static Noise
Margin (SNM) is the most important parameter for memory
design. SNM, which affects both read and write margin, is
related to the threshold voltages of the NMOS and PMOS
devices of the SRAM cell that is why we have analyzed SNM
with the Read Margin, Write Margin and also the Threshold
voltage. For demand of the high-speed application of the SRAM
cell operation, supply voltage scaling is often used that is why
we have done Data Retention Voltage. We took different types
of curve by which straightforwardly we could analyses the size
of the transistor of the SRAM cell for high-speed application.
Keywords: Static Noise Margin, SRAM, VLSI, CMOS.

1. Introduction
This paper is to introduce how the speed of the SRAM cell
depends on the different types of noise analysis. Both cell
ratio and pull-up ratio are important parameters because
these are the only parameters in the hand of the design
engineer [1]. Technology is getting more complex day by
day. Presently in industry, 32 nm CMOS process
technology is used. So it should be carefully selected in
the design of the memory cell. There are number of design
criteria that must be taken into the consideration. The two
basic criteria which we have taken such as one is the data
read operation should not be destructive and another one is
static noise margin should be in the acceptable range [3].
For demand of the high speed SRAM cell operation,
supply voltage scaling is often used. Therefore, the

analysis of SRAM read/write margin is essential for high

speed SRAMs.
A key insight of this paper is that we can analyze different
types of noise margin for high speed SRAM cell. We
evaluate the different of curve with respect to the all of
them. And finally we can conclude how the different type
of noise margin affects the speed of the SRAM cell.
We first reviewed existing approaches for static noise
margin, data retention voltage, read margin and write
margin. Then we have done the comparison of all of them
with different aspects.

2. Static Noise Margin

In this section, first we introduce existing static approach
that is butterfly method for measuring static noise margin
[1]. Static noise margin of the SRAM cell depends on the
cell ratio (CR), supply voltage and also pull up ratio. For
stability of the SRAM cell, good SNM is required that is
depends on the value of the cell ratio, pull up ratio and
also for supply voltage. Driver transistor is responsible for
70 % value of the SNM [3].
Cell ratio is the ratio between sizes of the driver transistor
to the load transistor during the read operation [1]. Pull up
ratio is also nothing but a ratio between sizes of the load
transistor to the access transistor during write operation [1].
The basic circuit of SRAM cell is shown in given below as
figure 1.
CR= (W1/L1) / (W5/L5) (During Read Operation)
PR = (W4/L4) / (W6/L6) (During Write Operation)

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Fig. 2a Circuit for two cross couple inverter with BL and BLB [1].

Fig. 1 Circuit for basic SRAM cell [1].

SNM, which affects both read margin and write margin, is

related to the threshold voltages of the NMOS and PMOS
devices in SRAM cells [3]. Typically, to increase the SNM,
the threshold voltages of the NMOS and PMOS devices
need to be increased. However, the increase in threshold
voltage of PMOS and NMOS devices is limited. The
reason is that SRAM cells with MOS devices having too
high threshold voltages are difficult to operate; as it is hard
to flip the operation of MOS devices.
Changing the Cell Ratio, we got different speed of SRAM
cell. If cell ratio increases, then size of the driver transistor
also increases, for hence current also increases. As current
is an increase, the speed of the SRAM cell also increases.
By changing the Cell ratio we got corresponding SNM.
For different values of CR, we got different values of
SNM in different technology of SRAM cell. This is same
for DRV vs. SNM.
Adobe Photoshop CS3 tool was used for rotation purpose.
We have done this project by Tanner 13.1 version tool.
Practically we cant get butterfly structure that is why we
rotated the graph according to x-y coordinates. Finally we
got butterfly structure as shown in figure 2a. Since by
knowing the diagonals of the maximum embedded squares
we can calculate the sides. The squares have maximum
size when the lengths of their diagonal D1 and D2 are
maximum; the extremes of this curve correspond to the
diagonals of the maximum embedded squares.

Fig. 2b Circuit for the calculation of SNM after rotation [1].

3. Data Retention Voltage

Data Retention Voltage (Vdr): Min. power supply voltage
to retain high node data in the standby mode [1]. There are
two nodes (q and qb) of the SRAM cell for storing value
either 0 or 1. Then decrease the power supply voltage until
the flip the state of SRAM cell or content of the SRAM
cell remain constant. Vdd scales down to DRV, the
Voltage Transfer Curves (VTC) of the internal inverters
degrade to such a level that Static Noise Margin (SNM) of
the SRAM cell reduces to zero.
If Q=1, Q=0, it is changes the value of Q=0, Q=1 after
decreasing the value of the power supply voltage. Data
retention voltage should be greater than threshold voltage.
We took the value of power supply voltage upto 0.6V then
it is change the state of cell. We know, minimum power
supply voltage to retain high node data in the standby
mode: Vdr=Vdd=0.6V for 180 nm Technology that is data
retention voltage.

Fig. 3 VTC of SRAM cell during DRV calculation[1].

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

4. Write Margin
Write margin is defined as the minimum bit line voltage
required to flip the state of an SRAM cell [1]. The write
margin value and variation is a function of the cell design,
SRAM array size and process variation.
Already five existing static approaches for measuring
write margin are available [5]. First we calculated write
margin by the existing bl sweeping method then we
compared that with Static Noise Margin.
Write margin is directly proportional to the pull up ratio.
Write margin increases with the increases value of the pull
up ratio. So carefully you have to design SRAM cell
inverters before calculating the write margin of SRAM
cell during write operation. Pull up ratio also fully
depends on the size of the transistor.


Read margin is directly proportional to the cell ratio. Read

margin increases with the increase in value of the pull up
ratio. So carefully you have to design SRAM cell inverters
before calculating the read margin of SRAM cell during
read operation. Pull up ratio also fully depends on the size
of the transistor. The process of analysis of read margin is
same as the analysis of static noise margin.

6. Simulation Results and Discussion

Some important results that are observed from simulation
of the schematic designed in S-Edit are summarized below:
The cell ratio and the pull up ratio of the SRAM cell are
given below:
CR= (W1/L1) / (W5/L5) =1(During Read Operation)
PR = (W4/L4) / (W6/L6) =3 (During Write Operation)
The range cell ratio and pull-up ratio should be in 1-2.5
and 3-4 respectively otherwise data will be destroy.
SNM calculation: We have done the SNM calculation by
this way with respect of above figure:
Side of the Maximum Square =A=0.209V=209 mV,
Lengths of diagonal of Square (D) = 2 * One side of the
Square = 2 * 209, SNM= D/ 2 = 2 * 209/ 2, So
SNM =One of the side=A=209 mV.

Fig. 4a VTC of SRAM cell to get write margin calculation by the BL

sweeping method [5].

5. Read Margin
Based on the VTCs, we define the read margin to
characterize the SRAM cell's read stability. We calculate
the read margin based on the transistor's current model [7].
Experimental results show that the read margin accurately
captures the SRAM's read stability as a function of the
transistor's threshold voltage and the power supply voltage
variations. Below fig.4c shows the read margin of the
SRAM cell during read operation.

Fig. 4b Shows the read margin [7].

We have taken of cell ratio vs. static noise margin, then

the value of static noise margin increases with the increase
of cell ratio of the SRAM cell in 180 nm technology. If the
value of the driver transistor is increased then CR is
increased. For hence current is increased then speed is also
Table 1: CR vs. SNM




180 nm



IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Fig. 5a The graphical representation of CR vs. SNM of the SRAM cell.

The above graph shows SNM increases when CR

increases. CR increases means the size of driver transistor
Data Retention Voltage also effects on the SNM of the
SRAM cell. It is important parameter for the saving supply
voltage. SNM decreases with the decrease in value of the
data retention voltage. Data Retention Voltage should be
greater than threshold voltage. Data Retention Voltage is
greater than the threshold voltage is shown below:
Table 2: DRV vs. SNM





Fig. 5c
The graphical representation of Read Margin vs. SNM of the SRAM cell

The above graph shows SNM increases when read margin

increases and read margin increases means the read
operation of the SRAM cell will be too good.
Below table shows the write margin vs. SNM. We
observed that both write margin and SNM are
proportional with respect to the PR.


180 nm

Table 3: Write Margin vs. SNM

Write margin

Fig. 5b The graphical representation of DRV vs. SNM of the SRAM cell.

The above graph shows SNM increases when DRV

increases. DRV decreases means the voltage also
decreases but content of the SRM cell is remaining
Below table shows the read margin vs. SNM. We
observed that both read margin and SNM are proportional
with respect to the CR.
Table 3: Read Margin vs. SNM



Read Margin

SNM (mV)

Fig. 5d The graphical representation of Write Margin vs. SNM of the

SRAM cell

The above graph shows SNM increases when write

margin increases. Write margin increases means the write
operation of the SRAM cell will be too good.
Below table shows the threshold voltage vs. SNM. We
observed that if the threshold voltage increases the value
of the SNM also increases.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Table 4: Threshold Voltage vs. SNM

Debasis Mukherjee is very much thankful to Mr. Peeyush

Kumar Tripathi of Intel Corporation, Bangalore, India for
his help and support.


Fig. 5e The graphical representation of threshold voltage vs. SNM of

the SRAM cell

The above graph shows SNM is increases when threshold

voltage is increases.

7. Conclusion
In this paper, we have analysed Static Noise Margin and
then we have compared Static Noise Margin with the Data
Retention Voltage, Write Margin, Read Margin and also
threshold voltage during read/write operation. We have
analysed both read margin for read ability and write
margin for SRAM write ability with the Static Noise
Margin. Static Noise Margin affects both read margin and
write margin. Both read margin and write margin depends
on the pull up ratio and cell ratio respectively. The range
of cell ratio should be 1 to 2.5 and also in case of pull up
ratio, the W/L ratio of load transistor should be greater
than the 3-4 times of the access transistor.
This project is based on the reliability of SRAM circuits
and systems. We considered that the four major
parameters (SNM, DRV, RM and WM) of SRAM cell.
Finally, we can say that different types of analysis are
directly proportional to the size of the transistor.

[1] Andrei Pavlov & Manoj Sachdev, CMOS SRAM Circuit

Design and Parametric Test in Nano-Scaled Technologies.
Intel Corporation, University of Waterloo, 2008 Springer
Science and Business Media B.V., pp:1-202.
[2] Ohbayashi, S. Yabuuchi, M. Nii, K. Tsukamoto,
Y. Imaoka, S. Oda, Y. Yoshihara, T. Igarashi,
Takeuchi, M.
Kawashima, H.
Y. Tsukamoto, K. Inuishi, M. Makino, H. Ishibashi,
K. Shinohara, H.; A 65-nm SoC Embedded 6T-SRAM
Designed for Manufacturability With Read and Write
Operation Stabilizing Circuits IEEE J. Solid-State Circuits,
vol. 42, issue 4, pp. 820-829 , April 2007 .
[3] A. P. Chandrakasan el al., Low-power CMOS digital
design, IEEE Journal of Solid-state Circuits, Vol. 27, pp.
473-484, Apr. 1992.
[4] H. Pilo et al., An 833MHz 1.5W 18Mb CMOS SRAM with
1.67 Gb/s/pin, Proc. IEEEISSCC, pp. 266-267, 2000. T.
Uetake et al., A 1.0 ns access 770MHz 36Kb SRAM
Macro, Dig. Symp. VLSI Circuits,pp. 109-110, 1999.
[5] Sleepy Stack: A New Approach to Low Power VLSI Logic
and Memory, Jun Cheol Park.
[6] Jiajing Wang, Satyanand Nalam, and Benton H. Calhoun,
Analyzing Static and Dynamic Write Margin for Nanometer
SRAMs, Department of Electrical and Computer
Engineering, University of Virginia, Charlottesville, VA
22904, USA {jw4pg, svn2u,calhoun}
[7] Janm Rabaey , Anantha Chandakasan , Borivoje Nikolic .
Digital Integrated Circuits.second edition.
[8] Zheng Guo, Andrew Carlson, Liang-Teck Pang, Kenneth
Duong, Tsu-Jae King Liu, Borivoje Nikolic., Large-Scale
Read/Write Margin Measurement in 45nm CMOS SRAM
Arrays, Department of Electrical Engineering and
Computer Sciences, University of California, Berkeley, CA
94720, USA.
[9] Arash Azizi Mazreah, Mohammad T. Manzuri Shalmani,
Hamid Barati, Ali Barati, and Ali Sarchami., A Low Power
SRAM Base on Novel Word-Line Decoding, World
Academy of Science, Engineering and Technology 39 2008
[10] Saibal Mukhopadhyay, Hamid Mahmoodi, and Kaushik
Roy., Statistical Design and Optimization of SRAM Cell for
Yield Enhancement, Dept. of Electrical and Computer
Engineering, Purdue University, West Lafayette, IN-47907,
[11] Mamatha Samson, Performance Analysis of Dual Vt
Asymmetric SRAM -Effect of Process Induced Vt
Variations, Center for VLSI and Embedded System
Technologies Department, International Institute of
Information and Technology, Hyderabad, India.
[12] Arash Azizi Mazreah, Mohammad T. Manzuri Shalmani,
Hamid Barati, and Ali Barati., A Novel Four-Transistor
SRAM Cell with Low Dynamic Power Consumption, World
Academy of Science, Engineering and Technology 39, 2008

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

[13] Kiyoo Itoh, VLSI Memory Chip Design, Springer-Verlag

Berlin Heidelberg New York, p.p. 110, 2001.
[14] B. S. Amrutur and M. A. Horowitz, A replica technique for
wordline and sense control in low-power SRAMs, IEEE
Journal of Solid-state Circuits, Vol. 33, No. 8, pp. 12081218, August 1998.
[15] Tegze P. Haraszti, Microcirc Associates CMOS Memory
Circuits, kluwer academic publishers New York, boston ,
dordrecht, London, Moscow. Pages 238-239.
[16] Sung-Mo Kang, Yusuf Leblebici,, CMOS DIGITAL
INTEGRATED CIRCUITS, Analysis and Design,
McGraw-Hill International Editions, Boston, 2nd Edition,

Debasis Mukherjee was born on 20/08/1980. is Pursuing Ph.D.

from USIT, GGSIPU, Delhi, India from 2010. He received the
M.Tech. degree in VLSI Design from CDAC Noida in 2008 and
bachelor degree in Electronics and Instrumentation Engineering
from BUIE, Bankura, West Bengal, India in 2003. He has about 2.5
years of experience in teaching and 3 years of experience in
Industry. He achieved first place in district in Science Talent
Search Test 1991. He has two publications of repute in IEEE
xplore and two in international conferences. He is life time member
of ISTE and annual member of VSI.
Hemanta Kr. Mondal received the M. Tech. degree in VLSI Design
from CDAC Noida in 2010 and bachelor degree in Electronics and
Communication Engineering from Bengal College of Engineering
and Technology in 2007. He worked in NPL, Delhi in summer,
2010. Since July 2010, he is verification Engineer in VLSI Design
at Freescale Semiconductor India Pvt. Ltd.
B.V.Ramana Reddy is Dean of USIT, GGSIPU, Delhi, India. He
obtained his ME and Ph. D (ECE) degrees during 1991 and 1998
respectively. He has about 20 years of experience in teaching and
research. Before joining GGSIPU, he served as Asstt. Professor at
NIT Hamirpur. He has about 20 publications in journals and
International Conferences to his credit. He is a Fellow of IETE and
a member of other professional bodies such as IE, IEEE, ISTE and
SEMCEI. He has guided few scholars leading to M. Tech and


IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


A New Approach for Evaluation of Data Mining Techniques

Moawia Elfaki Yahia1,

Murtada El-mukashfi El-taher2

College of Computer Science and IT

King Faisal University
Saudi Arabia, Alhasa 31982

Faculty of Mathematical Sciences

University of Khartoum
Sudan, Khartoum 11115

This paper tries to put a new direction for the evaluation of some
techniques for solving data mining tasks such as: Statistics,
Visualization, Clustering, Decision Trees, Association Rules and
Neural Networks. The new approach has succeed in defining
some new criteria for the evaluation process, and it has obtained
valuable results based on what the technique is, the environment
of using each techniques, the advantages and disadvantages of
each technique, the consequences of choosing any of these
techniques to extract hidden predictive information from large
databases, and the methods of implementation of each technique.
Finally, the paper has presented some valuable recommendations
in this field.

Keywords:Data Mining Evaluation, Statistics,

Visualization, Clustering, Decision Trees, Association
Rules, Neural Networks.

1. Introduction
Extracting useful information from data is very far easier
from collecting them. Therefore many sophisticated
techniques, such as those developed in the multidisciplinary field data mining are applied to the analysis of
the datasets. One of the most difficult tasks in data mining
is determining which of the multitude of available data
mining technique is best suited to a given problem.
Clearly, a more generalized approach to information
extraction would improve the accuracy and cost
effectiveness of using data mining techniques. Therefore,
this paper proposes a new direction based on evaluation
techniques for solving data mining tasks, by using six
techniques: Statistics, Visualization, Clustering, Decision
Tree, Association Rule and Neural Networks. The aim of
this new approach is to study those techniques and their
processes and to evaluate data mining techniques on the
basis of: the suitability to a given problem, the advantages
and disadvantages, the consequences of choosing any
technique, and the methods of implementation [5].

2. Data Mining Overview

Data mining, the extraction of hidden predictive
information from large databases, is a powerful new
technology with great potential to help companies focus
on the most important information in their data
warehouses [6]. Data mining tools predict future trends
and behaviors allowing businesses to make proactive
knowledge driven decisions. Data mining tools can answer
business question that traditionally were too time
consuming to resolve. They scour database for hidden
patterns, finding predictive information that experts may
miss because it lies outside their expectations.

3. Review of Selected Techniques

A large number of modeling techniques are labeled "data
mining" techniques [7]. This section provides a short
review of a selected number of these techniques. Our
choice was guided the focus on the most currently used
models. The review in this section only highlights some of
the features of different techniques and how they
influence, and benefit from. We do not present a complete
exposition of the mathematical details of the algorithms, or
their implementations. Although various different
techniques are used for different purposes those that are of
interest in the present context [4]. Data mining techniques
which are selected are Statistics, Visualization, Clustering,
Decision Tree, Association Rules and Neural Networks.

3.1 Statistical Techniques

By strict definition "statistics" or statistical techniques are
not data mining. They were being used long before the
term data mining was coined. However, statistical
techniques are driven by the data and are used to discover
patterns and build predictive models. Today people have

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

to deal with up to terabytes of data and have to make sense

of it and glean the important patterns from it. Statistics
can help greatly in this process by helping to answer
several important questions about their data: what patterns
are there in database?, what is the chance that an event
will occur?, which patterns are significant?, and what is a
high level summary of the data that gives some idea of
what is contained in database?
In statistics, prediction is usually synonymous with
regression of some form. There are a variety of different
types of regression in statistics but the basic idea is that a
model is created that maps values from predictors in such
a way that the lowest error occurs in making a prediction.
The simplest form of regression is Simple Linear
Regression that just contains one predictor and a
prediction. The relationship between the two can be
mapped on a two dimensional space and the records
plotted for the prediction values along the Y axis and the
predictor values along the X axis. The simple linear
regression model then could be viewed as the line that
minimized the error rate between the actual prediction
value and the point on the line [2]. Adding more predictors
to the linear equation can produce more complicated lines
that take more information into account and hence make a
better prediction, and it is called multiple linear

3.2 Visualization Techniques

Visualization techniques are a very useful method of
discovering patterns in data sets, and may be used at the
beginning of a data mining process. There is a whole field
of research dedicated to the search for interesting
projections of datasets this is called Projection Pursuit.
For example, clusters are usually numerical represented.
Also, a large set of rules is easier to understand when
structured in a hierarchical fashion and graphically viewed
such as in the form of a decision tree [8]. Many data
mining method will discover meaningful patterns for
"good" data but none of them or just few can produce
meaningful patterns for "poor" data. One of the goals of
Visualization is to transform "poor" data into "good" data
permitting a wide variety of data mining methods to be
used successfully to discover hidden patterns [10].

3.3 Clustering Techniques

Clustering techniques examine data to find groups of items
that are similar. For example, an insurance company might
group customers according to income, age, types of policy
purchased or prior claims experience [3]. One of popular
clustering algorithms is Nearest Neighbor, which is a
prediction technique that is quite similar to clustering in
order to predict what a prediction value is in one record


look for records with similar predictor values in historical

database and use the prediction value from the record that
it is nearest to the unclassified record. The nearest
neighbor prediction algorithm simply stated is: objects that
are near to each other will have similar prediction values
as well. Thus if you know the prediction value of one of
the objects you can predict it for its nearest neighbors. One
of the improvements of the basic nearest neighbor
algorithm is to take a vote from the nearest neighbors
rather than relying on the sole nearest neighbor to the
unclassified record.

3.4 Induction Decision Tree Techniques

An induction decision tree is a predictive model that, as its
name implies, can be viewed as a decision tree.
Specifically each branch of the tree is a classification
question and the leaves of the tree are partitions of the
dataset with their classification. Objects are classified by
following a path down the tree, by taking the edges,
corresponding to the values of the attributes in an object.
Induction decision tree can be used for exploration
analysis, data preprocessing and prediction work.
The process in induction decision tree algorithms is very
similar when they build trees. These algorithms look at all
possible distinguishing questions that could possibly break
up the original training dataset into segments that are
nearly homogeneous with respect to the different classes
being predicted. Some decision tree algorithms may use
heuristics in order to pick the questions. As example,
CART (Classification And Regression Trees) picks the
questions in a much unsophisticated way as it tries them
all. After it has tried them all, CART picks the best one,
uses it to split the data into two more organized segment
and then again ask all possible questions on each of these
new segment individually [4].

3.5 Association Rule Techniques

An association rule tells us about the association between
two or more items. For example, If we are given a set of
items where items can be referred as books and a large
collection of transactions (i.e., issue/return) which are
subsets (baskets) of these items/books. The task is to find
relationship between the presence of various items within
these baskets [4]. In order for the rules to be useful there
are two pieces of information that must be supplied as well
as the actual rule: Support is how often does the rule
apply? and Confidence is How often is the rule is correct.
In fact association rule mining is a two-step process: Find
all frequent itemsets / booksets - by definition, each of
these itemsets will occur at least as frequently as a
predetermined minimum support count, and then generate
strong association rules from the frequent itemsets - by

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

definition, these rules must satisfy minimum support and

minimum confidence.

3.6 Neural Network Technique

Artificial neural network derive their name from their
historical development which started off with the premise
that machines could be made to think if scientists found
ways to mimic the structure and functioning of the human
brain on the computer. There are two main structures of
consequence in the neural network: The node - which
loosely corresponds to the neuron in the human brain and
the link - which loosely corresponds to the connections
between neurons in the human brain [4].
Therefore, a neural network model is a collection of
interconnected neurons. Such interconnections could form
a single layer or multiple layers. Furthermore, the
interconnections could be unidirectional or bi-directional.
The arrangement of neurons and their interconnections is
called the architecture of the network. Different neural
network models correspond to different architectures.
Different neural network architectures use different
learning procedures for finding the strengths of
interconnections. Therefore, there are a large number of
neural network models; each model has its own strengths
and weaknesses as well as a class of problems for which it
is most suitable.


profession more than anywhere else, and the basic ideas of

probability, independence and causality and over fitting
are the foundation on which both data mining and
statistics are built. The techniques are used in the same
places for the same types of problems (prediction,
classification discovery).

4.1.3 The Advantages of Statistical Technique

Statistics can help greatly in data mining process by
helping to answer several important questions about your
data. The great values of statistics is in presenting a high
level view of the database that provides some useful
information without requiring every record to be
understood in detail. As example, the histogram can
quickly show important information about the database,
which is the most frequent.

4.1.4 The Disadvantages of Statistical Technique

Certainly statistics can do more than answer questions
about the data but for most people today these are the
questions that statistics cannot help answer. Consider that
a large part of data the statistics is concerned with
summarizing data, and more often than not, the problem
that the summarization has to do with counting. Statistical
Techniques cannot be useful without certain assumptions
about data.

4. Evaluation of Data Mining Techniques

4.1.5 The Consequences of choosing The Statistical


In this section, we can compare the selected techniques

with the six criteria [5]: The identification of technique,
the environment of using each technique, the advantages
of each technique, the disadvantages of each technique,
the consequences of choosing of each technique, and the
implementation of each technique's process.

Statistics is used in the reporting of important information

from which people may be able to make useful decisions.
A trivial result that is obtained by an extremely simple
method is called a nave prediction, and an algorithm that
claims to learn anything must always do better than the
nave prediction.

4.1 Statistical Technique

4.1.6 Implementation

4.1.1 Identification of Statistics

There are many different parts of statistics of collecting

data and counting it, the most notable ways of doing this
are: histograms and linear regression.

Statistics is a branch of mathematics concerning the

collection and the description of data [2].

4.1.2 The








4.2 Visualization Technique

4.2.1 Identification of Visualization

Today data mining has been defined independently of

statistics though mining data for patterns and predictions
is really what statistics is all about. Some of the
techniques that are classified under data mining such as
CHAID and CART really grew out of the statistical

Visualization is to transform "poor" data into "good" data

permitting a wide variety of data mining methods to be
used successfully to discover hidden patterns [6].

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


4.2.2 The Environment of using Visualization


within the cluster. Clustering can be used for discovery or


It is used at the beginning of a data mining process. And it

is used as the famous remark and picture of data mining

4.3.3 The Advantages of Clustering Technique

4.2.3 The Advantages of Visualization Technique

It is very useful for the method of discovering patterns in
data sets. It holds for the exploration of large data sets. It
transforms "poor" data into "good" data. It permits a wide
variety of data mining methods to be used successfully to
discover hidden patterns.

4.2.4 The Disadvantages of Visualization Technique

The visualization can be built for famous remark, but the
numbers are not easy to be overlooked by humans. It is
difficult to understand when structured in a hierarchical
fashion and graphically viewed such as in the form of a
decision tree.

4.2.5 Consequences of choosing of Visualization

Numbers are not easy to be overlooked by humans, so that
the summarization of these data into a proper graphical
representation may give humans a better insight into the
data. Interactive visualization techniques are also
successfully applied for data exploration.

4.2.6 Implementation of Statistical Visualization

Scatter diagrams can be used to implementation the
visualization of the data sets, so that we can focus on the
rest of the data mining process.

4.3 Clustering Technique

Clustering is done to give the end user a high level view of

what is going on in the database. Clustering techniques
are very fast to compute on the database. There is no direct
notion of generalization to a test data set.

4.3.4 The Disadvantages of Clustering Technique

The interpretation of how interesting a clustering is will
inevitably be application-dependent and subjective to
some degree. Clustering techniques suffer from the fact
that once a merge or a split is committed, it cannot be
undone or refined. Sometimes clustering is performed not
so much to keep records together as to make it easier to
see when one record sticks out from the rest.

4.3.5 Consequences of choosing of Clustering

To build groupings information of the data set, clustering
is consolidating data into a high-level view and general
grouping of records into like behaviors. Clustering is
statistically separating records into smaller unique groups
based on common similarities.

4.3.6 Implementation


Clustering Technique

There are two main types of clustering techniques, those

that create a hierarchy of clusters and those that do not.
Those techniques are: Hierarchical Clustering Techniques
and Partitional Clustering Techniques.

4.4 Decision Trees Technique

4.4.1 Identification of Decision Trees

4.3.1 Identification of Clustering

A decision tree is a predictive model that, as its name

implies, can be viewed as a tree [2].

Clustering is concerned with grouping together objects

that are similar to each other and dissimilar to the objects
belonging to other clusters [3].

4.4.2 The Environment of using Decision Trees


4.3.2 The





Clustering techniques is used by the end user to tag the

customers in their database. Once this is done the business
user can get a quick high level view of what is happening

Decision trees are used for both classification and

estimation tasks. Decision trees can be used in order to
predict the outcome for new samples. The decision tree
technology can be used for exploration of the dataset and
business problem. Another way that the decision tree
technology has been used is for preprocessing data for
other prediction algorithms.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

4.4.3 The Advantages of Decision Trees Technique

The Decision trees can naturally handle all types of
variables, even with missing values. Co-linearity and
linear-separability problems do not affect decision trees
performance. The representation of the data in decision
trees form gives the illusion of understanding the causes of
the observed behavior of the dependent variable.

4.4.4 The





Decision trees are not enjoying the large number of

diagnostic tests. Decision trees do not impose special
restrictions or requirements on the data preparation
procedures. Decision trees cannot match the performance
of that of linear regression.

4.4.5 Consequences of choosing of Decision Trees

The decision trees help to explain how the model
determined the estimated probability (in the case of
classification) or the mean value (in the case of estimation
problems) of the dependent variable. Decision trees are
fairly robust with respect to a variety of predictor types
and it can be run relatively quickly. Decision trees can be
used on the first pass of a data mining run to create a
subset of possibly useful predictors that can then be fed
into neural networks, nearest neighbor and normal
statistical routines.

4.4.6 Implementation of Decision Trees Technique

There are two popular approaches for building decision
tree technology [7] : CART stands for Classification and
Regression Trees and CHAID stands Chi-Square
Automatic Interaction Detector.

4.5 Association Rule Technique

4.5.1 Identification of Association Rule
Association rules are a set of techniques, as the name
implies, that aim to find association relationships in the
data [1].

4.5.2 The Environment of using Association Rule

As example, the associations rule can be used to discover
of the HTML documents to give insight in the user profile


of the website visitors and retrieved in connection with

other HTML documents.

4.5.3 The Advantages of Association Rule Technique

Association rule algorithms can be formulated to look for
sequential patterns. The methods of data acquisition and
integration, and integrity checks are the most relevant to
association rules.

4.5.4 The Disadvantages of Association Rule

Association rules do not show reasonable patterns with
dependent variable and cannot reduce the number of
independent variables by removing. Association rules
cannot be useful if the information do not provide support
and confidence of rule are correct.

4.5.5 Consequences of choosing of Association Rule

Association rule algorithms can be formulated to look for
sequential patterns. The data usually needed for
association analysis algorithms is the transaction.

4.4.6 Implementation of Association Rule Technique

Association rules can be implemented in a two-step
process: find all frequent item sets: by definition, each of
these item sets will represent the transaction, and then
generate strong association rules from the frequent item
sets: by definition, these rules must satisfy minimum
support and minimum confidence.

4.3 Neural Networks Technique

4.3.1 Identification of Neural Network
A neural network is given a set of inputs and is used to
predict one or more outputs. [3]. Neural networks are
powerful mathematical models suitable for almost all data
mining tasks, with special emphasis on classification and
estimation problems [9].

4.3.2 The Environment of using Neural Networks

Neural network can be used for clustering, outlier
analysis, feature extraction and prediction work. Neural
Networks can be used in complex classification situations.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

4.3.3 The Advantages of Neural Networks Technique

Neural Networks is capable of producing an arbitrarily
complex relationship between inputs and outputs. Neural
Networks should be able to analyze and organize data
using its intrinsic features without any external guidance.
Neural Networks of various kinds can be used for
clustering and prototype creation.

4.3.4 The Disadvantages of Neural Networks

Neural networks do not work well when there are many
hundreds or thousands of input features. Neural Networks
do not yield acceptable performance for complex
problems. It is difficult to understand the model that neural
networks have built and how the raw data affects the
output predictive answer.

4.3.5 Consequences of choosing of Neural Networks

Neural Networks can be unleashed on your data straight
out of the box without having to rearrange or modify the
data very much to begin with. Neural Networks is that
they are automated to a degree where the user does not
need to know that much about how they work, or
predictive modeling or even the database in order to use

4.3.6 Implementation of Neural Networks Technique

A typical neural network application requires
consideration of the following issues: model selection;
input-output encoding; and learning rate. The choice of the
model depends upon the nature of the predictive problem,
its expected complexity, and the nature of the training
examples. Generally there are three popular models to
implement neural networks applications. These are: Single
Layer Perception Network, Multiple Layer Feed Forward
Network and Self Organizing Feature Map.

5. Conclusion
In this paper we described the processes of selected
techniques from the data mining point of view. It has been
realized that all data mining techniques accomplish their
goals perfectly, but each technique has its own
characteristics and specifications that demonstrate their
accuracy, proficiency and preference. We claimed that
new research solutions are needed for the problem of
categorical data mining techniques, and presenting our
ideas for future work. Data mining has proven itself as a


valuable tool in many areas, however, current data mining

techniques are often far better suited to some problem
areas than to others, therefore it is recommend to use data
mining in most companies for at least to help managers to
make correct decisions according to the information
provided by data mining. There is no one technique that
can be completely effective for data mining in
consideration to accuracy, prediction, classification,
application, limitations, segmentation, summarization,
dependency and detection. It is therefore recommended
that these techniques should be used in cooperation with
each other.
[1] Adamo, J. M, Data Mining for Association Rules and
Sequential Patterns: Sequential and Parallel Algorithms
Springer-Verlag, New York, 2001.
[2] Berson, A, Smith, S, and Thearling, K. Building Data Mining
Applications for CRM, 1st edition - McGraw-Hill
Professiona, 1999.
[3] Bramer, M. Principles of Data Mining, Springer-Limited,
[4] Dwivedi, R. and Bajpai, R. Data Mining Techniques for
dynamically Classifying and Analyzing Library Database
Convention on Automation of Libraries in Education and
Research Institutions, CALIBER, 2007.
[5] El-taher, M. Evaluation of Data Mining Techniques, M.Sc
thesis (partial-fulfillment), University of Khartoum, Sudan,
[6] Han, J and Kamber, M. Data Mining , Concepts and
Techniques, Morgan Kaufmann , Second Edition, 2006.
[7] Lee, S and Siau, K. A review of data mining techniques,
Journal of Industrial Management & Data Systems, vol 101,
no 1, 2001, pp.41-46.
[8] Perner, P. Data Mining on Multimedia - Springer- Limited ,
[9] Refaat, M. Data Preparation for Data Mining Using SAS,
Elsevier, 2007.
[10] Vityaev, E and Kovalerchuk, B. Inverse Visualization In
Data Mining, in International
Conference on Imaging
Science, Systems, and Technology CISST02, 2002.
Moawia Elfaki Yahia received his B.Sc and M.Sc in computer science
from University of Khartoum in 1989, 1995, and his PhD degree in
Artificial Intelligence from Putra University, Malaysia in 1999. Currently,
he is an Associate Professor of computer science at King Faisal
University, Saudi Arabia. Dr. Yahia is member of editorial board and
reviewer of many journals in computing science. He is a Member of
ACM, IEEE CS, Arabic Computer Society, and International Rough
Sets Society. Dr. Yahia received TWAS award for Young Scientists in
Developing Countries in 2006. He published over 25 articles in
international journals and proceedings. His research interests are:
intelligent hybrid systems, data mining, Arabic text miming, rough set
theory, and information retrieval.
Murtada El-mukashfi El-taher obtained his B.Sc and M.Sc in Computer
Science from Faculty of Mathematical Science, University of Khartoum
in 2006 and 2009. He accumulated several experiences in teaching
and research in computer science during the last five years. His area
of interest includes data mining applications and IT applications to
business and e-government.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Rule Based Selection of 2D Urban Area Map Objects

Jagdish lal Raheja1, Umesh Kumar2
Digital Systems Group,
Central Electronics Engineering Research Institute (CEERI)/ Council of Scientific and Industrial Research (CSIR), Pilani,
Rajasthan, India

The purpose of cartographic generalization is to represent a
particular situation adapted to the needs of its users, with
adequate legibility of the representation and perceptional
congruity with the real situation. In this paper, a simple approach
is presented for the selection process of building ground plans
that are represented as 2D line, square and polygon segments. It
is based on simple selection process from the field of computer
graphics. It is important to preserve the overall characteristics of
the buildings; the lines are simplified with regard to geometric
relations. These characteristics allow for an easy recognition of
buildings even on small displays of mobile devices. Such
equipment has become a tool for our everyday life in the form of
mobile phones, personal digital assistants and GPS assisted
navigation systems. Although the computing performance and
network bandwidth will increase further, such devices will
always be limited by the rather small display area available for
communicating the spatial information. This means that an
appropriate transformation and visualization of building data as
presented in this paper is essential.
Keywords: Cartographic Generalization, GIS, Map, Object,

1. Introduction
In natural environment human senses perceive globally,
without details. Only when one has a particular interest he
observes details, and this is a normal process, otherwise
abundance of details would lead to confusion. For similar
reasons, in the process of cartographic generalization
many details are omitted. Generalization is a natural
process present everywhere, as well as in cartography.
Generalization in the compilation of the chart content is
called cartographic generalization and it is one of the most
important determining occurrences in the modern
cartography, included in cartographic representations. The
quantitative and qualitative basis of cartographic
generalization is determined by the purpose of the chart
and scale, symbols, features of the represented objects,
and other factors. Besides in mathematical cartography,
the main chart characteristic is based on the reduction of

objects and representing them in a generalized form at low

resolution devices like mobile and GPS system.

Figure 1: City Map

Figure 1 shown above illustrates the congestion found in a

typical map. If it is represented on a small display then it
would not be easy to understand. It is a fact that modern
determinants of map representation and cartographic
generalization are highly interrelated. This paper aims to
explain the process of generalization and selection using
basic computer graphics operations. The objective of this
paper is to define the selection based on certain rules
derived from the map to maintain the holistic relations
between map objects and their consistency without leading
to confusion for the user. Rules are defined in this paper
for aggregation based on the type, structure of the objects.

2. Related Works
Cartography is a very old scientific discipline, and
generalization dates back to the times of the first map
representations. The paper focuses on the automation of
the generation of scale dependent representations. There
are a lot of research proposal in this domain. Many
different techniques have been proposed: pragmatic

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

bottom-up approaches use specific algorithms for different

generalization tasks. Then there are more holistic ideas,
using top-down strategies, to strive at an integrated
solution of this complex task. Thus research issues have to
deal with the integration of different methods for the
solution of a compound task. Selection aims at a reduction
in the number of points the object is composed of, with the
constraint that the characteristic shape of the object is
preserved. For arbitrary shapes, algorithms respecting the
curvature of the object are typically used. The most
efficient algorithm is developed taking the maximal
distance of points from a hypothetical generalized line into
account. This algorithm, however, cannot be used simply
for special shapes like rectangular structures like buildings
etc. Staufenbiel derived a set of rules for dealing with
building facades that are too small to be represented and
came up with a detailed processing scheme that was later
implemented in the CHANGE software. Similar concepts
are currently being implemented in many GIS products.
The algorithm developed as part of the AGENT project
aims at a concurrent solution of several competing issues:
squaring, rectification, and enlargement of minimal narrow
objects inside the building. The approach presented there
is similar to a method that has been used for the
reconstruction of parametric buildings in aerial images.
There is a long history of automatic methods for
displacement: Nickerson developed an approach for linear
objects, which are displaced according to the degree of
overlap of their corresponding signatures. The use of socalled displacement mountains is proposed by J ager
1990. The importance of an object is coded in a raster
image, with important objects producing high mountains.
This mountain allows for the extraction of the degree of
displacement and the direction. Mackaness proposes a
radial displacement of objects around a given point. His
approach allows for the degradation of the degree of
displacement depending on the distance from the given
point. Another approach given by Ruas aiming at an
incremental dis-placement. Objects producing the greatest
conflicts are treated first. As with all local operators,
secondary conflicts can be induced by solving one conflict,
thus there is a need for iterative operations and a control
strategy to decide when to stop. Only recently, an
emergence of using force models to solve displacement
can be observed. These approaches aim at a global
reduction of all spatial conflicts.

3. Rule Based Selection

When a map is represented graphically and scale is
reduced then some area features will become too
insignificant to be represented, i.e. They will be too small
to be viewed and will cause cluttering of the whole map as
can be seen in figure 2. Such insignificant objects are to be


eliminated. However, indiscreet removal may lead to

inconsistency and confusion. Selection provides the
appropriate rules for removal. The results of application of
the procedure may be seen in figure 3.

Figure 2: Input Map Image

Figure 3: Output Map Selection Process

This idea was presented by Raheja, Umesh, KCS

[2010] but it concluded in maps marked by inconsistency
(elimination of important objects). To counteract this
problem we describe some Rules of Ignorance in this
paper, which result in more holistic maps from which
more accurate information may be obtained.
Object Size with Congested Environment: This rule
addresses the problem of providing Geo-Information
about congested areas. This is accomplished by dropping
unimportant features like small sized buildings from the
map to make it more readable. For example a user
searching for the route from location A to location B
doesnt have much importance for detailed representation
of buildings, gardens, parking etc., all of which may be
removed for enhanced clarity. The operation involves
making simple measurements of sizes of buildings, and
then a weeding out process of all features smaller than a

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814



Historical Place

Figure 4: Congested Map

Figure 6: Map with Housing Building

Further this rule reconsiders for removal features that have

been retained after the application of the previous rule. For
example a user wishing to locate a particular building, say
an industrial complex within a corporate area having many
such buildings may wish to do away with them to obtain a
simplified route to his location.

4. Algorithm with Object Mapping Rules

Figure 5: Map with Size Ignorance with congestion Rule

As the reader may gather, figure 5 above is less distracting

than figure 4 where one can note the presence of many
unnecessary minute features. The patches of green have
been pruned to give a sparse representation. A salient
point about the rule is the consideration of the location of
an object before making a judgment on its removal.
Smaller features in less feature dense regions are retained
whereas similarly small sized objects in areas of
congestion may be removed.
Historical Building: The previous rule makes its
decisions on the basis of the sizes of buildings measured
as 2D objects. But the importance of features may also
arise from their status as landmarks, regardless of their
size. For example a temple in a congested area is subject
to removal as per the previous rule, but its utility is
indispensible with regards to finding one's way with a city.
This is illustrated in figure 6.

To represent the data, simple server-client architecture is

followed. A request is sent to a server for the map, and its
response is displayed by the user's device. However, low
data rates may hamper the process. Handheld devices
would in particular suffer from low bandwidth. A possible
fix is to apply ignorance rules outlined above before
sending the request to the server, thereby downloading
only what is required. Otherwise data would need to be
discarded at the client side, implying a waste of
bandwidth. The complete procedure may be outlined as:
Step [1]: Open GML file.
Step [2]: Select a Spatial object.
Step [3]: Perform Rule Checking and update object
Step [4]: Repeat the step 2 and 3 until all objects are
Step [5]: Update the Map.
Step [6]: Exit.

4. Conclusions
The basic object elimination technique which removes
the map objects simply based upon their sizes affects
the maps legibility. A modification over the existing
technique is proposed that takes into consideration the
density of the area surrounding the object to be deleted.
Besides ignorance rules have been defined to retain

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

historical buildings and landmarks that serve as reference

points in a map.
This research is being carried out under the project
activity Cartographic Generalization of Map Object
sponsored by Department of Science & Technology (DST),
India. This project is currently underway at Central
Electronics Engineering Research Institute (CEERI),
Pilani, India. Authors would like to thank Director, CEERI
for his active encouragement and support and DST for the
financial support.

[1] Robert Weibel and Christopher B. Jones, Computational
Perspective of Map Generalization, GeoInformatica, vol. 2,
pp 307-314, Springer Netherlands, November/December
[2] Brassel, K. E. and Robert Weibel, A Review and
Map Generalization,
International Journal of Geographical Information System,
vol. 2, pp 229-224, 1988.
[3] M. Sester, Generalization Based on Least Squares
Adjustment International Archive of Photogrammetry
and Remote Sensing, vol. 33, Netherland, 2000.
[4] Mathias Ortner, Xavier Descombes, and Josiane Zerubia,
Building Outline Extraction from Digital Elevation Models
Using Marked Point Processes, International Journal
Computer vision, Springer, vol. 72, pp: 107-132, 2007.
[5] P. Zingaretti, E. Frontoni, G. Forlani, C. Nardinocchi,
Automatic extraction of LIDAR data classification rules,
14th international conference on Image Analysis and
Processing, pp 273-278, 10-14 Sept.
[6] Anders, K.-H. & Sester, M. [2000], Parameter-Free Cluster
Detection in Spatial Databases and its Application to
Typification, in: IAPRS, Vol. 33, ISPRS, Amsterdam, Holland.
[7] Bobrich, J. [1996], Ein neuer Ansatz zur kartographischen
Verdr angung auf der Grundlage eines mechanischen Federmodells, Vol. C455, Deutsche Geod atische Kommission, M
[8] Bundy, G., Jones, C. & Furse, E. [1995], Holistic
generalization of large-scale cartographic data, Taylor & Francis,
pp. 106119.
[9] Burghardt, D. & Meier, S. [1997], Cartographic
Displacement Using the Snakes Concept, in: W. F orstner & L.
Pl umer, eds, Smati 97: SemanticModelling for the
Acquisition of Topographic Information fromImages andMaps,
Birkh auser, Basel, pp. 114120.
[10] Douglas, D. & Peucker, T. [1973], Algorithms for the
reduction of the number of points required to represent a
digitized line or its caricature, The Canadian Cartographer
10(2), 112122.


[11] Harrie, L. E. [1999], The constraint method for solving

spatial conflicts in cartographic generalization, Cartographicy
and Geographic Information Systems 26(1), 5569.
[12] Hojholt, P. [1998], Solving Local and Global Space
Conflicts in Map Generalization Using a Finite Element Method
Adapted from Structural Mechanics, in: T. Poiker & N.
Chrisman, eds, Proceedings of the 8th International Symposium
on Spatial Data handling, Vancouver, Canada, pp. 679689.
[13] J ager, E. [1990], Untersuchungen zur kartographischen
Symbolisierung und Verdr angung im Rasterdatenformat, PhD
thesis, Fachrichtung Vermessungswesen, Universit at Hannover.

Dr. J. L. Raheja has received his M.Tech from IIT

Kharagpur and PhD degree from Technical University
Munich, Germany. At present he is Sr. Scientist in
Central Electronics Engineering Research Institute
(CEERI), Pilani, Rajasthan, since 2000. His area of
interest is Cartographic Generalisation, digital image processing
and Human Computer Interface.
Umesh Kumar has obtained M. Tech. from C-DAC affiliated to
GGSIPU New Delhi, India, he is a Project Assistant
in Digital Systems Group of Central Electronic
Engineering Research Institute, Pilani, Rajasthan,
India. His interested areas include Cartographic
Generalization, Digital Image Processing, Human
Machine Interaction and Speech processing based
application development.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


Design and Implementation of a System for

Wireless Control of a Robot
Christian Hernndez1, Raciel Poot1, Lizzie Narvez2, Erika Llanes2 and Victor Chi2

Department of Electronics, Universidad Autnoma de Yucatn

Tizimn, Yucatn 97700, Mxico

Department of Networks, Universidad Autnoma de Yucatn

Tizimn, Yucatn 97700, Mxico

This article presents the design and implementation of a wireless
control system of a robot with help of a computer using LPT
interface in conjunction with Arduino + X-bee, which is an
electronic device that uses the Zigbee protocol that allows a
simple implementation, low power consumption, and allows the
robot to be controlled wirelessly, with freedom of movement. In
the implementation were used two Arduino with wireless
communication using X-bee modules. The first Arduino + X-bee
were connected to the computer, from which received signals
that were sent by the wireless module to the Arduino X-bee that
was in the robot. This last module received and processed signals
to control the movement of the robot. The novelty of this work
lies in the autonomy of the robot, designed to be incorporated
into applications that use mini-robots, which require small size
without compromising the freedom of their movement.
Keywords: Integrated Circuit, Parallel Port, ATmega 168
Microcontroller, Arduino, X-bee, Zigbee.

1. Introduction
It is currently being investigated and put on the market
many wireless products because of the large development
of this type of communication technologies.
Mobile robotics is no stranger to this fact; the benefits of
joining the wireless communication technologies with the
developments in mobile robots are clear as we can
Nowadays, a large number of universities work with these
devices, including many people without knowledge in
electronics who use them, for the simplicity to artistic,
textiles, musical and botanical projects, among others.
This is because its range is very varied, ranging from
robotics, sensors, audio and monitoring to navigation and
action systems. Examples include: TiltMouse (an
accelerometer that transforms Arduino into a pitch
mouse), the Arduino Pong (which is a ping pong game
programmed in Arduino) and the optical tachometer
among others [1].

Other works consulted include important developments. In

[2] we find the implementation of a mobile robot whose
main skill lies in the possibility of being controlled by a
remote user connected via the Internet through a Wi-Fi
network running on the TCP/IP architecture. Thus, the
user can control robot's movements, while through a
camera also connected via Wi-Fi, watches the robot's
movements using a web browser. Consulted in the
investigation [3] a construction pathology detection
system, based on a wireless sensor network using the
Zigbee and Arduino technology is presented. This enables
continuous monitoring of the parameters of interest,
meeting the requirements of low consumption, ease of
maintenance and installation flexibility. In [4], it is built a
prototype of an embedded wireless sensor network based
on easy-to-use Arduino microcontroller board and X-bee
module. They consider a temperature monitoring
application to demonstrate the proof of concept of their
Moreover, in [5] it is described a project that is a clear
example of the technology and university combination.
This project, called R4P, consisted on design, build and
program a small quadruped robot so that it can be used in
teaching to form youth in robotics. The robot was
designed to be easy to set up so young people can build it
for themselves, as well as it is simple to control and
program. This is one reason why this type of technology
has become so popular. Also, in [6] it is presented a study
that designed an UAV quadrotor system; with this we will
have an open platform which will allow future
implementing and testing of new navigation and control
systems. And finally, [7] describes a two-wheel balancing
robot based on a popular open-architecture development
Arduino board and the ATmega168 chip from Atmel
corporation that runs on a clock speed of 16MHz with
1KB of SRAM and 16KB of flash memory.
The article structure is as follows; the second section
describes the problem and the technical solution; the third
section presents the logical design of the system,
explaining how they operate; the fourth section describes

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

the implementation, including the construction of the

prototype and finally, the fifth section presents the

2. Problem Statement and Technology

The main objective to be achieved with this research is
being able to control the movements of a robot wirelessly,
keeping in mind that this development could be deployed
later in an electronic wheelchair which is a study that is
being developed parallel to this one and is being moved
through a wired controller, but the ultimate goal is to be
wireless. To achieve this, in this study we used the X-bee,
which uses technology WPAN (Wireless Personal Area
Network) and a Diecimila Arduino board which contains a
ATmega 168 microcontroller, which is widely used for
programming the data transmission .
At the beginning of the research it was designed a robot
that was controlled by parallel port LPT (Line Printer
Terminal); however, it did not allow a free movement,
because the LPT connected to the computer was limited in
distance, and it depended on the length of the parallel port
cable (figure 1).

(Alternating Current/Direct Current) adapter, or with

battery, as in this project. The main components of
Arduino Diecimila are listed below (figure 3):

Fig. 1. Initial design.

Having in mind giving greater autonomy and scope to the

robot, it was implemented in the system an Arduino device
with an X-bee module (figure 2).

Fig. 2. Arduino + X-bee.

Arduino Diecimila was specifically the device used, first

in the computer via parallel communication through the
parallel port and by the other hand, implemented in the
robot. The Arduino microcontroller used in the system is a
board based on the ATmega 168 chip, which has 14 digital
I/O, 6 of them can be used as PWM outputs (Pulse Width
Modulation), 6 as analog inputs, a 16MHz crystal, USB
connection and reset button. It contains everything needed
to support the microcontroller, simply connecting to a
computer with a USB cable and feeding it with an AC/DC


Power supply:
VIN: It is the input of voltage to the Arduino board
when an external power supply is used (instead of
5v of the USB cable or other regulated power
supply); i.e., voltage can be supplied through this
5v: Regulated power supply used to power the
microcontroller and other components of the board.
This can get from the VIN input via the integrated
voltage regulator. It can be provided by a USB
cable or any other regulated power supply [8].
Memory: The ATmega168 has 16KB of memory to
storage sketches (the name used for an Arduino
program, it is the unit of code that loads and runs on
an Arduino board, 2KB of the memory is reserved for
the bootloader). It also has 1KB of SRAM (Static
Random Access Memory) and 512 bytes of EEPROM
(Electrically Erasable Programmable Read-Only
Inputs and Outputs: Each one of the 14 Diecimila
Arduino digital pins can be configured either as input
or output using the functions pinMode(),
digitalWrite() and digitalRead(), which operate at 5v.
Each pin can provide or receive a maximum current
of 40mA and has internal pull-up resistors (switched
off by default) from 20 to 50 KOhms. In addition,
some of the pins have special functions.
Serie, 0 (RX) and 1 (TX): Used to receive (RX)
and transmit (TX) TTL serial data, which are
connected with the corresponding pin of
conversion from USB to Serial-TTL FTDI chip.
PWM 3, 5, 6, 9, 10 y 11: Generate an 8-bit output
PWM signal with the function analogWrite().
LED 13: There is an on-board LED connected to
pin 13, which if set to HIGH if LED lights and
changes to LOW when the LED turns off.
Reset: When this pin is set to LOW, it resets the
microcontroller. Normally it is used when the reset
button is inaccessible by the use of a shield that hides
Communication: It can communicate from computer
to computer with an Arduino or other
microcontrollers. The ATmega168 has implemented
Transmitter) TTL serial communication in the pins 0
(RX) and 1 (TX) and a FT232RL FTDI chip
embedded into the motherboard that converts this
serial communication into USB using the FTDI
drivers to provide us a COM Virtual port to
communicate with the computer. The Arduino

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

software includes a serial monitor, which allows

simple data to be sent and received from the board
through the USB connection. The TX and RX LEDs
on the motherboard will flash while data is being
transmitted by the FTDI chip and the USB connection
to the computer [8].
Features: The maximum length and width of the
Diecimila PCB are 6.8cm and 5.3cm respectively,
with USB connector and power connector protruding
slightly from the edges. It contains three holes for
crew to attach the board on a surface or a box. The
distance between pins 7 and 8 is 4 mm, different to
the other pins, which are separated by 2.5 mm [8].

The Arduino programming is very simple; however it

depends on the complexity of the project. the Arduino
platform is programmed using its own language based on
the popular C high level programming language and
supports all standard C and some C++ functions.
Serie (RX) y 1 (TX) LED 13




Microcontrolador ATmega 168
Fig. 3. Main components of Arduino.

Currently the modules X-bee from MaxStream allow serial

links of TTL signals on distances of 30m indoors, 100m
outdoors with line of sight and over to 1.5Km with Pro
modules [9], which would be enough to control the
electronic wheelchair, the final goal.
X-bee modules use the protocol known as Zigbee. Zigbee
is a specification for a suite of high level communication
protocols using small, low-power digital radios based on
the IEEE 802.15.4 standard for WPANs. In turn, IEEE
802.15.4 specifies the physical layer and media access
control for low-rate wireless personal area networks (LRWPANs). Zigbee operates in the band: ISM (Industrial
Scientific and Medical), 868 MHz in Europe, 915 MHz in
the U.S. and Australia, and 2.4 GHz in most jurisdictions
around the world [10]. This technology is simpler, cheaper
and has lower power consumption than other WPANs
such as Bluetooth.
The Zigbee application areas are [11]:
Home entertainment and control: Intelligent lighting,
advanced temperature control, security, movies and


Forewarned home: Water, power and access sensors,

smart appliances.
Mobile services: Mobile payments, control and
monitoring, security, access control, health care and
Commercial buildings: Energy monitoring, HVAC,
lighting and access control.
Industrial plants: Process control, management of
benefits, environmental and energy and control of
industrial devices.

In a Zigbee network there are three different types of

nodes [12]:
ZC (Zigbee Coordinator): There should be a network,
its functions include the control of the network and
the paths to be followed by devices to connect to each
ZR (Zigbee Router): It interfaces separated devices in
the topology of the network, besides providing a level
of implementation for the execution of user code.
ZED (Zigbee End Device): It has the functionality
required to communicate with its parent node (ZC or
ZR) but it cannot transmit information to other
devices. Thus, this type of node can be asleep most of
the time, increasing the average life of its batteries. A
ZED has minimal memory requirements and is
therefore significantly cheaper.
Based on the previous, an Arduino requires the
implementation of the X-bee module to communicate
wirelessly with other Arduino.
Figure 4 is a diagram representing the use of the Arduino
and the X-bee. This study used two X-bee modules to
create a wireless communication. It was firstly logged on a
computer's parallel port to Arduino + X-bee which was the
sender of data, and on the other side it had another
Arduino + X-bee placed easily thanks to its small size and
weight in a robot designed with lego, which received the
Client computer

Arduino + X-bee
(sender of data)





Fig. 4. Wireless communication, Arduino + X-bee.

3. Design
This section presents the architecture of the system and the
description of the main components.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814


3.1 Architecture and System Description

Figure 5 shows the architecture of the designed system
and then it is described each of its components.
Battery 9V
+ -

+ -

Sender module

Arduino+X-bee Battery 9V
+ Receiver module


Chip 74ls245

Fig. 7. Schematic diagram sender module.

Fig. 5. System architecture.

Computer: It was used to program the robot; programming

language Dev-C++ was used to program the movements,
by means of the appropriate libraries to control the motors
in order to initialize the LPT or the parallel port or
parallel, among other functions. It was also used to make
the data sender module and the module receiving data for
the Arduinos, both in the Arduino programming language0016, which is based on the functions of the standard C
and some C++ functions.
LPT: The parallel port of the computer was used to
connect it with the peripheral device Arduino. The main
feature of LPT is that the data bits travel together, sending
an 8-bits package at the time; i.e. a cable or another physic
mean is implemented for each bit of data to form a bus.
We can exemplify that controlling peripheral devices such
as lights, motors and other devices suitable for automation
by using the parallel port. The port consists of 4 control
lines, 5 status lines and 8 data lines (8-bit bus) [12],
(figure 6).

In figure 8 we can see positive and negative pins for


Fig. 8. Schematic diagram of 74ls245.

Controller board with I/O: There were used two Diecimila

Arduino boards that have digital I/O to send to the
servomotors of the robot PWM control signals. This
sending of signals was achieved by using the connections
previously performed (PC-LPT, LPT-74ls245, 74ls245Arduino + X-bee); this board also has a Zigbee module
that allows wireless communication with the computer
[13]. See figure 9.

Pines connected to the


PC - Parallel

Port of Data
Port of Control
Port of Status
Port of GND
Fig. 6. Parallel port.

74ls245: This small chip attached to a protoboard, was

very useful to access directly to the parallel port of the
computer; three pin of data were connected to the parallel
port (Fig. 6) with the 74ls245 chip pins (A1, A2, A). This
same chip helped us to connect the 3, 5 and 6 PWM pins
(figure 3) of the Arduino to the 74ls245 pins B1, B2 and
B3 (figure 7). This chip used a power source to fuel of 5

Fig. 9. Schematic Arduino Diecimila ATmega 168.

Wireless Modem X-bee or Zigbee: This modem is inserted

into the two Arduino boards, which control the robot's
movements and are responsible for sending commands to
the servomotors [10].
To send motion commands to the servomotor, the
following steps where done:
1. The user presses a key movement in the computer
which is connected through a parallel port to the
controller board (Arduino Diecimila + X-bee) who
receives a series of bits.
2. The Diecimila + X-bee Arduino receives this series of
bits, which is interpreted by the microcontroller that
has a program loaded for this function [8].

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814




Once the information is interpreted by the Arduino

microcontroller, this is sent wirelessly to the other
controller board located on the robot (Zigbee) [10,15].
The robot controller board interprets this information,
similar to step number 2, as this module is
programmed to receive data sent from the computer.
Now that information has been interpreted, the
movement of the servo is carried out according to the
key- action or movement, which the user has selected.
Then, the controller board sends the bits through a
communication cable connected to the servomotors
and they perform the action needed.


motors were used in the model of the robot; they receive

information for movement (forward, backward, left, right)
through the controller board (Arduino Diecimila with Xbee module connected to the L293B), [16].

Fig. 12. Servomotor.

L293B: L293B chip is a driver designed to provide

bidirectional drives current up to 1A at voltages between
4.5 and 36V with a maximum dissipation power of 5W. It
allows us to control the robot and motors, which can be
done easily with multiple chips such as ULN2003A,
L293B, L293C, ULN2803A, among others. This chip is
installed on a printed circuit board, mounted on the robot
where the data cables were connected (corresponding to
the parallel port) in L293B chip pins. For the movement of
the servomotors there were used communication cables
connected to the servomotors on pins 3, 6 (servomotor1)
and 11, 14 (servomotor 2) of the L293B (figure 10 and
11). [15].

4. Implementation
Next, the hardware used and how it was implemented are
described in detail.
There were located the data record cables from the parallel
port with the help of a multimeter, and the plastic was
removed, leaving a small tip of copper exposed in order to
make the connection to the chip 74ls245 (figure 13).

Fig. 13. LPT Data Cable and its connection to the chip 74ls245.

Fig. 10. Schematic diagram receiver module.

Once connected the data cables, the robot was

programmed using programming language Dev-C ++. The
movements performed were left, right, forward, backward,
pause and exit, by making coincide the keys in Table 1.
Table 1. List of movements.



|Fig. 11. Connecting cables, parallel port and L293B.

Servomotor: An actuator device that has the ability to be

positioned anywhere within its operating range, and
remain stable in that position. The main component of a
servomotor is a DC motor, which performs the function of
actuator in the device. When a voltage is applied between
its two terminals, the motor rotates in one direction at high
speed, but producing an under par. To increase the torque
of the device a gearbox is used, which transforms much of
the speed of rotation in torsion (figure 12). Two servo



In the following code, as mentioned previously was

developed in Dev-C ++, we can see the programming of
some of these movements.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
case 72 : (oup32)(0x378,1);
case 80 : (oup32)(0x378,2);

The execution of the previous code could be tested using

the LPT monitor of the key pressed, which is used to view
the status of the parallel port (figure 14).

Fig.14. Parallel Port Monitor (LPT Monitor).

Testing that the programming of the Arduino was done,

which consists of two modules: A module to connect the
parallel port and the computer (Sender Module), and a
module that will be set on the Arduino-L293B robot
(Receiver Module). In figure 15 we can see the Arduino
programming environment.


{ if(bit2==0)
{ if(bit3==0)
{ Serial.write('/'); }
{ Serial.write('+'); } }
{ Serial.write(')'); } }
{ if(bit2==0)
{ Serial.write('('); }
{ Serial.write('*'); }}}

Once the programming of the transmission of data is done,

the program was uploaded to the Arduinos
microcontroller with a programmable device of
microcontrollers. This was done without implementing the
X-bee module. After the programs were uploaded to the
microcontroller, the X-bee module was set in the Arduino;
this fact was previously presented in figure 2. It was used
the HyperTerminal program in Windows to configure the
X-bee module and verify the data sending. Once the
connections and the first tests were made, we got a design
as the one shown in figure 16. The design considering the
robot can be seen in figure 17.

Fig. 16. LPT connection with Arduino + X-bee.

Fig. 15. Arduino-0016, programming environment.

In this section an extract of the code of the data

transmission function is presented.
Fig. 17. L293B connection with Arduino + X-bee.
void setup()
void loop(){delay(300);

5. Conclusions
A robot was developed in this paper, which was controlled
through the parallel port of the computer with an
implementation of Arduino + X-bee, resulting that the
robot could be guided with a certain freedom and
autonomy without using wires; this robot can be used to
enter to confined spaces when it is needed, for example.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814

Arduino Diecimila currently has many applications; it is

an easy-to-use and program device, as can be seen in our
implementation. The microcontroller is like a small
computer which can be very useful for various
applications; by mounting the Zigbee allowed to
communicate with other Arduinos wirelessly.
In future work the improvements for this robot would be
the implementation of a camera to be introduced to places
where human beings could not get and at the same time
without running any risk by not knowing the environment
(for example in the case of an earthquake).
Finally, in the immediate future this development will be
implemented in an electronic wheelchair, as mentioned in
a parallel study to the present.

Ultima consulta Junio 30 de 2010.
[2] Alonso lvarez, Jaime. Desarrollo de un robot mvil
controlado desde Internet: Comunicaciones Wi-Fi.
Universidad Pontificia Comillas ICAI. Madrid. Junio
[3] Barro Torres, Santiago; Escudero Cascn, Carlos.
Embedded Sensor System for Early Pathology
Detection in Building Construction. Department of
Electronics and Systems, University of A Corua.
[4] Boonsawat, Vongsagon, et all. X-bee Wireless Sensor
Networks for Temperature Monitoring. School of
Technology Sirindhorn International Institute of
Technology, Thammasat University, Pathum-Thani.
[5] Daz del Dedo, Luis; Prez Garca, Luis. Diseno,
Construccion y Desarrollo de la Mecanica, Electronica
y Software de Control del Robot Cuadrupedo R4P v3i.
Universidad Europea de Madrid.Villaviciosa de Odon,
Madrid. Septiembre de 2008.
[6] Nadales Real, Christian. Control de un Quadrotor
mediante la plataforma Arduino. Escuela Politcnica
Superior de Castelldefels. Julio de 2009.
[7] Baik, Kyungjae. BoRam: Balancing Robot using
Arduino and Lego. September, 2008.
[8] Informacin
ltima consulta Julio 2 de 2010.
consulta Julio 2 de 2010.
[10]Zigbee standards Organization Zigbee 2007
ownload/tabid/237/default.aspx ltima consulta Junio
5 de 2010.
pasos ltima consulta Mayo 10 de


ltima consulta Mayo 12 de 2010.
doc2545.pdf ltima consulta Abril 20 de 2010.
[14]IEEE 802.15.4-2003 IEEE standard for local and
Metropolitan Area Networks: Specifications for LowRate Wirless Personal Area Networks. 2003
/9/3/L293.shtml ltima consulta Abril 15 de 2010.
a/motores_servo.htm ltima consulta Abril 3 de 2010.
Christian Hernndez Pool. Currently studying the seventh
semester in computer science at the Autonomous University of
Yucatan (UADY). He participated in the project fair held in the
institution as well as software development projects.
Raciel Omar Poot Jimnez. Received a degree in Computer
Engineer from the Autonomous University of Yucatan (UADY) in
2008. He has been a full time teacher at the Autonomous
University of Yucatan since 2008 at the department of electronics
in Tizimn Mxico. He has participated in development projects of
electronic engineering. Currently is giving courses on electronic
interfaces and programming languages in the professional
programs at the UADY.
Lizzie Edmea Narvez-Daz. Received a degree in Computer
Science from the the Autonomous University of Yucatn (UADY) in
1997. She received a Master of Computer Science degree from
Monterrey Technological Institute (ITESM), Campus Cuernavaca,
in 2007. She has been a full time teacher at the Autonomous
University of Yucatn since 2000 in the Networking department in
Tizimn Mxico. She has participated in software engineering
development projects. Currently she is giving courses on wireless
networks in the professional programs in the UADY.
Erika Rossana Llanes-Castro. Received a degree in Computer
Science from the Autonomous University of Yucatan (UADY) in
2002. She is about to receive a Computer Science degree from
Monterrey Technological Institute (ITESM), Campus Estado de
Mexico. Currently, she is a full time academic technician at the
Autonomous University of Yucatan since 2002 in the department of
computer in Tizimn Mxico. She has participated in software
engineering development projects. Currently is giving courses on
programming mobile devices in the professional programs in the
Victor Manuel Chi-Pech. Obtained his degree in Computer
Science from the Autonomous University of Yucatan (UADY) in
1996 and his M. Sc. degree in Wireless Network from Monterrey
Technological Institute (ITESM), Campus Cuernavaca, in 2007.
Victor Chi has worked since 2000 at the Autonomous University of
Yucatan, as a full time professor. He has