International Journal of Computer Science Issues

Published on March 2017 | Categories: Documents | Downloads: 124 | Comments: 0 | Views: 5258
of 453
Download PDF   Embed   Report

Comments

Content

 
 
 
 
 
 
 
 
 

IJCSI

 
 
 
 
 

 

International Journal of
Computer Science Issues

Volume 7, Issue 5, September 2010
ISSN (Online): 1694-0814

© IJCSI PUBLICATION
www.IJCSI.org

IJCSI proceedings are currently indexed by:

© IJCSI PUBLICATION 2010
www.IJCSI.org

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

EDITORIAL
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
issue.
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
www.IJCSI.org 

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'Esthétique et Expérimentations de l'Espace - Université d'Auvergne, France

Dr Constantino Malagôn
Associate Professor
Nebrija University
Spain

Dr Lamia Fourati Chaari
Associate Professor
Multimedia and Informatics Higher Institute in SFAX
Tunisia

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

Dr Pascal Chatonnay
Assistant Professor
MaÎtre de Conférences
Laboratoire d'Informatique de l'Université de Franche-Comté
Université de Franche-Comté
France

Dr Karim Mohammed Rezaul
Centre for Applied Internet Research (CAIR)
Glyndwr University Wrexham,
United Kingdom

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

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
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
Professor
Department of Computer Science & Applications,
Kurukshetra University,
Kurukshetra, India

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

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

Dr G. Ganesan
Professor
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.,
China
 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 Beltrán, Instituto Tecnológico 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 Cantão, Department of Computer Science / University of São 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 Politécnica 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 Juárez Autónoma de Tabasco, Mexico
 Dr. Alejandro Fuentes Penna, Universidad Popular Autónoma del Estado de Puebla, México
 Dr. Ocotlán Díaz-Parra, Universidad Juárez Autónoma de Tabasco, México
 Mrs. Nantia Iakovidou, Aristotle University of Thessaloniki, Greece
 Mr. Vinay Chopra, DAV Institute of Engineering & Technology, Jalandhar
 Ms. Carmen Lastres, Universidad Politécnica 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,
EGYPT, EGYPT
 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 Medellín, Cenidet (Centro Nacional de Investigación y Desarrollo
Tecnológico), 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,
Taiwan
 Dr. Constantino Malagón, 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),
India
 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),
Malaysia
 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,
India
 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,
Pakistan
 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,
Malaysia
 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,
India
 Dr. Dalbir Singh, Faculty of Information Science And Technology, National University of Malaysia,
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,
Bulgaria

 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,
India
 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é Martínez 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

TABLE OF CONTENTS
1. Dynamic Shared Context Processing in an E-Collaborative Learning Environment
Jing Peng, Alain-Jérôme Fougères, 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 Puustjärvi

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
Networks
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
Management
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
Network
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 Hernández, Raciel Poot, Lizzie Narváez, 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
RDF
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
environment
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
Strategy
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
Forecasting
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
Value
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
www.IJCSI.org

1

Dynamic Shared Context Processing in an E-Collaborative
Learning Environment
Jing Peng1, Alain-Jérôme Fougères1, Samuel Deniaud1 and Michel Ferney1
1

M3M Laboratory, University of Technology of Belfort-Montbéliard
Belfort, France

Abstract
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
relevant
information.
Various
concepts
and
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 O’Neill [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

2

ISSN (Online): 1694-0814
www.IJCSI.org
Context

Division of labour

Task

Tool

Object

Role

Subject

Requirement

Community

Rule

Phase

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
role’s 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 Role’s 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 role’s interest capture. By supposing that the
role’s 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

3

ISSN (Online): 1694-0814
www.IJCSI.org

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
appearance.
1

2

Event
capture
Role’s
Interests
capture

3

Event
Attributes
Context
model

Role’s
Interests
Degree

Relevance
measurement

Relevantly
shared
information

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
role’s 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
presentation.

cffi 

ni



k

nk

(3)

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,
Event_type}
(1)
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 role’s 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
e : ci  e

(2)

Then, we define EW (Event Weight) of ci in equation (4),
which indicates the importance degree of ci in a specific
event.
ewi  cffi  ief i
(4)
Finally, EA is obtained as (5):

ea  ew1 , ew2 , ew3 ,...ewn 

(5)

3.3. Role Interest Degree Modeling
A parameter presenting the RID (Role’s 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 role’s
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.

refi 

er : ci  er 
Er

(6)

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
(7)

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

4

ISSN (Online): 1694-0814
www.IJCSI.org

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

Finally, RID is obtained as (8):

rid  rw1 , rw2 , rw3 ,...rwn 

(8)

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
roles.

v v
relevanceve , vr   cos  e r
ve vr

Product
SA 1
SA 2
SA 3

(9)

In practice, it is easier to calculate the cosine of the angle
between the vectors.  is the angle between event
attributes vector and role’s 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
External
External
provider
provider
Team 3
Team 3

Layer
L2
L2
L2
L2 + L1

The following roles are defined and assigned to team
members respectively:
 Team manager (TM): Responsible of the planning
and costs;

(10)



Synthesis responsible (SR): Management of the
architecture and simulation of the assembly system;

The role’s 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
member.

vr  rw1,r , rw2,r , rw3,r ,...rwn,r 

(11)

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
www.IJCSI.org

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
relevance.
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 team’s 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
results.
Table 2: Inverse Event Frequency
CF
IEF
1.4366926
1
0.83463261
2
0,46665582
3
0,95957134
4
…..
……
0,83463261
64

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
example.
Table 3: Context Factor Frequency
CF
CFF
0
1
0
2
0.00692042
3
0,00346021
4
…..
….
0
64

5

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

6

ISSN (Online): 1694-0814
www.IJCSI.org

We present the EW of these context factors in table 4
calculated by equation (4).

……
64

Sequentially, we use the obtained event attributes to make
the event attributes vector vE by equation (13)
(13)
vE = [0, 0, 0.0031, 0.0032,…… 0]

4.3. Role Interest Degree Modeling

Table 5: Team1’s roles Relevant Event Frequency
CF
REF
SR

DS1

DS2

1

0.15

0

0.1428

0

0

2

0.2

0,3333

0.1428

0

1

3

0.75

0,3333

0.7143

0.6667

0

4

0.4

0,3333

0.1428

0

0

……

……

……

......

……

……

64

0.5

0

0.1428

0

0

SR

DS1

DS2

0

0

0

0

0

2

0.1333

0,1111

0

0

0.5

3

0.2667

0,1111

0

0

0

4

0,0667

0

0

0

0

……

……

……

……

……

0,1333

0

0

0

0

Table 7: Team3’s roles Relevant Event Frequency
CF
REF
TM

QR

0

0

0,2155

0

0,2052

0

0

2

0,1669

0,4789

0,1192

0

0,8346

3

0,3500

0,2782

0,3333

0,3111

0

4

0,3838

0,1556

0,1370

0

0

……

……

......

……

......

0,4173

0

0,1192

0

0

64

SR

DS

1

0

0

0

0

2

0

0

0

0

3

0.1

0.125

0

0

4

0

0

0

0

SR

DS1

DS2

Table 9: Team2’s Role Weight
RW
TM

QR

SR

DS1

DS2

1

0

0

0

0

0

2

0,1915

0,0927

0

0

0,4173

3

0,2226

0,0927

0

0

0

4

0,6077

0

0

0

0

……

……

……

……

……

0,1113

0

0

0

0

……

CF

Table 10: Team3’s Role Weight
RW
TM

1

64

0.125

1

64

Table 6: Team2’s roles Relevant Event Frequency
CF
REF

……

0

QR

CF

The different roles’ REF calculated by equation (6) is listed
in tables 5-7.

QR

......

TM

……

TM

......

Table 8: Team1’s Role Weight
RW

CF

The event attributes can be obtained via equation (12):
ea=(0, 0, 0.0031, 0.0032,…… 0)
(12)

QR

......

The RW of these context factors calculated by equation (7)
is listed in tables 8-10.

Table 4: Event Weight
CF
EW
0
1
0
2
0,0031
3
0,0032
4
…..
….
0
64

TM

......

QR

SR

DS1

1

0

0

0

0

2

0

0

0

0

3

0,0467

0,0583

0

0

4

0

0

0

0

……

……

……

……

0

0,1043

0

0

……
64

The role Team1 Manager’s interest degree can be obtained
by (14):
(14)
ridT1M = (0.2155, 0.1669, 0.3500, …, 0.4173)
The Team1 Manager’s interest degree is sequentially used
to make the role interest degree vector by equation (15):
(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:
(16)
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

7

ISSN (Online): 1694-0814
www.IJCSI.org

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]

(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)

Table 12: Team2’s roles Relevance
Team2 roles
T2M
T2QR
T2SR
T2DS1
0.4748
0.1224
0.1099
0.0551
High
Low
low
Low
12
5
8
5
High
Low
High
Low

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: Team1’s roles Relevance
Team1 roles
T1TM
T1QR
T1SR
T1DS1
0.7654
0.3141
0.4218
0.2456
High
High
High
Low
12
4
8
5
High
Low
High
Low

T1DS2
0.0405
Low
5
Low

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Yes

No

No

T2DS2
0.0689
Low
6
Low

No

No

No

No

No

Yes

No

No

No

No

Table 13: Team1’s roles Relevance
Team3 roles
T3M
T3QR
T3SR
0.4129
0.2465
0.2424
DSC
Model
High
Low
Low
12
4
8
0-1 Model
Low
Low
High
Used to
No
No
No
sharing
Manual
Yes
No
No
analysis

Relevance

4.4. Context Relevance Measurement

Relevanc
e
DSC
Model
0-1
Model
Used to
sharing
Manual
analysis

Relevanc
e
DSC
Model
0-1
Model
Used to
sharing
Manual
analysis

T3DS
0.0912
Low
5
Low
No
No

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
analysis.
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
T1DS2.
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

8

ISSN (Online): 1694-0814
www.IJCSI.org

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
projects.

References
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. Fougères, 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. O’Neill, "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. 367–374, 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,
[1]

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

9

ISSN (Online): 1694-0814
www.IJCSI.org

Kluwer Academic Publishers, Netherlands, 2004, pp. 283303.
[12] J. L. Dessalles, La pertinence et ses origines cognitives,
Nouvelles théories, 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. 535–546.
[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. Fougères, "Agents to cooperate in distributed design
process", IEEE International Conference on Systems, Man
and Cybernetics, (SMC’04), The Hague, Netherlands, 2004,
pp.2629-2634.
[18] A.-J. Fougères, "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, Wrocław, 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,
pp.72-77.
[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-Montbéliard (UTBM). Her research focus on
context modeling, dynamical context shared and relevant
information sharing.
Alain-Jérôme Fougères is Computer Engineer and PhD in
Artificial Intelligence from University of Technology of Compiègne
(UTC). He is currently member of the Laboratory of Mecatronics3M
(M3M) at University of Technology of Belfort – Montbéliard (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-Montbéliard (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 –
Montbéliard (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
www.IJCSI.org

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

Abstract
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
study.
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.

10

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

11

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.


It
provides
comprehensiveness
and
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
www.IJCSI.org

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.

12

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
www.IJCSI.org

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
processes.
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

13

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
www.IJCSI.org

14

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
pumps.
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.
Technical:
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.

Socio-technical:
 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
required.

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

15

Table 1: Commonalities and Variabilities using IDEF0 model

Activity

Intake

Sequence Subsequence
No
No.

A0-1

A1

Mechanisms
Commonalities

Controls

Variabilities

Commonalities

1. Flow meter

1. Penstock

1. Pumps Control

2. Tanks

2. Metal Screens

2. Manual Inspection

3. Sampling test
laboratory

3. Intake pumps

3. Maintenance

Variabilities

1. Penstock selection
level.
2. Raw water quality
parameters

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
www.IJCSI.org

“controls”,
each
having
subsequent
subclasses
representing
their
“variabilities”.
Moreover,
“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 EMF‘s 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

16

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.
Acknowledgments
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.

References
[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
www.IJCSI.org

[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
Modeling
Framework
(EMF),
http://www.eclipse.org/emf
[13] Essential MOF (EMOF) as part of the OMG MOF 2.0
specification,
http://www.omg.org/docs/formal/06-0101.pdf.

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
Environmentalist.
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.

17

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

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

Abstract
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
environment.

Keywords: CETLs, educational system, collaborative
environment, collaborative learning
collaborative system, Think-Pair-Share.

1.

technique,

Introduction

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
communities
through
synchronous
and
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
options
for
electronic
communication.
Communication
within
communities
of
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.

18

19

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

2.

Related Research

2.1

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
instructors
structure
their
classes
[5].
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
purposes.

Individual student
Educator as Collaborative
Facilitator

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
www.IJCSI.org
Table 1: Collaborative Learning Features

CL Features

2.2

Supporting Tools

Synchronous
Tools

- Audio conferencing
- Video Conferencing
- Instant Messaging

.- Web conferencing
.- Chat
- Whiteboards

Asynchronous
Tools

- Discussion boards
- Links
- E-mail

.- Calendar
.- Group Announcements
- Surveys and Polls

Document
Management

- 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.

2.3

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

20

21

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

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].

2.4

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

User
(Student)
(Teacher)

System
Functionality
Member
Login

WebICL

CoVis





















Group formations
Group
Joining
Group
Activity

VLE

CoMMIT

GREWP
tool













Audio Conferencing
Synchronous
tools to support
communications



Video conferencing





Chat
Instant Messaging

Discussion Boards /
Forums





Whiteboards / Editor











Calendar
Asynchronous
tools to support
communications

Links /Search Engine
Group Announcements
(Bulletin Boards)



E-mail







Surveys/Polls
Document
Management
Collaborative
Technique

Resource Library



Upload / Download







N/A

N/A

N/A

-

N/A

Paired
Annotatio
ns

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
www.IJCSI.org

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.

3.

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.

Since
CETLs
applies
Think-Pair-Share
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.

3.1

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.

22

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

3.1.2 To
enhance
Technology

Learning

With

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
Approach

Students-centered

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 teacher’s 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
which
lead
toward
negotiation
and
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

23

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

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
CETLs.

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

DESCRIPTION
What?
Why?

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.

How?

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.

5.

How CETLs is Developed

5.1

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

24

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

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.

5.2

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

25

26

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

5.3

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.

27

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

Write message to your
pair in the text box
provided

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
www.IJCSI.org

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
conversation.

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.

Computer-supported
collaborative
learning
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.

REFERENCES

[6]

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
2009].

[7]

S. Kaplan, “Building Communities - Strategies
for Collaborative Learning”. ASTD Source for
E-Learning, Learning Circuits, 2002.

[8]

A. Kienle, “Integration of knowledge
management and collaborative learning by
technical
supported
communication
processes”, Education and Information
Technologies, Vol. 11, Issue 2, 2006, pp. 161 –
185.

[9]

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.

[10]

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.

6.

[1]

[2]

[3]

[4]

[5]

Conclusions

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.

28

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

[11]

[12]

[13]

[14]

[15]

L. Brown and V. Lara, “Professional
Development Module on Collaborative
Learning”, Texas Collaborative for Teaching
Excellence, El Paso Community College,
2007.
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
Environment
(VLE):
a
Web-based
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.
281-297.
[21]

P. Resta and T. Laferrière, “Technology in
Support
of
Collaborative
Learning”
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
Theory-Embedded
Tools”,
Educational
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.

[16]

G. E. Lautenbacher, J. D. Campbell, B. B.
Sorrows, D. E. Mahling, “Supporting
Collaborative,
Problem-Based
Learning
Through Information System Technology”,
Frontiers in Education Conference, 27th
Annual Conference. Teaching and Learning in
an Era of Change. Proceedings 1997, vol. 3,
pp.1252-1256.

[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.
115-124.

[17]

S. Taneva, R. Alterman, T. Hickey,
“Collaborative
Learning:
Collaborative
Depth”, Proceedings of the 27th Annual
Cognitive Science Conference, 2005, pp. 21562161.

[18]

R. D. Pea, “The Collaborative Visualization
Project”,
Technology
in
Education.
Communications of the ACM, Vol. 36, Issue 5,
1993, pp. 60-63.

[19]

S. Ledlow, “Using Think-Pair-Share in the
College Classroom”, Center for Learning and
Teaching
Excellence,
Arizona
State
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.

[20]

P. V. Dennen and K. Wieland, “From
Interaction to Intersubjectivity: Facilitating

29

30

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

Dynamic Clustering for QoS based Secure Multicast Key Distribution
in Mobile Ad Hoc Networks
Suganyadevi Devaraju1, Padmavathi Ganapathi2
1

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

Abstract
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
preplanning.
Multicasting
is
a
fundamental
communication
paradigm
for
group-oriented
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
reliable
group
communication
systems.
Group
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
www.IJCSI.org

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:
Reliability:
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

31

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
environments.
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
conditions.
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
www.IJCSI.org

32

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
www.IJCSI.org

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

33

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
www.IJCSI.org

34

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
www.IJCSI.org

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
metrics.

4. Performance Evaluation and Analysis of
Results
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
members.
 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.

35

The density of
members
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

(1000m*1000m,
1500m*1500m,
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
changes.

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
www.IJCSI.org

delay and energy consumption of multicast
distribution in efficient CBMT compared to OMCT.

key

36

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.

References

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
Multicast
Communication in Ad Hoc Networks Using
Geographical
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
www.IJCSI.org

[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
1999.
[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.,
2004.
[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 277–288, 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
2004.
[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.
[24] http://en.wikipedia.org/wiki/
DestinationSequenced_
Distance_Vector_routing.
[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

37

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,
http://www.isi.edu/nsnam/ns/tutorial/index.html

SuganyaDevi Devaraju received her B.Sc
(Chemistry)
and
MCA
from
PSGR
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
Manonmaniam
Sundaranar
University,
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,
Avinashilingam
University
for
Women,
Coimbatore. She has 22 years of teaching
experience and one year Industrial experience.
Her areas of interest include Network security
and
Cryptography
and
real
time
communication. She has more than 120
publications at national and International level.
She is a life member of many professional organizations like CSI,
ISTE, AACE, WSEAS, ISCA, and UWA.

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

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
1

School of Computer Science, University Sains Malaysia,
George town, Penang 11800, Malaysia

2

School of Computer Science, University Sains Malaysia,
George town, Penang 11800, Malaysia

3

School of Computer Science, University Sains Malaysia,
George town, Penang 11800, Malaysia

Abstract
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

38

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

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

39

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
Approach
Image Preprocessing

Image Segmentation

Feature Extraction and Selection
Problem Solving
Approach
Classification

Case Base Reasoning
Method

Fig 1 illustrates the overall block diagram of Mass Classification
method

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
www.IJCSI.org

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 8×8 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.
Preprocessing
Approach

Description

Advantage

Global Histogram
Modification
Approach

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
contrast

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.
Algorithm
1. Pull the top item from the growth list.
2. Mark this pixel in the output image - it is part of the
region.
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.

40

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

41

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

Description

 g (i, j)  g (i, j)

Skewness

3

N 1

1

i , j 0

N

 g (i, j)  g (i, j)
 g (i, j )  g (i, j )
 g (i, j )  g (i, j )

3

N 1

i , j 0

Kurtosis

Retrieved Case

4

N 1

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

N 1

Acquired Case

4

New case

Problem

i , j 0

Reuse Acquired Case

A1
A

Circularity

Compactness

Domain Knowledge

Revised case

P2
A

Retain Problem

P1  P2
P1

Contrast

Standard deviation

2
g (i, j )  1 / N i , j 0 g (i, j )
N 1

Intensity

tumor area

Area
Length

True Length of Mass

Breadth

True Breadth of Mass

Convex Perimeter
Roughness

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 Minkowski’s
metric.
Minkowski’s metric is defined as:

SimilarityCase _ x, Case _ y   r

F


i 1

Wi  xi  yi

r

42

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

(1)
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 Minkowsky’s
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 Clark’s 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

 xijxi

 Sx
 i

 z j z 


 S z 


(2)

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
policy

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
www.IJCSI.org

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.

43

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%.
Discussion

Fig 4 illustrates the original image from MIAS database
[16].Preprocessing the Image, Hunting for ROI, Histogram of
Original Image and segmenting the tumor.
Experiment
Segmentation Result
Accuracy
Experiment 1
Benign
63.3%
Experiment 2
Malignant
73.7%
Experiment 3
Benign
68.6%
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
method.

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. Radiologist’s 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 m1×12 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
www.IJCSI.org

given by the biopsies. Currently the classification of
benign and malignant was identified with accuracy
range of 60-70%.

Conclusion
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
Acknowledgments
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.

References
[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,
(1995).
[8] H. Kobatake, M. Murakami, H. Takeo, and S. Nawano,
Computerized detection of malignant tumors on digital
mammograms, IEEE Trans Med Imaging 18, 369–378,
(1999).
[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)
pp.246-259,(1996).
[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.

44

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

45

Evaluation of Computer-aided Drug Delivery System
with a Human Operator
Koji Kashihara1 and Yoshibumi Nakahara2
1

Graduate School of Information Science, Nagoya University,
Furo-cho, Chikusa-ku, Nagoya, Aichi 464-8601, Japan

2

Graduate School of Human Ecology, Wayo Women's University
2-3-1, Konodai, Ichikawa, Chiba 272-8533, Japan

Abstract
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
Evaluation

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
www.IJCSI.org

(“Prediction Loop”). A human operator determined final
infusion rates, referencing the predicted outputs.
A

Computer-aided system

Target
value, r
+
- e(t+i)

2. Predictive Loop
Optimal value

Delay

1. Learning Loop
Human
operator

BPNN(t+i)

u(t)

BPNN Learning algorithm

BP(t)

u(t)

Infusion
pump

Patient

+



1 2 1
    [BP  BPNN ] 2
2
2

(2)

Sensor

BP(t)
Model response

B

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
function.

BPNN(t+i)
Neural
Network

Delay

46

Blood
pressure
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

(3)

where
Determined
infusion rates

Calculated
optimal input

w 
Operation
panel for inputs

Fig. 1 Drug delivery system with APC-NN. A: Block diagram of a
controller. B: Example of a control display.

BPNN
E
 ε 
w
w

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))

(1)

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:
Np

Q (t )   r (t  i )  BPNN (t  i )

2

(4)

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
www.IJCSI.org

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].

47

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
outputs.

3. System Evaluation
(a) Step response

25

3.1 Participants

20

3.2 Simulation Task

15
MAP(t)=K(1-exp(-(t-L)/T))

10

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.

5
0
(b) Unit impuluse response
1.5
1.0
g(t)*T=(K/T)*exp(-(t-L)/T)
0.5

(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  

(t  L)

(5)

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:
Nm

BPmodel (t )   g ( τ )  T  u (t  τ )
τ 0

where

(6)

0

0

60

120

180

240

300

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 ) 

K
 t L
 exp 

T
 T 

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
www.IJCSI.org

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.
40

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

10
3rd

-10

Infusion rate
(g/kg/min)

8
6
4

3rd

2

1st,2nd

0
0

120

240

360
Time (s)

480

600

720

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

40
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.

1st,2nd

20

0

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)

30

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.

48

-30 mmHg (3rd trial)

1st

30

2nd

20



10
0
3rd

-10
8
Infusion rate
(g/kg/min)

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.

1st
3rd

6
2nd

4



2
0

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,

0

120

240

360
Time (s)

480

600

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

720

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

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.
40

-30 mmHg (3rd trial)
1st

MAP (mmHg)

Table 1: Average of the absolute value between actual BP responses and
targets in each subject (mmHg).

Subjects
No.

Non-assist group

Assist group

1st

2nd

3rd

1st

2nd

3rd

1

3.53

2.99

4.93

3.93

3.65

2.98

2

3.88

2.34

4.02

4.47

2.39

3.38

3

3.06

1.39

2.18

4.62

3.03

1.97

4

4.79

4.09

3.71

2.15

2.69

2.60

5

3.94

3.18

4.33

2.98

2.75

2.43

6

2.32

2.45

3.10

2.06

3.30

2.83

7

2.16

2.42

3.68

5.38

4.34

4.24

3.38
(0.94)

2.70
(0.84)

3.71
(0.88)

3.66
(1.29)

3.17
(0.67)

2.92
(0.73)

Average
(SD)

30

49

20
2nd

10

5. Discussion
3rd

0
-10

Infusion rate
(g/kg/min)

8

2nd
3rd

6
1st

4
2
0
0

120

240

360

480

600

720

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
effective.
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
www.IJCSI.org

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.
Acknowledgment
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,
22700466).

References
[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.

50

[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
www.IJCSI.org

51

Semantic Interoperability in Electronic Business
Juha Puustjärvi1
1

Aalto University
Espoo, Finland

Abstract
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
automated.
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
www.IJCSI.org

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

52

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
literature.
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
sources.
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
www.IJCSI.org

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
systems.

In this article our analysis of semantic interoperability in
the context of electronic auctions is restricted to semantic
messaging.

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

53

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 Call–centric) and the
document-centric view [13]. The RPC-centric view treats
services as offering a set of methods to be invoked
remotely while the document–centric 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
[14].

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



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
transmission
of
electronic
documents
between
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 1970’s. 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 1970’s, 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

54

that allows EDIFACT message types to be used by XML
systems.
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
Partner
Agreement
(CPA).
Process-Specification
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
www.IJCSI.org

55

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].
Mostly
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 partner´s 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
possible.
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
Frameworks
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
www.IJCSI.org

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
shops.
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
ontology.

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

56

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
www.IJCSI.org

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.

Auction

participates

has_placed

Bidder

concerns

Offer

Item

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

57

offer of $ 85on item p12, and ARGO-Corporation has set
the offer of $87 on the same item.
e254

participates

type

Auction

type

e254

type

B2B‐
Corporation
type

participates

type

Bidder

type

participates

ARGO‐
Corporation

has_placed
type

has_placed

type

has_placed

$85

type

concerns
type

concerns

Offer

type

$87

type

concerns

p12
type

Item

type

p12

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-Corporation’s instance
ontology includes the value of the highest bid but not any
information about its bidder while marketplace’s 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
www.IJCSI.org

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.
Buyer

Buyer

Bidder

Bidder
Auction agent

Ontology
manager

Auction agent

WS‐interface

WS‐interface

Ontology
manager

WS‐interface
Ontology
manager

Auction engine
(BPEL‐engine)

System 
administrator

Marketplace
Seller

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

58

can be some combination of services that correspond to
queries
business
transactions,
applications
and
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
www.IJCSI.org

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
responsibilities.
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.

ec
la
tp
ek
r
a
M

r
ey
u
B

59

Sendoffer
request

Receive
offer

Sendbest
offer

Send
offer

Receive
bestoffer

Receive
Initiation
request

Receiveoffer
request

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
www.IJCSI.org

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>
<offer >
<id> OF44</id>
<value> $85 </value>
<bidder> B2B-Corporation </bidder>
<item> p12 </item>
</offer>
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:

60

http://www.it.lut.fi/ontologies/auction_ontology.
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:
<xmlns:
ao=”http://www.it.lut.fi/ontologies/auction_ontology” >
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:
<rdf:RDF
xmlns:rdf=
”http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns : xsd=
”http://www.w3.org/2001/XMLSchema#”
xmlns: ao=
“http://www.lut.fi/ontologies/auction_ontology#”>
<rdf:Description rdf:about=”OF44”>
<rdf:type rdf:resource=“&ao;offer”/>
<ao:value rdf:datatype=”xsd;integer”>
85
</ao:value>
<ao:item rdf:resource=”p12”/>
<ao:bidder rdf:resource=”B2B-Corporation”/>
</rdf : Description>
</rdf:RDF>
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
www.IJCSI.org

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

production
processes.

61

processes

and

streamline

procurement

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
organizations,
including
information
production,
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.

References
[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.
O’Reilly & Associates.

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

[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
Hall.
[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:
http://www.opsi.gov.uk/advice/poi/power-of-informationreview.pdf
[11] Stasinopoulou , T., Bountouri, L., Kakali, C., Lourdi, C.,
Papatheodorou, C.,
Doerr M. and Gergatsoulis, M.
(2007).
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.
Addison-Wesley.
[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:
http://www.rosettanet.org/, 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.

62

[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 O’Leary 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.
http://www.csc.ncsu.edu/faculty/wurman/Papers/Wurmanarticle.pdf.
[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).
Specifying
Rules
for
Electronic
Auctions.
http://www.csc.ncsu.edu/faculty/wurman/Papers/Wurmanarticle.pdf.
[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] Puustjärvi, 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
(BPMN), http://www.bpmn.org/.
[42] Smith, H. and Fingar, P. (2003). Business Process
Management (BPM): The Third Wave, Meghan-Kiffer
Press.
[43] BPEL (2002) Business Process Execution Language for
Web
Services,
http://www.ibm.com/developerworks/library/specification/
ws-bpel/.

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

[44] UML (2007). Introduction to OMG’s Unified Modeling
Language.
http://www.omg.org/gettingstarted/what_is_uml.htm
[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
Wesley.
[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.
304-328.

Juha Puustjärvi 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.

63

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

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 für Telekommunikation Leipzig (FH),
University of Applied Sciences (HfTL)
Leipzig, Saxony, Germany

Abstract
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,
Optimization.

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
domain.
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

64

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

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
mostly.

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

(1)

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 )

(2)

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 9µs or 20µs 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

65

way that a minimum of radio interference occurs during
communication.

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
n 1

(3)

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
threshold
determined
for
that
channel
( 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
www.IJCSI.org

n

channel

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

current

current

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

y

Select channel with
smallest entry

thresh

y

66

n

all table entries up-to-date?

= second
smallest
entry

thresh

current

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

current

min

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].
n

The channel switching module's job is to switch to
the assigned channel together with all connected wireless
stations.
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
2

2

0

0

1

3

1

3

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

channel

> thresh

current

current

y

Select channel with
smallest entry

thresh

y

all table entries up-to-date?

= second
smallest
entry

n

Select channel with
oldest entry

thresh

current

= thresh

current

min

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
www.IJCSI.org

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
optimized.
The heuristic algorithm contains of 6 steps [6]:

67

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
and
available channel n from 1 to N with n  k
neighbor AP j, temporarily modify the channel
assignment by reassigning only AP j with
channel
n. Save the minimum channel utilization W of all
iterations.
4)

V=2, Wmin=2

V=2
0

1

bottleneck

3

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-

2

3

a)

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
assignments.

1

0

V=2, Wmin=1
0

1

3

2

bottleneck

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
topology.
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
www.IJCSI.org

4.3 Distributed heuristic for multi radio mesh
networks
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)
Input:

Si :
cj :

interference list of i

ci :

i's current channel

actual channel list for each

begin

F (ci ) :

 f (c , c )
jS i

i

for k:=1 to K do
begin

F (k ) :

j

 f (k , c )
j S i

if

j

F (ci )  F (k ) then

begin

F (ci ) : F (k )
ci : k
end
end

j  Si

68

end

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

2
0

step1

2

3
1

3

0

1

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
www.IJCSI.org

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

69

0

n

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
follows:
a) pi  1
b)

5. Comparison of algorithms

pi  0, j  i

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

pi  (1  b)  pi

b)

pi  (1  b)  pi 

b
, 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 Brèlaz 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
www.IJCSI.org

a desktop workstation (Intel® Pentium® 4 CPU 3.00GHz
with 512MB RAM, Linux Kernel 2.6.22).

5.1 Measurement results

70

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
www.IJCSI.org

71

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
(centralized).
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
www.IJCSI.org

be used in real world applications because of their high
error rate.

72

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.

References

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] Brèlaz. New methods to color the vertices of a graph.
Communications of the Assoc. of Comput. Machinery 22,
1979.
[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
www.IJCSI.org

73

A Knowledge-Based Multi-Agent Approach for Initial
Query Refinement in Information Retrieval
Tatyana Ivanova1, Ivan Momtchev2
1

College of Energy and Electronics, Technical University – Sofia,
Botevgrad, 2140, Bulgaria
2

Technical University -Sofia,
Blvd. Kl. Ohridski 8, Sofia 1000, Bulgaria

Abstract
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 knowledge–rich 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 user’s 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
process.
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
www.IJCSI.org

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
approaches

Interactive

Refinements, based on
retrieved results

Knowledgebased refine-

Thesaurus
based

Ontology
based

RDFbased

Combined

Automatic

Phrase
finder

Local approaches

Global approaches

Dimensionality
Term
reduction
Clustering

Feedback Ranking
based
based

Relevance
feedback

Figure 1: Classification of Query expansion approaches

Local
LCA
feedback

RTQ

Local analysis techniques use local selection strategy
Thesaurus

Query
reformulation

Initial
query

Profile
ontology

(2)

(1)

Topic
Query
reformula(4) tion
Ranked
documents

Domain
ontology

(4)

Query
reformulation

(3)

Search engine indexes

(3)

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

74

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.

75

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

1) abscissa
2) abscissa +axis
average

Identical returned results (%)

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

Identical returned results

1) trigonometry
2) trigonometry +
mathematics

All returned results

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

Identical returned results (%)

queries

Identical returned results

Search
engines

hakia

All returned results

yahoo

1000

88

8,8 %

100

11

11,0 %

1000

31

3,1 %

100

2

2,0 %

1000 233 23,3 % 102

13

12,7 %

998

161

0

0,0 %

996

135 13,6 % 142

52

36,6 %

988

372 37,7%

100

19

19,0 %

995

24

100

3

3,0 %

994

268 27,0 % 100

9

9,0 %

2

0,2 %

2,4 %

14,5 %

11,7 %

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

clusty

ask

Identical returned results (%)

200

83

41,5% 198

34 17,2%

176

11

6,3%

196

12

6,1%

1) trigonometry
2) trigonometry +
mathematics

196

39

19,9% 224

10

4,5%

1) tiger
2) tiger +wood

200

6

3,0%

4

2,1%

175

84

48,0% 216

30 13,9%

179

73

40,8% 200

63 31,5%

198

6

3,0%

0

179

37

20,7% 199

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

22,9%

195

198

Identical returned results

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

queries

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

Search
engines

All returned results

3. Our Approach for Interactive Query
Refinement

Identical returned results (%)

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

0,0%

28 14,1%
11,2%

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
www.IJCSI.org

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 doesn’t 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).

Corpus

Initial
query

Gazetteers

Linguistic
query
analysis
Query interpretations

Top
ic
Refined
query

Thesaurus
Domain
ontology
Profile
ontology

Search web
resources
module

Profile
generation
module

Search
engines

Ranked
documents
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-

76

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
(Fig.4).

77

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

Q

Query
linguistic
analysis agent

User interface

WordNet

Search
engine

Coordination
agent

Ontologybased enrichment agent
Thesaurusbased enrichment agent
Corpus-based
enrichment
agent
Hits
agent

Domain
ontologies
Thesauruses
Profile
ontology

Profile
information
agent

Figure 5 – sequence diagram of QR when some
ven’t 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 haven’t 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 isn’t 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 don’t
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

Q

Figure 6 – sequence diagram of QR by using WordNet only

Q

Figure 7 - second QR phase after incorrect enrichment, using
WordNet

Q

Figure 8 – QR without using textual corpus

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

Q

Figure 9 - QR by using WordNet and domain ontology

Q

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 result’s
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-

78

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
assign:
 4 points to wikipedia’s comprehensive hyperlinked and illustrative material
http://en.wikipedia.org/wiki/Tiger;
 3 points to http://www.knowledgerush.com/kr/
encyclopedia/Tiger/;
 2 points to http://www.bbc.co.uk/nature/ species/Tiger;
 1 point to http://wordnetweb.princeton.edu/
perl/webwn?s=tiger;
 0 points to: http://www.apple.com/macosx/;
http://www.bbc.co.uk/nature/species/Tiger;
http://sports.yahoo.com/golf/pga/players/147,
http://www.jobtiger.bg/, as fully irrelevant to the animal’s 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 result’s relevance measures
(precision, recall, f-measure and so on) takes note of this
fact

79

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

40

Poly. (precision changing rate)

30
20
10
0
-10

initial query
refined query

precision changing rate

1

1,5

2

2,5

160

five-level precision ….

precision changing rate(%)…

50

140
120
100
80
60

3

entropy
40

entropy

-20

1

1,5

2

2,5

initial query

120

precision changing rate
Log. (precision changing rate)

130

3

refined query

100

80
30
-20 3

3,5

4

4,5

5

5,5

6

6,5

7

-70

7,5
8
entropy

five-level precision
.

precision changing rate (%)…

180

80
60
40
20

entropy

0
3

600

precision changing rate
Log. (precision changing rate)

500

five-level precision ….

precision changing rate (%),,,

-120

400
300
200
100

entropy

0
8

9

10

11

12

13

14

15

16

17

18

19

20

3,5

4

4,5

5

5,5

200
180
160
140
120
100
80
60
40
20
0

6

6,5

initial query

8

9

10

11

12

13

14

15

16

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

1200
1000
800
600
400

five-level precision…...

precision changing rate (%). .

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

1400

refined query

17

18 19 20
ентропия

120
100
80
60
40

entropy

20

entropy

0

0
20

40

60

80

20

100

30

40

1400
1200

precision changing rate
Log. (precision changing rate)

1000
800

five-level precision …..

180

1600

50

60

70

80

90

100

initial query
refined query

200

1800
precision changing rate (%)….

8

140

1600

200

7,5

initial query
refined query

160

1800

7

160
140
120
100
80
60
40
20
0

600
100

entropy

1000

10000

100000

Figure 11. Graphical representation of experimentally evaluated
dependency between precision and entropy

100

entropy

1000

10000

100000

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
www.IJCSI.org

80

6. Conclusion

References

In this paper we propose a knowledge–rich 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 engine’s 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 agent’s 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,
http://acl.ldc.upenn.edu/W/W07/W07-2002.pdf
[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’
TREC−8 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
Expansion”,
2004,
http://citeseerx.ist.psu.edu/viewdoc/
download?doi=10.1.1.63.8466&rep=rep1&type=pdf
[6] D. Buscaldi, et al., “A WordNet-based Query Expansion method for Geographical Information Retrieval”, 2005,
http://clef-campaign.org/2005/working_notes/workingnotes
2005/buscaldi05.pdf.
[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, http://acl.ldc.upenn.edu/P/p05/P051006.pdf
[9] F. Gaihua, et al., “Ontology-based Spatial Query Expansion
in
Information
Retrieval”,
2006,
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.61.
940&rep=rep1&type=pdf
[10] F.A. Grootjen, “Conceptual query expansion”, Data &
Knowledge
Engineering,
2006,
http://www.cs.mun.ca/~hoeber/download/2005_awic.pdf
[11] B. Katz, et al., “Word Sense Disambiguation for Information
Retrieval”, 1999, http://aaaipress.org/Papers/AAAI/1999/
AAAI99-192.pdf
[12] S. Liu, “Word Sense Disambiguation in Queries”, 2005,
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.89.
973&rep=rep1&type=pdf
[13] A.P. Natsev, et al., “Semantic Concept-Based Query Expansion and Re-ranking for Multimedia Retrieval. A Comparative Review and New Approaches”, 2007,
www.aquaphoenix.com/publications/mm2007_semantics.pdf
[14] Pitler, E., et al., (2009), “Using Word-Sense Disambiguation
Methods to Classify Web Queries by Intent”,
http://140.116.245.248/ACL-IJCNLP2009/EMNLP/pdf/EMNLP148.pdf
[15] W. Ryen, G. Marchionini, “Examining the Effectiveness of
Real-Time
Query
Expansion”,
2009,
http://cchen1.csie.ntust.edu.tw/students/2009/Examining%20
the%20Effectiveness%20of%20RealTime%20Query%20Expansion.pdf
[16] A. Sanfilippo, et al., “Word Domain Disambiguation via
Word Sense Disambiguation”, 2006, http://acl.ldc.upenn.edu
/N/n06/N06-2036.pdf
[17] G. Solskinnsbak, “Ontology-Driven Query Reformulation
in Semantic Search”, 2007, http://daim.idi.ntnu.no/ masteroppgaver/IME/IDI/2007/3523/masteroppgave.pdf
[18] N. Stokes, et al., “Exploring criteria for successful query expansion
in
the
genomic
domain”,
2009,
http://csserver.ucd.ie/~nstokes/publications/nstokes_IR_SI_T
REC09.pdf

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

[19] S. Tomassen, “Research on Ontology-Driven Information
Retrieval”, 2006, http://citeseerx.ist.psu.edu/viewdoc/ download?doi=10.1.1.106.4952&rep=rep1&type=pdf
[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,
http://www.iro.umontreal.ca/~nie/IFT6255/xu-croft.pdf
[21] J. Xu, and W.B. Croft, “Improving the Effectiveness of Information Retrieval with Local Context Analysis”, ACM
Transactions
on
Information
Systems,
2000
http://www.ir.iit.edu/~dagr/IRCourse/Fall2000/Presentation/
OriginalPapers/TOISLocalContextAnalysis.pdf
[22] X. Xu, “A Comparison of Local Analysis, Global Analysis
and Ontology-based Query Expansion Strategies for Biomedical
Literature
Search”,
2006,
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.13
1.6402&rep=rep1&type=pdf

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.

81

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

DEMAC: A Cluster-Based Topology Control for Ad Hoc
Networks
Abhishek Majumder1 and Nityananda Sarma2
1

Department of Information Technology, Assam University
Silchar, 788011, Assam, India

2

Department of Computer Science and Engineering, Tezpur University
Tezpur, 784028, Assam, India

Abstract
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,
Clustering

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

82

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

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

83

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
www.IJCSI.org

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 neighbor’s. 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
source.

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

84

lowest ID among its neighboring nodes will be the cluster
head. Obviously, neither the node’s 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
head.

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

(1)

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
www.IJCSI.org

85

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 node’s 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 table’s 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)
then
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;
-return;
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;
-return;
else
- x is member of neighbor cluster head;
-return;

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
table’s 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
www.IJCSI.org

cluster 1 and 8. Therefore node 3 and 9 are also gateway
nodes. Similarly node 7 and 11 are also gateway nodes.

86

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

Parameter
N

Meaning
Number of
Nodes

Value
50

mxn

Size of
the scenario

500 x 500

Max Speed

Maximum
Speed

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

Tx

Transmission
Range

90 m

P.T

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
www.IJCSI.org

87

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
31.5%.

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%.

References
[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
www.IJCSI.org

Zhuochuan Huang, Chaiporn Jaikaeo, Sand Errol L.
Lloyd, “CLTC: A Cluster-Based Topology Control
Framework for Ad Hoc Networks”, IEEE
TRANSACTIONS ON MOBILE COMPUTING,
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.
http://www.comp.nus.edu.sg/~tayyc/cbrp/hon.ppt.
[11] Network simulator ns-2
http://sourceforge.net/projects/nsnam/files/allinone/nsallinone-2.31/ns-allinone-2.31.tar.gz

88

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

89

Experimental Evaluation of Memory Effects on TCP Traffic in
Congested Networks
Kulvinder Singh1, Anil Kumar2
1

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

2

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

Abstract
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 TCP’s 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 today’s 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 TCP’s
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 TCP’s 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
www.IJCSI.org

90

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
connection.
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
interaction.

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
www.IJCSI.org

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
t 

t 

Nt
t

A sample path of the evolution of congestion window size
is given in figure 1.

91

1 p
2  b


p
3b

B( p) 

RTT

 2  b 

 
6



8 (1  p )
 2  b 
 

3 bp
 3b 
2 b (1  p )
 2  b 
 

3 p
6



2

2

 1

which can be expressed as:
B ( p ) 

1
RTT

3
2 bp


 o 



1



p 

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:




W

1

B( p)  min min2 
 RTT

 3bp 
2bp
 p(1  32 p 2 ) 

 To min 3
RTT



3
8 




where To - interval waiting for time out, Wmin - receiver
advertised window size.
W

W1

W2

W3

5. Experimental Work

TDP 1

A1

TDP 2

TDP 3

A2

A3

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.

t

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 ]
B 
E[ A]
(1)
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

(2)

Table 1: Parameters used in the simulation.
Queue Size between R0 & R1

40~900

Delay between R0 & R1

35 ms

Bandwidth between R0 & R1

15 Mb

TCP window size

1000

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.

(3)

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
www.IJCSI.org

Experiment No.
TCP Connections

1
16

2
24

3
32

4
64

TFRC Connections

16

24

32

64

92

1.4
1.2
1
0.8

TCP
TFRC

0.6

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.

0.4
0.2
0
50

150

250

350

Figure 4

450

550

650

750

850

32 TCP & 32 TFRC

1.6
1.4
1.4

1.2
1.2

1
TCP

0.8

1

TFRC
0.8

0.6
0.4

0.6

0.2

0.4

0

TCP
TFRC

0.2

50

150

250

350

450

550

650

750

850
0
50

Figure 2

150

250

350

450

550

650

750

850

16 TCP & 16 TFRC
Figure 5

64 TCP & 64 TFRC

1.4
1.2

6. Analysis

1
0.8

TCP
TFRC

0.6
0.4
0.2
0
50

150

250

350

Figure 3

450

550

650

750

24 TCP & 24 TFRC

850

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
www.IJCSI.org

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 TCP’s fast
retransmit mechanism, but also the effect of TCP’s
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.

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

93

[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
2000.
[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 Simulator––QualNet”, Tech. rep., WebPage:
http://www.scalable-networks.com 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 SIGCOMM’98, 1998.
[8] W. Stevens. “TCP Slow Start, Congestion Avoidance, Fast
Retransmit, and Fast Recovery Algorithms”. RFC 2001, Jan
1997.
[9] C. Jin, D. X. Wei, and S. H. Low, “FAST TCP: Motivation,
Architecture, Algorithms, Performance,” in Proceedings of IEEE
INFOCOM’04, 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.

94

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

A Comparison Between Five Models Of Software Engineering
Nabil Mohammed Ali Munassar1 and A. Govardhan2
1

Ph.D Student of Computer Science & Engineering

Jawahrlal Nehru Technological University
Kuktapally, Hyderabad- 500 085, Andhra Pradesh, India
2

Professor of Computer Science & Engineering
Principal JNTUH of Engineering College, Jagityal, Karimnagar (Dt), A.P., India

Abstract
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
quality.

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

Theories

Computer Function

Client

Problems

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
www.IJCSI.org

95

2. Software Process Models

concern.

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.

1.
2.
3.
4.

Specification.
Design.
Validation.
Evolution.

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:
Specification,
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

Coding

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].

Testing

Maintenance

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.

Requirements
Definition

System and
Software Design

Implementation
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
Maintenance
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
www.IJCSI.org

model:
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
libraries.
2

3

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.

4

Detailed design: Examines the software components
defined in the architectural design stage and produces
a specification for how each component is
implemented.

5

Coding:
Implements
specification.

6

7

the

detailed

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
later.
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].

1.
2.
3.

design

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

96

4.
5.
6.

1.
2.

4.
5.
6.
7.


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,
design-before-code.
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, doesn’t match reality well.
Doesn’t reflect iterative nature of exploratory
development.
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:
1.
2.
3.

Concept.
Requirements.
Architectural design.

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

4.
5.
6.

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

Strengths





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].

Weaknesses

3.2 Iterative Development



Inflexible



Only the final phase
produces a nondocumentation
deliverable.



Backing up to
address mistakes is
difficult.

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.


97

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
design).

Table 2: Strengths & Weaknesses of Modified Waterfall

Strengths








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

Weaknesses







Modified Waterfall Summary

Milestones are more
ambiguous than the
pure waterfall.
Activities performed
in parallel are subject
to miscommunication
and mistaken
assumptions.
Unforeseen
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
www.IJCSI.org

development is started, a system test plan is created. The
test plan focuses on meeting the functionality specified in
requirements gathering.

98

Requirements

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
well.

System Test
Planning

High Level
Design

Low Level
Design

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.


Advantages

1.
2.
3.

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.

4.

Integration
Test
Planning

Unit Test
Planning

System
Testing

Integration
Testing

Unit
Testing

Implementation

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]



Disadvantages

1.
2.

Very rigid like the waterfall model.
Little flexibility and adjusting scope is difficult and
expensive.
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].

3.
4.


1.
2.
3.

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


1.
2.
3.

Disadvantages
Can be a costly model to use.
Risk analysis requires highly specific expertise.
Project’s success is highly dependent on the risk
analysis phase.
Doesn’t work well for smaller projects [7].

4.

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


1.

Spiral model sectors
Objective setting :Specific objectives for the phase are
identified.
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].

99

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
"Tasks".
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
www.IJCSI.org

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 other’s 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.

1.
2.
3.

4.
5.

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].


1.
2.
3.
4.
5.

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


1.

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

2.
3.

4.

100

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
requirements.
2. These models were established between 1970 and
1999.
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:
1.

2.

3.

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

REFERENCES
[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 , http://zone.ni.com.
[5] JJ Kuhl, "Project Lifecycle Models: How They Differ
and When to Use Them",2002 www.businessesolutions.com.
[6] Karlm, "Software Lifecycle Models', KTH,2006 .
[7] Rlewallen, "Software Development Life Cycle
Models", 2005 ,http://codebeter.com.
[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
www.IJCSI.org
received the Bachelor degree. He studied Master of Information
Technology at Arab Academic, Yemen, from 2004 to 2007. Now
rd
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
Technologies.
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.

101

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

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

1

2

Department of Computer Science & Engineering, Tezpur University,
Napaam, 784 028, Assam, INDIA

Abstract
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
framework
for
finding
statistically
interesting
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
itemsets.
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

102

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

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

103

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
as:

 ( 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 ))

(3)

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
www.IJCSI.org

Top-k Correlated-Pairs Query
Input:
a) Market Basket
TID

Items

1

1,2,4,5,6

2

2,4

3

2,3,6

4

1,2,4,5

5

1,3,6

6

2,3

7

1,3

8

1,2,3,4,5

Pair
{1,2}
{1,3}
{1,4}
{1,5}
{1,6}
{2,3}
{2,4}
{2,5}
{2,6}
{3,4}
{3,5}
{3,6}
{4,5}
{4,6}
{5,6}

Support
0.37
0.37
0.37
0.37
0.25
0.37
0.5
0.37
0.25
0.12
0.12
0.25
0.37
0.12
0.12

Corr
-0.44
-0.66
0.25
0.6
0.06
-0.44
0.57
0.44
-0.14
-0.77
-0.46
0.06
0.77
-0.25
-0.06

Output
{4,5}
{1,5}
{2,5}
{1,4}
{1,6}
{3,6}

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.

3.1 TAPER
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 .

{2,4}

b) k =7

(X,Y) upper((X,Y))=

104

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 .
Discussion
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.

3.2 TOP-COP
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.
Discussion
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
www.IJCSI.org

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.
Discussion
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.

105

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,
5}.
Transaction

1
2
3
4
5
6
7
8

1
2
2
1
1
2
1
1

2
4
3
2
3
3
3
2

4

5

6
4
6

5

3

4

Item

6

5

Fig 2. (a) Sample market basket

1
Frequency of
2
itemset {3}
3
4
5
6

1

2

3

4

5

6

5

3

3

3

3

2

6

3

4

3

2

5

1

1

2

4

3

1

3

1
3

Fig 2. (b) Sample correlogram matrix

Co-occurrence
frequency
of
item pair {4, 5}

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

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.

106

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 pair’s 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
k
// No. of strongly correlated pairs
Output:
L // Sorted list of k most strongly correlated item pairs
k-SCOPE Algorithm:
L= 
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)
Else
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
Begin
L = L - L[k]
L = L  (i, j)
End
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
www.IJCSI.org

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
coefficients.
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 pair’s correlation
coefficient.
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

107

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:
COSTk-SCOPE = CCM + CEX
= 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
www.IJCSI.org

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.

108

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
bias.
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
T10I400D100K

No of
Transaction
100,000

No of
Items
400

Avg size of
transaction
10

No of
Patterns
20

T10I600D100K

100,000

600

10

20

T10I800D100K

100,000

800

10

20

T10I1000D100K

100,000

1000

10

20

T10P1000D100K

100,000

1000

10

1000

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
(http://www.cs.umb.edu/~laur/ARMiner/) 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
generation.
We also used real life Mushroom dataset from UCI ML
repository(http://www.ics.uci.edu/~mlearn/MLRRepository.html
), 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 http://fimi.cs.helsinki.fi/data/) 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
(Binarized)
Mushroom

No of
Transaction
8124

No of
Items
128

Source
UCI

Pumsb

49046

2113

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
www.IJCSI.org

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

109

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.

References
[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 SIGKDD’04, 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 SIGMOD’00, pp 1-12,
2000.
[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 et.al, 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 et.al, 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 et.al.(2006), 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
www.IJCSI.org

[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, 207–216.

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 Int’l. 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
Conferences.

110

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

Fig 4: Execution time comparison on Synthetic dataset

Fig 5: Execution time comparison on Real dataset

Fig 6: Scalability of k-SCOPE algorithm.

111

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

The Use of Underwater Wireless Networks in Pisciculture at
Amazon
Isadora Santos1, Gleyson Souza2 and Mauro Margalho3
1,2,3

Centro de Ciências Exatas e Tecnologia, Universidade da Amazônia
Belém, Pará, Brazil

Abstract
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.
It’s 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
research.
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.

112

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

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
of
ocean
security
applications
development,
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

113

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
www.IJCSI.org

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.

114

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
scenarios.
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
www.IJCSI.org

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
application.

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
region’s 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.

References
[1]

[2]

[3]
[4]
[5]

[6]

[7]

[8]

[9]
Figure 6. Graphic 4 – Throughput
[10]

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
better.
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.

115

[11]
[12]
[13]
[14]

[15]

[16]

[17]

Ministério do Meio Ambiente, "Plano Nacional de Recursos
Hídricos." [Online]. Available: http://pnrh.cnrh-srh.gov.br/.
[Accessed: Apr. 11, 2010]
Ministério do Meio Ambiente, "Agência Nacional de Águas."
[Online].Available:http://www2.ana.gov.br/Paginas/portais/ba
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
Underwater
Acoustic
Communications
Network
Development," Society, 2006, pp. 1-5.
I. Akyildiz, D. Pompili, and T. Melodia, "Underwater acoustic
sensor networks: research challenges," Elsevier’s 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,"
ELECTRO-IEEE CONFERENCE-, 1995.
A.P. Miguens, "Noções sobre geração, transmissão,
propagação e recepção das ondas eletromagnéticas e
acústicas," Navegação: A Ciencia e a Arte, vol. III, 2000, pp.
1221-1264.
NS2,
"User
Information."
[Online].
Available:
http://nsnam.isi.edu/nsnam/index.php/User_Information.
[Accessed: May 12, 2010]
Università degli Studi di Padova, "A patch for effectively
using Dynamic Libraries in NS-2." [Online]. Available:
http://www.dei.unipd.it/wdyn/?IDsezione=3970.
[Accessed:
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
www.IJCSI.org

[18]

[19]

[20]

[21]

Simulator."
[Online].
Available:
http://www.dei.unipd.it/wdyn/?IDsezione=3966.
[Accessed:
Apr. 14, 2010]
Università degli Studi di Padova, "dei80211mr: a new 802.11
implementation
for
NS-2."
[Online].
Available:
http://www.dei.unipd.it/wdyn/?IDsezione=5090.
[Accessed:
Apr. 14, 2010]
Università
degli
Studi
di
Padova,
"Underwater
Communications."
[Online].
Available:
http://www.dei.unipd.it/wdyn/?IDsezione=5216.
[Accessed:
May 12, 2010]
Università degli Studi di Padova. Department of Information
Engeneering,
"SIGNET."
[Online]
Available:
http://telecom.dei.unipd.it/labs/read/3/. [Accessed: May 12,
2010]
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
Bachelor’s degree at the University of Amazônia, 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
Bachelor’s degree at University of Amazônia, Brazil. Research
interest: computer networks.
Mauro Margalho Coutinho is a lecturer and researcher in the
Center of Science and Technology, at University of Amazônia,
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 TRAÇOS journal as well as the head of computer
network department from Assembléia 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.

116

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

117

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

Abstract
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,
Simplification.

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
cartographic
generalization
is
simplifying
and
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
www.IJCSI.org

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
levels.

3. Multiple Representation v/s Cartographic
Generalization
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

118

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]


V4

V3


V5
V7

V6

V1
V0
V

V2
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
calculations.
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
map.

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

Algorithm:
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.

119

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
simple.
Feature

Feature
Code

Major
Code

Minor
Code

Category

Condition

Road

RD

11

1100

Highway

Metalled

11

1300

Motorway

Metalled

11

5300

Motorway

Unmetalled

11

6100

Pack-track
plains

Unmetalled

11

6410

CartTrack
Plains

Unmetalled

11

6500

Foot-path
Plains

Unmetalled

15

3000

Motorway

Metalled

11

6300

Track
follows
Streambed

Unmetalled

37

2100

Residential

Block
Village/Town

37

1100

Residential

Hut
Temporary

37

1200

Residential

Hut
Permanent

37

1400

Residential

Hut Oblong
Permanent

37

3020

Religious

Chhatri

37

3040

Religious

Idgah

37

3100

Religious

Temple

Figure 3: Input for Vertex Simplification

Building

Ntdb:00
000001

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 façade 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
www.IJCSI.org

adjustment, like the fact that the building size has to be
preserved.
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:

120

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.
Step [8]: INTRUSION/EXTRUSION ANGLE – If the
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 it’s 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 it’s 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
www.IJCSI.org

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.
Acknowledgments
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.

References
[1] Robert Weibel and Christopher B. Jones, “Computational
Perspective of Map Generalization”, GeoInformatica, vol. 2, pp
307-314, Springer Netherlands, November/December 1998.

121

[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,
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¨
unchen.
[8] Bundy, G., Jones, C. & Furse, E. [1995], Holistic generalization
of large-scale cartographic data, Taylor & Francis, pp. 106–119.
[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. 114–120.
[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), 112–122.
[11] Harrie, L. E. [1999], ‘The constraint method for solving spatial
conflicts in cartographic generalization’, Cartographicy and
Geographic Information Systems 26(1), 55–69.
[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. 679–689.
[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
www.IJCSI.org

122

A proposed Ontology to support Modeling Diagrams
Nisreen Innab1, Nidal Yousef2, and Mohammad Al-Fayoumi3
1

Computer Information Systems, College of Business Administration
Jeddah ,KSA
2

Information Systems, Isra University
Amman, Jordan

3

Information Systems, King Abdul Aziz University
Jeddah ,KSA

Abstract
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
comprehensive
information
representation
and
communication.
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
easily.

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
diagrams

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

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
Bunge–Wand–Weber (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
modelling.
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 Protégé 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

123

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
communities.
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,1)

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
www.IJCSI.org
Diagram
Name

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
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
State
events. A State Machine diagram illustrates how an
Machine
element, often a class, can move between states classifying
Diagram
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
Activity
Diagram

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
step.
Diagram

Concepts

Activities, Actions, Action Constraints, Control
Flow, Initial Node, Final Node, Objects and Object
Activity
Flows, data store, Decision and Merge Nodes, Fork
Diagram
and Join Nodes, Expansion Region, Exception
Handlers, Interruptible Activity Region, Partition.
Actors, Use Cases, Name and Description,
Use Case
Requirements, Constraints, Scenarios, Scenario
Diagram
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,
Diagram
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

Concept Definition

A class that cannot be directly instantiated. A class
Abstract Class
which cannot instantiate objects; it must be
inherited
Activity Final
The end point of an activity diagram
Classification
The assignment of an object to a classifier
A classifier that requests a service from another
Client
classifier.
Person, place, thing. It is an object or concept about
Entity
which you want to store information.
Table (4.3): The Extracted Concepts with their Definitions

124

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
definitions.
Concept
Frequency
Model
30
System
28
Diagram
25
Element
18
Action
15
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
frequency.
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
category.
 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
www.IJCSI.org

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
nets.
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.)
Diagram

No.
All
Co
n.

Action

,Actor,

Constraint,

43

No.

Pro

100

30

po-

%

Co

rtio

n.

n

7

7:4

20.

3

6

10:

37.

27

0

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
table.
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

Nodes,

Expansion

Region,

Exception

Handlers,

Interruptible Activity Region,
Partition, Association, Class,
Association Class, Attribute,
Base Class, Branch,
Final

State,

Symbol,

State,

Transition,

Control,

Thread,

Rendezvous,

Swimlane

,Diagram, Activity, Data.
Actor,

Use

Case,

Description,

Name,

Requirement,

27

10

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.

125

Points,

System

Visibility,
Component,

Boundary,

Class,

Property,

Core

Element,

Attribute , Operation , Type,
Description,

Association,

Extend,

Generalization,

Include,

Diagram, Element,

System.
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
www.IJCSI.org

Definition of BWW
concepts
The elementary unit in
the BWW ontological
model. The real world
is made up of things.
Things
possess
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

BWW

Our
Ontology

Equivalent?

Thing

Object,
Entity

Yes

Property

Attribut
e

Yes

Class

Class

Yes

30

30

25

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
ontology.

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
terms.

126

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
“concepts.”
FUTURE WORK
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.

8.References
[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”, CIKM’03, 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.
[9]
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
www.IJCSI.org

Engineering and Methodology, Vol. 14, No. 1, 2005, Pages
42–84.
[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,
2004.
[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. 306–337.
[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,
2005.pp.1-36.
[26] Andreas L. Opdahl, Brian Henderson-Sellers,
“Ontological Evaluation of the UML Using the Bunge–

127
Wand–Weber Model”, Softw Syst Model, 2002 pp. 43–
67.

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
International
Conferences.
Her
current research interests are: data
mining, machine learning, modeling
and simulation, ontology, modeling
diagrams.
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
Professor
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 master’s 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
www.IJCSI.org

Comparison between Conventional and Fuzzy Logic PID
Controllers for Controlling DC Motors
Essam Natsheh1 and Khalid A. Buragga 2
1

Department of Management Information Systems, College of Applied Studies & Community Services, King Faisal University
Hofuf, Al-Hassa 31982, Saudi Arabia
2

Department of Information Systems, College of Computer Sciences & IT, King Faisal University
Hofuf, Al-Hassa 31982, Saudi Arabia


Abstract
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
shoulders.
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
universe.
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
output).
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

128

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

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)

+

T

+

Z

U (k)
se (kT)

-1



PID

+

1
T

FLC

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
FLC
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

129

(1)

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:

(2)

3

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
consequence.

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
www.IJCSI.org
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]:

130

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
error.

N

N

Change of the error
N
Z
Z
Z

P

Z2

N
Z
P

P

P

Z3
Z5

Z1
N

Z

Z4
P

N
Z
P
Sum of the error

N

Z

N
Z
P

N
N
N
Z
N

N
N
N
Z
Z

Change of the error
N Z Z Z P
N N N N Z
N Z Z Z P
Z P P P P
P N Z P N
Sum of the error

P
Z
P
P
Z

P
Z
P
P
P

2.3 Optimizing the Membership Functions

Table 1: State plane of the PID-like FLC rule-base

Error

Error

P

Tang and Mulholand [13] propose the following three
meta-rules:
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.

 (x)
negative

zero

1

U x

K x

0

positive

Kx

Ux

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
www.IJCSI.org

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
variable;
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
Kx
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;
Else
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
follows:


Integral of the absolute of the error (IAE) defined by:


IAE   e t  dt

4

0



The integral of time multiplied by the absolute of
error (ITAE) defined by:


ITAE   t e t  dt

5

0

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].

131

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
www.IJCSI.org

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.

132

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

Armature-controlled
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]:
Km
 s 

U s  s T f s  1 Tm s  1

Field-controlled
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

6

e kT   e  k  1 T 
T

7 

se kT   se  k  1T   T  e  k  1T 

8

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.
Setpoint
+

e (t)

e*(t)

_

PID-like
FLC

U(t)

Zero-Order
Hold

U*(t)

DC
Motor

Output (t)

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):
Km
 s 

U s  s Tm s  1

9

10

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:
U 

  x  x
  x 
i

i

i

i

11 

i

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
second.

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

133

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
system

Using
conventional
PID controller
Using PID-like
FLC

Tr

Ts

(Sec.)

(Sec.)

Os
(%)

IAE

Using
conventional
PID controller
Using PID-like
FLC

12

2.29

160.48

631.83

4

5

2.16

126.93

590.69

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
controller.
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.

Ts
(Sec.)

Os
(%)

IAE

ITAE

8

14

7.03

246.59

1490.1

5

8

4.95

178.29

856.61

Table 5: Percentage of improvement of PID-like FLC over conventional
PID controller

ITAE

7

Tr
(Sec.)

Armaturecontrolled DC
motor system
Fieldcontrolled DC
motor system

Tr

Ts

(Sec.)

(Sec.)

Os
(%)

IAE

ITAE

43%

58%

6%

21%

7%

38%

43%

30%

28%

43%

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
www.IJCSI.org

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.
Acknowledgments
The authors would like to express their appreciation to
Deanship of Scientific Research at King Faisal University
for supporting this research.

References
[1] J. Jantzen, "Tutorial on Fuzzy Logic", Technical University
of Denmark: Department of Automation, Technical report
number
98-E
868,
19
Aug
1998,
URL:
http://www.iau.dtu.dk/
[2] J. Jantzen, "Design of Fuzzy Controllers", Technical
University of Denmark: Department of Automation,
Technical report number 98-E 864, 19 Aug 1998, URL:
http://www.iau.dtu.dk/
[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 CyberneticsPart A:
Systems and Humans, Vol. SMC-28, No. 2, pp. 221-235,
1998.
[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,
1995.

134

[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:
http://www.iau.dtu.dk/
[10] H. X. Li and H. B. Gatland, "Conventional Fuzzy Control
and Its Enhancement", IEEE Transactions on Systems, Man,
and CyberneticsPart 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: http://www.iau.dtu.dk/
[15] B. C. Kuo, "Automatic Control Systems", Prentice-Hall,
1987.
[16] K. Ogata, "Modern Control Engineering", Prentice-Hall,
1970.
[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;
business
process
re-engineering,
integrating
systems;
communications, networking and signal processing.

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

135

A Robust and Secure Methodology for Network Communications
Mayank Srivastava1, Mohd. Qasim Rafiq 2 and Rajesh Kumar Tiwari3
1

2

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
3

Department of Computer Science, GLAITM
Mathura, U.P. 281406, India

Abstract
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 messenger’s hair grew back,
the messenger was dispatched with the message.
Obviously, this message wasn’t 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
www.IJCSI.org

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




Substitution
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
area.
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 et.al. [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

136

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
www.IJCSI.org

137

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
1.
2.

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
www.IJCSI.org

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 software’s by which this can be achieved. This solves
our purpose by making the body part of the carrier image
(see e.g. Fig 3).

138

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 viewer’s 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
www.IJCSI.org

139

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 */
INPUT L;
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 [ ])
Then
Print “Secret Data size is more, Select other
method“
Else Pixel_Place=L; J=1;
For I =L to Length (Secret_data [ ])
GetColorValue
(&K,
Cover_image
[Pixel_Place]);
K= Secret_data[J];
SetColorValue (Stego_image [Pixel_Place],
&K );
J=J+1;
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
www.IJCSI.org

Integer I, J, Y, A, L, M;
Integer Red, Blue, Green;
Input I, J, Y;
M=1;
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);
A=A+2;
M=M+1;
}
}

140

that can be hidden in the cover medium; security refers to
an eavesdropper’s 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
individual.

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

References
[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
“TRANSPARENT ROBUST IMAGE WATERMAKING” IEEE
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
METHODOLOGY FOR DATA HIDING USING IMAGES”,
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
www.IJCSI.org

[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. 12–13. ISBN
0-9689108-0-7.
http://www.retrocomputing.net/info/allan/eBook12.pdf.
[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
– 4974.
[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–
137.

141

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
2004.
Mohd. Qasim Rafiq completed his M.Tech in the year 1986 from
A.M.U, Aligarh, Uttar Pradesh. and Ph.d.in 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
www.IJCSI.org

A New Approach of Using Association Rule Mining in Customer
Complaint Management
Behrouz Minaei-Bidgoli, Elham Akhondzadeh
1

Department of computer engineering, University of Science and Technology
Tehran, Iran
2

Department of industrial engineering, Shahed University
Tehran, Iran

Abstract
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

142

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

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:
[27].

143

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-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
municipality.

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
municipality.

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

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

Subjec
t ID
301
299
1040
1038

Message
Time
2008-11-25
15:38:50
2008-10-13
13:57:13
2009-10-20
08:40:00
2010-02-24
11:12:00

Citizen
Region
4

Citizen
Gender
Male

Citizen
Education
Master

22

Male

Bachelor

2

Female

Student

1

Male

Student

Table 2: the definitions of fields

ID
1
2
3

Attribute
Subject ID
Message Time
Citizen Region

4
5

Citizen Gender
Citizen Education

definition
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.

144

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
spring.
Table 3: the results of association rules between "citizen region",
"season" and "subject" attributes

ID

Antecedent

Consequent

1

CR = 10

2

CR = 10

3.2.1. Region, season and type of complaint

3

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.

4

CR = 11

5

CR = 11

6
7

CR = 11
CR = 22
and Se =
spring
CR = 22
and Se =
spring
CR = 22
and Se =
spring
CR = 22
and Se =
spring

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.

8
9
10

S
(%)
70.7

C
(%)
7.77

12

1.32

10.3

1.14

30.8

0.73

27

0.62

10.3
50

0.24
0.18

S = delinquency of
employees and managers

25

0.1

S = Transportation and
traffic

8.3

0.03

S = ICT

8.3

0.03

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

3.2.2. Demographical characteristics and type of
complaints
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

ID

Gender

Antecedent

Consequent

1

females

2

males

3

males

CR = 13 and
CE = BS
CR = 13 and
CE = BSc
CR = 22

4

females

CR = 22

S = socialcultural
S = socialcultural
S=
Transportation
and traffic
S=
Transportation
and traffic

S
(%)
1.4

C
(%)
80

0.31

15.6

1.2

43

1

9.6

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.

145

Table 5: contrast rules in graduated and non-graduated citizens

ID

Education

1

Graduated

2

Nongraduated

3

Nongraduated

4

Graduated

Antecede
nt
CR = 14
and CG =
male
CR = 14
and CG =
male
CR = 12
and CG =
male
CR = 12
and CG =
male

Consequent
S = delinquency
of employees
and managers
S = delinquency
of employees
and managers
S = the urban
service
management
system
S = the urban
service
management
system

S
(%)
0.89

C
(%)
66.7

0.89

10.8

0.89

80

0.21

15

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
other.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
www.IJCSI.org
Table 6: contrast rules in different citizens' groups

ID

Segment

1

3

2

4

3

1

49

2,5,6,7,8,9

Antecedent
CE = BSc
and CG =
male
CE = BSc
and CG =
male
CE = BSc
and CG =
male
CE = BSc
and CG =
male

Consequent
S = The urban
service
management
system
S = The urban
service
management
system
S = The urban
service
management
system
S = The urban
service
management
system

S
(%)

C
(%)

9.01

35

6.44

34.2

3.18
Very
low

21.4
Less
than
1

[2]

[3]

[4]

[5]

[6]

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
extracted.
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.

Acknowledgments
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.

References
[1]

T. Sasaki, , Y. A.Watanabe and K. Minamino,K, "An
Empirical Study on Citizen Relationship Management in

[7]

[8]

[9]

[10]

[11]

[12]

[13]

[14]

[15]

[16]

146

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.176–184.
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.71−86.
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.436−447.
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.17−45.
F. Damanpour, "Organizational innovation: A meta-analysis
of effects of determinants and moderators", Academy of
Management Journal, Vol.34, No.3, 1991, pp.555−590.
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.139−169.
K. Layne and J. Lee, "Developing fully function EGovernment: A four stage model", Government Information
Quarterly, Vol.18, No.1, 2001, pp.122−136.
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.178−197.
C. G. Reddick, "The adoption of centralized customer
service systems: A survey of local governments",
Government Information Quarterly, Vol. 26, 2009, pp. 219–
226.
S. F. King, "Citizens as customers: Exploring the future of
CRM in UK local government", Government Information
Quarterly, Vol.24, 2007, pp. 47–63.
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 15–18, 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
03–06, 2007.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
www.IJCSI.org
[17] R. Silva and L. Batista, "Boosting government reputation

[18]

[19]

[20]

[21]

[22]

[23]

[24]

[25]

[26]

[27]
[28]

[29]

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. 2592–2602.
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.29–41.
B. LarivieRe and D. V. D. Poel, "Investigating the postcomplaint period by means of survival analysis", Expert
Systems with Applications, Vol. 29, 2005, pp.667–677.
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.5–28.
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.5371–5375.
R. Agrawal, and R. Srikant, "Fast algorithm for mining
association rules", In Proceedings of the Twentieth
International Conference on Very Large Databases, 1994,
pp. 487–499.
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. 253–273.
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,
2006.
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.1–8.

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

147

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
www.IJCSI.org

A Three Party Authentication for Key Distributed Protocol Using
Classical and Quantum Cryptography
Suganya Ranganathan1, Nagarajan Ramasamy2 , Senthil Karthick Kumar Arumugam3, Balaji Dhanasekaran4, Prabhu
5
6
7
Ramalingam , Venkateswaran Radhakrishnan , and Ramesh Karpuppiah
Assistant Professor’s, Master Of Computer Applications, Bharathiar University, Nehru College Of Management
Coimbatore, Tamilnadu 641105, India.

Abstract
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:
1.
2.
3.

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
(repeatedly).

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
Efficiency.

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
altered).

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
Cryptography
Key distribution protocols are used to facilitate sharing
secret session keys between users on communication
networks. By using these shared session keys, secure

148

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

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

149

consumed, and need to be reconstructed by the TC and a
participant after one QKDP execution.

3. QKDP’s 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
www.IJCSI.org

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
((|0)(|1)).


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

150

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))).
(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

(2)

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
www.IJCSI.org

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
1.

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)).

(3)

If (rTA||RTA)i=1, (KTA)i=0,
then (QTA)i is (1/2(|0) - (|1)).

(4)

If (rTA ||RTA)i = 0 , (KTA)i= 1,
then (QTA)i is (|0).

(5)

If (rTA ||RTA)i = 1 , (KTA)i= 1,
then (QTA)i is (|1).

151

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,r’TA)  R’TA (or h(KTB,r’TB)  R’TB). Hence, Tom
(or Tin) alone can verify the correctness of the ID
concatenation
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.
Theorem

(6)

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
r’TA||R’TA she then computes
SK’||UA||UB=h(KTA,r’TA)  R’TA
(7)

The session key SK’ can be obtained and the values UA
and UB can be verified. Similarly Tin gains r’TB||R’TB
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
Let
AQKD security of 3AQKDP.



Let
(∆) 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
is,
(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
www.IJCSI.org

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.

152

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.

References
[1] G.Li “Efficient network authentication protocols: Lower bounds
and Optimal implementations”, Distributed computing, Vol 9, No. 3
pp.1995.
[2] J.T.Kohi, “The evolution of the Kerberros Authentication
Service” European conf. proc pp 295-313-1991. B.Nuemann and T.
Ts’o “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
entanglement",
quant-ph/9912039
W. Dür, 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. Crépeau, 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
www.IJCSI.org
mining and Data Structures. He has also attended many
conferences and done certification courses which will support the
carrier growth.

153

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

153

Fault Tolerance Mobile Agent System Using Witness Agent in 2Dimensional Mesh Network
Ahmad Rostami1, Hassan Rashidi2, Majidreza Shams Zahraie3
1

2

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
3

Student of Faculty of Electrical, Computer, IT & Biomedical Engineering,
Qazvin Islamic Azad University, Qazvin, Iran

Abstract
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
www.IJCSI.org

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.

154

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

i
arrive

, 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

i
arrive

, 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

i
leave

, 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

i
leave

, 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
www.IJCSI.org

msg

i
arrive

and another one is msg

are out-of-order, msg

i
leave

i
leave

. If the messages

will be kept in the permanent

storage of Si-1. That is msg

i

is considered as

leave

unattended, and becomes an indirect message until Wi-1
receives msg

msg

i
arrive

i

. When Wi-1 has received both

arrive

and msg

i
leave

, it spawns a new agent called

155

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

i
arrive

or msg

i
leave

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

i
leave

, 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

i
alive

. 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

i
alive

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
alive

.

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
www.IJCSI.org

156

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 4×4 2D-Mesh with 16
nodes.
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 j≠i.

computing and check-pointing of data are finished and the

NewWitnessNumber

message log

i
leave

. 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 4×4 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
doesn’t 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 agent’s 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
graph.

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
www.IJCSI.org

157

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

msg

i, j
NewWitnessNumber

and msg

lost eventually, they are like

i, j

Po int NewWitness are not
i
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
NewWitnessNumber

to

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
adjacent:
|i-p|=1 and j=q
Or
|j-q|=1 and i=p

1
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
www.IJCSI.org

In the Future work, the following assumptions can be
considered:
 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 agent’s data.
 Hyper-Cube

References
 
[1]

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.
1995.
[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.
1998.
[6] T. Gschwind, M. Feridun, and S. Pleisch, “ADK—Building
MobileAgents for Network and Systems Management from
Reusable Components,” Proc. First Int’l 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. Int’l 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.
2000.
[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.
1999.
[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.

158

[12] S. Beheshti , M. Ghiasabadi, M. Sharifnejad, A. Movaghar,
“Fault Tolerant Mobile Agent Systems by using Witness
Agents and Probes, “Proc. fourth Int’l Conf. Sciences of
Electronic,
Technologies
of
Information
and
Telecommunications (SETIT 2007- TUNISIA), March
2007.
[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 int’l 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 (ISADS’03), 2003.
[19] M. J. Quinn, Designing Efficient Algorithms for Parallel
Computers, University of New Hampshire: McGraw-Hill,
1976.

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

159

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
1

2

Department of Computer Applications, S.N.R. Sons College
Coimbatore, Tamilnadu, India

Department of Computer Science, Avinashilingam Deeemed University for Women
Coimbatore, Tamilnadu, India

Abstract
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
systems.

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
cryptosystems.
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.
V=GUC

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

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.

160

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
generated.
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
databases.
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
Vault
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
www.IJCSI.org

161

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
password.
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
contrast.

a

general

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
Retina
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
Minutiae

(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
www.IJCSI.org

3.3 Iris and Retinal Minutiae Feature Point
Transformation
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.
X’u = (Xu + Tu) mod (2 ^ 7)
Y’v = (Yv + Tv) mod (2 ^ 9)
where Xu and X’u is the horizontal distance before and
after transformation respectively. Similarly Yv and Y’v is
the vertical distance before and after transformation
respectively.

162

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
scrambled.

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.

Parameter

Iris

Retina

Total

No. of. Genuine points(r)

28

30

58

No. of Chaff points(c)

280

300

580

Total no. of points
(t = r + c)

308

330

638

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
www.IJCSI.org

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

163

Eye Color

Character Code
Used

Amber
Blue
Brown
Gray
Green
Hazel
Purple/violet

A
E
B
G
N
H
P

The
security of the
iris
and
retina
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
provide
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.

Where
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
www.IJCSI.org

(a) PASSWORD : VAULT146AM

164

(a) Red: Permuted Points and Blue:
Transformed Points

(b) PASSWORD: FUZZY155BM
(b) PASSWORD : VAULT146AM

c) PASSWORD : TOKEN170GF

(c) PASSWORD: FUZZY155BM

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.
(d) PASSWORD : TOKEN170GF
Fig 5. Transformed Retinal Features for Three Different Soft Biometric
Passwords

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

165

Table III Showing the Structure of Sample Passwords

User
password
(5
character)
(40 Bits)
FUZZY
TOKEN
VAULT
Table IV

Soft Biometric Password
(24 bits)
Gender
Height
Iris color
(M/F)
(0 –
(1
(1
255)
character)
character
(8 bit)
(8 bit)
)
(8 bit)
155
B
M
170
G
F
146
A
M

Combined
Password
(64 bits)

FUZZY155BM
TOKEN170GF
VAULT146AM

Security Analysis of Combined User and Soft Biometric based Password Hardened Multimodal Fuzzy Vault

Vault Type

Degree of
polynomial

Minentropy
of the
vault
(in
security
bits

Total no: of
combinations
tried

Combinations
Required
to decode the
vault

No: of
Evaluations
To be
performed
to decode
the vault

Min-entropy
+ guessing
entropy of the
password
(in security bit )

Iris

8

33

6.1088 x 10 16

6.9069 x 10 6

8.8445 x 109

51 to 63

Retina

8

33

1.1457 x 10 17

1.4307 x 10 7

8.0079 x 10 9

51 to 63

Combined
Iris and
Retina

13

51

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
system.
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

password
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.
Acknowledgments
A public version of the DRIVE: Digital Retinal Images
for
Vessel
Extraction
is
available
from
http://www.isi.uu.n/Research/Databases/DRIVE
A public version of the CUHK Iris Database is available
from http://www2.acae.cuhk.edu.hk.

References
[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
www.IJCSI.org

[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. 125–143, June
2006.
[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
image
registration using bifurcation structures”, Matlab
Central
[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

166

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.
2009.
[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:
978-0-7695-3845-7,
http://doi.ieeecomputersociety.org/10.1109/ARTCom
2009.101
[22] V.S.Meenakshi, G.Padmavathi, “Security analysis of
Password Hardened Multimodal Biometric Fuzzy
Vault”,
World Academy of Science, Engineering and Technology
56 2009, www.waset.org/journals/waset/v56/v56- 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
Computer
Science,
Avinashilingam
University for Women, Coimbatore. She
has 22 years of teaching experience and
one year Industrial experience. Her areas
of interest include Network security and
Cryptography
and
real
time
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
www.IJCSI.org
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.

167

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

167

Interactive Guided Online/Off-line search using Google API and
JSON
Kalyan Netti1
Scientist, NGRI(CSIR),
Hyderabad, Andhra Pradesh, India
1

Abstract
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 doesn’t 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
www.IJCSI.org

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 page’s relevance and not on the
number of responses [6]. There for it can be said that
Google focuses on a page’s 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 user’s 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
Google’s 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

168

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
desktops.
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 Staggernation.com [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
of
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
www.IJCSI.org

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
available.

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

Bundle
of Saved
Results

Each of these smaller clusters will be assigned queries
based on the user’s 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

User

169

JSP and
Servlet
Container

Google
AJAX
search

Google.
com

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.com. 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 Google.com 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
www.IJCSI.org

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
language.
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,

170

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
www.IJCSI.org

171

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 Google.com by using
googconnector.java bean which establishes the connection
using Google AJAX Api.

Figure 5: searching google.com 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 Google.com 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 Google.com using AJAX API Search is as
follows

Figure 6: searching google.com 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
URL("http://ajax.googleapis.com/ajax/se
rvices/search/web?start=0&rsz=large&v=1
.0&q=" + query);
// opening connection
URLConnection connection =
url.openConnection();

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

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
StringBuilder();
BufferedReader reader = new
BufferedReader(new
InputStreamReader(connection.getInputSt
ream()));
while((line = reader.readLine()) !=
null) {
res.append(line);
//out.println("\n"+line);
}
//parsing using JSON Objects
String resp = builder.toString();

172

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 google.com returned around 11100000 results as
shown in figure 7. For convenience purpose the system

JSONObject json = new
JSONObject(builder.toString());
// Displaying the required results
out.println("Results Ordered = "
+json.getJSONObject("responseData").get
JSONObject("cursor").getString("estimat
edResultCount"));
out.println("<br>");
// Parsing the respone using JSONArray
JSONArray ja =
json.getJSONObject("responseData").getJ
SONArray("results");
out.println("\n Results:");
out.println("<br>");
for (int i = 0; i < ja.length(); i++) {
out.print((i+1) + ". ");
JSONObject j = ja.getJSONObject(i);
out.println(j.getString("titleNoFormatt
ing"));
out.println("<br>");
out.println(j.getString("url"));
out.println("<br>");
}
//out.println(""+response1);

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
programming”

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
www.IJCSI.org

173

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
search.

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 google.com as an example).

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

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 (yahoo.com, window
live) thus making the user to see different set of results
(this paper uses google.com 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
result..
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.

References
[1] Xuehua Shen, Bin Tan, ChengXiang Zhai,”Implicit User
Modeling for Personalized Search” CIKM’05, 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
Intelligence
[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
http://searchenginewatch.com/searchday/02/sd0812googletech.html
[7] http://code.google.com/apis/ajaxsearch/
[8] Google Groups (web-apis)
http://groups.google.com/groups?group=google.public.webapis
[9] www.json.org
[10] Guidebeam - http://www.guidebeam.com/aboutus.html
[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,
1999.http://www.guidebeam.com/preflogic.pdf
[12] Softnik Technologies, Google API Search Toolhttp://
www.searchenginelab.com/common/products/gapis/docs/
[13] Google API Proximity Search (GAPS) http://www.staggernation.com/gaps/readme.html
[14] Sree Harsha Totakura, S Venkata Nagendra Rohit Indukuri
V Vijayasherly, COS: A Frame Work for Clustered off-line
Search
[15] Luiz André Barroso, Jeffrey Dean, and Urs Hölzle, Web
Search for a Planet: The Google Cluster Architecture, Google,
2003.
[16] Mitch Wagner, Google Bets The Farm On Linux, June
2000, - http://www.internetwk.com/lead/lead060100.htm
[17] http://json-schema.org
[18] M. B. Rosson and J. M. Carroll. Usability Engineering:

174

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.
http://developer.yahoo.com/search.
[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
modeling.

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

175

Static Noise Margin Analysis of SRAM Cell for High Speed
Application
Debasis Mukherjee1, Hemanta Kr. Mondal2 and B.V.R. Reddy3
1
E&CE, SPSU and USIT, GGSIPU
Udaipur, 313601 and Delhi, 110006, India

2

Freescale Semiconductor
Noida, 201301, India
3

USIT, GGSIPU
Delhi, 110006, India

Abstract
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
www.IJCSI.org

176

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 can’t 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
www.IJCSI.org

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.

177

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
increased.
Table 1: CR vs. SNM

Technology
(mm)

CR

SNM(mV)

180 nm

0.8
1.0
1.2
1.4
1.6

205
209
214
218
223

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

178

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
increases.
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

Technology

180nm

DRV(V)
1.8
1.6
1.4
1.2
1.0
0.8
0.6

SNM(mV)
200
195
191
188
184
180
178

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.

Technology

180 nm

Table 3: Write Margin vs. SNM
PR
Write margin
SNM(mV)
3.0
0.487
210
3.2
0.489
213
3.4
0.491
217
3.6
0.493
221
3.8
0.496
223
4.0
0.498
227

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
constant.
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
Technology

180nm

CR
1.0
1.2
1.4
1.6
1.8
2.0

Read Margin
0.393
0.398
0.401
0.404
0.407
0.409

SNM (mV)
205
209
214
218
223
225

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
www.IJCSI.org

179

Acknowledgment
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.

References

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,
M.
Takeuchi, M.
Kawashima, H.
Yamaguchi,
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}@virginia.edu.
[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,
USA.
[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
www.IJCSI.org

[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 SRAM’s,” 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,
1999.

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
Ph.D's.

180

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

181

A New Approach for Evaluation of Data Mining Techniques
Moawia Elfaki Yahia1,

Murtada El-mukashfi El-taher2

1

College of Computer Science and IT
King Faisal University
Saudi Arabia, Alhasa 31982

2

Faculty of Mathematical Sciences
University of Khartoum
Sudan, Khartoum 11115

Abstract
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
www.IJCSI.org

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
regressions.

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

182

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
www.IJCSI.org

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.

183

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
Technique

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 naïve prediction, and an algorithm that
claims to learn anything must always do better than the
naïve prediction.

4.1 Statistical Technique

4.1.6 Implementation
Process

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
Technique

Environment

of

Using

Statistical

of

Statistical

Technique

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
www.IJCSI.org

184

4.2.2 The Environment of using Visualization
Technique

within the cluster. Clustering can be used for discovery or
prediction.

It is used at the beginning of a data mining process. And it
is used as the famous remark and picture of data mining
process.

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
Technique
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
process
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
Technique
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
process

of

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
Technique

4.3.2 The
Technique

Environment

of

using

Clustering

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
www.IJCSI.org

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
Technique

Disadvantages

of

Decision

Trees

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
Technique
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
process
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
Technique
As example, the associations rule can be used to discover
of the HTML documents to give insight in the user profile

185

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
Technique
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
Technique
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
process
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
Technique
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
www.IJCSI.org

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
Technique
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
Technique
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
them.

4.3.6 Implementation of Neural Networks Technique
process
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

186

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.
References
[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,
2007.
[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,
2009.
[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 ,
2002.
[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 CISST’02, 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
www.IJCSI.org

187

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

Abstract
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,
Selection.

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
www.IJCSI.org

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

188

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
doesn’t 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
threshold.

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

189

Temple

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
presence.
Step [4]: Repeat the step 2 and 3 until all objects are
processed.
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 map’s 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
www.IJCSI.org

historical buildings and landmarks that serve as reference
points in a map.
Acknowledgments
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.

References
[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, 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¨
unchen.
[8] Bundy, G., Jones, C. & Furse, E. [1995], Holistic
generalization of large-scale cartographic data, Taylor & Francis,
pp. 106–119.
[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. 114–120.
[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), 112–122.

190

[11] Harrie, L. E. [1999], ‘The constraint method for solving
spatial conflicts in cartographic generalization’, Cartographicy
and Geographic Information Systems 26(1), 55–69.
[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. 679–689.
[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
www.IJCSI.org

191

Design and Implementation of a System for
Wireless Control of a Robot
Christian Hernández1, Raciel Poot1, Lizzie Narváez2, Erika Llanes2 and Victor Chi2
1

Department of Electronics, Universidad Autónoma de Yucatán
Tizimín, Yucatán 97700, México
2

Department of Networks, Universidad Autónoma de Yucatán
Tizimín, Yucatán 97700, México

Abstract
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
appreciate.
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
system.
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
www.IJCSI.org

the implementation, including the construction of the
prototype and finally, the fifth section presents the
conclusions.

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

192



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
pin.
 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
Memory).
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
it.
Communication: It can communicate from computer
to computer with an Arduino or other
microcontrollers. The ATmega168 has implemented
UART
(Universal
Asynchronous
Receiver
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
www.IJCSI.org



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

PWM
3,5,6,9,10,11

5V
Reset

Chip
FTDI

VIN
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 WPAN’s. 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
music.






193

Forewarned home: Water, power and access sensors,
smart appliances.
Mobile services: Mobile payments, control and
monitoring, security, access control, health care and
telecare.
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
other.
 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
data.
Client computer

Arduino + X-bee
(sender of data)

End

End

End

End

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
www.IJCSI.org

194

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
+ -

Computer
LPT
Power
5V
+ -

Arduino+X-bee
bee
Sender module

Arduino+X-bee Battery 9V
+ Receiver module

L293

Protoboard
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
energy.

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
interface

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
volts.

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
www.IJCSI.org

3.

4.

5.

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.

195

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.

Keys

Action
Forward.
Back.
Left.

|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

Right.

c

Pause.
Exit.

In the following code, as mentioned previously was
developed in Dev-C ++, we can see the programming of
some of these movements.
do{

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
www.IJCSI.org
op2=getch();
switch(op2)
{
case 72 : (oup32)(0x378,1);
Sleep(100);
(oup32)(0x378,tmp_CToff);
break;
case 80 : (oup32)(0x378,2);
Sleep(100);
(oup32)(0x378,tmp_CToff);
break;
}

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.

196

bit1=digitalRead(2);
bit2=digitalRead(3);
bit3=digitalRead(4);
if(bit1==0)
{ if(bit2==0)
{ if(bit3==0)
{ Serial.write('/'); }
else
{ Serial.write('+'); } }
else
{ Serial.write(')'); } }
else
{ if(bit2==0)
{ Serial.write('('); }
else
{ Serial.write('*'); }}}

Once the programming of the transmission of data is done,
the program was uploaded to the Arduino’s
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()
{Serial.begin(9600);
pinMode(13,INPUT);
pinMode(12,INPUT);
pinMode(11,INPUT);
pinMode(6,INPUT);
pinMode(5,INPUT);
pinMode(4,INPUT);
pinMode(3,INPUT);
pinMode(2,INPUT);}
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
www.IJCSI.org

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.

References
[1] http://electrolabo.com,
http://www.ladyada.net,
http://www.Arduino.cc, http://www.instructables.com.
Ultima consulta Junio 30 de 2010.
[2] Alonso Álvarez, Jaime. Desarrollo de un robot móvil
controlado desde Internet: Comunicaciones Wi-Fi.
Universidad Pontificia Comillas – ICAI. Madrid. Junio
2005.
[3] Barro Torres, Santiago; Escudero Cascón, Carlos.
Embedded Sensor System for Early Pathology
Detection in Building Construction. Department of
Electronics and Systems, University of A Coruña.
España.
[4] Boonsawat, Vongsagon, et all. X-bee Wireless Sensor
Networks for Temperature Monitoring. School of
Information,
Computer,
and
Communication
Technology Sirindhorn International Institute of
Technology, Thammasat University, Pathum-Thani.
Thailand.
[5] Díaz del Dedo, Luis; Pérez García, 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 Politécnica
Superior de Castelldefels. Julio de 2009.
[7] Baik, Kyungjae. BoRam: Balancing Robot using
Arduino and Lego. September, 2008.
[8] Información
general
del
Arduino.
http://Arduino.cc/es/Main/ArduinoBoardDiecimila
Última consulta Julio 2 de 2010.
[9] http://www.digi.com/products/wireless/pointmultipoint/X-bee-series1-module.jsp#specs
Última
consulta Julio 2 de 2010.
[10]Zigbee standards Organization “Zigbee 2007”
http://www.zigbee.org/Products/TechnicalDocumentsd
ownload/tabid/237/default.aspx Última consulta Junio
5 de 2010.
[11]X-bee
primeros
pasos
http://www.scribd.com/doc/13069890/Primeros-PasosCon-Arduino-y-X-bee Última consulta Mayo 10 de

197

2010.
[12]http://mundobyte.files.wordpress.com/2007/12/lpt.jpg
Última consulta Mayo 12 de 2010.
[13]http://www.atmel.com/dyn/resources/prod_documents/
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
[15]http://www.datasheetcatalog.net/es/datasheets_pdf/L/2
/9/3/L293.shtml Última consulta Abril 15 de 2010.
[16]http://cfievalladolid2.net/tecno/cyr_01/robotica/sistem
a/motores_servo.htm Última consulta Abril 3 de 2010.
Christian Hernández 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 Jiménez. 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 Tizimín México. 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 Narváez-Díaz. Received a degree in Computer
Science from the the Autonomous University of Yucatán (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 Yucatán since 2000 in the Networking department in
Tizimín México. 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 Tizimín México. She has participated in software
engineering development projects. Currently is giving courses on
programming mobile devices in the professional programs in the
UADY.
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 participated in software
engineering development projects. He is currently giving courses
on wireless networks and software engineering in the professional
programs in the UADY.

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

198

A Review of Supply Chain Management using Multi-Agent System
Vivek Kumar1 and Dr. S. Srinivasan2
1

Research Scholar, Department of computer Science & Engineering, Suresh Gyan Vihar, University
Jaipur, Rajasthan 302 004, India
2

Professor & Head, Computer Science Department
PDM Engineering College,
Bhadurgarh, Haryana 124 507, India

Abstract
Supply chain consist of various components/ identities like
supplier, manufacturer, factories, warehouses, distributions
agents etc. These identities are involved for supplying raw
materials, components which reassembles in factory to produce a
finished product. With the increasing importance of computerbased communication technologies, communication networks are
becoming crucial in supply chain management. Given the
objectives of the supply chain: to have the right products in the
right quantities, at the right place, at the right moment and at
minimal cost, supply chain management is situated at the
intersection of different professional sectors. This is particularly
the case in construction, since building needs for its fabrication
the incorporation of a number of industrial products. This paper
focuses on an ongoing development and research activities of
MAS (Multi Agent System) for supply chain management and
provides a review of the main approaches to supply chain
communications as used mainly in manufacturing industries.
KEYWORDS: Information exchanges, Multi Agent System,
knowledge sharing and supply chain management

finished product to the customer. This requires thinking beyond
the established boundaries, strengthening the linkages between
the supply chain functions and finding ways to pull them
together. The result is an organization that provides a better
service at a lower cost. MihaelaUlieru et al. give a approach
based on the holonic enterprise model [10] with the Foundation
for Intelligent Physical Agents (FIPA) Contract Net protocols
applied within different levels of the supply chain. The
negotiation on prices is made possible by the implementation of
an XML rule-based system that is also flexible in terms of
configuration. According to Pericles A., the system is viewed as
an organization or collection of roles that relate to each other and
form an interaction model. Roles in the system are descriptions
of business entities, whose functions are modeled at an abstract
level. Whole system is divided in Business Description, Product
Description, and Order Management Holarchy, Manufacturing
Holarchy.ole Modeling. Author has given the following System

JADE

JADE Content Classes

1. Introduction
Supply chain is a worldwide network of suppliers, factories,
warehouses, distribution centers, and retailers through which raw
materials are acquired, transformed, and delivered to customers.
In recent years, new software architecture for managing the
supply chain at the tactical and operational levels has emerged. It
views the supply chain as composed of a set of intelligent
software agents, each responsible for one or more activities in
the supply chain and each interacting with other agents in the
planning and execution of their responsibilities. Supply Chain
Management is the most effective approach to optimize working
capital levels, streamline accounts receivable processes, and
eliminate excess costs linked to payments.

Content

Ontology

Customer Agent
Content
:
ContentManager
Content_Language:
Codec
Setup(addBehaviour()
)

2. Literature Survey
Analysts estimate that such efforts can improve working Capital
levels, streamline accounts receivable processes, and eliminate
excess costs linked to payments. Analysts estimate that such
efforts can improve working capital levels by 25% [2]. Today,
the best companies in a broad range of industries are
implementing supply chain management solutions to improve
business performance and free cash resources for growth and
innovation. Supply Chain Management is about managing the
physical flow of product and related flows of information from
purchasing through production, distribution and Delivery of the

Codec

Concept

Request_Behavio
Concept : Concept
Predicates : Predicate
Action : AgentAction

Predicate
Agent Action

Action()

Fig. 1 Class Architecture for customer Agents

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

Yevgeniya Kovalchuk presented a way to manage the supply
chain activities & try to automate their business processes [18].
In practice, all the activities are highly connected and
interdependent. The project is mainly focused on the demand
part of the supply chain. In particular, different methods for
predicting customer offer prices that could result in customer
orders are explored and compared in the system. RuiCarvalho et
al. presented multi-agent technology as a sound alternative to
classical optimization techniques that can contribute to solve
hard problems. To prove this point , the MAS with the following
functionalities designed : simulation of an almost infinite number
of agents, heuristics for decision making, possibility to choose
among alternative decision strategies and tactics, different
evaluation criteria and evaluation functions, different message
sequences, and stochastic or deterministic behavior.

199

This technique tries to answer the following questions: (1) which
agent-based system characteristics and software engineering
principles are addressed within AOSE modeling techniques, and
to what extent? (2) What should be the properties of the future
agent-oriented modeling techniques? Rasoul Karimi et al.
developed a new multi attributes procurement auction [11]. It is
new because it has been defined for a special model of supply
chain, in that customer has a new scoring rule, and producers
have new strategies for biding. Multi Attribute Procurement
Auction is a good solution for Supply Chain problem which fits
its requirements. The implementation of the Swarm simulation
system incorporates multiple agents with the decision model to,
in turn; determine the relationship with their trading partners.
Fig. 3 demonstrates a purchasing agent’s decision model to
determine which supplier should issue the purchase order.
OFP Observer
Swarm

Monolayer information sharing

Supplie

Manufacturer

Distributor

Retailer
Statistics Swarm

Monolayer information sharing
OFP Model Swarm

Supplie

Manufacturer

Distributor

Retailer

Production Agent

Fig. 2 Compartmentalization of operational information coordination

José Alberto R. P. Sardinha1 et al. presented a flexible
architecture based on a distributed multi-agent architecture [15]
of a dynamic supply chain. Intelligent agents tackle sub problems
of a dynamic SCM. Authors present an implementation of this
architecture by using international test bed for SCM solutions.
The mail purpose of this work is to present a multi-agent
architecture for a generic supply chain that uses a direct sales
model, which links customers directly to a manufacturer through
the Internet. Robert de Souza et al. addressed two main issues
[6]: Can we chart the complex logistical dynamics of disk drive
manufacturing? What are the critical success factors that impact
the economics of hard disk drive manufacturing? The backdrop
for this study is the (global) supply chain much in evidence in
disk drive manufacture. Fu-ren Lin et al. analyzed the impact of
various levels of information sharing including order, inventory,
and demand information, which is based on transaction costs
[14]. This study further examines the effects on supply chain
performance in electronic commerce. Specifically, the multi
agent simulation system Swarm is employed to simulate and
analyze the buyer–seller correlation in sharing information
among business partners in supply chains. Information sharing
between firms helps to lower the total cost and increase the order
fulfillment rate. In other words, information sharing may reduce
the demand uncertainty that firms normally encounter. Onn
Shehory et al. discussed suitability of agent modeling techniques
[4] to agent-based systems development. In evaluating existing
modeling techniques, addressed criteria from software
engineering as well as characteristics of agent-based systems.
Evaluation shows that some aspects of modeling techniques for
agent-based systems may benefit from further enhancements.

Inventory
Management

Production
Agent

Planning

Cost Management
Agent
Work Flow
Agent
Order
Management

Fig. 3 Swarm implementation for modeling supply chains.

A trading partner contains several agents, including order
management, inventory management, policy management,
production, production planning, and purchasing. Among them,
the purchasing agent proposes the decision model to determine
from which supplier products should be purchased. The
purchasing agent buys goods from suppliers that offer the lowest
price. The price issued by a supplier is the outcome of weighing
production cost and coordination cost. The final price is the one
issued by a supplier. Yang Hang et al. proposed a CSET
framework [13] for whole supply chain in collaborative manner
by incorporating it with the Just-in-Time (JIT) principle, known
as CSET. The core of the CSET model is based on intelligent
agent technology. This paper defines such double-agent
mechanisms in details, as well as demonstrating its merits via
simulation study. The MAS proposed here was implemented
using LISP and had as first source of inspiration the agent
creation language named RUBA [Ventura97]. The system has as
main blocks i) an environment agent, in charge of the meaningful
functioning of the system and event execution simulation
[Michael90], ii) client agents, with needs to be satisfied and iii)
firm agents, that have also needs but are capable of product
manufacturing. The system also includes a blackboard, where
agents can post their messages, and a set of communication rules
(a communication protocol inspired on the Contract Net protocol

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

[Smith80; Smith81]), common to all agents and that makes
possible message exchange. KQML [Finin94], a standard
message format, and KIF [Genesereth94], a message content
specification, served as the basis for the communication protocol
of our MAS [Huns99].The main elements of the system, agents,
blackboard and a communication protocol, are essential for
functioning. These agents are intelligent, because they are able to
present successful behavior [Albus91]. Figure 4 shows the
system behaviour. Fu-ren Lin et al. used multiagent simulation
system, swarm, for simulating trust mechanism and analyzing the
supply chain performance in four different market environments
[19].Supply chain performance is evaluated by comparing the
order fulfillment process of a mold industry both with and
without trust mechanisms. From the experimental result ,

200

The aim of this paper is to present an integrated fuzzy and linear
programming approach to the problem. Firstly, linguistic values
expressed in trapezoidal fuzzy numbers are applied to assess
weights and ratings of supplier selection criteria. Then a
hierarchy multiple model based on fuzzy set theory is expressed
and fuzzy positive and negative ideal solutions are used to find
each supplier’s closeness coefficient. Finally, a linear
programming model based on the coefficients of suppliers,
buyer’s budgeting, suppliers’ quality and capacity constraints is
developed and order quantities assigned to each supplier
according to the linear programming model. Amor et al.
presented Malaca [9], an agent architecture that combines the use
of Component- based Software Engineering and Aspect-Oriented
Software Development.
Message

Creates
Information
Blackboard

Problem

Warehouse

Handles

Return

-----Aspect

Client
Agent

Factory
Agent
-----

+handleMessage( message : Message ) :
Message
+handleInputMessage( message : Message )
+handleOutputMessage( message : Message ) :
Message

Fig 4. Environment Agent and Agent Behavior

they found that the trust mechanism reduced the average cycle
time rate and raised the in-time order fulfillment rate as the
premium paying for better quality and shorter cycle time.
Charles M. Macal et al. gave a new approach [5] to modeling
systems comprised of interacting autonomous agents.
&
described the foundations of ABMS, identifies ABMS toolkits
and development methods illustrated through a supply chain
example, and provides thoughts on the appropriate contexts for
ABMS versus conventional modeling techniques. William E.
Walsh et al. highlighted some issue that must be understood to
make progress in modeling supply chain formation [3].
Described some difficulties that arise from resource contention.
They suggested that market-based approaches can be effective in
solving them. Mario Verdicchio et al. considered commitment as
a concept [17] that underlies the whole multi-agent environment,
that is, an inter-agent state, react a business relation between two
companies that make themselves represented by software agents.
Michael N. Huhns et al. found after this research that supply
chain problems cost companies [8] between 9 to 20 percent of
their value over a six month period. The problems range from
part shortages to poorly utilized plant capacity. Qing Zhang et al.
provide a review of coordination of operational information in
supply chain [12] . Then the essentials for information
coordination are indicated.Vivek Kumar et al. gave a solution for
the construction, architecture, coordination and designing of
agents. This paper integrates bilateral negotiation, Order
monitoring system and Production Planning and Scheduling
multiagent system. Ali Fuat- Guneri et al gave the concept of
supply chain management process[16], in which the firm select
best supplier , takes the competitive advantage to other
companies. As supplier selection is an important issue and with
the multiple criteria decision making approach, the supplier
selection problem includes both tangible and intangible factors.

<<enumeration>>
Aspect Scope

-role : String
-role Instance : String

Coordination
Aspect

AGENT SCOPE
PROTOCOL SCOPE
CONVERSATION_SCOPE

Representation Aspect

Distribution
Aspect

Coordin
ate Role
Role

Interation
Protocol

Encoding Format

Message Transport Service

Component

Acti
on

Component

Fig. 5 Conceptualization of the aspect model in Malaca

Malaca supports the separate (re)use of the domain-specific
functionality of an agent from other communication concerns,
providing explicit support for the design and configuration of
agent architectures and allows the development of agent-based
software so that it is easy to understand, maintain and reuse. KaChi Lam et al. investigated a selection model based on Fuzzy
Principal Component Analysis (PCA) [7] for solving the material
supplier selection problem from the perspective of property
developers. First, the Triangular Fuzzy Numbers is used to
quantify the decision makers' subjective judgments. Second,
PCA is employed to compress the data of the selection criteria

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

and eliminating the multi-collinearity among them. Third, the
linear combined score of PCA (SCOREPCA) is used to rank the
Suppliers.
Unceatin Values
(in 5 point sale

DMs’ importance wrights
Supplies’ ratings

VB/VL

P/L

M

G/
H

and
P.

important
problem
in
the
commercial world and can be
improved by greater automated
support. The problem is salient to
the
MAS
community
and
deserving of continued research.

Evaluation
of
Modeling
Techniques for
Agent-Based
Systems

Author discusses suitability of
agent modeling techniques to
agent-based systems development.
In evaluating existing modeling
techniques, and address criteria
from software engineering as well
as characteristics of agent-based
systems.

Walsh
Michael
Wellman

Uncertain

3.

VG/V
H

Onn
and
Sturm

Fuzzy refraction

0

201

Shehory
Arnon

Based on these findings, we
intend in future research, to
address the needs of agent-based
system developers. This should be
done in order to find the required
modeling
techniques
and
components for building agentbased systems.

0.25

Fig. 6. Membership functions of DMs' importance weights and
suppliers'ratings (modified from)

Four material purchases are used to validate the proposed
selection model.The results show that the proposed model can be
adopted in construction material supplier selection by the
property developers.
Table 1: Summary

S.No.
1.

Title Name &
Authors

Explanation & Conclusion

“supply Chain
Models in Hard
Disk
Drive
Manufacturing”

This paper seeks to address two
main issues: Can we chart the
complex logistical dynamics of
disk drive manufacturing? What
are the critical success factors that
impact the economics of hard disk
drive manufacturing?

Robert de Souza
and Heng Poh
Khong

2.

Modeling supply
chain Formation
in
Multiagent
System

The pressures in the disk drive
industry are classic supply chain
economics; value, timing, supply,
demand
and
technology
development that all play a part
into price erosion patterns. To
address such issues the authors'
postulate that the five chains
interact
to
give
rise
to
complexities, static models cannot
easily handle.
In this paper the authors highlight
some issues that must be
understood to make progress in
molding supply chain formation.

William

Supply chain formation is an

E.

4.

Effects
of
Information
Sharing
on
Supply
Chain
Performance in
Electronic
Commerce
Fu-ren
Lin,
Sheng-hsiu
Huang,
and
Sheng-cheng Lin

Findings indicate that the more
detailed
information
shared
between firms, the lower the total
cost, the higher and the order
fulfillment rate. And the shorter
the order cycle time. In other
words, information sharing may
reduce the demand uncertainty
that firms normally encounter.
Firms that share information
between trading partners tend to
transact with a reduced suppliers.
This work investigated the buyer–
seller relationship in electronic
commerce with an Extranet as the
platform for sharing information.
Using the Swarm simulation
system, based on transaction
costs, we have identified effects of
sharing
various
levels
of
information between supply chain
partners.

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

5.

Commitments
for Agent-Based
Supply
Chain
Management
Mario
Verdicchio and
Marco
Colombetti

6.

Building
Holonic Supply
Chain
Management
Systems: An eLogistics
Application for
the Telephone
Manufacturing
Industry
MihaelaUlieru
and
MirceaCobzaru

7.

A
Multiagent
Systems
Approach
for
Managing
Supply-Chain
Problems: new

As there are several analogies
between a company in a business
network and an agent, the MultiAgent System paradigm can be a
valid approach for modeling
supply chain networks. We
consider commitment as a concept
that underlies the whole multiagent environment, that is, an
inter-agent state, reacting a
Approach is based on the holonic
enterprise model with the
Foundation
for
Intelligent
Physical Agents (FIPA) Contract
Net protocols applied within
different levels of the supply
chain holarchy. To accommodate
differentiation of interests and
provide an allocation of resources
throughout the supply chain
holarchy, we use nested protocols
as interaction mechanisms among
agents. Agents are interacting
through a price system embedded
into specific protocols. The
negotiation on prices is made
possible by the implementation of
an XML rule-based system that is
also flexible in terms of
configuration and can provide
portable data across networks.
As the effectiveness of centralized
command and control in SCM
starts to be questioned, there is a
critical need to organize
supply chain systems in a
decentralized and outsourced
manner. Agent-based models can
easily be distributed across a
network due to their modular
nature. Therefore, the distribution
of decision-making and execution
capabilities to achieve system
decentralization
is
possible
through models of operation with
communication among them. The
ontology structure of the JADE
framework is, in our opinion, one
of the best designed to address the
issues of accessing and sharing
information pertinent to a specific
application.
It was modelled and implemented
a MAS with the following
functionalities: simulation of an
almost infinite number of agents,
heuristics for decision making,
possibility to choose among

202

tools and results
Rui
Carvalho,
Luís Custódio

8.

A Multi-Agent
Architecture for
a
Dynamic
Supply
Chain
Management
José Alberto R.
P.
Sardinha1,
Marco
S.
Molinaro2,
Patrick
M.
Paranhos2,
Pedro
M.
Cunha2,
Ruy L. Milidiú2,
Carlos J. P. de
Lucena2

9.

How to Model
With
Agents
Proceedings of
the 2006 Winter
Simulation
Conference
Charles
M.
Macal
and
Michael J. North

alternative decision strategies and
tactics,
different
evaluation
criteria and evaluation functions,
different message sequences, and
stochastic
or
deterministic
behavior.
When we applied our MAS to a
problem of SC management at
HP, we obtained results with
stock outs for every product of the
bill of materials. On the contrary,
some authors using mathematical
tools only simulated the stock out
of only one product of the bill of
materials.
This paper presents a flexible
architecture for dealing with the
next generation of SCM problems,
based on a distributed multi-agent
architecture of a dynamic supply
chain. We define intelligent agent
roles that tackle sub problems of a
dynamic SCM.
We
also
present
an
implementation
of
this
architecture
used
in
the
international test bed for SCM
solutions, the Trading Agent
SCM competition, as well as some
experimental results.
A multi-agent design is used in
the architecture, because we
believe
it
facilitates
the
development of modular entities
that are distributed and reusable.
The design was also used to
implement an agent entry for the
Trading Agent Competition. This
system competed against 32
entries, and was able to classify to
the quarter-finals of the 2005
competition.
Agent-based
modeling
and
simulation (ABMS) is a new
approach to modeling systems
comprised
of
interacting
autonomous
agents.
ABMS
promises to have far-reaching
effects on the way that businesses
use
computers
to
support
decision-making.
Computational advances make
possible a growing number of
agent-based applications across

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

many fields. Applications range
from modeling agent behavior in
the stock market and supply
chains

10.

11.

New
Multi
Attributes
Procurement
Auction
for
AgentBased
Supply
Chain
Formation

In this article, this constraint has
been relaxed and a new
procurement auction is defined. In
this auction, seller agents can take
different strategies based on their
risk attribute. These strategies is
analyzed
and
compared
mathematically.

Rasoul Karimi,
Caro Lucas and
Behzad Moshiri

Authors define a new MAPA
which is usable under the new
model of supply chain. In this
MAPA, the producer could have
two different strategies based on
its risk attribute. These two
strategies
are
compared
mathematically and also in a
simulation.
The research approach followed is
presented. The results achieved so
far along with the plans for future
work are given next.

Multi-Agent
Decision
Support System
for
Supply
Chain
Management
Yevgeniya
Kovalchuk

12.

Double-agent
Architecture for
Collaborative
Supply
Chain
Formation
Yang Hang and
Simon Fong

13,

Essentials
for
Information
Coordination in
Supply
Chain

Various techniques for predicting
bidding prices in the context of
dynamic
competitive
environments are explored. Apart
from the SCM, the solutions can
be used in forecasting financial
markets and participating in online auctions.
The model is supported by
double-agent architecture with
each type of agents who makes
provisional plans of order
distribution by Pareto optimality
and JIT coordination respectively
As
a
result,
pipelining
manufacturing flow is achieved.
This is significant to dynamic
supply chain formation as it can
help to optimize constraints and
costs
across
production,
distribution,
inventory,
and
transportation.
Provide a review of coordination
of operational information in
supply chain which is classified
into information types, their

203

Systems

impact
on
supply
chain
performance, and the policy of
information sharing

Qing Zhang and
Wuhan

14.

Effects of Trust
Mechanisms on
Supply
Chain
Performance
Using
Multiagent Simulation
and Analysis
Fu-ren Lin ,Yuwei Song and
Yi-peng Lo

15.

A
Multiagent
Conceptualizatio
n For SupplyChain
Management
Vivek kumar ,
Amit
Kumar
Goel , Prof.
S.Srinivisan

16.

An
integrated
fuzzy-lp
approach for a
supplier
selection
problem
in
supply
chain
management
Ali Fuat Guneri,

Multi-agent
computational
environments are suitable for
studying classes of coordination
issues
involving
multiple
autonomous or semi-autonomous
optimizing
agents
where
knowledge is distributed and
agents communicate through
messages.
The multiagent simulation system
Swarm is employed to simulate
and analyze the buyer–seller
correlation in sharing information
among business partners in supply
chains
The deeper the information
sharing level, the higher in-time
order fulfillment rate and the
shorter order cycle time, as
information sharing may reduce
the demand uncertainty that firms
normally encounter. Finally, firms
that share information between
trading partners tend to transact
with a reduced set of suppliers.
Paper present solution for the
construction,
architecture,
coordination and designing of
agents. This paper integrates
bilateral
negotiation,
Order
monitoring system and Production
Planning
and
Scheduling
multiagent System.
The wide adoption of the Internet
as an open environment and the
increasing popularity of machine
independent
programming
languages, such as Java, make the
widespread adoption of multiagent technology a feasible goal
A hierarchy multiple model based
on fuzzy set theory is expressed
and fuzzy positive and negative
ideal solutions are used to find
each
supplier’s
closeness
coefficient. Finally, a linear
programming model based on the
coefficients of suppliers, buyer’s
budgeting, suppliers’ quality and
capacity constraints is developed
and order quantities assigned to

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

Atakan Yucel ,
Gokhan
Ayyildiz

17.

18.

Malaca:
A
component and
aspect-oriented
agent
architecture”
Information and
Software
Technology
Mercedes Amor
*, Lidia Fuentes
A
material
supplier
selection model
for
property
developers using
Fuzzy Principal
Component
Analysis”
Automation in
Construction
Ka-Chi Lam ,
Ran Tao, Mike
Chun-Kit Lam

each supplier according to the
linear programming model.
Fuzzy set theory approach helps
to convert decision-makers’
experience to meaningful results
by applying linguistic values to
assess
each
criterion
and
alternative suppliers.
An agent architecture that
combines the use of Componentbased Software Engineering and
Aspect-Oriented
Software
Development
Provided explicit support for the
design and configuration of agent
architectures and allows the
development
of
agent-based
software
Tthe Triangular Fuzzy Numbers is
used to quantify the decision
makers' subjective judgments.
Second, PCA is employed to
compress the data of the selection
criteria and eliminating the
multicollinearity among them.
The model can efficiently
eliminate the multicollinearity
among the supplier's attributes
and help to reduce the trade-offs
and repeatability errors in the
selection process.and the proposed
selection model can also reduce
the subjective errors on the sense
that the weight assigned for each ζ
is generated automatically.

3. Conclusion
Multi-agent system is a loosely coupled network of
software agents that interact to solve problems that are
beyond the individual capacities or knowledge of each
problem solver. The general goal of MAS is to create
systems that interconnect separately developed agentsThus
enabling the ensemble to function beyond the capabilities
of any singular agent in the set-up in agent model. This
research can demonstrate that agent technology is suitable
to solve communication concerns for a distributed
environment. Multi-agent systems try to solve the entire
problem by collaboration with each other and result in
preferable answer for complex problems. For further
works, it is recommended for developing this model to
have multi retailer and even multi distributor and apply the
auction mechanism between them.

204

References
[1] Ali Fuat Guneri, Atakan Yucel , Gokhan Ayyildiz “An
integrated fuzzy-lp approach for a supplier selection problem in
supply chain management” Expert Systems with Applications 36
(2009) 9223–9228
[2] C. Iglesias, M. Garijo, J. Centeno-Gonzalez, and V. J. R.,
"Analysis and Design of Multiagent Systems using MASCommonKADS," presented at Agent Theories, Architectures,
and Languages, 1998.
[3] Charles M. Macal and Michael J. North Tutorial on AgentBased Modeling And Simulation Part 2: How to Model With
Agents Proceedings of the 2006 Winter Simulation Conference
[4] Fu-ren Lin, Sheng-hsiu Huang, and Sheng-cheng Lin ,
“Effects of Information Sharing on Supply Chain Performance in
Electronic Commerce“ ,IEEE Transactions On Engineering
Management, Vol. 49, No. 3, August 2002.
[5] Fu-ren Lin ,Yu-wei Song and Yi-peng Lo ,”Effects of Trust
Mechanisms on Supply Chain Performance Using Multi-agent
Simulation and Analysis” , Proccding of the First Workshop on
Knowledge Economy and Electronic Commerce.
[6] José Alberto R. P. Sardinha1, Marco S. Molinaro2, Patrick
M. Paranhos2, Pedro M. Cunha2,Ruy L. Milidiú2, Carlos J. P. de
Lucena2 , “A Multi-Agent Architecture for a Dynamic Supply
Chain Management” , American Association for Artificial
Intelligence ,2006.
[7] Ka-Chi Lam , Ran Tao, Mike Chun-Kit Lam “A material
supplier selection model for property developers using Fuzzy
Principal Component Analysis” Automation in Construction 19
(2010) 608–618
[8] Mario Verdicchio and Marco Colombetti ,” Commitments for
Agent-Based Supply Chain Management” , ACM SIGecom
Exchanges, Vol. 3, No. 1, 2002.
[9] Mercedes Amor *, Lidia Fuentes “Malaca: A component and
aspect-oriented agent architecture” Information and Software
Technology 51 (2009) 1052–1065
[10] MihaelaUlieru, Senior Member, IEEE, and MirceaCobzaru ,
“BuildingHolonic Supply Chain Management Systems: An eLogistics Application for the Telephone Manufacturing Industry”
IEEE transactions on industrial informatics, vol. 1, no. 1,
February 2005.
[11] Onn Shehory and Arnon Sturm , “Evaluation of Modeling
Techniques for Agent-Based Systems” , AGENTS’01, February
11-13, 2001, Montréal, Quebec, Canada.
[12] Qing Zhang and Wuhan, “Essentials for Information
Coordination in Supply Chain Systems”, Asian Social Science
Vol. 4, No. 10 ,Oct 2008

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

[13] Rasoul Karimi, Caro Lucas and Behzad Moshiri ,” New
Multi Attributes Procurement Auction for Agent- Based Supply
Chain Formation” ,IJCSNS International Journal of Computer
Science and Network Security, VOL.7 No.4, April 2007.
[14] Robert de Souza and Heng Poh Khong , “supply Chain
Models in Hard Disk Drive Manufacturing” , lEEE ON
Magnetics. VOL 35. No 1. March 1999
[15] Rui Carvalho, Luís Custódio , “A Multiagent Systems
Approach for Managing Supply-Chain Problems: new tools and
results “ , Inteligencia Artificial V. 9, No 25, 2005.
[16] Vivek kumar , Amit Kumar Goel , Prof. S.Srinivisan, “A
Multiagent Conceptulization For Supply-Chain Management”,
Ubiquitous Computing and Communication Journal, Vol 4, No. 5
, 2009
[17] William E. Walsh and Michael P. Wellman,” Modling
supply chain Formation in Multiagent System” , Artificial
Intelligence, vol 1788: Agent Mediated Electronic Commerce
II,Springer-Verlag, 2000
[18] Yevgeniya Kovalchuk , “Multi-Agent Decision Support
System for Supply Chain Management” 10th Int. Conf. on
Electronic Commerce (ICEC) ’08 Innsbruck, Austria.
[19] Yang Hang and Simon Fong , “Double-agent Architecture
for Collaborative Supply Chain Formation” , Proceedings of
iiWAS2008.

205

Mr. Vivek Kumar has completed his M.Phil (Computer
Science) in 2009. Apart from this, he did M.Tech. (Computer
Science, 2005) & MIT in 2001. He has 10 years of teaching
experience in various engineering Colleges. Presently he is
working as faculty in Gurgaon Institute of Technology and
Management, Gurgaon, Haryana, India. Under the guidance of
Dr. Srinivasan, he is pursuing Ph.D. from Department of
Computer Science and Engineering, S. Gyan Vihar University,
Jaipur, India
He has published one international & two national (Conference
Proceeding) papers on Supply Chain Management through
Multi-Agent System.
Dr S Srinivasan obtained his M.Sc (1971), M.Phil(1973) and
Ph.D. (1979) from Madurai University . He served as Lecturer
for 7 years in National Institute of Tehnology in the Computer
Applications Department . Later he joined Industry as IT Head
for 18 years . Again he started his teaching career serving as
Professor and Head of the Department of Computer Science,
PDM College of Engineering , Haryana, India. He has published
several papers in Multi-Agent Technology Systems and its
applications . He is member of Computer Society of India.
Attended various national and international seminars and
conferences and presented papers on Artificial Intelligence and
Multi-Agent Technology.

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

206

Development of Ontology for Smart Hospital and
Implementation using UML and RDF
Sanjay Anand1, Akshat Verma2
1

Noida, UP-201301, India

2

Centre for Development of Advanced Computing (C-DAC)
Noida, U.P 201301, India

Abstract
Patient’s information is an important component of the
patient privacy in any health care system that is based on
the overall quality of each patient in the health care
system. The main commitment for any health care system
is to improve the quality of the patient and privacy of
patient’s information.
There are many organizational units or departments in the
hospital, from which, it is necessary for them that there
should be good coordination in each others. Even the
available health care automation software also does not
provide such coordination among them. These softwares
are limited up to the hospital works but do not provide the
interconnectivity with other hospitals and blood banks etc.
Thus, these hospitals cannot share information in-spite of
the good facilities and services.
Today, there is a need of such computer environment
where treatment to patients can be given on the basis of
his/her previous medical history at the time of emergency
at any time, on any place and anywhere. Pervasive and
ubiquitous environment and Semantic Web can bring the
boon in this field. For this it is needed to develop the
ubiquitous health care computing environment using the
Semantic Web with traditional hospital environment. This
paper is based on the ubiquitous and pervasive computing
environment and semantic web, in which these problems
has been tried to remove so that hospital may be smart
hospital in the near future. This paper is the effort to
develop the knowledge-base ontological description for
smart hospital.
Keywords: Ontology, Smart Hospital, knowledge-base,
Pervasive and ubiquitous, Semantic Web, RDF.

1. Introduction
Many change and many of the developments in Health
care environment for the last decade are due to new
technologies such as mobile and wireless computing. On
the one hand where the main aim of hospital is to provide
the better services and facilities to the patient, on the other,
his/her proper care makes success to the hospital. Along
with this, hospital also adds many new facilities and
services with existing facilities and services in one place
for their patient. Having all facilities and services to the
same place, hospitals system is not able to provide
sufficient care to the patient at any place and at any time.
The major problems with the health care environments are
related to the information flow and storage of the patient’s
data and other entities of the health care system. These
problems are further categorized below

One problem is associated when there is information
gap among the medical professionals, users/patients
and various data source.



Another problem is that in which there is a need to
present and organize the information flowed among
the hospital members and other entities so that
information can be accessed at any time and any
place.



Other problem related to the various types of data
used and no common format for holding it in a
common way.

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

2. Concept of Ontology
There are being much development in the ontology
[4][7][9] process for the last decade and many good
thinkers gave its meaning and its various definitions. It is a
set of primitive concepts that can use for representing a
whole domain or part of it that defines a set of objects,
relations between them and subsets of those in the
respective domain. It is also a man-made framework that
supports the modeling process of a domain in such a way a
collection of terms and their semantic interpretation is
provided.
In artificial intelligence [11] the term -Ontology is an
explicit specification of a conceptualization, where
ontology defines:

207



It provides a beneficial strategy for the better
education and training simulation among the health
care professionals.



It ensures the higher levels of competence, confidence
and critical thinking skills.



It helps to manage the complex and changing health
care system.



It also supports the faculty for developing and
evaluating new educational models, modalities, and
teaching-learning strategies at no risk to patients.

 It also helps to integrate the better combination of
ICT technologies, product and services.



a vocabulary - the set of terms used for modeling.

4. Ontology for Smart Hospital (SH)



a structure of the statements in the model.



the semantic interpretation of these terms.

The upper-level of ontology for the health care system is
major component where end user interacts with it and the
information encompasses a conceptual component i.e.
information that plays a role in hospital care outcomes,
including errors and difficulties. To deal with the events,
Deployment of SH in a particular hospital setting will
involve developing the middleware to relate the
ontological knowledge base [8] with existing information
systems and by creating instances of ontological categories
that is based on the information in the hospital databases.

Ontologies have become ubiquitous [1] in information
systems. They constitute the Semantic Web’s [2] [3]
backbones, facilitate e-commerce, and serve such diverse
application fields as bioinformatics and medicine.
Many times the meaning of word ‘Ontology’ is taken as a
branch of philosophy that is the science of what is, of the
kinds and structures of objects, properties, events,
processes and relations in every area of reality.

The following Figure-1 illustrates the part of the top/upper
level of the SH ontology.

Sometimes, it is used as a synonym of ‘metaphysics’ and
having broader sense which refers to the study of what
might exist and which of the various alternative possible
ontologies is in fact true of reality.
In simple term, the Ontology can be defined as a collection
of Classes, Sub-classes and makes the relationship among
them.

3. Smart Hospital
The smart hospital [14] is a type of hospital that is able to
share the domain’s knowledge with same or other’s
domain and fulfill the requirement of the ubiquitous and
pervasive computing [5] environment.
The smart hospital offers a number of advantages Fig. 1 Top/Upper level of the SH ontology

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

In the above figure the components are events, actions,
person, policies, alerts etc. For example, in the SHO
different type of objects are taken such as- agents,
policies, record, drugs, place and equipment etc. further,
agent is categorized in many different type of agents type
such as- person, insurance company and hospital also. So,
this ontology is able to describe which action and event is
performed in what time and what place. This is also useful
to alert the different type of domain time to time with
different type of alters such as-medical condition alert,
medical conflict alert, regulation action and regulatory
conflict alert.
The major benefits of ontology in health care environment
are 

To find out the common understanding of the
structure of information among hospital entities or
software agents and share it.



Domain knowledge can be reuse.



Domain assumptions can be made explicit.



To separate domain knowledge from the operational
knowledge



To analyze domain knowledge

The process in iterative design is likely to be continued
through the entire lifecycle of the ontology. Based on the
various literature survey, the proposed steps for the
processing of developing ontology are-

5.1 Finding the domain and scope of the
ontology
The first step of the development of ontology is to
determine and define its domain and scope. During the
determination and definition of it, we must have to
consider the following question so that we could be able to
easily determine it:
-What is the domain that the ontology will cover?
-For what we are going to use the ontology?
-For what types of questions the information in the
ontology should provide answers?
-Who will use and maintain the ontology?
The answers to these questions may change during the
ontology-design process, but at any given time they help
limit the scope of the model.

5.2 Consider reusing existing ontology

Often ontology of the domain is not a goal in itself.
Developing ontology is to defining a set of data and their
structure for other programs to use. Problem-solving
methods, domain-independent applications, and software
agents use ontologies and knowledge bases built from
ontologies as data. For example, we develop ontology of
patient, doctor and nurse and appropriate combinations of
patient with doctor and nurse.

5. Methods and Approach
The
basic
approach
used
to
develop
the
ontology/knowledge base is the iterative approach that is
used to identify the various super classes and sub classes
and its properties which is based on the simple
knowledge/ontology engineering [10] methodology.
This methodology is described
Engineering Methodology

208

The second step is to consider about the existing
ontology. The benefit of considering the existing ontology
is that what someone else has done and checking if we can
refine and extend existing sources for our particular
domain and task. Reusing existing ontology may be a
requirement if our system needs to interact with other
applications that have already committed to particular
ontology or controlled vocabularies.

5.3 Enumerate important terms in the
ontology-preparing vocabulary
The third step is to write down a list of all terms that are
used in the system. We need to enumerate its all properties
that the concepts may have, or whether the concepts are
classes or slots.

below-Knowledge

No specified methods or approaches are still developed for
the development of ontology. Proposed methodology
depends on an iterative approach to ontology
development. All the steps are revised and refined in the
process of iterative approach to evolve the ontology.

5.4 Define the classes and the class hierarchy
The forth step is to define the classes and its hierarchies.
There are several possible approaches to develop a class
hierarchy. These are

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





209

A top-down development process starts with the
definition of the most general concepts in the domain
and subsequent specialization of the concepts.



A bottom-up development process starts with the
definition of the most specific classes, the leaves of
the hierarchy, with subsequent grouping of these
classes into more general concepts.

UML provides the graphical representation of
visualization, specifying, constructing and documenting
the artifacts. Following figure-2 shows the use case
diagram for patient treatment-

Filling in the slot values.

7. UML Diagram for Smart Hospital

 A mix development process is a combination of the
top-down and bottom-up approaches. Here, it is
defined the more salient concepts first and then
generalize and specialize them appropriately.

5.5 Define the properties of classes—slots
The fifth step is to define the properties of the class that is
called the slots. Once we have defined some of the classes,
we must describe the internal structure of concepts. For
each property in the list, we must determine which class it
describes. These properties become slots attached to
classes. In general, there are several types of object
properties that can become slots in ontology.

5.6 Define the facets of the slots
The sixth step is to define the facets of the slots. Slots can
have different facets which describe the value type,
allowed values, the number of the values (cardinality), and
other features of the values the slot can take.

Fig. 2 Use-case diagram
Class diagrams for Smart Hospital are given below-

5.6.1 Slot cardinality
Slot cardinality defines how many values a slot can have.
Some systems may have single cardinality (allows at most
one value) and some may have multiple cardinality
(allows any number of values).

Guardian
name
address

Patient

MedicalHistory

responsibleFor name
1

*

1

address
patientnumber

insurance
dateRange

5.6.2 Slot-value type
A value-type facet describes what types of values can fill
in the slot. Most common value types are String, Number,
Boolean, Enumerated and Instance

*

Outpatient

Inpatient

TreatmentInstance
date
medications
procedures

6. Create instances
The last step is to create the individual instances of classes
in the hierarchy. Defining an individual instance of a class
requires 

Choose a class,



Create an individual instance of that class, and

Fig. 3(a) Class diagram for patient record
Following Figure 3(b) shows the Class diagram for patient
Treatment-

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

Guardian

1

responsibleFor

name
address

*

Patient

MedicalGroup
Employee

name
address
*
patient number

name
main location

name
*
Employee no.
address

assignedTo

worksAt
*

Hospital
1…*

Outpatient

Inpatient
1...2

*

primary

*

1

Nurse
specialty

*

assignedTo

MedicalHistory

*

Building
*

name
location

consulting

insurance

1

Doctor
specialty

name
address

210

SPARQL is both a query language and a data access
protocol which retrieves the data about the domain
through the data which is stored in RDF (Resource
Description Framework). A query language and data
access protocol for the Semantic Web. It is defined in
terms of the W3C's RDF data model and will work for any
data source that can be mapped into RDF. Syntactically, it
has probably been the most popular and widely
implemented. This is perhaps surprising given the very
different models that lurk behind relational databases.
Using the Protégé tool, click on the Open SPARQL Query
panel... menu item. This will open a panel at the bottom of
the screen in the Snapshot-

*

Location

assignedTo

assignedTo

*

TreatmentInstance

number
size
1

assignedTo

medications
procedures

Fig. 3(b) Class

diagram for patient Treatment

Following figure- 3(c) shows the Class diagram for Asset
Assignment MedicalGroup

Patient

name
main location

* assignedTo

name
address
patient number

*

Employee

Outpatient

name
ss number
address

Inpatient

Hospital
worksAt

name
address
1…*

*

*
*

*

*

Building

primary

assignedTo

name
location

*

Doctor
Specialty

consulting

*

*

assignedTo

Nurse
Specialty
*

Location
*

assignedTo* identifier

characteristics
size

assignedTo

*

Fig. 3(c) Class diagram for Asset Assignment

8. Implementation
For querying, SPARQL is used, a W3C recommendation
towards a standard query language for the Semantic Web.
It is focus on querying RDF graphs at the triple level. It
can be used to query an RDF Schema to filter out
individuals with specific characteristics.

In the Query panel on the left, we can enter our query in
the SPARQL syntax, press the Execute Query button and
the query results will be shown on the right-hand side. In
the snapshot above, the query selects the patient ID (pid),
patient name (pname), Allotted ward name, Ward Type,
Ward No and Bed No. of all the patient in the SH
ontology-ward table.

9. Conclusion
9.1

Result Discussion

RDF is an open standard for the digital storage which is
based on XML [6]. XML files are human readable by
design, but this feature is not always desirable for security
reasons.
An interesting effort is the use of UML has the ability to
present a modeling visualization of data process flow.

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

211

This paper uses the RDF and use the RDF based query and
database as a background. RDF query is simple then other
database query. The reason behind of this is-

[2]

Berners-Lee, Tim, James Hendler, & Ora Lassila
(2001)"The Semantic Web," Scientific American, May
2001.



Supporting a graph oriented API via a textual query
language ala SQL.

[3]



Load/Reload an RDF file from a URL into the
database.

Horrocks, I.; Patel-Schneider, P. F.; and van Harmelen,
F.2002. Reviewing the design of DAML+OIL: An
ontology language for the semantic web. In Proc. of the
18th Nat. Conf. on Artificial Intelligence (AAAI 2002).

[4]

Grainger, M.; Lee, J.: Ontology – Applications and
Design. Communications of the ACM, Vol. 45, No. 2,
February 2002.

[5]

Weiser, M. 1993b. “Ubiquitous Computing”. IEEE
Computer, 26(10):71--72.

[6]

Erdmann, M. and Studer, R. (1999) "Ontology as
conceptual models for XML documents". In
Proceedings of the 12th Workshop on Knowledge
Acquisition, Modeling and Management (KAW'99).
Knowledge Science Institute, University of Calgary
http://sern.ucalgary.ca/KSI/KAW/KAW99/papers/Erdm
ann1/erdmann.pdf.

[7]

Dean, M.; Schreiber, G.; Bechhofer, S.; van Harmelen,
F.; Hendler, J.; Horrocks, I.; McGuinness, D. L.; PatelSchneider, P. F.; and Stein, L. A. 2004. OWL web
ontology language reference. W3C Recommendation.
http://www.w3.org/TR/owl-ref/.

[8]

Alani, H., Kim, S., Millard, D. E., Weal, M. J., Hall, W.,
Lewis, P. H., and Shadbolt, N.R., 2003, “Automatic
Ontology-Based Knowledge Extraction from Web
Documents”, IEEE Intelligent Systems, Vol. 10, No 1,
pp.14-21.

[9]

Guided Tour of Ontology; John F.
http://www.jfsowa.com/ontology/guided.htm.



Scalable to millions of nodes and triples.



Provide support for RDF Schemas.



Provide support for some basic forms of inference.

The RDF database stores the data in the form of object
property and data type of the instance. It is a simple,
scalable, open-source and object oriented database which
keeps it to separate from the other database. That is the
reason that it has been used in semantic web and web 2.0
which is the extension of running web.
Furthermore, the implementation of the patient ontology
and its other related entities provides an explicit
representation of the semantic and lexical connections that
exist between information carried. A mapping mechanism
facilitates the unified querying and presentation of
information originating in medical Record. This system
would be a filtered display of query results, presenting a
merged view of valid and consistent information.
Furthermore some meta-analysis of the results will help
the user reason over the imposed queries.

Future Directions
This paper is basically using the semantic technology
using the open standard- RDF and XML. Semantic web is
the technology which is the extension of web where the
research on this is going on. Actually, the different storage
stores the different type of data on the web which
increases the heavy load on the network. This project is
the effort, based on the RDF as a background database
which saves our time and space and near future this
technology and improvement on this project may be
possible which bring the boon in the health care
environment.

References
[1]

Bardram, J.E. and Christensen, H.B., 2007, “Pervasive
Computing Support for Hospitals: An overview of the
Activity-Based Computing Project,” IEEE Pervasive
Computing, Vol. 16, No. 1, pp. 44-51.

Sowa,

[10] F. Gandon, Ontology Engineering: a survey and a return
on experience, Research Report of INRIA n°4396,
France, March 2002.
[11] AI Watch - The Newsletter of Artificial Intelligence.
Vol. 4-6. AI Intelligence, Oxford, UK.
[12] M. Uschold and Gruninger M. Ontologies: Principles,
methods and applications. Knowledge Engineering
Review, Vol. 11:2, 93-136, 1996. Also available as
AIAI-TR-191 from AIAI, the University of Edinburgh.
[13] Bruno Bachimont "Modélisation linguistique et
modélisation logique des ontologies: l'apport de l'ontologie
formelle." In Proceedings of IC 2001, pp 349-368 Plateforme AFIA, Grenoble 25-28 juin 2001.
[14] Press Release - The Smart Hospital at The University of
Texas at Arlington School of Nursing becomes a Laerdal

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

Center of Excellence in Simulation. Available athttp://www.uta.edu/nursing/simulation/pr-laerdal.pdf.

Sanjay Kumar Anand is a researcher and computer engineer. He
has done the M.Tech in Information Technology from GGSIP
University, Delhi. He has published one international and one
national paper in conference. Currently, he is a reviewer of IJSCI
and member of International association of Engineers. His
research areas are Data communication and computer Network,
Network Security, Software engineering, Database Management
System and open source technology.
Akshat Verma is a researcher and a Freelancer Software
Programmer. He has completed his M.TECH in Information
Technology from C-DAC (Centre for Development for Advanced
Computing), Noida, India and B.E in Computer Science and
Engineering from Rajasthan University, Jaipur, India. His research
interests are Steganography, Multimedia and Images, Network
Security, Ontology, Cryptography and is working on
Steganography in Images and audio/ video compression.

212

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

213

Survey: Image Encryption Using Salsa20
Alireza Jolfaei1 and Abdolrasoul Mirghadri2
1

Faculty and Research Center of Communication and Information Technology, IHU
Tehran, Iran

2

Faculty and Research Center of Communication and Information Technology, IHU
Tehran, Iran

Abstract
In present times, multimedia protection is becoming increasingly
jeopardized. Therefore numerous ways of protecting information
are being utilized by individuals, businesses, and governments.
In this paper, we survey Salsa20 as a method for protecting the
distribution of digital images in an efficient and secure way. So,
we performed a series of tests and some comparisons to justify
salsa20 efficiency for image encryption. These tests included
visual testing, key space analysis, histogram analysis,
information entropy, encryption quality, correlation analysis,
differential analysis, sensitivity analysis and performance
analysis. Simulation experiment has validated the effectiveness
of the Salsa20 scheme for image encryption.
Keywords: Salsa20, image encryption, test, comparison.

1. Introduction
Along with the fast progression of data exchange in
electronic way, it is important to protect the confidentiality
of image data from unauthorized access. Security breaches
may affect user's privacy and reputation. So, data
encryption is widely used to confirm security in open
networks such as the internet. Due to the substantial
increase in digital data transmission via public channels,
the security of digital images has become more prominent
and attracted much attention in the digital world today.
The extension of multimedia technology in our society has
promoted digital images to play a more significant role
than the traditional texts, which demand serious protection
of users' privacy for all applications. Each type of data has
its own features; therefore, different techniques should be
used to protect confidential image data from unauthorized
access. Most of the available encryption algorithms are
used for text data. However, due to large data size and real
time requirement, it is not reasonable to use traditional
encryption methods.
Thus, a major recent trend is to minimize the
computational requirements for secure multimedia

distribution. Many researchers proposed different image
encryption schemes to overcome image encryption
problems [1, 2, 3, 4]. A classification of the proposed
schemes from the open literature is given in [5]. In this
paper, we survey the application of Salsa20 for image
encryption. Salsa20 has an interesting blocky structure that
seems to be a good choice for image encryption. A series
of tests were applied to justify Salsa20's efficiency for the
visual encryption applications.
The rest of the paper is organized as follows: In Section 2,
first we describe symmetric ciphers then we briefly
overview Salsa20 as a symmetric scheme for image
encryption. In Section 3, we analyze the security of the
surveyed cryptosystem and evaluate its performance
through various statistical analysis, key sensitivity
analysis, differential analysis, key space analysis, speed
analysis, etc and compare the results. Finally, some
conclusions are given in section 4.

2. Symmetric Cryptography
Symmetric encryption is the oldest branch in the field of
cryptology, and is still one of the most important ones
today. Symmetric cryptosystems rely on a shared secret
between communicating parties. This secret is used both
as an encryption key and as a decryption key. Generally,
symmetric encryption systems with secure key are divided
into two classes: stream ciphers and block ciphers. Stream
ciphers encrypt individual characters of a plaintext
message, using a time variant encryption function, as
opposed to block ciphers that encrypt groups of characters
of a plaintext message using a fixed encryption function
[6]. Nowadays, the boundaries between block ciphers and
stream ciphers are becoming blurred. So, it is difficult to
tell whether a symmetric cipher is a stream or block cipher.
Stream ciphers are beyond the most important encryption
systems which have major applications in military,

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

strategic sectors and etc. They are generally faster than
block ciphers in hardware, and have less complex
hardware circuitry. They are also more appropriate when
buffering is limited or when characters must be
individually processed as they are received. Stream
ciphers may also be advantageous in situations where
transmission errors are highly probable, because they have
limited or no error propagation.

2.1 Salsa20
As a response to the lack of efficient and secure stream
ciphers, ECRYPT manages and coordinates a multiyear
effort called eSTREAM to identify new stream ciphers
suitable for widespread adoption. Salsa20, one of the

214

eSTREAM candidates, is a new synchronous stream
cipher proposed by Bernstein [7]. The author justified the
use of very simple operations (addition, XOR, constantdistance rotation) and the lack of multiplication or Sboxes. This helps to develop a very fast primitive that is
also, by construction, immune to timing attacks. Salsa20
passed to Phase 3 without major known attacks. The Core
of Salsa20 is a hash function with 64-byte input and 64byte output. The Hash function is used in counter mode as
a stream cipher: Salsa20 encrypts a 64-byte block of
plaintext by hashing the key, nonce, and block number and
XOR-ing the result with the plaintext [8]. Salsa20/r
algorithm is defined as follows [9]:

y0 
 x 0   y 1  x 1  ((x 0  x 3 )  7)
 
  
y
 1   quarterround  x 1    y 2  x 2  (( y 1  x 0 )  9) 
y2 
 x 2   y 3  x 3  (( y 2  y 1 )  13)
 
  
 y3 
 x 3   y 0  x 0  (( y 3  y 2 )  18)



Rowround Operations

 x0

 x4
 x8

 x 12

x1

x2

x5

x6

x9

x 10

x 13

x 14

x1

x2

x5
x9
x 13

x6
x 10
x 14

x 3  ( y 0 , y 1 , y 2 , y 3 )  quarterround (x 0 , x 1 , x 2 , x 3 )
 
x 7  ( y 5 , y 6 , y 7 , y 4 )  quarterround (x 5 , x 6 , x 7 , x 4 )


x 11  ( y 10 , y 11 , y 8 , y 9 )  quarterround (x 10 , x 11 , x 8 , x 9 )

x 15  ( y 15 , y 12 , y 13 , y 14 )  quarterround (x 15 , x 12 , x 13 , x 14 )



Columnround Operations

 x0

 x4
 x8

 x 12

x 3  ( y 0 , y 4 , y 8 , y 12 )  quarterround (x 0 , x 4 , x 8 , x 12 )
 
x 7  ( y 5 , y 9 , y 13 , y 1 )  quarterround (x 5 , x 9 , x 13 , x 1 )


x 11  ( y 10 , y 14 , y 2 , y 6 )  quarterround (x 10 , x 14 , x 2 , x 6 )

x 15  ( y 15 , y 3 , y 7 , y 11 )  quarterround (x 15 , x 3 , x 7 , x 11 )

Salsa 20(x )  x  (rowround (columnround (x )))R , 

where R is the number of double rounds and r is number
of ciphering rounds (r  2R ). Bernstein proposed three
variants of the Salsa20 stream cipher: Salsa20/20, which
has 20 ciphering rounds; Salsa20/12, which is Salsa20
reduced from 20 rounds to 12 rounds; and Salsa20/8,
which is Salsa20 reduced from 20 rounds to 8 rounds.
Image matrix is a binary sequence of 8×H×W length,
where H is number of rows and W is number of columns.
Salsa20 algorithm generates a set of pseudo-random 64byte stream known as keystream, equal length to image
matrix size. Then each 64-byte block is XOR-ed with its
corresponding 64-byte block in the plain-image as
follows:
Plain  image (i )  Keystream (i )  Cipher image (i ) (1)
where, i  {0,1, 2,..., 264  1}. This procedure is shown in
Fig. 1. For decryption, cipher-image is XOR-ed with
keystream. The Salsa20 key is a uniform random sequence





of bytes, and the same nonce is never used for two
different messages.

Fig. 1. Salsa20 image encryption scheme procedure is demonstrated.
Each 8×8 block (64-byte) of keystream is XOR-ed with its corresponding
8×8 block of plain-image to produce cipher-image.

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

3. Security and Performance Analysis
A fundamental issue of all kinds of ciphers is the security.
A strong cipher is capable of resisting any kind of
cryptanalytic attacks including brute-force attack,
statistical attack, known plain text attack and chosenplaintext attack. Thus, a cipher of high key and plaintext
sensitivity with a large key space is desirable. Besides,
computational speed, size and quality of encrypted images
are other important issues as well since they always
include the feasibility of encryption schemes. In this
section we performed a series of test to justify and
compare the efficiency of the cryptosystem under study.

3.1 Visual Testing
The algorithm is applied with a 256-level gray scale TIF
image of Lena that has the size of 256×256 and visual test
is performed. Fig. 2 demonstrates encryption result. The
original
image
is
encrypted
by
using
'0123456789abcdef0123456789abcdef' as secret key and
'0000000000000000' as IV.

(a)

(b)

215

images of Salsa20/8, Salsa20/12 and Salsa20/20, respectively. Figures
(d), (f) and (h) show cipher-image histograms of Salsa20/8, Salsa20/12
and Salsa20/20, respectively.

3.2 Key Space Analysis
It is well known that a large key space is very important
for an encryption algorithm to repel the brute-force attack.
Salsa20 uses the hash function in a counter mode. It has
512-bit state which is initialized by copying into it 128 or
256-bit key, 64-bit nonce and counter and 128-bit
constant.
Then
the
key
space
can
be

2(12864)  2192 6.3 1057 or 2(25664)  2320 2.11096 .
Apparently, the key space is large enough to resist all
kinds of brute-force attacks.

3.3 Histogram Analysis
To prevent the leakage of information to attackers, it is
important to ensure that encrypted and original images do
not have any statistical similarities. The histogram analysis
clarifies that, how the pixel values of image are
distributed. Fig. 2 shows histogram analysis on test image
using salsa20 algorithm. The histogram of original image
contains large sharp rises followed by sharp declines as
shown in Fig. 2(b). And the histograms of the encrypted
images as shown in Figs. 2(d), 2(f) and 2(h) have uniform
distribution which are significantly different from original
image and have no statistical similarity in appearance.
Therefore, the surveyed algorithm does not provide any
clue for statistical attack. The encrypted image histogram,
approximated by a uniform distribution, is quite different
from plain-image histogram. Relatively uniform

2 
(c)

(d)

(e)

(f)

256



k 1

(v k  256) 2
,
256

(5)

distribution in cipher-image histogram points out good
quality of method. Uniformity caused by salsa20/r hash
function is justified by the chi-square test [10] as follows:
where k is the number of gray levels (256), vk is the
observed occurrence frequencies of each gray level (0–
255), and the expected occurrence frequency of each gray
level is 256. With a significance level of 0.01, it is found
2
that for three variants of salsa20 test
  2 (255, 0.01) ,
implying that the null hypothesis is not rejected and the
distribution of the encrypted histogram is uniform.

3.4 Information Entropy
(g)

(h)

Fig. 2. Visual test result: Figures (a) and (b) depicts plain-image and
plain-image histogram, respectively. Figures (c), (e) and (g) show cipher-

H (m ) 

2 N 1

 i 0

P (m i ) log 2

1
,
P (m i )

(6)

Information theory is the mathematical theory of data
communication and storage founded in 1949 by Shannon
[11]. Information entropy is defined to express the degree
of uncertainties in the system. It is well known that the
entropy H (m) of a message source m can be calculated as:

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

216

where P ( m i ) represents the probability of symbol m i
and the entropy is expressed in bits. Let us suppose that
the source emits 28 symbols with equal probability, i.e.,
m  {m 1 , m 2 ,..., m 28 } . Truly random source entropy is
equal to 8. Actually, given that a practical information
source seldom generates random messages, in general its
entropy value is smaller than the ideal one. However,
when the messages are encrypted, their entropy should
ideally be 8. If the output of such a cipher emits symbols
with entropy less than 8, there exists certain degree of
predictability, which threatens its security. Let us consider
the cipher-images in Fig. 2, the number of occurrence of
each gray level is recorded and the probability of
occurrence is computed. The entropy is listed in table 1.
The value obtained is very close to the theoretical value of
8. This means that information leakage in the encryption
process is negligible and the encryption system is secure
upon the entropy attack.

255

EQ 

 | H L (C )  H L (P ) |

L 0

.

(7)

256
that Salsa20 achieves a better encryption quality in the 8th
ciphering round compared to the other variants.

Table 1: Entropy value of the cipher-images.

Salsa20/r

r=8
r = 12
r = 20

Entropy value
7.9969
7.9970
7.9971

3.5 Measurement of Encryption Quality
Plain-image pixels values change after image encryption
as compared to their original values before encryption.
Such change may be irregular. This means that the higher
the change in pixels values, the more effective will be the
image encryption and hence the encryption quality. So the
encryption quality may be expressed in terms of the total
changes in pixels values between the plain-image and the
cipher-image. A measure for encryption quality may be
expressed as the deviation between the original and
encrypted image [12, 13]. The quality of image encryption
may be determined as follows:
Let P and C denote the original image (plain-image) and
the encrypted image (cipher-image) respectively, each of
H×W
pixels
with
L
grey
levels.
size
P (x , y ),C ( x , y )  {0,..., L  1} are the grey levels of the
images P and C at position (x, y), 0  x  H 1 ,
0  y W  1 . We will define HL(P) as the number of
occurrence for each grey level L in the original image
(plain-image), and HL(C) as the number of occurrence for
each grey level L in the encrypted image (cipher-image).
The encryption quality represents the average number of
changes to each grey level L and it can be expressed
mathematically as:
We computed the encryption quality of three variants of
Salsa20 and depicted the results in Fig. 3. Fig. 3 shows

Fig. 3. Encryption quality of three variants of Salsa20. The test image is
Lena.

3.6 Correlation Analysis
There is a very good correlation among adjacent pixels in
the digital image [14]. Following Equations are used to
study the correlation between two adjacent pixels in
horizontal, vertical and diagonal orientations:
x and y are intensity values of two neighboring pixels in
the image and N is the number of adjacent pixels selected
Cov (x , y )

rxy 

D (x ) 

Cov (x , y ) 

1
N

1
N

D (x ) D ( y )
N




j 1

1
N

N

x j )2, 



1
N

j 1

(x j 

(8)

1
N

(x j 

N

,

N

x j )( y j 

j 1

(9)

j 1

N

y j ), 

(10)

j 1

from the image to calculate the correlation. 1000 pairs of
two adjacent pixels are selected randomly from image to
test correlation. Correlation test image is depicted in Fig.
2(a). Fig. 4 shows the correlation distribution of two
adjacent pixels in the plain-image and cipher-image. It is
observed that neighboring pixels in the plain-image are
correlated too much, while there is a little correlation
between neighboring pixels in the encrypted image.
Results for correlation coefficients of three variants of
Salsa20 are shown in table 2. It is not easy to compare the
results by simply observing them in the table. So, for a
better comparison, we computed the average of vertical,
horizontal and diagonal correlation coefficients in each
ciphering round and depicted the results in figure 5. With

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

217

respect to correlation analysis versus ciphering rounds, the
experimental results in Figs. 4 and 5 and table 2 show that
with the increment of ciphering round, the amount of
correlation between adjacent pixels changes. Also, results
show that Salsa20/12 dissipates the correlation between
pixels better than the other two variants of Salsa20.
Table 2: Correlation coefficients of two adjacent pixels in plain-image
and cipher-image using 3 variants of salsa20.

Correlation Coefficient Analysis
Adjacent Pixels Orientation
Image
Plain-image
Salsa20/8
Cipher-image
Salsa20/12
Cipher-image
Salsa20/20
Cipher-image
Correlation
Analysis

Vertical

Horizontal

Diagonal

0.9986

1.0000

0.9988

0.0383

0.0430

0.0117

0.0021

0.0348

0.0195

3.7 Differential Analysis

0.0030

0.0204

0.0653

In general, a desirable property for an encrypted image is
being sensitive to the small changes in plain-image (e.g.,
modifying only one pixel). Opponent can create a small
change in the input image to observe changes in the result.
By this method, the meaningful relationship between
original image and encrypted image can be found. If one
small change in the plain-image can cause a significant
change in the cipher-image, with respect to diffusion and
confusion, then the differential attack actually loses its
efficiency and becomes practically useless. Three common
measures were used for differential analysis: MAE, NPCR
and UACI [15, 16]. MAE is mean absolute error. NPCR
means the number of pixels change rate of ciphered image
while one pixel of plain-image is changed. UACI which is
the unified average changing intensity, measures the
average intensity of the differences between the plainimage and ciphered image.
Let C (i, j) and P (i, j) be the gray level of the pixels at the
ith row and jth column of an H×W cipher and plain-image,
respectively. The MAE between these two images is
defined in

Distribution of two Adjacent Pixels
Vertical

Horizontal

Diagonal

Plain-image

r=8

Salsa20/r r=12

r=20

Fig. 4. Correlation analysis and distribution of two adjacent pixels in the
cipher-image.

Fig. 5. Average of vertical, horizontal and diagonal correlation
coefficients in each ciphering round.

MAE 

1
W H

W

H

 | C (i , j )  P (i , j ) |. 

(11)

j 1 i 1

Consider two cipher-images, C1 and C2, whose
corresponding plain-images have only one pixel
difference. The NPCR of these two images is defined in
NPCR 

 i , j D (i , j ) 100%, 

W H
where D (i , j ) is defined as:

(12)

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

0, if C1 (i , j )  C 2 (i , j ),

D (i , j )  
(13)
1, if C1 (i , j )  C 2 (i , j ).

Another measure, UACI, is defined by the following
formula:
| C (i , j ) C 2 (i , j ) |
1
UACI 

[ 1
]100%.
(14)
i,j
255
W H

Tests have been performed on the Salsa20 encryption
scheme on a 256-level gray scale image of size 256×256
shown in Fig. 2(a). The MAE experiment result is shown
in table 3. It is illustrated that there is a slight fluctuation
between MAE of 3 variants of Salsa20. There is a slight
decrease in MAE as the number of rounds rises up. The
larger the MAE value, the better the encryption security.
The NPCR and UACI test results are shown in table 4.
Results obtained from NPCR show that the encryption
scheme's sensitivity to small changes in the input image is
under 0.01%. The UACI estimation result shows that the
rate influence due to one pixel change is very low. The
results demonstrate that a swiftly change in the original
image will result in a negligible change in the ciphered
image. Unfortunately, Salsa20 encryption scheme fails to
satisfy plaintext Sensitivity requirement. The reason lies in
Salsa20 mode of operation. Salsa20 hash function operates
in counter mode and does not mangle plaintext in a
complicated way like other ciphers.

218

with a slightly different key are quite different. To ease the
comparison, the percentage of different pixels between the
cipher-images under these two different key is listed in
table 5. Therefore, the image encryption scheme under
study is highly key sensitive.



(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

(j)

(k)

(l)

Table 3: A comparison between MAE of 3 variants of Salsa20.

Method
Salsa20/8
Salsa20/12
Salsa20/20

MAE
73.2289
73.0922
72.6794

Table 4: NPCR and UACI comparison of Salsa20.

NPCR

UACI

0.0015%

0.0006%

3.8 Sensitivity Analysis
An ideal image encryption procedure should be sensitive
with the secret key. It means that the change of a single bit
in the secret key should produce a completely different
cipher-image. For testing the key sensitivity of Salsa20
encryption scheme, the standard test image Lena
(256×256) is encrypted using the secret key "A =
0123456789abcdef0123456789abcdef" (in hexadecimal)
and a slightly modified secret key i.e. "B =
1123456789abcdef0123456789abcdef". Fig. 6 shows key
sensitivity test result. It is not easy to compare the
encrypted images by simply observing these images. So
for comparison, the cipher-images histograms are depicted
in Fig. 6. It can be observed that two encrypted images

Fig. 6. Key sensitivity test: cipher-images of Salsa 20/8, Salsa20/12 and
Salsa 20/20 using key A are depicted in (a), (b) and (c), respectively. The
histograms of Salsa20/8, Salsa20/12 and Salsa20/20 with key A are
depicted in (d), (e) and (f), respectively. cipher-images of Salsa 20/8,
Salsa 20/12 and Salsa20/20 using key B are depicted in (g), (h) and (i),
respectively. The histograms of Salsa20/8, Salsa20/12 and Salsa20/20
with key B are depicted in (j),(k) and (l), respectively.

Table 5: The percentage of different pixels between the cipher-images
under Key A and B.

Salsa20/8
99.59%

Percentage of Different Pixels
Salsa20/12
Salsa20/20
99.56%
99.59%

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

3.9 Performance Analysis
Apart from the security consideration, some other issues
on image encryption are also important. This includes the
encryption speed for real-time processes. In general,
encryption speed is highly dependent on the CPU
structure, memory size, OS platform, the programming
language and also on the compiler options. So, it is
pointless to compare the encryption speeds of two ciphers
without using the same developing environment and
optimization techniques. Despite of the mentioned
difficulty, in order to show the effectiveness of the
proposed image encryption scheme over existing
algorithms, we have undertaken an analysis for the explicit
comparison between the encryption speeds of three
variants of Salsa20. We evaluated the performance of
encryption schemes with an un-optimized MATLAB code.
Performance was measured on a machine with Intel core 2
Duo 2.00 GHz CPU with 2 Gbytes of RAM running on
Windows XP. The average time used for
encryption/decryption on 256 gray-scale images of size
256×256 for Salsa20/8, Salsa20/12 and Salsa20/20 is
respectively about 1.3, 1.7 and 2.6 s (decryption and
encryption speed are the same).

4. Conclusion
In this paper, a successfully efficient implementation of
Salsa20 scheme is introduced for digital image encryption.
The encryption system has different variants according to
number of ciphering rounds. Salsa20 has a large key space
that is resistant to all kinds of brute-force attacks.
Theoretical and experimental Research results showed that
the scheme has resistance to statistical attacks. The
uniformity was justified by the chi-square test. It is shown
that Salsa20 hash function generates uniform cipherimages. Information entropy test results indicate that the
cipher-image histogram distribution of the encryption
scheme is so even that the entropy measured is almost
equal to the ideal value. So, the surveyed encryption
system is secure upon the entropy attack. The measured
encryption quality showed that Salsa20/8 has a better
encryption quality than the other two variants. Correlation
analysis showed that correlation coefficients between
adjacent pixels in the plain-image are significantly
decreased after applying encryption function. Comparison
between correlation coefficients of different cipher rounds
showed that the least correlation occurs at the 12th round
of cipher. To quantify the difference between encrypted
image and corresponding plain-image, three measures
were used: MAE, NPCR and UACI.
The MAE
experiment result showed that Salsa20/8 has the biggest
MAE value among variants of Salsa20. Moreover, the
MAE value decreases as the number of rounds increases.

219

Unfortunately, differential analysis showed that Salsa20
encryption scheme fails to satisfy plaintext Sensitivity
requirement. The results demonstrate that a swiftly change
in the original image will result in a negligible change in
the ciphered image. According to sensitivity analysis, the
proposed encryption scheme is highly sensitive to the key;
a small change of the key will generate a complete
different decryption result and cannot get the correct plainimage. According to Performance analysis, Salsa20/8 is
faster than the other two variants. All parts of the
encryption system were simulated using MATLAB code.
According to latter discussions, it seems that Salsa20 can
be a good candidate for image encryption.
Acknowledgments

This
research
was
supported
by
the
Iran
Telecommunication Research Center (ITRC) under Grant
no. 18885/500.

References
[1] A. Akhshani, S. Behnia, A. Akhavan, H. Abu Hassan, and Z.
Hassan, “A Novel Scheme for Image Encryption Based on
2D Piecewise Chaotic Maps,” Optics Communications 283,
pp. 3259–3266, 2010.
[2] A. Jolfaei and A. Mirghadri, “An Applied Imagery
Encryption Algorithm Based on Shuffling and Baker's Map,”
Proceedings of the 2010 International Conference on
Artificial Intelligence and Pattern Recognition (AIPR-10),
Florida, USA, pp. 279–285, 2010.
[3] A. Jolfaei and A. Mirghadri, “A Novel Image Encryption
Scheme Using Pixel Shuffler and A5/1,” Proceedings of The
2010 International Conference on Artificial Intelligence and
Computational Intelligence (AICI10), Sanya, China, 2010.
[4] A. Jolfaei and A. Mirghadri, “An Image Encryption
Approach Using Chaos and Stream Cipher,” Journal of
Theoretical and Applied Information Technology, vol. 19,
no. 2, 2010.
[5] M. Sharma and M. K. Kowar, “Image Encryption
Techniques Using Chaotic Schemes: a Review,”
International Journal of Engineering Science and
Technology, vol. 2, no. 6, pp. 2359–2363, 2010.
[6] R. A. Rueppel, “Stream Ciphers,” Contemporary
Cryptology: the Science of Information Integrity, vol. 2, pp.
65–134, 1992.
[7] D. J. Bernstein, “the Salsa20 Stream Cipher,” Proceedings
of Symmetric Key Encryption Workshop (SKEW 2005),
Workshop Record, 2005.
[8] D. J. Bernstein, “Salsa20 Design,” 2005, http://cr.yp.to/
snuffle/design.pdf.
[9] D. J. Bernstein, “Salsa20 Specification,” 2005, http://
cr.yp.to/ snuffle/design.pdf.
[10] P. L'ecuyer and R. Simard, “TestU01: A C Library for
Empirical Testing of Random Number Generators,” ACM
Transactions on Mathematical Software, vol. 33, no. 4,
Article 22, 2007.

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

[11] C. E. Shannon, Communication theory of secrecy systems.
Bell Syst Tech J; 28, pp. 656–715, 1949.
[12] H. H. Ahmed, H. M. Kalash, and O. S. Farag Allah,
“Encryption Quality Analysis of RC5 Block Cipher
Algorithm for Digital Images,” Journal of Optical
Engineering, vol. 45, 2006.
[13] A. Jolfaei and A. Mirghadri, “A New Approach to Measure
Quality of Image Encryption,” International Journal of
Computer and Network Security, vol. 2, no. 8, pp. 38–44,
2010.
[14] A. N. Pisarchik and M. Zanin, “Image Encryption with
Chaotically Coupled Chaotic Maps,” Physica D, 237, 20,
pp. 2638–2648, 2008.
[15] G. Chen, Y. Mao, C. Chui, "A symmetric image encryption
scheme based on 3d chaotic cat maps", Chaos, Solitons &
Fractals, vol. 12, pp. 749–761, 2004.
[16] G. Alvarez and S. Li, "Some basic cryptographic
requirements for chaos-based cryptosystems", International
Journal of Bifurcation and Chaos, vol. 16, no. 8, pp. 2129–
2151, 2006.

Alireza Jolfaei received the Bachelor's degree in Biomedical
Engineering in the field of Bio-electric with the honor degree from
Islamic Azad University, Science and Research branch, Tehran,
Iran in 2007 and Master's degree in Telecommunication in the field
of Cryptography with the honor degree from IHU, Tehran, Iran in
2010. He was a chosen student in the first meeting of honor
students of Islamic Azad University, Science and Research Branch
in 2005. Currently, he is a teacher assistant (TA) at the faculty and
research center of communication and information technology,
IHU, Tehran, Iran. His research interest includes: Cryptography,
Information Systems Security, Network Security, Image
Processing and Electrophysiology.
Abdolrasoul Mirghadri received the B.Sc., M.Sc. and PHD
degrees in Mathematical Statistics, from the faculty of Science,
Shiraz University in 1986, 1989 and 2001, respectively. He is an
assistant professor at the faculty and research center of
communication and information technology, IHU, Tehran, Iran
since 1989. His research interest includes: Cryptography, Statistics
and Stochastic Processes. He is a member of ISC, ISS and IMS.

220

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

221

Semantic layer based ontologies to reformulate the neurological
queries in mobile environment
EL ALLIOUI Youssouf1 and EL BEQQALI Omar2
1

Computer Science Department, Faculty of Sciences Dhar el mahraz, University Sidi Mohammed Ben Abdellah
Fez, 30000, Morocco

2

Computer Science Department, Faculty of Sciences Dhar el mahraz, University Sidi Mohammed Ben Abdellah
Fez, 30000, Morocco

Abstract
A crucial requirement for the context-aware service provisioning
is the dynamic retrieval and interaction with local resources, i.e.,
resource discovery. The high degree of dynamicity and
heterogeneity of mobile environments requires to rethink and/or
extend traditional discovery solutions to support more intelligent
service search and retrieval, personalized to user context
conditions. Several research efforts have recently emerged in the
field of service discovery that, based on semantic data
representation and technologies, allow flexible matching
between user requirements and service capabilities in open and
dynamic deployment scenarios. Our research work aims at
providing suitable answering mechanisms of mobile requests by
taking into account user contexts (preferences, profiles, physical
location, temporal information…).
This paper proposes an ontology, culled O’Neurolog, to capture
semantic knowledge a valuable in Neurology domain in order to
assist users (doctor, patient, administration …) when querying
Neurology knowledge bases in mobile environment. The
increasing diffusion of portable devices with wireless
connectivity enables new pervasive scenarios, where users
require tailored service access according to their needs, position,
and execution/environment conditions.
Keywords: Neurology, ontology, context-aware, semantic web,
query answering, mobile environment.

1. Introduction
1.1 General context
In context-aware information provisioning scenarios, it
is crucial to enable the dynamic retrieval of available
knowledges in the nearby of the user’s current point of
attachment, while minimizing user involvement in
information selection. Data and knowledge discovery in
pervasive environments, however, is a complex task as it
requires to face several technical challenges at the state of
the art, such as user/device mobility, variations (possibly
unpredictable) in service availability and environment
conditions, and terminal heterogeneity.

Users might need to discover knowledges whose names
and specific implementation attributes cannot be known in
advance, while data providers need to use several and
different
terms or keywords and whose technical
capabilities and conditions at interaction time might be
mostly unpredictable beforehand.
In medical domain, there is a great need for using
mobile devices to access and retrieve neurological data
concerning a patient by physicians or interested organisms
(insurance, emergency …). Neurological information is
available via web pages, stored in ftp sites or relational
databases, and textually described in publications.
Neurology (from Greek, neuron, "nerve"; and logia,
"study") is a medical specialty dealing with disorders of the
nervous system. Specifically, it deals with the diagnosis
and treatment of all categories of disease involving the
central, peripheral, and autonomic nervous systems,
including their coverings, blood vessels, and all effectors
tissue, such as muscle.[1] The corresponding surgical
specialty is neurosurgery. A neurologist is a physician who
specializes in neurology, and is trained to investigate, or
diagnose and treat neurological disorders. Pediatric
neurologists treat neurological disease in children.
Neurologists may also be involved in clinical research,
clinical trials, as well as basic research and translational
research.[2]
However, mobile search engines are unable to answer
questions about this massive neurological knowledge base
other than identifying resources that contain some subset of
the specified attributes. The main reason for this limitation
is that the representation of biological information on the
web is not machine understandable, in the sense that
computers cannot interpret words, sentences or diagrams so
as to correctly reason about the objects and the relations
between them that are implicitly stated in those documents
[3]. The primary goal of the semantic web is to add
semantics to the current Web, by designing ontologies
which explicitly describe and relate objects using formal,
logic-based representations that a machine can understand

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

222

and process [4]. This ongoing effort is expected to facilitate
data representation, integration and question answering, of
critical importance in the life sciences and hospital
information system (HIS).

The patient does not walk, does not stand nor sitting
does not his head. He/she did not speak, but knows how to
understand, she established contacts with people who are
very familiar.

Therefore, returned answers scope needs to be filtered
according to finer-grained criteria other than administrative
or network grouping. All and only those data that are
semantically compatible with the user’s context should be
automatically and transparently made visible to him. The
exploitation of user’s context-awareness in knowledge
discovery helps mobile clients saving time and efforts in
information retrieval.

We think that by joining context to domain knowledge
could help improving the summarization of research results
for a mobile user. This activity is called personalization and
implies recommendations.

On the other hand, the potential of semantic-based
discovery has not been fully exploited yet because of
various management issues, which seem to be still open.
Access terminals usually exhibit relevant differences in
resource capabilities, such as display size and resolution,
computing power, memory, network bandwidth, and
battery. A crucial management crucial issue remains how to
provide support for semantic-based discovery to mobile
devices with limited capabilities. Semantic support
services, e.g., ontology repositories, inference engines and
knowledge management tools, typically require a large
amount of computational/memory resources that may not
fit the properties of mobile devices. In particular, strict
limitations exist about the kind of semantic support
facilities that can be hosted on resource-constrained
devices. For example, executing a reasoning process on
board of a resource-limited device, such as a smart phone,
might not only consume battery, but more important, it
would probably monopolize all available memory
resources, thus making the execution of other applications
very difficult.

1.2 Running example
Let us suppose a physician who needs to consult a
patient’s clinical data in order to set a proper treatment for
him. If the healthcare act is taking place inside the hospital,
the doctor will be allowed to access the Hospital
Information System (HIS) and to retrieve all the patient’s
Electronic Health Records (EHRs). Having enough time
and knowledge – and depending on the usability of the
software system – the specialist will rule out all the useless
pieces of information and will get the ones he is interested
in.
In the latter situation, a brief report including those
pieces of the patient’s clinical data which ought to be
considered would be very valuable. The clinical procedure
which is going to be carried out would determine which
data should be part of this summary. For example, is an
another member of the patient’s family has the same
symptoms yet. If true the physician could propose muscular
or hepatic biopsy and so realize lumbar punctures, cerebral
scanner or IRM.

1.3 Paper organization
The remaining of this document is structured as
follows. Section II presents realated works about semantic
and user-centric information. In Section IV, we give an
overview of the semantic model that we have proposed to
capture neurological knowledges in pervasive environment.
Section V is devoted to building O’Neurolog with protégé2000, a well-known ontology editor. Finally, in Section VI
some conclusions and directions for future work are
pointed out.

2. Related work
There are several research streams in personalized
recommendation. One stream aims at improving the
accuracy of algorithms used in recommendation systems
[5]. The second stream is focused on the interaction
between a recommendation system and its customers. For
instance, some studies investigated the persuasive effect of
recommendation messages [7], developed better data
collection mechanisms [8], and enhanced awareness about
privacy issues [9]. Furthermore, a few studies focused on
the effect of moderating factors such as user characteristics
and product features on the performance of
recommendation [10].
A typical personalization process includes three steps:
understanding customers through profile building,
delivering personalized offering based on the knowledge
about the product and the customer, and measuring
personalization impact [11]. Montaner, et al. [12]
simplified the process into two stages after analyzing 37
different systems: profile generation and maintenance, and
profile exploitation.
One key to the performance of personalized
recommendation is the nature of the mechanism it uses to
build customer profiles. In previous research, a number of
different algorithms have been proposed. These systems are
classified based on various characteristics. For example,
Beyah et al. [13] divided recommendation systems into
four types: collaborative filtering (people to people
correlations),
social
filtering,
non-personalized
recommendation
systems,
and
attribute-based
recommendations.
Wei
et
al.
[14]
classified
recommendation systems into six approaches based on the
type of data and technique used to arrive at
recommendation decisions. These approaches are

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

recommendations based on: popularity, content,
association, demographics, reputation and collaboration.
Schafer et al. [15] argues that recommendation systems
may be categorized by the data they use, which includes
original data search, expert ratings, statistical rankings,
content-based recommendation, object associations, and
user associations. A system using the original data search
does not analyze user profiles. Rather, it provides a flexible
user interface and allows users to query the database
directly. Expert ratings use comments or ratings from
experts in the domain (e.g., music or movies) and make
recommendations accordingly. Statistical ranking is a
simple but popular method, which uses descriptive
statistical data such as order frequency to rank different
objects
for
recommendation.
Content-based
recommendation uses attributes of the content to match
user interest profiles. Object associations use found
relationships among objects to make recommendations. A
popular example is the market basket analysis that finds
items often ordered simultaneously by a customer.
There exist three popular methods for extracting user
preferences: direct, semi-direct, and indirect extraction
[16]. The direct approach asks the user to tell the system
explicitly what he prefers. For instance, a knowledge
management system may list all document categories and
ask the user to check those of interest to him. The semidirect approach asks the user to rate all documents he has
read and gains knowledge of user preference through these
ratings [17]. The indirect approach captures user preference
from browsing behavior recorded by the computer, such as
hyperlink clicks [18] or time spent on reading a document
[19].
For making recommendations, two approaches are
popular: collaborative filtering and content-based filtering
[20]. Collaborative filtering is an approach to making
recommendations by finding correlations among the shared
likes and dislikes of the system users. It is capable of
finding items of potential interest from ratings of previous
users. Content-based filtering makes recommendation by
analyzing the items rated by the user and the item to be
recommended [21]. Generally speaking, content-based
information filtering has proven to be effective in locating
textual documents relevant to a topic [22]; whereas
collaborative filtering is popular with e-tailors that sell
physical products such as in Amazon.com [23]. The
integration of these two types of filtering is reported to
exhibit good performance in some domains (e.g., [5]).
Recently, with the advent of semantic technologies,
personalization has received more attention based on
exploitation of domain ontologies. Liang et al [37] adopts a
semantic-expansion approach to build the user profile by
analyzing documents previously read by the person. Once
the customer profile is constructed, personalized contents
can be provided by the system. An empirical study using
master theses in the National Central library in Taiwan

223

shows that the semantic-expansion approach outperforms
the traditional keyword approach in catching user interests.
The proper usage of this technology can increase customer
satisfaction.
Personalized recommendations are applied to both
physical and digital information products. Recent
application domains include books [23], news [24], movies
[25], advertisements [24], one-to-one marketing campaigns
[6], and bundle purchases [26]. Although Amazon.com has
been applauded for its success in using personalized
recommendation, information goods such as news and
documents in digital libraries are popular for
personalization on the Internet due to its nature of content
modularity.
The application of personalized recommendation to
information goods also has a long history. For example,
Mock and Vemuri [27] developed the Intelligent News
Filtering Organization System (INFOS) that reorganizes
the order of news based on revealed preferences. The
results of a pilot test show that INFOS can effectively
reduce the reader’s search load. Sakagami and Kamba [16]
developed the ANATAGONOMY system that learns
reading preferences from the browsing behavior of a user; a
learning engine and a scoring engine produce personalized
Web news. Billsus and Pazzani [28] designed an intelligent
news agent to automatically learn the user's preferences and
provide personal news. Mooney and Roy [22] proposed a
content-based book recommending system that utilizes
information extraction for text categorization and produces
accurate recommendations. Lai et al. [29] designed a news
recommendation system based on customer profiles to
provided customized Internet news. Fan, et al. [30]
presented a method for generating profiles of news readers.
Liang, et al. [31] also reported experimental findings that
personalized services produced significantly higher user
satisfaction for online news readers.

3. General architecture
3.1 Framework architecture
In this section, we further describe the components in
the application are listed as follows (Fig.1).

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

224

3.2 User proxy
The User Proxy is an application-independent
middleware component that represents a portable device on
the fixed network . We adopt the general emerging design
guideline of dynamically extending the Internet
infrastructure with proxies acting on behalf of (possibly
disconnected) limited devices [49]. Proxies can handle
several complex management tasks transparently to client
devices by hiding network heterogeneity and managing
network dynamicity. Our architecture associates one UP
with each portable device, with a 1-to-1 mapping. UP
covers various management roles, including retrieving the
profiles of its companion user/device and coordinating with
discovery management services during a discovery session.
In addition, UP has the crucial responsibility of configuring
the discovery management facilities on the device.
Figure 1. Application architecture

The Metadata Manager (MM) provides templates to
support the user in the task of specifying
user/device/service profiles. The use of templates ensures
that metadata are encoded in the correct format, i.e.,
compliant to O’profile ontology (see Fig. 2), and offers to
non technical users a friendly interface for profile
specification. MM does not perform semantic reasoning,
but only syntactic compliance checking.
The Discovery Manager (DM) is responsible for
determining and maintaining the list of returned answers
that are accessible to the mobile user according to her
context.
The Context Manager (CM) is responsible for
creating user contexts when new users initiate their
discovery sessions, for monitoring changes in both created
user contexts and in relevant external environment
conditions, e.g., the addition of new tuples of informations,
for notifying changes to interested entities, and for updating
user contexts accordingly.
The Query Processor (QP) is in charge of collecting
and processing user requests for neurological data. QP
interacts with the user to specify required informations
capabilities and user preferences. In particular, QPE
translates value preferences expressed by the user at access
request time into property restrictions.
The Profile Matching Engine (PME) is responsible
for performing a matching algorithm between user/device
requirements and answers capabilities, taking user
preferences into account. PME is requested to perform its
algorithm in two cases, i.e., when DM needs to determine
the list of visible services for each user (i.e., the
information whose profile is semantically compatible with
user/device profile) and when QP needs to resolve a
specific user query.

Based on the device profile, UP decides where to
allocate the various discovery management services, either
completely/partially on board of its companion device or
remotely on other trusted devices. In particular, UP
broadcasts its device static profile to nearby devices
specifying which discovery management services its
companion device hosts on-board, and receives similar
advertisements from nearby devices. UP behaves
differently in the case of rich- or resource-constrained
devices. In the case of rich devices, UP runs management
functions and instantiates all discovery management
services (MM, DM, CM, QP and PME) on-board. Having
completely on-board discovery management facilities
allows to better preserve user privacy since
requirements/capabilities and personalized service view are
locally stored. In addition, on-board reasoning may be
useful in case the user’s device experiences frequent
disconnections or poor bandwidth connectivity. On the
contrary, in the case of resource-constrained devices, UP’s
behavior is a tradeoff between technical device
characteristics and privacy needs. In particular, UP decides
whether to perform its management operations on-board or
remotely, and which discovery management services to
instantiate on-board, based on dynamic device profile data,
such as CPU, memory size and battery level. Discovery
facilities that cannot be hosted on-board are retrieved by
querying nearby devices. It is worth mentioning that
privacy issues might arise when user data are transmitted to
foreign nodes. The choice about the desired tradeoff
between privacy and discovery efficiency is left to the user.
Our metadata model allows the user to specify desired
configuration choices in the user requirement profile part.

3.3 Process query mechanisms
In Fig. 2 we further describe the components in the
Process query:

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

225

Answer reduction: The number of combined answers
will be reduced by exploiting inference rules available in
O'profile. The aim is to take into account limited
characteristics of mobile devices (weak bandwidth, cache
memory, reduced screen) when processing queries and
displaying answers.

4. Preliminaries
4.1 The semantic model and Formalization of
User contexts
The semantic model is based on the use of O’Neurolog,
an Ontology of Neurology science, and a formal
specification of user contexts. Consequently, two different
kinds of knowledge are to be managed by such mobile
system:

Figure 2. Process Query

Query reformulation: After a user issues a Query
request, this query request is sent into the mediator where
the query reformulation component in the mediator
receives it. The query reformulation component passes a
reasoning request to the inference engine and accesses the
O’Neurolog in order to find out the relationships that are
implicit in the user original Query request.
Query decomposition: After the query decomposition
receives the reformulated query, the reformulated query is
decomposed with the assistance of the mapping. So query
decomposition could use such information to decompose
the query into several sub-queries that are respectively
applicable to their target information sources.
Query translation: The wrapper receives the
corresponding sub-queries. The wrapper translates the
generic sub-queries into native queries. Afterwards, such
native queries are issued to the corresponding source in
order to find out the data.
Result packaging: It is a one-on-one mapping between
a wrapper and a type. The wrapper packages the results
into a normal form.
Result composition: The query composition
component collects several packaged results sent back from
several wrappers according to the previous decomposed
result.



Domain knowledge about the neurology sciences.



Context knowledge about the users where the
domain knowledge will be used; for our doctor,
this would be a vocabulary to briefly describe the
situation of the patient he is going to attend.

In this work we will use ontologies to materialize our
model since they have been remarked to be a suitable
formalism to build a Knowledge Base including context
knowledge.
Ontologies are defined as ‘‘formal, explicit
specifications of a shared conceptualization’’ [32], encode
machine-interpretable descriptions of the concepts and the
relations in a domain using abstractions as class, role or
instance, which are qualified using logical axioms.
Properties and semantics of ontology constructs are
determined by Description Logics (DLs) [33], a family of
logics for representing structured knowledge which have
proved to be very useful as ontology languages.
Context is a complex notion that has many definitions.
Here, we consider context as any key information
characterizing the user, e.g., user preferences, needs,
location, and any useful information about the environment
where he operates, e.g., date, time, on-going activities and
interactions with services and/or other users.
Let us give some basic definitions to more limit the
frontiers of our study:
Personalization is defined as “the ability to provide
content and services tailored to individuals based on
knowledge about their preferences and behavior” or “the
use of technology and customer information to tailor
electronic commerce interactions between a business and
each individual customer” [11]. A major vehicle that makes
personalization possible is the recommendation system that
matches potential products with customer preferences.
A recommendation system is a computer-based system
that uses profiles built from past usage behavior to provide

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

relevant recommendations. For instance, a video rental
store may analyze historical rental data to recommend new
movies to individual customers. An online newspaper may
customize news services to different readers based on their
reading interests. The objective of a recommendation
system is to retrieve information of interest to users from a
large repository. Such systems can reduce the search efforts
of users and mitigate the encumbrance of information
overload [31].

226

OWL DatatypeProperty construct. The basic preference
ontology is represented in Fig. 4 [35]. As shown in the
diagram, a value preference defines the desired property
value for a given capability, one or more explicit alternative
values, and the kind of acceptable constraint relaxation. Let
us note that, in case of a datatype preference, such
relaxation defines an interval of acceptable values, based
on the preferred numerical value, while in case of an object
preference.

In order to overcome user-context requirements, we
focused on a preference-driven formalization:
In fact, mobile clients are described in terms of profiles
and preferences. User profiles are composed of both
dynamic and static metadata. Dynamic properties include,
for example, user locality and state, while static properties
are grouped into three categories (analogously to the case
of a service): identification, capabilities and requirements.
Identification information, such as an ID code, a string or
an URL, is used to name and identify the user. Capabilities
represent the user’s abilities and capacities, such as
speaking a language. User requirements describe userdefined constraints that must be always satisfied during
service provisioning. Fig. 2 shows an example of user static
profile.
Figure 4. Basic preference ontology

We define three possible semantic relations between the
ideal value expressed in the request and other acceptable
values, namely: exact (default), plug-in, subsumes [36].
‘‘Exact” represents the case of a perfect match between
required and offered capability for the property constrained
by the preference. In the ‘‘plug-in” case, request subsumes
offer, therefore the user may consider acceptable a service
providing a more specific value than the requested one. For
example, a user looking for a service providing news might
accept a service providing news only provided by
newspapers. In the ‘‘subsumes” case, offer subsumes
request, hence the user may decide to accept a service
whose capability is more general than the requested one.
Figure 3. Static user profile specification

Preferences allow the user to express desired choices
about search results and to relax constraints on resources
requests [34].
The semantic model defines two types of preference:
value preferences and priority preferences.
Value preferences specify the preferred value for a
resource property. Depending on the property value type, a
preference might be either object or data type. Value
preferences are modeled using an ontological approach and
expressed in OWL. In particular, object preferences are
modeled by means of the OWL ObjectProperty construct,
while data type preferences are modeled by means of the

Since a request for service may include several
capabilities and a capability might have multiple properties,
semantic model allows the user to define a priority order
amongst capabilities/properties by means of priority
preferences. For example, let us consider the capability of
providing news. If a preference assigns higher priority to
‘‘language” rather than ‘‘topics”, the former will be tested
first when performing matching and a service with a good
value for this property will be considered more compatible
than another having a better value on the ‘‘topics”
capability.

4.2 Neurology
The field of computer consultation has passed through
three historical phases. In the first, attempts were made to
improve on human diagnostic performance by rejecting the

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

methods used by clinicians and substituting various
statistical techniques [38]. Statistical methods proved to be
accurate for small diagnostic domains, but impractical for
application to realworld problems [39]. In the second
phase, it was recognized that human problem solving
methods were deceptively powerful [40] and attempts were
made to capture diagnostic logics as fixed decision
protocols [41]. Although these met with success in some
areas, it was recognized that such protocols suffered from
inflexibility [42]. At present, efforts are directed towards
building systems which incorporate expert problem solving
strategies, but which retain flexibility - ‘artificial
intelligence’ systems [43].
Neurology is a medical specialty concerned with the
diagnosis and treatment of all categories of disease
involving the central, peripheral, and autonomic nervous
systems, including their coverings, blood vessels, and all
effector tissue, such as muscle. [44]
Neurological disorders are disorders that can affect the
central nervous system (brain and spinal cord), the
peripheral nervous system, or the autonomic nervous
system.

and application oriented. In the ontology design process
described in this paper their proposed criteria is reused
when possible and mapped to the OWL language.
The O’Neurolog ontology was designed following
semantic web best practices [46] and implemented using
the OWL-DL. Briefly, we follow the methodology
described by [45], but apply a three layer ontology design
with increasing expressivity [47].
The ontology design process can be summarized in the
following steps:


Define the scope and requirements (use cases) of
the ontology.



Determine essential concepts, reusing existing
ontologies when possible.



Construct a primitive hierarchy of concepts.



Map to an upper level ontology.



Assign relations between concepts and attributes.



Design a second layer of complex definitions that
imposes additional logical restrictions and
establishes necessary and/or necessary and
sufficient conditions.



Repeat steps 2–6 until requirements are satisfied
from semantic query answering over populated
ontologies.

Conditions can include but are not limited to:


Brain injury, spinal cord and peripheral nerves



Cerebral palsy



Cerebrovascular disease, such as transient ischemic
attack and stroke.



Epilepsy



Headache disorders such as migraine, cluster
headache and tension headache



Infections of the brain (encephalitis), brain
meninges (meningitis), spinal cord (myelitis)



Infections of the peripheral nervous system



Movement disorders such as Parkinson's disease,
Huntington's disease, hemiballismus, tic disorder,
and Gilles de la Tourette syndrome



Sleep disorders

4.3 Noy’s approach - driven Ontology design
All ontologies were created using OWL language and
Protégé Ontology Editor
Proposals to design ontologies from the theoretical and
practical point of view can be found in [45] and they
include brain storming, scope definition, motivating
scenarios, competency questions, creation of bag of
concepts, creating concept hierarchy, properties, domain
and range, amongst others. Authors of these papers agree in
the fact that there is no a correct methodology to design an
ontology, but they also agree in seeing this process iterative

227

Step 1. Define the scope and requirements of the
ontology : The scope of the O’Neurolog project was to
model the entities and their relations found in the neurology
such that one could effectively search this knowledge base
using expected relations rather than with a collection of
keywords.
Step 2. Determine essential concepts, reusing existing
ontologies when possible : An initial set of concepts was
manually collected to represent the type and attributes of
the data located in the data files. Concept definitions were
obtained from the neurology science glossary, WordNet
and Wikipedia and were manually added to the class using
the ‘‘rdfs:comment” annotation property for human
consumption.
Step 3. Construct a primitive hierarchy of concepts : A
hierarchy of concepts for the O’Neurolog primitive
ontology was developed by iteratively categorizing the set
of necessary classes.
Step 4. Map to an upper level ontology : Upper level
ontologies promise increased semantic coherency by
helping to identify the basic type of domain entities and
imposing restrictions on the relationships that these entities
may hold. An upper level ontology should be carefully
selected according to the purpose and scope of the ontology
designed.

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

Step 5. Assign relations between concepts and
attributes : An essential part of the modeling process is to
establish which relations exist between the set of concepts.
To do this, we need two things: (1) a set of basic relations
to draw from and (2) generate a kind of topics map.
Step 6. Design a second layer of complex definitions
that imposes additional logical restrictions and establishes
necessary and/or necessary and sufficient conditions. The
primitive hierarchy of concepts was augmented and refined
with logical restrictions to reflect knowledge.. To ensure
the proper classification of data and knowledge discovery,
necessary and sufficient conditions were added to the
ontology. Necessary conditions were added where obvious.
Necessary and sufficient conditions were added for single
property varying entities or in the design of a value
partition.

5. Building O’Neurolog with Protégé-2000
5.1 Presentation of Protégé-2000 [48]
Protégé-2000 is an integrated software tool used by
system developers and domain experts to develop
knowledge-based systems. Applications developed with
Protégé-2000 are used in problem-solving and decisionmaking in a particular domain.
While our earlier Protégé/Win, like a classical database
system, separately defined classes of information (schema)
and stored instances of these classes, Protégé-2000 makes it
easier to work simultaneously with both classes and
instances. Thus, a singular instance can be used on the level
of a class definition, and a class can be stored as an
instance. Similarly, slots, which earlier were employed only
within classes, are now elevated to the same level as
classes. With this new knowledge model we also facilitate
conformance to the Open Knowledge Base Connectivity
(OKBC) protocol for accessing knowledge bases stored in
knowledge representation systems. Finally, applications on
top of these components are also executed within the
integrated Protégé-2000 environment.
The Protégé-2000 tool accesses all of these parts
through a uniform GUI (graphical user interface) whose
top-level consists of overlapping tabs for compact
presentation of the parts and for convenient co-editing
between them. This "tabbed" top-level design permits an
integration of (1) the modeling of an ontology of classes
describing a particular subject, (2) the creation of a
knowledge-acquisition tool for collecting knowledge, (3)
the entering of specific instances of data and creation of a
knowledge base, and (4) the execution of applications. The
ontology defines the set of concepts and their relationships.
The knowledge-acquisition tool is designed to be domainspecific, allowing domain experts to easily and naturally
enter their knowledge of the area. The resulting knowledge
base can then be used with a problem-solving method to
answer questions and solve problems regarding the domain.

228

Finally, an application is the end product created when the
knowledge base is used in solving an end-user problem
employing appropriate problem-solving, expert-system, or
decision-support methods.
The main assumption of Protégé-2000 is that
knowledge-based systems are usually very expensive to
build and maintain. For example, the expectation is that
knowledge-based system development is a team effort,
including both developers and domain experts who may
have less familiarity with computer software. Protégé-2000
is designed to guide developers and domain experts
through the process of system development. Protégé-2000
is designed to allow developers to reuse domain ontologies
and problem-solving methods, thereby shortening the time
needed for development and program maintenance. Several
applications can use the same domain ontology to solve
different problems, and the same problem-solving method
can be used with different ontologies.
Protégé-2000 is currently being used in clinical
medicine and the biomedical sciences, although it can be
used in any field where the concepts can be modeled as a
class hierarchy.

5.2 O’Neurolog’s screenshots
According to this ontology (see Fig. 5), the support of a
comatose patient is based on the following steps:


Immediate measures which are consisting to
maintain vital functions



Look for and treat shock



Find and treat the cause of diagnosis easy



Clinical examination of the patient



Request additional
orientation CLQ



etiological treatment



Monitoring

tests

depending

Figure 5. O’Neurolog ontology

on

the

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

229

among others. In fact, Data and Knowledge Discovery is a
crucial activity in pervasive environments where mobile
users need to be provided with personalized results due to
limited physical characteristics of portable devices.
Semantic languages seem to represent a suitable means to
realize advanced discovery solutions that overcome the
intrinsic limitations of traditional models.
As future work, we plan to provide suitable and
relevant answering mechanisms of mobile requests,
including user’s context and personalization items. Another
interesting future issue we envision to deal with is the
resolution of conflicts that may arise between value or
priority preferences. We believe that a possible approach
may be the definition of meta-preferences, as we have
began the formalization in section III

References
[1]
[2]
[3]

[4]
Figure 6. Example of cathegory “Emergency”

For example, immediate measures (Fig. 6) can be
distinguished:


Recovery position



Cannula Mayo



gastric probe



Oxygen: nasal intubation-mechanical ventilation
(depending on the depth of coma), …

[5]

[6]

[7]
[8]

[9]

6. Conclusion and perspectives
In this work, we described a first approach to describe
logically, integrate and query neurological data from
biological databases using the OWL-DL ontology
language. Several features make this work unique. First, we
designed a domain specific ontology, called O’Neurolog
that incorporates concepts drawn from raw data and expert
knowledge.
We described the methodology used for semantically
augmenting biological databases in absence of domain
specific ontologies and discuss its scope and
characteristics. Our methodology is based on Noy’s
approach.
However, significant challenges remain in realizing the
potential of the semantic web, such as the automated
creation and population of ontologies, the efficient storage
and reasoning with large amounts of ontological data for
reasoning and the development of intuitive interfaces

[10]

[11]

[12]

[13]

[14]

[15]

http://www.acgme.org/acWebsite/downloads/RRC_progReq/180ne
urology07012007.pdf . Last see 11/04/2010.
http://en.wikipedia.org/wiki/Neurology. Last see 11/04/2010.
Robu I, Robu V, Thirion B. An introduction to the Semantic Web
for health sciences librarians. J Med Libr Assoc 2006;94(2):198–
205.
Berners-Lee T, Hall W, Hendler J, Shadbolt N, Weitzner DJ.
Computer science. Creating a science of the Web. Science
2006;313(5788):769–71.
H.J. Ahn, Utilizing popularity characteristics for product
recommendation, International Journal of Electronic Commerce 11
(2) (2006) s59–80.
S.S. Weng, M.J. Liu, Feature-based recommendation for one-toone
marketing, Expert Systems with Applications 26 (4) (2004) 493–
508.
S.N. Singh, N.P. Dalal, Web home pages as advertisements,
Communications of the ACM 42 (8) (1999) 91–98.
B.P.S. Murthi, S. Sarkar, The role of the management sciences in
research on personalization, Management Science 49 (10) (2003)
1344–1362.
N.F. Awad, M.S. Krishnan, The personalization privacy paradox: an
empirical evaluation of information transparency and the
willingness to be profiled online for personalization, MIS Quarterly
30 (1) (2006) 13–28.
L.P. Hung, A personalized recommendation system based on
product taxonomy for one-to-one marketing online, Expert Systems
with Applications 29 (2) (2005) 383–392.
G. Adomavicius, A. Tuzhilin, Personalization techniques: a
process-oriented perspective, Communications of the ACM 48 (10)
(2005) 83–90.
M. Montaner, B. Lopez, L.D.A. Mosa, A taxonomy of
recommender agents and the Internet, Artificial Intelligence Review
19 (2003) 285–330.
G. Beyah, P. Xu, H.G. Woo, K. Mohan, D. Straub, Development of
an instrument to study the use of recommendation systems,
Proceedings of the Ninth Americas Conference on Information
Systems, Tampa, FL, USA, 2003, pp. 269–279.
C.P. Wei, M.J. Shaw, R.F. Easley, A survey of recommendation
systems in electronic commerce, in: R.T. Rust, P.K. Kannan (Eds.),
e-Service: New Directions in Theory and Practice, M.E. Sharpe
Publisher, 2002.
J.B. Schafer, J.A. Konstan, J. Riedl, E-commerce recommendation
applications, Data Mining and Knowledge Discovery 5 (1) (2001)
115–153.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
www.IJCSI.org
[16] H. Sakagami, T. Kamba, Learning personal preferences on online
newspaper articles from user behaviors, Computer Networks and
ISDN Systems 29 (1997) 1447–1455.
[17] K. Lang, et al., NewsWeeder: learning to filter netnews,
Proceedings of the 12th International Conference on Machine
Learning, Tahoe City, California, 1995, pp. 331–339.
[18] D.W. Oard, J. Kim, Implicit feedback for recommender systems,
Proceedings of AAAI Workshops on Recommender Systems,
Madison, WI, 1998, pp. 81–83.
[19] T.P. Liang, H.J. Lai, Discovering user interests from web browsing
behavior: an application to Internet news services, Proceedings of
the 35th Annual Hawaii International Conference on System
Sciences, Big Island, Hawaii, USA, 2002, pp. 203–212.
[20] M. Balabanović, Y. Shoham, Fab: content-based, collaborative
recommendation, Communications of the ACM 40 (3) (March
1997) 66–72.
[21] M.J. Pazzani, A framework for collaborative, content-based and
demographic filtering, Artificial Intelligence Review 13 (5–6)
(1999) 393–408.
[22] R.J. Mooney, L. Roy, Content-based book recommending using
learning for text categorization, Proceedings of the fifth ACM
conference on Digital libraries, San Antonio, Texas, United States,
2000, pp. 195–204.
[23] G. Linden, B. Smith, J. York, Amazon.com recommendations: itemto-item collaborative filtering, IEEE Internet Computing 7 (1)
(2003) 76–80.
[24] J.W. Kim, K.K. Lee, M.J. Shaw, H.L. Chang, M. Nelson, R.F.
Easley, A preference scoring technique for personalized
advertisements on Internet storefronts, Mathematical and Computer
Modeling 44 (2006) 3–15.
[25] R. Mukherjee, N. Sajja, S. Sen, A movie recommendation system—
an application of voting theory in user modeling, User Modeling
and User-Adapted Interaction 13 (2003) 5–33.
[26] R. Garfinkel, R. Gopal, A. Tripathi, F. Yin, Design of a shopbot and
recommender system for bundle purchases, Decision Support
Systems 42 (2006) 1974–1986.
[27] K.J. Mock, V.R. Vemuri, Information filtering via hill climbing,
WordNet, and index patterns, Information Processing &
Management 33 (5) (1997) 633–644.
[28] D. Billsus, M.J. Pazzani, A personal news agent that talks, learns
and explains, Proceedings of the Third Annual Conference on
Autonomous Agents, Seattle, Washington, USA, 1999, pp. 268–
275.
[29] H.J. Lai, T.P. Liang, Y.C. Ku, Customized Internet News Services
Based on Customer Profiles, Proceedings of the Fifth International
Conference on Electronic Commerce, Pittsburgh, PA, USA, 2003,
pp. 225–229.
[30] W. Fan, M.D. Gordon, P. Pathak, Effective profiling of consumer
information retrieval needs: a unified framework and empirical
comparison, Decision Support Systems 40 (2005) 213–233.
[31] T.P. Liang, H.J. Lai, Y.C. Ku, Personalized content
recommendation and user satisfaction: theoretical synthesis and
empirical findings, Journal of Management Information Systems 23
(3) (2006) 45–70.
[32] Studer, R., Benjamins, V. R., & Fensel, D. (1998). Knowledge
engineering: Principles and methods. Data and Knowledge
Engineering, 25(1–2), 161–197.
[33] Baader, F., Calvanese, D., McGuinness, D., Nardi, D., & PatelSchneider, P. F. (2003). The Description Logic handbook: Theory,
implementation, and applications. Cambridge University Press.
Semantic'Discoveries
[34] W. Kiessling, Foundations of preferences in database systems, in:
Proceedings of the 29th International Conference on Very Large
Data Bases, Hong Kong, China, 2002.
[35] IHMC CMaps, http://cmap.ihmc.us/. Last see 2009.

230

[36] M. Paolucci, T. Kawmura, T. Payne, K. Sycara, Semantic matching
of web services capabilities, in: Proceedings of the First
International Semantic Web Conference, Springer LNCS 2342,
Sardinia, Italy, 2002.
[37] A semantic-expansion approach to personalized knowledge
recommendation Decision Support Systems, Volume 45, Issue 3,
June 2008, Pages 401-412 Ting-Peng Liang, Yung-Fang Yang,
Deng-Neng Chen, Yi-Cheng Ku
[38] R. D. Couch, Computer diagnosis review and comment, Path. Ann.
11, 141-159 (1976).
[39] G. A. Gerry. Knowledge based systems for clinical problem
solving, Decision Making and Medical Care, F. T. deDombal,-Ed.,
p. 23.North-H&land, New York (1976).
[40] D. Swanson, A. S. El&n, L. S. Schulman and S. A. Sprafka,
Psychological analysis of physician expertise: implications for the
design of physician support systems, Medinfo 77, p. 161. NorthHolland, New York (1977).
[41] H. L. Bleich, Computer evaluation of acid-base disorders, J. clin.
Invest. 48, 1689-1696 (1969).
[42] V. A. Catanzarite, A. G. Greenburg and H. J. Bremermann,
Computer aided diagnosis: decision strategies and the clinical
acceptability of consultation systems, Proceedings of the 14th
Annual Hawaii international Confmence on System Sciences, Vol.
III-Medical Information Processing, pp. 588-600. Honolulu, Hawaii
(1981).
[43] P. Szolovits and S. Pauker, Categorical and probabilistic reasoning
in medical diagnosis, Artif Intell. 11, 115-144 (1978).
[44] http://www.acgme.org/acWebsite/downloads/RRC_progReq/180ne
urology07012007.pdf . Last see 11/04/2010.
[45] Noy NF, McGuinness DL. Ontology development 101: a guide to
creating your first ontology; 2001. Report No.: Stanford Knowledge
Systems Laboratory Technical Report KSL-01-05, Stanford
Medical Informatics Technical Report SMI-2001-0880.
[46] Smith B, Ceusters W, Klagges B, Kohler J, Kumar A, Lomax J, et
al. Relations in biomedical ontologies. Genome Biol 2005;6(5):R46.
[47] Dumontier M, Villanueva-Rosales N. Three-layer OWL ontology
design. In: Second international workshop on modular ontologies
(WOMO07), Whistler, Canada, 2007.
[48] http://protege.stanford.edu/doc/users_guide/ . Last see 11/04/2010.
[49] P. Bellavista, A. Corradi, R. Montanari, C. Stefanelli, Contextaware
middleware for resource management in the wireless Internet, IEEE
Transactions on Software Engineering 29 (12) (2003) 1086–1099.

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

231

SMA and Mobile Agents Actors for Distributed Testing
Salma Azzouzi1 ,Mohammed Benattou 2 , My El Hassan Charaf3, Jaafar Abouchabaka4
1

Laboratory Of Mathematics and Computer, University Ibn Tofail
Kenitra , 14 000, Morocco

2

Laboratory Of Mathematics and Computer, University Ibn Tofail
Kenitra , 14 000, Morocco

3

Laboratory Of Mathematics and Computer, University Ibn Tofail
Kenitra , 14 000, Morocco

4

Laboratory Of Mathematics and Computer, University Ibn Tofail
Kenitra , 14 000, Morocco

Abstract
The Multi Agent Systems are a paradigm of the most promising
technology in the development of distributed software systems.
They include the mechanisms and functions required to support
interaction, communication and coordination between the various
components of such a system. In the context of distributed test
the activity of the test is performed by a set of parallel testers
called PTCs (Parallel Test Components). The difficulty is in
writing communication procedures of coordination and
cooperation between the PTCS. In this context, we combine in
this paper adaptable mobile agent with multi-agent systems
technology to enhance the distributed test. The objective of this
work is to eventually have a platform for compliance testing of
distributed applications.
Keywords: Distributed Testing, SMA, Mobile Agent, Actor,
Mobile Actor.

1. Introduction
Agent-based software engineering has become the key
issues in modern system design. It provides a high-level
abstraction and services for developing, integrating and
system managing of distributed system applications. The
component-based software engineering has promised, and
indeed delivered significant improvements in software
development.
Last years, products, models, architecture and frameworks
suggest several key issues that will contribute to the
success of open distributed systems. However, in practice,
the development of distributed systems is more complex.
The design process must take into account: the

mechanisms and functions required to support interaction,
communication and coordination between distributed
components. Examples of such applications are systems
comprising a set of components that broadcast commands
among themselves, multicast controllers that coordinate
messages between components, the systems using the
alarm signals in non deterministic order, network and
application systems, event queues, etc. The typical
reaction of such systems is the generation of errors sets:
time-outs, locks, channels and network failures.
Our preliminary experience, in the design and the
implementation of the distributed testing application [1] of
the broadcast and multicast channels. The basic idea of the
proposed work [2] is to coordinate the testers by using a
communication service parallel to the IUT through a
multicast channel. Each tester interacts with the
Implementation under Test (IUT) only through the
attached port and communicates with the other testers
through the multicast channel. The implementation of the
proposed model has shown that the execution of
distributed testers arise many time-outs problems
influencing fault detection during the testing process.
Object-oriented based, the development of such
applications using the ``classical" objects is very difficult,
like many possible ways of activating or deactivating
event sources and to dispatch the call-backs. Others
proposed research work based on the temporal Finite State
Machine define the timing constraint, which the
distributed testing application must be respected in realtime execution [3]. However, the implementation of these
models generates a great number of synchronized

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

232

exchange messages. We have proposed different ways to
design and implement distributed testing systems using
CORBA event services, active objects, and mobile agents.
In this paper, we show how to use the concept of agent
and actor of the Javact platform gives a number of
advantages, besides using a mobile agent include
overcoming network latency, reducing network load,
performing autonomous and asynchronous execution, and
adapting to dynamic environments ([4], [5])
We envision a model of adaptive mobile agent, able to
dynamically reconfigure to adapt to variations in its
execution context (For example, If one of the testers
crashes. what should the mobile agent do?).
Indeed in proposed prototype our testers are agent actors
([6], [7]) which integrate the concepts of agent and the
concept of appointment for the communication. Each
agent tester must create other agents to send messages to
the actors whom it knows and to dynamically change
behaviour by defining its behaviour for the next treatment.
The paper is structured as follows. Section 2 describes the
architecture and modelling concept of distributed testing
application and raises some synchronization problems in
distributed testing implementation. Section 3 describes
how JavAct agent actors are used in our model. Section 4
gives some conclusions and identifies future works

2. Distributed Test
The principle of the test is to apply input events to the
IUT 1 and compare the observed outputs with expected
results. A set of input events and planned outputs is
commonly called a test case and it is generated from the
specification of the IUT. We consider a test as a conform
test if its execution is conform to its specification.

2.1 Architecture
The basic idea of the proposed architecture is to
coordinate parallel testers called PTCS (Parallel Test
Components) using a communication service in
conjunction with the IUT. Each tester interacts with the
IUT through a port PCO2, and communicates with other
testers through a multicast channel (Figure1).

1
2

Implementation Under Test
Point of Control and Observation

Fig. 1 :Test Architecture

An IUT (implementation under test) is the implementation
of the distributed application to test. It can be considered
as a "black-box", its behavior is known only by
interactions through its interfaces with the environment or
other systems. Each tester sends some stimulus to the IUT
via their interfaces called PCOs (Points of Control and
Observations) and observes the reactions. The external
behavior of the IUT is observable via another interface
type called IAP (Implementation Access Points). The
difference between the PCO and the IAP is that PCOs are
the logical points where communications are made, but the
IAPs are the physical access points of the IUT. To
synchronize the execution of testers, PTCS exchange
coordination message. These messages encapsulate
information that allows the test system to solve the
problems of controllability and observability in order to
obtain an optimal test. An example illustrating these
problems is well detailed in [2].

2.2 Modeling by automaton
To approach the testing process in a formal way, the
specification and the IUT must be modeled using the same
concepts. The specification of the behavior of a distributed
application is described by an automaton with n-port [8]
(FSM Finite State Machine) defining inputs and the results
expected for each PCO.
We denote Σk the input alphabet of the port k (PCO
number k) and Γk the output alphabet of the port k. Figure
2 gives an example of 3p-FSM with set state FSM) with
Q = {q0, q1, q2, q3, q4, q5}, q0 initial state, Σ1 = {a}, Σ2
= {b}, Σ3 = {c}, and Γ1 = {w, x}, Γ2 = {y}, Γ3 = {z}.

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

233

For each message αi to send to the IUT or a coordination
message, the tester supports the process of sending this
message. If αi is a expected message from the IUT or a
coordination message, the tester waits for this message. If
no message is received, or if the received message is not
expected, the tester returns a verdict Fail (fail). If the
tester reaches the end of its local test sequence, then it
gives a verdict Accept (accepted). Thus, if all testers
return a verdict Accept, then the test system ends the test
with a global verdict Accept.

Fig. 2 An example of 3p-FSM

A test sequence of an np-FSM automaton is a sequence in
the form:!x1? y1!x2? y2…! xt?yt that for i = 1,..,t : xi  ,
yi

n k 1 Γk and for each port k |yi ∩Γk| ≤ 1.

-!xi :Denotes sending the message xi to IUT.
-?yi :Denotes the reception of messages belonging to
the yi from the IUT.
An example of a test sequence of 3p-FSM illustrated in
figure 2 is:
!a?{x.y}!b?{x.y}!c?{z}!a?{x.z}!b?{x.y}!c?{w.z}!a?{x.z}
!c?{y.z}
(1)

2.4 Synchronization Problem
In the distributed test, each tester (PTC) is running its
local test sequence produced from the global test sequence
of the IUT. Thus, the PTCs are working together but
independently, which leads us to manage the problem of
synchronization of testers. We will run the first part of
each local test sequence w f1, w f2, w f3 from w1, w2,
w3, as follows:

(3)
Running wf1, wf2 and wf3 should give the result shown in
Figure 3(a) but the execution of our prototype provides an
incorrect result given in Figure 3 (b).

Generally, test sequences are generated from the
specification of the IUT and characterized by fault
coverage. The faults covered by the FSMs methods are:
output faults, transfer faults or combination of both of
them [9].

2.3The test procedure
The works ([2],[10]) allow generating local test sequences
for each tester, thus defining the behavior of the test
application in a PCO. In fact, each tester executes a local
test sequence, built from the global test sequence of the
IUT. A local test sequence has the form α 1α2 α n, where
each αi is either:
- !x : message sent (x  Σk de IUT)
- ?y : message received (y  Γk de IUT)
- !Ch1,...,hr : coordination message C sent to testers
h1,..hr.
- ?Ch: coordination message received from the tester h
Fig. 3 Example of the synchronization problem

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

Indeed, in the last diagram the second tester sends the
message b the IUT before the first tester receives the
message x from the IUT.
So, the execution of local testing is not conform with the
specification in (1), where the message ‘b’ must be sent
only if all messages due to the sending of ‘a’ by the tester1 are received by the IUT. In [10] the problem is solved by
blocking the sending of the message ‘b’ until the reception
of all messages due to the sending of ‘a’ by the concerned
testers. The algorithm [2] applied to the global test
sequence (1) generates the local test sequences
synchronized for each tester (Figure 2).

234

viewpoints that enable the description of distributed
systems
from various
perspectives:
Enterprise,
Information, Computation, Engineering, and Technology
viewpoint.
The two last standards integrate the concept of objectoriented architecture The Object-oriented based
development of such applications using the “classical”
objects is very difficult, like many possible ways of
activating or deactivating event sources and to dispatch the
call-backs.
• [16] proposes an architecture for fault detection of web
services through web services based on passive testing
.they proposes an observer (mobile agent) that can be
invoked by interested parties when developed and
published as a web service. In this model, they have not
integrated the concept of Multi-Agent Systems.
• [10] solve the problem of synchronisation by introducing
the concept of Mobile Agent but any implementation of
the system has be given.

Fig. 2 Local test sequences

The solution proposed in this article integrates mobile
agent technology with multi-agent systems for the
verification of the receipt of expected messages on
different (PCO).

2.5 State of the art
Last years, the rapid growth of distributed systems has led
to a need for its coordination. Many frameworks suggest
several key issues that will contribute to the success of
open distributed systems. The most well known are:
• The Open Group’s Distributed Computing Environment
(DCE), [11], [12], [13] provides a communication network
and middleware platform independent platform for
distributed processing systems. It is based on a client
/server architecture and does not support object-oriented
technologies.
• [14] The OMG Common Object Request Broker
Architecture (CORBA) provides an object-oriented
framework for distributed computing and mechanisms that
support the transparent interaction of objects in a
distributed environment. The basis of the architecture is an
object request broker (ORB) which provides mechanisms
by which objects transparently invoke operations and
receive results.
• [15] provides a framework by describing a generic
object-oriented architecture that is based on five different

However, in practice, the development of distributed
systems is more complex. The environments that support
their implementation are unstable and applications must
cope with the volatility of resources and services. They
must be flexible and be able to adapt dynamically.
While a number of agent-based distributed testing systems
have been proposed and the multi-agent systems have
been studied, to the best of our knowledge, combining
these two technologies has not been applied to this field.
Our approach consists to integrate adaptable mobile agent
technology with multi-agent systems to enhance the
distributed testing.

3. Mobile Agent Model
3.1 Why the actor model?
Agent technologies are a potentially promising approach
for building complex systems that require intelligent
behavior from a collection of collaborating, autonomous
software components [17]. The architecture that we
propose is based on the actor model.
An agent’s actors ([6], [7]) integrate the concept of agent
and the concept of appointment for the communication.
Indeed each agent must create other agents to send
messages to the actors whom it knows and to change

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

dynamically behavior by defining its behavior for the next
treatment.
The idea of using actors for implementation of distributed
systems is not new. However, it seems particularly
interesting in the context of distributed systems to large
scale by the properties that distinguish the model of actors
to the classical object model ([18] ,[19]).
• First, communication by asynchronous messages is well
suited
to
large
networks
or wireless, where synchronous communications are too
difficult and expensive to establish,
• Other, the autonomy of execution and behavioral
autonomy promote the integration of the mobility and
ensure integrity.
The mobility of actor can be defined based on the
treatment of messages in series and behavior change, as
well as the dynamic creation and sending messages [7]

3.2 JavAct
JavAct [20] is an environment allowing the development
of programs Java competitors and distributed according to
the model of the actors. Compared with the traditional
mechanisms of low level like the sockets, the RMI and
services Web or SOAP, it has a high level of abstraction.
It provides primitives of creation of actors, of change of
their behaviors, localization, and communication by
sending of messages. JavAct has been designed in order to
be minimal in terms of code and so maintainable at low
cost. Applications run on a domain constituted by a set of
places which can dynamically change. A place is a Java
virtual machine (Figure 4).
JavAct library provides tools for creating actors, changing
their own interface, and also for distribution and mobility,
static and dynamic (self-) adaptation, and (local or distant)
communications.

Fig. 4–Illustration of the concept of mobility and
Communication on JavAct

235

3.3 Agent Based Architecture
This section presents our Multi-Agent architecture of
distributed testing application. It is made up of a whole of
entities (testers) which interact and/or cooperate
collectively to give a satisfactory answer to the preset
criteria of test. We represent each entity by an agent able
to communicate, having knowledge and private behavior
as well as its own capacity of execution. Each agent tester
must be able not only to store information but also to be
able to communicate with other agents testers to confirm
the reception of one or more outputs on the PCO where
they are attached.
Due to the complex analyzing tasks made by tester for
detecting output faults on related IUT PCO, we delegate
performed tasks to well defined agents as shown in
figure3.
In fact, each Tester Agent has its local test sequence
deduced from the global test sequence by the algorithm
[2].
The Tester Agent plays the role of moderator in the same
tester, and according to its local test sequence, it expresses
its needs in terms of synchronization, coordination and of
execution to other agents. Taking into consideration the
complexity of different tasks to perform, we divided the
tasks between three specialized agents:
1.

2.
3.

AMRI( Synchronization Agent ): It is a Mobile
Agent for Searching Information to ensure
synchronization in the transmission and reception of
messages of the test sequences;
AGCTi: It is a Coordination Agent in Tester ‘i’ for
sending and receiving coordination messages;
AETi: It is a Execution Agent in Tester ‘i’ to Control
and observation of events on each PCO.

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

Fig. 5– Structure of a tester

4. Distributed Test Model
In this section, we define the behavior agents of our
testing distributed testing platform:
1. AETs : allows tester to apply input event actions to
IUT and to receive output results from the IUT.
2. AGCTs : They make it possible to the testers to
exchange messages of coordination. According to the
local test sequence of the tester on whom the AGCT is
generated, this AGCT will send messages of
coordination to the testers concerned while
communicating with their AGCTj for i ≠ j. After the
reception of a message of coordination, AGCTi will
inform tester i to block or continue its execution.
3. AMRI: It is the only mobile agent of the system. It will
be generated by the tester who must make the first
sending in the test. Its role is to traverse the testers to
observe and collect the messages ?yi received by
testers, after each sending of a message !xi. A collected
message is put in a box of collection of the AMRI.
Once the turn is finished, the AMRI will migrate
towards the next tester who has the row of sending of
the message !xi+1. It must be provided with List-ofSenders to be able to know the tester who has the row
of sending and to migrate towards this tester. The
algorithm [2] was generalized to be able to generate
the local test sequences and List-Of-Senders.
Algorithm 1.Generating Local test sequences Senders by
order of sending

236

Input w=!x1? y1!x2…..!xt? yt :
a complete test sequence
Output : List of senders by order of sending: ListOf-Senders
Local test sequences: (w1 ,…,wn)
for k=1,…,n do wk  ε end for
List-Of-Senders ε
for i=1,…,t do
k  Port(xi)
if i >1 then
Send-To (Ports(yi) ∆ Ports(yi-1))\{k}
if sender≠0 then
Send-To  Send-To\{sender}
end if
if sender≠ then
wk  wk .C send-To
List-Of-Sender <= List-Of-Senders. TkOSend-To
For all h Send-To do
wh  wh . +Ck
end for
end if
end if
1 :
wk  wk . !xi
2 :
List-Of-Sender  List-Of-Senders.Tkxi
3 : for all a € yi do
wPort(a) wPort(a).a?
end for
if i <t then
h  Port(xi+1)
Sender  0
if h Ports(yi) {k} then
select
4 : case yi= Ø :
wk  wk . –Ch
wh  wh . –Ck
List-Of-Sender List-Of-Senders.TkCh
Sender  h
5: case Ports(yi)\Ports(yi+1) ≠ Ø:
Choose l € Ports(yi)\Ports(yi+1)
wl  wl . –Ch
wh  wh . –Cl
List-Of-Sender List-Of-Sender.TlCh
Sender l
6: Otherwise :
Choose l € Ports(yi)
wl  wl . –Ch
wh  wh . –Cl
List-Of-Sender List-Of-Senders.TlCh
Sender l
end select
end if
end if
end for

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

b- If xi-1 and yi-1 do not exist in box of collection.
The tester will be able to return the AMRI to
check the reception of these messages by the
testers concerned.

end Algorithm 1
If IUT has n ports, Algorithm 1 is dedicated to compute
the n related local test sequences and List-Of-Sender by
order of send of n testers from a complete test sequence of
IUT. Function Port give the port corresponding to a given
message. Function Ports is defined by : Ports(y) = {k/ a
y s.t.k=Port(a))} for a set y of messages .
The local test sequences are basically projections of the
complete test sequence over the port alphabets. In fact,
Line 1 and 2 adds respectively !xi to the sequence
wport(xi) and tester port(xi) to Liste-of-Sender..The Loop
of Line 3 adds the reception of messages belonging to yi
to the appropriate sequences.
Coordination messages are added to the projections to get
the same controllability and observability when using the
complete test sequence in centralized method. In this case,
we added ?C et !C to the appropriate local test
sequences.?C is added to wh and List-of-sender, where h
is the tester sending xi+1.!C is added to the sequence of a
tester receiving a message belonging to yi,if yi≠ Ø(Lines 5
and 6 ),if not !C is added to the sequence of the tester
sending xi(Line4).
4. Agents Testers: Each tester executes its local test
sequence in the following way:
 For a communication with the IUT
- If the message is a reception, the tester waits until its
AET informs it of the reception.
- If the message is a sending, the tester awaits the arrival
of the AMRI and tests:
1- If the sending is like !M{} : the Agent tester Inform
Execution tester to sends the message and sends the
AMRI to collect the messages which will be
observed following this sending. Before each new
turn, box of collection of the AMRI is initialized.
2- If the sending is like !M{xi−1,yi−1} (the message could
be sent only if the messages xi−1 and yi−1 were well
observed) the tester will search among information
collected by the AMRI during the last turn:
a- If xi−1, yi−1 is in box of collection of the AMRI:
the tester sends the message and initializes the
AMRI for a new turn.

237

 For a communication with other testers
(Messages of coordination)


If the message is a reception, the tester waits until
its AGCT informs it of the reception.



If the message is a sending, the tester informs its
AGCT which will communicate with the AGCT
of the tester who must receive this message.

5. Conclusion
This article, presents architecture, model and method of
distributed test guaranteeing the principles of coordination
and synchronization between the various components of
the application of distributed testing. We exploited the
concepts of mobiles agents and actors agents which make
it possible to propose software architectures able to
support the dynamic adaptation and to reduce the number
of messages between the various components of the
distributed test. The implementation , the introduction of
the notion of time into the test sequences and the test of
the applications like Web services are the prospects for
our approach.

References
[1] M.Benattou and J.M. Bruel, '' Active Objects for
Coordination in Distributed Testing, '' International conference
on object-oriented information systems, Montpellier, FRANCE,
2002.
[2] O. Rafiq, L. Cacciari, M. Benattou, ''Coordination Issues in
Distributed Testing'', Proceeding of the fifth International
Conference on Parallel and Distributed Processing Techniques
and Applications (PDPTA'99) pp: 793-799, USA, 1999, CSREA
Press .
[3] A.Khoumsi , '' A Temporal Approach for Testing Distributed
Systems, '' IEEE Transactions on Software Engineering, '' vol .28
no.11, pp.1085-1103, November 2002.
[4] B.Chena, H. Chengb, J.Palen, Integrating mobile agent
technology with multi-agent systems for distributed traffic
detection and management systems'',Transportation Research
Part
C:
Emerging
Technologies
Volume 17, Issue 1, February 2009, pp.1-10.
[5] G. Bernard , L. Ismail , ''Apport des agents mobiles à
l’exécution répartie''. Technique et science informatiques,
Hermès, Paris, 2002, Vol. 21, No 6/2002, pp. 771-796.

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

[6] G. Agha : Actors : a model of concurrent computation in
distributed systems.M.I.T. Press, Cambridge, Ma., 1986.
[7] J.-P. Arcangeli, L. Bray, A. Marcoux, C. Maurel et F.
Migeon : Réflexivité pour la mobilité dans les systèmes
d’acteurs. In 4ème École d’Informatique des SYstèmes
PArallèles et Répartis (ISPAR’2000), 2000.
[8] A. Gill, ,Introduction to the theory of finite-state machines,
Mc Graw-Hill, New Yor- USA, 1962.
[9] A. Petrenko, G. v. Bochmann and M. Yayo, On fault
coverage of tests for finite state specification, Computer Network
and ISDN Systems 29, 1996.
[10] M. Benattou, "A Multi-Agent Based Architecture For
Distributed Testing," proceeding of The 18th International
Conference on Software Engineering and Knowledge
Engineering, San Francisco, pp : 495-498, 2006 .
[11] Digital Equipment Corporation “Distributed Computing
Environment Application Development Reference”, Maynard,
Maryland, U.S.A.1992.
[12] Lockhart H.W. OSF DCE – Guide to Developing
Distributed Applications. McGraw-Hill, New York, U.S.A.1994.
[13] A.Schill DCE - das OSF Distributed Computing
Environment, Einführung und Grundlagen. Springer Verlag
1996.
[14] Object Management Group (1995)," The Common Object
Request Broker: Architecture and Specification, "Revision 2.6.
Framingham, Massachusetts, U.S.A, December 2001.
[15] G.S.Blair and J.-B.Stefani. Open distributed processing and
multimedia.Boston MA USA: Addison Wesley Longman ,1998 .
[16] A.Benharref,R.Glitho,R.Dssouli. “Mobile Agents for
Testing Web Services in Next Generation Networks”, Mobility
Aware Technologies and Applications, Vol.3744 ,2005, pp.182191.
[17] Gorton, I., J. Haack, D. McGee, A. J. Cowell, O.Kuchar and
J. Thomson. Evaluating Agent Architectures: Cougaar, Aglets
and AAA. , SELMAS:264-278. 2003.
[18] S.Leriche ,” Architectures à composants et agents pour
laconception d’applications réparties adaptables ”,J.P Arcangeli,
ingénierie des Langages pour les sYstèmes Répartis et
Embarqués (LYRE), Informatique et Télécommunications
(EDIT), Université Toulouse III,Toulouse ,France,2006 .
[19]Sébastien Leriche and Jean-Paul Arcangeli. Flexible
Architectures of Adaptive Agents: the Agent approach. Dans /
In : International Journal of Grid Computing and Multi-Agent
Systems, ISSN : 0975-8135, Vol. 1, No. 1, p. 51-71, JanuaryJune 2010
[20] J.-P. Arcangeli, F. Migeon, S. Rougemaille, ” JAVACT : a
Java
middleware
for
mobile
adaptive
agents”,

Lab.IRIT,University
2008,france .

of

Toulouse,

February

5th,

238

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

239

Design Methodology of a Fuzzy Knowledgebase System
to predict the risk of Diabetic Nephropathy
Rama Devi.E1, Dr.Nagaveni.N2
1
Assistant Professor, Dept of Comp Science,
NGM College, Pollachi – 642 002, Coimbatore, India.

2

Assistant Professor, Dept of Mathematics,
Coimbatore Institute of Technology, Coimbatore, India.

Abstract
The main objective of the design methodology
of a Fuzzy knowledgebase System is to
predict the risk of Diabetic Nephropathy in
terms of Glomeruler Filtration Rate (GFR). In
this paper, the controllable risk factors
“Hyperglycemia, Insulin, Ketones, Lipids,
Obesity,
Blood
Pressure
and
Protein/Creatinine ratio” are considered as
input parameters and the “stages of renal
disorder” is the output parameter. The input
triangular membership functions are Low,
Normal, High and Very High and the output
triangular membership functions are s1, s2, s3,
s4 and s5. As the renal complications are now
the leading causes of diabetes-related
morbidity and mortality, a FKBS is designed
to perform the optimum control on high risk
controllable risk factors by acquiring and
interpreting the medical experts’ knowledge.
Fuzzy logic is used to incorporate the
available knowledge into intelligent control
system based on the medical experts’
knowledge and clinical observations. The
proposed FKBS is validated with MatLab, and
is used as a tracking system with accuracy and
robustness. The FKBS captures the existence
of uncertainty in the risk factors of Diabetic
Nephropathy, resolves the renal failure with
optimum result and protects the patients from
End Stage Renal Disorder (ESRD).

Keywords: Diabetes Mellitus, GFR, ESRD,
Uncertainty, Fuzzy knowledgebase System,
Inference Engine
1. Introduction
Diabetes Mellitus is one of the most
dangerous diseases in the modern society and
represents not only a medical but a social
problem. Diabetic is pandemic in both
developed and developing countries. In 2000,
there were an estimated 175 million people
with diabetes worldwide and by 2030, the
projected estimate of diabetes is 354 million
[1]. In India alone, the prevalence of diabetes
is expected to increase from 31.7 million in
2000 to 79.4 million in 2030 [1].
The proportion of patients with end
stage renal disorder caused by diabetes has
progressively increases day by day worldwide
and Diabetic Nephropathy is the single most
common cause of ESRD [7].
The major problem in diagnosing and
predicting a disease is the uncertain variations
in risk factors which occur due to the
sedentary life style, food habit, stress, age,
environment etc. Generally the risk factors in
medical domain are classified as controllable
(Blood
Pressure,
Lipids,
Obesity,
Hyperglycemia),
non-controllable
(age,
heredity, sex) and contributing factors
(smoking, alcohol, stress). Due to uncertainty,

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

information is incomplete, fragmentary, not
fully reliable, vague, contradictory, or
deficient in some way. The existence of
uncertain factors with errors is numerous in
medical domain and it is to be solved in an
efficient way.
The medical errors can be solved with the help
of experts’ knowledge. As the experts’
knowledge are so valuable and tacit in nature
which cannot be used as it is, therefore
interpreting them in terms of rules is the best
approach to resolve the uncertainty. Hence, in
this paper, it is proposed to design a FKBS to
overcome the uncertainties and to predict the
risk of Diabetic Nephropathy. This will help
to control the controllable risk factors for
proper diagnosis and treatment, and to protect
the Diabetic patients from ESRD [11].
2. Diabetic Nephropathy
Logic

And Fuzzy

Diabetes Mellitus is a group of
metabolic diseases characterized by high
blood sugar levels that result from defects in
insulin secretion, or action or both. Diabetes
leads to many major complications and renal
disorders are now the leading causes of illness
and death in diabetic patients. Diabetes
Mellitus has been found to increase the risk of
renal disorder which leads to End Stage Renal
Disorder (ESRD) both in women and men.
The major risk factors considered in
this paper for the impact of Diabetes Mellitus
on renal are Hyperglycemia, Insulin, Ketones,
Lipids, Obesity, Blood Pressure and
Protien/Creatinine. The risk factors are
uncertain due to the food habits, sedentary life
style; stress and strain etc. depends on the
individual life style, environment and
occupation. The uncertain variations in these
risk factors vary in each and every individual.
The best logic to capture and resolve the
existence of uncertainty to certainty is FUZZY
LOGIC. Fuzzy logic yields results superior
than conventional mathematical logic and also

240

it is the suitable logic for handling words as
linguistic variables rather than number. To
estimate and predict the prevalence of
Diabetes Mellitus based on the risk factors
which inferences the renal disorder is
validated using MATLAB to overcome the
unexpected, sudden stop of the functioning of
kidneys which in turn reduces the rate of
mortality.
3. Methodology
3.1 Fuzzy Logic and Impact of Diabetes

Mellitus on Renal

Diagnosis of a disease is a significant
and tedious task in medical domain. The
detection of renal disorders due to Diabetes
Mellitus from various factors or symptoms is a
multilayered issue which is not free from false
presumptions
often
accompanied
by
unpredictable efforts.
The main objective of this paper is to
identify the risk factors of Diabetes Mellitus
which causes the severe impact on renal.
Based on the medical expert’s knowledge, the
risk factors may be grouped as




Controllable risk factors which can be
controlled
Non-Controllable risk factors which
cannot be controlled
Contributing risk factors which can be
controlled or cannot be controlled
depends on individual’s contribution.

In this proposed work, the risk factors
identified are Hyperglycemia, Insulin,
Ketones, Lipids, Obesity, Blood Pressure and
Protien/Creatinine
which are controllable.
The values of risk factors based on Universe
of Discourse varies patient to patient depends
on the symptoms that leads to so many
complications.

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

241

To overcome the uncertainty, fuzzy
logic is used which yields results superior than
the conventional crisp value. By applying
fuzzy logic the evaluation of risk factors can
be interpreted properly for effective diagnosis
to minimize the rate of mortality with
maximum efficiency.

Design and Validation of Fuzzy Rule Base
System

3.2

Fig 2 Membership function for P/C ratio

Fuzzy Representation of Output Parameter

The essential part of the proposed
Fuzzy knowledgebase System is to convert the
given set of linguistic control strategy based
on expert’s knowledge into an automatic
control strategy. It consists of the four major
components namely Fuzzification Interface,
Rule
Base,
Inference
Engine
and
Defuzzification. Each component explains
how the risk factor values are validated to
achieve the aim and objective of the proposed
Fuzzy knowledgebase System.

The membership function for output
parameter stages of renal is shown below. The
output represents the different stages of renal
disorder.

3.2.1 Fuzzification Interface

Fuzzy Interface converts crisp values
into fuzzy value. There is a degree of
membership for each linguistic term that
applies to that input variable.
Fuzzy Representation of Input Parameters

The membership function for Insulin
and P/C Ratio are shown below. In the same
way the membership function are constructed
for other risk factors also.

Fig: 1 Membership function for Insulin

Fig 3 Membership function for stages of Renal

3.2.2 Knowledgebase

The Fuzzy Knowledgebase System
consists of a set of fuzzy propositions and is
derived from the knowledge of medical
expertise [17]. A fuzzy proposition establishes
a relationship between different input fuzzy
sets and output fuzzy sets. The Fuzzy
Knowledgebase System is constructed based
on the formula nm where n is the risk factor
and m is linguistic variable. The proposed
FKBS consists of 7 risk factors and 4
linguistic variables, which leads to 16384
rules. This will effectively evaluate all the
possible variations in the Universe of
Discourse for the patients with renal disorder
due to Diabetes Mellitus [16]. It also predicts
and forecast the risk at the earliest of any stage

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

to protect the patient from fatal end. Here only
16 rules have shown for reference.

242

Table 2: FAM for the sample rules framed
LP,OB,PC,
BP
LLLL

LLLN

LLLH

LLLVH

Table 1: Sample rules framed for the impact of Diabetes Mellitus on
Renal
HG/INS/KET
HG
(FP
G/
2h
PG
)

Ins
uli
n

1.

L

L

2.

L

3.

L

4.

L

5.

L

L

L

L

L

N

L

S2

6.

L

L

L

L

L

N

N

S1

7.

L

L

L

L

N

H

S2

8.

L

L

L

L

L

N

VH

S3

9.

L

L

L

L

L

H

L

S3

10. L

L

L

L

L

H

N

S2

11. L

L

L

L

L

H

H

S3

12. L

L

L

L

L

H

VH

S4

13. L

L

L

L

L

VH

L

S3

14. L

L

L

L

L

VH

N

S2

15. L

L

L

L

L

VH

H

S4

16. L

L

L

L

L

VH

VH

S4

Sno

O
b
e
s
i
t
y
L

BP
(sy
s/di
as)

L

Lip
ids
(L
DL
/H
DL
)
L

L

L

S3

L

L

L

L

L

N

S2

L

L

L

L

L

H

S3

L

L

L

L

L

VH

S4

L

Ket
one
s

P/C

Stages of
Renal/
GFR

3.2.3 Inference Engine

The purpose of the inference engine is to infer
information based on the knowledgebase to
take major decisions in diagnosis. The
knowledgebase is time variant, adaptive and
robust in structure [18]. The number of fuzzy
sets describing input variables increases, the
number of proposition also increases. Since,
writing all propositions is a tedious job, a
matrix like representation may be followed
and is known as Fuzzy Associative Memory.
Based on the knowledgebase framed,
inferences are acquired to take major
decisions regarding therapy and treatment.

LLL

S3

S2

S3

S4

LLN

S2

S1

S2

S3

LLH

S3

S2

S3

S4

LLVH

S3

S2

S4

S4

Based on the inferences, the knowledgebase
may be restructured for proper, perfect and
fast diagnosis of the disease.
Decision making logic component

The decision rules are constructed for
input parameters and control output values to
find the active cells so that what control
actions should be taken as a result of firing
several rules. Finally, the aggregation of
minimum control outputs is taken into
consideration to maximize the grade of output
to resolve the uncertain linguistic input to
produce crisp output. The proposed system
consists of 7 parameters with 4 triangular
membership functions for each parameter.
According to the formula nm , 47 = 16384
rules are framed in which 128 rules are fired
for the sample input values of each parameter
as, HG (L) = 65/72, Insulin (N) = 14.995,
Ketones (H) = 30, Lipids (L) = 80/180,
Obesity (L) = 12, Blood Pressure (H) =
130/82, Protien/Creatinine (L) = .08.
According to Mamdani Inference Method
[19], the aggregation of control output is

µagg(b)=max{min(1/4,µs3(b)),
min(1/2.41,µs2(b)), min(1/2.41,µs1(b)) }
3.2.4 Defuzzification Interface

Defuzzification is a process to get a
non-fuzzy control action that represents the
best possibility distribution of an inferred

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

fuzzy control action. Unfortunately there is no
systematic procedure for choosing a good
defuzzification strategy. So, by considering
the properties of application, any one of the
five methods
can be selected for
defuzzification methods. In this paper, the
“MEAN OF MAXIMUM’ defuzzification
method is applied to find the intersection point
of
µ = 1/2.41 with the triangular fuzzy
number µs2 (b) and µs1(b). By substituting (i) µ
= 1/2.41 in s2 (b),
µ = 90-b/30, 30 µ = 90-b, 30*1/2.41 = 90-b, 12.45 =
90-b, 12.45-90 = -b, b = 77.5
µ = b-60/30, 30 µ = b-60, 30*1/2.41 = b-60, 12.45 = b60, 12.45+60 = b, b= 72.45

after aggregation, the values are Ç1 = 77.5,
Ç2 = 72.45, the output parameter i.e. the stage
s2 in terms of Glomeruler Filtration Rate
(GFR) of a patient [6] is identified to produce
the crisp output as

4.

Results

In order to validate the fuzzy logic
approach used in construction of FKBS, the
extensive simulation is carried out using
MATLAB. The system responses with


Zm* = (77.5+72.5)/2 = 149.95/2 = 74.98



(ii) µ = 1/2.41 in s1 (b),



µ = 140-b/50, 50µ =140-b, 50*1/2.41 = 140-b, 20.75 =
140-b, 20.75-140 = -b, b = 119.25
µ = b-90/50, 50µ = b-90, 50*1/2.41 = b-90, 20.75= b90, 20.75+90 = b, b = 110.75

after aggregation, the values are Ç1 = 119.25,
Ç2 = 110.75, the output parameter i.e. the
stage s1 in terms of Glomeruler Filtration Rate
(GFR) of a patient is identified to produce the
crisp output as
Zm* = (119.25+110.75)/2 = 230/2 = 115.

According to Mean of Maximum
method, the maximum value is considered, for
obtaining the optimum result. In this paper,
two values obtained are 74.98 and 115 in
which 115 is the maximum which represents
the stage s1 of renal disorder in terms of GFR

243

.Hence the diagnosis may be concluded as,
the patient is in stage s1, which indicates that
the patient’s renal is in normal state .
Therefore the proposed Fuzzy
knowledgebase System is proven to be a rapid
rule base application to monitor, predict and
forecast the nature of renal disorder due to the
impact of Diabetes Mellitus. It also helps to
maintain the P/C Ratio in renal system, to
avoid the renal disorders.

variation defined in the membership
function as a rule viewer, surface view,
cluster formation and preservation .
data training, checking, testing with
sample data to capture the error
modulation of risk factors reading
which varies from patient to patient
with the level of risk due to the impact
of DM on renal disorder and the results
are favorable.

4.1 Micro View of the simulated

knowledgebase for Diabetic Nephropathy

The constructed knowledgebase is
simulated using MATLAB to identify the
output parameter- the stages of Renal Disorder
of a diabetic patient.

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

244

Fig 6: Surface view of P/C Ratio Vs Ketones

Fig 4: Simulated view of the rule base – Impact of |Diabetes Mellitus
on Renal

4.2 Surface View of Mapping with Input

Parameters vs. Output Parameter

Surface view shows the three
dimensional view curves that represent the
mapping with input parameters vs. the output
parameter, the stages of Renal disorder.
Sample surface view of the proposed Fuzzy
knowledgebase System is shown as per the
rules framed.

Fig 5: Surface view of Insulin Vs P/c Ratio

Likewise the surface view can be generated
for all the seven input parameters with the
output parameter which helps to monitor the
stages of renal disorder based on the variations
of the risk factors from time to time.

4.3 Grouping o f Patients Data according to

the Risk Factors as Clusters

Clustering is a way to examine
similarities and dissimilarities of observations
or objects. Data often fall naturally into
groups or clusters of observations, where the
characteristics of objects in the same cluster
are similar and the characteristics of objects in
different clusters are dissimilar. In this
proposed FKBS, the cluster analysis is used
for the purpose of grouping the patients with
high risk and low risk. Grouping of clusters
also identifies the patients who need the
emergency care. Using the Adaptive NeuroFuzzy Inference System (ANFIS) editor,
membership functions are shaped by training
them with input/ output data rather than
specifying them manually.

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

245

Fig 7: Sample clusters generated for renal disorder
Fig 9 Generation of FIS with shape preservation to group the clusters
generated

5. Conclusion

Fig 8 Disease-wise seperation of clusters

4.4 Generation of Fis for Cluster Shape

Preservation Using Adaptive Neuro-Fuzzy
Inference System (Anfis) .

The shape preservation is applied to
organize the same size and shape clusters, to
maintain the characteristics and properties of
data in such a way to identify and differentiate
the patient’s level of risk for emergency
treatment.

The diagnosis of renal disorders for
diabetic patients represents a serious clinical
problem. The medical knowledge in this field
is characterized by uncertainty, imprecision
and vagueness. As the symptoms of diabetic
patients are very fuzzy in nature, the use of
linguistic approximation enables knowledge to
be represented in a more meaningful way.
Fuzzy logic is very useful to deal with the
absence of sharp boundaries of the sets of
symptoms, diagnosis and phenomena of
diseases. The use of this approach is
contributed to medical decision-making and
the development of computer-assisted
diagnosis in medical domain.
In this paper, the major risk factors for
diabetic patients are identified and the FKBS
is designed with 16384 rules which may adopt
as an aid for finding the patient’s risk of renal
disorder for proper treatment and care in time
to avoid the ESRD. The designed
knowledgebase is simulated with Mat Lab and
the results are promising with the values
considered
This fuzzy knowledgebase captures all
the variations of the symptoms and so, it will
be useful to infer the exact stage of renal
patient as per the expert’s knowledge. This is
also useful to take proper decision at the right

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

time for giving various types of treatments
which ultimately reduces the rate of mortality.
The designed FKBS may be extended to
devise a MEMS device for monitoring the
status of the risk factors with changing life
style, food habits, occupation of human beings
as further enhancement of this work.
6.

References
[1] Sarah Wild, Gojka Roglic, Anders
Green, Richard Sicree, and Hilary
King, “Global Prevalence of Diabetes
- Estimates for the Year 2000 and
Projections for 2030”, Diabetes Care
27, pp 1047-1053, 2004.
[2] Constantinos Koutsojannis and Ioannis
Hatzilygeroudis, “FESMI: A Fuzzy
Expert System for Diagnosis and
Treatment of Male Impotence”,
Knowledge-Based Intelligent Systems
for Health Care, pp 1106–1113, 2004.
[3] Rahim F, Deshpande A, Hosseini A,
“Fuzzy Expert System For Fluid
Management In General Anaesthesia”,
Journal of Clinical and Diagnostic
Research, pp 256-267,2007.
[4] Muhammad zubair Asghar, Abdur
Rashid Khan, Muhammad Junaid
Asghar: “Computer Assisted Diagnosis
for Red Eye”, International Journal on
Computer Science and Engineering,
Volume 1(3), pp 163-170, 2009.
[5] Nazmi Etik, Novruz Allahverdi,
Ibrahim Unal Sert and Ismail Saritas,
“Fuzzy expert system design for
operating room air-condition control
systems”, Expert Systems with
Applications – An International
Journal, Volume 36, Issue 6, pp 97539758, 2009
[6] Hamidreza Badeli, Mehrdad Sadeghi,
Elias Khalili Pour, Abtin Heidarzadeh,
“Glomerular Filtration Rate Estimates

246

Based on Serum Creatinine Level in
Healthy People”, Iranian Journal of
Kidney Diseases, Volume 3 ,Number
1, 2009.
[7] Niall G. McLaughlin, Udayan Y.
Bhatt, Gil A. Cu, Ronald L. Mars, N.
Stanley Nahman, “A Review of the
Diagnosis and Therapy of Diabetic
Nephropathy”,
Northeast Florida
Medicine Journal, pp 27-31, 2005
[8] Parving HH. “Diabetic nephropathy:
prevention and treatment.” Kidney Int.
60(5), pp 2041-55,2001.
[9] Mauer S, Steffes M, Brown D., “ The
kidney in diabetes.”Am J Med. 70 pp
603, 1981.
[10]Brenner BM. Regarding:
“Management
of
glomerular
proteinuria: a commentary.” J Am Soc
Nephrol.15(5), pp 1354-57, 2004.
[11] Hostetter T. “Prevention of end-stage
renal disease due to type 2 diabetes”,
N Engl J Med 345, pp 910-911,2001.
[12] Maduka Ignatius C, Neboh Emeka .E,
Kwubiri Uchenna N, “The Prevalence
of Diabetic Nephropathy in Diabetic
Patients”, European Journal of
Scientific Research,Volume 26, Issue
2,pp 225-259, 2009.
[13] Nader Antonios, MD and Scott
Silliman, MD, “Diabetes Mellitus and
Stroke”, Northeast Florida Medicine
Journal, pp 17-22, 2005.
[14] Mahfouf M, Abbod MF & Linkens
DA, “A survey of fuzzy logic
monitoring and control utilization in
medicine”, Artificial Intelligence in
Medicine 21, pp 27-42, 2001.
[15]Uncu, U. Koklukaya, E. Gencsoy,
A. Annadurdiyew, O, “A fuzzy rulebase model for classification of
spirometric FVC graphs in chronical
obstructive
pulmonary
diseases”,
Volume 4, pp 3866-3869, 2001.
[16] Novruz Allahverdi Ismail Saritas
Ilker Ali Ozkan Mustafa Argindogan,
“An Example of Determination of

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

Medicine Dose in the Treatment by
Fuzzy
Method”,
International
Conference on Computer Systems and
Technologies - CompSysTech’ 2006.
[17] Adam E. Gawedal, Alfred A. Jacobs,
Michael E. Brierl, “Fuzzy Rule-based
Approach to Automatic Drug Dosing
in Renal Failure”, The IEEE
International Conference on Fuzzy
Systems, 2003.
[18] H.F Kwokab, D.A Linkensa,
M Mahfoufa, G.H Millsb, “Rule-base
derivation for intensive care ventilator
control using ANFIS”, Artificial
Intelligence in medicine, Volume 29,
Issue 3, pp 185-201,2003.
[19] Feng Liu, Chai Quek, Geok See Ng, “
A Novel Generic Hebbian Ordering –
Based Fuzzy Rule Base Reduction
Approach to Mamdani Nuero-Fuzzy
System”, Neural
Computation,
Volume 19, Issue 6, pp 1656-1680,
2007.
E.RamaDevi: Mrs. E. RamaDevi received
MPhil degree in Computer Science from
Bharathiar
University,
Coimbatore.

247

Currently She is an Assistant Professor in
Computer Science at NGM College,
Pollachi, India. She has got 5 years of
research experience. Her research interest
includes areas like Data Mining,
Knowledgebase system, Intelligent and
Control systems and Fuzzy Logic.
Presented papers in National and
International conferences. Published 2
research papers and has more than 15
years of teaching experience.
Dr. N. Nagaveni: Dr. N. Nagaveni
received PhD from Bharathiar University,
Coimbatore, India. She is an Assistant
Professor in Mathematics at Coimbatore
Institute of Technology since 1992. She
has got 14 years of research experience
and 21 years of teaching experience. Her
research interest includes cryptography,
cloud computing, data mining, privacy
issues and web mining. Published more
than 30
research papers in different
journals. Presented papers
both in
National and International conferences.
Member in ISPE, Indian Science Congress
and Kerala Mathematical Association.

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

248

Reengineering Of Education Institute And Coupling Measurement
Dr Ashok Kumar 1, Anil Kumar2, Kulvinder Singh3
1.Professor, Dept. of Comp. Sc. & App. Kurukshetra University, Kurukshetra, India
2. Asst. Professor, Comp. Sc. & Engg. Vaish College of Engineering, Rohtak, India.
3. Asst. Professor, Comp. Sc. & Engg. Vaish College of Engineering, Rohtak India.

Abstract
This paper is based on reengineering of Education
institutes[1,2] in such a way that coupling risk
should be less as compared to existing systems.
Here, we will measure the complexity (based on
coupling factor) of modules during reengineering
of modules design. As we know that the
coupling[3,4] is one of the properties with most
influence on maintenance, as it has a direct effect
on maintainability.
In general while any module is reengineered [5],
one of the goals of OO software designers is to
keep the coupling of system as low as possible.
Classes of the system that are strongly coupled are
most likely to be affected by changes and bugs
from other classes. As the coupling between the
classes of the system is increased, it result in
increased error density.
The work described in this paper measure the
coupling not only through classes of the system,
but also through the Packages[6] that are included
during reengineering of the module design.
Coupling between packages is the manner and degree
of interdependence between them. Theoretically, every
package is a stand-alone unit, but in reality packages
depend on many other packages as either they require
services from other packages or provide services to
other packages. Thus, coupling between packages
cannot be completely avoided but can only be
controlled. The coupling between packages is an
important factor that effects the quality or other
external attributes of software, e.g., reliability,
maintainability, reusability, fault-tolerance etc.
In this paper, some measures are proposed for
measurement of coupling at the package-level[7] in
order to achieve good quality software systems.

In this paper, we propose metrics[8] for measuring the
coupling between packages in a software system.

Keyword
Education Institute, Coupling, Package,
Metrics ,System Representation and Definition
Introduction
Due to increasing demand of software
maintenance, today reengineering techniques is
one of the best choice, to full-fill the requirement
of the public sector/private sector. While
reengineering takes place in existing system, the
complexity of modules is determined in early
stage ( at design time), due to this, software
designer, easily determine, about resources that is
required during reengineering of any project.
This paper is based on the measurement of
complexity of modules, by using different types of
coupling metrics, at design time.
The backbone of any software system is its design.
It is skeleton where the flash (code) will be
supported.
And
while
determining
the
complexity[9] of the modules, here will use OO
paradigm, which is very popular concepts in
today’s software development environment. They
are often heralded as the “silver bullet” for solving
software problem.
Literature Overview
Hamper and Champy[10] (1993) defines the
business process reengineering as “ the
fundamental rethinking and radical redesign of the
business processes to achieve dramatic
improvement in critical, contemporary measures

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

of the performance, such as cost, quality, service ,
and speed”. Business processes and redesigns to
improve performance.
The
importance
of
business
processes
reengineering (BPR) is crucial for public sector
organizations (Parys and Thijs, 2003). It is
difficult to deploy BPR efforts in public
organizations [11] ( Parys and Thijs, 2003; Robert,
1994; Thong, Yap, and Seah, 2000)[12]. The
government organizations re usually attached to
many other departments and ministries. The
change in one unit requires change in other
interlinked organizations. It is therefore necessary
to handle all these problems to successfully
implement the BPR strategy in the public sector
organizations ( Parys and Thijs, 2003).
Tenner and Dectoro[13] (1992) defines process as a
single or combination of tasks that add value to
inputs to convert them into outputs by the
application of human interaction, methodologies
and techniques. The author confines the key points
and describes stages to improve business
processes using the step by step procedure to
achieve real performance goal. Individuals at any
level in manufacturing, service or the public sector
can benefit from this approach which enhances the
chances of success in improving organization wide
performance. It is designed for leaders at any level
who are committed to drastically improving their
organization’s performance through redesigning
its processes.
The business process consists of different
activities which defines the pattern of work in the
organizations ( Sethi and King, 2003)[14]. The
efficient processes serve to satisfy the customers
by converting input resources to desired output
(Field, 2007; Hammer and champy, 193; Harrison
and Pratt, 1993; Snee, 1993)[15].
Evans[16] (1993) signifies the importance of
analyzing the existing business processes and the
organizations to identify bottlenecks in the
systems. The author translates this phase ‘As Is’
step of BPR. The other important phase is ‘ To
Be’ which describes the desired performance
achievement level of the business process. BPR
attempts to fill the gap between these two

249

organizational situations. Business process
analysis attempts to achieve operational efficiency
by reducing time and cost factors (Cook, 1996;
Davenport, 1993; Day, 1994; Roy, 2005; Wing
and Ahmed, 2003; Muthu, Whitman and
Cheraghi, 1999).
Fitzgerald and Murphy (1996) suggest four crucial
phases for successfully implementing the BPR
strategy in the organizations. First, the core
business processes to be redesigned should be
selected. Second, the process team should be
established to reengineer the core business
processes. Third, the current processes may be
analyzed and examined to find out bottlenecks in
the systems. This phase also determines the
satisfaction level of stakeholders with the process
outcomes. The last phase encompasses the
strategy to reengineer the process to improve
performance.
Problem Description
While we reengineering the education institutes,
there are ‘n’ number of packages, the ‘n’ number
of packages has ‘n’ number of classes, the ‘n’
number of classes has ‘n’ number of methods, and
the ‘n’ number of method has ‘n’ number of
operation to perform their activities, these are
depends upon other methods, other classes and
may or may not depends upon other packages to
perform their task.
System Representation and Definition
Definition 1: (System, Packages)[17,18]
We consider Modified OO System as a set
of packages P = { p1,p2,…….pn}. The number of
packages in the system P is n = | P |
Definition 2: (Clases of a package)[19]
A package has a set of classes, and a class
has a set of methods. For each package p E P. M (
p ) = { m1, m2,…….,mn} represent its set of
methods in the system is defined as M(P).
Definition 3: (Conceptual similarities between
method)

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

The conceptual similarities between
method mk E M(P) and mj = M(P), CSM(mk,mj), is
computed as the cosine between the vectors Vmk
and Vmj, corresponding to mk & mj in the semantic
space constructed.
Definition 4: ( conceptual similarities between a
package’s of classes and methods)[20]
Let pk E P and pj E P are two distinct (pk
not equal to pj ) packages in the system. Each
packages has a set of classes and each set of class
has a set of method M(pk) = { mk1, mk2,…..,mkr},
where r = | M(pk) | and M(pj) = { mj1,
mj2,…..,mjt}, where t = | M(pj) |
Between every pair of methods ( Mk,Mj), there is
similarities measure, conceptual similarities
between package’s of the class and between
method’s of class( CSPCM(Mk,Mj))
Which is the average of conceptual similarities
between method Mk and all the method from
package of class Cj.
Definition 5:(Conceptual similarities between two
package)
We define the conceptual similarities
between two package(CSBP) pk E P and pj E P is
CSBP(pk, pk) = ∑ra=1 CSPCM(Mka,pj))
Which is the average of the similarities measures
between all unordered pairs of methods from
package pk and pj.
The definition ensures that the conceptual
similarities between two packages is symmetrical
as CSBP(pk ,pj) = CSBP(pj ,pk)
Proposed work
Here, we will specify metrics which is very
beneficial to measure the coupling during
reengineering of the educational institutes. These
metrics are given below:
Response For Packages (RFP)
Response for package measure the
complexity of the package in terms of classes in
the packages plus methods in the classes. Not

250

include inherited packages, but included inherited
classes in the specific packages.
Message Passing among packages (MPP)
This metrics measures the number of
message passing among objects of packages. A
larger number indicates increased coupling
between this package and other packages in the
systems. This makes the package more dependent
on each other, which will increases the overall
complexity of the system and make packages
more difficult to change in future.
Coupling between Objects(CBO) (Chidamber
& Kemerer) [21]
CBO is the total of the number of classes
that a class referenced plus the number of classes
that referenced classes. It was only counted once.
Fan-out
Fan-out is defined as the number of other
classes referenced by a class in the package.
Fan-in
Fan-in is the number of other packages that
references to a package.
Efferent Coupling
Efferent coupling is viewed as equivalent
to Fan-Out
Afferent Coupling
Afferent coupling is viewed as equivalent
to Fan-In
There are number of other useful metrics at
package level[22]:
a. Reuse Ratio is calculated as
Number of super package above
this package in the Package hierarchy
Reuse ratio =
Total number of packages in
package hierarchy
b. Specialization Ratio is calculated as
Number of sub package
below this package in the
package hierarchy
Specialization ratio =
Number of super package
above this package in the
Package hierarchy

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

251
3.

c. Number of instance variable, number of
modifiers,
number
of
interfaces
implemented and number of package
imported :
These gives additional information about
the class’s level in the package level of
semantic complexity. As with methods, large
values for these can suggest that a class doing
too much.
Related Works
For OO Systems, most of the coupling
metrics, exists for measurement of coupling at
the higher levels of abstraction in OO systems.
Other, works related to the packages or other
higher abstraction level has been carried out
in.

4.
5.
6.
7.
8.
9.
10.
11.

Conclusion
The goal of this paper, provided certain
types of package level metrics, that is used to
determine coupling of modules during
reengineering of modules design, and help the
designer to reduces the coupling among
modules, due to this increasing user
productivity and scalability, improve vendor
independence, enhance scalability, increase
manageability and more. As we know that, due
to the productivity, it will create in the more
economic value for each unit of cost. This is
different from cost reduction. It specifically
defines different types of sub-modules
complexity and once the coupling is clearly
determined, then it is very beneficial in future
requirement of reengineering of modules,
because requirement obviously changes, after
a specific time period. And whenever needed,
further to reengineering the modules it is
easily takes place.

12.
13.

14.
15.

16.
17.
18.
19.

References
1.
2.

“The National Information Infrastructure Agenda for
Action”
“Perspective
on
the
national
Information
Infrastructure”

20.

F. Pilat, W. Fischer, S. Peggs, V. Ptitsyn, S. Tepikian,
.The Coupling Correction System at RHIC: Results
for the Run 2000 and Plans for 2001., PAC 2001
V.Ptitsyn, J. Cardona, J-P. Koutchouk, F. Pilat,
.Measurement and Correction of Linear Effects in the
RHIC Interaction Regions., PAC 2001
Booch G. Object Oriented Analysis and Design with
Applications. 2nd Ed., Redwood City: Benjamin
Cummings Pub-lishing Company Inc., LA, USA,
1994
Booch G. Object Oriented Analysis and Design with
Applications. 2nd Ed., Redwood City: Benjamin
Cummings Pub-lishing Company Inc., LA, USA,
1994.
Eder J, Kappel G, Schre° M. Coupling and cohesion
in object-oriented systems. Technical Report,
University of lagenfurt,1994.
Hitz M, Montazeri B. Measuring coupling in objectoriented systems. Object Currents, 1996, 1(4):
124{136.
Hammer, M. and Champy, j., 1993. “Reengineering
the Corporation : a manifesto for business
revolution”, HarperCollins Publishers, Inc. New York
Rober, L. (1994). “Process Reengineering: the key to
achieving breakthrough success”, Milwaukee,
Wisconsin, ASQC Quality Press.
Thong, J., Yap, C.S. and Seah, K.L., 2000. “Business
Process Reengineering in the public Sector: the case
of the Housing Development Board in Singapore”,
Journal of Management Information System, 17(1),
pp. 245-271
Tenner, A.R., Dectoro, I.J.,1992. “The Process
redesign – the implementation guide for manager”,
Prentice Hall, New Jersey.
Sethi, V. and King, W.R., 2003. “Organizational
transformation
through
business
process
reengineering: applying the lessons learned”, Pearson
education, Inc, Singapore
Harrison, D.B. and Pratt, M.D., 1993. “ A
Methodology for reengineering business”, Planning
Review, 21(2), pp. 6-11
Evans, K., 1993. “Reengineering and Cybernetics”,
American Programmer, 6(11), pp. 10-16
Abreu, F. B., Pereira, G., and Sousa, P., "A CouplingGuided Cluster Analysis Approach to Reengineer the
Modularity of Object-Oriented Systems", in Proc. of
Conf. on Software Maintenance and Reengineering
(CSMR'00), Zurich, Switzerland, Feb. 29 - Mar. 3
2000, pp. 13-22.
Arisholm, E., Briand, L. C., and Foyen,
A.,
"Dynamic coupling measurement
for objectoriented software", IEEE Transactions on Software
Engineering,
vol. 30, no. 8, August 2004, pp. 491506

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

21. riand, L., Wust, J., and Louinis, H., "Using Coupling
Measurement for Impact Analysis in Object-Oriented
Systems", in Proc. of IEEE International Conf. on
Software Maintenance, Aug. 30 - Sept. 03 1999, pp.
475-482.
22. Briand, L. C., Devanbu, P., and Melo, W. L., "An
investigation into coupling measures for C++", in
Proc. Of International Conference on Software
engineering (ICSE'97), Boston, MA, May 17-23
1997, pp. 412 - 421.
23. Chidamber, S. R. and Kemerer, C. F., "Towards a
Metrics Suite for Object Oriented Design", in
Proceedings of OOPSLA'91, 1991, pp. 197-211
24. D.L. Parnas, "On the Criteria To Be Used in
Decomposing
Systems
into
Modules,"
Communications of the ACM, Vol. 15, No. 12, Dec.
1972, pp 1053-1058.

Dr. Ashok Kumar received his Ph.D degree
from Agra University, Agra, India. He joined
Kurukshetra University, June 1982. He is
working as Professor in the Department of
Computer Science & Application, Kurukshetra
University, Kuruks hetra
– 1361199
(Haryana), India, since June 1982. He was
awarded four Ph.D award from Kurukshetra
University. He has published more than 60
national and international papers. He has attended more than 30
national and international seminars. His area of interest are software
engineering, operational research, networking and operating system.

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.

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.

252

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

253

Design of Compressed Memory Model Based on AVC
Standard for Robotics
Devaraj Verma C1 and Dr. VijayaKumar M.V2
1

Lecturer, Department of Information Science and Engineering, PES Institute of Technology, 100-ft Ring Road,
BSK-III stage, Bangalore-560085, Karnataka-INDIA
2

Prof and Head of Department of Information Science and Engineering, New Horizon College of Engineering,
Panathur post, marathahalli, Bangalore, Karnataka-INDIA

Abstract
To cater the needs of diverse application domains, three
basic feature sets called profiles are established in H.264
standard: the Baseline, Main, and Extended profiles. The
Baseline profile is designed to minimize complexity and
provide high robustness and flexibility for use over a
broad range of network environments and conditions; the
Main profile is designed with an emphasis on
compression coding efficiency capability; and the
Extended profile is designed to combine the robustness
of the Baseline profile with a higher degree of coding
efficiency and greater network robustness. The H.264
bitstream is organized as a series of NAL units, which
are first, processed by the NAL unit decoder module.
NAL unit decoder does the job of NAL unit separation
and parsing of the header information. The output data
elements of NAL unit decoder are entropy decoded and
reordered to produce a set of quantized coefficients by
the variable length decoder module. The quantized coefficients are then rescaled and inverse transformed to
give difference macroblock using the transformation and
quantization module. Using the header information
decoded from the bitstream, the motion compensation
and picture construction module produces distorted
macroblocks which are then filtered using the deblocking
filter to create decoded macroblocks. The output is
stored as a yuv file, which can be played using any YUV
player/viewer. Thus the visual input from the sensors

progress in mass-storage density, processor speeds,
and digital communication system performance,
demand for data storage capacity and datatransmission bandwidth continues to outstrip the
capabilities of available technologies [6,7,8,9,10].
ITU-T H.264 / MPEG-4 (Part 10) Advanced Video
Coding (commonly referred as H.264/AVC) is the
latest entry in the series of international video
coding standards [11,12,13,14]. It is currently the
most powerful and state-of-the-art standard
developed by a Joint Video Team (JVT) consisting
of experts from ITU-T’s Video Coding Experts
Group (VCEG) and ISO/IEC’s Moving Picture
Experts Group (MPEG)[15,16,17]. With the wide
breadth of applications considered by the two
organizations, the application focus for the work
was correspondingly broad – from video
conferencing to entertainment (broadcasting over
cable, satellite, terrestrial, cable modem, DSL etc.;
storage on DVDs and hard disks; video on demand
etc.) to streaming video, surveillance and military
applications, and digital cinema. Three basic
feature sets called profiles are established to
address these application domains: the Baseline,
Main, and Extended profiles as shown in Fig 1.

of the robots can be compressed by this technique
before delivered to the actuators on the scene.
Main Profile

KeyWords:
Deblocking
filter,
Motion
Compensation, Macroblock modes, NAL units

Extended
Profile

Data partition

1. Introduction

CABAC
B slice
Weighted prediction

SI slice

I slice

SP slice

P slice
CAVLC

H.264 is a new video compression scheme that is
becoming the worldwide digital video standard for
consumer electronic and personal computers
[1,2,3,4,5].Uncompressed multimedia (graphics,
audio and video) data requires considerable storage
capacity and transmission bandwidth. Despite rapid

ASO
FMO
Redundant slice
Baseline

Fig 1 H.264 Profiles

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

Baseline is a low-complexity low-latency profile,
which provides basic functionality. Typical
applications are interactive ones like mobile video
telephony and video conferencing. The Main
profile targets studio, broadcast, and other highquality applications like HDTV and DVD. It is a
high-complexity high-latency profile without errorresilient features. Finally, Extended is highly errorrobust and of low complexity and may be used in
e.g. streaming applications. All profiles will have
the Baseline compatibility.

254

actual picture content, so a “residual” may be
added.
B slices or “Bi-Directional Predicted” slices work
like P slices with the exception that former and
future I or P slices (in playback order) may be used
as reference pictures. For this to work, B slices
must be decoded after the following I or P slices.
SI and SP slices or “Switching” slices may be used
for transitions between two different H.264 video
streams. This is a very uncommon feature.

2. NAL units, slices, fields and frames
3. Motion Compensation
A H.264 video stream is organized in discrete
packets, called “NAL units” (Network Abstraction
Layer units). Each of these packets can contain a
part of a slice, that is, there may be one or more
NAL units per slice. But not all NAL units contain
slice data; there are also NAL unit types for other
purposes, such as signaling, headers and additional
data. The slices, in turn, contain a part of a video
frame. In normal bitstreams, each frame consists of
a single slice whose data is stored in a single NAL
unit. The possibility to spread frames over an
almost arbitrary number of NAL units can be
useful if the stream is transmitted over an errorprone medium: The decoder may resynchronize
after each NAL unit instead of skipping a whole
frame if a single error occurs.
H.264 also supports optional interlaced encoding.
In this encoding mode, a frame is split into two
fields. Fields may be encoded using spatial or
temporal interleaving. To encode color images,
H.264 uses the YCbCr color space like its
predecessors, separating the image into luminance
(or “luma”, brightness) and chrominance (or
“chroma”, color) planes. It is, however, fixed at
4:2:0 sub sampling, the chroma channels each have
half the resolution of the luma channels.
Slice types
H.264 defines five different slice types: I, P, B, SI
and SP.
I slices or “Intra” slices describe a full still image,
containing only references to itself. A video stream
may consist of only I slices, but this is typically not
used. The first frame of a sequence always needs to
be built out of I slices.
P slices or “Predicted” slices use one or more
recently decoded slices as a reference (or
“prediction”) for picture construction. The
prediction is usually not exactly the same as the

Since MPEG-1, motion compensation is a standard
coding tool for video compression. Using motion
compensation, motion between frames can be
encoded in a very efficient manner. A typical Ptype block copies an area of the last decoded frame
into the current frame buffer to serve as a
prediction. If this block is assigned a nonzero
motion vector, the source area for this copy process
will not be the same as the destination area. It will
be moved by some pixels, allowing to
accommodate for the motion of the object that
occupies that block. Motion vectors need not be
integer values: In H.264, motion vector precision is
one-quarter pixel (one-eighth pixel in chroma).
Interpolation is used to determine the intensity
values at non-integer pixel positions. Additionally,
motion vectors may point to regions outside of the
image. In this case, edge pixels are repeated.
Because adjacent blocks tend to move in the same
directions, the motion vectors are also encoded
using prediction. When a block’s motion vector is
encoded, the surrounding blocks motion vectors are
used to estimate the current motion vector. Then,
only the difference between this prediction and the
actual vector is stored.

4. Macroblock Layer
Each slice consists of macroblocks (or, when using
interlaced encoding, macroblock pairs) of 16x16
pixels. The encoder may choose between a
multitude of encoding modes for each macroblock.
4.1 Macroblock modes for I slices
In H.264, I slice uses a prediction/residual scheme:
Already decoded macroblocks of the same frame
may be used as references for intra prediction

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

process. The macroblock mode indicates which of
two possible prediction types is used:
Intra_16x16 uses one intra prediction scheme for
the whole macroblock. Pixels may be filled from
surrounding macroblocks at the left and the upper
edge using one of four possible prediction modes.
Intra prediction is also performed for the chroma
planes using the same range of prediction modes.
However, different modes may be selected for
luma and chroma.
Intra_4x4 subdivides the macroblock into 16 sub
blocks and assigns one of nine prediction modes to
each of these 4x4 blocks. The prediction modes
offered in Intra_4x4 blocks support gradients or
other smooth structures that run in one of eight
distinct directions. One additional mode fills a
whole sub block with a single value and is used if
no other mode fits the actual pixel data inside a
block. Intra chroma prediction is performed in an
identical way to the one used in Intra_16x16
prediction. Thus, the chroma predictions are not
split into sub blocks as it is done for luma.
Additionally, a third intra macroblock type exists:
I_PCM macroblocks contain raw uncompressed
pixel data for the luma and chroma planes. This
macroblock type is normally not used.
4.2 Macroblock modes for P and B slices
P and B slices use another range of macroblock
modes, but the encoder may use intra coded
macroblocks in P or B slices as well. In regions of
uniform motion without texture changes,
macroblocks may be skipped. In this case, no
further data is stored for the macroblock, but it is
motion-compensated using the predicted motion
vector. Otherwise, the macroblock of 16x16 pixels
is divided into macroblock partitions:
 It may be stored as a single partition of
16x16 pixels.
 It may be split horizontally into two
partitions of 16x8 pixels each.
 It may be split vertically into two
partitions of 8x16 pixels each.
 It may be split in both directions, resulting
in four sub-macroblock partitions of 8x8
pixels.
Each of these may be split similarly into partitions
of 8x8, 8x4, 4x8 or 4x4 pixels. Not all submacroblock partitions need to be split in the same
manner, thus allowing for any number of partitions
from 1 to 16.
Each macroblock or sub-macroblock partition
stores its own motion vector, thus allowing for

255

motion isolation of objects as small as 4x4 pixels.
Additionally, a reference frame number that is used
for prediction is stored for each partition.

5. Block Transformation and Encoding
The basic image encoding algorithm of H.264 uses
a separable transformation. The mode of operation
is similar to that of JPEG and MPEG, but the
transformation used is not an 8x8 DCT, but a 4x4
integer transformation derived from the DCT. This
transformation is very simple and fast; it can be
computed using only additions/subtractions and
binary shifts. It decomposes the image into its
spatial frequency components like the DCT, but
due to its smaller size, it is not as prone to high
frequency “mosquito” artifacts as its predecessors.
An image block B is transformed to B’ using the
formula1. The necessary post-scaling step is
integrated into quantization and therefore omitted:

M=

1 1 1 1
2 1 -1 -2
1 -1 -1 1
1 -2 2 -1
B’=MBMT

………(1)

The basic functionality of the H.264 image
transformation process is as follows: For each
block, the actual image data is subtracted from the
prediction. The resulting residual is transformed.
The coefficients of this transform are divided by a
constant integer number. This procedure is called
quantization; it is the only step in the whole
encoding process that is actually lossy. The divisor
used is called the quantization parameter; different
quantization parameters are used for luma and
chroma channels. The quantized coefficients are
then read out from the 4x4 coefficient matrix into a
single 16-element scan. This scan is then encoded
using sophisticated (lossless) entropy coding. In the
decoder, these steps are performed in reversed
order.
5.1 Entropy encoding modes
H.264 supports two different methods for the final
entropy encoding step: CAVLC, or ContextAdaptive Variable Length Coding, is the standard
method using simple variable length Huffman-like
codes and codebooks. CABAC, or Context-

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

Adaptive Binary Arithmetic Coding, on the other
side, is an optional, highly efficient binary
encoding scheme.
5.2 DC transformation
The upper left transform coefficient (i.e. the first
coefficient in scan order) is treated separately for
Intra_16x16 macroblocks and chroma residuals.
Because this coefficient indicates the average
intensity value of a block, correlations between the
DC values of adjacent equally predicted blocks can
be
exploited
this
way.For
Intra_16x16
macroblocks, the DC coefficients are transformed
using a separable 4x4 Hadamard transform with the
following matrix:

M =

1 1 1 1
1 1 -1 -1
1 -1 -1 1
1 -1 1 -1

…………(2)
Chroma residuals are always transformed in one
group per macroblock. Thus, there are 4 chroma
blocks per macroblock and channel. A separable
2x2 transform is used:

M =

1 1
1 -1

256

6.2 Advanced prediction
H.264 may not only use interframe references to
the last decoded frame, but to an arbitrary number
of frames. This greatly improves the encoding
efficiency of periodic movements (long-term
prediction). Moreover, multiple predictions may be
mixed by arbitrary ratios (weighted prediction).
6.3 Arbitrary Slice Ordering
Since the slices of a picture can be decoded
independently (except for the slice edges which can
only be approximated), slices need not be decoded
in the correct order to render an image in
acceptable quality. This is useful e.g. for UDP
streaming where packets may be delivered out-oforder.
6.4 Flexible Macroblock Ordering
The macroblocks inside a slice may be encoded in
any order. This can be used to increase robustness
against transmission errors, for example. It is also
reminiscent of MPEG-4’s “video object planes”
system, which could be used to encode each object
of a scene individually. In normal video streams,
however, this feature is not used, and macroblocks
are sent in the normal scan line order.

7. SYSTEM DESIGN
…………..(3)

6. Advanced Coding Tools
Beyond the basic structure described above, H.264
offers additional features to improve coding
efficiency.
6.1 In-Loop Deblocking Filter
After each individual frame has been decoded, a
deblocking filter that reduces the most visible
blocking artifacts is applied. This has been
available since MPEG-4 Simple Profile as an
optional post-processing operation, but in H.264, it
is closely integrated into the encoding and
decoding process: The already deblocked frames
are used as reference frames by the following P or
B slices. This technique circumvents noticeable
blocking artifacts as far as possible.

7.1 Introduction
Design is the first step in moving from problem
domain towards the solution domain. A design can
be object oriented or function oriented. In this
paper function oriented method is followed which
consists of module definition with each module
supporting a function abstraction. As shown in the
below Fig2 sensor image output can be compressed
by the H.264 standard before delivered to the
actuators on the scene.

Sensor Input
of Robot

Compress
-ed
memory
model

Fig 2 Context diagram of Compressed Memory
model for Robotics

Actuators of
Robot

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

namely NAL Unit Decoder, Variable Length
Decoder, Inverse transformation and Quantization
module and Motion Compensation and Picture
construction module, which will perform the
following processes to obtain the decoded video
frames from the encoded H.264 Byte stream.

7.2 Structured design
The context diagram for the H.264 Baseline
decoder is as shown in Fig 3. The input and output
of the system are as given in this diagram.

H.264
Baseline
Decoder

H.264
media
stream

1
2
3

Output
File in
YUV

4

The input to the decoder is a video file/bitstream,
which is encoded using H.264 standard. The
decoder decodes the input file and stores the output
as a yuv file. The output file can be played using
any YUV Player/Viewer.Using this as the starting
point, a logical data flow diagram of the physical
system is constructed. The DFD (Data Flow
Diagram) for the same is shown Fig 4.

Decoded
Macrobl
ocks

Varia
ble
Lengt
h
Deco
der

NAL
Unit
Deco
der

Debl
ocking
Filte
r

Distor
ted
Macr
oblock

MC
and
Pictu
re
Const
ru-

Quantiz
ed Coefficient

7.3 Functional and Design specification
Here, the major requirements are listed and then a
list of modules in the system that implements those
requirements is given.

Inver
se
Quan
tizatio
n

Differen
ce
Macro

NAL unit decoding process
Variable length decoding process
Inverse transformation and quantization
process
Motion compensation and picture
construction process

Apart from these four main functional blocks, a
deblocking filter is also needed in the system
which filters the edges of the distorted
macroblocks; thus helping in eliminating blocking
artifacts and improving video quality.

Fig 3 Context diagram of H.264 Baseline Decoder

H.264
File

257

Inve
rse
Tran
sformat
i

1

A user friendly GUI should be provided
for easy interaction with the decoder.

2

The input to the decoder should be a
media file encoded using H.264 baseline
profile.

3

The validity of the input file should be
checked.

4

For bitstreams which do not confirm to
H.264 baseline profile an error message
should be flashed to the user.

5

Four processes NAL unit decoding,
Variable length decoding, Inverse
transformation and quantization and
Motion compensation and picture
construction should be performed on the
encoded media file to get decoded video
frames.

6

Edges
of
the
decoded
macroblocks/frames should be filtered
out to eliminate blocking artifacts and
give an impression of finer quality video.

1

A status file and a log file should be
generated to review the decoding process.

Fig 4: Logical DFD of H.264 Baseline Decoder
As shown in the above DFD, the system designed
is desired to have four major functional modules

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

2

The decoded output should be stored as a
yuv file.

NAL Unit Decoder module:
Input:
H.264 bitstream.
Output:
NAL unit decoded data.
Purpose:
It is the first stage of the decoder. The
input to the decoder is a H.264 bitstream which is
organized as discrete packets called NAL units of
variable length. This stage is used for separating
the NAL units and for processing the header
information contained in these NAL units. Using
the header information this module also checks the
validity of the input bitstream.
Variable Length Decoder module:
Input:
Data from NAL unit Decoder.
Output:
Quantized co-efficients.
Purpose:
In this stage the data elements from the
NAL unit decoder are entropy decoded and
reordered to produce a set of quantized
coefficients.
Inverse Transformation and Quantization
module:
Input:
Quantized co-efficients.
Output:
Difference macroblock.
Purpose:
In this stage the quantized co-efficients
from the variable length decoding unit are rescaled
and inverse transformed to give difference
macroblock.
Motion Compensation and Picture Construction
module:
Input:
Difference macroblock.
Output:
Distorted macroblock.
Purpose:
In this stage the difference macroblock is
taken as an input and distorted macroblock is
produced as output. It is here in this stage that the
actual picture construction takes place.

258

Deblocking Filter module:
Input:
Distorted macroblock.
Output:
Decoded Macroblock.
Purpose:
The purpose of this stage is to filter the
edges of the macroblocks/frames to eliminate
blocking artifacts and give an impression of finer
quality video.

8. Data Flow Diagrams
In this section flow charts are given for the NAL
Unit decoder module, Variable length decoder
module, Inverse transformation and quantization
module and Motion compensation and picture
construction module. Also a flow control diagram
indicating decoder control flow is given.

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

259

START

START

Get I/P and O/P file
specifications using
GUI

Open decoder
configuration file
and read input

If DECODE
Is End of Stream ?

Create decoder
configuration file and write
user data into this file

Yes

No

Write to status
file

Separate NAL Units

Close decoder
configuration file

END

Allo cate memory for NAL
units and parse NAL unit
header information

Launch decoder

No
Is decoding finished

Yes
Read status
file

Display status file
contents on status
box of GUI

Fig 6: NAL Unit Decoder module
RESET

Close status file
Yes

PLAY

Delete decoder
configuration file and
status file

START

No

Yes
Launch decoder output
viewer

No

Play O/P file

Exit decoder output
viewer

Fig 5: Decoder Control flow

Read data elements
from NAL unit decoder

STOP

Type of Coding

VLC /UVLC

Decode VLC /
UVLC coded data
elements

CAVLC

Decode CAVLC
coded data
elements

CABAC

Decode CABAC
coded data
elements

END

Fig 7: Variable Length Decoder module

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

260

Start

Start

Read quantized
samples from varia ble
length decoder

Call decode one I or P frame

Is luma sample ?

No

A

Is all the frames over?

Yes

END

No

Yes

Call decode slice
Is macroblock prediction mode
intra16x16 ?

No

Yes

Decode slice
Scanning of 4x4 luma DC co-efficie nts

Scanning of 4x4 residual co-efficients

Inverse quantizatio n of 4x4 luma DC
co-efficients

Inverse quantization of 4x4 resid ual
co-efficients

Fig 9: Motion Compensation and Picture
Construction module
Inverse transformation of 4x4 lu ma DC
co-efficients

Inverse transformation of 4x4 residual
co-efficients

END

Decode slice

Fig 8: Inverse transformation and quantization
module
Copy the active picture
parameter set

A

Go to decode one MB

Chroma samples from VLC

No

Initialize the current MB

Scannin g of 2x2 array of chroma component using Inverse Raster
scan

Decode one MB

Inverse quantizatio n of 2x2 chroma blocks

Reorder picture list

Inverse transformation of 2x2 chroma blo cks

Is end of slice ?

END

Yes

Go to Start

Inverse transformation and quantization module
(Cont’d)

Motion Compensation and Picture Construction
module (Cont’d)

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

is believed that important new applications will be
invented that will leverage H.264 technology.

Decode one MB

Is current MB
IPCM coded ?

Yes

Decode IPCM coded
macroblocks

261

No

References
Is intra Coded ?

Yes

No

Obtain the MVD
and current MV

Find the prediction mode

Calculate the actual motion vector
using MVD and MV

Switch to the decoding of
that mode

Obtain last two digits by anding with 11,
to obtain the fractional value of MV. The
remaining gives the integer part
Find the neighbors

Decode Intra predicted
macroblocks

Using interpolation obtain the values for
the macroblock to be predicted

Motion Compensation and Picture Construction
(Cont’d)

9. Conclusion
H.264 standard is found to increase coding
efficiency compared to any previous video coding
standards (like MPEG-4 part 2 and MPEG-2) for a
wide range of bit rates and resolutions. Thus the
visual input from the sensors of the robots can be
compressed by this technique before delivered to
the actuators on the scene.
H.264 because of its higher compression is
definitely going to be the prominent standard in the
near future. It will make possible new applications
that could have never been dreamed of before. The
higher performance of the H.264 is mainly due to
the tree structured motion compensation, which has
also made the implementation of the standard
simpler that many previous standards.
The increased compression performance of H.264
will enable existing applications like video
conferencing, streaming video over the internet,
and digital television on satellite and cable to offer
better quality video at lower cost, and will allow
new video applications that were previously
impractical because of economics or technology.
High-Definition television on DVD, Video on
mobile phones and video conferencing over low
bandwidth connections will become practical and it

[1] A.K.Jain. “Fundamentals of Digital Image
Processing”. Englewood Cliffs, NJ: Prentice
Hall, 1989
[2] Peter Symes, “Digital Video Compression”,
McGraw-Hill, 2003.
[3]Khalid Sayood. “Introduction to Data
Compression”, second edition
[4] William B. Pennebaker and Joan L. Mitchell,
“JPEG Still Image Data Compression
Standard”, Van Nostrand Reinhold, 1993.
[5] Zi Nan Li and Mark S Drew, “Fundamentals of
multimedia”, Pearson Publication.
[6] Joan L. Mitchell, “MPEG Video Compression
Standard”, Chapman & Hall: International
Thomson, 1996.
[7 MPEG Video Compression Technique,
http://rnvs.informatik.tuchemnitz.de/~jan/MPEG
/HTML/mpeg_tech.html .
[8] MPEG website: http://www.mpeg.org
[9] N .Abramson. “Information theory and coding”.
New York: McGraw-Hill, 1963
[10] T.A. Welch. “A Technique for HighPerformance
data
compression”,
IEEE
Computer, pages 8-19, June 1984
[11] M. Ghanbari, “Standard Codecs: Image
Compression to Advanced Video Coding,”
Hertz, UK: IEE, 2003.
[12] MPEG-2: ISO/IEC JTC1/SC29/WG11 and
ITU-T,
“ISO/IEC
13818-2:
Information
Technology-Generic Coding of Moving Pictures
and Associated Audio Information: Video,”
ISO/IEC and ITU-T, 1994.
[13] IEEE Transactions on Circuits and Systems
for Video Technology, Special Issue on the
H.264/AVC Video Coding Standard, Vol. 13,
No. 7, July 2003.
[14] P. Hoyingcharoen and C. Schmidt,
“Overview of H.264/AVC, Signal Compression
Lab, UCSB”.
[15] ISO_IEC_14496-10 first edition December
2003.
[16] Iain E. G. Richardson. H.264 / MPEG-4 Part
10 Tutorials
[17]MPEG-4:
ISO/IEC
JTCI/SC29/WG11,
“ISO/IEC 14 496:2000-2: “Information on
Technology-Coding of Audio-Visual Objects”Part 2: Visual,” ISO/IEC, 2000.
.

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

Iterative Refinement of Transformation Parameters for Image
Registration
1

Jharna Majumdar, 2Vanathy.B and 3Lekshmi.S

1
Former Sc G (DRDO), Prof. and Dean R and D,
Dept. of CSE,Nitte Meenakshi Institute of Technology, Bangalore, India

2

Scientist D, Aerial Image Exploitation Division,
Aeronautical Development Establishment, Bangalore, India
3

Scientist D, Naval Physical Oceanographic Laboratory, Cochin, India

Abstract
Image registration is an important process in high-level image
interpretation systems developed for civilian and defense
applications. Registration is carried out in two phases :
namely feature extraction and feature correspondence. The
basic building block of feature based image registration
scheme involves matching feature points that are extracted
from a sensed image to their counter parts in the reference
image. Features may be control points, corners, junctions or
interest points. The objective of this study is to develop a
methodology for iterative convergence of transformation
parameters automatically between two successive pairs of
aerial or satellite images. In this paper we propose an iterative
image registration approach to compute accurate and stable
transformation parameters that would handle image sequences
acquired under varying environmental conditions. The
iterative registration procedure was initially tested using
satellite images with known transformation parameters like
translation, rotation, scaling and the same method is further
tested with images obtained from aerial platform.

Key

words: Image registration,
Homography, Correlation

Corner

Detector,

In the present scenario, aerial imagery is obtained from
a camera mounted on an Unmanned Aerial Vehicle
(UAV). UAVs are slow moving vehicles developed for
the purpose of surveillance and reconnaissance. The
ground image exploitation system located at the Ground
Control Station (GCS) receives video imagery and the
corresponding telemetry data during mission and this
system executes the high level image interpretation
tasks in real time. Hence the iterative image registration
method employed in most of the defense applications
should be highly accurate and computationally efficient
to meet the end users requirement.
The iterative registration procedure initially calculates
the global matching between the pair of images by
feature correspondence followed by local matching for
fine alignment. The initial match points are filtered
using the correlation coefficients, which are then used
for the computation of transformation parameters and
this process is repeated for n iterations till the
transformation parameters converges.

2 Methodology
1. Introduction
Image registration is one of the important components
for the image application like image fusion, panoramic
mosaicing, high resolution reconstruction, change
detection etc. The accomplishment of these high level
tasks rely on the image registration method that is used
to geometrically align the sequence of aerial images [12].

Image registration is performed to geometrically align
multiple images where one of the images is considered
as the reference image on to which other image is
registered. In this work, an automatic image registration
is performed which starts from a global alignment and
proceeds in a hierarchical manner to local alignment.
The corner features are identified using the well known
KLT / Harris corner detectors which are then further
filtered using cornerness similarity measure. The global
alignment is performed by considering corner features

262

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

as control points and the match points are stored as
initial guess. The alignment is done preserving the
underlying structure of the individual images. In the
conventional approach of image registration, the
transformation parameter estimation is performed
considering the ground truth of the control points.
In the local alignment step, a search window around
each match point is constructed and searching is
performed locally between the candidate match points
of the reference image and the second image. The pixel
corresponding to the match point from the reference
image is compared with the individual feature point in
the search window and the measure of comparison is
calculated based on correlation methods. The pixel
having the highest score for correspondence is
identified as the exact match point corresponding to the
pixel in the reference image. After obtaining the feature
point correspondence using feature matching, the match
points are sorted according to the correlation
coefficients. The first few points from the sorted list are
considered for computation of transformation
parameters. This process is iteratively repeated until the
transformation parameters converge. The block diagram
of the entire process is shown in Fig 1. P10, P20 are the
input feature points calculated from the input pair of
images. P1, P2 are the match points after global
matching and H1 is the initial homography matrix used
to calculate the global transformation parameters. P1', P2'
are the corresponding set of points after local matching
using the normalized area correlation method. Match
points are filtered based on the normalized area
correlation coefficients-2 and then the corresponding
sets of match points are P1S', P2S'. Using these points the
homography matrix H2 is calculated and correlation is
calculated around the matched pair of points. P1S'', P2S''
are the corresponding set of points with coefficient-3.
Transformation parameters are repeatedly computed for
n iterations and finally checked for convergence.

A geometric transformation is a mapping that relocates
image points. Transformations can be global or local in
nature. Global transformations are usually defined by a
single set of parameters, which is applied to the whole
image. Some of the most common global
transformations are affine, perspective, and polynomial
transformations. Translation and rotation transforms are
usually caused by the orientation of the sensor, while
scaling transform is the effect of change in altitude of
the sensor used for acquiring the images. The
registration between two images is performed by a
global alignment to obtain a coarse matching followed
by a local alignment for fine matching. The global
alignment is performed by feature based registration
and the local alignment is performed by area based
registration. After local matching, the new sets of match
points are filtered to obtain the well correlated match
points and the homography is computed. This process is
continued until a stable homography between the two
images is obtained.

3.1 Global alignment by feature based registration
In the case of feature-based registration, prominent
features are extracted from the reference image and the
search image, which would be the candidate points to
compute the transformation parameters between the
images [3-7]. The features could be edges, corners or
some regions of user choice.
3.1.1 Feature extraction
The features considered in this study are corners
extracted by KLT feature detector and Harris feature
detectors.
3.1.1.1 KLT Corner detector
The Kanade-Lucas-Tomasi (KLT) corner detector
operates by comparing a patch of image information in
two consecutive image frames from any image
sequence. KLT features are geometrically stable under
different transformations. The KLT operator is based on
the local structure matrix Cstr. The local structure matrix
Cstr is computed as follows
Cstr

3 Registration Process

Fig.1 Block diagram for iterative registration procedure

263

=

 fx2
 f x f y

wG(r;)  

fx fy 
2  where fx
f y 

and fy denote the first derivative along the x and y
direction respectively for the point f(x, y) in the image
and wG(r;) is a Gaussian filter of selected size . The

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

output is a list of feature points with the following
properties.
(i)  2 >  thr ( 2 is the smaller Eigen value of Cstr after
diagonalisation).
(ii) D-neighborhood of these points does not overlap
 thr is a variable used to vary the number of corners
detected. The variable D can also be adjusted to take
care of overlap. The features detected using KLT corner
detector is shown in Fig 2.

(a) Input image 1

(b) Input image 2

(c) No of features detected
in image1 is 1000

(d) No of features detected
in image2 is 1000

Fig. 2(a) – (d) Input images and feature detected images using
KLT corner detector

3.1.1.2 Harris Corner detector
The Harris corner detector is based on an underlying
assumption that corners are associated with the maxima
of the local function. It is less sensitive to noise in the
image since the computations are based entirely on first
derivatives. The Harris corner detector computes a
cornerness value, C(x, y) for each pixel in the image
I(x, y). A pixel is declared as a corner if the value of
C(x, y) is below a certain threshold. The value of C(x,
y) is computed from the intensity gradients in the x and
y direction as follows:
C(x, y) = det Cstr -  (trace Cstr2). Where  is a constant
and trace is the highest eigen value. The local structure
matrix Cstr is represented as follows.
Cstr =

 f x2
wG(r;)  
 fx fy

fx fy 

f y2 

where fx and fy denote the first derivative of the point
f(x,y) in the image along the x and y direction
respectively and wG(r;) is a Gaussian filter with
selected size . The features detected using Harris
corner detector is shown in Fig 3.

264

(a) No of features detected
in image1 is 1000

(b) No of features detected in
image2 is 1000
3.1.2 Feature reduction
Fig. 3 (a) – (b) Input images and feature detected images using
Harris corner detector

After feature extraction, feature reduction is performed
to retain only dominant feature points whose
correspondence can be accurately established between
each pair of images.
The feature reduction method considered in this study is
cornerness similarity measure.

Cornerness is the characteristic property of any interest
point (feature point) p and is defined as Cp=| λ12 + λ22 |,
where λ1 and λ2 are the two eigen values of the feature
point. The correspondence between 2 points are
measured using the similarity measure S (p, q) is
defined as
S (p, q) = min (Cp, Cq) /max (Cp, Cq).
where p and q are in two images, A point is considered
as a good feature if, S (p, q) >T. where T is a variable
threshold. If the value of the corner strength exceeds the
predefined threshold, then the corner is considered as a
prominent feature and is retained for subsequent
computations. The reduced features are shown in Fig. 4.

(a) No of Feature points in
image1 is 463

(b) No of Feature points
in image2 is 463

Fig. 4(a) – (b) Images after feature reduction

3.1.3 Estimation of Homography
The feature points after feature reduction with
maximum corner strength are used to calculate the
homography matrix. The values of the homography
matrix are obtained by using a RANSAC method and
this matrix essentially give the transformation
parameters or the displacement vector between the
points in the search image with respect to the reference
image [7-8].
If m is a point in reference image and H is the
homography then the mapped coordinate point, m’ in
search image is represented as m’ = H (m),

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

H l (0,0)  H l (1,0) H l (2,0)
where H = H (1,0) H (0,0) H (3,0)
l
l

 l
 0
0
1 
In the above homography matrix, Hl (0, 0) is sCos and
Hl (1, 0) is sSin, where s and θ represent the scaling
and rotation between the sequence of images (I1 and I2).
Hl (2, 0) and Hl (3, 0) represent translation along x (Tx)
and y direction (Ty) respectively. An example of image
matching is shown in Fig. 5(a)-(b). The transformation
parameters for the above images are Tx = -68.71, Ty = 14.73, R = 3.59, S = 1.03.

265

window W in the search image. The point that has the
maximum correlation coefficient value is chosen as the
corresponding point of the match point in the search
image. An approach of coarse and fine matching is
done to calculate the correlation coefficient. The results
of the local matching points are shown in Fig. 6.

(a) No of match points in
Image 1 is 35

(b) No of match points in
Image 2 is 35

Fig. 6(a) – (b) Images after feature matching

3.3 Generation of stable homography
(a) No of match points in
image1 is 35

(b) No of match points in
image2 is 35

Fig. 5(a) – (b) Images after feature matching

The homography matrix computed using the feature
points do not give the exact transformation parameters
in the case of all pair of images. If the images are rich
features and have less rotation and scaling then the
estimation of homography leads to a correct result. The
homography matrix would result in mismatch between
the respective points in the two images in the case of
poor contrast images which less features. In such cases,
a local alignment of the respective match points needs
to be performed.

After obtaining the fine match points by local matching,
the match points with highest and second highest
correlation factor are considered to compute the
homography. The computation of homography results
in the calculation of transformation parameters that is
closer to the real values. The process is repeated until a
stable homography is obtained between successive
iterations. Fig. 7 shows the matching between two
images after attaining a stable homography. The
transformation parameters in this example are Tx =
-65.86, Ty = 5.11, R = 3.36, S = 1.01. Table 1 shows
the variation of transformation parameters from
multiple iterations.

3.2 Local alignment by area based registration
The criteria for computing the fine match point is to
form a correlation measure between functions and
determine the location of the maximum correlation [9].
The general expression to calculate the for normalized
area correlation coefficient is as follows



  fabs




where




i 1 j 1
i 1 j 1
i 1 j 1

2
2


l m
 
l m
  
2
2
l  mx(i, j)   x(i, j)    l  m y(i, j)    y(i, j) 
 i1 j1
 
 i1 j1
  

l

m

l

m

l

m

l  mx(i, j)  y(i, j)   x(i, j)   y(i, j)

Iterat
ions
1
2
3
4
5

Transformation parameters
Translation
in x direction
(Tx)
-58.26
-65.86
-65.86
-65.86
-65.86

Translation
in y direction
(Ty)
-14.22
5.11
5.11
5.11
5.11

Rotation
(R)

Scaling
(S)

3.36
5.51
5.51
5.51
5.51

1.01
1.01
1.01
1.01
1.01

Table 1: shows the variation of transformation parameters for multiple
iterations for aerial images

x(i, j) : referenceimagegray level
y(i, j) : gray level of the sub imagein the searchspace

For each of the feature point in the reference image,
construct a window W, and a search window in the
search image. The correlation coefficient is computed
between the window W in the reference image and the

(a) No of match points in
(b) No of match points in
image 1 is 14
image 2 is 14
Fig. 7(a) – (b) Images after final matching

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

266

4.2 Case 2: Building from aerial images with
unknown transformation parameters

4 Experimental Study
The iterative registration procedure was tested on
satellite images with known transformation parameters.
The transformation parameters finally converge and
were found stable.
Fig. 8 shows all the intermediate results generated using
the satellite images with known transformation
parameters. In the iteration procedure, the
transformation parameters are found to remain
stabilized after a few iterations. Finally the module was
tested with aerial images obtained from aerial platform.
The results obtained were found to be satisfactory. The
experimental results for all the iterations are tabulated
in table 2.

Transformation parameters for satellite images
Iterat
ions
1
2
3
4
5

Translation
in x direction
(Tx)
-0.65
-1.70
1.085
1.085
1.085

Translation
in y direction
(Ty)
88.50
88.09
89.31
89.31
89.31

Rotation
(R)

Scaling
(S)

19.97
20.18
20.16
20.16
20.16

1.00
1.00
0.993
0.993
0.993

Table 2: shows the variation of transformation
parameters for multiple iterations for satellite images.

Fig. 9 and Fig.10 shows the results generated using the
aerial images for Building and Road Junction. The
corresponding transformation parameters for all the
iterations are tabulated in the tables 3 and 4
respectively.

4.1 Case 1: Satellite images with known
transformation parameters
(a) Aerial image

(a) Satellite image1

1

(b) Satellite image2 rotated
by 20.0°
(c) No of features detected
in image1 is 1000

(c) No of features detected
in image1 is 500

(d) No of features detected
in image2 is 1000

(d) No of features detected
in image2 is 500

(e) No of match points in
image1 is 147

(e) No of match points in
image1 is 246

(b) Aerial image 2

(f) No of match points in
image2 is 246

Fig. 8 (a – f) Feature extraction, reduction, matching for a pair of
satellite images

(f) No of match points in image2
is 147

Fig. 9(a) – (f) Feature extraction, reduction, matching for
a pair of aerial image - Building

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

4.3 Case 3: Road Junction from aerial images with
unknown transformation parameters

(b) Aerial image 2

(a) Aerial image 1

267

using iterative refinement of transformation parameters.
After obtaining approximate match pair of points
between the reference image and the search image by
homography matrix, a local matching is performed in
the search image corresponding to the points in the
reference image. The fine match points so obtained are
filtered and the selected points automatically are used to
generate the new homography matrix. The process is
repeated till there is no significant change in the
transformation parameters. Thus the iterative
registration scheme can be used in various applications
like aerial image mosaicing, high resolution
reconstruction of low resolution images and change
detection.

6 Acknowledgement

(c) No of features detected
in image1 is 1000

(d) No of features detected
in image2 is 1000

The authors wish to express their heartfelt thanks to
Director ADE for his kind permission to publish the
study.

7 References

(e) No of match points in
image1 is 72

(f) No of match points in
image2 is 72

Fig. 10(a)-(f) Feature extraction, reduction, coarse & fine matching
for a pair of aerial image-Road Junction

Transformation parameters for Road Junction
Iterati
ons

Translation
in y direction
(Ty)
74.09
72.83
73.51

Rotatio
n(R)

Scalin
g(S)

1
2
3

Translation
in x direction
(Tx)
-6.19
-7.10
-5.61

1.10
1.35
1.46

1.01
1.02
1.01

4

-5.44

74.68

1.32

1.01

5

-5.20

74.29

1.38

1.01

Table 4: shows variation of transformation parameters for multiple
iterations in aerial images - Road Junction.

5 Conclusion
The paper suggests a new unique approach to compute
a stable homography between a pair of aerial images

[1] L.G. Brown, ‘A survey of image registration techniques’,
ACM Computing Surveys, Vol. 24, No. 4, pp. 325-376,
December 1992.
[2] Jharna Majumdar, B. Vanathy, Navneet Varshney, D
Raghavendra Rao, Umesh Jalan, Girish R, ‘Image Mosaicing
from video sequences’, IETE Journal 2002.
[3] Jharna Majumdar, Vinay. S, Sethu Selvi, ‘Registration and
mosaicing for images obtained from UAV’, SPCOM 2004,
Bangalore
[4] S. M. Smith and J. M. Brady ‘SUSAN- A New Approach
to low level Image processing’, 1995.
[5] J. Shi and C. Tomasi, ‘Good features to track’, Proc. IEEE
CVPR, 1994.
[6] ‘Joint Tracking of Features and Edges’, IEEE Conference
on
Computer
Vision
and
Pattern
Recognition
(CVPR),Anchorage, Alaska, June 2008
[7] C. Harris and M. Stephens, ‘A combined corner and edge
detector’, Alvey Vision Conference, pp 147-151, 1988.
[8] Gerald Jean Francis Banon, Sergio Donizete Faria,
‘Morphological approach for template matching ’,
Brazilian Symposium on Computer Graphics and Image
Processing, 1997.
[9] Frank Nielsen, ‘Randomized adaptive algorithms for
mosaicing systems’, IEICE TRANS. INF & SYST July 2000.
[10] Gerald Jean Francis Banon, Sergio Donizete Faria, ‘Area
based matching algorithm assessment from satellite images’,
pp 573-577, Proc. 8th ECS and Image Analysis, 2001.

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

Performance Analysis of FTTH at 10 Gbit/s by GEPON
Architecture
Monika Gupta1, Neeru Malhotra2 and A.N.Pathak3
1

2

Department of Electronics and Communication Engineering, SSIET, Derabassi, Punjab, India

Department of Electronics and Communication Engineering, DAV Institute of Engineering and Technology, Jalandhar,
Punjab, India
3

Department of Applied Sciences, NITTTR, Chandigarh, India

Abstract
Gigabit Ethernet passive optical network GEPON is becoming
technology of choice for meeting increasing bandwidth demands
in optical networks.This study establishes analysis, simulation
and performance evaluation of GEPON FTTH system(with and
without dispersion compensation) with triple play with video
broadcast at 1550nm and voice over IP and high speed internet at
1490nm at 10 Gbps data link downstream configuration with
1:16 splitting and distance of 20km and 30km.
Keywords: FTTH, PON, DCF,GEPON

1. Introduction
In today’s information age, there is a rapidly growing
demand for transporting information from one place to
another.Optical communication systems have proven to be
suitable for moving massive amounts of information over
long distances at low cost. As internet traffic capacity is
increasing,this increase has lead to future capacity
upgrades.Fiber optic cables are made of glass fiber that
can carry data at speeds exceeding 2.5 gigabits per second
(Gbps). Today almost all long haul high capacity
information transport needs are fulfilled by optical
communication systems[1-2]. For next generation of
optical communication systems,fiber-to-the-home(FTTH)
using passive optical network(PON) system design is
required to improve transmission performance. GEPON is
a perfect combination of Ethernet technology and passive
optical network technology.
1.1 Passive Optical Networks(PON)
PON is classified into APON (ATM PON), EPON
(Ethernet PON) and GPON (Gigabit Capable PON) on the
basis of protocol method. APON provides transmission at
622Mbps and uses ATM(Asynchronous Transfer Mode)
protocol. Later, APON has been renamed as
BPON(Broadband PON) since it is misunderstood that
APON provides only ATM service. Passive optical

network(PON) is a technology viewed by many as an
attractive solution to the first mile problem[3,4].A PON is
a point to multipoint optical network with no active
elements in the signal’s path from source to destination.
There are two competing optical distribution network
architectures: active optical networks (AONs) and passive
optical networks (PONs). Active optical networks rely on
some sort of electrically powered equipment to distribute
the signal, such as a switch, router, or multiplexer. Passive
optical network (PON) is a point-to-multipoint,
architecture in which unpowered optical splitters are used
to enable a single optical fiber to serve multiple premises.
In the earliest PONs, the synchronous transfer
mode(STM),the asynchronous transfer mode(ATM),and
subcarrier frequency division multiplexing(subcarrier
FDM or SCM)were all demonstrated for multiplexing
subcarrier traffic[5][6][7]. PON systems use optical fiber
splitter architecture, multiplexing signals with different
wavelengths for downstream and upstream[8][9][10].PON
means passive optic network, EPON is integrated with
Ethernet technologies, and GEPON is a Gigabit EPON.
GEPON system is designed for telecommunication use.
GEPON devices are fully compliant to IEEE802.3ah.This
series products features high integration, flexible
application, easy management, as well as providing QoS
function.

2. System description of GEPON FTTH
The GE in GEPON stands for gigabit Ethernet. EPON
based FTTH was adopted by IEEE standard IEEE802.3ah
in September 2004[11]. Adopting Ethernet technology in
the access network would simplify network management.
EPON standards networking community renamed the term
'last mile’ to 'first mile' to symbolize the importance and
significance of the access part of the network. EFM
introduced the concept of Ethernet Passive Optical
Networks EPONs, in which a point to multipoint P2MP
network topology is implemented with passive optical
splitters.

268

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

GEPON System Architecture

269

3. Simulation Analysis of GEPON FTTH
System with 1:16 splitting and reach of 20km
and 30km at 10 Gb/s
Data/Voice

Data/Voice

Figure 1 System configuration for FTTH GEPON with 1:16 splitter

The simulation model consists of three sections: 1) OLT
2) Distribution network and 3) ONU.
The network between the OLT and the ONUs is passive,
meaning that it doesn't require any power supply. The
presence of only passive elements in the network
decreases its operational and maintenance costs once the
infrastructure has been laid down.
The schematic diagram consists of a PRBS generator
which is producing the bit stream and is directly fed to the
NRZ electrical driver, now the output of the electrical
driver is goes to the modulator and finally get
amplified.Then we also combine data with video.For
video, we have two sine wave generator having different
frequencies and goes to the input of the summer, then
summer mixes both the frequencies and finally goes to
modulator and then amplifier. The outputs of both
amplifiers are fed to multiplexer ,both video and the
voice/data combines and transfer on optical fiber. Now at
end of the receiver side,every ONU has a particular
receiver for both the reception of the video and the
voice/data. Before the reception a splitter is used to
differentiate the particular user.
The optical signal from CO travels through fiber and
arrives at optical network termination unit.At the
subscriber here,the optical signal demultiplexes into
data/voice and video components.Data/voice is transmitted
at wavelength of 1490nm and video at 1550nm.The high
speed internet component is represented by a data link
with 10Gbps.The voice component can be represented as
VOIP service (voice over IP),which is gaining popularity
as an alternative to traditional PSTN(Public switched
telephone network) at the customer end.

Figure2

Received data spectrum

1) With DCF
Eye Diagram

(a)

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

270

(b)
Figure 3(a) Data/Voice eye diagram with DCF at 20km
(b)Data/Voice eye diagram with DCF at 30km

(a)

BER Values
Table 1 BER value with DCF

DIST
ANCE

BER WITH
(RS255,239)

BER
WITHO
UT
FEC
2.9369e

20KM

1.0000e-122

BER
WITH
(RS_CONCAT
_CODE)
1.0000e-122

5.5379e-018

1.0000e-122

-022
(b)

30KM

4.3978e

Figure 4(a) Data/Voice eye diagram without DCF at 20km

-005

(b) Data/Voice eye diagram without DCF at 30km

BER Values
Table 3 BER value without DCF

Q Factor
Table 2 Q factor with DCF

DISTANCE=20KM

DISTANCE=30KM

9.6317e+000

3.9216e+000

2) Without DCF

5.4987e-

BER
WITH
(RS255,
239)
9.4557e-

BER WITH
(RS_CONC
AT
_CODE)
1.7541e-

007

035

076

7.1805e-

1.0599e-

1.3067e-

003

002

002

DISTANC
E

BER
WITHOUT
FEC

20KM

30KM

Eye Diagram
Q Factor

Table 4 Q factor without DCF

DISTANCE=20KM

DISTANCE=30KM

4.8729e+000

1.4625e+000

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

271

CThR4.
Jong-Won Kim, Broadband Communications Department,
An Optimized ATM-PON Based FTTH Access Network,
International Conference on Information, Communications
and Signal Processing ICICS '09.
[10] Jaehyoung Park, Geun Young Kim, Hyung Jin Park, and
Jin Hee Kim, FTTH deployment status & strategy in
Korea, FTTH & U-City Research Team, Network Infra
Laboratory.
[11] Ethernet in the First Mile, IEEE Standard 802.3ah, 2004.
[9]

Video

Monika Gupta,
Derabassi
Pursuing MTech

Figure5

lecturer(ECE),

SSIET,

Received video spectrum

4. Conclusion
From simulation results, we conclude that BER value and
Q factor are much better with the use of dispersion
compensation. Also as distance varies from 20 to 30 km,
BER value and Q factor variation is high ,BER increases
and Q factor decreases.

References
[1]

[2]

[3]

[4]
[5]

[6]

[7]

[8]

P.R. Trischitta and W.C. Marra, “Global undersea
communication networks”, IEEE
Communication
Magazine, vol.34, no.2, February 1996, pp. 20-21.
N.S. Bergan, “Undersea communication systems”, in Optical
Fiber
Telecommunications IVB Components, Chapter
4,Academic Press, ISBN
0-12-395173-9, March 2002.
G.Pesavento and M. Kelsey, “PONs for the
Broadband Local Loop,” Lightwave, vol. 16, no.
10, Sept. 1999, pp.68-74.
B.Lung, “PON Architecture Futureproofs FTTH,”
Lightwave, vol.16, no.10, Sept.1999, pp.104-7.
J.R.Stern et al., “Passive optical networks for telephony
applications and beyond- TPON”, Electron. Letts., vol.23,
no.24, Nov.1987, pp.1255-1257.
N.Tokura et al., “A broadband subscriber network using
optical star couplers,” in Proc.Globecom’87, 1987, pp.
1439-1443.
T.E.Darcie, “Subcarrier multiplexing for multiple access
lightwave networks,” J. Lightwave Technol., vol. LT-5, no.
8, , Aug. 1987, pp. 1103-1110.
K. Kitayama, T. Kuri, J. J. Vegas Olmos, and H. Toda,
Fiber-Wireless networks and Radio-over-Fibre Techniques,
in Conference on Lasers and Electro-Optics/Quantum
Electronics and Laser Science Conference and Photonic
Applications Systems Technologies, OSA Technical
Digest (CD) (Optical Society of America, 2008), paper

Neeru Malhotra , A.P.& Head ECE
Department, DAVIET, Jalandhar
M.Tech (Pursuing PHD)
Life Membership: ISTE and Punjab Science
Congress

Dr.A.N.Pathak, Professor and Head Applied
Science Department, NITTTR ,Chandigarh
Member of Professional Body; Fellow of
Institution
of
Engineers,India
;
Life member of Indian Socity of
Biotechnology
Gold Medalist Institution Of Engineers , INDIA.
Educational Qualification; M.Sc. , B.Tech, M.Tech, Ph. D(
Chem- Engineering -IIT Delhi)., FIE, Post Doctorate Stuttgart
University
(GERMANY)..
GOLD MEDALIST at B TECH AND M TECH level both.
Gold Medal of Birbal Savitree SAHANI Foundation
Area of Specialisation: Applied Chemistry, Biotechnology,
Nanotechnology,IPR, Chemical Engineering, Fluid Mechanics,
Applied Sciences

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

272

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

Auden Technology & Management academy, Bangalore, India
2

3

C.M.R .Institute of Technology.
Bangalore, India

Manuro Tech. Research, Bangalore, India

Abstract
This research is having purpose to find the alternatives to
the solution of complex medical diagnosis in detection of
heart disease where human knowledge is apprehended in a
general fashion. Successful application examples shown
previously that human diagnostic capabilities are
significantly worse than the neural diagnostic system. This
paper describes a new system for detection of heart disease
based on feed forward neural network architecture and
genetic algorithm. Hybridization has applied to train the
neural network using Genetic algorithm and proved
experimentally, proposed learning is more stable compare
to back propagation. Detail analysis has given with respect
to genetic algorithm behavior and its relationship with
learning performance of neural network. Affect of
tournament selection has analyzed to get more detailed
knowledge what is happening internally. With the proposed
system we hope that, design of diagnosis system for heart
disease detection will become easy, cost effective, reliable
and efficient.
Keywords: Heart disease, Neural network, Genetic
algorithm, Tournament selection.

1. Introduction
Coronary artery disease cause severe disability and
more death than any other disease including cancer.
Coronary artery disease is due to athermanous
narrowing and subsequent occlusion of the coronary
vessel. It manifests as angina, silent ischemia,
unstable angina, myocardial infraction, arrhythmias,
heart failure and sudden death.
Corresponding authors:
1
K.S.Kavitha, 3 Manoj Kumar Singh
This research is completed at Manuro Tech. Research
Bangalore, India.

The term Heart disease encompasses the diverse
diseases that affect the heart. Heart disease is the
major cause of casualties in the world. Coronary
heart disease, Cardiomyopathy and Cardiovascular
disease are some categories of heart diseases. The
term “cardiovascular disease” includes a wide range
of conditions that affect the heart and the blood
vessels and the manner in which blood is pumped and
circulated through the body. Cardiovascular disease
(CVD) results in severe illness, disability, and death
[1]. Narrowing of the coronary arteries results in the
reduction of blood and oxygen supply to the heart
and leads to the Coronary heart disease (CHD).
Myocardial infarctions, generally known as a heart
attacks, and angina pectoris, or chest pain are
encompassed in the CHD. A sudden blockage of a
coronary artery, generally due to a blood clot results
in a heart attack. Chest pain arise when the blood
received by the heart muscles is inadequate [2].High
blood pressure, coronary artery disease, valvular
heart disease, stroke, or rheumatic fever/rheumatic
heart disease are the various forms of cardiovascular
disease. The World Health Organization has
estimated that 12 million deaths occurs world wide,
every year due to the cardiovascular diseases. Half
the deaths in the United States and other developed
countries occur due to cardio vascular diseases. It is
also the chief reason of deaths in numerous
developing countries. On the whole, it is regarded as
the primary reason behind deaths in adults [3].
Epidemiologists in India and international
agencies such as the World Health Organization
(WHO) have been sounding an alarm on the rapidly
rising burden of cardiovascular disease (CVD) for the
past 15 years [4].The reported Prevalence of coronary
heart disease (CHD) in adult surveys has risen four-

 

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

fold in 40 years and even in rural areas the
prevalence has doubled over the past 30 years [4]. In
2005, 53% of the deaths were on account of chronic
diseases and 29% were due to cardiovascular diseases
alone [5 6]. It is estimated that by 2020, CVD will be
the largest cause of disability and death in India. The
country already has more than 40.9 million people
with diabetes and more than 118 million people with
hypertension, which is expected to increase to 69.9
and 213 million respectively, by 2025 unless urgent
preventive steps are taken[7 9]. WHO estimates [10]
that India lost 9 billion dollars in national income
from premature deaths due to heart disease, stroke
and diabetes in 2005, and is likely to lose 237 billion
dollars by 2015.Further concern is the fact that
Indians are succumbing to diabetes, high blood
pressure and heart attacks 5–10 years earlier than
their Western counterparts [7, 11, 12,] in their most
productive years. Unfortunately, scientific data also
shows that socio-economically disadvantaged
sections of the population are now the dominant
victims of CVD and its risk factors [13-17]. There is
also preliminary evidence that the burden of CVD in
rural areas is increasing [18]. Therefore, there is a
need to initiate urgent action to forestall this grave
portent of increasing mortality and morbidity due to
CVD.
Let us have a look of report presented by
WHO in 2009 update (September).







CVDs are the number one cause of death
globally: more people die annually from
CVDs than from any other cause.
An estimated 17.1 million people died from
CVDs in 2004, representing 29% of all
global deaths. Of these deaths, an estimated
7.2 million were due to coronary heart
disease and 5.7 million were due to stroke.
Low- and middle-income countries are
disproportionally affected: 82% of CVD
deaths take place in low- and middleincome countries and occur almost equally
in men and women.
By 2030, almost 23.6 million people will
die from CVDs, mainly from heart disease
and stroke. These are projected to remain
the single leading causes of death. The
largest percentage increase will occur in the
Eastern Mediterranean Region. The largest
increase in number of deaths will occur in
the South-East Asia Region.

2. Human experts vs. machine expert in
diagnosis

273

Almost all the physicians are confronted during their
conformation by the task of learning to diagnose.
Here, they have to solve the problem of
deducing
certain diseases or
formulating a
treatment based on more or
less
specified
observations and knowledge.
The diagnosis of disease is a significant and tedious
task in medicine. The detection of heart disease from
various factors or Symptoms is a multi-layered issue
which is not free from false presumptions often
accompanied by unpredictable effects. With the
complexity of information available from health care
domain, human intelligence alone is not good enough
to ascertain the proper diagnosis. The problems
associated with people involve in the diagnosis can
considered broadly as (1) not having very high
accuracy in decision (ii) shortage of expertise (iii)
difficulties in knowledge up gradation (iv) time
dependent performance as shown in fig. (1). Because
of these problems there is necessity to develop the
expert system to provide the assistance mechanism in
diagnosis procedure. The conclusion is clear:
humans can not ad hoc analyze complex data
without errors.
Intelligent systems are increasing being deployed in
medicine and healthcare, to practically aid the busy
clinician and to improve the quality of patient care
[50][51][52][53][54][55][56]. The need for an
objective methodology for evaluating such systems is
widely recognized [52][53][57][58][59][60][61]. In
medicine and healthcare where safety is critical, this
is important if techniques such as medical expert
systems and neural systems are to be widely accepted
in clinical practice. Can neural networks help in this
situation? Answer is yes.
Artificial neural networks are
computational paradigms based on mathematical
models that unlike traditional computing have a
structure and operation that resembles that of the
mammal brain. Artificial neural networks or neural
networks for short are also called connectionist
systems or parallel distributed systems or adaptive
systems, because they are composed by a series of
interconnected processing elements that operate in
parallel. Neural networks lack centralized control in
the classical sense, since all the interconnected
processing
elements
change
or
“adapt”
Simultaneously with the flow of information and
adaptive rules. Neural networks are being applied to
an increasing large number of real world problems.
Their primary advantage is that they can solve
problems that are too complex for conventional
technologies; problems that do not have an
algorithmic solution or for which an algorithmic
solution is too complex to be defined. In algorithmic
approach, the computer follows a set of instructions

 

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

in order to solve a problem. Unless the specific steps
that the computer needs to follow are known, the
computer cannot solve the problem. That restricts the
problem solving capability of conventional
computers to problems that we are already
understood and knows how to solve. In general,
neural networks are well suited to problems that
people are good at solving, but for which computers
generally are not. These problems include pattern
recognition and forecasting – which requires the
recognition of trends in data. In case of neural
network, even for imprecise inputs the network is
able to retrieve the desired output or the data that is
closest to the desired output. Considering the
successful applicability of neural networks in many
areas, an endeavor to assess their performance by
providing the assistance in heart disease is the basis
for this work. Artificial Neural Networks (ANNs)
have been widely used as tool for solving many
decisions modeling problems. The various
capabilities and properties of ANN like
Nonparametric, on-linearity, Input-Output Mapping,
Adaptively make it a better alternative for solving
massively parallel distributed structure and complex
task in comparison of statistical techniques, where
rigid assumption are made about the model. Artificial
Neural Network being non-parametric, makes no
assumption about the distribution of the data and thus
capable of “letting the data speak for itself”. As a
result, they are a natural choice for modeling
complex medical problems when large databases of
relevant medical information are available.
The remaining sections of the paper are
organized as follows: In Section 3, a brief review of
some of the works on heart disease diagnosis is
presented. A brief introduction about the feed
forward neural architecture and its computing process
is given in Section 4. In section 5, concept of genetic
algorithms has given. Design of ANN learning based
on GA presented in section 6. Result of various
experiments and comparison contained by the section
7.Section 8 contain the analysis of tournament
selection. The conclusions and future work are
described in Section 9.

3. Previous work
Numerous works in literature related with heart
disease diagnosis have motivated our research Work.
The necessity of effective identification of
information -contextual data - non obvious and
valuable for decision making from a large collection
of data has been on a steady increase recently. This is
an interactive and iterative process encompassing
several subtasks and decisions and is known as
Knowledge Discovery from Data. The central process

274

of Knowledge Discovery is the transformation of data
into knowledge for decision making, known as Data
Mining [20, 38]. Knowledge discovery in databases
constitutes numerous distinct clearly illustrated
processes.

Complication in 
diagnosis

       Doctors 

        Advantage
Active intelligent 
diagnosis 

Time dependent 
performance

Replication of experts not 
possible 

Knowledge up gradation 
is difficult 

Difficult to establish 
multi variables relation 

Not possible to deliver 
quantitative result

Fig.1. complexity in diagnosis with doctor

The central process belongs to data mining which
aids in the recognition of hoarded yet beneficial
knowledge from enormous databases. A widely
accepted formal definition of data mining is given as
“Data mining is the non trivial extraction of implicit
previously unknown and potentially useful
information about data” [22].Conventionally, the
information that is mined is denoted as a model of the
semantic structure of the dataset. In recent times, the
data mining techniques are employed by numerous
authors to propose diagnosis approaches for various
kinds of heart diseases [32, 27, 38, 39, 40, 41]. A
novel technique to develop the multi-parametric
feature with linear and nonlinear characteristics of
HRV (Heart Rate Variability) was proposed by Heon
Gyu Lee et al. [32]. Statistical and classification
techniques were utilized to develop the multiparametric feature of HRV. Besides, they have
assessed the linear and the non-linear properties of
HRV for three recumbent positions, to be precise the
supine, left lateral and right lateral position.
Numerous experiments were conducted by them on
linear and nonlinear characteristics of HRV indices to
assess several classifiers, e.g., Bayesian classifiers
[35], CMAR (Classification based on Multiple
Association Rules) [34], C4.5 (Decision Tree) [36]

 

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

and SVM (Support Vector Machine) [33]. SVM
surmounted the other classifiers.
A model Intelligent Heart Disease Prediction System
(IHDPS) built with the aid of data mining techniques
like Decision Trees, Naïve Bayes and Neural
Network was proposed by Sellappan Palaniappan et
al. [27]. The results illustrated the peculiar strength of
each of the methodologies in comprehending the
objectives of the specified mining objectives. IHDPS
was capable of answering queries that the
conventional decision support systems were not able
to. It facilitated the establishment of vital knowledge,
e.g. patterns, relationships amid medical factors
connected with heart disease. IHDPS subsists well
being web-based, user-friendly, scalable, reliable and
expandable. The prediction of Heart disease, Blood
Pressure and Sugar with the aid of neural networks
was proposed by Niti Guru et al. [38]. Experiments
were carried out on a sample database of patients’
records. The Neural Network is tested and trained
with 13 input variables such as Age, Blood Pressure,
Angiography’s report and the like. The supervised
network has been recommended for diagnosis of
heart diseases. Training was carried out with the aid
of back propagation algorithm. Whenever unknown
data was fed by the doctor, the system identified the
unknown data from comparisons with the trained data
and generates a list of probable diseases that the
patient may vulnerable.

4. Feed forward architecture
The type of Architecture implemented in the
project is multiplayer Feed Forward architecture [62].
This neural network is formed in three layers, called
the input layer, hidden layer, and output layer. Each
layer consists of one or more nodes, represented in
this diagram by the small circles. The lines between
the nodes indicate the flow of information from one
node to the next. In this particular type of neural
network, the information flows only from the input to
the output. The nodes of the input layer are passive,
means they do not modify the data. They receive a
single value as their input, and duplicate the value to
their multiple outputs. In comparison, the nodes of
the hidden and output layer are active. Each value
from the input layer is duplicated and sent to all the
hidden nodes. The values entering a hidden node are
multiplied by weights; a set of predetermined number
is stored in the program. The weighted inputs are
then added to produce a single number. This is shown
in the diagram by the symbol Σ. Before leaving the

275

node, this number is passed through a nonlinear
mathematical function called Sigmoid. This is an “S”
shaped curve that limits the node’s output. That is,
the input to the sigmoid is a value between - ∞ to +
∞, while its output can only be between 0 and 1.The
outputs from the hidden layer given to output nodes
after multiplication with associated weight on that
path. The active nodes of the output layer combine
and modify the data to produce the output value of
the network.

5. Genetic Algorithms
5.1 Fundamental concept
Basic ideas on Genetic algorithms were first
developed by John Holland, and are mainly used as
search and optimization methods. Given a large
solution space, one would like to pick out the point
which optimizes an object function while still
fulfilling a set of constraints. In network planning, a
solution point could be a specific link topology, a
routing path structure, or a detailed capacity
assignment with minimum costs. Genetic algorithms
are based on the idea of natural selection. In nature,
the properties of an organism are determined by its
genes. Starting from a random first generation with
all kinds of possible gene structures, natural selection
suggests that over the time, individuals with "good"
genes survive whereas "bad" ones are rejected.
Genetic algorithms try to copy this principle by
coding the possible solution alternatives of a problem
as a genetic string. The genes can be bits, integers, or
any other type from which a specific solution can be
deduced. It is required that all solution points can be
represented by at least one string. On the other hand,
a specific gene string leads to exactly one solution. A
set of a constant number of gene strings, each
characterizing one individual, is called a generation.
Since the different strings have to be evaluated and
compared to each other, the notion of fitness is
introduced. The fitness value correlates to the quality
of a particular solution. Instead of working with the
actual solution itself, genetic algorithms operate on
the respective string representation. The following
three basic operators are applied :(i) Reproduction
(ii)Crossover (iii) Mutation. The reproduction
process creates a new generation, starting from an
existing generation; strings are reproduced with a
probability respective to their fitness value. Strings
which represent solutions with good properties have a
higher chance to survive than strings depicting
solution points with bad characteristics. This
principle is also known as "survival of the fittest”.

 

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

The crossover operator exchanges genetic
information between two strings. The strings of two
randomly selected solutions are broken up at
randomly chosen position, and parts of the strings are
exchanged. One hopes that two solutions with good
properties create an even better one. New genetic
material is introduced by the mutation operator. The
values of individual genes are changed and hence,
new solutions are chosen. Mutation becomes
important when after some generations the number of
different strings decreases because strong individuals
start dominating. In a situation of strong dominance
of few strings, the crossover operator alone would not
bring any changes and the search for an optimal
solution would be ended. To partially shift the search
to new locations in the solution space, the mutation
operator randomly alters genes.

5.2 Procedures for Implementation of Genetic
Algorithms
We start out with a randomly selected first
generation. Every string in this generation is
evaluated according to its quality, and a fitness value
is assigned. Next, a new generation is produced by
applying the reproduction operator. Pairs of strings of
the new generation are selected and crossover is
performed. With a certain probability, genes are
mutated before all solutions are evaluated again. This
procedure is repeated until a maximum number of
generations are reached. While doing this, the all
time best solution is stored and returned at the end of
the algorithm.

6. Evolution of weights in neural network
In recent times much research has been undertaken in
the combination of two important and distinct areas:
genetic algorithm and neural networks. Genetic
algorithms attempt to apply evolutionary concept to
the field of problem solving, notably function
optimization and have proven to be valuable in
searching large, complex problem spaces. Neural
network are highly simplified models of the working
of the brain. These consist of a combination of
neurons and synaptic connections, which are capable
of passing data through multiple layers. The end
result is a system which is capable of pattern and
classification. In the past, algorithm such as back
propagation have been developed which refine one of
the principle components of the neural networks: the
connection weights. The system has worked well, but

276

is prone to becoming trapped in local optima and is
incapable of optimization where problems lie in a
multi-model or non-differentiable problem space.
Genetic algorithms and neural networks can be
combined such that populations of neural networks
compete with each other in a Darwinian ‘survival of
the fittest’ setting. Networks which are deemed to fit
are combined and passed onto the next generation
producing an increasingly fit population, so that after
a number of iterations an optimized neural network
can be obtained without resorting to a design by hand
method.
The evolution of neural networks can be classified
according to the goals behind such evolution. Some
schemes have proposed the evolution of weights with
the fixed architecture. Other level of evolution where
improve can be expected are the architecture
,transfer function etc.[yao].the primary motivation for
using evolutionary technique to establish the
weighting values rather than traditional gradient
decent techniques such as back propagation lies in
the inherent problems associated with gradient
descent approaches. Back propagation in particular
can become easily trapped in local maxima,
‘furthermore it is impossible for a back propagation
algorithm to find the optimal solution if the function
being optimized is multimodal or non differentiable
[1].in addition it has been shown that back
propagation is sensitive to the initial condition of the
neural network causing additional problem.

6.1 Define Chromosome, Crossover &
mutation operation to generate the offspring
Initially a population of chromosomes created,
contains the uniformly distributed generated random
number. Chromosomes directly represented the
weights of neural network, as shown in fig (6). Hence
there is no need of any encoding mechanism in result.
Crossover here can be defined as node crossover.
From picked up two parents for generating off
springs, any one active node from the set of hidden
and output layer, pick up randomly with equal
probability. This node is considered as a node of
crossover. Values of all incoming weights for that
particular node are exchanged with available other
parent. Mutation can also be considered as node
mutation, where in an offspring, all incoming weights

 

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

for a randomly picked up active node added with
Gaussian distributed random numbers. These two
process shown in fig(7)and in fig(8).

6.2. Objective function
To get the fitness value of any chromosome, weights
are extracted from that chromosome, which is reverse
process of chromosome formulation. With the
available inputs and above defined weights,
architecture of neural network formed and output
generated. From the output, error value is defined.
Reciprocal of this error is taken as fitness value of
that particular chromosome.
i.e

Fitness = 1/error;

6.3. Algorithm for weights evolution by GA in
ANN
The following steps are taken for finding the optimal
value of weights.
(a) A population of µ parent solution
,i=1,…. µ,is initialized over a region M є
.
(b) Two parents selected randomly with
uniform distribution from population of µ
parents, and two offspring will created by
crossover operator as shown in fig( 7)
(c) Mutation on newly generated offspring will
be applied as shown in fig (8).
(d) Process from step (b) will repeated until
equal to
population of offspring
µ,otherwise move to process (e)
(e) Each parent solution
, i=1,…. µ and
,o=1,…. µ,is scored in light of
offspring
the objective function ƒ(X).
(f) A
mixture
population
contains both parent
population and offspring population created.
This mixture population randomly shuffled
so that parents and offspring could mix up
properly.
is
(g) Each solution from
evaluated against 10% of µ other randomly
chosen solutions from the mix population
.For each comparison a ‘win’ is assigned

277

if the solution’s score is less than or equal to
that of its opponent.
(h) The µ solutions with the greatest number of
wins are retained to be parents of the next
generation.
(i) If the difference in the best chromosome for
N number of continuous generation are less
than the defined threshold value k, terminate
the process and the last generation best
chromosome is the optimal weights,
otherwise proceed to step (b).

7. Experimental setup
7.1 Data set
Data set has taken from publically available UCI
repository [49]. Data set contains 270 patient’s record
and each patient condition defined by 13 parameters,
150 patient’s record taken for training data set and
remaining 120 for test data set.

7.2 Parameter setting
ANN architecture size: No. of Input nodes=13;
hidden nodes=2; output node=1;
(a)Weights adjustment with gradient decent: Bias &
momentum applied; Learning constant = 0.2;
Momentum constant=0.1;
(b)Weights adjustment with GA: Population size =
100, Initial range of random value definition: [-0.5
0.5] uniformly distributed;
With the above defined parameters of neural
network, architecture is created such that ten times
independent training and test process repeated to
capture more generalized capability for available data
set. Training of neural network has given by back
propagation learning[62] and genetic algorithm
independently to have various parameters like True
result (TR),False result(FR),True positive value
(TP+) ,False positive value(FP+),True negative value
(TN-) and false negative value(FN-).

7.3 Performance w.r.t gradient decent based
training.

 

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

From the table (1) it is very clear, out of ten times,
three times training could not happen properly. This
is because of inherent limitation of gradient decent
based algorithm to trap in local minima. The effect of
training can easily see over the test data performance,
in table (2).Suboptimal performance results shown in
shaded rows. There is a question now: should this
kind of learning algorithm acceptable for
development of health care solution? Answer is
definitely not, because whenever there is new data set
available for up gradation, difficulties will appear. To
overcome this kind of problem best option is
evolutionary computation and this is the reason
genetic algorithm has selected to find the optimal set
of weights.
Table (1): performance with gradient decent over
training data set for 10 independent trails.

OVERALL
TR
FR
95.3333 4.6667
95.3333 4.6667
95.3333 4.6667
53.3333 46.666
94.0000 6.0000
53.3333 46.666
53.3333 46.666
94.0000 6.0000
95.3333 4.6667
94.6667 5.3333

(+VE)RESULT
TPV
FPV
8.5714
91.428
7.1429
92.857
7.1429
92.857
0
100.0
7.1429
92.857
0
100.0
0
100.0
7.1429
92.857
8.5714
91.428
8.5714
91.428

(-VE)RESULT
TNV
FNV
98.75 1.250
97.500
2.500
97.50 2.500
100.0
0
95.00 5.000
100.0
0
100.0
0
95.000
5.000
98.750
1.250
97.500
2.500

278

performance is very good but very consistence,
which was lacking with the gradient decent learning

Table(3):performance with GA over training data set
for 10 independent trail.                                                                                                          
OVERALL
TR
FR
92.666
7.333
92.666
7.333
90.000
10.00
94.666
5.333
90.666
9.333
94.666
5.333
94.000
6.000
94.000
6.000
94.666
5.333
94.000
6.000

(+VE)RESULT
TPV
FP
90.000
10.000
88.571
11.428
88.571
11.428
8.5714
91.428
88.571
11.428
8.5714
91.428
8.5714
91.428
90.000
10.000
8.5714
91.428
90.000
10.000

(-VE)RESULT
TNV
FN
95.000
5.000
96.250
3.750
91.250
8.750
97.500
2.500
92.500
7.500
97.500
2.500
96.250
3.750
97.500
2.500
97.500
2.500
97.500
2.500

Table (4): performance with GA over test data set for
10 independent trails.
OVERALL
TR
FR
19.166
80.833
19.166
78.333
21.666
80.833
19.166
78.333
21.666
81.667
18.333
81.667
18.333
80.833
19.166
79.167
20.833
82.500
17.500

(+VE)RESULT
TPV
FPV
74.000
26.000
78.000
22.000
78.000
22.000
72.000
28.000
78.000
22.000
74.000
26.000
78.000
22.000
68.000
32.000
78.000
22.000
76.000
24.000

(-VE)RESULT
TNV
FNV
14.2857
85.714
17.1429
82.857
21.4286
78.571
12.8571
87.142
21.4286
78.571
12.8571
87.142
15.7143
84.285
10.0000
90.000
20.0000
80.000
12.8571
87.142

Table (2): performance with gradient decent over test
data set for 10 independent trails.
OVERALL
TR
FR
82.500
17.500
82.500
17.500
84.166
15.833
58.333
41.666
82.500
17.500
58.333
41.666
58.333
41.666
84.166
15.833
81.666
18.333
82.500
17.500

(+VE)RESULT
TPV
FPV
70.00
30.00
82.00
18.00
82.00
18.00
0
100.0
76.00
24.00
0
100.0
0
100.0
80.00
20.00
70.00
30.00
72.0
28.00

(-VE)RESULT
TNV
FNV
8.5714
91.428
17.1429
82.857
14.2857
85.714
100.0
0
12.8571
87.142
100.00
0
100.00
0
12.8571
87.142
10.0
90.000
90.00
10.00

7.4. Performance w.r.t Genetic algorithm based
training
Table (3) and Table (4) represent the performance
over training and test data set for ten independent
trails. From the result it’s very clear not only

Fig.2. Error plot of population with learning
Mean square Error plot of population with number of
generation is shown in fig( 2).from the figure this is
clear whole population is converging nearly same

 

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

279

towards the final solution, as it was expected because
initial solution generated from random numbers hence
error value is high but with the generation improvement
started to appear. Mean square of error for best
chromosome along with the average error also plotted as
shown in fig (3).

members for both domains counted in the every
generation as shown in the table (5). From the table
and plot it is very clear that more members coming
from offspring population. This is true with each new
generation developed in the process as shown in fig
(5).This is an indication of generating the fitter
offspring’s with time, hence diversity appears, at the
same time more exploration of search space.

Fig.3. Error plot of best chromosome & average
error of population with learning.

Fig.4. Best chromosomes distribution.

8 . Affect and analysis of tournament
selection
8.1. Who gives better more?
This is very first time ,analysis of tournament
selection to know ,in creation of new generation with
respect to competition who contributed more number
of best chromosome in each generation for complete
process. In other words parents population or
offspring population dominant in producing best
chromosome. To get the answer of this question in
each generation, belonging domain of best
chromosomes stored and counted. This will continue
until process is not terminated. This is repeated for all
ten independent trails. Contributed value by each
domain plotted against each other .As it is shown
from fig (4) and in table (5), no domain having the
absolute dominancy for all trails. In conclusion each
domain nearly contributed in same manner to
produce the best at present, which is again supports
the law available in nature.
8.2. Who is having more density: parent’s

population or offspring population?
This is another very important question arise when
tournament selection applied. Number of selected

Fig.5. chromosome density distribution

Table (5): performance with tournament selection
over training data set for 10 independent trails.                                                        
Chromo. density
Parents offsprin
24387
25613
20647
21653
46855
49245
16865
17635
74162
78038
12733
13367
23099
24201
22348
23652
15168
15832
70090
73710

NO. of Best

parent
235
222
485
181
778
138
225
236
156
736

Chromos.
offspring
265
201
476
164
744
123
248
224
 
154
702

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

b



1

c

280

d

3

2

4

w1a w1b w1c w1d 
w11 w12 w13 w14 

W2a w2b w2c w2d

W3a w3b w3c w3d
W31 w32 w33 w34

W41 w42 w43 

Fig (6). Chromosome development
 











5

3





a

w11 w12 w13 w14 
w1a w1b w1c w1d 

W21 w22 w23 w24 
W2a w2b w2c w2d 

W51 w52 w53 w54 
W5a w5b w5c w5d 



d

7





CROSSOVER 

c

W31 w32 w33 w34
W3a w3b w3c w3d

W61 w62 w63 w64 
W6a w6b w6c w6d 

W41 w42 w43 

W7a w7b w7c w7d
W71 w72 w73 w74

W85 w86 w87 
W81 w82 w83 

Offspring

w1a w1b w1c w1d 

W6a w6b w6c w6d

W5a w5b w5c w5d 

W3a w3b w3c w3d

W2a w2b w2c w2d

W41 w42 w43 

W7a w7b w7c w7d

W85 w86 w87 

                           Fig. (7) Crossover operation 

 

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

281

 
 

[N (0,1) N(0,1) N(0,1) ]

+

MUTATION (OFFSPRING 1) 
w11 w12 w13 w14 

W61 w62 w63
w64
W21 w22 w23 w24

W31 w32 w33 w34

[N (0, 1), N (0,1), N(0,1) ,N(0,1)]  + 

MUTATION (OFFSPRING 2) 

W51 w52 w53 w54 

W41 w42 w43 

W21 w22 w23 w24

W71 w72 w73 w74

W81 w82 w83 

Fig (8): mutation operation

9. Conclusions
A new insight about problem and requirement
associated with health care solution has presented. To
develop the intelligent solutions, support for artificial
neural network has shown. Most of the developed
solution utilized the feed forward architecture and
back propagation as a learning algorithm. Because of
trapping tendency in local minima, problem may
appear at the time of up gradation and in result no
consistency in result. To overcome this problem a
new way, genetic algorithm has applied for training
purpose. Untold and unseen side of tournament
selection has discovered. This will give a new
meaning to understand the selection method. The
primary intent of our research is to design and
develop a model and design efficient approach for
detection of heart disease, which can be utilized for
real world applications as a computer aided
diagnostic tool. With the presented research, in future
we are going to develop an expert system for heart
disease detection
References:
[1] "Hospitalization for Heart Attack, Stroke, or
Congestive Heart Failure among Persons with Diabetes",
Special report:2001 – 2003, New Mexico.
[2] Chen, J., Greiner, R.: Comparing Bayesian Network
Classifiers. In Proc. of UAI-99, pp.101–108 ,1999.
[3] "Heart Disease" from http://chineseschool.
netfirms.com/heart-disease-causes.html
[4]. Reddy, K. S., India wakes up to the threat of
cardiovascular diseases.
J. Am. Coll. Cardiol., 2007, 50, 1370–1372.
[5]. WHO India, http://www.whoindia.org/EN/Index.htm
(accessed on 11 February 2008).

[6]. Reddy, K. S., Shah, B., Varghese, C. and Ramadoss,
A. Responding to the threat of chronic diseases in India.
Lancet, 2005, 366,1744–1749.
[7]. Mohan, V., Sandeep, S., Deepa, R., Shah, B. and
Varghese, C.,Epidemiology of type 2 diabetes: Indian
scenario. Indian J. Med.Res., 2007, 125, 217–230.
[8]. Kearney, P. M., Whelton, M., Reynolds, K., Muntner,
P., Whelton,P. K. and He, J., Global burden of
hypertension: analysis of worldwide data. Lancet, 2005,
365, 217–223.
[9]. Reddy, K. S., Naik, N. and Prabhakaran, D.,
Hypertension in the developing world: a consequence of
progress. Curr. Cardiol.Rep., 2006, 8, 399–404.
[10]. WHO Global Report 2005, Preventing chronic
diseases: A vitalinvestment, 2005.
[11]. Teoh, M., Lalondrelle, S., Roughton, M., GrocottMason, R. andDubrey, S. W., Acute coronary syndromes
and their presentation in Asian and Caucasian patients in
Britain. Heart, 2007, 93, 183–188.
[12]. Qiao, Q. et al., Age- and sex-specific prevalence of
diabetes and impaired glucose regulation in 11 Asian
cohorts. Diabetes Care,2003, 26, 1770–1780.
[13]. Reddy, K. S. et al., Educational status and
cardiovascular risk profile in Indians. Proc. Natl. Acad. Sci.
USA, 2007, 104, 16263–16268
[14]. Pais, P. et al., Risk factors for acute myocardial
infarction in Indians: a case-control study. Lancet, 1996,
348, 358–363.[15]. Reddy, K. S. et al., Collaborative study
of coronary heart disease,ICMR Taskforce Study number
1988-0608A, 1996.
[16]. Gupta, D. K., Verma, L. K., Khosla, P. K. and Dash,
S. C., The prevalence of microalbuminuria in diabetes: a
study from NorthIndia. Diabetes Res. Clin. Practice, 1991,
12, 125–128.
[17]. Rastogi, T. et al., Diet and risk of ischemic heart
disease in India.Am. J. Clin. Nutr., 2004, 79, 582–592.

 

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
www.IJCSI.org
[18]. Joshi, R. et al., Chronic diseases now a leading cause
of death in rural India – mortality data from the Andhra
Pradesh Rural Health
Initiative. Int. J. Epidemiol., 2006, 35, 1522–1529.
[19] Sally Jo Cunningham and Geoffrey Holmes,
"Developing innovative applications in agriculture using
data mining", In the Proceedings of the Southeast Asia
Regional Computer Confederation Conference, 1999.
[20] Frank Lemke and Johann-Adolf Mueller, "Medical
data analysis using self-organizing data mining
technologies,"Systems Analysis Modelling Simulation ,
Vol. 43 , no. 10 ,pp: 1399 - 1408, 2003.
[21] Tzung-I Tang, Gang Zheng, Yalou Huang, Guangfu
Shu,Pengtao Wang, "A Comparative Study of Medical
Data Classification Methods Based on Decision Tree and
System Reconstruction Analysis", IEMS Vol. 4, No. 1, pp.
102-108,June 2005.
[22] Frawley and Piatetsky-Shapiro, Knowledge Discovery
in Databases: An Overview. The AAAI/MIT Press, Menlo
Park, C.A, 1996.
[23] Hsinchun Chen, Sherrilynne S. Fuller, Carol
Friedman, and William Hersh, "Knowledge Management,
Data Mining,and Text Mining In Medical Informatics",
Chapter 1, pgs 3-34
[24] S Stilou, P D Bamidis, N Maglaveras, C Pappas ,
Mining association rules from clinical databases: an
intelligent diagnostic process in healthcare. Stud Health
Technol Inform 84: Pt 2. 1399-1403, 2001.
[25] T Syeda-Mahmood, F Wang, D Beymer, A Amir, M
Richmond, SN Hashmi, "AALIM: Multimodal Mining for
Cardiac
Decision
Support",
Computers
in
Cardiology,pages:209-212, Sept. 30 2007-Oct. 3 2007
[26] Anamika Gupta, Naveen Kumar, and Vasudha
Bhatnagar,"Analysis of Medical Data using Data Mining
and Formal Concept Analysis", Proceedings Of World
Academy Of Science, Engineering And Technology
,Volume 6, June 2005,.
[27] Sellappan Palaniappan, Rafiah Awang, "Intelligent
Heart Disease Prediction System Using Data Mining
Techniques",IJCSNS International Journal of Computer
Science andNetwork Security, Vol.8 No.8, August 2008
[28]
Andreeva P., M. Dimitrova and A. Gegov,
Information
Representation in Cardiological Knowledge Based System,
SAER’06, pp: 23-25 Sept, 2006.
[29] Latha Parthiban and R.Subramanian, "Intelligent Heart
Disease Prediction System using CANFIS and Genetic
Algorithm", International Journal of Biological, Biomedical
and Medical Sciences 3; 3, 2008
[30] Hian Chye Koh and Gerald Tan ,"Data Mining
Applications in Healthcare", Journal of healthcare
information management, Vol. 19, Issue 2, Pages 64-72,
2005.
[31] L. Goodwin, M. VanDyne, S. Lin, S. Talbert ,“Data
mining issues and opportunities for building nursing
knowledge”Journal of Biomedical Informatics, vol:36, pp:
379-388,2003.
[32] Heon Gyu Lee, Ki Yong Noh, Keun Ho Ryu, “Mining
Biosignal Data: Coronary Artery Disease Diagnosis using
Linear and Nonlinear Features of HRV,” LNAI 4819:
Emerging Technologies in Knowledge Discovery and Data
Mining, pp. 56-66, May 2007.

282

[33] Cristianini, N., Shawe-Taylor, J.: An introduction to
Support Vector Machines. Cambridge University Press,
Cambridge ,2000.
[34] Li, W., Han, J., Pei, J.: CMAR: Accurate and
Efficient
Classification Based on Multiple Association Rules. In:
Proc. of 2001 Interna’l Conference on Data Mining .2001.
[35] Chen, J., Greiner, R.: Comparing Bayesian Network
Classifiers. In Proc. of UAI-99, pp.101–108 ,1999.
[36] Quinlan, J.: C4.5: Programs for Machine Learning.
Morgan Kaufmann, San Mateo 1993.
[37] M. Chen, J. Han, and P. S. Yu. Data Mining: An
Overview from Database Perspective. IEEE Trans. Knowl.
Dat. Eng., vol: 8, no:6, pp: 866-883, 1996.
[38] Niti Guru, Anil Dahiya, Navin Rajpal, "Decision
Support System for Heart Disease Diagnosis Using Neural
Network", Delhi Business Review , Vol. 8, No. 1 (January June 2007.
[39] Carlos Ordonez, "Improving Heart Disease Prediction
Using Constrained Association Rules," Seminar
Presentation at University of Tokyo, 2004.
[40] Franck Le Duff , Cristian Munteanb, Marc Cuggiaa,
Philippe Mabob, "Predicting Survival Causes After Out of
Hospital Cardiac Arrest using Data Mining Method",
Studies in health technology and informatics ,107(Pt
2):1256-9, 2004.
[41] Boleslaw Szymanski, Long Han, Mark Embrechts,
Alexander Ross, Karsten Sternickel, Lijuan Zhu, "Using
Efficient Supanova Kernel For Heart Disease Diagnosis",
proc. ANNIE 06, intelligent engineering systems through
artificial neural networks, vol. 16, pp:305-310, 2006.
[42] Kiyong Noh, Heon Gyu Lee, Ho-Sun Shon, Bum Ju
Lee, and Keun Ho Ryu, "Associative Classification
Approach for Diagnosing Cardiovascular Disease",
springer,Vol:345 , pp: 721-727, 2006.
[43] A. Bellaachia and Erhan Guven, Predicting Breast
Cancer Survivability using Data Mining Techniques , Ninth
Workshop on Mining Scientific and Engineering Datasets
in conjunction with the Sixth SIAM International
Conference on Data Mining (SDM 2006), Saturday, April
22, 2006.
[44] Abdelghani Bellaachia and David Portnoy, E-CAST:
A Data Mining Algorithm for Gene Expression Data , 2nd
Workshop on Data Mining in Bioinformatics at the 8th
ACM SIGKDD International Conference on Knowledge
Discovery and Data Mining, Edmonton, Alberta, Canada,
July 23rd, 2002.
[45] KS Leung,YT Ng, KH Lee, LY Chan, KW Tsui, Tony
Mok, CH Tse, Joseph Sung, "Data Mining on DNA
Sequences of Hepatitis B Virus by Nonlinear Integrals"
Proceedings Taiwan-Japan Symposium on Fuzzy Systems
&Innovational Computing, 3rd meeting, pp.1-10 Aug 2006,
Japan.
[46] Florin Gorunescu, "Data Mining Techniques in
Computer-Aided
Diagnosis:
Non-Invasive
Cancer
Detection,"International Journal of Bioengineering,
Biotechnology andNanotechnology, vol.1, no.2, pp.105 108, 2008.
[47] Fu-ren Lin, Shien-chao Chou, Shung-mei Pan, Yaomei Chen, “Mining time dependency patterns in clinical
pathways”, International Journal of Medical Informatics,
2001.

 

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
www.IJCSI.org
[48] Margaret R. Kraft, Kevin C. Desouza, Ida Androwich
(2002).“Data Mining in Healthcare Information Systems:
Case Study of a Veterans’ Administration Spinal Cord
Injury Population”, Proceedings of the 36th Hawaii
International Conference on System Sciences (HICSS’03).
[49] Heart attack dataset from
http://archive.ics.uci.edu/ml/datasets/Heart+Disease.
[50] J. M. Garibaldi, E. C. Ifeachor, ‘Application of
Simulated Annealing Fuzzy Model Tuning to Umbilical
Cord Acid–Base Interpretation’,IEEE Transactions on
Fuzzy Systems, Vol.7, No.1, pp.72–84, 1999
[51] J. W. Huang, Y. Lu, A. Nayak and R. J. Roy, ‘Depth
of Anesthesia Estimation and Control’, IEEE Transactions
on Biomedical Engineering.Vol.46, No.1, pp.71–81, 1999.
[52] D. A. Cairns, J. H. L. Hansen and J. E. Riski, ‘A
Noninvasive Technique for Detecting Hypernasal Speech
Using a Nonlinear Operator’,IEEE Transactions on
Biomedical Engineering, vol.43, no.1,pp.35–45, 1996.
[53] K. P. Adlassnig and W. Scheithauer, ‘Performance
evaluation of medical expert systems using ROC curves’,
Computers and Biomedical Research, Vol.22, No.4,
pp.297–313, 1989.
[54] L. G. Koss, M. E. Sherman, M. B. Cohen, A. R. Anes,
T. M. Darragh,L. B. Lemos, B. J. McClellan, D. L.
Rosenthal, S. Keyhani–Rofagha,K. Schreiber, P. T.
Valente, ‘Significant Reduction in the Rate of False
Negative Cervical Smears With Neural Network–Based
Technology (PAPNET Testing System), Human Pathology,
Vol 28, No 10,pp.1196–1203, 1997.
[55] S. Andreassen, A. Rosenfalck, B. Falck, K. G. Olesen,
S. K. Andersen,‘Evaluation of the diagnostic performance
of
the
expert
EMGassistant
MUNIN’,
Electroencephalography and clinical Neurophysiology,
Vol 101, pp.129–144, 1996.
[56] B. V. Ambrosiadou, D. G. Goulis, C. Pappas, ‘Clinical
evaluation of the DIABETES expert system for decision
support by multiple regimen insulin dose adjustment’,
Computer Methods and Programs in Biomedicine, Vol.49,
pp.105–115, 1996.
[57] H. D. Cheng, Y. M. Lui, R.I. Freimanis, ‘A novel
approach to microcalcification detection using fuzzy logic
technique’, IEEE Transactions on Medical Imaging,
Vol.17, No.3, pp.442–450, 1998.
[58] R. D. F. Keith, S. Beckley, J.M. Garibaldi, J.A.
Westgate, E.C. Ifeachor,K. R. Green, ‘A multicentre
comparative study of 17 experts and an intelligent
computer system for managing labour using the
cardiotocogram’,British Journal Obstrtrics Gynaecology,
Vol.102,pp.688–700, 1995.
[59] J. A. Swets, ‘Measuring the Accuracy of Diagnostic
Systems’,Science, Vol.240, pp.1285–1293, 1988.21
[60] K. Clarke, R. O’Moore, R. Smeets, J. Talmon, J.
Brender, P. McNair,P. Nykanen, J. Grimson, B. Barber, ‘A
methodology for evaluation of Knowledge–based systems
in medicine’, Artifical Intelligence in Medicine, Vol.6,
pp.107–121, 1994.
[61] R. Engelbrecht, A. Rector, W. Moser, ‘Verification
and Validation’, in‘Assessment and Evaluation of
Information Technologies’, E. M. S. J.van Gennip, J. L.
Talmon, Eds, IOS Press, pp.51–66, 1995.

283

[62] M.k.singh,’password based a generalized robust
security system design using neural network’,
IJCSI,vol4,No.9,pp.1-9,2009.
1

K.S.Kavitha      presently  working  as  assistant 
professor  &  HOD  of  computer  &  information 
engineering  in  Auden  Technology  and 
management  academy.  She  is  also  a  Ph.D 
scholar in ANNA University, Coimbatore, India. 
Her  field  of  research  includes  Artificial 
intelligence,  ANN,  Evolutionary  computation 
and data mining.

2

K.V.Ramakrishnan presently working as a professor & dean 
of  C.M.R. Institute of technology, Bangalore, India 

 
 

 
3

 

Manoj kr. Singh, Currently holding the 
post  of  director  in  Manuro  tech. 
research. He is also actively associated 
with industry as technology consultant 
& guiding several research scholars. He 
is  having  background  of  R&D  in 
Nanotechnology, 
VLSI‐CAD, 
Evolutionary  computation,  Neural 
network,  Advanced  signal  processing 
etc. 

 

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

284

Human Tracking and Segmentation using Color Space
Conversion
Sivabalakrishnan.M1,Dr.D.Manjula2
1

2

Research scholar, Department of CSE, College of Engineering, Anna University,
Chennai, TamilNadu, India.

Assistant Professor, Department of CSE, College of Engineering, Anna University,
Chennai, TamilNadu, India.

Abstract
The HSV give more accurate and more robust tracking
results compared to grayscale and RGB images. A
simple HSV histogram-based color model is used to
develop our system. First, a background registration
technique is used to construct a reliable background
image. The moving object region is then separated from
the background region by comparing the current frame
with the constructed background image. This paper
presents a novel human motion detection algorithm that
based regions. This approach first obtains a motion
image through the acquisition and segmentation of video
sequences. In the situations where object shadows
appear in the background region, a pre-processing
median filter is applied on the input image to reduce the
shadow effect, before major blobs are identified. The
second step is generating the set of blobs from detected
varied regions in the each image sequence.
Key words: Median filter, object tracking, background
subtraction, rgb2hsv

1. Introduction
Moving object tracking is one of the challenging task in
computer vision problem such as visual surveillance,
human computer interactions etc. The act of tracking in
video surveillance is becoming an important task
especially in monitoring large scale environments such
as public and security sensitive areas. In the field of
video surveillance, an object of interest would be
identified and then monitored or tracked. People are
typically the object of interest in video surveillance
applications, for example when walking through a
secluded or security sensitive area. There is now
increasing interest in monitoring people in public areas,
e.g. shopping malls. When tracking objects of interest in
a wide or public area, additional parameters are required
to improve performance such as color of clothing [1],
path and velocity of tracked object [2,3] and modeling
set colors for tracked persons [4]. To obtain robust
tracking of a target, a number of tracking methods are
typically employed in order to overcome problems such
as occlusion [1, 4, 5] and noise in surveillance videos.
Tracking objects is performed in a sequence of video
frames and it consists of two main stages: isolation of
objects from background in each frames and association

of objects in successive frames in to trace them.
Background subtraction techniques are mostly used for
detection of motion in many real-time vision
surveillance applications. In these approaches,
difference between the incoming frame and the
background image is performed to detect foreground
objects. Background subtraction provides the most
complete feature data, but is extremely sensitive to
dynamic scene changes due to illumination changes and
extraneous events. Most researchers are now devoted to
develop robust background model in order to prevent
some kind of falseness in motion detection caused by
scene changes.. The background model is periodically
updated by using a combination of pixel-based method
and object-based method. . But, unfortunately robust and
efficient object tracking is still an open research issue.
To start object tracking, generally the trackers need to be
initialized by an outer component [6]. Object tracking in
image processing is usually based on reference image of
the object, or properties of the objects [7]. Unlike other
background maintenance approaches, we design no
extra procedure to update background model, instead, a
re-initialization of background model method is
periodically performed to obtain the newest background
scene. In many vision surveillance applications, the
moving cast shadows mostly exhibit a challenge for
accurate moving targets detection. Moving cast shadows
can cause object merging, object shape distortion, and
even object losses (due to the shadow cast over another
object). For this reason, moving shadows detection is
critical for accurate objects detection in vision
surveillance applications. In recent years, many
algorithms have been proposed in the literatures that
deal with shadows. In our present first case, we use HSV
histogram based model to make a robust color based
tracker system by median filter. Blobs are defined as a
group of pixels that belong to a similar object in motion.
They have proven to be a better feature cue than points,
corners or ridges as they usually have a larger coverage
area and total occlusion of the subject is more unlikely
to happen. Rossi and Bozzoli [8] successfully used
moving blobs to track and count people crossing the
field of view of a vertically mounted camera. In a
different approach with blobs, Bregler [9] represented
each pixel in each motion image by its optical flow

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

characteristics. These flows are then grouped into blobs
that have coherent motion and are characterized by a
mixture of multivariate Gaussians.
We can find the
more details in overall proposed system model section.
The rest of the paper is organized as follows .Section 2
describes Overview of Background subtraction. Section
3 describes proposed system models for object tracking.
And then Section 4 shows Experimental Results. Finally
the conclusion is given in Section 5.

285

and background. The color model used here separates
the brightness from the chromaticity components. The
foreground and background classification is based on
the following observation. Image blocks in the
background should have little change in their color
distortion
Input Video

Frame Separation

2. Overview of Background subtraction
Background subtraction is one of the most popular
methods for novelty detection in video streams.
Background Subtraction, which generates a foreground
mask for every frame. This step is simply performed by
subtracting the background image from the current
frame. When the background view excluding the
foreground objects is available, it becomes obvious that
the foreground objects can be obtained by comparing
the background image with the current video frame .It
focuses on two major steps; first, to construct a
statistical representation of the background that is
representative, robust to the noise and is sensitive to new
objects, and second, to build another statistical model
called ‘foreground’ that represents the changes that take
place on the scene. By applying this approach to each
frame one effectively achieves tracking any moving
object a background image can be elegantly used to
determine the foreground objects by comparing the
input frame with the background image and mark the
differences as foreground objects. This technique is
commonly known as background subtraction or change
detection. It is the most popular approach in video
surveillance applications, because it is a computationally
efficient technique and it is relatively easy to obtain
background images for static surveillance cameras.[10]
In practice, camera noise and regions in which the object
has the same color as the background make the
separation of foreground objects and background more
difficult. Finally, a few post processing filters are
presented that can remove obvious errors like small
clutter regions. consecutive images is also used for
reducing noise in result of the background subtraction.
In this process, we assume that moving object is only a
human. We then detect moving human region in each
image.

3. Proposed system
The proposed algorithm consists of five stages image
acquisition, RGB to HSV conversion, BitXOR
operation, preprocessing and/ blob identification. Figure
1 shows the process flow of the proposed human motion
detection algorithm. Each of these stages will be
described in detail .We extract features in the RGB color
space. Two feature variables, chromaticity and
brightness distortions are used to classify the foreground

Current Frame

Reference Frame

RGB to HSV

RGB to HSV

Round off

Round off

Bit XOR

Median filter

Area Removal

Blop Identifier

Object Count

Compare with Ground truth

Fig 1 Proposed Tracking System

3.1 Image Acquisition and Segmentation
Image acquisition is a common preliminary step in any
motion-based vision application to obtain image frames
from a stationary or moving camera, or multiple
cameras. Usually, a frame grabber is used to sub sample
a sequence of video images at a certain frame rate before
the actual processing begins. Generally, video sequences
can be of high frame rate (10-30fps) or low frame rate (<
10 fps)1. It is crucial to take into consideration the type
of video system used so that the appropriate
segmentation method can be implemented. After the
acquisition of image frames, image segmentation can be
performed using background subtraction, depending on
the frame rate of the video sequences.
3.1.1

Frame segmentation

For high frame rate sequences, the adjacent frame
subtraction method is used since the change of motion
between consecutive frames is very small. Thus, the
difference image, D(x,y,t) between an input frame and
the next acquired frame after a fixed time interval c is
given . The more widely known background subtraction
technique is used for low frame rate sequences where

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

the change of 1 fps denotes frames-per-second, the
standard measure of frame rate motion is larger. This
method eliminates the stationary background, leaving
only the desired motion regions. In certain video
systems, the acquisition process may be susceptible to
erratic changes in illumination, reflection, and noise.

Color vision can be processed using RGB color space or
HSV color space. RGB color space describes colors in
terms of the amount of red, green, and blue present.
HSV color space describes colors in terms of the hue,
saturation, and value. In situations where color
description plays an integral role, the HSV color model
is often preferred over the RGB model. RGB defines
color in terms of a combination of primary colors, where
as, HSV describes color using more
familiar
comparisons such as color, vibrancy and brightness. The
color spaces that are typically used in video tracking and
surveillance are YCbCr [11] and HSV [12].
HSV (M) returns an M-by-3 matrix containing an HSV
color map. HSV, by itself, is the same length as the
current figure’s color map. The colors begin with red,
pass through yellow, green, cyan, blue, magenta, and
return to red. The map is particularly
useful for
displaying periodic functions. The mathematical relation
between HSV and RGB is given by


if B  G
360 0 -  if B > G

effect of input noise values with extremely large
magnitudes Removal of motion at boundary – Pixels of
the motion region that are located along the boundary
are eliminated to avoid ambiguity of the region
belonging to a possible moving object.
4. Experimental Results

3.2 RGB to HSV Color space conversion

H=

286

(1)

Where  = cos -1 ½ ( R – G ) + ( R _ B)
[(R–G) 2 + ( R–B) ( G–B ) ]1/2
S = 1 –[ 3/(R+G+B)] [min (R,G,B)]

(2)

V = 1/3 ( R+G+B)

(3)

Once the color space conversion is done for both current
and background frames, coefficients are then rounded
and bit xor mutually.
3.3 Preprocessing
The preprocessing stage consists of two tasks –
morphological operations and blob Identification, and
they are intended to prepare the motion image for the
blob identification stage.
3.3.1. Morphological operations
The following morphological operations are performed
on the motion image. The median filter is a nonlinear
digital filtering technique, often used to remove noise.
Such noise reduction is a typical pre-processing step to
improve the results the median filter can eliminate the

In our experiments we have use PET2006 Database,
which consists of video sequences of human movements
in various gait poses, non-human object motions and a
combination of human and object movements,
constructed from our motion capture system
In performance evaluation, each pixel in a background
subtraction method’s classification was determined to
be, true positive for a correctly classified foreground
pixel, false positive for a background pixel that was
incorrectly classified as foreground, true negative for a
correctly
classified background pixel, and false
negative for a foreground pixel that was incorrectly
classified as background. the different methods can be
evaluated by the calculation of TP, TN, FP, FN, where
TP, TN, FP, FN means the number of true positive, true
negative, false positive and false negative, respectively.
After every pixel had been classified into one of those
four groups, the sensitivity, the specificity was
calculated.
Sensitivity and specificity are statistical measures of the
performance of a binary classification test.. Sensitivity
(also called recall rate in some fields) measures the
proportion of actual positives which are correctly
identified .Specificity measures the proportion of
negatives which are correctly identified. These two
measures are closely related to the concepts of type I
and type II errors. sensitivity is defined in equation 4,
specificity is defined in equation 5
Sensitivity= TP / (TP + FN)
Specificity= TN / (FP + TN)

(4)
(5)

The sensitivity measures the proportion of actual
positives which are correctly identified. The specificity
measures the proportion of negatives which are correctly
identified. These metrics are a measure of the accuracy
or the correctness of the tracking methodology that is
being evaluated with respect to a reference point, known
as the ground truth. Ground truth can be defined as
reference or baseline data for determining the actual
path of a tracked object. A correct track is considered
true when the tracked point is within the boundary
region of the tracked object.

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

287

Table 1: Quantitative Evaluation of test Results

No of objects

TP

TN

FP

FN

Sensitivity

Specificity

1

1

6716

407169

821

821

0.8911

0.9980

2

2

5143

409147

614

614

0.8933

0.9985

3

4

10060

401764

1365

1365

0.8805

0.9966

S.I
.N
O

a

b

5. Conclusions

c

d

Fig 2 (a) Original image (b) Foreground image
(c) Tracked image (d) Ground truth

a

c

b

In this paper, we proposed an accurate and robust object
extraction scheme for a dynamic environment. We built
a background model and extract classification features
in RGB color space. To deal with the challenges of
object extraction in dynamic environment, we fused
high-level knowledge and low-level features and
developed a fuzzy logic inference system. The results on
several sequences show that this algorithm is efficient
and robust for the dynamic environment with new
objects in it. We are currently working on making the
prediction more accurate and creating a scheme to
recover missing moving parts using known results from
feature-based classification. Also, we intend to study the
impact of the accuracy of results on the performance of
future activity modeling and analysis. When object are
closer the segmented object gets failed and it was
detected as a single object, this error will be rectified by
using fuzzy logic in the future work.

d

Fig 3 (a) Original image (b) Foreground image
(c) Tracked image (d) Ground truth

a

b

c
d
Fig 4 (a) Original image (b) Foreground image
(c) Tracked image (d) Ground truth

Table 1 shows the quantitative results of various frames.
In a preliminary motion-free test, the system took 616
seconds to process 1,000 image frames on an Intel
Pentium IV 2.63Ghz, 504MB RAM system, which is
approximately 1.62 fps. MATLAB was used as the
implementation tool.

References
[1] Bird, N.D., et al. Detection of loitering Individuals in
public transportation areas in IEEE Transactions on
Intelligent Transportation Systems. 2005.
[2] Bodor, R., B. Jackson, and N.P. Papanikolopoulos.
Vision-Based Human
Tracking and Activity
Recognition. in 11th Mediterranean Conference on
Control and Automation. 2003.
[3] Niu, W., et al. Human Activity detection
andrecognition for video surveillance. In IEEE
International Conference on Multimedia and Expo
2004.
[4] Iocchi, L. and R.C. Bollees. Integrated PlanViewTracking and Color-based person Models for
Multiple People Tracking. in International
Conference on Image Processing 2005.
[5] Li, J., C.S. Chua, and Y.K. Ho. Color based
multiple people tracking. in 7th International
Conference on Control Automation, Robotics
andVision 2002. ICARCV 2002.
[6] C. Yunqiang and R. Yong, “Real time object
tracking invideo sequences”, Signals and
Communications Technologies, Interactive Video,
2006, Part II: pp. 67 – 88
[7] K. Nummiaro, E. Koller-Meier, and L. Van Gool,
“A color-based particle filter”, In Proc. First
International Workshop on Generative-ModelBased Vision, 2002, pp. 53– 60

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

[8] Rossi, M., and Bozzoli, A. 1994. Tracking and
Counting People. In 1st Int. Conf. on
ImageProcessing, 212-216.
[9] Bregler, C. 1997. Learning and Recognizing Human
Dynamics in Video Sequences. In Proc. of IEEE CS
Conf. on Comp. Vision and Patt. Recognition,568 574.
[10]Sivabalakrishnan.M,Dr.D.Manjula“Adaptive
Background Subtraction in Dynamic Environment
using Fuzzy Logic ”International journal on
Computer Science and Engineering,Vol2,270-273.
[11] Chen, Y.-J., et al. The Implementation of a
Standalone Video Tracking and Analysis System
for Animal Behavior Measurement in Morris
WaterMaze. In 27th Annual International
Conference on Engineering in Medicine and
Biology Society 2005 (IEEE-EMBS 2005).
Shanghai.
[12] Stern, H. and B. Efros. Adaptive Color Space
Switching for Face Tracking in Multi-Colored
Lighting Environments in Fifth IEEE Conference
on Automatic Face and Gesture Recognition 2002.
Washington, D.C
M.Sivabalakrishnan is a Research Scholar,Department
of
CSE,College
of
Engineering,Anna
University,Chennai 600 025,India.He received the
Master’s degree from P.S.N.A College of Engineering,
Anna university, Chennai., in 2004 . His main research
interests include multimedia and image processing.
Dr.D.Manjula received the Master’s and Ph.D degree
from College of Engineering, Anna University, Chennai,
India in 1987and 2004 respectively. She is currently
working as Assistant Professor in the Department of
Computer Science and Engineering, Anna University,
Chennai. Her research interests include NLP, Text
Mining, Parallel processing ,Grid computing, Database
and multimedia.

288

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

289

Character Recognition using RCS with Neural Network
C.Sureshkumar
Department of Information Technology, J.K.K.Nataraja College of Engineering,
Namakkal, Tamilnadu, India.
Dr.T.Ravichandran
Department of Computer Science & Engineering, Hindustan Institute of Technology,
Coimbatore, Tamilnadu, India
Abstract: Hand written Tamil Character recognition refers to the process of conversion of handwritten Tamil character into
Unicode Tamil character. The scanned image is segmented into paragraphs using spatial space detection technique, paragraphs
into lines using vertical histogram, lines into words using horizontal histogram, and words into character image glyphs using
horizontal histogram. The extracted features considered for recognition are given to Support Vector Machine, Self Organizing
Map, RCS, Fuzzy Neural Network and Radial Basis Network. Where the characters are classified using supervised learning
algorithm. These classes are mapped onto Unicode for recognition. Then the text is reconstructed using Unicode fonts. This
character recognition finds applications in document analysis where the handwritten document can be converted to editable
printed document. This approach can be extended to recognition and reproduction of hand written documents in South Indian
languages. In the training set, a recognition rate of 100% was achieved and in the test set the recognized speed for each
character is 0.1sec and accuracy is 97%. Understandably, the training set produced much higher recognition rate than the test
set. Structure analysis suggested that the proposed system of RCS with back propagation network is given higher recognition
rate.
Key words: SVM, SOM, FNN, RBF, RCS, BPN
INTRODUCTION
Handwritten character recognition is a difficult problem due
to the great variations of writing styles, different size and
orientation angle of the characters. Among different branches
of handwritten character recognition it is easier to recognize
English alphabets and numerals than Tamil characters. Many
researchers have also applied the excellent generalization
capabilities offered by ANNs to the recognition of characters.
Many studies have used fourier descriptors and Back
Propagation Networks for classification tasks. Fourier
descriptors were used in to recognize handwritten numerals.
Neural Network approaches were used to classify tools.
There have been only a few attempts in the past to address
the recognition of printed or handwritten Tamil Characters.
However, less attention had been given to Indian language
recognition. Some efforts have been reported in the literature
for Tamil scripts. In this work, we propose a recognition
system for handwritten Tamil characters.Tamil is a South
Indian language spoken widely in TamilNadu in India. Tamil
has the longest unbroken literary tradition amongst the
Dravidian languages. Tamil is inherited from Brahmi script.
The earliest available text is the Tolkaappiyam, a work
describing the language of the classical period. There are
several other famous works in Tamil like Kambar Ramayana
and Silapathigaram but few supports in Tamil which speaks

about the greatness of the language. For example,
Thirukural is translated into other languages due to its
richness in content. It is a collection of two sentence poems
efficiently conveying things in a hidden language called
Slaydai in Tamil. Tamil has 12 vowels and 18 consonants.
These are combined with each other to yield 216 composite
characters and 1 special character (aayutha ezhuthu) counting
to a total of (12+18+216+1) 247 characters. Tamil vowels are
called uyireluttu (uyir – life, eluttu – letter). The vowels are
classified into short (kuril) and long (five of each type) and
two diphthongs, /ai/ and /auk/, and three "shortened" (kuril)
vowels. The long (nedil) vowels are about twice as long as
the short vowels. Tamil consonants are known as meyyeluttu
(mey - body, eluttu - letters). The consonants are classified
into three categories with six in each category: vallinam hard, mellinam - soft or Nasal, and itayinam - medium.
Unlike most Indian languages, Tamil does not distinguish
aspirated and unaspirated consonants. In addition, the voicing
of plosives is governed by strict rules in centamil. As
commonplace in languages of India, Tamil is characterised
by its use of more than one type of coronal consonants. The
Unicode Standard is the Universal Character encoding
scheme for written characters and text. The Tamil Unicode
range is U+0B80 to U+0BFF. The Unicode characters are
comprised of 2 bytes in nature. For example, the Unicode for
the character
is 0B85; the Unicode for the character
is 0BAE+0BC0. The Unicode is designed for various other

290

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

Tamil characters. The schematic block diagram of
handwritten Tamil Character Recognition system consists of
various stages as shown in figure 1. They are Scanning
phase, Preprocessing, Segmentation, Feature Extraction,
Classification, Unicode mapping and recognition and output
verification.
Scanning: A properly printed document is chosen for
scanning. It is placed over the scanner. A scanner software is
invoked which scans the document. The document is sent to a
program that saves it in preferably TIF, JPG or GIF format, so
that the image of the document can be obtained when needed.
Preprocessing: This is the first step in the processing of
scanned image. The scanned image is pre processed for noise
removal. The resultant image is checked for skewing. There
are
Scan Document
Preprocessing
Segmentation
Feature Extraction
Classification
Unicode Mapping
Recognized Text
Fig 1. Handwritten Character Recognition System
possibilities of image getting skewed with either left or right
orientation. Here the image is first brightened and binarized.
The function for skew detection checks for an angle of
orientation between ±15 degrees and if detected then a simple
image rotation is carried out till the lines match with the true
horizontal axis, which produces a skew corrected image.

Fig 2. Histograms for skewed and skew corrected images,
Original Texts

Fig 3. Character Segmentation
Knowing the skew of a document is necessary for many
document analysis tasks. Calculating projection profiles, for
example, requires knowledge of the skew angle of the image
to a high precision in order to obtain an accurate result. In
practical situations, the exact skew angle of a document is
rarely known, as scanning errors, different page layouts, or
even deliberate skewing of text can result in misalignment. In
order to correct this, it is necessary to accurately determine
the skew angle of a document image or of a specific region of
the image, and, for this purpose, a number of techniques have
been presented in the literature. Figure 2 shows the
histograms for skewed and skew corrected images and
original character. Postal found that the maximum valued
position in the Fourier spectrum of a document image
corresponds to the angle of skew. However, this finding was
limited to those documents that contained only a single line
spacing, thus the peak was strongly localized around a single
point. When variant line spacing’s are introduced, a series of
Fourier spectrum maxima are created in a line that extends
from the origin. Also evident is a subdominant line that lies
at 90 degrees to the dominant line. This is due to character
and word spacing’s and the strength of such a line varies with
changes in language and script type. Scholkopf, Simard
expand on this method, breaking the document image into a
number of small blocks, and calculating the dominant
direction of each such block by finding the Fourier spectrum
maxima. These maximum values are then combined over all
such blocks and a histogram formed. After smoothing, the
maximum value of this histogram is chosen as the
approximate skew angle. The exact skew angle is then
calculated by taking the average of all values within a
specified range of this approximate. There is some evidence
that this technique is invariant to document layout and will
still function even in the presence of images and other noise.
The task of smoothing is to remove unnecessary noise
present in the image. Spatial filters could be used. To reduce
the effect of noise, the image is smoothed using a Gaussian
filter. A Gaussian is an ideal filter in the sense that it reduces
the magnitude of high spatial frequencies in an image
proportional to their frequencies. That is, it reduces
magnitude of higher frequencies more. Thresholding is a
nonlinear operation that converts a gray scale image into a
binary image where the two levels are assigned to pixels that
are below or above the specified threshold value. The task of
thresholding is to extract the foreground from the

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

background. A number of thresholding techniques have been
previously proposed using global and local techniques.
Global methods apply one threshold to the entire image while
local thresholding methods apply different threshold values
to different regions of the image. Skeletonization is the
process of peeling off a pattern as any pixels as possible
without affecting the general shape of the pattern. In other
words, after pixels have been peeled off, the pattern should
still be recognized. The skeleton hence obtained must be as
thin as possible, connected and centered. When these are
satisfied the algorithm must stop. A number of thinning
algorithms have been proposed and are being used. Here
Hilditch’s algorithm is used for skeletonization.
Segmentation: After pre processing, the noise free image is
passed to the segmentation phase, where the image is
decomposed into individual characters. Figure 3 shows the
image and various steps in segmentation.
Feature extraction: The next phase to segmentation is
feature extraction where individual image glyph is considered
and extracted for features. Each character glyph is defined by
the following attributes: (1) Height of the character. (2)
Width of the character. (3) Numbers of horizontal lines
present short and long. (4) Numbers of vertical lines present
short and long. (5) Numbers of circles present. (6) Numbers
of horizontally oriented arcs. (7) Numbers of vertically
oriented arcs. (8) Centroid of the image. (9) Position of the
various features. (10) Pixels in the various regions.
NEURAL NETWORK APPRAACHES
Support Vector Machine: The architecture chosen for
classification is Support Vector machines, which in turn
involves training and testing the use of Support Vector
Machine (SVM) classifiers. SVMs have achieved excellent
recognition results in various pattern recognition
applications. Also in handwritten character recognition they
have been shown to be comparable or even superior to the
standard techniques like Bayesian classifiers or multilayer
perceptrons. SVMs are discriminative classifiers based on
vapnik’s structural risk minimization principle. Support
Vector Machine (SVM) is a classifier which performs
classification tasks by constructing hyper planes in a
multidimensional space.
Classification SVM Type-1: For this type of SVM, training
involves the minimization of the error function:
N
1 T
w w  c  i
2
i 1

--- (1)

subject to the constraints:

yi ( w  ( xi )  b)  1   i and i  0, i  1,..., N --- (2)
T

291

Where C is the capacity constant, w is the vector of
Coefficients, b a constant and ξi are parameters for handling
no separable data (inputs). The index i label the N training
cases [6, 9]. Note that y±1 represents the class labels and xi is
the independent variables. The kernel φ is used to transform
data from the input (independent) to the feature space. It
should be noted that the larger the C, the more the error is
penalized.
Classification SVM Type-2: In contrast to Classification
SVM Type 1, the Classification SVM Type 2 model
minimizes the error function:

1 T
1 N
w w  v   i
2
N i 1

--- (3)

subject to the constraints:

yi ( wT  ( xi )  b)     i and i  0, i  1,..., N ;   0
--- (4)
Self Organizing Maps: A self organizing map (SOM) is a
type of artificial neural network that is trained using
unsupervised learning to produce a low dimensional
(typically two dimensional), discredited representation of the
input space of the training samples, called a map. Self
organizing maps are different than other artificial neural
networks in the sense that they use a neighborhood function
to preserve the topological properties of the input space. This
makes SOM useful for visualizing low dimensional views of
high dimensional data, akin to multidimensional scaling.
SOMs operate in two modes: training and mapping. Training
builds the map using input examples. It is a competitive
process, also called vector quantization. Mapping
automatically classifies a new input vector. The self
organizing map consists of components called nodes or
neurons. Associated with each node is a weight vector of the
same dimension as the input data vectors and a position in the
map space. The usual arrangement of nodes is a regular
spacing in a hexagonal or rectangular grid. The self
organizing map describes a mapping from a higher
dimensional input space to a lower dimensional map space.
Algorithm for Kohonon’s SOM : (1) Assume output nodes
are connected in an array, (2) Assume that the network is
fully connected all nodes in input layer are connected to all
nodes in output layer. (3) Use the competitive learning
algorithm.
| i  x ||   x | 
--- (5)

wk (new)  wk (old )   (i, k )( x  w k )

--- (6)

Randomly choose an input vector x, Determine the "winning"
output node i, where wi is the weight vector connecting the
inputs to output node.

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

Radial Basis Function (RBF): A new neural classification
algorithm and Radial- Basis-Function Networks are known to
be capable of universal approximation and the output of a
RBF network can be related to Bayesian properties. One of
the most interesting properties of RBF networks is that they
provide intrinsically a very reliable rejection of "completely
unknown" patterns at variance from MLP. Furthermore, as
the synaptic vectors of the input layer store locations in the
problem space, it is possible to provide incremental training
by creating a new hidden unit whose input synaptic weight
vector will store the new training pattern. The specifics of
RBF are firstly that a search tree is associated to a hierarchy
of hidden units in order to increase the evaluation speed and
secondly we developed several constructive algorithms for
building the network and tree.
RBF Segmentation and character recognition: In our
handwritten recognition system the input signal is the pen tip
position and 1-bit quantized pressure on the writing surface.
Segmentation is performed by building a string of "candidate
characters" from the acquired string of strokes. For each
stroke of the original data we determine if this stroke does
belong to an existing candidate character regarding several
criteria such as: overlap, distance and diacriticity. Finally the
regularity of the character spacing can also be used in a
second pass. In case of text recognition, we found that
punctuation needs a dedicated processing due to the fact that
the shape of a punctuation mark is usually much less
important than its position. it may be decided that the
segmentation was wrong and that back tracking on the
segmentation with changed decision thresholds is needed.
Here, tested two encoding and two classification methods. As
the aim of the writer is the written shape and not the writing
gesture it is very natural to build an image of what was
written and use this image as the input of a classifier.
Fuzzy Neural Network: Both the neural networks and fuzzy
systems have some things in common. They can be used for
solving a problem (e.g. pattern recognition, regression or
density estimation) if there does not exist any mathematical
model of the given problem. They solely do have certain
disadvantages and advantages which almost completely
disappear by combining both concepts. Neural networks can
only come into play if the problem is expressed by a
sufficient amount of observed examples. These observations
are used to train the black box. On the one hand no prior
knowledge about the problem needs to be given. However, it
is not straightforward to extract comprehensible rules from
the neural network's structure. On the contrary, a fuzzy
system demands linguistic rules instead of learning examples
as prior knowledge. Furthermore the input and output
variables have to be described linguistically. If the
knowledge is incomplete, wrong or contradictory, then the
fuzzy system must be tuned. Since there is not any formal

292

approach for it, the tuning is performed in a heuristic way.
This is usually very time consuming and error prone.
Hybrid Fuzzy Neural Network: Hybrid Neuro fuzzy
systems are homogeneous and usually resemble neural
networks. Here, the fuzzy system is interpreted as special
kind of neural network. The advantage of such hybrid NFS is
its architecture since both fuzzy system and neural network
do not have to communicate any more with each other. They
are one fully fused entity. These systems can learn online
and offline. The rule base of a fuzzy system is interpreted as
a neural network. Thus the optimization of these functions in
terms of generalizing the data is very important for fuzzy
systems. Neural networks can be used to solve this problem.
RCS Algorithm: Once a boundary image is obtained then
Fourier descriptors are found. This involves finding the
discrete Fourier coefficients a[k] and b[k] for 0 ≤ k ≤ L-1,
where L
Is the total number of boundary points found, by applying
equations (7) and (8)
L

ak   1 / L xme  jk ( 2 / L ) m

--- (7)

bk   1 / L yme jk ( 2 / L ) m

--- (8)

m 1
L

m 1

Where x[m] and y[m] are the x and y co-ordinates
respectively of the mth boundary point. In order to derive a
set of Fourier descriptors that have the invariant property
with respect to rotation and shift, the following operations are
defined [3,4]. For each n compute a set of invariant
descriptors r (n).

n   a n  2  b n  2 

1/ 2

--- (9)

It is easy to show that r (n) is invariant to rotation or shift. A
further refinement in the derivation of the descriptors is
realized if dependence of r (n) on the size of the character is
eliminated by computing a new set of descriptors s (n) as
s n   r n  / r 1
--- (10)
The Fourier coefficients a (n), b (n) and the invariant
descriptors s (n), n = 1, 2....... (L-1) were derived for all of
the character specimens [5]. Then the sixteen invariant
descriptors of s (n) are input into the neural network.
Proposed New Algorithm: The major steps of the algorithm
are as follows:
1. Initialize all Wij s to small random values with Wij being
the value of the connection weight between unit j and unit i
in the layer below.
2. Present the 16-dimensional input vector y0, input vector
consists of eight fourier descriptors and eight border
transition values. Specify the desired outputs. If the net is
used as a classifier then all desired outputs are typically set to

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

zero except for that corresponding to the class the input is
from.
3. Calculate the outputs yj of all the nodes using the present
value of W, where Wij is the value of connection weight
between unit j and the unit4 in the layer below:

1
yi 
1  exp( yi wij )

--- (11)

i

This particular nonlinear function is called a function
sigmoid
4. Adjust weights by :

Wij (n  1)  Wij (n)   j yi   (Wij (n)  Wij (n  1))
where0    1

120
100

SVM

80

SOM

60

FNN

40

RBN

20

RCS

0
1

2

3

4

5

Fig 5 Chart comparing classifier efficiency
RESULTS

--- (12)
where (n+l), (n) and (n-1) index next, present and previous,
respectively. The parameter a is a learning rate similar to step
size in gradient search algorithms, between 0 and 1 which
determines the effect of past weight changes on the current
direction of movement in weight space. Sj is an error term for
node j.
 i  (d j  yi ) yi (1  yi )
--- (13)
If node j is an internal hidden node, then :

j  y j (1  y j )  k wk

--- (14)

k

Where k is over all nodes in the layer above node j.
5. Present another input and go back to step (2). All the
training inputs are presented cyclically until weights stabilize
(converge).
Structure Analysis of RCS: The recognition performance of
the RCS will highly depend on the structure of the network
and training algorithm. In the proposed system, RCS has
been selected to train the network . It has been shown that the
algorithm has much better learning rate. Table 1 shows the
comparison of various approach classification. Figure 5
shows efficiency result of various classification approaches.
Type of classifier
SVM
SVM
SOM
SOM
FNN
FNN
RBN
RBN
RCS
RCS

293

Fonts
1
more
1
more
1
more
1
more
1
more

Error
0.001
0.2
0.02
0.1
0.06
0.2
0.04
0.1
0
0.0001

The scanned image is passed through various blocks
of functions and finally compared with the recognition details
from the mapping table from which corresponding unicodes
are accessed and printed using standard Unicode fonts so that
the Character Recognition is achieved. The invariant Fourier
descriptors feature is independent of position, size, and
orientation. With the combination of RCS and back
propagation network, a high accuracy recognition system is
realized. Figure 6,7 shows recognized identified character,
encoding and Unicode character. The training set consists of
the writing samples of 25 users selected at random from the
40, and the test set, of the remaining 15 users. In the training
set, a recognition rate of 100% was achieved and in the test
set the recognized speed for each character is 0.1sec and
accuracy is 97%. Understandably, the training set produced
much higher recognition rate than the test set. Structure
analysis suggested that RCS with 5 hidden nodes has lower
number of epochs as well as higher recognition rate.

Efficiency
91%
88%
91%
88%
90%
87%
88%
90%
97%
95%

Table 1 Comparison of classifiers

Fig 6. Sample identified character

294

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

ACKNOWLEDGEMENT
The researchers would like to thank Yasodha for his
assistance in the data collection and manuscript preparation
of this article. Ms. Yasodha is currently a student in the
department of Computer science at the Anna University of
Technology, Chennai.
REFERENCES

Fig 7. Sample Character Encoding
The number of hidden nodes will heavily influence the
network performance. Insufficient hidden nodes will cause
under fitting where the network cannot recognize the numeral
because there are not enough adjustable parameter to model
or to map the input output relationship. The minimum
number of epochs taken to recognize a character and
recognition efficiency of training as well as test character set
as the number of hidden nodes is varied. In the proposed
system the training set recognition rate is achieved and in the
test set the recognized speed for each character is 0.1sec and
accuracy is 97%. The training set produced much higher
recognition rate than the test set. Structure analysis suggested
that RCS is given higher recognition rate. Hence Unicode is
chosen as the encoding scheme for the current work. After
classification the characters are recognized and a mapping
table is created in which the unicodes for the corresponding
characters are mapped.
CONCLUSION
Character Recognition is aimed at recognizing
handwritten Tamil document. The input document is read
preprocessed, feature extracted and recognized and the
recognized text is displayed in a picture box. The Tamil
Character Recognition is implemented using a Java Neural
Network. A complete tool bar is also provided for training,
recognizing and editing options. Tamil is an ancient
language. Maintaining and getting the contents from and to
the books is very difficult. Character Recognition eliminates
the difficulty by making the data available in handwritten
format. In a way Character Recognition provides a paperless
environment. Character Recognition provides knowledge
exchange by easier means. If a knowledge base of rich Tamil
contents is created, it can be accessed by people of varying
categories with ease and comfort.

[1] B. Heisele, P. Ho, and T. Poggio, “Character
Recognition with Support Vector Machines: Global
Versus Component Based Approach,” in ICCV, 2006,
vol. 02, no. 1. pp. 688–694.
[2]
Julie Delon, Agnès Desolneux, “A Nonparametric
Approach for Histogram
Segmentation,” IEEE
Trans. On image processing., vol. 16, no. 1, pp. 235241. 2007
[3] B. Sachine, P. Manoj, M.Ramya, “Character
Segmentations,” in Advances in Neural Inf. Proc.
Systems, vol. 10. MIT Press, 2005, vol.01, no 02 pp.
610–616.
[4] O. Chapelle, P. Haffner, and V. Vapnik, “SVMs for
Histogram-based
Image
Classification,”
IEEE
Transactions on Neural Networks, special issue on
Support Vectors, vol 05, no 01, pp. 245-252, 2007.
[5] Simone Marinai, Marco Gori, “Artificial Neural
Networks for Document Analysis and
Recognition
“IEEE Transactions on pattern analysis and machine
intelligence, vol.27, no.1, Jan 2005, pp. 652-659.
[6] M. Anu, N. Viji, and M. Suresh, “Segmentation Using
Neural Network,” IEEE Trans. Patt. Anal. Mach. Intell.,
vol. 23, pp. 349–361, 2006.
[7] B. Scholkopf, P. Simard, A. Smola, and V. Vapnik,
“Prior Knowledge in Support Vector Kernels,” in
Advances in Neural Inf. Proc. Systems, vol. 10. MIT
Press, 2007, pp. 640–646.
[8] Olivier Chapelle, Patrick Haffner, “SOM for
Histogram-based
Image
Classification,”
IEEE
Transactions on Neural Networks, 2005. Vol 14 no 02,
pp. 214-230.
[9] S. Belongie, C. Fowlkes, F. Chung, and J. Malik,
“Spectral Partitioning with Indefinite Kernels Using the
Nystrom Extention,” in ECCV, part III, Copenhagen,
Denmark, 2006, vol 12 no 03, pp. 123-132
[10] T. Evgeniou, M. Pontil, and T. Poggio, “Regularization
Networks and Support Vector Machines,” Advances in
Computational Mathematics, vol. 13, pp. 1–11, 2005.
[11] P.Bartlettand, J.Shawe Taylor, “Generalization
performance
of support vector machines and other
pattern classifiers,” in Advances in Kernel Methods
Support Vector Learning. 2008, MIT Press Cambridge,
USA, 2002, vol 11 no 02, pp. 245-252.

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

[12]

[13]

[14]
[15]

[16]

E.Osuna, R.Freund, and F.Girosi, “Training Support
Vector machines: an application to face detection,” in
IEEE CVPR’07, Puerto Rico, vol 05 no 01, pp. 354360, 2007.
V. Johari and M. Razavi, “Fuzzy Recognition of
Persian Handwritten Digits,” in Proc. 1st Iranian Conf.
on Machine Vision and Image Processing, Birjand, vol
05 no 03, 2006, pp. 144-151.
P. K. Simpson, “Fuzzy Min-Max Neural NetworksPart1 Classification,” IEEE Trans. Neural Network.,
vol. 3, no. 5, pp. 776-786, 2002.
H. R. Boveiri, “Scanned Persian Printed Text
Characters
Recognition
Using
Fuzzy-Neural
Networks,” IEEE Transaction on Image Processing, vol
14, no 06, pp. 541-552, 2009.
D. Deng, K. P. Chan, and Y. Yu, “Handwritten Chinese
character recognition using spatial Gabor filters and
self- organizing feature maps”, Proc. IEEE Inter.
Confer. On Image Processing, vol. 3, pp. 940-944,
2004.

AUTHORS PROFILE
C.Sureshkumar received the M.E. degree in Computer
Science and Engineering from K.S.R College of Technology,
Thiruchengode, Tamilnadu, India in 2006. He is pursuing the
Ph.D degree in Anna University Coimbatore, and going to
submit his thesis in Handwritten Tamil Character recognition
using Neural Network. Currently working as HOD and
Professor in the Department of Information Technology, in
JKKN College of Engineering, Tamil Nadu, India. His
current research interest includes document analysis, optical
character recognition, pattern recognition and network
security. He is a life member of ISTE.
Dr. T. Ravichandran received a Ph.D in Computer Science
and Engineering in 2007, from the University of Periyar,
Tamilnadu, India. He is working as a Principal at Hindustan
Institute of Technology, Coimbatore, Tamilnadu, India,
specialised in the field of Computer Science. He published
many papers on computer vision applied to automation,
motion analysis, image matching, image classification and
view-based object recognition and management oriented
empirical and conceptual papers in leading journals and
magazines. His present research focuses on statistical
learning and its application to computer vision and image
understanding and problem recognition

295

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

296

Performance Analysis of the Signaling Channels of OBS
Switches
Hulusi YAHYAGİL

A.Halim ZAİM

M.Ali AYDIN

Ö.Can TURNA

İstanbul University, Computer Engineering Department, Avcılar – İstanbul, TURKEY

Abstract
Nowadays, fiber optic networks that make transmission possible
in high capacities become widespread. There is a partial decrease
in network problems with the capabilities provided by these
networks such as telephone, wide area network, Internet, video
conference on a single fiber line. Also in optical networks,
optical burst switching that is a new technology stands out by its
some partial benefits. Optical burst switching (OBS) is a
promising solution for all optical networks. In this paper, a
program is developed which simulates signaling channel of an
OBS switch, for signaling messages that uses signaling protocols
while going from source node to destination node through
intermediate OBS switches. In this study, some models for interarrival time of the signaling messages and processing time in the
service are used and a comparison of these models with the other
well known models is done (M/M/1/K queuing model and a
model using self-similar traffic as arrival process).
Keywords: Optical Networks, Optical Burst Switching,
Queuing Models, OBS Switches.

1. Introduction
Optical Burst Switches (OBSs) are designed to meet the
increasing bandwidth demands [1,2]. This increase in
bandwidth demands has led to the development of optical
fibers which gives the opportunity to carry high bit-rates.
Even the high bit-rates obtained with optical fibers are not
capable to provide enough bandwidth for future network
requirements; dense wavelength division multiplexing
(dWDM) became the solution for providing higher
bandwidth.
OBS seems to be the answer to the increasing bandwidth
demand problem. OBS is designed as an intermediate
solution between optical circuit switching and packet
switching and looks like the best candidate to carry IP
traffic over dWDM networks.
In this study, we concentrate on the signaling and control
plane of the OBS switch. The data plane is out of scope of

this study. Xu et al. has already proposed a queuing
network model to analyze the data plane of an OBS switch
in [3]. However, the signaling and control plane is
different than the data plane where there is no opticelectronic-optic (OEO) conversion and the bursts are
handled in all optical planes. Interested readers could refer
to [4,5] for further information related with signaling
protocol. On the other hand, for the signaling and control
plane, OEO conversion is necessary. Once OEO is
required, switches need a buffer mechanism. The switch is
considered to be an NxN optical burst switch. The switch
architecture is explained in detail in [4]. There are both
input and output buffers for signaling channels. The
switch fabric is non-blocking. The output contention is
resolved by input and output buffers. The rate of the
signaling channel will be estimated with different
stochastic processes.
This paper is organized as follows. Section 2 gives the
system description. In section 3, we give different
approximation methods used for analysis purposes. In
section 4 we compared our results. Section 5 concluded
our study.

2. Problem Definition
In this paper, we analyze an OBS switch that contains
input and output buffers. The messages traversing on that
OBS switch are signaling and control messages.
Therefore, they are apt to OEO conversions at each switch
along their path. The rate of data channel is assumed to be
2.4 Gbps. The rate of signaling channel is on the other
hand 155 Mbps. Signaling message size is 1 Kbps and
burst size is variable taking values among 32 Kbps, 64
Kbps and 128 Kbps. The aim of this study is to calculate
the dropping probabilities at input and output buffers with
fixed buffer sizes. Once we model the system with this
approach, we can also analyze input and output buffer
sizes with fixed dropping probabilities.

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

In literature, we can see some proposals related with the
buffer dimensioning for packet switches. Jung et al.
proposed an analytical solution for back-pressure type
packet switches with input and output buffers in [5]. They
analyzed the switch as a Geom/PH/1/K queue. Another
model is proposed by Iliadis et al. again for packet
switches in [6] where they modeled the system with two
tandem queues. The input queue is analyzed as an M/G/1
queue and the output queue is modeled as an M/D/1
queue. Chen et al. in [7] analyzed the same problem with
M/G/1 and M/M/1 tandem queues. However, all of them
worked on packet switches. On the other hand, OBS is
designed as an intermediate solution between optical
circuit switching and packet switching. Therefore, another
modeling approach is needed to analyze these systems.

3. Our Modeling Approach
Our analysis is organized is three steps. We defined a
simple approximation based on M/M/1/K model as the
first step. In the second step, we changed the arrival
process, and used self-similar traffic as the input process.
In the third step, we defined a new model with
MMPP/C2/1/K queue.

297

RD
SS
SB

RS

(1)

where RD is the rate of data channel, RS is the rate of
signaling channel, SB is the burst size and SS is the
signaling message size. In our switch, RD is 2.4 Gbps, RS is
155 Mbps, SS is 1 Kbps and SB can be 32, 64, 128, 256, or
512 Kbps. In our comparisons we used SB as 32, 64 and
128 Kbps and represented the required buffer sizes.

3.2 Self-Similar Traffic as the Input Process
To obtain more realistic results in terms of similarity, a
real system’s behavior must be examined (e.g. The
Internet). Existing researches on this field show that
Internet traffic behavior is self-similar. For this reason,
self-similar traffic is used in arrival process. Figure 3.1
shows a measured Internet traffic which is also selfsimilar. The Internet traffic is compared with Poisson
distribution in this figure.

3.1 An Approximate Solution
The arrival process to the switch input buffers are assumed
to be homogeneous. That means the total traffic is
distributed uniformly to each output port. Burst arrivals to
each input come from independent and identical Poisson
processes with an arrival rate  burst/unit time and bursts
have exponentially distributed service time with mean

1



unit time.

The switch is modeled as two M/M/1/K queues in tandem.
The first queue represents the input buffers and the second
one represents the output buffers. Arrival rate to the first
queue is Poisson with rate , and Pin is the blocking
probability of traffic for the first queue, while the arrival
rate for the second queue is the rate of the traffic that has
not been blocked in the first queue and is described as (1Pin).

3.1.1. Calculation of Load
The amount of load that is used through this work
calculated as follows:

Fig. 3.1 Comparison of the self-similar Internet traffic (measured)
with Poisson [8]

As shown in the Figure 3.1, the traffic that uses Poisson
distribution is far from real traffic. For this reason, we
modified the arrival process, and used self-similar traffic
as the input process. In the self-similar traffic model,
arrival process is produced as self-similar and the

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

298

incoming packets are gathered in input queue. For the
incoming packets, the service duration is produced by
exponential distribution as in the M/M/1/K model.

3.3. A New Model MMPP/C2/1/K queue
In our model, arrival processes are designed as ThreeState-Markov Model shown in Figure 3.2. Arrival process
can be one of these 3 states: short signaling, long signaling
and idle. If it is short signaling state, a short signaling
packet is coming to the OBS switch. Also, in long
signaling state, a long signaling packet is coming to the
OBS switch. In idle state, there is no packet arrival to the
OBS switch. Passing through short signaling, long
signaling and idle state is calculated by exponential
distribution.

Fig. 3.3 Two-State Coaxian Server

The control packets that leaves from the server, is sent to
output queue. If the output queue is not empty, the newly
arriving control packet is also added to the end of the
output queue. Otherwise, it is sent to next OBS switch.

4. Comparing Results
In this section, we give three different graphics for each
model. These three different graphics are for each burst
size. At each graph, output buffer sizes vary from 10 to
700 and input buffer sizes are fixed.

Fig. 3.2 Three-State Signaling Arrival Process

Starting state is idle state. It is possible to pass short
signaling state by Ps possibility and the short signaling
state can be kept or can be changed to idle state according
to the next arriving value. It is not possible to change
between long and short signaling states directly. So,
before changing state to short or long signaling, must be
passed to idle state. All these events are same, when the
state changes to long signaling state with the possibility
of (1  Ps ) .
Control packets that come out from input queue are passed
to the two-state Coaxian Server as shown in Figure 3.3.
1 and  2 show rate of the Coaxian Server in the first
and second states.  is the possibility value which shows
if it is possible or not passing to second state. A control
packet that arrived to server and was processed with  1
server rate is processed again by the  possibility with
 2 server rate. After that, it can be passed to output

queue. In the second case, when the possibility is (1   ) ,
it can be passed to output queue without being processed
with  2 server rate.

Figure 4.1, 4.2 and 4.3 show packet dropping probability
of the M/M/1/K model for the load of 0.4, 0.24 and 0.12,
respectively. Figure 4.1 and 4.2 are plotted until dropping
probability value reaches 0.3. However in Figure 4.3,
under 0.12 load, it is seen that initial dropping probability
is already about 0.3.
In Figure 4.1, dropping probability starts at 0.8 and ends at
0.3 with 380 buffer size. Different from Figure 4.1, in
Figure 4.2, dropping probability starts at 0.6 and almost
decreasing linearly, ends at 0.3 with 230 buffer size.
In Figure 4.3, because of low load value, the initial value
of dropping probability is already 0.3 with less than 2
buffer size. It can be seen that with increasing buffer size
the dropping probability converges to zero as expected.
Figure 4.4, 4.5 and 4.6 show packet dropping probability
of the self-similar model for the load of 0.4, 0.24 and 0.12,
respectively. Figure 4.4, 4.5 and 4.6 are plotted until
dropping probability value reaches 0.3. In Figure 4.4,
dropping probability starts at 0.99 and ends at 0.3 with
700 buffer size. Like Figure 4.4, in Figure 4.5 under 0.24
load, dropping probability starts at 0.99 and ends at 0.3
with 700 buffer size. In Figure 4.6, under 0.12 load, the
OBS switch behaves the same as in Figure 4.4 and 4.5.

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

299

Fig. 4.1 Packet dropping probability in input and output buffers for
load=0.4 (M/M/1/K)

Fig. 4.4 Packet dropping probability in input and output buffers for
load=0.4 (Self-Similar)

Fig. 4.2 Packet dropping probability in input and output buffers for
load=0.24 (M/M/1/K)

Fig. 4.5 Packet dropping probability in input and output buffers for
load=0.24 (Self-Similar)

Fig. 4.3 Packet dropping probability in input and output buffers for
load=0.12 (M/M/1/K)

Fig. 4.6 Packet dropping probability in input and output buffers for
load=0.12 (Self-Similar)

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

Figure 4.7, 4.8 and 4.9 show packet dropping probability
of the MMPP/C2/1/K model for the load of 0.4, 0.24 and
0.12, respectively. Note that all three of dropping
probabilities are decreasing almost linearly. Figure 4.7, 4.8
and 4.9 are plotted until dropping probability value
reaches 0.3. In Figure 4.7, dropping probability starts at
0.75 and ends at 0.3 with 500 buffer size.
Different from Figure 4.7, in Figure 4.8, dropping
probability starts at 0.6 and almost decreasing linearly,
ends at 0.3 with 350 buffer size.
In Figure 4.9, because of low load value, the initial value
of dropping probability is already 0.3 with 10 buffer size.

300

the Figures 4.1 to 4.3, for a 0.3 dropping probability and
for 0.24 load, in M/M/1/K model (best case) we need 230
buffers/port in addition. For a message size of 1Kbps, the
required buffer size is (1 Kbps * 230) 230 Kbps/port. For
a four port switch, the total buffer requirement is (4*230)
920 Kbps (=0.92 Mbits).
According to the Figures 4.4 to 4.6 for a 0.3 dropping
probability and for a 0.24 load, in self-similar model
(worst case) we need 740 buffers/port in addition. For a
message size of 1Kbps, the required buffer size is
(1
Kbps * 740) 740 Kbps/port. For a four port switch, the
total buffer requirement is (4*740) 2960 Kbps (=2.96
Mbits).
According to the Figures 4.7 to 4.9 for a 0.3 dropping
probability and for a 0.24 load, in MMPP/C2/1/K model
we need 360 buffers/port in addition. For a message size
of 1Kbps, the required buffer size is (1 Kbps * 360) 360
Kbps/port. For a four port switch, the total buffer
requirement is (4*360) 1440 Kbps (=1.44 Mbits).

Fig. 4.7 Packet dropping probability in input and output buffers for
load=0.4(MMPP/C2/1/K)

Fig. 4.9 Packet dropping probability in input and output buffers for
load=0.12(MMPP/C2/1/K)

5. Conclusions

Fig. 4.8 Packet dropping probability in input and output buffers for
load=0.24(MMPP/C2/1/K)

In Figures 4.1 to 4.9, the change on the output buffers for
varying loading of the system can be seen. According to

If results of M/M/1/K model is considered as the best case,
and the self-similar traffic, which is applied to our model
as arrival process, is considered as the worst case, it is
been observed that when Three-State Signaling Arrival
Process (our arrival process) is applied to our model; we
have minimum packet dropping probability against
optimum buffer size (Figure 5.1). Therefore, in real life
our model (MMPP/C2/1/K) is much more applicable than
both M/M/1/K model and self-similar traffic which is
applied to our model.

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

For future works, our model (MMPP/C2/1/K) can be
analyzed analytically. Consequently, more suitable input
and service rates can be obtained and it would be possible
to purpose getting more certain values.

301

[7] J.S.-C. Chen and T.E. Stern, "Throughput analysis, optimal
buffer allocation, and traffic imbalance study of a generic
nonblocking packet switch," IEEE J. Select. Areas Commun.,
Apr. 1991, vol. 9, no. 3, p. 439-49.
[8] T.B. Fowler, “A Short Tutorial on Fractals and Internet
Traffic”, The Telecommunications Review, 1999, Volume: 10,
pp. 1-15.

Fig.5.1 Comparing buffer sizes for each model under the 0.3 dropping
probability

References
[1] I. Baldine, G.N. Rouskas, H.G. Perros, and D. Stevenson,
“Jumpstart: a just-in-time signaling architecture for WDM burstswitched networks”, IEEE Communications Magazine, 2002,
Volume:40 Issue: 2, pp.82-89.
[2] A.H. Zaim, I. Baldine, M. Cassada, G. Rouskas, H. Perros,
and D. Stevenson, “JumpStart just-in-time signaling protocol: a
formal description using extended finite state machines”, Optical
Engineering, 2003, Volume:42 pp. 568-585.
[3] L. XU, H.G. Perros, and G. Rouskas, “Techniques for Optical
Packet Switching and Optical Burst Switching”, IEEE
Communications Magazine, 2001, pp.136-142.
[4] J. Wei, and R. Mcfarland, “Just-in-time Signalling for WDM
Optical Burst Switching Networks”, Journal of Lightwave Tech.,
2000, Vol. 18, No. 12, pp. 2019-2037.
[5] C. Qiao, and M. Yoo, “Optical Burst Switching (OBS) – A
New Paradigm for an Optical Internet”, Journal of High Speed
Nets., 1999, Vol. 8, No. 1, pp. 69-84.
[6] I. Iliadis, and W.E. Denzel, “Performance of Packet Switches
With Input and Output Queueing”, in Proc. ICC '90, Atlanta, GA,
Apr. 1990, pp. 747-753.

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

A Color Image Digital Watermarking Scheme Based on SOFM
J. Anitha1, S. Immanuel Alex Pandian2
1

Asst.Prof., Dept. of Computer Science and Engineering, Karunya University,
Coimbatore, Tamilnadu, India.

2

Asst.Prof., Dept. of Electronics and Communication Engineering, Karunya University,
Coimbatore, Tamilnadu, India.

Abstract
Digital watermarking technique has been presented and widely
researched to solve some important issues in the digital world,
such as copyright protection, copy protection and content
authentication. Several robust watermarking schemes based on
vector quantization (VQ) have been presented. In this paper, we
present a new digital image watermarking method based on
SOFM vector quantizer for color images. This method utilizes
the codebook partition technique in which the watermark bit is
embedded into the selected VQ encoded block. The main feature
of this scheme is that the watermark exists both in VQ
compressed image and in the reconstructed image.
The
watermark extraction can be performed without the original
image. The watermark is hidden inside the compressed image, so
much transmission time and storage space can be saved when the
compressed data are transmitted over the Internet. Simulation
results demonstrate that the proposed method has robustness
against various image processing operations without sacrificing
compression performance and the computational speed.
Keywords: self organizing feature map, digital watermarking,
vector quantization, codebook partition, color image
compression.

1. Introduction
With the rapid development of multimedia and the fast
growth of the Internet, the need for copyright protection,
ownership verification, and other issues for digital data are
getting more and more attention nowadays. Among the
solutions for these issues, digital watermarking techniques
are the most popular ones lately [1]–[5]. Digital
watermarking techniques provide effective image
authentication to protect intellectual property rights. The
digital watermark represents the copyright information of
the protected image.
Digital watermarking is the process of embedding a secret
information (i.e., a watermark) into a digital data (namely
audio, video or digital image), which enables one to
establish ownership or identify a buyer. Digital watermark
can be a logo, label, or a random sequence. In general,
there are two types of digital watermarks, visible and

invisible watermarks. The embedded watermarks can later
be extracted or detected from the watermarked media for
authentication or identification. Invisible watermarks can
be broadly classified into two types, robust and fragile
watermarks. Robust watermarks are generally used for
copyright protection and ownership verification because
they are robust to nearly all kinds of image processing
operations. In comparison, fragile watermarks are mainly
applied to content authentication and integrity attestation
because they are completely fragile to any modifications.
In general, the digital watermark technique must satisfy
the following properties. First, the embedded watermark
does not distort visually the image & should be
perceptually invisible. The second property is that the
watermark is difficult for an attacker to remove. It must
also be robust to common attacks.
Until now, many researchers have come up with a variety
of watermarking techniques, and the techniques proposed
so far have been highly effective in the area of copyright
protection. However, most current watermarking
techniques embed the watermark in a normal, original
image instead of a compressed image [7]. They offer
considerable security for normal, uncompressed images,
and yet they fail to take into consideration the inevitable
fact that, due to limited frequency bandwidth, almost all of
the images travelling over the Internet are in compressed
forms in order to save transmission time and storage
space. Therefore, to allow for application to the Internet, a
new watermarking approach has recently been used to
combine with image compression techniques to embed a
digital watermark into the compressed image [8], [9]. It is
worthwhile to note that image compression and image
watermarking have some common features.
In image compression [16], an image is encoded using its
most significant characteristics. After compression, the
greatest concern is that the distortion of the decompressed
image must be controlled. On the other hand, in image
watermarking, the embedded watermark must not degrade

302

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

the image quality of the watermarked image. With this
similar goal, the image compression approach can aid in
the implementation of watermark embedding and
detection. Recently, Lu et al. (2000) [6] presented a VQbased digital image watermarking method. This method
utilizes the codebook expansion technique to produce a
partition of the codebook. According to the different sets
in the partition of the codebook, the watermark can be
embedded into an image. This method is simple and
effective. The authors claim that if the codebook is kept
secret, their method can provide the secure feature. Makur
and Selvi (2001) [10] proposed another watermarking
scheme based on variable dimension VQ (VDVQ) for
hiding a watermark into images. The main property of
VDVQ is the use of a codebook that contains codewords
of varying dimensions. To embed the binary watermark,
this method uses a codebook that contains codewords of
two different dimensions. When an image block is
encoded, the dimension of the selected codeword is set
according to the corresponding embedded watermark bit.
However, the embedded watermark is fragile. The
decoding and re-encoding of the compressed image may
easily remove the embedded watermark. Hsien-Chu Wu
and Chin-Chen Chang proposed another watermarking
scheme based on codebook editing in LBG algorithm [11],
[12].
In this paper, we propose a new method of digital
watermarking that embeds the watermark in an already
compressed color image through VQ technique [13]. Here
the SOFM based codebook generation algorithm is used.
The watermark is embedded in the selected index of the
codebook. In color image, R channel is used for
watermark embedding. The watermark exists both in
compressed and reconstructed image. The experimental
results show that this method enables images to withstand
a number of destructive image processing procedures
including cropping, blurring, sharpening and JPEG
compression [17].

2. SOFM based VQ
Codebook plays an important role on every compression
technique. This codebook is used for both compression
and a decompression stage, which is generated by means
of SOFM based VQ [14], [15]. A vector quantizer Q of
dimension k and size S can be defined as a mapping from
data vectors in k-dimensional Euclidean space, Rk into a
finite subset C of Rk . Thus
Q : Rk  C
Where C={y1,y2, …., ys} is the set of S reconstruction
vectors, called a codebook of size S, and each yi  C is
called a code vector or codeword. For each yi , i 
I,{1,2,….,S} is called the index of the code vector and I is

303

the index set. Encoding a data vector x  Rk involves
finding the index j of the code vector yj  C such that
|| x – yj || ≤ || x – yi ||  i  j and i,jI. The decoder uses
the index j to look up the codebook and generates the
reconstruction vector yj corresponding to x. the distortion
measure d(x,yj) = || x – yj || represents the penalty of
reproducing x with yj. If a VQ minimizes the average
distortion, it is called the optimal VQ of size S.
A self organizing feature map is a neural network
clustering technique, having several desirable features in
the field of VQ. The learning scheme of the self
organizing feature map is an application of the least mean
square algorithm where the weights of the neurons are
modified on the fly for each input vector. Thus the
codebook is updated using an instantaneous estimate of
the gradient known as stochastic gradient, which does not
ensure monotonic decrease of the average distortion. Also
due to incorporation of neighborhood update (opposed to
the winner only update in pure competitive learning) in the
training stage, SOFM networks exhibit the interesting
properties of topology preservation and density matching.
The SOFM algorithm generates the weight vectors. The
resultant weight vectors are called the SOFM codebook.
The codebook obtained from the SOFM algorithm is used
for codebook partition to perform watermark embedding.

3. Codebook Partition
Our watermarking technique is mainly depends on the
codebook partition to complete watermark embedding
process. Let the initial codebook trained by SOFM be CB
such that each codeword CW in CB contains a*a elements.
After the codebook partition process, in each division,
there will be two codewords, numbered 0 and 1,
respectively, so that codeword 0 is used to embed
watermark bit 0. The codeword 1 corresponds to
watermark bit 1. The two codewords most similar to each
other are classified into the same division with their index
values recorded in the codebook. The degree of similarity
between one codeword and the others is determined by
calculating the mean square error (MSE). The MSE of two
codewords CWx and CWy is defined by Eq. (1).

(1)
For example, if a codebook containing 256 codewords,
after performing the codebook partition, totally there are
128 divisions, every division with two codewords.

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

4. Watermark Embedding
After the codebook partition, we can start the watermark
embedding process, which contains the following steps:
Step 1: Segment the base image (BI) into non-overlapping
blocks. For each block, search the CB generated by SOFM
algorithm for the closest codeword and record the index
value of this codeword.
Step 2: Use K as the seed of the pseudorandom number
generator (PRNG) and randomly pick out M*M (size of
watermark image (WI)) indices generated in Step 1. Map
each watermark pixel to a chosen index in sequence.
Step 3: In the classified codebook divisions, for every
index value selected in the previous step, search for the
corresponding division and codeword number and record
them. When doing the recording, use S bits to keep track
of the division number and use one bit to write down the
codeword number, where S is set to be ┌log n┐. For
example, if a codebook have 256 codewords where every
division has two codewords, we need 7 bits (i.e., ┌log
(256/2)┐=┌log 128┐=7) to locate the division and just
one bit to indicate which one of the two is the codeword.
That is, in this example, S is 7. To be more specific, the
index for the codeword numbered 1 in the first division is
00000001, where the first part ‘‘0000000’’ locates the
division and the last bit ‘‘1’’ indicates that the codeword is
numbered 1.
Step 4: For each recorded item, replace its corresponding
number bit with the pixel value of the watermark. For
example, suppose the watermark bit 1 is embedded in the
recorded item 00000010, the embedding result will be
00000011 with the last bit to be replaced by the watermark
bit.
Step 5: Find the index values corresponding to the new
recorded items, and then compress the image with all of
the indices. Let the compressed watermarked image be
BI’.
The size of the digital watermark that can be embedded in
base image depends on the size of base image and the size
of the divided block.

5. Watermark Retrieval
To perform the watermark retrieval procedure, both the
sender and the receiver possess the same codebook for the
transmitted watermarked image. The receiver can recover
the compressed image with the indices and retrieve the
embedded watermark using the codebook. Watermark
retrieval is done through the following steps:
Step 1: If the watermark is extracted from the VQ
decoded image go to Step 2, otherwise go to Step 3.
Step 2: Segment the decompressed watermarked image
into blocks of the same size with a*a pixels. With the help
of the secret key K to perform PRNG(K), select the blocks
where the watermark pixels were embedded and pick out

304

the indices corresponding to the codewords in the
codebook that are most similar to the selected blocks. Go
to Step 4.
Step 3: With the help of the secret key K to perform
PRNG(K) and select the indices embedded with the
watermark pixels.
Step 4: In the codebook divisions, search for the divisions
and codeword numbers corresponding to the selected
indices. Then, recover the watermark WI’ with the number
bits.

6. Performance Analysis
In this paper, the digital watermarking technique
completes the watermark embedding process in the color
image through R channel during VQ encoding. However,
the embedded watermark still exists in the VQ decoded
image. Subjectively, human eyes can evaluate the image
quality. However, the judgment is influenced easily by the
factors like expertise of the viewers, experimental
environments, and so on. To evaluate the image fidelity
objectively, some famous measurements are adopted in
this paper and described as follows.
The quality of the watermark embedded compressed
image with the original base image is calculated through
the peak signal-to-noise ratio (PSNR) defined as Eq. (2).
(2)
where MSE is the mean-square error between the original
grayscale image and the distorted one. Basically, the
higher the PSNR is, the less distortion there is to the host
image and the distorted one.
Normalized correlation (NC) is used to judge the
similarity between the original watermark WI and
extracted watermark WI’. The NC is defined as Eq. (3):

(3)
In principle, if the NC value is closer to 1, the extracted
watermark is getting more similar to the embedded one.
The bit-correct rate (BCR) is computed as Eq. (4):
(4)
The mean absolute error (MAE) is computed as Eq. (5):
(5)
where m denote the length of the signature. Note that the
quantitative index, MAE, is exploited to measure the
similarity between two binary images.

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

7. Experimental Results
Rice
256X256
Owl
256X256
Mattface
256X256
Bird
256X256
Peppers
256X256

PSNR
(dB)

CR(bpp)

Time
(min)

PSNR
(dB)

CR(bpp)

Time
(min)

33.73

4.462

14.88

31.92

5.544

22.62

26.59

4.482

14.45

25.95

5.806

22.41

32.22

4.448

13.89

31.61

5.731

24.72

34.22

4.451

14.01

32.96

5.556

22.63

32.50

4.462

14.06

31.78

5.695

26.04

It is inferred from the table, that the SOFM algorithm
performs better than the well-known LBG algorithm in
terms of compression ratio and image quality. The
effectiveness of the SOFM algorithm over the LBG
algorithm for various images is plotted in Fig 2.

PSNR(dB)

For showing the results of the proposed method, the 512*
512*3 Lena image is used as the original image. The
watermark image is a 64*64 binary bitmap. The
watermark is embedded in the R component during VQ
encoding. Fig 1(a), (b) and (c) shows original image,
original watermark image and watermarked image
respectively. From fig 1(a) and (c), it is clear that the
embedding algorithm does not distort host image much
and the embedded watermark still exists in the VQ
decoded image with PSNR value 32.9731dB. Without
attacks, the extracted watermark with the NC value as 1,
MAE as 0 and BCR as 100% is shown in fig 1(d), shows
the extracted watermark is still meaningful and
recognizable.

305

35
33
31
29
27
25

SOFM
LBG

Rice

Mattface

Peppers

Images
(a)

(b)
Fig 2(a). Performance of SOFM over LBG in terms of PSNR

CR(bpp)

9
7
5

SOFM

3

LBG

1
Rice
(c)

(d)

Mattface

Peppers

Images

Fig 1. (a) Original image; (b) Original watermark;
(c) Watermarked image; (d) Extracted watermark.

In the proposed method, a codebook containing 256
codewords are obtained using SOFM algorithm and build
up codebook divisions with every division containing two
codewords. To bring out the effectiveness of the SOFM
based VQ, it is compared with the oldest, as well as most
commonly used LBG algorithm for various test images.
Table 1. Significance of SOFM over LBG
Image

SOFM

LBG

Fig 2(b). Performance of SOFM over LBG in terms of compression ratio

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

25
20
SOFM

15

To measure the robustness, the watermarked image is
tested by common image processing operations, geometric
distortions and lossy compression. Table 2 shows the
performance of the algorithm with various filter
operations.

LBG

10
Rice

Mattface

Peppers

Images

Fig 2(c). Performance of SOFM over LBG in terms of computation time

Comparison to the results in Fig 2(a), when we use SOFM
algorithm for compression then there is a increase in
PSNR value around 1-2dB (Eg., for Pepper image the
PSNR value for SOFM is 32.50dB and the PSNR value
for LBG is 31.78dB). In terms of compression ratio, there
is an increase when we use SOFM based algorithm to
compress an image. Also there is a reduction in time for
computation. In fig 2(c) the computation time to generate
the codebook for Pepper image using LBG algorithm is
26.04 minutes which is further reduced to 14.06 minutes
in SOFM algorithm. Hence the proposed work uses SOFM
algorithm for codebook generation.
7.1 Codebook Vs Image Quality

Fig 3 shows the effectiveness of the watermarking
technique with various codebook sizes. We observe that
the use of a larger codebook leads to have better
watermarked image quality.

Table 2. Comparison of results of NC, MAE and BCR for
various filter operations

Attack
Method
Wiener
(3x3)
Wiener
(5x5)
Wiener
(7x7)
Median
(3x3)
Median
(5x5)
Median
(7x7)

34.5
34

PSNR(dB)

NC

MAE

BCR (%)

Filter

0.9474

0.1411

85.89

Filter

0.8026

0.3384

66.16

Filter

0.7541

0.4197

58.03

Filter

0.9281

0.2280

77.19

Filter

0.7995

0.3694

63.06

Filter

0.7352

0.4436

55.64

Fig 4 shows the performance of algorithm against various
filter operations. From the graph we observe that when the
mask size increases the NC value going down. Fig 5, Fig 6
displays the effects of the cropping attacks and we observe
that the extracted watermarks are obviously
distinguishable by the human eye when the cropped part is
filled with white pixels.

NC

Time(mins)

30

306

1
0.9
0.8
0.7
0.6
0.5

Wiener Filter

3x3

33.5

5x5

7x7

Mask size

33
32.5

1
0.9

128

256

512

1024

Codebook Size

NC

32

0.8

Median
Filter

0.7
0.6
0.5
3x3

Fig 3. Codebook size Vs watermarked image quality

5x5

7x7

Mask size

Fig 4. Graphs showing the performance of algorithm against various filter
operations

7.2 Filter Attacks

7.2 Cropping and Other Attacks

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

307

Attack Method
Gaussian Filter
Sharpening
Blurring
Salt & pepper noise
Gaussian noise
25 rows & columns
cropped in all sides
Interception
and
deleted part filled with
gray
Enhancement

(a)

NC
0.9934
0.8347
0.8036
0.9413
0.9673
0.8235

MAE
0.0127
0.1729
0.4043
0.0508
0.0325
0.0935

BCR (%)
98.7305
82.7148
59.5703
94.9219
96.7529
90.6494

1

0.0198

98.0225

0.7245

0.3406

65.9424

Quarter cropped MAE = 0.1299

Fig 6(a). Simulation of intercepted and deleted index
(b)

Quarter cropped and filled with zero MAE = 0.1152

Fig 6(b). Simulation of cropping effect in all sides

(c)

Quarter cropped and replaced with original MAE = 0.1206
Fig 5. The quarter-cropped, watermarked image

The experimental results of other attacks also shown in
table 3. It can be seen that our algorithm can successfully
resist attacks by gaussian filter, sharpening, blurring,
noise, enhancement, cropping in edges and interception.
The watermarks are extracted with good NC, MAE and
BCR values. Thus the extracted watermarks can be
identified and declared correctly.
Table 3. Experimental results with various attacks

7.4 JPEG Attacks

The following table 4 illustrates the influence of JPEG
lossy compression on watermarked image. The results
influences that our method can obtain an extracted
watermark with the NC value as 1 when the quantization
level is 128 and 64. Fig 7 shows the extracted watermark
after the JPEG lossy compression.
Table 4. Experimental results of watermarks extracted from images
compressed at different JPEG compression level

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

Quantization
level

NC

BCR (%)

PSNR
(with
JPEG
attack)

128
64
32
8
4

1
1
0.9291
0.9107
0.8061

100
96.0449
83.3740
64.4287
51.3184

31.7808
31.7164
31.3043
30.1549
28.0327

Fig 7. Watermark extracted from the JPEG lossy compressed image

The experiments conducted in this section proved that the
images processed by our method have not only been
processed by VQ but can also resist a JPEG lossy
compression and other attacks. Therefore, our method can
effectively protect the intellectual property of images.

8. Conclusion
A watermarking scheme based on SOFM in color image
has been proposed in this paper for enhancing the VQ
system of the watermarking ability. The simulation results
illustrate that, our technique possesses the advantages of
better imperceptibility, stronger robustness, faster
encoding time, and easy implementation. This technique
embeds the watermark in an image that has already been
compressed, which saves time and space when the image
is transmitted over network. Experimental results
demonstrate that the proposed method is suitable for
intellectual property protection applications on the
Internet.

References
[1] A. Bros and I. Pitas, “Image watermarking using DCT
domain constraint”, IEEE Int. Conf. Image Processing
(ICIP’96), Vol.3, pp. 231 – 234, 1996.
[2] R. Barnett, “Digital watermarking; applications,
techniques and challenges”, IEE Electronics &
Communication Engineering Journal, Vol. 11, No. 4, pp.
173 – 183, 1999.

308

[3] C.T Hsu and J. L. Wu, “Hidden digital watermarks in
images”, IEEE Trans. Image Process., Vol. 8, No. 2, pp.
58 – 68, 1999.
[4] Niu XM, Lu ZM, Sun SH, “Digital watermarking of
still image with gray-level digital watermarks”, IEEE
Trans. Consumer Electronics, Vol. 46, No. 1, pp. 137 –
145, 2000.
[5] Chang CC, Tsai CS, “A technique for computing
watermarks from digital images”, Journal of Computing
and Informatica, Vol. 24, No. 3, pp. 391 – 396, 2000.
[6] Lu ZM, Pan JS, Sun SH, “VQ based digital image
watermarking method”, IEE Electronic Letters, Vol. 36,
No. 14, pp. 1201 – 1202, 2000.
[7] H. C. Huang, F. H. Wang, J. S. Pan, “Efficient and
robust watermarking algorithm with vector quantization”,
Electronics letters, Vol. 37, No. 13, pp. 826 – 828, 2001.
[8] Hsiang-Cheh Huang, Shu-Chuan Chu, Yu-Shsiu
Huang, “VQ based watermarking techniques”, Journal of
Computers, Vol. 17, No. 2, July 2006.
[9] M. Jo and H. D. Kim, “A digital image watermarking
scheme based on vector quantization”, IEICE Trans. Inf.
& Syst., Vol. E85-D, pp. 1054 – 1056, 2002.
[10] Makur A, Selvi SS, “Variable dimension vector
quantization based image watermarking”, Signal
Processing, Vol. 81, pp. 889 – 893, 2001.
[11] Hsien-Chu Wu, Chin-Chen Chang, “A novel digital
image watermarking scheme based on the vector
quantization technique”, Computers and Security (2005),
Vol. 24, pp. 460-471, 2005.
[12] Y. Linde, A. Buzo, R. M. Gray, “An algorithm for
vector quantizer design”, IEEE Trans. Commun., Vol. 28,
No. 1, pp. 84 – 95, 1980.
[13] Yogesh Dandawate,M.A.Joshi and A.V.Chitre,
“ColorImage Compression using Enhanced Vector
Quantizer designed with Self Organizing feature maps”,
The Proceedings of International Conference on
Information Processing, Bangalore (India) pp. 80-85,
2007.
[14] T.Kohonen, “The Self Organizing Maps“, Invited
Paper, Proceedings of IEEE 1990, Vol. 78, No. 9, pp.
1464- 1480, 1990.
[15] T. Kohonen, “Self-Organization and Associative
Memory”, New York: Springer- Verlag, 2nd ed, 1988.
[16] K. Sayood, Introduction to data compression, 2nd Ed.,
Academic Press, Morgan Kaufmann: San Francisco, CA,
2000.
[17] R. C. Gonzales and R. E. Woods. Digital image
processing, Addison-Wesley, 2000.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
www.IJCSI.org
J. Anitha was born in Nagercoil, Tamilnadu, India, on July 14,
1983. She obtained her B.E degree in Information Technology
from Mononmaniam Sundarnar University in 2004, Tirunelveli,
Tamilnadu. She received her Masters degree in Computer Science
and Engineering from Manonmaniam Sundarnar University in
2006, Tirunelveli, Tamilnadu. Currently she is pursuing Ph.D in the
area of Image processing. Her area of interest is in the field of
compression, neural network and watermarking. She is the life
member of Computer Society of India.
S. Immanuel Alex Pandian was born in Tirunelveli, Tamilnadu,
India, on July 23, 1977. He obtained his B.E degree in Electronics
and Communication Engineering from Madurai Kamaraj University
in 1998, Madurai, Tamilnadu. He received his Masters degree in
Applied Electronics from Anna University in 2005, Chennai,
Tamilnadu. Currently he is pursuing Ph.D in the area of Video
processing. His area of interest is in the field of image processing,
computer communication and neural network.

309

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

310

E-Government Challenges in Public Sector:
A case study of Pakistan
Nasim Qaisar1 and Hafiz Ghufran Ali khan2
1
Department of Business Administration,
Federal Urdu University of Arts, Science and Technology, Islamabad, PAKISTAN

2
Faculty of Management Sciences,
International Islamic University, Islamabad, PAKISTAN

Abstract
A longitudinal study has been conducted to explore
challenges confronting E-Government implementation in
public sector organizations of Pakistan. The tremendous
advancement of Information and Communication
Technologies (ICT) strongly influenced the work process
that brought change into the administrative setup of
government / bureaucracy. The basic information about
government organizations, but not all its relevant
business / processes are made available online to the
stakeholders concerned. However implementation of EGovernment is a big challenge as it needs tremendous
change in the existing work processes. Case study
encompasses the challenges in area such as technological
infrastructure, organizational aspect, and collaboration
with other organizations. The study was conducted in
one of public sector organization in Pakistan during the
implementation of E-Government and second study of
the same organization focused on how the challenges
were overcome by introducing various strategies and to
what extent such strategies found to be fruitful. The
finding of the study shows that the implementation of EGovernment is quite difficult where as basic ICT
infrastructure and financial resources are not available in
organizations. It has been recommended E-government
could not be managed properly until the challenges
should be addressed and managed well.

Keywords: E-Government, ICT and government, EGovernment challenges

1. Introduction
E-Government has emerged as a revolutionary
mechanism of the management of public sector
organizations on global basis. It incorporates high
level services; accelerated processing, increased
transparency and low cost output are the mega
products of E-Government. These objectives can be
can be meat through the adoption of Information
and Communication Technologies in various
functional units. Wimmer, Codagnone, & Ma [22]

pointed out that despite the many potential benefits
of using modern ICT, governments still struggle
with the problems of rigid, ineffective business
processes, and the business processes are not
properly designed for effective implementation
through
modern
ICT.
E-Government
implementation should not be achieved without
vision of using modern technologies. EGovernment has been opted by developed as well
as developing countries for providing better
services to their citizens. It could bring forward the
new concept to citizenship by enabling and
empowering to interact directly. These interactions
can be named as Government to Government
(G2G), Government to Business (G2B),
Government to Employee (G2E) and Government
to Citizen (G2C) [16].
The rapid growth in Internet usage and
development of Information and Communication
Technologies and e-commerce/e-business in the
private sector put pressure on public sector
organizations serve citizens electronically [7].
Public sector organizations are under pressure of
use ICT in their processes.
N.B. The name of the understudy organization has
not been disclosed due to professional obligations.

1.1 Research Objectives
This objective of research is to explore various
challenges that public sector organizations may
face
to
implement
E-Government.
This
consideration may leads to the following research
questions.
 How does ICT infrastructure prove a
barrier in the way of E-Government
targets?
 Does Low ICT literacy impede EGovernment implementation?
 Does collaboration between public sector
organizations exist?
 Does professional workforce role exist?

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

311

2. Literature Review
The term E-Government refers to the use of
information and communication technology (ICT)
to enhance the range and quality of public services
to citizens and business while making government
more efficient, accountable, and transparent [19].
E-government means the services available to the
citizens electronically. It may provide opportunity
to citizen to interact with the government for the
services that they required from government. ICT
plays an important role to providing the easy
services by the government to the citizens. The
government should treat their citizen as customers
and provide services though internet and networks.
E-Government is concerned with not only
providing public services but also value added
information to the citizens. It also enables
government organizations to work together
efficiently.
Internet use and benefits gained by advance
countries pressurizing the government of
developing countries to bring their information
online. This may require the government to
transform them self and start using the modern
practices opted by the developed countries [20].
one author describe the challenges as “Many
governments faced the challenge of transformation
and the need to modernize administrative practices
and management systems” cited in [16].

2.1 Defining E-Government
Moor & Norris [15] define E-Government as
“means of delivering government information and
services”.
Another author defines as “EGovernment is the use of ICT to promote more
efficient and effective government that facilitates
more accessible government services, allow greater
public access to information, and make government
more accountable to citizens” [2].
Another
definition
of
E-Government
is
“emphasizes coordinated network building,
external collaboration and customer services” [7].
E-Government is “the electronic provision of
information and services by government 24 hours
per day, seven day per week” [8]. According to
Yildiz [23] “E-Government is the use of ICTs by
public administration to create a networked for;
interconnectivity, service delivery, effectiveness,
transparency and accountability”.
The scope of E-Government by Federal
Government of Pakistan may be considered as a
combination of internal e-enablement and the
external provision of e-services to stakeholders of
the Federal Government. The figure 1 illustrates
the defined scope:

Figure 1 (E-Government Strategy and five year plan for the
Federal Government, 2005)

2.2 Developmental stages of E-Government
Layne & Lee [11] proposed a framework for the
implementation of E-Government. It includes four
stages such as cataloguing, transaction, vertical
integration and horizontal integration.
Cataloguing: create of static website to show
online presence
Transaction: in second stage websites provide the
facility of online transaction, accepting online
payments, process e filling and interaction with
customers.
Vertical integration: It requires integration
required seamless linkages within the domain, a
sharing of data vertically within the industry.
Horizontal integration: It requires integration
across different levels of government and also
across different function of government.
Some argue that an effective E-Government
program requires seamless integration of an
appropriate, quality information engaged public
employee good administrative process, and
government leadership [12]. Layne & Lee [11]
argue that all the benefits of E-Government may be
realized when full service integration in stage four.
UN & ASPA[21] report published in 2001
categorized the progress made by developed and
developing countries in developing an online
presence on five stages scale such as Emerging
stage; Enhanced stage; Interactive stage;
Transactional stage and seamless stage. Brief
description of five stages is as under:
Emerging: An official government online presence
is established.
Enhanced: Government sites increase, information
become more dynamic
Interactive: Users can download forms, email
officials and interact through the web
Transactional: Users can actually pay for services
and other transactions online.
Seamless: Full integration of e-services across
administrative boundaries.
Baoling [2] stated that E-Government aims at
utilizing ICT to provide better quality services to
the citizens through electronic means. The cost of

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

technology is decreasing day by day through this
developing countries can effectively utilized the
benefits of technology [1]. The E-Government
may improve the quality of life of citizens through
better service delivery at low cost. It may
eventually transform the processes and structure of
the government, empower civil servant to serve
citizen better [18].
To take the initiative of E-Government projects
depends on the internal and external factors.
External includes the image of the organization,
become a leader in information society and internal
factors are efficiency, transparency and cost
reduction, Fallahi [7] discussed in his thesis about
the infrastructural obstacles he pointed out the
accessibility of internet connection, less no of
computers in organizatin , unavailability of web
sites , low internet speed, lack of efficient banking
system for e-payment etc.
The literature review leads to the explanation that
the organization facing various challenges during
the development stages of E-Government.

3. Research Methodology
To conduct this research, Case Study method has
been employed to explore challenges confronting
E-Government implementations in public sector of
Pakistan. Time span of this longitudinal study is
three years 2007-2010. During the period it is
studied that how organizations overcome these
challenges. The relevant authorities were contacted
and gathered the information on challenges faced
by organizations.

3.1 Case Study
A case study has been defined as an empirical
inquiry that investigates a contemporary
phenomenon within its real-life context [25]. The
Case study method has its own limitations. It may
be used for exploration of a study [24].
The purpose of using this method is to draw a close
scenario of real work situation. This study has been
conducted in natural setting. Data may be collected
by multiple means and one or few entities (person,
group or organization) may be examined
(Christenson, 1976) cited in [3].
The study carried out with the purpose to examine
the environment of the organization towards eservices
(E-Government)
implementation
challenges faced by the organizations.

3.2 Data Collection Method
Yin [25] suggested that multiple data collection
methods may be used in case study research; these
are interviews, observations, archival data and
documentations. The data was gathered through
semi-structured face to face interviews with top

312

level management of the organization. Information
was also obtained through archival documents and
official website. Interviews lasted for half to an
hour. Interviews were transcribed. Data
triangulation technique was applied to ensure the
data validity.

4. First study during E-Government
Implementation
E-Government implementation is a challenging
task; in this section the results of first study has
been presented.

4.1 ICT Infrastructure
Information and Communication Technology
infrastructure is driving force for organizations to
implement e-services. Within and outside the
organizations communication is required to
perform official tasks. As public sector
organizations also seek services from different
organizations, so the basic ICT infrastructure is
essential for implementing E-Government.
We are lacking basic ICT infrastructure. People
are unaware of use of technology. Many
companies are lacking basic technology. Inter
organization communication is yet in discussion
phase. No concept of online culture. (Senior
Manager)
People are facing problems in accessing e-services
due to lack of basic ICT infrastructure. To ensure
successful implementation of the e-services,
government needs to develop the allied
departments, for example in one of the department
in organization, online registration fee facility is
not available, because the banks have no facility to
transfer funds from one bank account to other bank
account.

4.2 Low ICT Literacy
ICT infrastructure cannot be productive until IT
literacy exists in society. ICT literacy is mandatory
to empower in using online services provided by
government.
IT literacy is very poor. People do not believe in
technology. Many companies have computer and
they claim that they are using information
technology. They don’t have the concept, what
technology is? (Manager Applications)
Countries like Pakistan have low literacy rate in
general and information technology in particular.
Citizens are shy of using computers for available

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

313

online services. Some times, they don’t rely on
online information.

4.5 Collaboration

4.3 Professional workforce

Inter organizations collaboration is important
element in the E-Government to set full scale
services.

A professional workforce is enabler to implement
E-Government. Public sector organizations are
lacking qualified IT professionals due to many
reasons; one of them is low salary structure. The
availability of ICT skills is important for successful
E-Government implementation. E-Government
requires mixed workforce i.e. ICT based
professional management.
We have outclass and strong business and legal
professionals, we lack mix of technology based
business and legal professional. Old guys
hesitate to get training in ICT. It’s a big
challenge for us (Senior Manager)
Organization is going to launch e-services in near
future, but there is shortage of experienced manpower in different fields of E-Government.
Organization’s existing man-power has strong
knowledge of business but lacks in ICT knowledge.
Organization has started in-house training
programs, but these are not sufficient to meet the
current needs.
IS&T Department structure of organization

Collaboration is necessary in our business. We
need information from different departments. We
are efficient on our side, we are lacking
cooperation. (Manager Application)
The organization needs to collaborate among
different organizations.

4.6 Top Leadership Commitment
E-Government cannot be implemented without the
commitment of top leadership (Financial
Commitment). It needs high capital investment and
operational cost. Public sector organizations are
generally reluctant to manage huge investment on
E-Government project. Top management role is
necessary in all stages of E-Government
implementation.
E- services initiative is taken by organization
themselves, government supports this project in
financial terms. Some time we are lacking
finance (Senior Advisor)
Only financial barrier can stop the leadership
commitment. Finance is provided by government,
remaining funds are managed by organization
itself. The leadership is committed towards eservices due to external investment available.

5. Second Study after implementation
of E-Government 2010
Figure 2: Adopted From organization website

4.4 Resistance Handling
Technology fever exists in public sector
organizations. This fever encourages non
technology people to start resisting in
Implementation of E-Government. People have
less exposure of using modern technologies,
employee feels that they are losing their powers,
and they are being replaced with technology.
Hierarchical structure is disturbed while using eservices. Every one is depending on IS
department. Sometime, they are targeting IS
people. (Manager Systems)

E-Government implementation is a challenging
task. In this section second study has been
presented.

5.1 ICT Infrastructure
Pakistan is lacking ICT infrastructure. It takes long
time to develop infrastructure in country.
“We have developed a comprehensive system
to meet the requirements of the customers but
due to lack of ICT facilities in country, people
show hesitation to use computers to perform
their functions. Organizations are good on
their part of using systems but lacking inter
organization
communication”
(Senior
manager).

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

The organization has developed their system to
provide full length services to their citizens but
citizens lacking ICT facilities on their part.
Organizations are still lacking seamless integration
with other organizations due to lack of ICT
infrastructure.

5.2 Low ICT Literacy
“IT literacy is still poor. People are not willing to
use online systems; they are lacking trained
people to handle E-services. People are unable to
handle online account to manage their company
profile, even their password for online services.
80 to 90 % of our activities are performed
offline” (Manager Application).
Organizations are lacking computer literate staff to
handle online services; they prefer to use existing
manual procedures. People are comfortable with
lengthy process and they are not willing to accept
the ease of use.

5.3 Professional workforce
“We have trained all of our staff managing eservices through different trainings. Luckily in
our department employee turnover is low. Now
we have expended and added all categories of
skilled people. We have one of the best team in
country, managing e-services. We have sufficient
manpower to meet current needs” (Senior
manager).
Professional workforce is available in organization
to meet all challenges in implementing EGovernment. They have extended their span of
control.
IS&T Department Structure.

314

5.4 Resistance Handling
“Initially we faced problems to manage change in
organization, but with the help of training,
discussions and interest groups, resistant to
change is minimized. Now people feel
comfortable
of
using
online
systems,
organizational information is available on a
click. (Manager System.)
With the help of training people realized that they
are not being replaced with machines (system),
“man behind the machine” man is needed to
operate machine.

5.5 Collaboration
“Collaboration is necessary for government to
achieve full integration of e-services across
administrative boundaries, we are lacking in
collaboration with other organizations to share
information with each other, we have discussed the
matter with other organizations but they are not
taking interest. I think collaboration is possible if
government
took
initiative
to
establish
collaborating
governing
body.
(Manager
Application)
Collaboration helps the organizations to share
infrastructure,
manpower,
resources,
and
knowledge with each other

5.6 Top Leadership Commitment
“When we started project, top leadership was
committed to implement e-services, capital cost is
provided by the government to implement project.
At the moment top leadership is reluctant to
provide finance to expand the e-services to other
department; one of the project is delayed due to
bureaucratic procedures. Some time we faced
problem to get finance to pay licence fee to
different software’s” (Senior advisor).

Leadership commitment is directly linked with the
availability of financial resources. Availability of
external fund worked as catalyst to take initiative to
implement E-Government.

6. Results and Interpretations
6.1 ICT infrastructure
Figure 3 : Adopted form organization website

Presence of ICT infrastructure is an inevitable
requirement to progress aggressively in the global
economy to facilitate their customers through the
implementation of e-services. Across the

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

organization communication is required to perform
duties effectively. It is decade long and expensive
process to implement E-Government in developing
countries, government has taken initiative to
provide capital finance to public sector
organizations to establish their infrastructure and
internal organization communication. The current
Infrastructure has shown tremendous growth as
compare to what was available in previous study.
Study reveals that still it has to go a long way to
make everyone consume the benefits of e-services.
It has been observed that a central hub for the
provision and monitoring of e-services is missing.
Within the organizations the infrastructure is good
but the inter-organizational connectivity is still
required upgradation. Lack of central coordination
office among the organizations is proven a barrier.
Layne & Lee [11] says that all the benefits of EGovernment may be realized when full service
integration.

6.2 Low ICT Literacy
ICT literacy is mandatory to enable the people to
use online services; a society without IT literacy
couldn’t go to its higher level. ICT literacy could
increase the trust and confidence of the public on
online information. Pakistan is still suffering from
low literacy rate in general and IT in particular.
The study shows People are shows resistance of
using computers for available online services,
people are relaying on offline services because
some time they don’t trust on the accuracy of eservices. The organization used One strategy to
encourage citizen by providing discount in fee for
those they are using online services. One author
wrote in his study that white collar worker group
and college students showed more awareness than
the blue collar workers [13]. Majority of the literate
people still could not manage their online profile.
Most offtenly they forgot their password for online
services, up to 80-90% of the activities are
performed off line. Kunstelj, Jukic, & Vintar [10]
discussed in his survey findings that there are many
reasons people are not using online services. Few
of them are “No need yet, preferring to use
traditional means, lack of awareness, no interest
and no internet use”. To explore important
influencing factors, it is necessary to address the
challenges confronting E-Government.

6.3 Professional workforce
The backbone of the implementation of the ICT
infrastructure is the availability of the professional
workforce, which is a challenge for organization to
implement
E-Government.
Public
sector
organizations are lacking qualified IT professionals
due to poor compensation and reward systems. In
addition training and development aspect is also

315

missing for the upgradation of organizational staff
members.
Kifle & Cheng says [9] Poor IT capabilities and
experiences exits in public sector organizations due
to which E-Government projects suffered just lack
of IT knowledge and resources. He also quoted
Non –IT officers were asked to participate in the EGovernment projects in many ministries and were
even nominated as the CIO’s. The presence of ICT
skills pool is inevitable for the successful EGovernment implementation and E-Government
requires a combined workforce i.e. ICT based
professional management. In this study, the
turnover of ICT employees in organization is low,
which is healthy indicator for the development of
E-Government. On the basis of this low turnover
and continuous growth of ICT staff now
organization has all categories of specialization
which include hardware, software, database and
communication. O'Brien & Marakas [17]
mentioned the four technology areas in his book
which are essential for the development of e
business and e-services. If compare figure 2 with
figure 3, the organization has tremendous growth in
professional workforce, this leads towards the
successful implementation of E-Government.

6.4 Resistance handling
Unfortunately technology fever exist and prevail in
public sector organizations which encouraged and
contributed into the resistance. People with poor
exposure of the usage of modern technologies are
suffering from the apprehension of performing
their e service based duties; this makes them feel
the apprehension of losing their powers and fear of
loss of job with technology. Study findings suggest
that ICT is breaking the boundaries of hierarchical
structure of the organization but at the same time
all other functional areas have become depend
upon ICT department. The resistance is managed
through different strategies which include trainings,
mutual interest, and with the involvement of
pressure groups. Now gradually people are feeling
comfortable in using online systems and they are
getting optimal utility of the information available
to everyone.

6.5 Collaboration
Integration is the basis of the creation of the world
which is the necessity for the implementations of
E-Government. Collaboration among different
organizations is compulsory for government to
share resources with each other. The findings of
first study shows that there is not collaboration
exist among the organizations. The organization
overcomes this challenge through the discussion
with other organizations to share knowledge,
resources and infrastructure. To consume fruitful
results of E-Government it is recommended that a

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

collaborating agency may be formed to bring the
organization closer.

6.6 Top Leadership Commitment
Implementation of E-Government is not only
requires the deep commitment of top management
but also requires huge capital investment and
operational
expenditures.
Public
sectors
organizations generally show resistance in the huge
financial investment to initiate E-Government
projects. In first study the top leadership shows
enthusiasm and initiatives in the implementation of
E-Government due to external availability of funds
but gradually they loose their interest due to lack of
available financial resources. Organization delayed
project due to financial limitation and bureaucratic
procedures. The involvement of top leadership in
the implementation of all stages of E-Government
is necessary. “The active role of top leaders is
crucial especially at the earliest stages to raise
awareness, make ICT development a national
priority”[16]. Finding suggests that external
funding
is
manadatory
for
successful
implementation of E-Government.

Conclusion
Organizations are facing pressure to improve the
quality of services to citizens. Quality of services
can be improved through the successful
implementation
of
E-Government.
This
implementations is a challenge for organizations
and could be solved through external fundings in
all stages of the project i.e. before, during and after
implementation of the project. This conclusion
could be given in following judgemental points.
 Organizations are facing pressure to
improve the quality of services to citizens.
 Error free services may increase the
confident of citizens.
 The level of services could be enhanced
through external funding.
 Financal and Technical backup would
always be required in all stages of project
implementaion.
 Information and resources sharing is
mandatory to get seamless integration.

References
[1]Allen, A. B., Juillet, L., Paquet, G., & Roy, J.
(2001). Government and Government
Online in Canada:Partnership, People and
Prospects.
Government
Information
Quarterly , 93-104.
[2]Baoling, L. (2005). On the barriers to the
development of E-Government in China. 7th
International conference of Electronic
Commerce. ACM.

316

[3]Benbasat, I., Goldstein, K. D., & Mead, M.
(1987). The Case Research Strategy in
studying of Information Systems. MIS
Quarterly , 368-387.
[4]Christenson, C. (1976). Proposals for a Program
of Empirical Reseearch into teh Properties
of Triangles. Desicion Sciences , 631-648.
[5]Fallahi, M. (2007). The Obstacles and
Guidelines of Establishing E government in
iran: case study ministry of commerce.
ISSN:1653-0187.
[6]GOP. (2005). E-Government Strategy and five
year plan for the Federal Government.
Electronic
Government
Directorate,
Ministry of IT.
[7]Ho, A. (2002). Reinventing Local Governments
and the E-Government Initiative. Public
Administration Review. , 434-44.
[8]Holden, S. H., Norris, D. F., & Flethcher, P. D.
(2003). Electronic government at the local
level: Progress to Data and Future Issues.
Public Performance and Management
Review , 1-20.
[9]Kifle, H., & Cheng, P. L. (2009). e-Government
Implementatin and Leadership - the Burnei
Case Study. Electronic Journal of eGovernment , 271-282.
[10]Kunstelj, M., Jukic, T., & Vintar, M. (2007).
Analysing the Demand Side of EGovernment: What Can We Learn From
Slovenian Users. In M. A. Wimmer, J.
Scholl, & A. gronlund, Electronic
Government (pp. 305-317). Springer Berlin /
Heidelberg.
[11]Layne, K., & Lee, J. (2001). Developing fully
functional e-government model: a four stage
model. Government Information Quarterly ,
122-136.
[12]Lee, S. M., Tan, X., & Trimi, S. (2005).
Current prectices of leading e-government
countires. NY: ACM.
[13]Lee, S. M, & Cho, J. E. (2007). Usability
Evaluation of Korean e-Government Portal.
Springerlinl , 64-72.
[14]Miller, J. S., & Cardy, R. L. (2000). Self
monitoring and performance appraisal:
rating outcome in project teams. journal of
organizational behavior .
[15]Moor, M. J., & Norris, D. F. (2005). Does
managerial orientation matter? The adoption
of reinventing government and egovernmentat
the
municipal
level.
Information Systems journal , 43-60.
[16]Ndou, V. (2004). E-Government for
Developing Countires: Opportunities and
Challenges. EJISDC , 1-24.
[17]O'Brien, J. A., & Marakas, G. M. (2006).
Management Information Systems. McGraw
Hill.

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

[18]Satuanarayan, J. (2004). e-Government.
Prentice-Hall, India.
[19]Schware, R. (2005). E-development: From
Excitement to Effictiveness. Washington:
Word Bank Publications.
[20]Tapsoctt, D. (1996). The Digital Economy :
Promise and peril in the Age of Networed
Intelligence. McGraw hill.
[21] UN & ASPA’s report (2001) “Benchmarking
E Government: A Global Prospective”
Available:
Http://unpan1.un.org/intradoc/groups/public
/documents/UN/UNPAN021547.pdf
[22]Wimmer, M. A., Codagnone, C., & Ma, X.
(2007). Developing an E-Government
Research Roadmap:Method and Example
from E-GovRTD2020. Springerlink .
[23]Yildiz,
M.
(2007).
E-government
research:reviewing the literature, limitations
and ways forward. . Government
Information Quarterly , pp. 646-645.
[24]Yin, R. K. (1993). Case Study Research:
Design and Methods. California CA: Sage
Publishing.
[25]Yin, R. K. (1984). Case Study Research:
Design and Methos. Califirnia CA: Sage
Publishing.

Nasim Qaisar
Qaisar is a Lecturer in Department of Business
Administration, Federal Urdu University of Arts,
Science & Technology, Islamabad, PAKISTAN.
His area of interest is Business Intelligence and
Information Systems. He has masters in
Information Technology from International Islamic
University, Islmabad. PAKISTAN.

Hafiz Ghufran Ali Khan
Khan is a Lecturer in Faculty of Management
Sciences, International Islamic University,
Islamabad, PAKISTAN. His area of interest is
Strategic management, Organization development
and Organizational behavior. He has masters in
Business Administration from Quaid-I-Azam
University,Islamabad, PAKISTAN. He has also
served Karakum International University, Gilgit
Baltistan , PAKISTAN as Deputy Dean in
Humanities for a period of two years. Currently he
is Ph.D scholar.

317

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

Novel Genetic Algorithm towards Implementing
a Lining-Layout Optimization Strategy
Ismadi Md Badarudin1, Abu Bakar Md Sultan2,
Md Nasir Sulaiman2, Ali Mamat2, Mahmud Tengku Muda Mohamed 3
1

Faculty of Computer and Mathematical Sciences, Universiti Teknologi MARA
Shah Alam, Selangor, Malaysia

2

Faculty of Computer Science and Information Technology, Universiti Putra Malaysia
Serdang, Selangor, Malaysia
3

Faculty of Crop Science, Universiti Putra Malaysia, Serdang, Selangor, Malaysia

Abstract
This paper presents the strategies for optimizing planting areas.
The three strategies considered for preparing field lining; 1) 600
line-direction 2) selecting the best line-direction for single block
and 3) selecting the best line-directions for many separate blocks,
might lead to different numbers of trees. Thus, an application
named Lining-Layout Planning by Intelligent Computerized
System (LLP-ICS) is introduced to choose the best strategy.
Because there are many possible solutions with ambiguous
results, a novelty of Genetic Algorithm (GA) for lining-layout
with focusing on the two approaches which are 1) assigning the
determined random values to the genes of chromosome, 2)
avoiding the same solution of optimal blocks occurs, was applied
to suggest the optimal solution intelligently. The aim of this
study was to suggest the best strategy among the various area
coordinates tested. In addition, the capability of the application
by novel GA was also examined. The results indicated that the
LLP-ICS produces a consistent solution with feasible results and
less number of repetition processes led to reduce the computation
time.
Keywords: Optimization, Genetic algorithm, Lining-layout,
Optimal solution

1. Introduction
In implementing the strategy of lining layout planning
(LLP) planting area optimization as discussed in section 2,
the four criteria in land used planning as describe by
Steward [2], involvement of the stakeholder, complexity
of the problem, use of a geographical information system
and use of an interactive support system are considered as
part of the challenge. In LLP optimization, the decisions
of the managerial department depend on the demands for
tree quality and the ease of managing the field;
consequently the optimal solution is not simply the one
with the maximum number of trees. However, a huge
number of possible solutions are generated for both
determining the location of the blocks and selecting the

best line-direction. Moreover choosing among several
proposed optimal solutions requires an algorithm that
capable of producing a feasible solution with acceptable
computational time. The complexity of the problem is
increased by a variety of area coordinates besides the
assignment of blocks and line-direction, which might have
some constraints making them much more difficult to
solve. The choice of coordinate-based system from a GIS
application makes the required coordinates of selected
planting area easy to stored and presented as georeferenced information. However, the large areas
represented by a high number of coordinates might require
a scale representation of the coordinates to show the
significant representation in a graphic view. The
interactive support system focuses on the quality of the
result and on computational time. The LLP strategy relies
on the input of area coordinates and number of blocks, and
determining the appropriate parameters is vital to make the
system produce a feasible result within the result in
acceptable time.
A number of area optimization techniques have been
proposed for computation of the optimal allocation within
an area [5, 6, 7]. The enormous increase in the number of
decision has led to applying heuristic algorithms such as
genetic algorithm [2], simulated annealing approach [8, 9],
tabu search heuristic [10] to be to overcome site allocation
problems. According to Theodor J. Stewart [2] the four
mentioned criteria to evaluate the result with
implementing a grid-based system by Genetic Algorithm
(GA), which showed feasible results with certain numbers
of grids; however enlarging problem will result in
tediously increased computational time. In contrast, for
our LLP solution, we analyze the use of coordinate-based
for analyzing the assignment of blocks and line-direction
by GA. In contrast, for our LLP solution, we analyze the

318

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

use of coordinate-based for analyzing the assignment of
blocks and line-direction by GA.
The LLP strategy is to suggest the optimal result in term of
tree number. The inconsistency of tree density in a
planting area makes the number of trees difficult to
predict. An analysis by Jusoh [3] stated that maximum
income could be obtained at 148 palms/ha, contrary to the
conventional practice of 136-148. Moreover, on peat soil,
tree density can be increased to 200 palms/ha. In the
certain circumstances with the common spacing, 9 m x 9
m triangular planting distance, yields varied between 128
to 148 palms/ha depending on planting material, soil and
climate [4]. However, in another perspective, the tree is
uncertain because it depends on the factors of different
line-directions and various areas coordinate [1a].
The ultimate objective of this study is to determine the
capability of the application called Lining Layout
Planning by Intelligent Computerized System (LPP-ICS)
by GA in handling proposed optimization strategy. To
discuss this, the remainder of this paper is organized as
follows. An optimization strategy that is able to improve
tree density is discussed in section 2. The development of
a computerized system for designing LPP intelligently is
discussed in section 3. A GA method is our main approach
to solving this issue; we discussed the strategies for
reducing computation time in section 4. The LPP-ICS
application is briefly discussed in section 5 and followed
by empirical analysis and discussion in chapter 6. Finally
section 7 contains our conclusions and future directions
for this work.

319

derived from the line representation technique as
discussed in section 3.2. 90 line-directions, between 00 and
900 from the base line are tested. The line that produces
the highest number of trees is considered the best. The
number of trees in an area depends on several factors such
as area coordinates, block number, shape coordinates,
planting distance, base line and line-direction. The
evaluation process must fulfill the condition that the use of
many blocks (LLP result) must produce at least as many
trees as one block (LP result) to be considered optimal
strategy, otherwise the repetition process of determining
other combinations of blocks will be repeated. The
repetition process will occurs until the number of
evaluation higher than set value by user and it indicates
that the LP strategy will be selected as optimal strategy.
These processes are shown as a flowchart in figure 2.

Fig.1. Lining-Layout Optimization Strategy

2. Optimization Strategy
A strategy called Lining Layout Planning (LLP) attempts
to optimize land use by dividing an area into blocks and
then assigning line-direction within the determined blocks.
Figure 1 shows that the two main tasks in the LLP strategy
are determining blocks division and followed by
identifying the best line-direction for every determined
block. The unpredictable tree density in an area produced
by the different line-directions, various areas coordinates
and variety of shapes coordinates make requires a
computerized system to find the best lining layout.
Preliminary observation revealed that the current practice
(CP) of 600 line-direction in preparing field lining does not
necessarily produce the optimal number of trees. The
optimization strategy in figure 1 shows an area that could
be one block or many blocks. The block division requires
GA to find optimal combination of blocks with no unused
spaces of area as discussed in section 3.1. The divisions
with both one and many blocks will be assigned with the
best line-direction that the calculation process is initially

Fig.2. Processes to find the Best Strategy

3. Solution Techniques for LLP

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

320

In obtaining the optimal result, the assigning blocks are
assigned first, followed by choosing line-direction. This
section discusses the techniques for selecting block
division and line-direction selection.

3.1 Shape Assignment
LLP strategy aims to obtain the optimal number of trees
that can be planted into an area based on the two
management requirements of 1. ease of managing the field
and 2. cost or benefit. For the first requirement, the block
division should be in a straight, which is assumed to be a
field road. Second, the process of determining linedirections that produces the highest number within in area
with different coordinates is desired. Consequently the
optimal value is only reach if the total number of trees in
the determined blocks is higher than with a single block.
To accomplish this, we identify the possible shapes
coordinates that can be assigned subject to the area
coordinates. Suppose a rectangular area with 4, 5
coordinates has 1,1; 1,2; …; 4,4; 4,5 shape coordinates
with potential to be used. We assume that area and shape
coordinates should be in square or rectangular form so as
to fully fit the shape with no unused space.
To find the optimal blocks in an area, a shape assignment
technique has been introduced to represent blocks in an
area [1b]. The use of shapes depends on the number of
blocks and the possible number of shapes used will be
larger when the number of blocks increases. One
important issue to be highlighted is that different
combinations of shapes lead to different numbers of trees.
Therefore, the purpose of assigning blocks into an area is
to create different combinations of shape for each
suggested solution. However, the combination of shapes is
stated without taking into account the possibility of
different arrangement of the shapes because the tree
number will remain the same. Figure 3 shows the
combination of shapes to be assigned into a (4, 5)
coordinate of area using three blocks. By computerized
system implementation, the procedure of assigning shape
technique is described below:
1.
2.
3.

The total size of the shape combination must equal
to the size of the area.
The largest shape size should be assigned first.
No repetition of shapes coordinates. Repetition of
shapes will reduce the number of blocks required.

The X or Y shape coordinate should be two times the X or
Y area coordinate, respectively, to determine either the
row or the column side to be assigned after the first shape
assignment.

Fig.3. Example of the Accepted and Rejected Shapes According to the
Shape Assignment Strategy

3.2 Line Representation
The line representation technique with calculating the line
length for each assignment has three possible conditions as
shown in figure 4. First, the line in range is within the
range of the area coordinates; second, the line has its L2
coordinate beyond the y4 coordinate; third, the line has its
L1 coordinate beyond the y1 coordinate. The line lengths
are calculated by trigonometric function because the angle
of line-direction was initially determined. Then, the
number of trees is derived by dividing the sum of the line
lengths by the determined planting distance.

Fig.4. Line length with the three different conditions

The process of putting every tree into an area was
analyzed but it produced a very large number of iterations.
This was also shown in performance computerized
analysis by Steward [2], deciding the suitable items to be
assigned into cells represented by 20 x 20 and 40 x 40
problems required very high computational time because
of the numerous iterations in the process.
In our approach, the line representation which is every line
length in range of the area coordinates is divided by
planting distance to calculate the number of trees. This
technique will significantly reduce the number of
iterations in an analysis process. For example, using the
three blocks, 90 types of line-direction, 900m of area size,

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

9m of planting distance, 10 m line length requires 27,000 (
(((area size / planting distance) * block number) * linedirection types) )iterations. This is because of the number
of iterations increments one for each assigned tree.
However, using line representation the algorithm produces
significantly fewer iteration only 2,700 ( ((((area size /
planting distance) / line length) * block number) * linedirection types) ) because the iteration process refers to a
number of lines that is assigned into the area.
4. Genetic Algorithm (GA)

321

GA implementation begins with population initialization
and followed by the three genetic operators. The
parameter of problems is represented by combination of
genes. A scheme represents a set of individual and it is
characterized by the two parameters of defining length and
order. The genes develop a chromosome ad the
chromosomes are manipulated by selection, crossover and
mutation to build the new offspring. This process will be
iteratively done with each offspring is analyzed to produce
better result. The basic implementation of GA is illustrated
by flowchart as shown in figure 5.

4.1 Genetic Algorithm Overview
Optimizing layout by defining suitable rectangular shapes
has been employed by many researchers in areas in areas
such as computer aided design [12], the fashion industry
[13], architecture [14], retail shelving [15] and others.
Moreover, several studies in proposing optimal solution to
packing problems have been done [16, 17, 18]. Taking
inspiration from the works mentioned, we began by
deciding the shape combination and then appropriate size
to maximize the number of items. Due to the ambiguity of
the result of shape assignment, the GA technique was
employed, whereas the exact method was sufficient for
choosing the best line-direction.
GA is classified as nature inspired because it is derived
from the biological process of evolution. GA is one of the
preferred algorithms in solving the optimization problems
using 1. genetic operators capable to propose new
individuals in the next generation that are most probably
better solutions, and 2. a mutation operator acting to avoid
traps in local optimal. By random searching, finding a
solution is uncertain; using short term or long term
memory to store the history of movement and current
solutions might be helpful. According to Blum [20], more
advanced approach uses search experience (embodied in
some form of memory) to guide the search. This approach
is to quickly identify regions in the search space with high
quality solutions and on the other side to waste too much
time in regions of the search space which are already
explored. Other strategies that might improve the
performance of GA in terms of time and solution quality
need to be applied. Determining population size,
chromosome, problem representation, rate of crossover
and mutation all play role in improving the searching
process. How these strategies constitute to the shape
assignment technique has been discussed in the previous
paper [1b]. Shape assignment for area block requires GA
to decide for optimal solution since ambiguous solution.
Several method to make sure the space is fully utilized
without having unused space by referring space allocation
problem.

Initialize Population
Selection
Crossover
Mutation

Fig.5. Flowchart for Basic GA Implementation

GA works by probabilistically introducing random values
into the chromosome, and it is usually guided by
determined constraints. The time spent to find an optimal
solution is difficult to predict. Computation time typically
refers to the number of iterations in the process. Less
iteration reduces computation time.

4.2 Novel GA for Lining Layout Strategy
Classical GA means the basic works of GA that discussed
in section 4.1. The classical GA is typically able to solve
some optimization problems; however the computational
time is always questionable. Some efforts to improve the
classical GA [21, 22, 22] have been deployed in the field
of problems. In implementing Lining Layout strategy, the
two novelties of GA were introduced.
4.2.1 Code Representation
The process of encoding in a chromosome to represent the
problems is the factor of the GA performance. Different
representation schemes might cause different performance
in terms of accuracy and length time [11]. The coding
decides not only the arrangement form of an individual
chromosome, but also the decoding form genotype to
individual performance type in search space, and the
designing genetic operators [16].
The common assignment of value 0 to 9 to the genes
produces a huge possible solution. For example, if the 8
genes can be assigned random values from 0 to 9, the

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

possible solutions of the worse case will be 108 =
100,000,000. Our strategy is to assign possible shapes into
the area randomly, and we developed an approach of
assigning the coordinate into the genes depending on the x
and y coordinates of the determined area. For example, if
the x and y of area represented by 4 and 5 respectively, the
odd genes of the chromosome can be assigned numbers
between 1 and 4 numbers, and in the even genes, a number
between 1 and 5 is allowed.
2

5

1

2

1

2

4

5

Fig. 6: One set of possible values assigned randomly into
genes when the area coordinate is (4, 5)
We manage this strategy using the equation of x
*
y
AreaCoordinatechromosomeLength/2
AreaCoordinatechromosomeLength/2. The area coordinate of (4,
5) requires 44 * 54 = 160,000, which significantly reduces
the possible results and eventually reduces the number of
iterations in the analysis process.

322

historical result from database to keep track the similar
results, so that the flow will be repeated for generating
another optimal solution. A control in GA by exploration
approach was employed. The creation of database is to
collect all history of optimal block. Every result of optimal
block is stored into database. The current optimal block
will be compared with available optimal block in database.
The existence of same shapes combination in the
comparison process as a result the process repeat to
determine another optimal block. This control will protect
from a wasted time since the processes of the best linedirection and calculating tree number can be skipped. In
contrast, dissimilar shapes combination, the process of
finding the best line-direction process and then calculating
will be implemented. The processes by flowchart are
shown as figure 7.

4.2.2 A Control Mechanism towards Avoiding the
Occurrence of Same Solutions
To obtain the optimal blocks division is certain but the
optimal strategy does not necessarily belong to LLP if the
LLP result less than LP result. The repetition process of
GA will be continuously run while the condition is not
found. However, this repetition process causes the
tendency of the same optimal blocks occur. As a
consequence, the process of selecting and the best linedirection and calculating tree number in which the lack of
significant results lead to wasted time.
GA is based on probabilistic selection and to decide the
solution is usually guided by basic knowledge. There are
two possible matters will occurs in generating optimal
blocks which are 1) the same current result with previous
results 2) The block combination of genes in current result
and previous results is same but different location place.
The same shape solution refers to combination of shapes
that has been expected to produce the same number of
item. Let us say that the optimal assigned shapes
represented by chromosome is 351114 of the 4, 5 area
coordinate. This means the three assigned shapes have
coordinates by sequence of 3, 5; 1,1 and 1,4, respectively.
By changing the shapes order, the combination of shapes
can be 3,5; 1,4; 1,1 or 1,1; 3,5; 1,4 or 1,1; 1,4; 3,5 …; 1,4;
1,1; 3,5. These all combined shapes certainly produce a
same number of items.
To avoid the same optimal shape results occur, a control
mechanism by storing the same shape solutions into a
database. The process of comparing the current result and

Control
Mechanism

Fig.7. A control mechanism towards protecting the same shape
coordinates

5. Implementation of the LPP-ICS
Application
An intelligent automated approach to deciding the
combination of shapes and the best line-direction will
certainly assist planners who have previously used a
manual approach. The LLP-ICS application is intelligent
software that produces a lining design with reference to
the optimal number of trees to be planted. It uses shape
assignment and line representation techniques with GA
implementation to generate the acceptable shape
combinations and then determine the best line-direction
for every selected shape. The total number that produced

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

by the LLP-ICS application is considered the optimal
number of trees that can be planted in the selected area.
Figure 8 and figure 9 shows the optimal of shapes
combination and line-direction, respectively, with number
of trees.

323

number of block and variety of area coordinates and
scales.
Table 1. Datasets for 5 Experiments

Number
of trees

Area
coordinate
(x4, y4)

Scal
e
(m)

Area
size
(Hect
)

Number
of
blocks

(CP)

(LP)

1

4, 4

25

1

3

133

138

2

4, 4

50

4

3

550

567

3

7, 7

50

12.25

3

1695

1747

4

7, 8

30

5.04

3

690

718

5

7, 8

100

56

3

7876

8054

Exp
num

Table 2. Analysis of Optimal Block Solution

Fig.8. Shapes Assignment Interface

Exp
Num

Shape
Coordinate

Block
Coordinate

1

3, 4
1, 1
1, 3

75, 100
25, 25
25, 75

3, 3
3, 1
1, 4

3, 3
1, 3
4, 1

2
Fig.9. Line-direction with Tree Number Interface

3, 4
1, 1
1, 3

75, 75
75, 25
25, 100

75, 75
25, 75
100, 25

150, 200
50, 50
50, 150

6. Empirical Analysis and Discussion
To gauge the capability of GA to find the optimal solution,
we conducted a laboratory test by running LLP-ICS with
different sets of area coordinates. Table 1 shows the four
experiments and their results in Table 2. The datasets
consisted of area coordinate, scale and number of blocks
defined by user. Area size, CP and LP were automatically
generated by LLP-ICS. The CP means Current Practice
and works on one block with 600 line-direction and the LP
is tree-Lining Planning which handles one block with the
best line-direction implementation. The LLP result is
derived from the implementation of many blocks with the
best line-directions. Table 2 shows the optimal solution
comprising selected shapes and their coordinates, number
of trees, taken time and number of iterations to reach the
optimal solution. For analysis purposes we use the same

4, 2
1, 2
3, 2

4, 3
3, 1
1, 1

3

6, 5
6, 2
1, 7

200, 100
50, 100
150, 100

200, 150
150, 50
50, 50

300, 250
300, 100
50, 350

Time
(sec)

Repetition
Num /
Iteration
Num

427
31
106
138X

0.58

1 / 1515

77
27
32
136 X

0.46

2 / 1122

33
28
39
144 √

1.2

3 / 3282

427
31
106
564 X

2.56

1 / 2601

229
70
203
552 X

0.22

2 / 142

429
108
31
268 √

0.12

3 / 154

1072
416
243
1731 X

6.46

1 / 7406

Number
of Tree
(LLP)

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

4

6, 6
6, 1
1, 7

300, 300
300, 50
50, 350

1287
223
243
1753 √

7, 4
6, 4
1, 4

210, 120
180, 120
30, 120

7, 6
2, 2
5, 2

7, 7
6, 1
1,1

5

210, 180
60, 60
150, 60

210, 210
180, 30
30, 30

4.28

2 / 1753

359
303
48
710 X

2.42

1 / 2378

467
175
75
717 X

1.9

2 / 2112

624
75
10
709 X

2.18

3 / 4809

6.34

4/ 7242

4.5

5 / 4325

4, 6
3, 6
7, 2

120, 180
90, 180
210,60

306
222
175 X

6, 6
6, 2
1, 8

180, 180
180, 60
30, 240

467
151
101
719 √

6, 8
1, 1
1, 7

7, 4
4, 4
3, 4

600, 800
100, 100
100, 700

700, 400
400, 400
300, 400

6917
133
1001
8051 X

6.2

1 / 16053

4003
2262
1700
7965 X

5.6

2/ 14586

.
.
.

.
.
.

.
.
.

7, 7
6, 1
1, 1

700, 700
600, 100
100, 100

7031
851
133
8015 X

Based on the results above, we compared LLP, LP and
CP. We found that the strategy of LLP consistently
produced a better number of trees than CP. The LLP
strategy also showed better numbers than LP result when
the area size was small. When the size increases to certain
point, the unsuccessful solution means that the LP strategy
is better.
We also conducted other series of experiments (not
described in this paper). The use of fewer than 20
populations sometimes might fail to find an optimal
solution because of the overflow problem existence in
which a huge computing process that cannot be
accommodated by the database. This is because fewer
populations require a higher number of generations, but
the diversity and exploration processes will be limited
[19]. Therefore, we increased the number of populations
to 100 and the result as consistent achievement of an
optimal solution. We conclude that LLP-ICS by novel GA
is able to propose an optimal result in which the
combination of blocks produces no unused spaces without
the premature convergence problem.

6.2 Computational Time
Basically, the larger area coordinates will produce higher
number of possible solutions. For example, the area
coordinates of experiment 1 and 3 generated possible
results with 65,536 (43 * 43) and 5,764,801 (73 * 73)
respectively, as a result experiment 3 required more
analysis time.
However, the small areas coordinates have higher
tendency to occurrence of the repetitive optimal block
solution. In experiment 2, for example, there were three
same solutions as shown in table 3. As a comparison, by
classical GA, the process of calculating tree number and
determining the best line-direction and required 15,575
bS=N

(
2.6

50 / 9012

6.1 Solution Quality
The analysis shows that LLP-ICS was able to propose an
optimal blocks combination of blocks that produced no
unused spaces. In experiments 1, and 2, the number of
repetitions was three, whereas the experiments 3 and 4
required two and five repetitions, respectively, fulfill the
condition of LLP result > LP result. Experiment 5,
however, failed to meet the condition after 50 times of
repetition (we set the maximum evaluation is 50).

324



bS=1

(trLD * OS) ) iterations, while novel GA required

only 9,203 (

bS

bS=N



bS=1

trLD ) iterations.
bS

Table 3. Analysis of the Same Optimal Block Solution

Optimal
Block
Solution
(bS)

Shape
Coordinates
(Genes)

1

341113

Tree
Number and
LineDirection
Iteration
(trLD)
2842

2

333114

3186

3

3

331341

3175

1

Repetition of
Same Optimal
Solution
( OS)
1

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

The computational time increased consistently when the
iteration number to reach optimal blocks increased. The
overall time taken is based on the accumulation of time in
all repetition processes. Thus, more repetitions require
more computational time. However, we found the taken
time for each experiment was inconsistent. This is because
of the GA method is based on a probabilistic algorithm
with a randomness strategy, the uncertainty in number of
repetitions and iterations and consequently in the
computational time is hardly expected.
In conclusion, the computational time and optimal solution
generated by LPP-ICS are relatively acceptable. However,
this application should be a better impact in terms of the
result improvement by focusing on genetic operator
modification in GA. Moreover, a strategy that guides the
search process might give a good indication of expecting
the computational time.

7. Conclusion
The Novel GA is capable of reducing computational time
in analyzing the optimal strategy of lining-layout. This
Novel GA can be a basic algorithmic approach for
optimizing the other industries of planting areas. The
decision of land optimization in lining-layout planning
strategy is not always easily reconciled with users’
perceptions. For this reason, the LLP-ICS for
implementation lining-layout optimization developed here
will create extensive use of coordinates represent an area
as an interface between the computer model and the users.
Therefore, this study promotes several contributions as
follows:
The LLP-ICS is the first attempt at application
development to facilitate tree-planting planners. The
LLP-ICS assists planners in deciding the best
implementation quickly.
2. Promoting a new optimization strategy by focusing
on blocks division and line-direction.
3. The proposed strategy gives an indicator to improve
number of trees.
This study refers to the square and rectangular shape
areas, but the task becomes more complicated for
trapezoidal areas in which a variety of areas coordinates
must be determined early in the process. Thus, a study on
this matter should be conducted incorporating
mathematical formulation and area coordinates
representation, so that the use of the various types of land
area will give a more significant contribution.

being conducted and the results will be revealed in the
next paper.

Acknowledgments
This research is registered under the Fundamental
Research Grant Scheme (FRGS) with grant number is
FRGS/03-04-10-873FR/F1 and it is fully funded by the
Ministry of Higher Education (MOHE), Malaysia. The
authors express our great appreciation and thanks to
MOHE, Malaysia and Universiti Teknologi MARA
(UiTM), Malaysia for sponsoring one of the authors in
PhD research. The authors also wish to thank the
Universiti Putra Malaysia (UPM) which provided the
facilities and appropriate environments for carrying out
this research. Last but not least, the authors would like to
express our appreciation to Federal Land Development
Authority (FELDA), Malaysia and University Agriculture
Park Department of UPM for giving us very good support
and corporation in acquiring information.

References
[1a]

Ismadi Md Badarudin, Abu Bakar Md Sultan Md
Nasir Sulaiman., Ali Mamat., Mahmud Tengku
Muda Mohammed (2010). Preliminary study on
Designing Optimal Layout by Metaheuristic
Approaches for Optimizing Planting Area,
International Journal Electrical and Computer
Science IJENS-IJECS ,10 (1), pp. 92-96.

[1b]

Ismadi Md Badarudin, Abu Bakar Md Sultan Md
Nasir Sulaiman, Ali Mamat, Mahmud Tengku
Muda Mohammed (2010). Shape Assignment by
Genetic Algorithm towards Designing Optimal
Areas, International Journal of Computer Science
Issues IJCSI, Vol. 7, Issue 4, No 5, 1–7.

[2]

Theodor J. Stewart, Ron Janssen, Marjan van
Herwijnen (2004). A genetic algorithm approach to
multiobjective landuse Planning, Computers &
Operations Research journal,: 2293–2313.

[3]

Jusoh Latif, M Mohd Noor, Mohd Tayeb Dolmat
and Ahmad Kushairi Din (2003). Economic of
Higher Planting Density in Oil Palm Plantations,
Malaysia Palm Oil Board Journal, 32-39.

[4]

Oil Palm. Available at <www.fertlizer.org>
(accessed 20 February 2010).

[5]

Wright J, Revelle CS, Cohon J. A. (1983) Multi
Objective Integer Programming Model for The
Land Acquisition Problem. Regional Science and
Urban Economics, 12, 31–53.

[6]

Williams JC, Revelle CS. (1988). Reserve
assemblage of critical areas: a zero-one

1.

To provide a strategy for genetic operators of GA in this
domain issues towards improving the better result
consistently when the new generations are generated is the
challenge for the future. The algorithmic refinement is

325

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

programming approach, European Journal of
Operational Research, 104, 497–509.

326

[20]

Cristian Blum and Andre Roli (2003).
Metaheuristic In Combinatorial Optimization:
Overview and Conceptual Comparison, ACM
Computing Journal, 268–307.

[7]

Cova TJ, Church RL.(2000). Contiguity constraints
for
single-region
site
search
problems,
Geographical Analysis, 32, 306–29.

[21]

[8]

Lockwood C, Moore T. (1993). Harvest scheduling
with spatial constraints: a simulated annealing
approach, Canadian Journal of Forest Resource,
23, 468–78.

Zhisheng Ye, ZhizhongLi, MinXie. Some
Improvements On Adaptive Genetic Algorithms for
Reliability-Related Applications (2010), Reliability
Engineering and System Safety Journal, 120–126

[22]

Jeroen C.J.H Aeart, Marjan van Herwijnen,
Theodor J.Steward (2003). Using Simulated
Annealing and Spacial Goal Programming for
Solving a Multi Site Land Use Allocation Problem,
EMO 2003, LNCS 2632, 448-263.

Vedat Tog˘an, Ays_e T. Dalog˘lu (2008). An
Improved Genetic Algorithm with Initial
Population Strategy and Self-Adaptive Member
Grouping, Computers and Structures Journal,
1204–1218.

[23]

J. Andre, P. Siarry, T. Dognon (2001). An
Improvement Of The Standard Genetic Algorithm
Fighting Premature Convergence In Continuous
Optimization, Advances in Engineering Software,
32, 49-60.

[9]

[10]

Boston K, Bettinger P. (1999). An analysis of
Monte Carlo integer programming, simulated
annealing, and tabu search heuristics for solving
spatial harvest scheduling problems. Forest
Science, 45, 292–301.

[11]

D.T.Pham and D.Karaboga (2000). Intelligent
Optimisation Techniques: Genetic Algorithm, Tabu
Search, Simulated Annealing and Neural Network,
Book: Springer, pp. 1-50.

[12]

Ga´bor Renner and Aniko´ Eka´r (2003), Genetic
algorithms in computer aided design, ComputerAided Design 35, 709–726.

[13]

J. Martens (2004). Two genetic algorithms to solve
a layout problem in the fashion industry, European
Journal of Operational Research, 154, 304–322.

[14]

Mecklenburgh, J. C. (1985). Process Plant Layout.
London: Institution of Chemical Engineers.

[15]

Ruibin Bai, Beng (2005), An Investigation Of
Novel Approaches For Optimising Retail Shelf
Space Allocation, PhD Dissertation, pp. 4-10.

[16]

Xiaozhen Mi, Xiaodong Zhao, Wenzhong Zhao,
Wenhui Fan (2008). Application of Genetic
Algorithm for Rectangular Object Layout
Optimization, IEEE Journal, 223-228.

[17]

Andreas Bortfelt (2006). A genetic algorithm for
two-dimensional strip packing problem with
rectangular pieces, European Journal of
Operational Research, 815 – 837.

[18]

Hoda Homayouni (2000). A Survey of
Computational Approaches to Space Layout
Planning (1965-2000), Department of Architecture
and Urban Planning University of Washington.

[19]

Andries P. Engelbrecht (2007). Computational
Intelligence: An Introduction, Book: Wiley & Sons
Ltd, Second Edition, pp. 127-135.

Ismadi Md Badarudin is attached as lecturer to the
Computer and Mathematical Sciences Faculty at
UiTM, Malaysia. He started as a lecturer in 2001 and
was appointed as a senior lecturer in 2008. He
obtained a Master’s Degree in 2002 in Metaheuristic Approaches in
Timetabling. He is currently on leave as a lecturer and pursuing a
PhD in Computational Intelligence at UPM, Malaysia, under the
supervision of Abu Bakar.
Abu Bakar Md Sultan is a senior lecturer holding a
doctorate in the faculty of Computer Science and
Information Technology, UPM. His fields of expertise
are Metaheuristic and Evolutionary Computing. He
has published several journal papers regarding
metaheuristic approaches since 2004.
Md Nasir Sulaiman and Ali Mamat are
Associate Professors holding doctorates in
the faculty of Computer Science and
Information Technology, UPM. Nasir has
expertise in Intelligent Computing, Intelligent
Software Agents and Data Mining, and Ali is
expert in Databases and XML.
Mahmud Tengku Muda Mohamed is a doctorate
holder in Plant Physiology/ Post Harvest Physiology
and an Associate Professor in the faculty of Crop
Sciences. His areas of expertise are Agricultural
Sciences, Plant Physiology and Post Harvest
Physiology. Currently, he is a Director of University Agriculture
Park, UPM, Malaysia.

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

327

Computational Analysis of Optical Neural Network Models to Weather
Forecasting
A . C. Subhajini 1 and V. Joseph Raj 2
1

Department of Software Engineering, Noorul Islam University, INDIA.

2

Department of Computer Engineering, European University of Lefke, TRNC.

Abstract
Neural networks have been in use in
numerous
meteorological
applications
including weather forecasting. They are found
to be more powerful than any traditional
expert system in the classification of
meteorological patterns, in performing pattern
classification tasks as they learn from
examples without explicitly stating the rules
and being non linear they solve complex
problems more than linear techniques. A
weather forecasting problem – rain fall
estimation has been experimented using
different neural network architectures namely
Electronic Neural Network (ENN) model and
opto-electronic neural network model. The
percentage of correctness of the rainfall
estimation of the neural network models and
the meteorological experts are compared. The
results of the ENN are compared with the
results of the opto-electronic neural network
for the estimation of rainfall.
Keywords - Back propagation, convergence,
neural network, opto-electronic neural
network, rainfall estimation.

1. Introduction
Rain is one of the nature's greatest gifts
for countries. It is a major concern to identify
any trends for rainfall to deviate from its
periodicity, which would disrupt the economy
of the country. In the present study rainfall is
estimated based on the temperature, air
pressure, humidity, cloudiness, precipitation,
wind direction, wind speed, etc., consolidated
from meteorological experts and documents
[1,2].

Electronic Neural Networks have shown
tremendous improvement over the traditional
methods to handle the non-linear problems,
especially in the field of weather forecasting.
ENN can be considered as intermediate
between statistical and structural models.
These Neural Networks (NN) can be called as
universal because of their ability in learning
and absence of
assumption based on
probabilistic models. Results have shown that
several statistical classifiers can be
implemented using neural networks. The ENN
model and opto-electronic neural network
model were used for the estimation of rainfall
[3]. In the design of opto-electronic neural
network
model,
opto-electronic
communication links between the layers in a
neural network have been used as a means of
over coming the connectivity problems
associated with conventional
electronic
networks. The opto-electronic neural network
converges quickly compared to electronic
neural network.
The motivation of this paper is
(i) to study the effect of the electronic neural
network model based on the opto-electronic
communication links between layers in
neural network
(ii) to study the effect of the neural network
models based on the neurophysiology of
human nervous system
(iii) to classify weather forecasting patterns
particularly estimation of rainfall.

2. Electronic Neural Network
An electronic neural network is a set of
very simple processing elements (neurons)
with a high degree of interconnections

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

between them. Such processing architecture is
characterized by parallel processing and
distributed computing, and is able to learn and
adapt to better perform a specific task by
modifying the strength of connections between
the neurons [4]. The ENN, multilayer
perceptron, trained using back propagation
algorithm [5, 6] is constructed as three layered
network with one hidden layer.

2. Opto–electronic Neural Network
The optical neuron, modeled using the
following relations [7], is used in the neurons
of opto-electronic neural network. The optical
neuron architecture is shown in Fig. 1. The
opto-electronic neural network, multilayer
perceptron, trained using modified back
propagation is constructed as three layered
network with one hidden layer.

328

Input layer output:
Loutputi = Inputi x (1 + noise factor x
random number)
(3.7)
where Inputi is the input to the input
layer
Sigmoid function’s output is, in the
range between [0,1]. Since sigmoid function
is output limiting and quasi bi-stable, it is
also differentiable.
Sigmoid function = 1/ (l + e-x )

(3.8)

Where, x is the input to sigmoid
function

Light input to photo detector:
Linputij = Loutputi x optical attenuation

(3.1)

Photo detector photo current:
Iphij = P x Vbias ij x Linput ij
(3.2)
where Linput ij is the light input of neuron j in
the hidden layer from the neuron i in the input
layer.
Amplifier output:

3. Methodology

(3.3)
Sigmoid output:

(3.4)
Current output:

(3.5)
Light output:
Loutputj = j x Ioutputj

Fig. 1. Optical Neuron Architecture

(3.6)

The basic input data for classification
needs preprocessing [8]. This procedure helps
in the incorporation of temperature, air
pressure, humidity, cloudiness, precipitation,
wind direction, wind speed, etc., in weather
forecasting for ENN and opto-electronic
neural network based classification. The
factors: temperature, air pressure, humidity,
cloudiness, precipitation, wind direction, wind
speed,
etc.,
of
weather
forecasting
areconsolidated from meteorological experts
and documents. The inputs to the ENN and
opto-electronic neural network are, in the form
of 1 or 0 based on the presence or absence of
the factors. The different types of weather
forecasting are the output of the ENN and
opto-electronic neural network, in the form of
1 or 0, based on presence or absence of the
types of rainfall.

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

The electronic neural network and
opto-electronic neural network model are
trained with twenty seven inputs- temperature,
air
pressure,
humidity,
cloudiness,
precipitation, wind direction, wind speed, etc.,
and three outputs – heavy rain, moderate rain
and no rain. The ENN and opto-electronic
neural models are trained with samples of one
seventy one patterns. The number of inputs are
limited and outputs are selected based on the
advice of metrological experts and documents.

329

100
90
80

Expert I

70
Expert

60
50

II

Electronic Neural Network

40
Opto-electronic Neural

30
20
10
0
No rain

M oderate
Rain

Heavy rain

Fig. 2 Performance Classification

4. Results and Discussion
Improvement
of
classification
accuracy in weather forecasting is an
important issue. The trained neural networks
were tested with samples and validated for the
accuracy of the models. The test data were
analyzed with two metrological experts for its
accuracy. The percentage of correct weather
forecasting was tabulated in table 1 and Fig.
2.
Table 1. Performance Classification

Percentage of correct classification
Weather
Forecasting

No. of
patterns

Expert I

Expert
II

Electronic
Neural
Network

Optoelectronic
Neural
Network

No rain

12

83

75

83

75

Moderate
Rain

12

75

58

58

76

Heavy rain

12

75

92

92

92

77

75

78

81

If the generality of neural network for
classification of weather forecasting is
achieved, the training would be a one time
affair, and the so trained network could be
used for weather forecasting. The performance
of the electronic neural network is compared
with the performance of the optoelectronic
neural network for whether forecasting. In
ENN, the training was terminated in eight
thousand and thirty six iterations [9]. In the
opto- electronic neural network, the training
was terminated in one hundred and sixteen
iterations. The training of opto-electronic
neural network is fast compared to ANN. It is
represented in Fig 3. The accuracy of optoelectronic neural network is as good as ENN.
9000
8000
7000
6000

Over all percentage

5000

Series1

4000
3000
2000
1000
0
ANN

OPTO

Fig. 3 Performance Neural Network Training

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

5. Conclusion
The
weather
forecasting
has
been
experimented successfully using ENN and
opto-electronic neural network models. The
accuracy of the results, obtained using ENN
and opto-electronic neural network models, is
compared with two metrological experts. The
performance of opto-electronic neural
network, which is better than the performance
of ENN, is reported. This study will encourage
researchers to use neural network models for
weather forecasting. Efforts are in progress to
reduce the time consumed by back
propagation training algorithm of neural
networks. As new models emerge and their
sophistication increase, it is expected that
optical implementations of these models will
continue to show advantages over other
approaches. Dynamic inclusion of new factors
may be incorporated to improve its
adaptability.
References
[1] Dabberdt, W., Weather for Outdoorsmen:
A complete guide to understanding and
predicting weather in mountains and valleys,
on the water, and in the woods. Scribner, New
York, 1981.
[2] C. Ronald Kahn, Gordan C. Weir Joslin’s,
Weather forecasting, A Waverly Company.
[3] Prasath,S., and Gupta,R.K., “Weather
Forecasting using Artificial Neural Network”,
Neural Networks and Fuzzy Systems.
Proceedings of the National Conference, Anna
University, Madras, pp 81-88, 1995.
[4] Prema K.V., “A Multi Layer Neural
Network Classifier”, Journal of Computer
Society of India, Volume 35, Issue no: 1, JanMar 2005.
[5] Philip D. Wasserman, Neural Computing
Theory and Practice, Van nostrand reinhold,
New York.
[6] Yegnanarayana, B., Artificial neural
Networks, Prentice Hall Inc.

330

[7]P.Moreland,E. Fiesel, ”The
effects of
optical backpropagation neural networks”,
Proceedings of the International Conference
on Artificial Neural Networks.
[8] Joseph Raj V., and Merlin Esther V.,
“Genetic based Neural Network
Model for Diagnosis of Retinopathies in
Diabetics”, National Conference on
Computer Science and informatics,
Joseph's College (Autonomous),
Bharathidasan
2004.

University,

St.

Tiruchirappalli,

[9] Joseph Raj V., and Subhajini A.C.,
“Weather forecasting using Artificial Neural
Network”, National Conference on Computer
Science, St. Xavier’s College(Autonomous),
M.S University, Tirunelveli, 2006.

Bibliography
A.C. Subhajini received her M.S degree in
Computer
Science
and
Information
Technology from Bharathidasan University,
Trichy, India and M.Phil. in Azhakappa
University,madurai,India. She is now working
as a Lecturer in the Department of Software
Engineering, NIU, Tamilnadu, India. She is
having a teaching experience of 7.5 years and
is doing her doctorate in Mother Theresa
Women’s University, India. Her research
interest is in neural network.
V. Joseph Raj is an Associate Professor in the
Department of Computer Engineering,
European University of Lefke, TRNC, Turkey.
He obtained his post graduation from Anna
University, Madras, India and PhD Degree in
Computer Science from Manonmaniam
Sundaranar University, Tirunelveli, India. He
is guiding PhD scholars of various Indian
Universities. His research interests include
neural network, image processing, networks,
and biometrics. He has great flair for teaching
and has twenty years of teaching experience.
He has published 25 research papers at
International and National levels.

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

331

A Simple Modified Transmission Line Model for Inset Fed
Antenna Design
M. Fawzi Bendahmane1, Mehadji Abri 2, F. Tarik Bendimerad3 and Noureddine Boukli-Hacene4
1

Telecommunications Laboratory, Technologies Faculty, Abou-Bekr Belkaïd University
Tlemcen, 13000, Algeria

2

Telecommunications Laboratory, Technologies Faculty, Abou-Bekr Belkaïd University
Tlemcen, 13000, Algeria

3

Telecommunications Laboratory, Technologies Faculty, Abou-Bekr Belkaïd University
Tlemcen, 13000, Algeria

4

Telecommunications Laboratory, Technologies Faculty, Abou-Bekr Belkaïd University
Tlemcen, 13000, Algeria

Abstract
In this paper we propose the design of single inset fed printed
antenna based on a simple modified transmission line model. The
developed model is simple, accurate and takes into account all
antenna characteristics and their feed system. To test the
proposed model, the obtained results are compared to those
obtained by the moment’s method (Agilent Momentum software).
Using this transmission line approach the resonant frequency,
input impedance, return loss can be determined simultaneously.
The paper reports several simulation results that confirm the
validity of the developed model. The obtained results are then
presented and discussed.
Keywords: Printed inset fed antenna, transmission line model,
moment’s method (Momentum).

1. Introduction
Microstrip antennas received considerable attention in the
1970’s, although the first designs and theoretical models
appeared in the 1950’s. They are suitable for many mobile
applications: handheld devices, aircraft, satellite, missile,
etc. They have been extensively investigated in the
literature [1-5].
Conventional microstrip antennas in general have a
conducting patch printed on a grounded microwave
substrate, and have the attractive features of low profile,
light weight, easy fabrication, and conformability to
mounting hosts [10]. Traditional feeding techniques
include the use of directly, electromagnetically, or

aperture coupled microstrip lines, coaxial probes, and
coplanar waveguides. Many types of microstrip antennas
have been proposed and investigated [1-5]. Microstrip
antennas that operate as a single element usually have a
relatively large half power beam width, low gain and low
radiation efficiency.
Many researchers studied their basic characteristics and
great efforts were also devoted to their determination
(resonant frequency, the band-width, radiation... etc) by
using theoretical models. Over the years, many models
have been used to analyze microstrip antennas. Among
them, the transmission line model is a simple model due to
its assumptions. This leads to a set of linear equations with
low dimension.
In this paper we look into the design and development of
single antenna and inset fed antennas arrays with corporate
feed network by using a fast, simple and accurate modified
transmission line model.
The most important parameter in our designing process is
the simplicity of the antenna and its feeding structure so
that the antenna can be fabricated easily in practice.
Therefore, inset fed patch antenna with a microstrip line
feed was considered as a base structure.

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

2. Transmission Line Model Analysis
In this section, an equivalent circuit model for the
proposed antenna is developed. This model is capable of
predicting the slot radiation conductance and the antenna
input impedance near resonance. This approach provides
very helpful insight as to how this antenna and its feed
network operate. As mentioned before, this model is also
needed to find a proper matching network for the antenna.

332

resistance Rin . The various values of the model are given
as follows:
The input resistance is given by:
Rina 

2G1a

 2

G1a 2  B1a 2
sin 2  g La 
cos  g La  
2
1
Yc



 G12 a   B a


sin2 g La 
 Yc


(1)

Rinb

 2

G1b  B1b
sin 2  g Lb 
cos  g Lb  
2
1
Yc




2G1b  G12b   Bb


sin 2 g Lb 
 Yc


Rinc


 2
G1c  B1c
sin 2  g Lc  
cos  g Lc  
2
1
Yc




2G1c  G12c   Bc

 sin2 g Lc 

 Yc

2

3. Three Ports Model of the Proposed Inset
Fed Antenna
The used model is inspired from the three ports model [8].
On the figure below one presents the suggested
configuration:

Wb

La

(Lb,Wb)

Lm

(La, Wa)

Prob feed
Wf

Wa

S
Wc

(Lc,Wc)

lb

(Lb,Wb)

 

Rinb

 

(Lm,Wf)

(La,Wa)

Input 50 Ω

la
 
 

lc

Rina
(Lc,Wc)

2

1

(3)
The expressions of G1 and B1 are given by the relations
below [9]:
W
1
G1a ,b ,c  a ,b ,c 1 
k 0 h  2 
(4)
120 0  24


Wa ,b ,c

1  0.636 ln k 0 h 
(5)
120 0
The conductance of a single slot can also be obtained by
using the expression field derivative from model cavity. In
general, the conductance is defined by:
2P
(6)
G1  rad2
V0
By using the electric field one can calculate the radiated
power:

 

Rinc

1

(2)

B1a ,b ,c 

(a)

2

2

L
Lb

1

 

2

 K 0W cos   

V0
 2
 sin 3  d
Prad 
(7)


20 0 
cos 



The self conductance can be calculated using the
following expressions:
I1
(8)
G1 
120 2
Where I1 is the integral defined by:


(b)
Fig. 1 (a) Inset fed antenna. (b) Equivalent circuit of the proposed
antenna.

In the present study, the model consists of breaking up the
antenna into three areas a, b and c. Let us consider each
part as being an antenna which finishes on the level of its
ends by a length L due to the slot radiation and a
resistance in series representing the value of this resistance
in the antenna extremity. The improved model consist of
neglecting the radiations slots between the feed line and
the areas b and c and replace the resistances in series by
their true values due only to the areas b and c. Therefore
resistances will be Rinb and Rinc instead of only one

2   sin



2

  k 0W

cos   
  sin
2
  sin 3  d
I1   


cos

0




The slots length for each region is given by:



(9)

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

 La

00
00
00

 Lb

(10)

 Lc

microstrip, the connection to a point inside the metal patch
requires the use of an inset. The inset-feed technique
integrates a patch antenna together with a microstrip feed
on a single planar substrate. The input impedance of the
inset-fed patch varies, similarly to the coaxial probe-fed
patch, as the inset-depth of the feed line changes.
The simulated input return loss of the inset fed antenna is
displayed for frequencies between 3.5 to 5.5 GHz in Fig.3.

in this case for each region is


v0
1
 fra 

2 La  r  0  0 2La  La   r


v0
1


 frb 
2 Lb  r  0  0 2Lb  Lb   r


v0
1
 fr 

c

2 Lc  r  0  0 2Lc  Lc   r


0
-2
-4

S11 [dB]


1
L a 

2 f r a  reff


1
Lb 
2 f r b  reff


1
L 
 c 2f
r c  reff

The resonant frequency
given by:

333

-6
-8
-10
-12

(11)

-16
-18
3.5

3.7

3.9

4.1

4.3

4.5

4.7

4.9

5.1

5.3

5.5

Frequency [GHz]
Fig. 3 Simulated input antenna return loss.

4. Results and Discussions
The validity of the model suggested is highlighted by
comparing the results of the return loss, the input phase
and input impedance locus. In this section simulations
were performed on inset fed antenna.

TLM model
Momentum

-14

At the frequency 4.7 GHz one observe appearance of a
resonant mode and a good adaptation. It appears a peak of
-16.3 dB using the moment method and of -13 dB using
the improved transmission line model.
25.00

4.1 Inset Fed Antennas Array Operating at the
Resonant Frequency 5.4 GHz
VSWR

The antenna is to be designed on substrate which has a
relative permittivity r of 2.42, a dielectric thickness H of
1.27 mm, a loss tangent of about 0,002 and 0.05 mm
conductor thickness.

TLM model
Momentum

21.00
15.75
10.50
5.25
0.00
4.130

4.355

4.580

4.805

5.030

5.250

Frequency [GHz]
Fig. 4 Simulated input antenna VSWR.
50 

The Moments results and those obtained from
transmission line model of the input phase of return loss
for this antennas array are shown in Fig. 5.
Fig. 2 The mask layout of the inset fed patch antenna design operating at
4.7GHz. The parameters are set to: Wa=32.4 mm, L=19.3 mm, H=1.27
mm, S=0.57 mm, Wf=2.4 mm, Y0=4.9 mm.

Using the transmission line model, the antenna was
designed to operate with a resonant frequency of 4.7 GHz.
The input impedance of the antenna must be matched to
the feed line by choosing the correct position for the
feeding point. Because the antenna must be fed with the

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

The simulated input return loss of the antennas array is
displayed for frequencies between 4.0 to 7.0 GHz in Fig.8.

-50

0

-100

TLM model
Momentum

-150

-5

-200
3.4

3.6

3.8

4.0

4.2

4.4

4.6

4.8

5.0

5.2

5.4

5.6

S11 [dB]

Phase [°]

334

Frequency [GHz]

TLM model
Momentum

-10
-15
-20
-25

Fig. 5 Reflected phase at the antenna input.

4.0

4.5

5.0

5.5

6.0

6.5

7.0

Frequency [GHz]

One notices very well that the phase is null by the two
models in spite of the shift observed. The impedance locus
of the antennas array from 3.3 to 5.4 GHz is illustrated on
Smith's chart in Fig. 6.

Fig. 8 Computed return loss of the inset fed antenna.

TLM model
Momentum

VSWR

40

20

TLM model
Momentum
0
4.0

4.5

5.0

5.5

6.0

6.5

7.0

Frequency [GHz]
Fig. 9 Computed VSWR.

4.2 Inset Fed Antennas Array Operating at the
Resonant Frequency 5.4 GHz
In this section, other geometry is analyzed by using the
method proposed in this paper. The antenna is to be
designed on substrate which has a relative permittivity r
of 4.6, a dielectric thickness H of 0.444 mm, a loss tangent
of about 0,005 and 0.05 mm conductor thickness. The
antenna was designed to operate with a resonant frequency
of 5.4 GHz. The inset fed antenna architecture is shown in
the figure below.

We note from Fig. 9 that the two curves are identical. In
the vicinity of the resonant frequency the VSWR is close
to unity.
In Fig. 10 we present the reflected phase at the antenna
input.
200

TLM model
Momentum

100

Phase [°]

Fig. 6 Smith's chart of the input impedance return losses. Frequency
points given by start = 3.3 GHz, stop = 5.4 GHz.

0

-100

-200
4.2

4.7

5.2

5.7

6.2

Frequency [GHz]
50 

Fig. 10 Reflected phase at the antenna input.

The impedance locus of the antennas array from 4.0 to
7.0GHz is illustrated on Smith's chart in Fig. 11.
Fig. 7 The mask layout of the inset fed patch antenna design operating at
5.4 GHz. The parameters are set to: Wa=16.28 mm, L=12.7 mm,
S=0.42mm, Wf=0.42 mm, Y0=4 mm.

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

TLM model
Momentum

Fig. 11 Smith's chart of the input impedance return losses. Frequency
points given by start = 4.0 GHz, stop = 7.0 GHz.

5. Conclusion
In this paper, a highly-flexible and computation-efficient
transmission line model is developed to analyze the inset
fed antenna. The results so far show that the transmission
line model can be successfully used to design the inset fed
antennas array and even though the model is conceptually
simple, it still produces accurate results in a relatively
short period of computing time. The results obtained
highlighted an excellent agreement between the
transmission line model and the moment’s method. A
comparison of the results produced by the final model
with the moment’s method data showed the validity of the
proposed model. This allows the analysis of very large
arrays even on rather small computer. Based on these
characteristics, the proposed antennas array can be useful
for EMC applications.

References
[1] R. A. Sainati, CAD of Microstrip Antenna for Wireless
Applications, Artech House: Icc., 1996.
[2] S. Gao and A. Sambell, "A Simple Broadband Printed
Antenna", progress in electromagnetics research, PIER 60,
2006, pp. 119–130.
[3] P. M. Mendes, M. Bartek, J. N. Burghartz and J. H. Correia,
"Design and Analysis of a 6 GHz Chip Antenna on Glass
Substrates for Integration with RF/Wireless Microsystems",
IEEE proceeding, 2003.
[4] Wi. Sang-Hyuk, "Wideband microstrip patch antenna with Ushaped parasitic", IEEE Trans Antennas Propag., 55(4):11969, 2007.
[5] D. M. Pozar and D.H. Schaubert, Microstrip Antennas, the
Analysis and Design of Microstrip Antennas and Arrays,
New York : IEEE Press, 1995.
[6] M. Abri, Boukli-hacene. N, Bendimerad. F. T. &
Cambiaggio. E, "Design of a Dual Band Ring Printed

335

Antennas Array", Microwave journal, vol. 49, no. 5, May
2006, pp. 228-232.
[7] S. Yang , E. Adel, S. Lin, A. E. Fathy, A. Kamel, and H.
Elhennawy, "A highly efficient Vivaldi antenna array design
on thick substrate and fed by SIW structure with integrated
GCPW feed", 2007 IEEE Antennas and Propagation Society
International Symposium, 2007, pp. 1985–1988.
[8] J. F. Zurcher & F. E. Gardiol, Broadband Patch Antenna,
Boston : Artech House.
[9] C.A. Balanis. Antenna Theory Analysis and Design, Second
Edition, USA: John Wiley & Sons, 1997.
[10] K. L. Wong, Design of Nonplanar Microstrip Antennas and
Transmission Lines, New York: Wiley, 1999.

M. Fawzi Bendahmane was born in Algeria in 1976. He obtained
his magister degree from the Abou Bekr Belkaid University,
(Tlemcen) Algeria, in 2000. M. Fawzi Bendahmane is interested to
the following topics: study of the characteristics of microstrip
antennas, theories of algorithmic and programming, optimization
algorithms, study of the nonlinear systems.
M. Fawzi
Bendahmane currently is a master assistant at the University of
Tlemcen and a doctorate student in the same university under the
supervision of Pr. F. Tarik Bendimerad working on the study of the
coupling between microstrip antennas.
Mehadji Abri was born in 1978 in Sidi Bel Abbès, Algeria. He
received the Magister and doctorate diplomas in 2004 and 2008
from Abou Bekr Belkaïd University, Tlemcen, Algeria. He is a
Researcher within the Telecommunications Laboratory. His main
field of research is centered on the analysis, synthesis of multiband antenna and antennas arrays design.
F. Tarik Bendimerad was born in 1959 in Sidi Bel Abbès, Algeria.
He received the State Engineer diploma in 1983 from Oran
Sciences and Technologies University, Algeria and the Doctorate
Degree from Nice Sophia Antiplois University, France, in 1989. He
is a professor and the Director of the Telecommunications
Laboratory. His main area of research is the microwave techniques
and radiation and he is responsible of the antenna section.
Noureddine Boukli-Hacene was born in 1959 in Tlemcen,
Algeria. He received the Diplome d’Etudes Approfondies in
microwave engineering (DEA Communications Optiques et
Microondes) and the Doctorate degree (prepared at the Centre
National d’Etudes Spatiales, Toulouse, France) in electrical
engineering from Limoges University, France, in 1982 and 1985
respectively. Recently, he is a Lecturer at the University of
Tlemcen. His research interests include, among others, microstrip
antennas and microwave circuits.

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

Optimum Multilevel Image Thresholding Based on Tsallis
Entropy Method with Bacterial Foraging Algorithm
P.D. Sathya1 and R. Kayalvizhi2
1

Research Scholar, Department of Electrical Engineering, Annamalai University
Chidambaram – 608 002, Tamilnadu, INDIA

2

Professor, Department of Instrumentation Engineering, Annamalai University
Chidambaram – 608 002, Tamilnadu, INDIA

Abstract
Multilevel image thresholding is an important operation in many
analyses which is used in many applications. Selecting correct
thresholds is a critical issue. In this paper, Bacterial Foraging
(BF) algorithm based on Tsallis objective function is presented
for multilevel thresholding in image segmentation. Experiments
to verify the efficiency of the proposed method and comparison
to Genetic Algorithm (GA) is presented. The experiment results
show that the proposed method gives the best performance in
multilevel thresholding. The method is also computationally
efficient, more stable and can be applied to a wide class of
computer vision applications, such as character recognition,
watermarking technique and segmentation of wide variety of
medical images.
Keywords: Multilevel thresholding, Bacterial foraging
algorithm, Tsallis objective function, image segmentation.

1. Introduction
Image segmentation is a process of dividing an image into
different regions such that each region is nearly
homogeneous, where the union of any two regions is not.
It serves as a key in image analysis and pattern recognition
and is a fundamental step toward low-level vision, which
is significant for object recognition and tracking, image
retrieval, face detection, and other computer-vision-related
applications [1]. Many segmentation techniques have been
proposed in the literature. Among all the existing
techniques, thresholding technique is one of the most
popular one due to its simplicity, robustness and accuracy
[1-3].
Otsu and Kapur methods were proved to be two best
thresholding methods for the uniformity and shape
measures [4, 5]. However, it is required to determine
threshold levels depending on the scene to obtain
consistent segmentation results in many cases. Multilevel
thresholding techniques were therefore developed. Most

bi-level thresholding methods can easily evolve into
multilevel thresholdig methods directly [6]. But, the
computational complexity would grow exponentially as
the threshold number increases due to their exhaustive
searching approach [7, 8], which would limit the
multilevel thresholding applications.
Yen et al used a maximum correlation criterion to
multilevel thresholding, where the segmentation results
are satisfactory and the threshold determination process
could be accelerated [7]. Yin proposed algorithm that can
determine the number of thresholds automatically as well
as save a significant amount of computing time [8]. It
appears that approximately all the methods suffered the
computational complexity and the segmentation
performance instability as the threshold number increases.
To eliminate such problems, evolutionary techniques have
been applied in solving multilevel thresholding problem
[9, 10]. Peng-Yeng developed a fast scheme multilevel
thresholding using genetic algorithms for image
segmentation [9]. Shu-Kai et al presented a hybrid optimal
estimation algorithm for solving multi-level thresholding
problems in image segmentation. The distribution of
image intensity is modeled as a random variable, which is
approximated by a mixture Gaussian model [10].
However, the method still fails to deal with the common
drawback of GAs, the decreasing optimal stability as the
convergent speed increases.
Yin proposed particle swarm algorithm based multilevel
minimum cross entropy threshold selection procedure
[11]. The method uses recursive programming technique
which reduces an order of magnitude for computing the
minimum cross entropy thresholding (MCET) objective

336

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

function. Then, a particle swarm optimization (PSO)
algorithm is
proposed for searching the near-optimal MCET
thresholds. However, Ratnaweera et al. state that the lack
of population diversity in PSO algorithm is understood to
be a factor in their convergence to local optima, which
means that it cannot guarantee that the global optima in
the search space will be found [12].
This paper proposes the development of a novel optimal
multilevel thresholding algorithm, especially suitable for
multimodal image histograms, for segmentation of ten
benchmarked images, employing bacterial foraging (BF)
technique. Bacterial foraging is comparatively a very
recent technique that is being used for solving
multidimensional global optimization problems [13].
In foraging theory, it is assumed that the objective of the
animals is to search for and obtain nutrients in such a
fashion that the energy intake per unit time is maximized
[13]. This foraging strategy has been formulated as an
optimization problem by employing optimal foraging
theory. The foraging behavior of E. Coli bacteria includes
the methods of locating, handling and ingesting food, has
been successfully mimicked to propose a new
evolutionary optimization algorithm.
The proposed BF method is used to maximize Tsallis
objective function. The method has been compared with
particle swarm optimization (PSO) and genetic algorithm
(GA) algorithms. The results show that the proposed
algorithm can outperform the other two methods both
from the point of view of maximizing the objective
function as well as maximizing the Peak signal to Noise
Ratio (PSNR) value.

337

Tsallis bi-level thresholding can be described as
A
B
A
B
f(t)  argmax[Sq (t)  S q (t)  (1  q).S q (t).S q (t)]
(1)
where
q is an entropic index
t 1 Pi q
1  (
)
t 1
i 0 P A
A
, P A   Pi
S q (t) 
i 0
q 1

B
S q (t) 

thresholding method
In this section, a new thresholding method is proposed
based on the entropy concept. This method is similar to
the maximum entropy sum method of Kapur et al [3];
however the Tsallis non-extensive entropy concept is used
for customizing information theory.
Let there be L gray levels in a given image and these gray
levels are in the range {0, 1, 2,………,(L-1)}. Then one
can define Pi = h(i)/N, (0 ≤ i ≤ (L-1)) where h(i) denotes
number of pixels for the corresponding gray-level L and N
denotes total number of pixels in the image which is equal
to iL01 h(i).

q 1

, P

B

L1

  Pi .
it

The information measures between the two classes (object
and background) are maximized. When SqA(t) is
maximized, the luminance level t is considered to be the
optimum threshold value. This can be achieved by a cheap
computational effort.
This Tsallis entropy criterion method can also be extended
to multilevel thresholding and it is described as follows:
f(t)  argmax[Sq

A

B
C
m
(t)  S q (t)  S q (t)  ...  S q (t) 

(1  q).S q

A

B
C
m
(t).S q (t).S q (t)....S q (t)] (2)

where

Sq

2. The proposed Tsallis multilevel

L1 Pi q
1  (
)
i t P B

A

(t) 

q
t 1
1
Pi
1  (
)
i 0 P A
q 1

, P

A

t 1
1
  Pi
i 0

q
t 1
2
Pi
1  (
)
t 1
i t P B
2
B
B
1
, P   Pi
S q (t) 
i t
q 1
1
q
t 1
3
Pi
1  (
)
t 1
it P C
3
C
C
2
S q (t) 
, P   Pi ....
i t
q 1
2
L1 Pi q
1  (
)
m
i t
L1
P
m
m
m
S q (t) 
, P   Pi .
it
q 1
m

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

The aim of this proposed PSO algorithm is to maximize
the Tsallis objective function using equation (2).

3. Bacterial Foraging Algorithm
3.1 A Brief Overview
It is the law of nature that species with good foraging
strategies survive while those with poor searching ability
are either eliminated or shaped into good ones. This is
because the former is more likely to enjoy reproductive
success by producing better species in future generations.
This activity of foraging led the researchers to use it as an
optimization process. The foraging behavior of E. Coli
(bacteria present in intestines) can be explained by four
processes namely, chemotaxix, swarming, reproduction,
elimination and dispersal which are described below.
a) Chemotaxis: An E. coli bacterium can move in two
different ways: it can swim or it can tumble. The
bacterium moves in a specified direction during swimming
and during tumbling it does not have a set direction of
movement and there is little displacement. Generally, the
bacterium alternates between these two modes of
operation in its entire lifetime. This alternation between
the two modes enables the bacteria to move in random
directions and search for nutrients.
b) Swarming: Once one of the bacteria reaches the desired
food location, it should attract other bacteria so that they
converge at the desired location. To achieve this, a penalty
function based upon the relative distances of each
bacterium from the fittest bacterium is added to the
original objective function. Finally, when all the bacteria
have merged into the solution point the penalty function
becomes zero. The effect of swarming is to make the
bacteria congregate into groups and move as concentric
patterns with high bacterial density.
c) Reproduction: The original set of bacteria after several
chemotaxis stages undergoes the reproduction stage where
the bacteria are split into two groups. The least healthy
bacteria die and the other healthiest bacteria split into two
at the same location thus ensuring that the population of
the bacteria remains constant.
d) Elimination and Dispersal: An unforeseen event may
cause the elimination of a set of bacteria and/or disperse
them to a new environment. This helps in reducing the
probability of being getting trapped in local minima.
3.2 The BF Algorithm
The algorithm is discussed here in brief.
Step1: Initialization

338

Number of bacteria (S) to be used for finding the
minima.
ii. Number of parameters (p) to be optimized.
iii. Specifying the location of the initial set of
bacteria.
iv. Nc is the number of chemotactic steps taken by
each bacterium before reproduction.
v. Ns is the maximum number of steps taken by each
bacterium when it moves from low nutrient area
to high nutrient area.
vi. Nre and Ned are the number of reproduction and
elimination dispersal events.
vii. Ped is the probability of elimination and dispersal.
viii. Random swim direction vector ∆(i) and run
length vector C(i).
i.

Step2: Iterative algorithm for optimization
The algorithm begins with the calculation of objective
value using equation (2) for the initial bacterial population
inside the innermost chemotaxis loop. Any ith bacteria at
the jth chemotactic, kth reproduction and lth elimination
stage is θ i (j,k,l) and its corresponding objective value is
given by J1(i,j,k,l). The algorithm works as follows:
1. Starting of the Elimination-dispersal loop
2. Starting of the Reproduction loop
3. Starting of the chemotaxis loop
a) i = 1, 2, ..........S, calculate J1 ( i, j, k, l)
b) J1 ( i, j, k, l) is served as J1last so as to compare with other
J1 values.
c) Tumble: Generate a random vector Δ(i) with each
element Δn(i), m = 1,2, … , P, a random number on
[-1, 1].
Δ(i )
i
i
d) Move:  ( j  1,k,l )   ( j,k,l )  C(i )
T
 (i )  (i )
This results in a step size C(i) in the direction of the
tumble for ith bacterium.
e) Calculate J1 ( i, j+1, k, l)
f) Swim
Let n = 0 (counter for swim length)
While n<Ns
n=n+1;
If J1 ( i, j+1, k, l) < J1last then J1last = J1 ( i, j+1, k, l) and
Δ(i )
i
i
 ( j  1,k,l )   ( j,k,l )  C(i )
T
 (i )  (i )
i
This  ( j  1,k,l ) is used to calculate new J1 ( i, j+1, k, l).

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

Else n = Ns
g) Go to the next bacterium (i+1) till all the bacteria
undergo chemotaxis.

6. If k < Nre, go to step 2 to start the next generation in the
chemotactic loop else go to step 7.

4. If j<Nc, go to step 3 and continue chemotaxis since the
life of bacteria is not over else go to the reproduction stage.

7. Elimination
number (rand)
bacterium gets
location, else
location.

5. Reproduction:
a) For the given k and l, and for each i = 1, 2, 3, ........ S, let
N

i
J health 

c

339

- dispersal: For i = 1, 2, ..... S a random
is generated and if rand ≤ Ped, then that
eliminated and dispersed to a new random
the bacterium remains at its original

8. If l < Ned go to step 1 else stop.

1

 J(i,j,k,l ) be the health of ith bacterium.

j  1

4. Experimental Results and Analysis

The bacteria are stored according to ascending order
i
of J health .
i
b) The bacteria with the highest J health values die and
other bacteria with minimum values split and the copies
that are made are placed at the same location as their
parent.

(a)

(b)

(f)

(g)
(a)

In this section, the performances of the following methods
are evaluated: Tsallis based BF, PSO and GA methods.
All the experiments were performed on a P4 3GHz with
2GHz RAM. Benchmark images namely Lenna, Pepper,
Baboon, Hunter, Cameraman, Airplane, Map, Living
room, House and butterfly used for the experiment are
gathered in Figure 1 with their histograms.

(c)

(d)

(h)

(i)

(e)

(j)

Fig. 1 Test Images and their histograms
[(a) Lena, (b) Pepper, (c) Baboon, (d) Hunter, (e) Cameraman, (f) Airplane, (g) Map, (h) Living Room, (i) House, (j) Butterfly]

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

340

Table 1: Objective values and their optimal threshold values by using BF, PSO and GA methods
Test Images

LENNA

PEPPER

BABOON

HUNTER

CAMERA
MAN

AIRPLANE

MAP

LIVING
ROOM

HOUSE

BUTTERFLY

(a)

m
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5

BF
0.8889
1.296278
1.654271
1.995787
0.8889
1.296278
1.654264
1.995771
0.8889
1.296284
1.654266
1.995744
0.8889
1.296270
1.654258
1.995766
0.8889
1.296189
1.654190
1.995674
0.8889
1.296223
1.654277
1.995795
0.881206
1.273982
1.587902
1.828422
0.888881
1.296281
1.654263
1.995743
0.888761
1.296092
1.653630
1.994217
0.888825
1.296202
1.653424
1.994823

Objective values
PSO
0.8889
1.296268
1.654255
1.995773
0.8889
1.296274
1.654248
1.995766
0.8889
1.296274
1.654262
1.995737
0.8889
1.296267
1.654255
1.995720
0.8889
1.296180
1.654183
1.995669
0.8889
1.296204
1.654262
1.995784
0.881206
1.267481
1.585544
1.818369
0.888881
1.296275
1.654247
1.995701
0.888761
1.296090
1.653586
1.993744
0.888825
1.296190
1.652617
1.991453

(b)

GA
0.8889
1.296247
1.654208
1.995717
0.8889
1.296262
1.654225
1.995739
0.8889
1.296202
1.654241
1.995708
0.8889
1.296227
1.654240
1.995713
0.8889
1.296141
1.654177
1.995663
0.8889
1.296180
1.654243
1.995768
0.881206
1.232429
1.579716
1.788800
0.888881
1.296255
1.654244
1.995627
0.888761
1.296052
1.653581
1.993426
0.888825
1.296168
1.652564
1.989359

BF
120,164
81,124,178
85,124,161,193
76,108,136,164,193
82,154
86,118,190
71,121,161,197
70,109,139,169,197
91,147
111,148,188
75,114,146,175
78,106,136,157,179
94,137
82,118,171
71,110,142,182
65,93,123,150,182
120,154
78,128,178
91,123,156,211
70,107,134,158,200
72,153
99,143,193
68,103,135,182
61,94,121,150,185
114,176
84,142,198
73,113,156,203
75,112,147,174,206
81,144
89,143,197
67,107,145,186
72,111,139,164,199
87,145
88,133,199
67,105,146,189
66,95,121,155,200
97,136
99,135,197
95,120,144,189
89,114,141,170,213

(c)

Optimal threshold values
PSO
GA
120,164
120,164
110,149,187
98,159,181
85,118,164,200
86,120,151,205
86,117,142,166,196
95,130,152,173,200
82,154
82,154
93,133,179
75,103,182
73,121,141,176
73,109,141,193
78,111,141,169,198
78,105,139,168,200
91,147
91,147
108,155,181
111,136,193
62,115,144,174
94,125,152,177
84,110,132,153,175
90,116,139,159,180
94,137
94,137
83,143,174
87,147,173
78,109,143,187
90,119,150,191
70,103,139,174,198
79,114,144,174,198
120,154
120,154
78,121,173
81,143,170
82,122,154,201
76,116,148,202
78,110,133,159,199
88,118,143,169,205
72,153
72,153
98,134,192
89,148,172
85,117,153,180
79,111,153,173
75,107,134,157,185
73,98,131,162,192
114,176
114,176
90,131,183
80,145,172
78,121,158,189
80,117,157,199
79,113,142,170,191
91,118,144,174,206
81,144
81,144
91,137,198
88,117,178
87,126,165,200
90,126,158,199
71,125,150,176,205
69,126,157,182,204
87,145
87,145
90,133,199
82,123,177
70,112,152,189
73,111,151,189
70,104,134,160,212
60,99,114,158,198
97,136
97,136
100,135,185
89,124,169
89,122,143,178
94,121,141,179
70,107,134,162,189
70,119,140,170,214

(d)

(e)

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

(f)

(g)

341

(h)

(i)

(j)

Fig. 2 Segmented images of multilevel thresholding for m = 3
[(a) Lena, (b) Pepper, (c) Baboon, (d) Hunter, (e) Cameraman, (f) Airplane, (g) Map, (h) Living Room, (i) House, (j) Butterfly]

Table 2: PSNR value, CPU time and standard deviation value obtained by BF, PSO and GA methods

Test Images

LENNA

PEPPER

BABOON

HUNTER

CAMERAMAN

AIRPLANE

MAP

LIVING ROOM

HOUSE

BUTTERFLY

m
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5

BF
15.2419
17.4715
19.5070
20.9916
12.9108
16.6563
19.2433
20.4910
13.1404
18.1076
17.5204
18.7616
11.3848
14.5772
16.2874
17.3380
10.6258
15.6856
16.7835
17.8802
13.7290
15.8742
16.3276
17.6049
16.6045
18.4286
20.6499
22.1638
13.1208
17.1198
19.2320
21.3385
12.9865
14.0213
16.8884
17.5635
13.0516
18.1337
20.0356
21.9096

PSNR (db)
PSO
15.2419
17.1425
19.4324
20.5637
12.9108
16.0269
16.7109
20.2089
13.1404
17.0809
17.1462
18.2718
11.3848
14.5135
15.4496
16.6426
10.6258
14.9951
15.9187
17.2393
13.7290
15.5913
15.6294
17.6077
16.6045
18.0419
19.7997
21.8968
13.1208
16.9810
18.8655
20.9931
12.9865
13.8104
16.4428
16.7719
13.0516
17.8316
18.9792
21.4406

GA
15.2419
16.9455
19.0207
19.8703
12.9108
15.5628
16.3735
19.7642
13.1404
16.7728
17.1583
17.2903
11.3848
14.0724
14.1926
15.6197
10.6258
14.5900
14.9756
16.6026
13.7290
14.6681
14.9701
16.1579
16.6045
16.2161
19.7340
21.5746
13.1208
16.5873
18.5189
20.5597
12.9865
13.6918
16.1794
16.5772
13.0516
17.2964
18.8382
20.2055

BF
3.0218
3.5327
4.0310
4.5275
3.0531
3.2310
4.1089
4.5213
3.1028
3.7452
3.9303
4.8614
3.0106
3.5624
4.1200
4.4226
2.5690
3.1250
3.9253
4.3906
2.9632
3.3310
3.9259
4.7410
2.7942
3.2771
3.6104
3.9885
3.1406
3.5769
3.9139
4.0251
2.9117
3.3437
3.8074
4.5114
3.1406
3.5746
4.0356
4.5154

CPU Time
PSO
3.6810
4.0357
4.7523
4.9900
3.5394
3.5473
4.4063
4.8484
3.5021
4.2591
4.3365
5.4188
3.6970
4.0130
4.6875
5.0009
3.0021
3.7658
4.6188
5.1343
3.3159
3.7625
4.8750
5.2813
3.3221
3.7969
4.0213
4.5873
3.6250
3.9139
4.3964
4.6421
3.2563
3.8884
4.4620
4.9437
3.7344
4.1980
4.6370
5.0291

GA
3.9219
4.3906
4.8438
5.2854
3.9844
3.9919
5.0938
5.2314
3.8906
4.4422
4.5156
5.8281
3.9797
4.3906
4.7031
5.4688
3.6482
4.3906
4.8594
5.6026
3.8921
4.1358
5.2656
5.6077
3.6563
4.1563
4.5744
4.9810
3.9531
4.3417
4.7602
5.1715
3.7656
4.2736
4.8655
5.4353
4.1406
4.5607
5.0254
5.5607

BF
0.0000
1.6827e-006
3.4304e-006
4.5355e-006
0.0000
2.8014e-006
1.6217e-005
2.0208e-004
0.0000
2.9078e-006
3.4997e-006
9.7325e-006
0.0000
4.6660e-007
1.8203e-006
5.4613e-005
0.0000
4.7916e-006
3.6715e-005
6.6163e-005
0.0000
8.3154e-007
9.5166e-007
5.1122e-006
0.0000
5.6090e-007
5.0556e-004
6.5988e-004
0.0000
1.6980e-006
4.3245e-006
4.3515e-005
0.0000
2.5025e-006
3.7689e-006
7.5181e-005
0.0000
1.4899e-006
1.9529e-005
6.4439e-005

Standard Deviation
PSO
GA
0.0000
0.0000
2.5418e-006
3.8999e-006
1.3306e-005
1.9104e-005
1.6797e-005
2.7208e-005
0.0000
0.0000
7.3578e-006
2.0199e-005
7.0094e-005
1.7406e-004
6.3010e-004
1.1678e-003
0.0000
0.0000
9.3397e-006
1.2993e-005
7.2225e-006
1.3714e-005
1.1321e-005
1.8993e-005
0.0000
0.0000
1.8965e-006
1.0060e-005
4.2172e-006
1.0886e-005
1.2255e-004
9.3619e-004
0.0000
0.0000
5.4543e-006
8.4892e-006
7.5181e-005
1.1024e-004
1.0319e-004
7.7199e-004
0.0000
0.0000
3.1114e-006
6.9412e-006
2.6305e-006
9.2004e-006
3.3007e-005
6.3861e-005
0.0000
0.0000
1.0167e-006
4.6714e-006
1.1493e-003
3.9730e-003
8.1623e-003
1.6169e-002
0.0000
0.0000
6.9103e-005
7.0160e-004
8.4404e-006
2.2951e-005
9.3293e-005
1.8187e-004
0.0000
0.0000
4.3646e-005
6.9786e-005
8.7702e-005
1.1385e-004
9.5166e-005
1.2255e-004
0.0000
0.0000
4.8520e-005
8.5774e-004
6.7992e-004
1.3908e-005
9.1016e-004
5.1122e-003

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

(a)

(f)

(b)

(g)

342

(c)

(d)

(h)

(e)

(i)

(j)

Fig. 3 Segmented images of multilevel thresholding for m = 5
[(a) Lena, (b) Pepper, (c) Baboon, (d) Hunter, (e) Cameraman, (f) Airplane, (g) Map, (h) Living Room, (i) House, (j) Butterfly]

The proposed multilevel thresholding technique using BF
is implemented with the following parameters: Number of
bacterium (s): 20, Number of chemotatic steps (Nc): 10,
Swimming length (Ns): 10, Number of reproduction steps
(Nre): 4, Number of elimination of dispersal events (Ned):
2, In Tsallis objective function, the parameter q is chosen
as 4.
Several aspects would be tested: (1) the multilevel
thresholding results of different methods (2) the objective
values for different methods (3) the stability of different
methods (4) Peak to Signal Ratio (PSNR) value.
The multilevel thresholding is applied to methods
aforementioned to experiment their respective effects.
Objective values and their thresholds obtained by different
methods are listed in Table 1. Multilevel thresholding
segmentation results depend on the objective function
selected. The higher value of objective function indicated
the better segmentation. It is observed that the results by
the proposed method are better than others.

PSNR  20log10 (

255
RMSE

)

where

RMSE 


1 MN
2
  [I(i, j)  I (i, j)]
MN i 1j1

The higher value of PSNR means that the quality of the
thresholded image is better. For all the images, the
performance of the proposed method is better than the
PSO and GA, since their objective value and PSNR
measure are higher. It is also observed from the table that
compared with PSO and GA methods, the BF method
shorten the CPU time significantly. The standard deviation
value obtained by the proposed method is lower than the
other two methods which show the stability of the
proposed method.

5. Conclusion
Segmented images of Tsallis-BF by m = 3 and 5 are
shown in Figures 2 and 3 respectively. The segmentation
is better when m = 5 is chosen than by choosing m = 3.
The PSNR value, CPU time and the standard deviation
value obtained by different methods are listed in Table 2.
PSNR value is calculated as follows:

Non-extensive entropy image thresholding is a powerful
technique for image segmentation. In this paper, Bacterial
Foraging (BF) algorithm based on Tsallis objective
function has been proposed to perform multilevel
thresholding and the method has been compared with PSO
and GA methods. All the techniques have been applied to

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

ten standard test images and the segmentation results are
superior to those obtained by applying the Tsallis-BF
algorithm. Experimental results show that the BF
algorithm converges faster than the PSO and GA and
provides better stability. In addition, the new algorithm
provides better quality in visualization by obtaining
maximum PSNR value. Furthermore, the proposed method
is also suitable for other types of images.

References
[1] N. Pal, and S. Pal, “A review on image segmentation

[2]

[3]

[4]

[5]

techniques, Pattern Recognition”, Vol. 26, No. 9,
1993, pp. 1277-1294.
F.H.Y. Chan, F.K. Lam, and H. Zhu, “Adaptive
thresholding by variational method”, IEEE Trans.
Image Process., Vol. 7, No. 3, 1998, pp. 468-473.
P. K. Sahoo, S. Soltani, and A.K.C. Wong, “A survey
of thresholding techniques “, Comput. Vis. Graph.
Image Process. , Vol. 41, 1988, pp. 233-260.
N. Otsu, “A threshold selection method from gray
level histograms”, IEEE Transactions on Systems,
Man and Cybernetics SMC Vol. 9, No. 1, 1979, pp.
62-66.
J.N. Kapur, P.K. Sahoo, and A.K.C. Wong, “A new
method for gray-level picture thresholding using
the
entropy of the histogram”, Computer Vision,
Graphics and Image Processing, Vol. 29, No. 3,
1985, pp. 273-285.

343

[6] T. Pun, “A new method for grey level picture

thresholding using the entropy of the histogram”,
Signal Processing, Vol. 2, 1980, pp. 223-237.
[7] J.C. Yen, F.J. Chang, “A new criterion for automatic
multilevel thresholding”, IEEE Trans. Image Process.,
Vol. 4, No. 3, 1995, pp. 370-378.
[8] P.Y. Yin, L.H. Chen, “A fast iterative scheme for
multilevel thresholding methods”, Signal Process.,
Vol. 60, No. 2, 1997, pp. 305-313.
[9] Peng-Yeng Yin, 1999. A fast scheme for multilevel
thresholding using genetic algorithms. Signal
Processing 72, 85-95.
[10] Shu-Kai, S., Fan, & Yen Lin, 2007. A multilevel
thresholding approach using a hybrid optimal
estimation algorithm. Pattern Recognition 28, 662669.
[11] P.Y. Yin, “Multilevel minimum cross entropy
threshold selection based on particle swarm
optimization algorithm”, Appl. Math. Comput., Vol.
184, No. 2, 2007, pp. 503-513.
[12] A. Ratnaweera, S.K. Halgamuge, and H.C. Watson,
“Self-organizing
hierarchical
particle
swarm
optimizer
with
time
varying
acceleration
coefficients”, ITTT Trans. Evol. Comput. Vol. 8, No.
3, 2004, pp. 240-255.
[13] Kevin. M. Passino, “Biomimicry of bacterial foraging
for distributed optimization and control”, IEEE
Control Systems Magazine, Vol. 6, 2002, pp. 52-67.

 

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

344

A Lazy Ensemble Learning Method to Classification
Haleh Homayouni1, Sattar Hashemi2 and Ali Hamzeh3
1

Computer Science and IT Department, Shiraz University,
Shiraz, Iran

2

Computer Science and IT Department, Shiraz University,
Shiraz, Iran

3

Computer Science and IT Department, Shiraz University,
Shiraz, Iran

Abstract

examined in order to assign a label to the new instance.
(Aha et al. 1991).

Depending on how a learner reacts to the test instances, supervised
learning divided into eager learning and lazy learning. Lazy
learners endeavor to find local optimal solutions for each particular
test instance. Many approaches for constructing lazy learning have
been developed, one of the successful one is to incorporate lazy
learning with ensemble classification. Almost all lazy learning
schemes are suffering from reduction in classifier diversity.
Diversity among the members of a team of classifiers is deemed to
be a key issue in classifier combination. In this paper we proposed
a Lazy Stacking approach to classification, named LS. To keep the
diversity of classifiers at a desire level, LS utilizes different
learning schemes to build the base classifiers of ensemble. To
investigate LS’s performance, we compare LS against four rival
algorithms on a large suite of 12 real-world benchmark datasets.
Empirical results confirm that LS can statistically significantly
outperform alternative methods in terms of classification accuracy.

Many approaches for constructing lazy learning have been
developed. One of the most successful uses of lazy learning
is in ensemble classifiers. Ensemble methods are learning
algorithms that construct a set of classifiers and then
classify new data points by taking a vote of their
predictions. A set of classifiers with similar training
performances
may
have
different
generalization
performances, combining outputs of several classifiers
reduces the risk of selecting a poorly performing classifier.
It has been discovered that a classifier ensemble can often
outperform a single classifier. A large body of research
exists on classifier ensembles and why ensemble techniques
are effective. (Bay 1998, Breiman 1996a, Freund &
Schapire 1997, Kittler et al., 1998, Mesterharm 2003).

Keywords: Classification, diversity, classifier ensemble, stacking,
lazy learning.

1. Introduction
Machine learning is a domain intensively developed in last
decades. One of its main sub-domain is supervised learning
that form decision theories or functions to accurately assign
unlabeled (test) instances into different pre-defined classes.
Depending on how a learner reacts to the test instances, we
have eager learning and lazy learning (Friedman et al.
1996). Eager learning methods construct a general, explicit
description of the target function when training examples
are provided. Instance-based learning methods simply store
the training examples, and generalizing beyond these
examples is postponed until a new instance must be
classified. Each time a new query instance is encountered,
its relationship to the previously stored examples is

One of the best approaches that work under instance-baselearning in ensemble classifiers is lazy bagging (LB), by
Xingquan Zhu et.al(2008), that builds bootstrap replicate
bags based on the characteristics of test instances.
Although lazy bagging has a great success in getting more
accurate classifier, diversity would be reduce, because lazy
learning suffer from reducing diversity. In order to make the
ensemble more effective, there should be some sort of
diversity between the classifiers (Kuncheva, 2005). Two
classifiers are diverse if they make different errors on new
data points.
Stacking is a simple yet useful approach to this problem in
order to achieve classifier diversity (Wolpert 1992). Under
stacking we use different individual classifier in each bag
for classifying the test instance. Stacking learns a function
that combines the predictions of the individual classifiers.
So different “type” of base classifiers is used in order to get
more accuracy in ensembles (Seewald 2003).

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

In this paper, we argue that a previously successful
instance-based ensemble learning model (LB) can be
improved. Lazy learners are suffering from reducing
diversity, because they form a decision theory that is
especially tailored for the test instance. The above
observations motivate our research to find a method that
annihilates reducing diversity. Stacking is an ensemble that
uses different “type” of base classifiers for labeling new
instance. So we have expected that by using stacking along
with lazy learners, we can provide the desire diversity.

345

One of the most successful uses of lazy learning is in
ensemble classifiers (ZeNobi. 2002). The main idea of an
ensemble methodology is to combine a set of classifiers in
order to obtain a better composite global classifier.
Ensemble methodology imitates our second nature to seek
several opinions before making any crucial decision.
One of the successful method of lazy learning in ensemble
classifiers is lazy bagging (LB)Xingquan Zhu &Ying Yang
(2008), which builds bootstrap replicate bags based on the
characteristics of test instances.
In order to make the ensemble more effective, there should
be some sort of diversity between the classifiers (Kuncheva,
2005). In ensemble classifiers, diversity is obtained by using
different types of classifiers.

Fig. 1 LS Diagram; LS waits until a test instance arrived and make a set
with k instances out of the NN subset and also aNother set with N− k
instances out of the original dataset. Afterwards the class label of the test
instance is defined by the majority vote from the output of the base
learners.

The idea is that for each test instance x , that we add a small
i

number of its kNN into the bootstrap bags, from which the
base classifiers are trained. Different “type” of base
classifiers for labeling new instance is used in ensemble
stacking. We name this method lazy stacking (LS), a
method towards more diverse ensemble classifier. By doing
so, we expect to increase the base classifiers’ classification
diversity, leading to more accurate classification of x .
i

2. Related work
Friedman et al. (1996) proposed a lazy decision tree
algorithm which built a decision tree for each test instance,
and their results indicated that lazy decision trees performed
better than traditional C4.5 decision trees on average, and
most importantly, significant improvements could be
observed occasionally. Friedman et al. (1996) further
concluded “building a single classifier that is good for all
predictions may not take advantage of special characteristics
of the given test instance”. In short, while eager learners try
to build an optimal theory for all test instances, lazy learners
endeavor to finding local optimal solutions for each
particular test instance.
K-nearest neighbors algorithm is a key element in lazy
learning. The kNN is one of the most thoroughly analyzed
algorithms in machine learning, due in part to its age and in
part to its simplicity. Cover and Hart (1967) present early
theoretical results, and Duda and Hart (1973) provide a
good overview.

Stacking is a technique whose purpose is to achieve the
highest generalization accuracy (Wolpert, 1992). Stacking is
usually employed to combine models built by different
classifiers. Stacking performance can be improved by using
output probabilities for every class label from the base-level
classifiers. (Dzeroski and Zenko, 2004).

3. Lazy Stacking
In this paper, we proposed LS, a stacking framework with
lazy local learning for building an ensemble of lazy
classifiers.
Lazy Stacking applies lazy local learning to the nearest
neighbors of a test instance, which produces more accurate
base classifies than applying the global learner. Lazy
learners are suffering from reducing diversity, because they
forms a decision theory that is especially tailored for the test
instance, so by choosing different classifier in stacking to
the whole training set, the performance of the joint lazy and
stacked learners can be increased accuracy. The increase in
performance of LS can mainly attributed to the diversity of
our model to be outlined in the section.

3.1 Diversity in classifiers
A commonly experienced problem with population based
classification methods is the gradual decline in population
diversity that tends to occur over time. Diversity among the
members of a team of classifiers is deemed to be a key issue
in classifier combination, and has been recognized as a very
important characteristic (Cunningham & Carney, 2000;
Krogh & Vedelsby, 1995; Rosen, 1996; Lam, 2000;
Littlewood & Miller, 1989).
Ensembles create many classifiers, and combine their
outputs to improve the performance of a single classifier. If
each classifier makes different errors, so their strategic
combination can reduce the total error. Therefore we need
base classifiers whose decision boundaries are adequately

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

different from those of others, such a set of classifiers is
said to be diverse.
The key to the success of ensemble algorithms is that,
intuitively at least, they build a set of diverse classifiers.
The success of Stacking over Bagging is partially dependent
on the diversity of the predictions made by its base
classifiers [14]. To see this, consider the case when all of
the base classifiers make almost the same predictions. In
that case the ensemble classifier would Not perform more
better than any of the base classifiers taken individually and
there would be less benefit to using an ensemble classifier,
but if we using different classifiers in ensembles like
stacking we can get a desire accuracy. Lazy Stacking has
more diversity than Lazy Bagging, so this method is a
useful remedy for lack of diversity in classifier ensembles.

346

y that wins the majority votes among the L base classifiers is
selected as the class label for x .
i

Procedure LazyStacking()
Learning:
1.

K ← Determine the value of K for T

2.

Calculate attribute weights by using Information-gain Ratio (IR)

3.

S ← Find x ’s K nearest neighbours from T

4.

For i from 1 to L

a)

B′i← Bootstrap sampling N-K instances from T

b)

P ← Bootstrap sampling K instances from S

c)

B′i← B′i P . Build a classifier Ci by using instances in B′i.

i

3.2 Algorithm of Lazy Stacking

Classification:

In Lazy Stacking the learning process delayed until the
arrival of a test instance, Because of its lazy learning nature.
When a test instance x needs to be classified, LS will first

yi .

d)

i

try to find the kNN of x from the training set T, and uses the
i

discovered kNN, along with the original training set T, to
build bootstrap bags for stacking prediction. We will
propose a β-similar concept to automatically determine the
value of K for each dataset T, because kNN of x play a
i

crucial role for LS to classify x .
i

In contrast to traditional stacking which directly samples N
instances from a training set T, LS sample K instances from
the kNN subset (S) and N-K instances from the original
learning set (T). The first N-K instances sampled from T are
to ensure that LS-trimmed bags function similarly to pure
bootstrap bags, such that LS’s base classifiers can be as
independent as possible. The succeeding K instances from S
are to enforce x ’s kNN to have a better chance to appear in
i

each bag and thus help LS build base classifiers with less
variance when classifying x .
i

Instead of directly putting all x ’s kNN into each bag, LS
i

applies bootstrap sampling on x ’s kNN subset as well. It is

and apply Ci to x . Denoting the predicted class label by Ci(x )=
i

5.

End For

6.

Y

7.

Return Y

arg

i

yi (Y is the class label with majority votes.)

3.3 The K Value Selection
To determine the value of k, this paper follows the approach
previous studied in LB. Because kNN of x play a crucial
i

role for LS to classify x , we will propose a β-similar
i

concept to automatically determine the value of K for each
dataset T. The large value of k leads to the increase of bag
dependency and very small value of k leads to decrease in
accuracy so we should find an appropriate value of k. In this
paper a method is proposed for defining k automatically and
uses the similarity measure between TS and LS bags that
defined based on entropy. We called it β-similarity and in
this paper we fixed to it to 0.99 for defining k, based on
similarity measure we should use the following formula:
W

log

(1)

i

expected that our procedure will ensure x ’s kNN have a
i

better chance to appear in each bootstrap bag, with No
decrease of the bag independency.
After the construction of each bootstrap bag B´I , LS builds a
classifier C from B´ , applies C to classify x and generates a
i

I

i

i

prediction C (x ). LS repeats the same process for L times,
i

i

by different classifiers and eventually produces L
predictions for x , C (x ), C (x ),..,C (x ). After that, the class
i

1

i

2

i

L

i

Where W = K/N as the ratio between the number of KNN
and the total instance number in T. To help an instance x

i

find similar neighbors, we need to find the weight of each
attribute so that the weighted distance function can indeed
capture instances similar to x . For simplicity, we use
i

Information-gain Ratio (IR) as a weight measure for each
attribute. The attribute weights is for finding the KNN
subsets i.e. attributes with larger weights have stronger
effects in finding the nearest neighbors of an instance. Then

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

uses the Normalized information gain ratio of each attribute
for it’s weight. Equation 3 shows this the weighted
Euclidean distance for finding kNN of an instance. IR0(Ai)
is the Normalized information gain for the i’th attribute and
R is the total number of attributes:

Dis(xi,xl)=





).(

(2)

347

LS, we use C4.5 unpruned decision trees (Quinlan 1993) as
base classifiers because these methods prefer unstable base
classifiers. K value is determined by fixing the β value to
0.99 for all datasets. Two single learners (the C4.5 decision
tree and kNN) are used to offer a baseline in comparing
rival algorithms.
Table 1: Experimental datasets (# of attributes includes the class label). A
summary of characteristics of these data sets are showed in this table.
#

#of

#of

ofClasses

Attributes

Instances

Audiology

24

70

126

Balance

3

5

625

Dataset

4. Experimental Results
To further assess the algorithm performance, we compare
LS and several benchmark methods including C4.5, kNN,
TB, and LB accuracies on 12 real-world datasets from the
UCI data repository (Blake & Merz 1998). We implement
C4.5, kNN, TB, LB and LS predictors by using WEKA data
mining tool.
In order to measure the performance of the proposed
algorithms in this work, we employed 10-time 5-fold cross
validation for each dataset, and assess their performance,
based on the average accuracy over 10 trials.

4.1 Description of Datasets

Bupa

2

7

345

Car

4

7

1,728

Ecoli

8

8

336

Glass

6

10

214

Hayes

3

5

132

Horse

2

23

368

Krvskp

2

37

3,196

Labor

4

17

57

Sonar

2

61

208

4.3 Classification Accuracy Comparison

To compare LS other benchmark methods we use 12 realworld datasets from the UCI data repository [13]. The main
characteristics of these datasets are summarized in Table 1.

4.2 Rival methods
To further assess the algorithm performance, we compare
LS and several benchmark methods including C4.5, kNN,
TB, and LB accuracies on 12 real-world datasets from the
UCI data repository (Blake & Merz 1998). For LB, TB and

Table 2 reports the accuracies of rival algorithms on each
benchmark dataset. Each row in the table 2 denotes the
results of one dataset, and the columns report the results
from different learners. Each value in the table field gives
the prediction accuracy and the standard deviation. For each
learner and one single dataset, the highest accuracy value
among five methods is bold-faced.

Table 2: Classification accuracy (and standard deviation) on 12 datasets selected from the UCI data repository. For each dataset, the accuracy of the method
with the highest mean accuracy is marked in bold face.
Dataset

KNN

C4.5

TB

Lazy Bagging

Lazy Stacking

Audiology

54.42±2.47

76.15±2.04

78.54±2.71

81.75±1.98

83.30±1.76

Labor

84.45±2.57

78.95±3.88

84.04±4.25

86.64±3.51

90.56±2.71

Balance

89.28±0.98

65.74±0.85

74.66±0.72

77.23±1.04

86.24±0.48

Pima

75.00±1.05

73.65±1.21

75.17±0.81

76.23±0.68

76.32±1.08

Bupa

63.47±2.21

64.20±2.90

69.17±1.88

70.23±2.04

70.28±1.38

Car

78.67±0.64

91.37±0.86

92.58±0.80

93.21±0.48

94.78±0.27

Hayes

64.36±2.68

71.32±3.1

73.50±2.37

75.76±1.18

81.07±2.52

Horse

81.61±1.26

85.12±0.67

84.10±0.94

84.96±0.63

84.35±1.01

Glass

64.95±1.87

66.92±2.65

72.62±1.88

74.31±1.62

74.55±1.77

Sonar

73.18±6.75

73.08±3.63

75.91±2.21

80.05±1.78

84.66±1.87

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

348

Ecoli

86.01±1.07

82.56±1.17

83.72±1.06

83.30±1.11

85.57±0.69

Kr-vs-kp

89.64±0.15

99.29±0.12

99.36±0.08

99.69±0.08

99.71±0.12

The mean accuracy in 12 UCI data sets by lazy bagging
classification is 81.946 and by lazy stacking is 84.282. The
results in Table 2 indicate that LS can outperform LB on
12 datasets with more than 2% absolute accuracy
improvement, and also the results indicate that out of the
12 datasets, LS wins other methods in 16 datasets (a
probability of 9/12=75%).

3.1 Experimental Results and Statistical Tests
Various researchers adopt different statistical and
common-sense techniques to decide whether the
differences between the algorithms are real or random. In
this section we examine some kNown statistical tests, and
study the performance for our algorithms.
We further proceed to compare rival algorithms across
multiple data sets. We deploy the following statistical
tests: absolute average accuracy, t-test.
Table 3. The comparison between lazy bagging and lazy stacking, on 12
datasets from UCI data repository (datasets are ranked based on LS’s
absolute average accuracy improvement over LB in a descending order).
The p-value indicating a statistical difference (less than the critical value
0.05) is bolded. All p values less than 0.001 are deNoted by <0.001.
Dataset

Lazy Bagging

Lazy Stacking

LS_LB

p-value

Balance

77.23±1.04

86.24±0.48

9.01

<0.001

Sonar

80.05±1.78

84.66±1.87

4.61

<0.001

Lymph

80.41±2.02

85.01±1.04

4.60

<0.001

Labor

86.64±3.51

90.56±2.71

3.92

0.018

Ecoli

83.30±1.11

85.57±0.69

2.27

0.048

Hayes

75.76±1.18

81.07±2.52

5.31

0.001

Bupa

70.23±2.04

70.28±1.38

0.05

0.045

Audiology

81.75±1.98

83.30±1.76

1.55

0.014

Glass

74.31±1.62

74.55±1.77

0.24

0.042

Pima

76.23±0.68

76.32±1.08

0.09

0.015

Kr-vs-kp

99.69±0.08

99.71±0.12

0.02

0.218

Horse

84.96±0.63

84.35±1.01

-0.61

0.440

Table 3 also reports the p-values between LS and LB to
evaluate whether the mean accuracies of LB and LS are
statistically different; a statistically different value (less
than the critical value 0.05) is bolded. Take the first
dataset Balance in Table 3 as an example. The p-value

(denoted by <0.001) indicates that the accuracies of LS are
statistically significantly higher than that of LB. We then
can infer that LS is statistically significantly better than LB
on Balance.
When comparing LS and LB, we can easily conclude that
LS significantly outperform LB with improvement, and for
several datasets, the accuracies of LS are more. This
asserts that for learners, a stacking framework based on
lazy local learning is better design than LB statistically.
Overall in table 3, LS outperforms LB on 9 datasets, of
which the results on 9 datasets are statistically significant.
On the other hand, LB outperforms LS on 3 datasets. LS’s
wins (9) versus losses (3) compared with LB is also
statistically significant. The results indicate that out of the
12 datasets, LS wins other methods in 9 datasets (a
probability of 9/12=75%).
As a result when comparing LS to other classifier, we can
find that LS in most datasets can outperform (or perform
as good as) other classifier. Meanwhile, we also Notice
that for several datasets, the accuracies of LS are identical
to that of the other classifier and simple bootstrap
sampling.

5. Conclusions & future work
In this paper, we proposed LS, a stacking framework with
lazy local learning for building a classifier ensemble
learner. The method is a combination of lazy learning and
ensemble classifiers in order to get more accurate
classifier.
As a future work we plan to extend the current work to
combine Bagging and Stacking in lazy learners in order to
better classifier.
Acknowledgments
This work was supported by the Iran Tele Communication
Research Center.

References
[1] D. Aha, D. Kibler, and M.Albert, “Instance-based learning
algorithms’’. Machine learning, Vol.6, 1991, pp. 37-66.

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

[2] L. Breiman, ‘’Bagging predictors’’, Machine Learning, Vol.24,
No.2, 1996a, pp.123-140.
[3] D. W. Aha, Editorial: ‘’Lazy Learning’’, Artificial Intelligence
Review, Vol.11, 1997, pp.1-5.
[4] J. Kittler, M. Hatef, R. Duin, and J. Matas, ‘’ On combining
classifiers’’, IEEE Trans. on Pattern Analysis and Machine
Intelligence, Vol. 20, No. 3, 1988, pp. 126-239.
[5] D. Wolpert, ‘’ Stacked Generalization’’, Neural Networks, Vol.5,
No.2, 1992, pp. 241-259.
[6] J. Friedman, R. Kohavi, and Y. Yun, ‘’ Lazy decision trees’’. In
Proc. of the AAAI, 1996, pp.717-724. MIT Press.
[7] B. Zenkos, S. Zeroski, ‘’ Is Combining Classifiers with Stacking
Better than Selecting the Best One?’’, Machine Learning, Vol.54,
2004, pp.255–273.
[8] X. Zhu, Y. Yang, ‘’.A lazy Bagging approach to classification’’,
Pattern Recognition, Vol.41, No.10, 2008, pp.2980-2992.
[9] R. Polikar, ‘’Ensemble based systems in decision making’’, IEEE
Circuits and Systems Magazine, Vol.6, 2006, pp.21–45.
[10] L. Kuncheva, and C. Whitaker, ‘’Measures of diversity in
classifier ensembles and their relationship with the ensemble
accuracy’’, Machine Learning, Vol.51, No.2, 2003, pp.181-207.
[11] R. Khoussainov, A. Heb, and N. Kushmerick, ‘’ Ensembles of
nd

Biased Classifiers’’, In Proc. of the 12 ICML Conference,
2005, Vol.119, pp.425 – 432.
[12] R. Polikar R., ‘’Ensemble Based Systems in Decision Making’’,
IEEE Circuits and Systems Magazine, Vol.6, No. 3, 2006, pp.
21-45.
[13] C.L. Blake, C.J. Merz, UCI repository of machine learning
database, 1992.
[14] S.A. Gilpin, D.M. Dunlavy, ‘’Relationships Between Accuracy
and Diversity in Heterogeneous Ensemble Classifiers’’,
SAND2009,694OC. Department of Energy's National Nuclear
Security Administration under Contract DE-AC04-94AL85000.

H. Homayouni was born in Shiraz, Iran in 1984. She received her
B.Sc. degree in Computer Engineering from meybod Islamic Azad
University in 2008. She is currently an M.Sc. student in Artificial
Intelligence at Shiraz University. Her research interests include
supervised learning and ensemble classifiers.
S. Hashemi received the PhD degree in Computer Engineering
from the Iran University of Science and Technology, in conjunction
with Monash University, Australia, in 2008. He is currently a
lecturer in the Electrical and Computer Engineering School, Shiraz
University, Shiraz, Iran. His research interests include data stream
mining, database intrusion detection, dimension reduction, and
adversarial learning.
A. Hamzeh received his Ph.D. in artificial intelligence from Iran
University of Science and Technology (IUST) in 2007. Since then,
he has been working as assistant professor in CSE and IT
Department of Shiraz University. There, he is one of the founders
of local CERT center which serves as the security and protection
service provider in its local area. As one of his research interests,
he recently focuses on cryptography and steganography area and
works as a team leader in CERT center to develop and break
steganography method, especially in image spatial domain. Also,

349

he works as one of team leaders of Soft Computing group of
shiraz university working on bio-inspired optimization algorithms.
He is co-author of several articles in security and optimization.

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

Automated Test Data Generation Based On Individual
Constraints and Boundary Value
Hitesh Tahbildar1, and Bichitra Kalita2
1

Computer Engineering and Application Department, Assam Engineering institute
Guwahati, Assam 781003, India
2

Computer Application Department, Assam Engineering College
Guwahati, Assam 781013, India

Abstract
Testing is an important activity in software development.
Unfortunately till today testing is done manually by most of
the industry due to high cost and complexity of automation.
Automated testing can reduce the cost of software
significantly. Automated Software Test Data Generation is
an activity that in the course of software testing
automatically generates test data for the software under
test. Most of the automated test data generation uses
constraint solver to generate test data. But it cannot
generate test data when the constraints are not solvable.
Although method can be found to generate test data even if
the constraints are unsolvable, but it is poor in terms of
code coverage.
In this paper, we propose a test data generation method to
improve test coverage and to avoid the unsolvable
constraints problem. Our method is based on the individual
constraints and same or dependent variable to create the
path table which holds the information about the path
traversed by various input test data. For generating unique
test data for all the linearly independent feasible path we
created equivalence class from the path table on the basis
of path traversed by the various input test data. The input
data is taken based on individual constraints or boundary
value. Our results are compared with cyclomatic
complexity and number of possible infeasible paths. The
comparison shows the effectiveness of our method.
Keywords: Independent feasible path, scalability,
equivalence class.

1. Introduction
Automated testing is a good way to cut down time and cost
of software development. It is seen that for large software
projects 40% to 70% of development time is spent on
testing. Therefore automation is very much necessary. Test
automation is a process of writing computer programs that

can generate test cases, or else test cases need to be
generated manually. Automated testing save time, money
and increase test coverage. Software testing tools and
technique usually lack in portability, reliability,
applicability, and scalability. Till today, there are four
approaches of automatic test data generation. They are
Random [18, 19, 14], Goal oriented, Intelligent approach,
and Path oriented [8, 16, 9]. Random testing is quick and
simple but not reliable. Goal oriented approach do not
require path selection step but there is difficulty in selecting
goal and adequate data. Intelligent approach might face the
problems of high computation. The reason behind
popularity of path oriented testing is its strongest path
coverage criteria. Main problem of path oriented test data
generation is infeasible path and complexity of data types
[1]. Path oriented testing can be implemented by symbolic
execution [20], actual value [16], and combined method
[12, 21, 11]. Conventional method of test data generation
using symbolic execution collect the path predicate and
then solve it with a constraint solver[17]. There are many
issues of symbolic execution. Some of them are unsolvable
constraint, aliasing, solving for infinite loops, and size of
symbolic expression etc. [9]. We cannot generate test data
when constraints are not solvable. Another major problem
of symbolic execution is detection of path feasibility.
There are programs where more than 50% of paths are
infeasible.[9]. Avoidance of infeasible path can expedite
test data generation process significantly. Xio [5] proposes
a constraint prioritization method to generate test data using
data sampling score. The method solves prioritized
constraints to generate test data for longest feasible path.
The method considers longest feasible path i.e. it does not
consider any unsolvable constraints as the constraints are
collected based on some inputs. But it cannot give the
guarantee of better or full coverage. Xio method had
chosen the orthogonal data selection method for the input
test data. Orthogonal data selection is to select data at the

350

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

opposite ends of the range of values [5]. The method
overcomes the situation of infeasible path which is one
major problem of automated software testing. It gives us
guarantee for only one test data as any data satisfies either
of the complementary constraints. The major problem of
the conventional method of symbolic execution is
constraint solver. It removes the difficulties of conventional
method of symbolic execution using prioritized constraint
instead of using constraint solver. It provides a solution for
infeasible path problem but the method is weak in terms of
code coverage. The orthogonal selection have some
drawbacks. The orthogonal test data selection will not be
applicable for those sample programs having single input
variable constraint. The path covered by the test data
generated by this method covers only one path or a few
paths. We propose a method to improve the test coverage
and also to avoid constraint solving. The detection of path
feasibility [17] is also taken care. Our method is based on
the variables involved in the constraints. We are grouping
the constraints in such a way that the constraints belongs to
the same groups or equivalent class of variables are
solvable for all possibilities. That is unsolvable constraints
are not put to the same equivalence class of variables. For
each equivalent class we generate path based on individual
constraints or boundary value.
The paper is organized as follows: Section 2 presents a
survey of related works of test data generation methods.
Section 3 explains our approach with sample programs.
Section 4 explains our experimental results and advantages
of our approach of test data generation. Finally in Section
5 we conclude with some observation and future work to be
done in test data generation.

351

Ngo and Tan proposed an approach to detect infeasible
paths using actual value execution [15]. The method
combines empirical properties of infeasible paths with
dynamic information collected during test data generation
process. Antonia emphasizes on research for improvement
of scalability of test data generation algorithms [4].

3. Our Approach
3.1 Steps of Our Approach
To improve the coverage of the sample program which is
the major drawback in the method as suggested by [5], we
propose a method based on the variables involved in the
constraint. The flow graph of our method is shown in
figure 1.
Source Program
Constraint Collector
Constraints
Dependent Variable Collector
Dependent Variables
Variables Equivalence Classs Generator
Equivalence Class of Variables
Input Data Generator
Input Data
Path Table Algorithm
Path for Test Data

2. Survey of related works
The literature of test data generation methods says that the
main problem of symbolic execution [10, 9, 20] is
constraint solving [22]. Either constraint solving may take
more time or some constraints are not solvable. Test case
prioritization is used to improve the rate of fault detection
specially for regression testing [7, 13, 2]. In [5], constraint
prioritization technique with sampling scores method is
used to deal with problem of constraint solving. The steps
of the Xio methods are construction of control flow graph,
finding edge priority, finding complementary pairs, and
sample table and sample scores. But this method [5] works
only for specific programming constructs. In [19, 18]
random testing is cleverly implemented to generate test
data. In conventional testing we believe that number of test
case should be equal to cyclomatic complexity. McCABE
in [23] showed that when actual number of paths tested is
compared with cyclomatic complexity, several additional
paths are discovered that would normally be overlooked.

Equivalence Path Generator

Test Data
Fig. 1 Steps of our approach.

3.1.1 Constraint Finder
The constraints in the program are found out with the
help of this tool.

3.1.2 Dependent Variable Finder
The variables which are either same or dependent on each
other are found out with the help of this tool.

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

3.1.3 Equivalence Class of Variables
Initially the equivalence class is blank. The first constraint
is added to the equivalence class. Next the second
constraint is checked with the first constraint and if the
variable in the second constraint is either same or
dependent on the variable of the first constraint then the
second constraint is added to the same class or else the
second constraint is added to a new class. Similarly for all
the constraints the variables are checked with the variables
of the constraint already in the equivalence class, to find
out if they are either equal or dependent. Then they are
added to the same class on which the dependent/same
variable constraint is located or else they are added to a
new class.

3.1.4

352

control flow graph of sample program 2 and program 3
is shown in figure 5 and 3 respectively.

The variables involved in each of the constraint may
same/

1
a, b

w1! =5

Input Test Data Generator

2
c

3
d

The input test data is generated on the basis of the
equivalence class of variables. Here 3 cases may arise.
They are discussed below:CASE 1: NOT ALL BUT SOME VARIABLES
INVOLVED IN THE CONSTRAINT ARE SAME OR
DEPENDENT Some but not all variables involved in the
constraint are same or dependent on the variables involved
in other constraint. In this case we will at least get more
than one equivalence class of variables. As for example the
sample program1, the constraints in the sample program are
w1 == 5, w1 > 5, w1 + w2 >= 8, w1 + w2 + w3 >= 12.
Here the two constraint w1 == 5 and w1 > 5 involves the
same variable w1 and hence they are included in the same
equivalence class and the other two constraints are added in
a new class respectively. The control flow graph of sample
program 1 is shown in figure 2.

w1==5

w1<5

w1>5

4
e

5
g

w1+w2>=8
w1+w2<8

7
i

6
k

The equivalence class for this sample program 1 is shown
in table 1.
w1+w2+w3<12
Table 1: Equivalence class for sample program 1

Class

w1+w2+w3>=12

9
l

Constraint

1

w1 == 5 , w1 > 5

2
3

w1 + w2 >= 8
w1 + w2 + w3 >= 12

8
j

n>=30

The test data generated for various possibilities of sample
program 1 constraints are shown in table 2 and table 3
CASE 2: ALL VARIABLES INVOLVED IN THE
CONSTRAINT ARE SAME OR DEPENDENT The

10
m

n<30

11
n

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

353

Fig 2: Control flow graph of program 1

Table 2: possible combination of constraints

w1==5
TRUE
TRUE
TRUE
TRUE
FALSE
FALSE
FALSE
FALSE

w1+w2>=8
TRUE
TRUE
FALSE
FALSE
TRUE
TRUE
FALSE
FALSE

w1+w2+w3>=12
TRUE
FALSE
FALSE
TRUE
TRUE
FALSE
TRUE
FALSE

2
e
Marks<=100

3
f

Marks>100

dependent on each other. In this case only one class will
Marks>=50

be generated in the table of the equivalence class of
variables. For this condition the input test data is taken

Marks<50

by the boundary value analysis of each of the constraint
individually. For example the sample program 3. The

constraints in the sample program are marks > 100, marks
>= 50 and grade! = "”. Here the first two constraints
consist of the same variable marks and the variable grade
involved in the third constraint depends on the variable
marks. The equivalence class of variables for this sample
program is shown in table 4.
Thus the input test data will be taken by the boundary
analysis of the constraint marks > 100, marks >= 50 and
grade! = "” but the variable grade is the output hence the
input test is taken considering the boundary analysis of the
first two constraint.
CASE 3: INDIVIDUALLY THE VARIABLES INVOLVED
IN THE CONSTRAINT ARE NOT SAME OR DEPENDENT
BUT COMBINATION OF TWO OR MORE CONSTRAINT
MAY MAKE A VARIABLE INVOLVED IN A
CONSTRAINT DEPENDENT ON THE COMBINATION
Table 3: possible combination of constraints

w1 > 5
TRUE
TRUE
TRUE
TRUE
FALSE
FALSE
FALSE
FALSE

w1 + w2 >= 8
TRUE
TRUE
FALSE
FALSE
TRUE
TRUE
FALSE
FALSE

w1 + w2 w3 >=12
TRUE
FALSE
FALSE
TRUE
TRUE
FALSE
TRUE
FALSE

1
a,b,c,d

4
g,h

5
i,j
6
k

grade!=
grade=

7
l

8
m

Fig 3: Control flow graph of program 3

This case can be explained with the help of the sample
program 4.The control flow graph of sample program 4 is
shown in figure 4.
The constraints in the sample program are:- a > b; a > c; b
>c; a == b; b == c The constraint a > b and a == b
involves the same variable a & b and the constraint b > c
and b == c also involves the same variable b and c. But the
combination of the constraint a > b & a > c makes the
constraint b > c & b == c dependent on the combination.
Similarly But the combination of the constraint a > b & a
> c makes the constraint a > c dependent on the
combination and also the combination of the constraint b >
c & a > c makes the constraint a > b & a == b dependent
on the combination. Hence the input test data is taken by

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

solving the constraint combination as follows: - a > b & a
>c
a > b&b > c
a > c&b > c
a > c&b == c
a > c&a == b
a > b&b == c

354

5. else go to step 13
6. Path = Path + Current node
7. if Current node has only one child node then
8. Current node = Child node
9. Otherwise, if constraint at the node is true then
10. Current node = Left Child node
11. Else Current node = Right child node
12. go to step 3

13. Path = Path + End

b > c&a == b
Table 4: Equivalence class of sample program 3

Class
1

Constraint
Marks>100, marks >=50 and grade! = “ “

a
1

a>b
a<=b

c
3

b
2

3.3 Equivalence Path Generation Algorithm
1. For all path generated do the steps from 2 to 7
2. If Equivalence path table is empty then
3. Add the path to Equivalence path table
4. Otherwise, do the steps from 5 to 7
5. Compare the path with all paths in equivalence path
table.
6. As soon as a match is found simply discard the path.
7. If no match is found add the path to Equivalence path
table.

a>c
a<=c

e
5

1
a-e

d
4
b>c

b<=c

gb<=
7

2
f

f
6

x!=y

a==b

a!=b

h
8

l
11

b=c
b=c

b!=c

m
12

b! =c

j,k
10

i
9

x>y

2. Current node = start
3. If Current node!= End
4. go to step 6

5
J,k

x=y

6
l
7
m

Fig 4: Control flow graph of program 3

1. Path = NULL

x<y

4
h,i

n
13

3.2 Path Table Algorithm

3
g

Fig 5: Control flow graph of program 2

3.4 Input Test Data
The input test data is taken based on feasible individual
constraints or boundary value of the constraints variables.

4. Experimental Results

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

355

4.1 Result of Sample Program 1

Thus the final test data's are the data taken from each
equivalence class

The path table for sample program 1 is shown in table 5

4.4 Experimental Result of Sample Program 4

4.1. 1 Path Table and equivalence class

The path table of sample program 4 has 32 paths and by
forming equivalence class we get 11 unique feasible paths.

The equivalence class and path table for sample program 1
of control flow graph figure 1 is shown in table 6.
The unique feasible paths and test data are shown in table 6

4.2 Experimental Result of Sample Program 2
4.2.1 Path Table and equivalence class
Path table for sample program 2 of control flow graph
figure 5 is shown in table 7. Three different paths are
generated by our input algorithm. The unique feasible
paths and test data are shown in table 8
Table 5: Path Table for sample program 1

w1
5
5
5
5
4
4
4
4
6
6
6
6
4
4
4
4

w2
3
3
2
2
4
4
3
3
2
2
1
1
4
4
3
3

w3
4
3
6
3
4
3
6
4
4
3
5
4
4
3
6
4

Path covered
a,b,e,l,n
a,b,e,l,n
a,b,e,l,n
a,b,e,l,n
a,b,d,g,k,l,m,n
a,b,d,g,k,l,m,n
a,b,d,g,i,j,l,m,n
a,b,d,g,i,l,m,n
a,b,d,e,l,m,n
a,b,d,e,l,m,n
a,b,d,e,l,m,n
a,b,d,e,l,m,n
a,b,d,g,k,l,m,n
a,b,d,g,k,l,m,n
a,b,d,g,i,l,m,n
a,b,d,g,l,m,n

Table 6: Equivalence class and test data

Class
1
2
3
4
5

Path covered
a,b,c,d,e,l,n
a,b,c,d,g,k,l,m,n
a,b,d,g,i,j,l,m,n
a,b,d,g,i,l,n
a,b,d,e,l,m,n

value
w1=5, w2=3, w3=4
w1=4, w2=4, w3=4
w1=4, w2=3, w3=6
w1=4, w2=3, w3=4
w1=6, w2=2, w3=4

4.3 Experimental Result of Sample Pro-gram 3
4.3.1 Path Table and equivalence class
Path table for sample program of control flow graph figure
3 is shown in table 9. The unique feasible paths and test
data are shown in table 10

4.5 Discussions and Comparison
According to Ngo and Tan [15] the main cause of
infeasible program paths is the correlation between some
conditional statements along the path. Two conditional
statements are correlated if along some paths, the outcome
of the latter can be implied from the outcome of the earlier.
We compare our results for minimum number of paths
covered by our method with cyclomatic complexity and
number of infeasible paths generated for programs with the
infeasible path detection method proposed by [15].
Table 7: PATH Table for sample program 2

x
4
4
8
10
5
10

y
4
8
4
5
10
10

Path covered
a,b,c,d,e,f,m
a,b,c,d,e,f,g,h,i,l,f
a,b,c,d,e,f,g,j,k,l,f
a,b,c,d,e,f,g,h,i,l,f
a,b,c,d,e,f,g,j,k,l,f
a,b,c,d,e,f,m

Table 8: Equivalence class and test data

Class
1
2
3

Path covered
a,b,c,d,e,f,m
a,b,c,d,e,f,g,h,i,l,f
a,b,c,d,e,f,g,j,k,l,f

Value
x=4, y=4
x=8, y=4
x=4, y=8

For the sample program 1
Node1 and Node9 are empirically correlated because
(a) There exist a path from node1 to node9 for the
conditional statement w1 == 5 and also for the conditional
statement w1! = 5.
(b) node1 which has the statement n = 10 and w1 = = 5 and
the node9 has the statement n >= 30. The two nodes are not
transitively dependent.
(c) δ(node1) = δ(node9) because the conditional statement
w1 == 5 depends on the variable w1 and the conditional
statement n>= 30 in node9 depends on n and n depends on
w1.
Thus either true (node1) and true (node9) is feasible and
false (node1) and false (node9) is feasible, or true (node1)
and false (node9) is feasible and false (node1) and true
(node9) is feasible
Similarly,

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

node3 and node9 are empirically correlated.
node5 and node9 are empirically correlated
node7 and node9 are empirically correlated
The table 11 shows all the linearly independent paths along
with the constraint involved in the path
But according to the infeasibility condition the feasible
paths are:1) Class A or Class B
2) Class C or Class D
3) Class E or Class F
4) Class G or Class H
5) Class I or Class J

Table 9: PATH Table for sample program 3
99
100
101
49
50
51

Path Covered
a,b,c,d,e,f,i,j,l,m
100
a,b,c,d,e,f,i,j,k,l,m
a,b,c,d,e,k,m
a,b,c,d,e,f,g,h,k,l,m
a,b,c,d,e,f,i,j,l,m
a,b,c,d,e,f,i,j,k,l,m

a,b,c,d,e,f,i,j,k,l,m
a,b,c,d,e,k,m
a,b,c,d,e,f,g,h,k,l,
m

For the sample program 3 node3 and node6 are empirically
correlated. Thus either true(node3) and true(node6) is
feasible and false(node3) and false(node6) is feasible, or
true(node3) and false(node6) is feasible and false(node3)
and true(node6) is feasible.
Similarly, there will be three linearly independent feasible
path in the program and the number of equivalence classes
are also 3. Hence, our method covers all the linearly
independent feasible paths of the sample program 3. In
sample program 3 there are 50% infeasible paths.

For the sample program 4
There are 32 linearly independent paths. There are 21
infeasible paths. Hence the number of feasible paths are 11
and the number of equivalence classes of our implemented
method is also 11. Hence, our method covers all the
linearly independent feasible paths of the sample program
11. In
Table 11: Linearly independent path table for sample program 1
Class
Constraints
Path covered

Table 10: Equivalence class and test data
Class
Path covered
Value

1
2
3

and our approach has generated 3 test data. In sample
program 2 there are no infeasible path.

The cyclomatic complexity of the sample program 3 is 4,
and our approach has generated 3 test data.

Using [15] we find that in sample program 1 there are 5 inMarks

356

99
101
49

feasible paths. Again the number of equivalence class of
the sample program 1 is 5. Hence, our method covers all
the linearly independent feasible path of the sample
program 1.The cyclomatic complexity of the sample
program 1 is 6, and our approach has generated 5 test data.
For the sample program 2 there are no empirically
correlated as no pair of nodes satisfy the empirically
correlated condition. The table 12 shows all the linearly
independent paths along with the constraint involved in the
path.
From the table 12 it is seen that there are 3 linearly
independent feasible paths and our approach also generates
3 equivalence classes. Hence, our method covers all the
linearly independent feasible paths of the sample program
2. The cyclomatic complexity of the sample program 2 is 3,

A
B
C
D
E
F
G

H

I

J

w1==5 n>=30
w1==5 n<30
w1>5 n>=30
w1>5 n<30
w1! =5 w1<5
w1+w2>=8,
n>=30
w1! =5 w1<5
w1+w2>=8, n<30
w1! =5 w1<5
w1+w2<8,
w1+w2+w3>=12,
n>=30
w1+w2<8,
w1+w2+w3>=12,
n<30
w1! =5 w1<5
w1+w2<8,
w1+w2+w3<12,
n>=30
w1! =5 w1<5
w1+w2<8,
w1+w2+w3<12,
n<30

a,b,d,e,l,m,n
a,b,d,e,l,n
a,b,d,e,l,m,n
a,b,d,e,l,,n
a,b,d,g,k,l,m,n
a,b,d,g,k,l,,n
a,b,d,g,i,j,l,m,n

a,b,d,g,i,j,l,,n
a,b,d,g,i,l,m,n

a,b,d,g,i,l,n

Table 12: Linearly independent path table for sample program 2

Class
A

Condition

Path covered

x=y

a,b,c,d,e,f,m

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

B
C

x! =y x>y
x! =y x<y

a,b,c,d,e,f,g,h,i,l,f
a,b,c,d,e,f,g,j,k,l,f

sample program 4 there are 66% infeasible paths. The
cyclomatic complexity of the sample program 4 is 7, and
our approach has generated 11 test data.

4.5.1 Advantages of Our Approach
Our approach of dividing the input test data into the
equivalence classes gives data for all the linearly
independent feasible path. The time and memory
complexity is much lower than the [5] method as we have
generated the test data without considering the priority
table. Thus we have generated reliable test data at a lower
cost. The path table does not include the infeasible path and
so we have left the infeasible path at the beginning and
have not tried to find the test data from the beginning.

5. Conclusions and Future Work
The proposed method has generated test data almost for all
the feasible independent paths. As for example for the
sample program1, the proposed method has covered the
path involving the constraint w1==5 & n < 730, w1>5 &
n>=30 , w1+w2>=8 & n>=30, w1+w2+w3>=12 & n>=30
but could not provide test data covering the constraint
w1==5 & n>=30, w1>5 & n<30, w1+w2>=8 & n<30,
w1+w2+w3>=12 & n<30. But those path which have not
been covered by the proposed method are infeasible paths
if we go through the body of the program. Similarly, the
proposed method covers all the feasible paths of the other
sample programs also. For the sample program 3 we have
seen that according to Ngo and Tan [15] there are three
infeasible paths and the total number of linearly
independent path is 6, hence there are three feasible paths
and our method also generated three test data for three
independent paths. For those types of sample program
which do not have infeasible path the proposed method
covers all the linearly independent paths as the sample
program 2. Coverage is inversely proportional to the
number of infeasible paths. Thus the proposed method
generates all the feasible linearly independent paths of any
program and the presence of infeasible path does not create
any problem in generating the test data for testing a
program. Though the test data generated by the
implemented method is less than the cyclomatic complexity
for the sample program 1 and the sample program 3 but the
cyclomatic complexity includes both the feasible and
infeasible path. Again the cyclomatic complexity gives
only the value of minimum number of linearly independent

357

path. But our method generates test data for all the feasible
linearly independent path. Hence our method gives more
accurate result in compare to the cyclomatic complexity.
We describe an approach for test data generation with
lower computation cost. The main issue of test data
generation using this method is how to take input for
finding the paths. We tested our input test data algorithm
with 5 different types of programs. Our experimental
results shows that this method can generate reliable test
data at a lower cost but it is not optimum. The disadvantage
of our method is reliability of input while extracting the
paths. Since a program may have many numbers of
infeasible paths therefore we cannot determine whether
number of equivalence class cover minimum number of test
to be covered like cyclomatic complexity. Our algorithm
for solving path constraints is encouraging. Because the
number of equivalence class is less than equal to number of
paths. In future we will further research for finding
methods of input selection so that it covers every feasible
paths of our program. The method should be tested with
more examples for accuracy. The method should improve
the scalability by including more data types like dynamic data
structure and string.

References
[1] Shahid Mahmood,"A Systematic Review of
Automated Test Data Generation Techniques", School of
Engineering, Blekinge Institute of Technology Box 520
SE-372 25 Ronneby, Sweden, October 2007.
[2] David Godwin Jason Racicot Mechelle Gittens, Keri
Romanufa.. “All code coverage is not created equal” A
case study in prioritized code coverage." Technical report,
IBM Toronto Lab, 2006.
[3] J. Edvardsson,, “Survey on Automatic Test Data
Generation," In Proceedings of the Second Conference On
Computer
Science
and
Systems
Engineering
(CCSSE'99),Linkoping, pp. 21-28 10/1999.
[4] Antonia Bertolino, “Software testing research: Achivements, challenges, dreams," In Future of software
Engineering, 2007.
[5] J. Jenny Li Xio Ma and David m. Weiss., “Pri- oritized
constraints with data sampling scores for automatic test
data generation." In Eight ACIS In- ternational Confe ence
on Software Engineering, articial Intelligence, Network,
2007.
[6] Jon Edvardsson, “A survey on automatic test data generation," In In Proceedings of the Second Con- ference on
Computer Science and Engineering in Linkoping, pages
21-28, October 1999.

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

[7] Chengyum Chu Mary Jean Harrold Gregg Rother- mel,
Roland H. Untech., “Test case prioritization: An empiri cal
study," In Proceedings of the International Conference on
Software Manitenance, Ox- ford, U. K., September 1999.
[8] Tsong Yueh Chen, Fei-Ching Kuo and Zhi Quan Zhou

“Teaching Automated test Case Generation," In In Proceedings of the Fifth International Con ference on Quality
Software(QSIC'05, IEEE, 2005.
[9] Chen Xu Jian Zhang and Xiaoliang Wang., “Pathented test data generation using symbolic execution
constraint solving techniques," In Proceedings of
Interna- tional Conference on Software Engineering
Formal Meth- ods, 2004.

oriand
the
and

[10] Jian Zhang.”Symbolic Exection of Program Paths
Involving Pointer and Stucture Variables" Proceedings of
the Fourth International Conference on Quality
Software(QSIC'04) IEEE ,2004.
[11] H.Tahbildar and B. Kalita. “Automated test data generation for programs having array of variable length and loops
with variable number of iteration." In Proceedings of International
MultiConference of Engineers and Computer Scientists 2010
VOL I, IMECS 2010, March 17 - 19, 2010, Hong Kong.
[12] Bruno Marre Nicky Williams, Patricia Mouy. “On-the fly
generation of k-path tests for c functions. " In Proceedings of the
19th International Conference on Automated Software
Engineering, 2004.
[13] J. Jenny Li. "Prioritize code for testing to improve code
coverage of complex software." ,2005.
[14] Arnaud Gotlieb and Matthieu Petit “Path-oriented ran-dom
testing" Proceeding of the first international Work shop on
Random Testing(RT06),July 20,Portland, ME, USA 2006.
[15] Minh Ngoc Ngo *, Hee Beng Kuan Tan, “Heuristicsbased infeasible path detection for dynamic test data
generation," International Journal Information and
Software Technology , ELSEVIER, Page 641655, 2008.
[16] BOGDAN KOREL.,

Automated software test data

generation," IEEE Trans. on Software Engineering,
(9036267), March 1990.

[17] J. Zhang, Xiaoxu Wang., “A Constraint Solver and its
Application to Path Feasibility Analysis," International
Journal of Software Engineering and Knowledge
Engineering, 11(2): pp. 139-156, 2001.

358

[18] Koushik Sen.,Darko Marinov, Gul Agha, “CUTE: A
Concolic Unit Testing Engine for C" ACM , pp. 5-9, 09
2005.
[19] Patrice Godefroid, Nils Klarlund and Koushik Sen.,
“DART: Directed Automated Random Testing," PLDI05,
June 12-15 2005.
[20] Lori A. Clarke. , “A system to generate test data and
symbolically execute programs.," IEEE Trans. On Software
Engineering, SE-2(3), Septem-ber 1976.
[21] Bruno Marre Nicky Williams, Patricia Mouy, and
Murie Roger. “Pathcrawler: Automatic generation of Path
tests by combining static and dynamic analysis." 2005.
[22] Richard A. DeMillo “Constraint-Based Automatic
Test Data Generation"
IEEE Trans. on Software
Engineering, 17(9):900{910, September, 1991.
[23] THOMAS J. McCABE “A Complexity measure"
IEEE Trans. on Software Engineering, VOL. SE-2, No-4,
DECEMBER 1976.
Annexure I
Sample Program - 1
public void monitor (int w1, int w2, int w2)
{
a. int n=10;
b. if(w1==5)
c. n=n*2;
d. elseif(w1>5)
e. n=n*3;
f. else{
g. if(w1+w2>=8)
h. n=n*4;
i. elseif(w1+w2+w3>=12)
j. n=n*5;
k.}
l. if(n>=30)
m. raiseAlarm;
n.}
}
Sample Program – 2
{
void main()
a. int m, n, x, gcd;
b. scanf("%d”, &m);
c.scanf(“%d”,&n);
d.x=m;
e. y=n;

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

f. while(x! =y){
g. if(x>y)
h. {
i. x=x-y;
j. else
k. y=y-x;
l.}

m. gcd=x;
}
Sample Program-3
{
void main()
a.int marks;
b.char grade[4];
c.scanf("%d”, &marks);
d.grad=” ”;
e.if(marks<=100)
f.if(marks<50)
g.{
h.grade="Fail";
i.else
j. grade="Pass";
k. if (grade!="")
l.UPDATE THE STUDENT WITH STUDENT ID
RECORD;
m.printf("%s”, grade);
}
Sample Program-4
int tritype (int a, int b, int c)
{
a. if (a > b)
b. swap (a , b);
c. if (a > c)
d. swap (a , c);
e. if (b > c)
f. swap (b , c);
g. if (a = = b)
h. if (b = = c)
i. type = EQUILATERAL;
j. else
k. type = ISOSCELES;
l. else if (b = = c)
m. type = ISOSCELES;
n. return type;
}
H. Tahbildar Received his B. E. degree in Computer science and
Engineering from Jorhat Engineering College, Dibrugarh university
in 1993 and M. Tech degree in Computer and Information
Technology from Indian Institute of Technology, Kharagpur in 2000.
Presently he is doing Phd and his current research interest is
Automated Software Test data generation, Program Analysis. He is

359

working as HOD, Computer Engineering Department, Assam Engineering
Institute , Guwahati, INDIA

B. Kalita: Ph.d degree awarded in 2003 in Graph Theory. At present
holding the post of Associate Professor, Deptt of Computer
Application, Twenty research papers have got published in national
and international level related with graph theory, Application graph
theory in VLSI design, software testing and theoretical computer
science. Field of interest: Graph theory, VLSI Design, Automata
theory,, network theory test data generation etc. Associated with the
professional bodies, such as Life member of Indian Science
Congress association, Life member of Assam Science Society, Life
member of Assam Academy of Mathematics, Life member of
Shrimanta Sankar deva sangha ( a cultural and religious society).
Delivered lecture and invited lectures fourteen times in national and
international level.

.

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

360

Quantum Multiplexer Designing and Optimization
applying Genetic Algorithm
Debarka Mukhopadhyay1, Amalendu Si2
Dept of CSE ,Bengal Institute of Technology and Management, Santiniketan, West Bengal, India

1

2

Dept of IT, Mallabhum Institute of Technology, Bankura, West Bengal, India

Abstract:
This paper shows how to design efficient quantum
multiplexer circuit borrowed from classical computer design.
The design will show that it is composed of some Toffole gates
or C2NOT gate and some two input CNOT gates. Every
C2NOT gate is synthesized and optimized by applying the
genetic algorithm to get the best possible combination for the
design of these gate circuits.

gate. It is a three input gate. The first two inputs are the
controlled inputs and the third one is the target input.
This gate has a 3-bit input and output. If the first two
bits are set, it flips the third bit. Following is a table over
the input and output bits:

Keywords:
Qubit, Toffole gate, Quantum Multiplexer Circuit, Circuit
Synthesis, Quantum Half adder Circuit,Genetic Algorithm.

1. INTRODUCTION

Input 1

Input
2

Input
3

Output
1

Output
2

Output 3

Introduction:
As the ever-shrinking transistor
approaches atomic proportions, Moore’s law must
confront the small-scale granularity of the world: we
can’t build wires thinner than atoms. Theoretically,
quantum computers could outperform their classical
counterparts when solving certain discrete problems [15,
8].

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
1
0

The logical properties of qubits also differ significantly
from those of classical bits[2]. Bits and their
manipulation can be described using two constants (0
and 1) and the tools of Boolean algebra. Qubits [13], on
the other hand, must be discussed in terms of vectors,
matrices, and other linear algebraic constructions.
Quantum logic circuits [1,4,5,6,14], from a high level
perspective, exhibit many similarities with their classical
counterparts. They consist of quantum gates, connected
by quantum wires which carry quantum bits. Moreover,
logic synthesis for quantum circuits is as important as
the classical case.
In this work, we focus on identifying useful quantum
circuit blocks. we analyze quantum conditions and
designing quantum multiplexor that engage CNOT[3]
and Toffole gates. Here we synthesize and optimize each
and every Toffole gate by applying genetic algorithm [7,
10, 11, 12].

2. Controlled Quantum Gate Operations:
Here we have engaged two controlled quantum gates i.e.
C2NOT and CNOT. C2NOT is also known as Toffole

Fig1: C2NOT gate and i/o table

3. Quantum Half Adder:
In order to construct an efficient Quantum multiplexer
circuit we’ll need the quantum equivalent to the classical
“half adder”. This is a 2-input, 2-output device with the
following truth table:
Classical Half Adder.

Input
A
0
0
1
1

Output
B
0
1
0
1

Sum
0
1
1
0

Cout
0
0
0
1

The sum output is the XOR of the two inputs, and the
carry output is the AND of the same two inputs. The
quantum equivalent is a 3-input, 3-output device with
the following truth table and equations:

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

When S30=1 and S31=1, ket I3 will be selected, this input
will move to the third output line of the fourth QHA and
finally will move to the final QMUL output.

Quantum Half Adder
C
0
0
0
0
1
1
1
1

Input
B
0
0
1
1
0
0
1
1

A
0
1
0
1
0
1
0
1

S = XOR (A, B)
K = XOR(C, AND (A, B))

361

K
0
0
0
1
1
1
1
0

Output
S
0
1
1
0
0
1
1
0

A
0
1
0
1
0
1
0
1

(EQ 1)
(EQ 2)

S is the sum output of the quantum half adder, and K is
the carry out xored with the ancillary input C. This can
be implemented with one CNOT and one Toffole gates
as follows:

V

V

V

Fig 2: Fourth QHA section and its equivalent circuit

5. QUANTUM CIRCUIT SYNTHESIS
The C2NOT Gate or Toffole Gate is a well known three
input quantum gate circuit .This circuit is made up of
three two input fundamental quantum logic Gate, that
are CNOT, control square root of NOT Gate and
conjugate control square root of NOT Gate. But if there
is any overlap in this circuit, then using the SWAP gate
we simplify the overlap. So this circuit is made up of
four fundamental quantum gates.

Fig 2:
4.
Proposed Design of 4*1 Quantum
multiplexer circuit:
Our design as in fig 3 below engages the quantum
circuit like quantum half adder and two controlled not
gate like C2NOT and CNOT gate. The half adder [16]
output is giving 3 output lines. The output line A is
shorted from the input. The 2nd output line, S is given by
the expression S = XOR (A, B) and third output line, K
is given by the expression K = XOR(C, AND (A, B)).
In a classical multiplexer circuit, depending on the
selection line, only one input will move to the output.
Based on this classical logic we have designed the
quantum multiplexer circuit.
The first two inputs of every half adder should be treated
as the two selection lines and the third line is one out of
four inputs of 4 * 1 multiplexer.
When S00=0 and S01=0, ket I0 will be selected, this input
will move to the third output line of the first QHA and
finally will move to the final QMUL output.
When S10=0 and S11=1, ket I1 will be selected, this input
will move to the third output line of the second QHA
and finally will move to the final QMUL output.
When S20=1 and S21=0, ket I2 will be selected, this input
will move to the third output line of the third QHA and
finally will move to the final QMUL output.

V

V

V
+

After modification of the previous circuit, we are getting
the form below,

V

V

V

Decomposing the above circuit into seven stages, each
stage is made up of a two input fundamental gate.

V

V

V

S0
S1
S2
S3
S4
S5
S6
In the above decomposition, each circuit stage (actually
four types stage present) has a fundamental gate that is
two inputs but the circuit is of three inputs, then other
single input is replaced by using a unitary identity gate.

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

I

I

V

S1

S2

In case of square root of not gate and conjugate control
square root of not gate, in their gate matrix, we are using
a 9 in place of i, which is a complex number. Whenever
a multiplication operation between two 9 happens, we
will just replace it by -1.

I

V

I

S0

I

V

I

S3

S4

S5

362

I
S6

In the above circuit there are four different stages.
These four different stages are,
V

I

10000000
01000000
00100000
00090000
00001000
00000100
00000010
00000009

1000
0100
0010
0009

10
01

v
S0 & S2

At this stage a square root of not gate is operated with a
unitary identity gate and produces the state matrix.

1000
0010
0100
0001

10
01

I

10000000
01000000
00001000
00000100
00100000
00010000
00000010
00000001

S1 & S3

At this stage a swap gate is operated with a unitary
identity gate and produces the state matrix.

1000
0100
00 01
00 10

10
0

1

I

10000000
01000000
00100000
00010000
00000010
00000001
00001000
00000100

S4 & S6

At those particular stages CNOT is operated with
unitary identity gate and produces the state matrix.
I

10
0

1

1000
0100
0010
0 0 0-9

10000000
01000000
00100000
000-90000
00001000
00000100
00000010
0000000-9

S5

Here conjugate control square root of not gate is
operated with unitary identity gate and produces the
state matrix.

10000000
01000000
00100000
00090000
00001000
00000100
00000010
00000009

10000000
01000000
00001000
00000100
00100000
00010000
00000010

V+

V

10000000
01000000
00100000
00090000
00001000
00000100
00000010

10000000
01000000
00001000
00000100
00100000
00010000

10000000
01000000
00100000
00010000
00000010
00000001

10000000
01000000
00100000
000-90000
00001000
00000100
00000010

10000000
01000000
00100000
00010000
00000010
00000001
00001000

The three input fundamental quantum Gate will be
constructed by the two input fundamental quantum Gate.
Every two input quantum gate is transformed into three
input dummy quantum gate, using kroneckar product[9]
with 2*2 unit matrix. This dummy three input gate is
called stage. A number of stages are cascading one by
one and creating a circuit that performs an operation,
that is same operation of a three input quantum
fundamental gate. When the stages are in cascade, there
becomes a particular sequence, otherwise the required
gate matrix are not same.
In three input gate generation, using two input gate, we
generate all possible three input dummy gates of two
input gates using kroneckar product. Each three input
dummy gate assigns an index. Using this index we can
access a particular matrix. The number of stage, required
to construct a gate, was previously defined.
We are denoting those state matrixes by the index 0 to 6.
Whenever we are generating a chromosome, we are
using these seven numbers in different combinations and
multiplying these state matrices according to this
combination.

Input/output relation using the state matrix
1000
0100
00 01
00 10

10
0 1

10000000
01000000
00100000
00010000
00000010
00000001
00001000
00000100

I

The figure above shows a state of a quantum
circuit. The input/output mapping can be done

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

vii. Determine fitness of new generation
chromosome.

using the state matrix. Here a CNOT gate is operated
with unitary identity matrix and generate a state matrix.

Input

State

Output

1

1

0

1

0

0

5.

7.1 Creating a set of random chromosome like this
(taking here seven chromosomes)

Here we are getting the output from this particular state
input. It can be shown by operating the state matrix with
the input.The equivalent decimal value of the input is
represented by placing a 1 at that particular postion in
the input matrix. The position of 1 in the output matrix
below, represents the equivalent decimal value of the
output of the state.

*

0
0
0
0
1
0
0
0

=

0
0
0
0
0
0
1
0

2.
3.
4.

S3

S5

S6

S1

S0

S4

chromosome [1] S4

S6

S1

S5

S2

S0

S3

chromosome [2] S3

S5

S1

S0

S4

S2

S6

chromosome [3] S6

S0

S3

S5

S1

S2

S4

chromosome [4] S4

S0

S2

S6

S1

S5

S3

chromosome [5] S3

S4

S6

S1

S0

S5

S2

S3

S4

S5

S0

S1

S6

7.2 Now have to calculate the fitness value of each
chromosome.
Here, in our problem we shall calculate the fitness value
by the following procedure-

Read

the pre defined
length
chromosome(n)
Randomly initialize population
Determine fitness of population
repeat

of

ii. Generate crossover point within a
range varying with length of
chromosome.
operation

on

iv. Generate mutation points within a
range, varying with length of
chromosome.
v. Perform mutation operation
vi. New generation created

(a) Calculate the product of all the seven gene
matrices.
(b) Now the resultant state matrix of chromosome
is to be compared element by element with the
state matrix of required gate.
(c) Set a variable “count”. Now if any element of
the resultant state matrix of a randomly taken
chromosome matches with the corresponding
element of the state matrix of required gate,
then increase the variable count by 1.

i. select parents from population

iii. Perform crossover
parents.

chromosome [0] S2

chromosome [6] S2

6. GENETIC ALGORITHM FOR
GETTING FITTEST QUANTUM
CIRCUIT:
1.

Until best individual is good enough.

7 . DESCRIPTION OF GENETIC
ALGORITHM WITH EXAMPLE

I

10000000
01000000
00100000
00010000
00000010
00000001
00001000
00000100

363

Now fitness of a chromosome = count/ number of
elements in a state matrix.

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

Example:
The fitness value of the of the chromosome
[0] can be calculated as follows

364

the number of gene present in the chromosome. Now
the seven chromosomes after mutation become,
The randomly generated seven pair of mutation points
are

1
0
0
0
0
0
0
0

0
1
0
0
0
0
0
0

0
0
1
0
0
0
0
0

0
0
0
0
0
1
0
0

0
0
0
1
0
0
0
0

0
0
0
0
1
0
0
0

0
0
0
0
0
0
0
1

0
0
0
0
0
0
1
0

1
0
0
0
0
0
0
0

Resultant Matrix

0
1
0
0
0
0
0
0

0
0
1
0
0
0
0
0

0
0
0
1
0
0
0
0

0
0
0
0
1
0
0
0

0
0
0
0
0
1
0
0

0
0
0
0
0
0
0
1

0
0
0
0
0
0
1
0

(3 5) (2 6) (2 4) (3 5) (2 4) (0 5) (1 5)
chromosome [0] S6

S5

S0

S1 S4

S3

S2

chromosome [1] S6 S0

S2

S5

S1

S3

S4

chromosome [2] S2

S4

S0

S1

S6

S5

S3

chromosome [3] S2

S1

S5

S4

S3

S0

S6

chromosome [4] S1

S3

S5

S2

S6

S0

S4

chromosome [5] S1

S6

S0

S5

S2

S4

S3

chromosome [6] S1

S0

S3

S4

S5

Required Matrix

Fitness value of chromosome [0]= 59/64=. 9218
7.3. Solution
If fitness value of any of the seven chromosomes attains
a value which is equal to or greater than a certain value
that is set by the user previously, the program ends and
we get the required chromosome otherwise we have to
proceed to the next stage.
7.4. Crossover and mutation for new generation
Crossover: We have to randomly generate a
crossover point for each chromosome, (varying with the
length of chromosome) in which the crossover should
take place and the value of the crossover points should
be less than the number of gene present in that
chromosome. Now the seven chromosomes after
crossover become,
The randomly generated seven crossover points are,
2, 0, 3, 4, 5, 2, 4
chromosome [0] S2

S3

S4

S0

S1

S6

S5

chromosome [1] S4

S3

S0

S2

S5

S1

S6

chromosome [2] S3

S5

S1

S6

S2

S4

S0

chromosome [3] S6

S0

S3

S5

S4

S2

S1

chromosome [4] S4

S0

S2

S6

S1

S3

S5

chromosome [5] S3

S4

S2

S5

S0

S1

S6

chromosome [6] S2

S3

S4

S5

S6

S1

S0

Mutation: We have to randomly generate two mutation
points for each chromosome (varying with the length of
chromosome) in which the mutation should take place
and one value of the mutation point should be less than
the other point and the second point must be less than

S6 S2

We have to calculate the fitness values of the new
generation chromosomes which are generated after
crossover and mutation operation. If fitness value of any
of the seven chromosomes attains a value, which is
equal to or greater than a certain value, that is previously
set, then the program ends and we get the required
chromosome otherwise we have to proceed again to the
next stage.
If no new generation is generated after crossover and
mutation, the program terminates.
8.

CONCLUSION

Our work designing the model and optimizing a
Quantum circuit, which accepts the entry of any size of
3 input quantum circuit. The GA also incorporates the
means to process a given quantum circuit. Our future
work will incorporate the designing of register and CPU
and optimizing different section of those circuit by
applying GA.

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

365

Fig 3. (Proposed design of Quantum Multiplexer circuit)

|S0>

|K0>

|S1>

|K1>

|I0>

V

V

V

|K0>
|K1>

|I1>

V

V

V

|K0>
|K1>
|I2>

V

V

V

|K0>

|K1>

|I3>

|0>

V

V

V

O/p

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

9.

REFERENCES

[1] P.W. Shor, “Quantum Computing”, Documenta
Mathematica - Extra Volume ICM, Start Page 1 (1998).
[2] H.Buhrman, R. Cleve and A. Wigderson. “Quantum vs.
Classical Communication and Computation,” Proceedings
of the 30th Annual ACM Symposium on the Theory of
Computation, ACM Press, El Paso, Start page. 63 (1998).
[3] R.P. Feynman, “Quantum Mechanical Computers” ,
Foundations of Physics , Vol.16, Start Page.507 (1986).
[4] H.K.Lo, and S. Popescu and T. Spiller, “Introduction to
Quantum Computation and Information”, World Scientific,
Singapore (1999).
[5] J. Preskil, “Quantum Computing: Pro and Con”, Proc.
Royal Society, A454, London, Start Page 469 (1998).
[6] M.A.Nielsen, and I.L. Chuang, Quantum Computation and
Quantum Information, Cambridge University Press (2002).
[7] D.G.Cory, et al., “Quantum Simulations on a Quantum
Computer”, Physics Review Letters, start Page 5381 (1999).
[8] Ashok Muthukrishnan, “Classical and Quantum Logic
Gates: An Introduction to Quantum Computing” Quantum
Information Seminar, Friday, Sep. 3, 1999, Rochester Center
for Quantum Information (RCQI)
[9] Alexander Graham. “Kronecker Products and Matrix
Calculus With Applications”. Halsted Press,John Wiley and
Sons, NY, 1981.

[10] Genetic Algorithms - Principles and Perspectives : A
Guide to GA Theory By: Reeves, Colin R.; University of
Birmingham), Jonathan Rowe (School of Computer
Science; CoventryUniversity), Colin R. Reeves (School of
Math and IS Published By: Springer
[11] Genetic Algorithms in Search, Optimization,
andMachine Learning by David E. Goldberg
ISBN-13: 9780201157673,Publisher: Addison-Wesley
[12] Practical Genetic Algorithms by Randy L. Haupt, Sue
Ellen Haupt, ISBN-13: 9780471455653, Wiley, John &
Sons.
[13] L. K. Grover. Quantum mechanics helps with searching
for a needle in a haystack. Phys. Rev. Let.,79:325, 1997.
[14] P. Shor. Polynomial-time algorithms for prime
factorization and discrete logarithm on a quantum computer.
SIAM Journal on Computing, 26(5):1484–1509, 1997.
[15] C. H. Bennett and G. Brassard. Quantum cryptography:
Public-key distribution and coin tossing. In Proceedings of
IEEE International Conference on Computers, Systems, and
Signal Processing, page 175179, Bangalore, India, 1984. IEEE
Press.

366

[16] Phil Gossett, “Quantum Carry-Save Arithmetic” Silicon
Graphics, Inc. 2011 N. Shoreline Blvd. Mountain View, CA
94043-1389, August 29, 1998

Mr. Debarka Mukhopadhyay passed graduation in Electronics
and Telecommunication Engineering (AMIETE) from IETE(New
Delhi), India in 2003 and M.Tech in Computer Science and
Engineering from Kalyani Government engineering College,
West Bengal, India in 2007.His interest includes Quantum
computing, VLSI,Image processing etc. He has published many
papers in national and international Journal and Conferences.
He is a life member of IETE.
Mr. Amalendu Si passed graduation in Information Technology
(B. Tech) BUIE, West Bengal,India in 2005 and M.Tech in
Computer Science and Engineering from Kalyani Government
engineering College, West Bengal, India in 2007. .His interest
includes Quantum computing, High performance computing,soft
computing. He has published many papers in national and
international Journal and Conferences.

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

367

Hybrid Face Detection in Color Images
Mehrnaz Niazi1, Shahram Jafari2
School of Electrical and Computer Science, Shiraz University, Iran

Abstract
Face detection, plays an important role in many
applications such as face recognition, face tracking,
human computer interface and video surveillance. In this
paper we propose a Hybrid face detection algorithm that
could detect faces in color images with different complex
backgrounds and lights. Our method, first detect face
regions using HAAR classifier over an entire image and
generate candidates for next classifier. HAAR classifier,
usually detect all the faces in image but also miss
classified some none-face object as face. So we first use
HAAR classifier to detect all possible regions for face
candidate and after that we increase accuracy by using
simple feature based method named HSV color model to
eliminate miss classified none-faces.

Keywords: Face detection, video surveillance, face
recognition and face tracking.

1. Introduction
Image is one of the main parts of human life and a
single image is more understandable than
thousands of words. So, human-vision is the most
important sense. As we know human brain can
detect and recognize different objects with the least
known character of it. Face detection is a subbranch of object detection. The human face is a
dynamic object and has a high degree of variability
in its appearance, which makes face detection a
difficult problem in computer vision [3]. We can
divide face processing into face detection, face
recognition and face tracking. Face recognition and
face tracking have been used in many applications
such as wrongdoer recognition, security systems,
controlling systems [4]. We should consider that
accuracy of these processing is directly related to
accuracy of face detection because face detection is
the first stage of these processing. This makes face
detection an important part in image processing.
Face detection should pass a long way, this caused
by differences, variety and complexity of faces.
Although many different algorithms exist to
perform face detection, each has its own strengths
and weaknesses [3]. Some use flesh tones, some
use contours, and other are even more complex
involving templates, neural networks, or filters.

These algorithms suffer from the same problem;
they are computationally expensive and do not
have proper accuracy[4]. So in this paper we
proposed a hybrid method to increase the accuracy
and omit miss classified none-faces. We use Viola
and Jones algorithm, called HAAR classifiers, to
rapidly detect any object, including human faces,
using AdaBoost classifier that are based on HAARlike features and not pixels [9]. After that we use a
color base model named HSV method to omit
none-faces objects that previous classifier detect
them as face and increase accuracy of detection. In
section 1 we introduce face detection importance
and its applications. And talk about the process of
our hybrid method. In section 2 we present HAAR
feature and in continue HAAR classifier to detect
human faces. In section 3 we review skin color
method to detect face region in image [9]. And
compare different color model with each other [1].
In section 4 we proposed our hybrid method and it
details. In section 5 we talk about our conclusions
and in last section we show the experimental
results.

2. HAAR Classifier
The main part of HAAR classifiers is the HAARlike features. These features use change in contrast
values between adjacent rectangular groups of
pixels instead of pixels intensity values. HAAR
features can easily be scaled by increasing or
decreasing the size of the pixel group being
examined. This allows features to be used to detect
sizes. Notice Figure 1.

Figure 1: part (a) shows edge features, part (b) shows line
features and part (c) shows center features

  
 

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

2.1. Train classifiers
In order to detect human face features we should
first train the classifiers. So we implement
AdaBoost and HAAR feature algorithm. To train
classifiers we use to set of images, one set contain
images that doesn't have the object in this case face.
These images named as negative images. The other
set contain images that have one or more instance
of the object in different size and scale. These
images named as positive images. We use 5000
negative images that consists objects such as
mountain, natural scene. And we use Standards and
Technology’s
(NIST)
Facial
Recognition
Technology (FERET) database that contain 10000
positive images with more than 1000 faces under
different light condition. In order to have a robust
detection we need images with different people in
race, age and gender. HAAR classifier has a
negative point. It has a difficulty, that although it
rarely misses the faces but this classifier detects
other object as faces. So in our proposed method
we try to omit negative point of this method.

368

with brown and black skin. As shown in Figure 2
skin-color can be represented by a Gaussian model.
We can estimate Gaussian model with mean vector
and covariance matrix as bellow:
Mean: m = E {x} where x = (r g) T (3)
Covariance: C = E {(x – m) (x – m) T}

(4)

A Gaussian model, for the skin is given by formula:
p(x) = exp [ -0.5 ( x – m)TC-1(x-m)]

(5)

Where x = (r g), m is mean vector, C is covariance
matrix.

3. Skin Color Methods
In this part we review two color base models one is
RGB model and the other one is HSV model. We
used following color models for different
representation of a pixel. By comparing these
methods we come into result that HSV method has
a better performance than RGB method. So we
implement HSV program as the second part of our
paper. By using this method we can increase the
accuracy of previous classifier.

Figure 2: Shows color distribution for skin-color of
different people.
The probability of each pixel is calculated by
formula (5). The values of probability can be easily
transformed into grayscale values. So skin regions
are brighter than the other parts of image. Figure 3
shows the result.

3.1. RGB model
As we said before face detection plays an important
role in many applications and a lot of researches
have been done on face detection. The well-known
method is using a skin-color model that is modelled
by a single Gaussian model. And skin-color of
different people can be represented by a Gaussian
model. So the main part of this project was to find
an appropriate skin-color model. The skin-color
model should be adaptable for any skin color with
different lighting conditions. The common RGB
representation of color images is not suitable for
lightening images so we use normalization:
r = R/(R+G+B)
(1)
g = G/(R+G+B) (2)
The normalized blue color is calculated as:
r + b + g = 1.
Skin colors of different people appear to vary over
a wide range, they differ more in brightness than in
color [1]. So, the colors of human skins fit in a
small color space. In order to estimate the skin
color model we collected two sets of 15 color
images with human faces. First set are images of
people with white skin, second one is set of people

Figure 3: Shows the values of probability and it
transformed into grayscale values.
The second step is creating a skin-segmented image
by using a threshold value of probability. If the
probability of a pixel in skin image is more or equal
to estimated threshold value, we suppose that this
pixel represents skin color. Otherwise, we suppose
that this pixel represents none-skin color. The skin
color pixels are white and the other ones are black
in skin-segmented image. Estimating a threshold
value is very important for next steps of image

  
 

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

369

processing. We can use fixed value for every image
or adaptive threshold. As it is obvious accessing a
true value for face detection is difficult so in
practise it is not a good way. So we use another
color representation. Figure 4 shows the binary
image by using a threshold.

Figure 5: Shows the color model in HSV color
space.

4. Hybrid Face Detection Method
Figure 4: Shows binary image by using a threshold
on grayscale image.

3.2. HSV model
First described by Ally Ray Smith in 1978, HSV
method seeks to depict relationships between
colors, and improve upon the RGB color model.
Standing for hue, saturation, and value, HSV
depicts three-dimensional color. If you think about
HSV as a wheel of cheese, the center axis goes
from white at the top to black at the bottom, with
other neutral colors in between. The angle from the
axis depicts the hue, the distance from the axis
depicts saturation, and the distance along the axis
depicts value. H varies from 0 to 1 on a circular
scale and the colors represented by H=0 and H=1
are the same. S varies from 0 to 1, 1 representing
100 percent purity of the color. The Saturation
shows how much the color is polluted with white
color. You can see the HSV method dimensions in
figure4 and skin color model in HSV color space in
figure 5. According to previous papers this method
has better performance than other related color
models. So we use this method as our second
classifier.

Figure 5: Shows the HSV method dimensions that
standing for hue, saturation, and value.

In this part we propose a hybrid method that
contains two main classifiers. We first use an
AdaBoost classifier with HAAR features. Using
HAAR feature have a benefit that it can use for
images with different scaling and resizing because
we work on contrast in adjacent rectangular instead
of working on each pixel separately. In the second
part we use a color base method to correct previous
detections. In first part we use HAAR classifier and
detect primary face regions. HAAR classifier
usually detects all faces and also some none-face
objects as face. Using HAAR classifier as our first
classifier and using HSV method as our second
classifier for face detection causes a better
performance and it detects all the faces and omits
none-faces objects. So we first detect all possible
area for face regions and send face candidate to
next classifier to omit mistakes and increase the
accuracy of the detection.

Experimental results
We have evaluated on several face image
databases, containing different photo collection.
Face database named CMU usually contain
grayscale images and it is not useful for colorful
algorithms. And other databases such as grimace,
FERET, face94 and face95 only have images with
single face and it is more proper for face
recognition and trains our classifier. So we search
for a database that contains colorful and also
complex images to run our program. We find a
database named BaoDatabase and it has 221
images with face and none face objects. So it is a
proper database to test our hybrid algorithm. Our
algorithm can detect multiple faces of different
size. It use for complex images. In figure 6 we see
the results of converting image from RGB space to
HSV space. Figure 7 shows detected faces using
HSV color model. As we can see, it has detected all
the faces but it detects 3 none-faces as human face

  

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

too. In figure 8 we use HAAR classifier to detect
primary face regions, so we use this as an
instrument to detect all possible areas for faces. It
hasn't a good performance and it has detected 7
none-face regions as human face. In figure 9 we see
the selected face regions from HAAR classifier by
blacken the none-faces areas. Figure 10 show the
result HAAR classifier in HSV color space. Figure
11 shows the result of HSV method on HAAR
classifier results. And figure 12 shows the result of
our hybrid method on main image, as you can see it
has better performance and it has no error. Figure
13 to 19 show results of another image. As you can
see again, HAAR classifier has 7 errors, HSV
method has 2 errors and they detect none-face as
human face but in our algorithm we have no error.

370

Figure 8: show the results of a HAAR classifier. It
has about 7 errors on detecting faces and detects
some none-faces objects as face.

Figure 6: show the results of converting our image
to HSV color model to detect faces on next step.
Figure 9: show selected face regions from HAAR
classifier to use for next classifier.

Figure 7: show the results of HSV method. It has
about 3 errors on detecting faces and detects some
none-faces objects as face.
Figure 10: show the results of converting result of
HAAR classifier to HSV color model to detect
faces on next step.

  
 

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

371

Figure 11: show the results of HSV color model on
HAAR classifier results.

Figure 14: show the results of HSV method. It has
3 errors on detecting faces and detects some nonefaces objects as face.

Figure 12: show the results of our hybrid method
on main image. As you can see it has no error on
detecting faces and detects all faces in image.

Figure 15: show the results of a HAAR classifier. It
has about 20 errors on detecting face and detects
some none-faces objects as face.

Figure 13: show the results of converting our image
to HSV color model to detect faces on next step.

Figure 16: show selected face regions from HAAR
classifier to use it for next classifier.

  
 

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

372

we use a hybrid method with HSV color model,
and a HAAR classifier. HSV method minimizes the
searching space of HAAR classifier. And increase
the performance. So this hybrid method has
decrease the complexity and in addition it has
better performance. Our goal as our future work is
to modifying our classifiers to detect none-frontal
faces in image.

References

Figure 17: show the results of converting result of
HAAR classifier to HSV color model to detect
faces on next step.

Figure 18: show the results of HSV color model on
HAAR classifier results.

Figure 19: show the results of our hybrid method
on main image. As you can see it has no error on
detecting faces and detects all faces in image.

[1] Rein-Lien Hsu, Mohammad Abdel-Mottalaeb,
Anil K. Jain, Fellow, "Face detection in color
images", IEEE Trans. Pattern Analysis And
Machine Intelligence, Vol. 24,NO. 5, May 2002.
[2] C.Garcia and G. Tziritas, "Face Detection
Using Quantizes Skin Color Regions Merging and
Wavlet Packet Analysis", IEEE Trans. Multimedia,
Vol. 1,No. 3, Sept. 1999.
[3] Ming-Hsuan, Yang, David J, Kriegman,
Narendra, Ahuja, "Detecting Faces In Images: A
Survey", IEEE 2000.
[4] Erik,Hjelm°as, Norway, Boon, Kee, "Low
Face Detection:A Survey", University of dinburgh,
JCMB, United Kingdom 2001.
[5] J.Cai, A.Goshtasby, Detecting Human Faces In
Color Images, Image Vision Computer(1999).
[6] C.Chen, S.P.Chiang, "Detection Of Human
Faces In Color Images", IEEE Proc. Vision Image
Signal Process 1997.
[7]
J.C.Terrillon,
M.David,
S.Akamatsu,
"Automatic Detection Of Human Faces In Natural
Scene Iimages by Use of a Skin Color Model And
Of Invariant Moments", IEEE Proc.Conf. on
Automatic Face and Gesture Recognition 1998.
[8] Ahmed.Hamdy, Mohamed.Elmahdy, Maha.
Elsabrouty, "Face detection using PCA and skintone extraction", IEEE 2007.
[9] PAUL VIOLA, MICHAEL J. JONES," Robust
Real-Time Face Detection", International Journal
of Computer Vision 57(2), 137–154, 2004.
[10] Turgay C¸ elik, Hu¨seyin O¨zkaramanlı, Hasan
Demirel, " Facial feature extraction using complex
dual-tree
wavelet
transform",
ELSIVIER
Transaction 2007.
[11] Eli Saber, A. Murat Tekalp, "Frontal-view
face detection and facial feature extraction using
color, shape and symmetry based cost functions",
Elsevier Science 1198.
[12] Paul Viola, Michael Jones, " Rapid Object
Detection Using a Boosted Cascade of Simple
Features",
Mitsubishi
Electric
Research
Laboratories 2004.

Conclusion and Future Work
As we said before HAAR classifier have a high
complexity and it should works on whole image.
Also it has miss classified some object as face. So

M. Niazi was born in Shiraz, Iran. She receives
B.Sc degree in computer engineering from azaad
Shiraz University in 2008. She is currently a M.Sc.

  
 

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

373

student in Artificial Intelligence at Shiraz
University. Her research interests include image
processing such as object detection, object
recognition and object tracking.
S. Jafari received the PhD degree in Computer
Systems Engineering from Monash University,
Australia in 2006. He is currently a lecturer in the
Electrical and Computer Engineering School,
Shiraz University, Shiraz, Iran. His research
interests include Artificial Intelligence, especially
Expert Systems Robotics, Hybrid Systems: Fuzzy
logic, Certainty Factor, Neural Network
combinations:
Neuro-Fuzzy,
Fuzzy
neural
Networks and Image Processing.

  
 

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

374

An Evolvable‐Clustering‐Based Algorithm to Learn 
Distance Function for Supervised Environment
 
    Zeinab Khorshidpour, Sattar Hashemi, Ali Hamzeh     
    Dept. of Computer Science, Shiraz University, Iran   

 
Abstract 
This  paper  introduces  a  novel  weight‐based  approach  to 
learn  distance  function  to  find  the  weights  that  induce  a 
clustering by meeting best objective function. Our method 
combines  clustering  and  evolutionary  algorithms  for 
learning  weights  of  distance  function.  Evolutionary 
algorithms,  are  proved  to  be  good  techniques  for  finding 
optimal solutions in a large solution space and to be stable 
in  the  presence  of  noise.  Experiments  with  UCI  datasets 
show  that  employing  EA  to  learn  the  distance  function 
improves  the  accuracy  of  the  popular  nearest  neighbor 
classifier.
Keywords: distance function learning; evolutionary 
algorithm; clustering algorithm; nearest neighbor.   

  
1      Introduction
Almost  all  learning  tasks,  like  case‐based 
reasoning  [1],  cluster  analysis  and 
nearest‐neighbor  classification,  mainly 
depend on assessing the similarity between 
objects.  Unfortunately,  however,  defining 
object  similarity  measures  is  a  difficult  and 
non‐  trivial  task,  say,  they  are  often 
sensitive  to  irrelevant,  redundant,  or  noisy 
features.  Many  proposed  methods  attemp 
to reduce this sensitivity by parameterizing 
K‐NN's  similarity  function  using  feature 
weighting.
The  idea  behind  feature  weighting  is  that 
real‐world  applications  involve  with  many 
features;  however,  the  objective  function 
depends  on  few  of  them.  The  presence  of 
noisy  objects  or  irrelevant  features  in  a 
dataset  degrades  the  performance  of 
machine  learning  algorithms;  for  many 
cases,  such  in  the  case  of  k‐nearest 
neighbor  machine  learning  algorithm 
(K‐NN).  Thus  feature  weighting  technique 
may  improve  the  algorithm’s  performance. 

This paper introduces a novel weight‐based 
distance  function  learning  to  find  the 
weights that induce a clustering by meeting 
best objective function.
In  the  recent  years,  different  approach 
proposed  for  learning  distance  function 
from training objects. Stein and Niggemann 
use  a  neural  network  approach  to  learn 
weights  of  distance  functions  based  on 
training  objects  [2].  Eick  et.al  introduce  an 
approach  to  learn  distance  functions  that 
maximizes  the  clustering  of  objects 
belonging  to  the  same  class  [3].  Objects 
belonging  to  a  dataset  are  clustered  with 
respect to a given distance function and the 
local  class  density  information  of  each 
cluster is then used by a weight adjustment 
heuristic  to  modify  the  distance  function. 
Another  approach,  introduced  by  Kira  and 
Rendell  and  Salzberg  ,  relies  on  an 
interactive  system  architecture  in  which 
users  are  asked  to  rate  a  given  similarity 
prediction, and then using a Reinforcement 
Learning(RL)  based‐techniques  to  enhance 
the  distance  function  based  on  the  user 
feedback  [4],  [5].  Kononenko  proposes  an 
extension  to  the  work  by  Kira  and  Rendell 
for  updating  attribute  weights  based  on 
intracluster  weights  [6].  Bagherjerian  et.al 
propose a reinforcement learning algorithm 
that  can  incorporate  feedback  and  past 
experience  to  guide  the  search  toward 
better  cluster  [7].  They  use  an  adaptive 
clustering  environment  that  modifies  the 
weights  of  a  distance  function  based  on  a 
feedback.  The  adaptive  clustering 

 

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

environment  is  a  non  deterministic  RL 
environment. Its state space consist of pairs 
of  cluster  representatives  and  distance 
function weights. Given a state, the learner 
can  take  an  action  that  either  increases  or 
decreases  the  weight  of  a  single  attribute. 
The  search  process  uses  the  Q‐learning 
algorithm to estimate the value of applying 
a  particular  weight  change  action  to  a 
particular state.
Finding  the  best  weight  in  a  weight‐based 
distance  function  is  clearly  an  optimization 
problem. This paper presents an alternative 
search  space  which  is  more  effective  than 
existing  approach.  Our  method  combines 
clustering  algorithm  and  evolutionary 
algorithms  for  learning  weights  of  a 
distance  function.  Evolutionary  algorithms 
proved  to  be  good  techniques  for  finding 
solutions in a large solution space and to be 
stable in the presence of noise. Central idea 
of our approach is to use clustering as a tool 
to  evaluate  and  enhance  distance  function 
with respect to an underling class structure. 
In  this  work,  we  address  the  problem  of 
optimizing a weight‐based distance function 
by  means  of  a  clustering  algorithm  and 
Evolutionary  Strategies  (ES).  We  show  that 
combining  CLES‐DL  method  with  a  K‐NN 
algorithm  can  improve  the  predictive 
accuracy of the resulting classifier.
The paper is organized as follows: Section 2 
introduces  clustering  algorithms.  In  section 
3  we  review  evolutionary  algorithms 
especially  the  evolutionary  strategies.  In 
section  4,  we  talk  about  the  proposed 
algorithm.  The  experimental  methodology 
and  UCI  data  sets  used  in  this  work  are 
covered  in  section  5.  Finally  the 
experimental result is described in section 6 
as  well  as  the  results. The  paper ends  with 
the conclusions. 
 
 

375

2    Clustering Algorithm
A  clustering  algorithm  finds  groups  of 
objects  in  a  predefined  attribute  space. 
Since the objects have no known prior class 
membership,  clustering  is  an  unsupervised 
learning  process  that  optimizes  some 
explicit  or  implicit  criterion  inherent  to  the 
data such as the squared summed error [8]. 
The main objective of clustering algorithm is 
to  divide  the  data  into  different  groups 
called  clusters  in  such  way  that  the  data 
within a cluster are closer to each other and 
data  from  different  clusters  are  farther 
from  each  other.  Distance  criteria  are  the 
principle  component  of  every  clustering 
algorithm  to  approach  its  objective. 
Euclidean  distance  is  a  commonly  used 
distance  measure  in  most  cases.  Which  is 
defined as follow: 
m

d ( xi , x j ) =

( x

ia

 x ja ) 2 .  

(1)

a =1

where 

  and 

xi

xj

  are 

m‐dimensional objects and  xia   is the value 
of  attribute  "a"  for  a  given  object  xi . 
K‐means  and  other  partitioning  algorithm 
typically  use  Euclidean  or  Manhattan 
distance  metric  [8].  Many  extensions  to 
these  and  other  partitioning  algorithms 
attempt  to  employ  more  sophisticated 
distance  metrics.  On  the  other  hand, 
another  group  of  approaches  attempt  to 
learn  the  distance  metric.  Including  the 
approach explored in this paper which tries 
to  learn  attribute  weights  based  on  the 
following object distance function d: 
m

d ( xi , x j ) =

w ( x
a

ia

 x ja ) 2 .  

(2)

a =1

where  w  is  weight  vector  whose 
components  are  non‐negative  and 

 

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

w
m

m

= 1 .  It  assumes  that  objects  are 

described  by  sets  of  attributes  and  the 
dissimilarity  of  different  attributes  is 
measured  independently.  The  dissimilarity 
between  two  objects  is  measured  as  a 
weighted  sum  of  dissimilarities  between 
their  attributes.  To  be  able  to  do  that,  a 
weight  and  a  distance  measure  has  to  be 
provided  for  each  attribute.  We  use 
clustering  algorithm  for  learning  weight  of 
distance  function,  and  modified  distance, 
i.e.  Equation  2.  In  this  paper  we  combine 
clustering  and  evolutionary  algorithm  for 
selecting  best  weight  of  the  features  and 
modified distance function. In section 3, we 
review  evolutionary  algorithms  especially 
the evolutionary strategies. 
3    Evolutionary Algorithms
  Two 
major 
representative 
algorithms  of  the  evolutionary  algorithms 
are  the  Genetic  Algorithms  (GA)  and 
Evolution  Strategies  (ES)  [9],  [10].  We 
introduce 
main 
characteristics 
of 
evolutionary algorithm in the next sections. 

 
3.1    Chromosome Representation and 
Population Initialization
  For any GA and ES, a chromosome 
representation  is  needed  to  describe  each 
chromosome  in  the  population.  The 
representation  method  determines  how,  a 
solution  is  represented  in  the  search  space 
and  also  determines  the  type  of  variation 
operators  such  as  crossover  and  mutation. 
Each  chromosome  is  made  up  of  a 
sequence  of  genes  from  certain  alphabet 
which can consist of binary digits (0 and 1), 
floating‐point  numbers,  integers,  symbols 
(i.e., A, B, C, D), etc. It has been shown that 
more natural representations can get more 
efficient  and  better  solutions  [11].  In  this 
paper  we  use  ES  algorithm  because  a 

376

real‐valued  representation  is  utilized  to 
describe the chromosome. ES strategies are 
typically  used  for  continuous  parameter 
optimization.  Standard  representation  of 
objective  variables  x1...xn   is  very 
straightforward,  where  each  xi   is 
represented  by  a  floating‐point  variable. 
Chromosome  contain  some  strategy 
parameters,  in  particular,  parameter  of 
mutation  operator.  Details  of  mutation  are 
treat in subsection 3.2. Strategy parameters 
can be divided into two sets, the     values 
and  the     values.  The     values 
represent the mutation step sizes, that can 
be a vector of size n or only a singleton. For 
any  reasonable  self‐adaptation  mechanism 
at  least  one     must  be  present.  The    
values  which  represent  interactions 
between  the  step  sizes  used  for  different 
variables, are not always used [12]. 

 
3.2    Mutation
In  typical  EAs,  Mutation  is  carried  out  by 
randomly changing the value of a single bit 
(with small probability) to the bit strings. 
The mutation operator in ES may be applied 
independently on each objective variable by 
adding  a  normally  distributed  random 
variable with expectation zero and standard 
deviation     as  shown  in  Equation  4, 
considering  n = 0 .  The  strategy 
parameters  are  mutated  using  a 
multiplicative, 
logarithmic 
normally 
distributed process as shown in Equation 3. 
 i ' =  i .exp( N (0,1)  N i (0,1)).  
 
xi ' = xi   i '.N i (0,1).  
 
where  N(0,  1)  is  a  normally 
distributed  random  variable  with  zero 
expectation  and  standard  deviation  of  1, 
N i (0,1)   indicates that the random variable 

 

(3)
(4)

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

is  sampled  for  every  objective  variable 
1

independently.  The  constant    ( 2 n  
and     ( 2n ) 1   can be interpreted in the 
sense  of  "learning  rates"  as  in  artificial 
neural  networks  [13].  Algorithm  1  shows  a 
basic pseudo code of ES.   
 

 
 

4    Combing Clustering Algorithms and ES 
for Distance Learning 
In  this  section,  we  will  give  an  overview  of 
CLES‐DL  approach.  The  key  idea  of  our 
approach  is  to  use  clustering  as  a  tool  to 
evaluate  and  enhance  distance  function 
with repect to an underlying class structure.   
 
 

Figure 1: System structure of our distance function
learning approach (CLES-DL). Each chromosome contains weights
of distance function. ES generates different weights and clustering
algorithm used to evaluate the weights.

 
Our  method  combines  clustering  algorithm 
and  evolutionary  algorithms  for  learning 
weights of a distance function. ES generates 
different  weights  and  clustering  algorithm 
used  to  evaluate  the  chromosomes.  Figure 
0, shows the overall system architecture of 

377

CLES‐DL  method.  Each  chromosome 
contains  real‐valued  genes  which  are 
interpreted  as  the  weights  of  the  desired 
distance  function.  According  to  each 
chromosome,  we  have  a  new  distance 
function,  and  so  the  clustering  algorithm 
generates new clusters from the data set. In 
this algorithm, an initial population of size P 
can  be  randomly  generated  and  lies  in  the 
interval [0 , 1]. 
W = [ w1 , w2 ,..., wn ;  1 ,  2 ,... n ].  
 
w
wi = n i .
wl
l

where  W  is  a  chromosome  and 
whose  ith  components  are  the  normalized 
and  non‐negative,  weight  of  the  ith 
attribute  and     is  the  mutation  step  size 
according to each attribute. 

4.1    Fitness Function
The  fitness  function  is  used  to  define  a 
fitness  value  for  each  candidate  solution. 
Our goal is to generate a chromosome with 
the  best  (max  or  min  depending  on  the 
problem) fitness value. In this problem, the 
fitness  measure  is  the  clustering  quality 
provided  by  an  algorithm  which  is  often  a 
hard  and  subjective  to  be  measured.  We 
use accuracy criteria as the fitness function 
to  evaluate  the  results.  Assume  that  the 
instances  in  D  have  been  already  classified 
in  k  classes  c1 , c2 ,..., ck .  Consider  a 
clustering algorithm that partitions D into k 
clusters  cl1 , cl2 ,..., clk .  We  refer  to  a 
one‐to‐one  mapping,  F,  from  classes  to 
clusters,  such  that  each  class  ci   this 
mapped  to  the  cluster  cl j = F (ci ) .  The 
classification  error  of  the  mapping  is 
defined as: 

 

(5)

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

E =  | ci  F (ci ) |.  

(6)

i =1

  where  | ci  F (ci ) |   measures the number 
of  objects  in  class  ci   that  received  the 
wrong label. The optimal mapping between 
clusters  and  classes  is  the  one  that 
minimizes  the  classification  error.  We  use 
Emin   to  denote  the  classification  error  of 
the  optimal  mapping.  To  obtain  the 
accuracy  we  compute  the  following 
formula: 
E
Accuracy = 1  min .  
|D|
 
5    Experimental Methodology
In order to measure the performance of the 
proposed  algorithms,  we  employed  the  10 
fold  cross  validation  methodology. 
Cross‐validation  randomly  divides  the 
available  dataset  into  k  mutually  exclusive 
subsets  (folds)  of  approximately equal  size, 
and uses the instances of the k‐1 subsets as 
the  training  data  and  the  instances  of  the 
remaining  subset  as  the  test  data.  The 
training dataset is used for determining the 
classifier’s  parameters  and  the  test dataset 
is used to compute the prediction error. The 
experiment  is  carried  out  i  times  to 
compute  the  prediction  error  of  the  whole 
dataset.  This  method  is  called  k‐fold  cross 
validation.  In  our  experiments  we  set  k=10 
which is most commonly used value.
 
5.1    Experimental Setting
Our  experiments  were  run  using  standard 
evolutionary  strategy  with  tournament 
selection. The reported results are based on 
10‐fold  cross  validation  for  each 
classification  task  with  the  following 
parameter setting.   
  • Population size: 50 
  • Number of generation: 50 
  • Mutation rate: 0.01 

(7)

378

  • The selection process is (    ) 
  
5.2    Description of Datasets
The experimental procedure is to the apply 
algorithm  to  several  real‐world  datasets 
from  the  UCI  machine  learning  repository 
[14].  Most  of  these  data  sets  have  been 
subject  of  empirical  evaluation  by  other 
researches.  This  gives  the  chance  of 
comparing  results  among  different 
researches. A summary of characteristics of 
these data sets are showed in Table 1. 
   

Table 1: Data sets used in the experiments

 
   
6    Experimental Results
To obtain the best distance function, we run 
the  program  10  times  independently.  In 
each  run,  ES  algorithm  evolves  its 
population  for  50  generation  and  save  the 
chromosomes with the best fitness value. It 
is  worth  mentioning  that  result  of  the 
K‐means  clustering  algorithm  based  on 
represented  chromosome  is  used  as  the 
fitness value for the evolutionary process. 
The  whole  process  of  achieving  results  is 
depicted  in  Figure  1.  Table  2  shows  the 
results achieved by the algorithm applied to 
the  UCI  datasets.  CLES‐DL  method  achieve 
good  performance  in  all  datasets.  For  each 
dataset,  the  accuracy  of  the  method  with 
the  highest  mean  accuracy  is  marked  in 
bold face. The mean accuracy in all UCI data 
sets  using  proposed  algorithm  is  73.87% 
whereas  the  original  K‐means  reach  to 

 

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

65.64%.  It  has  about  8%  absolute  accuracy 
improvement.
Also  to  further  evaluation,  1‐NN  classifier 
algorithm  is  used  [15].  The  best 
chromosome  over  10  independent  run  is 
passed as a weight vector to weighted 1‐NN 
classifier. Table 3 shows the result of 10 fold 
cross  validation  over  original  1‐NN  and 
1‐NN with CLES‐DL. The mean accuracy in 8 
UCI  data  sets  by  1‐NN  with  CLES‐DL  is 
80.73%  and  by  original  1‐NN  is  77.48%.  It 
has  about  3%  absolute  accuracy 
improvement.  When  comparing  mean 
accuracies  in  Table  3,  we  find  that  1‐NN 
with CLES‐DL outperforms original 1‐NN on 
8  datasets  (7/8=  0.87),  among  them. 
Notably,  the  accuracy  for  the  wine  dataset 
improved  from  75.10%  to  over  91.50%  in 
contrast accuracy of 1‐NN with CLES‐DL for 
breast‐cancer dataset is lower than original 
1‐NN.
Obviously,  one  may  see  that  our  approach 
outperforms  the  original  K‐NN  by  offering 
significant improvements.
To explore the advantages of the proposed 
approach  over  well  known  weighting 
mechanism,  we  conduct  a  new  series  of 
experiments.  In  these  experiments,  we 
compared  our  weighting  approach  against 
LW1NN  algorithm  (1‐NN  classifier  with 
attribute  weighting)  [3]  and  bagherjerian 
method  [7].  Bagherjerian  approach  uses 
several  parameters,  according  to  these 
parameters four version of this method are 
represented. Table 4 shows the result of 10 
fold  cross  validation  over  1‐NN  with 
CLES‐DL,  LW1NN  and  bagherjerian's 
method.  The  results  show  the  mean 
accuracy  in  UCI  data  sets  by  1‐NN  with 
CLES‐DL  is  better  than  LW1NN  and 
bagherjerian's method.
  

379

Figure 2: Overall veiw of obtaining result. We run
the program 10 times. In each run, ES algorithm evolves population
over 50 generation and save chromosome with the best fitness
value.

   
Table 2: Clustering accuracy (and standard
deviation), The comparison between K-means with CLES-DL and
original K-means on 8 datasets from UCI data repository. All
standard deviation less than 0.001 are not denoted.

Data set
Glass
Ionosphere
Diabetes
Sonar
Vehicle
Wine
Breast-cancer
Iris

K-means_CLES-DL
61.17  0.15
83.32  0.34
74.96  0.18
70.48  0.16
57.23  0.16
82.47  0.61
64.71
96.67

K-means
55.61
72.15
66.02
56.25
52.23  0.03
70.23
63.31  0.21
89.33

 
   
Table 3: Classification accuracy (and standard
deviation) on 8 datasets selected from the UCI data repository. For
each dataset, the accuracy of the method with the highest mean
accuracy is marked in bold face.

    
Data set
Glass
Ionosphere
Diabetes
Sonar
Vehicle

1-NN_CLES-DL

70.52  1.096
88.90  0.53
70.58  0.39
85.071  0.53

57.67  1.22

Wine

91.50  0.62

Breast-cancer

61.39

 0.77

95.33  0.25

Iris

1-NN
72.84  0.83

78.46  0.91
67.30  0.47

82.67  0.65
63.67  0.79
75.10  1.19
61.10  0.60
95.31  0.32

 
  
 
 
 
 

 

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

380

 
Table 4: Classification accuracy (and standard deviation) on 5 datasets selected from the UCI data repository

Data set
Glass
Ionosphere
Diabetes
Sonar
Vehicle
Averages

1NN_CLES-DL
72.39  1.096
88.91  0.53
71.85  0.39
87.57  0.53
70.88  1.22
78.32

Version_(1)
68.89  2.00
87.24  0.88
69.29  0.97
85.79  1.93
69.14  0.89
76.07

Bagherjerian's method
Version_(2)
Version_(3)
72.20  1.89
72.01  2.56
88.24  0.88
87.21  0.91
69.75  1.18
70.12  1.11
86.12  1.85
86.07  1.48
68.83  1.09
68.59  1.25
77.02
76.80

 
 
7    Conclusions
We  present  a  evolutionary  method  for 
learning  distance  function  with  the  main 
objective  of  increasing  the  predictive 
accuracy of K‐NN classifier. The method is a 
combination  of  a  clustering  algorithm  and 
ES  in  order to  find  the  best  weight  of  each 
attribute to be used in a K‐NN classifier. The 
proposed  method  in  this  paper  overcomes 
the disadvantages of the K‐NN algorithm i.e. 
its  sensitivity  to  the  presence  of  irrelevant 
features.  As  a  future  work  we  plan  to 
extend  the  current  work  so  as  it  can  deal 
with noise as well. 
Acknowledgements
This  work  was  supported  by  the  Iran  Tele 
Communication Research Center. 
References 
 
[1] P. perner. Case-based reasoning. Data mininh on
multimedia data, Lecture Notes in Articial Intellegence,
vol.2558. Springer,Berlin, pp.51-62. 2002.
[2] B. Stein, O. Niggemann. Generation of similarity
measures from different sources. 14th International
conference on Industrial Engineering Application of
Artificial Inteligence and Expert Systems, Budapest,
Hungary, Speringer, Berlin, pp. 197-206. 2001.
[3] C. Eick, A. Rouhana, A. Bagherjeiran, R. Vilalta.
”Using Clustering to Learn Distance Functions for
Supervised Similarity Assessment. Journal of
Engineering Applications of Artificial Intelligence”, Vol.
19, Issue 4, pp. 395-401. 2006.
[4] S. Salzberg. ”A nearest hyperrectangle learning
method”, Machine Learning 6, pp. 251276. 1991.
[5] K. Kira, L. A. Rendell. ”A practical approach to
feature selection”, Proceedings of the Ninth

LWINN
Version_(4)
76.26  2.18
88.52  1.12
69.91  1.28
86.22  1.05
70.55  1.12
78.29

69.95
91.73
68.89
86.05
69.86
77.29

International Workshop on Machine Learning,
Aberdeen, Scotland, UK, Morgan Kaufmann, Los
Altos, CA, pp. 249256. 1992.
[6] I. Kononenko. ”Estimating attributes: analysis and
extensions of RELIEF. Proceedings European
Conference on Machine Learning”, pp. 171182. 1994.
[7] A. Bagherjeiran, R. Vilalta, C. Eick. ”Adaptive
Clustering: Obtaining Beter Clusters Using Feedback
and Past Experience”, Proceedings of the Fifth IEEE
International Conference On Data Mining (ICDM’05),
2005.
[8] J. M. McQueen. ”Some methods of classification
and analysis of multivariate observations”, Proc. 5th
Berkeley Symp. On Mathematical Statistics and
Probability, pp. 281297, 1967.
[9] D. Golberg. ”Genetic algorithms in search,
optimization and machine learning”, Addison-Wesley
Publishing Company, 1989.
[10] H. P. Schwefel. ”Evolution and Optimum Seeking”,
Wiley,New York, 1995.
[11] Z. Michalewicz. ”Genetic Algorithms+Data
Structures=Evolution Programs”. AI Series, Springer,
New York 1994.
[12] A. E. Eiben, J. E. Smith. ”Introduction to
Evolutionary Computing”, Springer, Natural Computing
st
Series 1 edition 2003.
[13] K. Mehrotra, C. K. Mohan, S. Ranka. Elements of
artificial neural networks, MIT Press 1997.
[14] C. L. Blake, C. J. Merz. UCI repository of machine
learning database, 1992.
[15] S. Russel, P. Norvig. ”Artificial Intelligence: A
Modern Approach,” Prentice Hall, 2nd edition, 2003.

 
Zeinab Khorshidpour was born in bandar-lengh,
Iran . She received her B.Sc. Degree in Computer
Engineering from shahid-beheshti university in 2008.
She is currently an M.Sc. student in Artificial
Intelligence at Shiraz University. Her research
interests include distance function learning for
nominal attribute, clustering for categorical data,
bio-inspired algorithms.
Sattar Hashemi received the PhD degree in
Computer Engineering from the Iran University of
Science and Technology, in conjunction with Monash
University, Australia, in 2008. He is currently a

 

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

lecturer in the Electrical and Computer Engineering
School, Shiraz University, Shiraz, Iran. His research
interests include data stream mining, database
intrusion detection, dimension reduction, and
adversarial learning.
Ali Hamzeh received his Ph.D. in artificial
intelligence from Iran University of Science and
Technology (IUST) in 2007. Since then, he has been
working as assistant professor in CSE and IT
Department of Shiraz University. There, he is one of

381

the founders of local CERT center which serves as the
security and protection service provider in its local
area. As one of his research interests, he recently
focuses on cryptography and steganography area and
works as a team leader in CERT center to develop and
break steganography method, especially in image
spatial domain. Also, he works as one of team leaders
of Soft Computing group of shiraz university working
on bio-inspired optimization algorithms. He is
co-author of several articles in security and
optimization.

 

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

Product Lines’ Feature-Oriented Engineering for
Reuse: A Formal Approach
Marcel Fouda Ndjodo1, Amougou Ngoumou2
1

2

Department of Computer Science and Instructional Technology, University of Yaoundé I
P.O. Box 47 Yaoundé - Cameroon

Department of Computer Science, The University Institute of Technology, University of Douala
P.O. Box 8698 Douala - Cameroon

Abstract
The feature oriented method with business
component semantics (FORM/BCS) is an extension
of the feature oriented reuse method (FORM)
developed at Pohan University of Science and
Technology in South Korea. It consists of two
engineering processes: a horizontal engineering
process driven by the FORM domain engineering
process and a vertical engineering process driven
by the FORM application engineering process. This
paper investigates the horizontal engineering
process - which consists of analyzing a product line
and developing reusable architectures – and shows
that this process can be systematized through a set
of maps that describe how one can systematically
and rigorously derive the fundamental business
architectures of a product line from the feature
model of that domain. The main result of the paper
is therefore that the formalization of the assets of
FORM/BCS enables a clear definition of how an
activity of the horizontal engineering process
produces a target asset from an input one. This
result opens the door for the development of a tool
supporting the method.
Keywords: Product Line Engineering, FeatureOrientation,
Domain
Analysis,
Business
Components, Reuse, Formal Method.

1. Introduction
FORM with Business Component Semantics [1],
which is an extension of FORM [2, 3, 4, 5, and 14],
is a feature-oriented product line engineering
method. It has two processes: a horizontal
engineering process driven by the FORM domain
engineering process and a vertical engineering
process driven by the FORM application
engineering process. These two processes
correspond respectively to the “engineering for
reuse” and the “engineering by reuse” approaches
presented in [6, 7, and 8].

The FORM/BCS method is specific to other
product line engineering approaches [9, 10, 11, 12,
and 13] by the fact that its vertical engineering
process gives the possibility to successively derive
concrete business components of successive low
level application domains from abstract reusable
business components of a high level domain. Since
the vertical engineering process of FORM/BCS is
an “engineering by reuse” approach, it can be
applied only if the reusable business components of
the initial domain already exist. These assets are
produced by the horizontal engineering process of
FORM/BCS, which consists of analyzing a product
line domain and developing fundamental reusable
architectures of the domain. The horizontal process
is therefore the core process of FORM/BCS.
This work formalizes this process with a set of
maps which describe how to rigorously derive the
fundamental business architectures of a domain
from the feature model of that domain. Each map
specifies an activity of the horizontal engineering
process by defining how that activity produces a
target asset from an input one. It has been possible
to formalize the horizontal process of FORM/BCS
since one of its particularity is that its assets are
defined using the Z notation which provides a
framework for a rigorous analysis of the method.
This work is a significant contribution to the
development of FORM/BCS since it lays down the
theoretical foundation for the development of a tool
supporting this method. Beyond the development
of FORM/BCS, which is the main focus of the
paper, this work addresses some key open issues of
feature-oriented development. One of these issues
is the automation of feature-oriented development
processes. This work shows that formalization is an
important step toward this goal.
The rest of the paper is organized as follows:
Section 2 gives an overview of FORM/BCS.
Section 3 presents the assets of the method. Section
4, which is the main part of the paper, formalizes
the horizontal engineering process of FORM/BCS.
Section 5 presents related works and gives the end

382

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

result of this article through a consistency theorem.
Finally the conclusion presents possible further
research domains in the work continuation.

2.

-

Overview of FORM with Business
Component Semantics.

2.1 The Horizontal Engineering process
The aim of the horizontal Engineering process is to
analyze a domain in order to produce the reusable
business components of that domain which consist
of (i) a feature business component, (ii) a
subsystem business component, (iii) a set of process
business components and, (iv)a set of module
business components.
The horizontal engineering process has four
independent activities: the domain analysis activity,
the subsystem architecture business component
design activity, the process architecture business
component design activity and the module
architecture business component design activity.
1) Given a domain, the domain analysis activity,
which is intuitive, produces a reusable feature
business component for that domain. This
feature model, defined in section 3.2, is stored
in a database of reusable feature business
components.
2) Given a reusable feature business component
selected in the database of reusable feature
business
components,
the
subsystem
architecture business component design activity
produces a reusable subsystem architecture
business component, defined in section 3.3,
which is stored in a database of reusable
subsystem architecture business components.
3) Given a reusable subsystem architecture
business component, the process architecture
business component design activity produces a
set of reusable process architecture business
components, defined in section 3.4. These
components are stored in a database of reusable
process architecture business components.
4) Given a reusable process architecture business
component, the module architecture business
component design activity produces a set of
reusable
module
architecture
business
components, defined in section 3.5. These
components are stored in a database of reusable
module architecture business components.
The following properties of the FORM/BCS
Domain Analysis process described above can be
considered as the main improvements of the
original FORM Domain Analysis process:
- Reusable assets integrate context: information
about assets reuse in the form of context is
integrated in assets.

-

The implementation of the activities in the new
method is not linear; that is, they can be
performed in any order. The assets produced by
activities of the method are stored in a database
of reusable assets which can be requested using
the operators for reuse developed by Ramadour
[10]: search operators, selection operators,
adaptation operators and composition operators.
A database of business components is added:
this database enables engineering for reuse
through the storage of assets and engineering by
reuse through requests which can be submitted
to it using the Ramadour’s operators for reuse
listed above.

2.2 The Vertical Engineering process
The aim of the Vertical Engineering process is to
derive a database of reusable components of an
application domain of a domain which already has a
database of reusable domain components. The
Vertical Engineering process has four independent
activities: the specific requirements analysis, the
specific subsystem architecture design, the specific
process architecture design and the specific module
architecture design.
1) Given an application domain A of a domain D
and a feature business component F of D, the
aim of the specific requirements analysis of the
domain A is to derive a feature business
component F' of A from F. For this, the activity
operates choices in F to reduce the number of
optional features or groups of alternative
features contained in the decomposition of its
solution. The derived feature business
component F' is stored in a feature business
component database of A.
2) Given a feature business component F' of an
application domain A derived from a feature
business component F of a domain D, and a
subsystem architecture business component S
produced from D, the aim of the specific
subsystem architecture design activity is to
derive a subsystem architecture business
component S' of A from F' and S. For this
reason, the activity eliminates features
contained in sub systems of the subsystem
architecture business component S, which are
absent in the basic feature business component
F'.
3) Given a subsystem architecture business
component S' of an application domain A
derived from a subsystem architecture business
component S of a domain D, and a process
architecture business component P produced
from D, the aim of the specific process
architecture design activity is to derive a process
architecture business component P' of A from S'
and P. For this, basing on S' the activity adapts
the process architecture business component P.

383

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

4) Given a process architecture business
component P' of an application domain A
derived from a process architecture business
component P of a domain D, and a module
architecture business component M produced
from P, the aim of the specific module
architecture design activity is to derive a module
architecture business component M' of A from
P' and M. Here, basing on P', the activity adapts
the module architecture business component M.
The possibility of successive refinements of
reusable business components of a domain to more
concrete components (vertical engineering) is the
main improvement of the Application Engineering
process of the original FORM.
The FORM/BCS engineering process is pictured as
follows:
Horizontal Engineering Process

Domain

Domain
Analysis
Feature
Business
Component

Subsystem
Architecture
Business
Component
Design

Vertical Engineering Process

Reusable feature
business component
database

Subsystem
Architecture
Business
Component

Process
Architecture
Business
Component
Design

Reusable subsystem
architecture business
component database

Module
Business
Component
Development

Process
Architecture
Business
Component

Reusable process
architecture business
component database

Application
Domain

Selected Subsystem
Architecture Business
Component

Reusable module
architecture business
component database

Specific
requirements
analysis

Specific
feature
business
component

Specific
subsystem
architecture
design

Reusable specifique feature
business component database

Selected Module
Architecture
Business
Component

Selected Process
Architecture Business
Component

Specific
Subsystem
architecture
business
component

Reusable specific
subsystem architecture
business component
database

Specific
process
architecture
design

Specific
Process
architecture
business
component

Reusable specific process
architecture business
component database

Specific
module
architecture
design

Specific
module
architecture
business
component

Reusable specific
module architecture
business
component
database

Specific Domain Component Database

Legend:
Database

Component storage

Activity

Component reuse

ReusableBusinessComponent = =
[name: Text;
descriptor:Descriptor
realization: Realization]
 

3.1.1 Descriptors
Module
Architecture
Business
Component

Domain Component Database
Selected
Feature
Business
Component

solved in a particular context. This problem can be
the decomposition of a system, an activity
organization or an object description. Goals,
activities and objects concerned are carried on an
application field and/or an engineering method. The
realization section of a reusable component
provides a solution to the modeling problem
expressed in the descriptor section of the
component. This solution may have adaptation
points with values are fixed at the reuse moment.
Adaptation points enable the introduction of
parameters in the solutions provided by reusable
components. The following Z schema formalizes
reusable business components:

 
The descriptor of a reusable business component
gives an answer to the following question: “when
and why use this component?”. A descriptor has an
intention and a context. The intention is the
expression of the generic modeling problem; the
term “generic” here means that this problem does
not refer to the context in which it is supposed to be
solved. The context of a reusable business
component is the knowledge which explains the
choice of one alternative and not the other.
Formally, descriptors are defined by the following
schemas:

Domain refinement

3. The Assets of FORM/BCS.
 
This section describes the four main assets of
FORM/BCS: feature business components (section
3.2), subsystem architecture business components
(section 3.3), process architecture business
components (section 3.4) and module business
components (section 3.5). Since all the assets of
FORM/BCS are reusable components, section 3.1
presents the conceptual modeling of reusable
business components which is used to define the
FORM/BCS
assets
as
reusable business
components.
 

3.1 The formal model of FORM/BCS assets.
 
The assets of FORM/BCS are reusable business
components which are stored in a database. Each
reusable business component has a name, a
descriptor and a realization. The descriptor
presents the conceptual modeling problem to be

Descriptor = = [intention : Intention ;
context : Context]
Intention = = [action: EnginneeringActivity;
target: Interest]
Context = = [domain :Domain ;
process : ॲ Context]
EngineeringActivity = = AnalysisActivity
DesignActivity
AnalysisActivity = {analyze, …}
DesignActivity = {design, decompose, describe,
specify ,…}
The detailed specification is given in [1]. For the
intelligibility of this paper, we give below an
important type used in the above specification:
Interest.
The engineering activity defined in the intention
(hereafter referred to as the action of the intention)
of a reusable business component acts on a “target”
which can be a business domain or a set of business
objects. Here are two examples of intentions
formalized in FORM/BCS :

384

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

‐ 
-

(analyze)ACTION(civil
system)TARGET
(describe)ACTION(civil
application)TARGET

servant

management

servant

recruitment

Interests of engineering activities are specified by
the following schemas in which ॲ A denotes the set
of finite subsets of A.
Interest = Domain  BusinessObjects
Domain = = [action: BusinessActivity;
target : BusinessObjects ;
precision : Precision]
BusinessObjects = = ॲ Class
Class = = [name: Name;
attributs : ॲ Attribut;
operations : ॲ BusinessActivity| ]
Precision
Name
Attribut
A business activity is a set of (sub) business
activities divided into three disjoint categories: the
set of common (sub) business activities of the
activity which indicate reuse opportunity (the
commonality of the business activity), the set of
optional (sub) business activities of the activity (the
options of the business activity) and, the set of
groups of alternate (sub) business activities of the
activity (the variability of the business activity).
 
BusinessActivity == [common: ॲ
BusinessActivity ;
optional: ॲ BusinessActivity;
variabilities: ॲ ॲ BusinessActivity ]

3.1.2 Realizations
The realization section of a reusable component
provides a solution to the modeling problem
expressed in the descriptor section of the
component. It is a conceptual diagram or a
fragment of an engineering method expressed in the
form of a system decomposition, an activity
organization or an object description. The goals, the
activities and the objects figuring in the realization
section concern the application field (product
fragment) or the engineering process (process
fragment).
The solution, which is the reusable part of the
component, provides a product or a process
fragment. The types of solutions depend on the type
of reusable business component i.e a solution of a
feature business component (respectively a
reference business component) is a feature
(respectively a reference business architecture).

This solution may have adaptation points with
values fixed at the reuse moment. Adaptation points
enable the introduction of parameters in the
solutions provided by reusable components. Those
parameters are values or domains of values of
elements of the solution.
Realization = = [solution: Solution ;
adaptationpoints :
AdaptationPoints ]
Solution = = Feature 
SubsystemArchitecture 
ProcessArchitecture 
Module
AdapatationPoints = = FeatureAdaptationPoints 
SubsystemArchitecture AdaptationPoints 
ProcessArchitecture AdaptationPoints 
Module AdaptationPoints

 
Solutions and adaptation points of the different
types of reusable components (feature business
components, subsystem architecture business
components,
process
architecture
business
components, module business components) are
defined in the corresponding subsections below.
 

3.2 Feature business components
 
In FORM, a feature model of a domain gives the
“intention” of that domain in terms of generic
features which literally marks a distinct service,
operation or function visible by users and
application developers of the domain. FORM/BCS
specifies a feature model of a domain as a business
reusable component of that domain which captures
the commonalities and differences of applications
in that domain in terms of features. Feature
business components are used to support both the
engineering of reusable domain artifacts and the
development of applications using domain artifacts.
 

FeatureBusinessComponent = = [name :Name ;
descriptor:Descriptor;
realization: Realization 
 fbc:FeatureBusinessComponent,
(solution(realization(fbc))  Feature 
Adaptationpoints(realization(fbc))  ॲ (Feature ×
ॲ Feature)]
Feature = =[activity: BusinessActivity ;
objects: BusinessObjectst ;
decomposition:[common: ॲ Feature; optional: ॲ
Feature; variabilities: ॲ ॲ Feature]
generalization: ॲ Feature]
 

In the above schemas, the type Feature specifies
business activities. A business activity is caused by

385

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

an event which is applied to a target set of objects.
Features have a generalization (in the sense of
object-oriented analysis) and decomposition. A
feature’s decomposition gives the set of its common
(sub) features which indicate reuse opportunity, the
set of its optional (sub) features and the set of its
groups of alternate (sub) features.
A reusable feature business component fbc is well
formed if it satisfies the following four
characteristic properties which require that the
realization section of a feature business component
corresponds to the intention of that business
component: 
(fbc1) The solution given in the realization section
of fbc is a solution of the intended contextual
business activity of fbc:
action(domain(context(descriptor(fbc)))) =
activity(solution(realization(fbc)))

(fbc2)

The target of the intended contextual
business activity of fbc is exactly the set of
objects collaborating in the business activity
of the solution given in the realization
section of fbc:
target(domain(context(descriptor(fbc)))) =
objects(solution(realization(fbc)))

(fbc3) Any requirement expressed in the form of a
business process in the intended contextual
business activity of fbc has a unique solution
in the realization section of fbc: 
 p process(context(descriptor(fbc))),  
  g  

decomposition(solution(realization(fbc))) 
activity(g) = action(domain(p))  objects(g)
= target(domain(p))

(fbc4) Any solution in the decomposition of the
solution of the realization of fbc expressed in
the form of a feature resolves a unique
requirement expressed in the form of a
business process in the intended contextual
business activity of fbc:
 g  decomposition(solution(realization(fbc))),
  p process(context(descriptor(fbc)))
activity(g) = action(domain(p)) 
objects(g) = target(domain(p))
 

3.3 Subsystem architecture business
components
 
A subsystem architecture business component is a
reusable business component which describes a
system in terms of abstract high level subsystems
and the relationships between them.
 
SubSystemBusinessComponent = =
[name: Name;
descriptor: Descriptor;
realization: Realization
 ssbc: SubSystemBusinessComponent ,

( solution(realization(ssbc)) 
SubsystemArchitecture 
adapationpoints(realization(ssbc))  ॲ
(SubSystem× ॲ SubSystem)]
SubsystemArchitecture = =
[subsystems: ॲ SubSystem ;
Links: ॲ (Subsystem  SubSystem) ]
SubSystem = ॲ Feature 
 
A reusable subsystem business component sbc is
well formed if it satisfies the following two
characteristic properties which require that the
realization section of a subsystem business
component corresponds to the intention of that
business component:
(sbc1) Any requirement expressed in the form of a
business process in the intended contextual
business activity of sbc has a unique solution
in the realization section of sbc:
 p  process(context(descriptor(sbc))),
  ss subsystems(solution(realization(sbc))),
  f  ss, 
activity(f) = action(domain(p)) 

objects(f) = target(domain(p))
(sbc2) Any link in the solution of the realization

section of sbc resolves requirements
expressed as collaborations between business
processes in the intended contextual business
activity of sbc:
 (ss1, ss2) links(solution(realization(sbc))),
 (f1, f2) ss1  ss2  decomposition(f1) 
decomposition(f2) ≠

Graphically, the solution of a subsystem
architecture business component is represented as a
symmetric boolean matrix in which rows and
columns represent the different subsystems of the
business component and the values of the matrix
indicate the existence of links between these
subsystems.
 

3.4 Process architecture business
components
 
A process architecture business component is a
reusable business component which represents a
concurrency structure in terms of concurrent
business activities to which functional elements are
allocated; the deployment architecture shows an
allocation of business activities to resources.
 
ProcessBusinessComponent = = [name: Name;
descriptor:Descriptor;
realization: Realization 
 pbc:ProcessBusinessComponent,
(solution(realization(pbc)) 
ProcessArchitecture 
adaptationpoints(realization(pbc)) 
ॲ (BusinessActivity× ॲ BusinessActivity)]

386

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

ProcessArchitecture = =
[tasks: ॲ BusinessActivity ;
datas : ॲ Class;
dataaccess: ॲ [name: Name
access: BusinessActivity×Class ]
messages: ॲ [name: Name;
call: (BusinessActivity U
{null}) ×
(BusinessActivity U
{null})]
]

 
In the above schemas, the type ProcessArchitecture
specifies process architectures. A
process
architecture is a set of business activities and
objects (data). The business activities operate on
data and exchange messages between them (in the
form of actions call) or with the environment (null).
A reusable process architecture business component
pbc is well formed if it satisfies the following three
characteristic properties which require that the
realization section of a process business component
corresponds to the intention of that business
component:
(pbc1) Any requirement expressed as a business
process in the intended contextual business
activity of pbc has a unique solution in the
realization section of pbc:
 p  process(context(descriptor(pbc))),
 a  decomposition(action(domain(p)))
(  t tasks(solution(realization(pbc)))  t =
a)  (target(domain(p)) 
datas(solution(realization(pbc)))) (((a, d) 
dataaccess(solution(realisation(pbc))))  (( a 

decomposition(action(domain(p))) 
(decomposition(a)  operations(d)) ≠ )))
where decomposition(a) is written for common(a)
 optional(a)  ( variabilities(a))
(pbc2) Messages are sent only between tasks having
common actions:
 p  process (context(descriptor(pbc))), (((t1,

t2)  decomposition (action(domain(p))) ×
decomposition (action(domain(p))))
(decomposition(t1)  decomposition(t2) ≠ ))
 ((t1, t2) messages
(solution(realisation(pbc))))

 
3.5 Module business components
 
Module business architecture components are
refinements of process business architecture
components. A module may be associated with a
set of relevant features. Also, alternative features
may be implemented as a template module or a
higher level module with an interface that could
hide all the different alternatives. The following
schemas formally define module business
components:
 

ModuleBusinessComponent = = [name: Name ;
descriptor:Descriptor;
realization: Realization 
 mbc:ModuleBusinessComponent,
(solution(realization(mbc))  Module 
adaptationpoints(realization(mbc))  ॲ
(Module× ॲ Module)]
Module = = [ pseudonym : Name ;
parameters: ॲ Parameter;
description: [task: BusinessActivity;
included: ॲ Module;
external: ॲ Module]
specification: PseudoCode]
Parameter
PseudoCode
 
In the above schemas, a module has a name, a list
of parameters, a code in a pseudo language and a
description which defines the task done by the
module and the modules required for its execution,
some of them are included in the module and some
others are external. A module business component
mbc is well formed if it satisfies the following
characteristic property of module business
components, that is:
(mbc1) The set of requirements expressed as a
business process in the intended contextual
business activity of mbc is a singleton and
has a solution in the realization section of
mbc.
(# process(context(descriptor(mbc)) = 1) 
((p  process(context(descriptor(mbc))) 
(action(domain(p)) =
task(description(solution(realization(mbc))))))

4. The formalization of FORM with the
Business Component Semantics
horizontal engineering process.
The formalization of the horizontal engineering
process of FORM/BCS is done through four total
functions, called constructors: (i) SSA, the
subsystem architecture constructor, (ii) PA, the
process architecture constructor and, (iii) MA, the
module architecture constructor. Each constructor
specifies an activity of the horizontal engineering
process by defining how that activity produces a
target asset from an input one.

4.1 The subsystem architecture
constructor.
 
The subsystem architecture constructor SSA
corresponds to the subsystem architecture design
activity of the horizontal process. It defines how
that activity produces a reusable subsystem

387

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

business architecture component from a reusable
feature business component. The reusable
subsystem business component architecture
SSA(fbc) constructed by SSA from an input feature
business component fbc is defined as:
SSA (fbc) = (SSA.name(fbc), SSA.descriptor(fbc),
SSA.realization(fbc)) where:
(a) SSA.name(fbc) is a text used by the designer to
name the reusable subsystem business
component.
(b) SSA.descriptor(fbc) = (SSA.intention(fbc),
SSA.context(fbc)) with:
 SSA.intention(fbc) = <(decompose)ACTION
(domain(descriptor(fbc))TARGET)>, whose
meaning is that the intention of SSA(fbc) is
to decompose the business domain of fbc.
 SSA.context(fbc) = context(descriptor(fbc))
which says that the context of SSA (fbc) is
the same as the context of fbc.
(c) SSA.realization(fbc) = (SSA.solution(fbc),
SSA.adaptation_points(fbc)) where:
 SSA.solution(fbc) = (SSA.subsystems(fbc),
SSA.links(fbc)) where:
- SSA.subsystems(fbc) is the partition of the
solution of the realization of fbc defined
as follows:
(i) SSA.subsystems(fbc)  ॲ ॲ Feature
(ii) (F  SSA.subsystems(fbc)) =
decomposition(solution(realization(fbc)))
(iii)  F1, F2  SSA.subsystems(fbc) , F1 
F2  F1 F2 = ))
(iv)  F SSA.subsystems(fbc),  f

Feature , g Feature,

((f  F  g  F) 

( h  F  (objects(f)  objects(h) 
)  (objects(g)  objects(h)  ))).
- SSA.links(fbc)= {(F,G)
SSA.subsystems(fbc)× SSA.subsystems(fbc)/
(f,g)F×G  decomposition(f) 
decomposition(g) ≠ }
- SSA.adaptation_points(fbc) =
{(ss,subsystemrealizations(ss))  ss
SSA.subsystems(fbc)  ss 
adaptation_points(realization(fbc)) ≠ }
where subsystemrealizations(ss) =
{ss’:Subsystem   f ss,g ss’ / g 
featurerealizations(f) 
 g ss’, f  ss / g 
featurerealizations(f)} and
featurerealizations(f) = { g:Feature 
common(f)  common(g) V 
variabilities(f), (  h  common(g)  h 
V)  optional(g)  optional(f)}
Lemma 1: if fbc is a well formed feature business
component, then SSA(fbc) is a well formed
subsystem business component.

Proof: It suffices to show that SSA(fbc) verifies the
subsystem business components’ characteristics
defined in section 3.3:
sbc1) Suppose p process(SSA.context(fbc)), we
must show that  ss SSA.subsystems(fbc))
and  f ss such that activity(f) =
action(domain(p))  objects(f) =
target(domain(p)).
Since SSA.context(fbc) =
context(descriptor(fbc)) and fbc is a well
formed feature, then  f 
decomposition(solution(realization(fbc))) such
that activity(f) = action(domain(p)) 
objects(f) = target(domain(p)) (property fbc3).
By definition SSA.subsystems(fbc is a partition
of decomposition(solution(realization(fbc))),
hence  ss SSA.subsystems(fbc)) such that
f ss.
sbc2) Suppose (ss1, ss2)  SSA.links(fbc), we must
show that  (f1, f2 ) ss1  ss2 such that
decomposition(f1)  decomposition(f2) ≠ .
This property is trivially true by the definition
of ssa.links.
Proposition 1: Let fbc be a well formed feature
business component, all the requirements expressed
in fbc have a solution in SSA(fbc) ie:
i) If p process(context(fbc)) then  ss
SSA.subsystems(fbc) such that
 f ss and activity(f) = action(domain(p))

ii) If f decomposition(solution(realization(fbc)))
and f adaptation_points(fbc) then  ss
SSA.subsystems(fbc) such that f  ss and ss 
SSA.adaptation_points(fbc)
Proof: The proof of (i) is obvious since SSA(fbc)
has the same context as fbc and SSA(fbc) is a well
formed subsystem business component if fbc is a
well formed feature business component (lemma1).
The proof of (ii) is also obvious by the definition of
SSA.adaptation_points.
Example:Let us consider the following skeleton of
a feature business component, hereafter referred as
FM/IMCS.
Name : Functional Model of the Integrated Management of Civil Servants and Salaries in Cameroon
Intention : (Define)ACTION((manage)ACTION(civil servants and salaries)TARGET)TARGET
Context :
Domain : f = (manage)ACTION(carrers,payroll,training,network,mail,system)TARGET
Business processes :
f1 = (manage)ACTION(careers)TARGET
f2 = (manage)ACTION(payroll)TARGET
f3 = (manage)ACTION(training)TARGET
f4 = (manage)ACTION(inter-ministerial network)TARGET
f5 = (administer)ACTION(the system)TARGET
f6 = (manage)ACTION(mail)TARGET
/* sub-processes of f1 */
f11 = (manage)ACTION(recruitment)TARGET
f12 = (manage)ACTION(promotion)TARGET
f13 = (transfer)ACTION(file)TARGET
/* sub-processes of f2 */
f21 = (transfer)ACTION(file)TARGET
f22 = (calculate)ACTION(salaries)TARGET
f23 = (manage)ACTION(users)TARGET
f24 = (manage)ACTION(profiles, users)TARGET
/* sub-processes of f4 */
f41 = (use)ACTION(optic fiber network)TARGET
f42 = (use)ACTION(radio network)TARGET
f43 = (use)ACTION(twisted pair network)TARGET
/* sub-processes of f5 */
f51 = (manage)ACTION(users)TARGET
f52 = (manage)ACTION(profiles, users)TARGET
f53 = (manage)ACTION(connexions, users)TARGET
f54 = (manage)ACTION(the audit track, users)TARGET

388

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
www.IJCSI.org
/* sub-processes of f11 */
f111 = (integrate)ACTION (civil servant)TARGET (if he has passed a competitive
examination
or he has a diploma giving right to integration)PRECISION
f112 = (sign recruitment order)ACTION (civil servant)TARGET (if the prime minister office
has authorized)PRECISION
etc…
Solution :
f
f1

f11
f111

f12

f112

f2

f3

f13

f4

f41

f42

f5

f43

f51

f52

f6

f53

f54

f113

Adaptation Points : {(f, realizations(f)), (f4, realizations(f4)), (f5, realizations(f5))}
End.

Due to limited space, the complete specification of
the components of this ongoing real case study
cannot be given. Only some relevant sections are
shown in order to give the intuition to the reader. A
skeleton of the sub-system architecture business
component SSAM/IMCS derived from FM/IMCS
is given below:
Name : Subsystem architecture of the Integrated Management of Civil
Servants and Salaries in Cameroon
Intention : (Decompose)ACTION((manage)ACTION(civil servants and
salaries)TARGET)TARGET

Solution:
Subsystems:
SS1 = {f1}
SS2 = {f2}
SS3 = {f3}
SS4 = {f4}
SS5 = {f5}
SS6 = {f6}
Links:

SS1  SS2 , SS2  SS5

Adaptation Points : {(SS4, …) , (SS5, …)}
End.

4.2 The process architecture constructor.
 
The process architecture constructor PA formalizes
the process architecture design activity of the
horizontal process. It defines how that activity
produces a set of process business architecture
components from a reusable subsystem business
component. The set of reusable process business
component architectures PA(sbc) constructed by PA
from an input subsystem business component sbc
is defined as follows:  
PA(sbc) = {(PA.name(p), PA.descriptor(p),
PA.realization(p))  p  process(sbc)} where
(a) PA.name (p) is a text used by the designer to
designate the process business component.
(b) PA.descriptor(p) = (PA.intention(p),
PA.context(p)) where
 PA.intention(p) = (describe)ACTION (p)TARGET
whose meaning is that the intention of the
process architecture built from p 
process(sbc) is to describe p.
 PA.context(p) = (domain(sbc), {p})
This says that the domain of the context of
the process architecture constructed from
the process p process (sbc) is the same as

the domain of sbc. The set of his processes
has a single process equals to p..
(c) PA.realization(p) = (PA.solution(p),
PA.adaptation_points(p)) where
 PA.solution(p) = (PA.tasks(p),
PA.datas(p), PA.dataaccess(p),
PA.messages(p)) where
PA.tasks(p) =
decomposition(action(domain(p)));
That is tasks of the process architecture of
a process p in process(sbc) are tasks
obtained
by
decomposing
action(domain(p)).
PA.datas(p) = target(domain(p));
whose meaning is that the set of the
process architecture of a process p in
process(sbc) corresponds to the target of
the domain of p
PA.dataaccess(p) = {(t, c) 
decomposition(action(domain(p))) ×
target(domain(p)) / decomposition(t) 
operations(c) ≠}
That is data access of the process
architecture of a process p in process(sbc)
are pairs composed with tasks obtained by
decomposing p and class of target(p).
PA.messages(p) = {(t1, t2) 
(decomposition (action(domain(p)))) 2 /
decomposition (t1)  decomposition (t2)
≠}.
This means that messages of the process
architecture of a process p in process(sbc)
are pairs of tasks (t1, t2) obtained by
decomposing action(domain(p)) such that
decomposition (t1)  decomposition (t2)
≠.
 PA.adaptation_points(p)) = {(t1, A)  t1
PA.tasks(p) 
A = {t2 : BusinessActivity  common(t1) 
common(t2) 
( V  variabilities(t1),   g 
common(t2)  g  V) 
optional(t1)  optional(t2)}  #A > 1}.
That is, adaptation points of the process
architecture of a process p in process(sbc)
are tasks of the process architecture of p
for which we have more than one
realization.
Lemma 2: if sbc is a well formed subsystem
business
component,
then
(PA.name(p),
PA.descriptor(p), PA.realization(p)) such that p 
process(sbc) is a well formed process business
component.
Proof: It is sufficient to show that (PA.name(p),
PA.descriptor(p), PA.realization(p)) verifies the
process business components’ characteristics
defined in section 3.4:

389

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

pbc1) Suppose q  process (PA.context(p)), a 
decomposition(action(domain(q))) we must
show that
 t  PA.tasks(p)  t = a 
target(domain(q))  PA.datas(p) 
((((a, d)  PA.dataaccess(p)  ((a 

decomposition(action(domain(q)))) 
((decomposition(a)  operations(d) ≠ )))
where decomposition(a) is written for common(a)
 optional(a)  ( variabilities(a)).

q  process (PA.context(p))  q = p (1)

basing on (1) a 
decomposition(action(domain(q)))  a 
decomposition(action(domain(p))).

By the definition of PA.tasks, PA.tasks(p) =
decomposition(action(domain(p))), hence 
t  PA.tasks(p)  t = a
According to the definition of PA.datas,
PA.datas(p) = target(domain(p)), and basing
on (1) we conclude that target(domain(q)) 
PA.datas(p)
By the definition of PA.dataaccess, ((((a, d) 
PA.dataaccess(p)  ((a 

decomposition(action(domain(q)))) 
((decomposition(a)  operations(d) ≠ )))

pbc2) Suppose q  process (PA.context(p)), we
must show that ((t1, t2)  decomposition
(action(domain(q))) × decomposition
(action(domain(q)))  (decomposition(t1) 
decomposition(t2) ≠ ))  ((t1, t2)
PA.messages(p))
q  process (PA.context(p))  q = p (1)
By the definition of PA.messages,
PA.messages(p) = {(t1, t2) 
(decomposition (action(domain(p)))) 2 /
decomposition (t1)  decomposition (t2)
≠} (2)
Basing on (1) and (2), we conclude that
((t1, t2)  decomposition
(action(domain(q))) × decomposition
(action(domain(q)))  (decomposition(t1) 
decomposition(t2) ≠ ))
(t1, t2) PA.messages(p)

Proposition 2: Let sbc be a well formed subsystem
business component, all the requirements expressed
in sbc have a solution in PA(sbc) ie:
i) If p process(sbc) then  pa  PA(sbc)
such that
pa = (PA.name(p), PA.descriptor(p),
PA.realization(p))
ii) If ss 
subsystems(solution(realization(sbc))), f
ss and g  decomposition(f) such that
decomposition(g)  common(g) then  t
PA.tasks(p) such that action(domain(p)) =
activity(f), t = activity(g) and t 
PA.adaptation_points(p) where p
process(sbc).

Proof: The proof of (i) is obvious since PA(sbc) =
{(PA.name(p), PA.descriptor(p), PA.realization(p))
 p  process(sbc)}. The proof of (ii) is also
obvious by the definition of PA.adaptation_points.
Example:
By applying the previous passage rule to the
process f1 = (manage = [{recruit, promote,
liquidate, transfer}, {}, {}]) ACTION (candidates,
requests, competitive examinations, civil servants,
deeds) TARGET of the previous subsystem business
component, we obtain the process business
component below named PAM/RM:
Name: Process architecture model of careers management.
Intention : (describe)ACTION((manage = [{recruit, promote, liquidate,
requests,
transfer},
{},
{}])ACTION(candidates,
competitive
examinations,
civil
servants,
deeds)TARGET)TARGET
Context :
Domain : f =
(manage)ACTION(careers,payroll,training,network,m
ail,system)TARGET
Process : f1 = (manage = [{recruit, promote, liquidate,
transfer}, {}, {}])ACTION(candidates, requests,
competitive
examinations,
civil
servants,
deeds)TARGET
/* sub process of the process f1 */
f11 = (recruit = [{initiate, validate, visa, sign},
{modify,
delete,
remove
validation},
requests,
competitive
{}])ACTION(candidates,
examinations, civil servants, deeds)TARGET(If he has
succeeded to a competitive examination or he has a
diploma giving right to integration or the
presidency
of
the
republic
has
gave
agreement)PRECISION
f12 = (promote = [{initiate, validate, visa, sign},
{modify, delete, remove validation}, {}]) ACTION (
requests, civil servants, deeds) TARGET
f13 = (liquidate = [{initiate, validate, visa, sign},
{modify, delete, remove validation}, {}]) ACTION (
requests, civil servants, deeds) TARGET
f14 = (transfer = [{initiate, validate, visa, sign},
{modify, delete, remove validation}, {}]) ACTION (
civil servants, deeds) TARGET

Solution :
tasks: decomposition(action(f1))
datas: target(f1)
dataaccess: {(t, c)  decomposition(action(f1)) × target(f1) /
decomposition(t)  operations(c) ≠}
messages: {(t1, t2) 
decomposition (action(f1)) ×
decomposition (action(f1)) / decomposition (t1) 
decomposition (t2) ≠}
Adaptation points :
{(t1, A)  t1 pa.tasks(f1) 
A = {t2 : BusinessActivity  common(t1)  common(t2) 
( V  variabilities(t1),   g  common(t2)  g  V) 
optional(t1)  optional(t2)}  #A > 1}
End.

4.3 The module architecture constructor.
 
The module architecture constructor MA
corresponds to the module architecture design
activity of the horizontal process. It defines how
that activity produces a set of module business
architecture components from a reusable process
business component. The set of reusable module
business component architectures MA(pbc)
constructed by MA from an input process business
component pbc is defined as:

390

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

  
MA(pbc) = {(MA.name(t), MA.descriptor(t),
MA.realization(t))  t  process(p), p
process(pbc)} where :
(a) MA.name (t) is a text used by the designer to
name the module business component.
(b) MA.descriptor(t) = (MA.intention(t),
MA.context(t)) where
 Ma.intention(t) = <(specify)ACTION (t)TARGET>
meaning that the intention of the module
architecture built from t is to specify t.
 MA.context(t) = (domain(pbc), {t})
This says that the domain of the context of
the module architecture constructed from
the task t is the same as the domain of pbc.
The set of these processes has a single
process equals to t..
(c) MA.realization(t) = (MA.solution(t),
MA.adaptation_points(t)) where
 MA.solution(p) = (MA. pseudonym (t),
MA.parameters(t), MA.task(t),
MA.included(t), MA.external(t),
MA.specification(t)) where
MA. pseudonym (t) is a text used by the
designer to name the solution;
MA.parameters(t) is a set of texts pointing
out business objects (or classes) in the
target of the domain of t;
Ma.task(t) = action(domain(t))
That is the task of the solution of the
module architecture constructed from the
context t is the action of the domain of t.
MA.included(t) = {m:Module  task(m) 
decomposition(action (domain(t)) ) 
specification(m)  ˝˝ };
Meaning that, modules included in the
module architecture constructed from the
context t are module for which the task is a
subtask of t and the specification is not
empty.
MA.external(t) = {m:Module  task(m) 
decomposition(action (domain(t)) ) 
specification(m) = ˝˝ };
Meaning that, external modules in the
module architecture constructed from the
context t are module for which the task is a
subtask of t and the specification is empty.
MA.specification(t) = {specification(m) 
m  MA.included(t)  MA.required(t)}.
That is the specification of the module
architecture constructed from the context t
is the set of specifications of subtasks of t.
 MA.adaptation_points(t)) = {(m1, A) 
m1 MA.included(t) 
A = {m2 : Module  common(task(m1)) 
common(task(m2)) 
( V  variabilities(task(m1)),   g 
common(task(m2))  g  V) 
optional(task(m1))  optional(task(2))} 

#A > 1}. That is, adaptation points of the
module architecture of a context t are
modules included in the module architecture of
t for which we have more than one realization.

Lemma 3: if pbc is a well formed process business
component, then (MA.name(t), MA.descriptor(t),
MA.realization(t)) such that t  process(p) and p
process(pbc) is a well formed module business
component.
Proof: It suffices to show that (MA.name(t),
MA.descriptor(t), MA.realization(t)) verifies the
module business components’ characteristics
defined in section 3.5:
mbc1) Suppose p process(pbc) and t 
process(p),
we
must
show
that
(#MA.process(t) = 1) 
((p  MA.process(t))  (action(domain(p)) =
MA.task(t)).
This property is trivially true by the
definition of MA.process.
Proposition 3: Let pbc be a well formed process
business component, all the requirements expressed
in pbc have a solution in MA(pbc) ie:
i) If p process(pbc) and t  process(p)
then  ma  MA(pbc) such that ma =
(MA.name(t), MA.descriptor(t),
MA.realization(t))
ii) If t  tasks(solution(realization(pbc))) and
a  decomposition(t) such that
decomposition(a)  common(a) then 
m MA.adaptation_points(t) such that
task(m) = a.
Proof: The proof of (i) is obvious since MA(pbc) =
{(MA.name(t), MA.descriptor(t), MA.realization(t))
 t  process(p), p process(pbc)}. The proof of
(ii) is also obvious by the definition of
MA.adaptation_points.
Example:
By applying the previous passage rule to the task
integrate of the previous process business
component, we obtain the module business
component below named MAM/ICS: 
 
 
 
Name: Module business architecture of the recruitment of a civil servant.
Intention : (specify) ACTION ((recruit = [{initiate, validate, visa, sign},
{modify,
delete,
remove
validation},
{}])ACTION(candidates, requests, competitive examinations,
civil servants, deeds)TARGET(If he has succeeded to a
competitive examination or he has a diploma giving right
to integration or the presidency of the republic has gave
agreement)PRECISION ) TARGET
Context :
Domain :
f
=
(manage)ACTION(careers,payroll,training,network,mail,system
)TARGET
Process: f11 = (recruit = [{initiate, validate, visa, sign}, {modify,
delete, remove validation}, {}])ACTION(candidates,
requests, competitive examinations, civil servants,
deeds)TARGET(If he has succeeded to a competitive
examination or he has a diploma giving right to
integration or the presidency of the republic has gave

391

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
www.IJCSI.org
agreement)PRECISION
/* sub process of the process f11 */
(initiate)ACTION ({Deed, Servant })TARGET
(validate)ACTION ({Deed})TARGET
(visa)ACTION ({Deed})TARGET
(sign)ACTION ({Deed})TARGET
(modify)ACTION ({Deed})TARGET
(delete)ACTION ({Deed})TARGET
(removevalidation)ACTION ({Deed})TARGET
Solution :
pseudonym : recruit;
parameters: {candidates, requests, competitive examinations, civil
servants, deeds};
task: <{initiate, validate, visa, sign}, {modify, delete, remove
validation}, {}>;
task(m)  decomposition(action
included: {m:Module 
(domain(recruit)) )  specification(m)  ˝˝ };
external: {m:Module 
task(m)  decomposition(action
(domain(recruit)) )  specification(m) = ˝˝ };
specification: {specification(m)  m   Ma.included(recruit) 
Ma.required(recruit)}
Adaptation Points :
{(m1, A)  m1 Ma.included(recruit) 
A = {m2 : Module  common(task(m1))  common(task(m2)) 
( V  variabilities(task(m1)),   g  common(task(m2))  g  V)
 optional(task(m1))  optional(task(m2))}  #A > 1}
End.

 

5. Related works.
The scientific community has a lot of interest for
feature-oriented approaches in product line
engineering. A recent and exhaustive overview of
feature-oriented development done by Sven Apel
and Christian Kästner [15] points to connections
between different lines of research and identifies
open issues following the phases of the featureoriented development process: domain analysis,
domain design and specification, domain
implementation, product configuration and
generation, feature-oriented development theory.
The issues addressed in this paper mainly concern
domain analysis and domain design and
specification. Concerning domain analysis,
according to Sven Apel and Christian Kästner, the
main challenge is to reconcile the two field uses of
feature models, which are useful for the
communication between stakeholders on the one
hand and the automation of the development
process on the other hand. Concerning this issue,
the formalism used in this work has a simple and
intuitive syntax which enables modeling of
domains in a natural way. Nevertheless, the Z
notation which gives formal semantics to our
business feature models provides a framework for a
rigorous analysis of the method and opens the door,
through the given mapping rules, for a possible
automation of the development process.
Another major line of research is aimed at enriching
feature models with additional information which
can be used to guide the configuration and
generation process. But, the more information is
exposed to model, the more complex the model
becomes. To avoid this complexity, additional
information are not added to the feature model but,
a new model called feature business component
model is proposed. This new model has two parts:

the solution part which can be any classical feature
model and the contextual part whose aim is to
increase the understanding of the solution part,
during the product configuration and generation
process in order to rule out invalid or suboptimal
product variants.
Concerning the domain design and specification,
that is the product line architecture definition
process, remarkably, there has not been much work.
Researchers concentrated mainly on feature
modeling and feature implementation. This is in
stark contrast to non- feature-oriented approaches,
in which developers have to design product line
architecture first in order to define the granularity
of components or extension points in a common
framework. This work gives a set of mapping rules
which build product line architecture from its
feature model as in [16]
Concerning domain implementation, one key issue
is to establish a one-to-one mapping between
features that appear during the domain analysis and
feature that appear at the implementation level.
Although the Domain implementation is not
considered in this work, its importance is taken into
consideration since the main theorem of the work
given below, trivially proven from propositions 1,
2, and 3, shows that all the features that appear
during the domain analysis (i. e. in the feature
model) have a solution in the derived product line
architecture.
Theorem: All requirements expressed in a well
formed feature business component fbc have a
solution in MA (pbc) where pbc  PA(SSA(fbc))),
that is:
i) If p process(context(fbc)) and t 
process(p) then  ma  MA(pbc) with
pbc  PA (SSA (fbc))) such that ma =
(MA.name(t), MA.descriptor(t),
MA.realization(t)).
ii) If t  tasks(solution(realization(pbc)))
with pbc  PA (SSA (fbc))) , and a 
decomposition(t) such that
decomposition(a)  common(a) then 
m MA. adaptation_points (t) such that
task(m) = a.

6. Conclusion
 
The goal of this article was to formalize the
FORM/BCS horizontal engineering process. We
have shown that this process can be systematized
through a set of maps describing how one can
systematically and rigorously derive the
fundamental business architectures of a product line
from the feature model of that domain. This
derivation is currently done first at a high
abstraction level and the business architectures
obtained have to be refined to integrate more
operational
details.
Therefore,
our
next

392

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

investigation field concerns the formalization of
FORM/BCS vertical engineering process which
deals with the refinement of business process
components.
 

References
[1]

[2]

[3]
[4]

[5]

[6]

[7]

[8]

[9]
[10]
[11]
[12]
[13]
[14]

[15]

M. Fouda, Amougou Ngoumou, "The Feature
Oriented Reuse Method with Business Component
Semantics", International Journal of Computer
Science and Applications, Vol. 6, No. 4, 2009, pp
63-83.
K. C. Kang, S. Kim, E. Shin, and M. Huh, "FORM:
A Feature-Oriented Reuse Method with DomainSpecific Reference Architectures", Annals of
Software Engineering, Vol. 5, 1998, pp. 143-168.
K.C. Kang, J. Lee, and P. Donohoe, “FeatureOriented Product Line Engineering,” IEEE
Software, Vol. 19, no. 4, July/Aug. 2002, pp. 58-65.
K. Lee, K. C. Kang, W. Choi, "Feature-Based
Approach to Object-Oriented Engineering of
Applications for Reuse", Software-Practice and
Experience, 30, 2000, pp.1025-1046.
K.C. Kang et al., “Feature-Oriented Product Line
Software Engineering: Principles and Guidelines,”
Domain
Oriented
Systems
Development:
Perspectives and Practices, K. Itoh et al., eds.,
2003, pp. 29-46.
V. Pujalte, P. Ramadour, C. Cauvet, "Recherche de
composants réutilisables : une approche centrée sur
l’assistance à l’utilisateur", in Actes du 22ème
congrès Inforsid, Biarritz, , 25-28 may 2004, pp.
211-227.
P. Ramadour, C. Cauvet, “Approach and Model for
Business Components Specification”, Proceeding
of the 13th International Conference on Database
and Expert Systems Applications, Lecture Notes In
Computer Science; Vol. 2453, 2002, pp 628-637.
F. Barbier, C. Cauvet, M. Oussalah, D. Rieu, S.
Bennasri, C. Souveyet, “Composants dans
l’Ingénierie des Systèmes d’Information: Concepts
clés et techniques de réutilisation ”, in Assises du
GDR I3, Nancy, Décembre 2002.
W. B. Frakes, K. Kang, “Software Reuse Research :
Status and Future”, IEEE Transactions on Software
Engineering, Vol.. 31, N°.7, July 2005.
D.M. Weiss and C.T. R. Lai, “Software ProductLine Engineering: A Family-Based Software
Development Process”. Addison-Wesley, 1999.
W. Frakes, R. Prieto-Diaz, and C. Fox, “DARE:
Domain Analysis and Reuse Environment”, Annals
of Software Engineering. vol. 5, 1998, pp. 125-141.
C. Atkinson et al., “Component-Based Product Line
Engineering with UML”. Addison-Wesley, 2002.
R. Ommering et al., “The Koala Component Model
for Consumer Electronics Software,” Computer,
vol. 33, no. 3, 2000, pp. 78-85.
Y. Jia, Y. Gu, “The Representation of Component
Semantics: A Feature-Oriented Approach”, in
Proceedings of the 9th IEEE Conference and
Workshops on Engineering of Computer-Based
Systems, Lund University, Lund, Sweden, April 811, 2002.
Sven Apel, Christian Kästner, “An Overview of
Feature-Oriented Software Development”, Journal

of Object Technology, Vol. 8, no. 5, July-August
2009, pp. 49-84.
[16] C. Zhu, Y. Lee, W. Zhao, J. Zhang, “A feature
oriented approach to mapping from domain
requirements to product line architecture”,
Proceeding of 2006 International Conference of
Software Engineering Research & Practice
(SERP’06/ISBN#:1-932415-92-0/CSREA), Editor:
Hamid R. Arabnia and Hassan Reza, pp 219-225,
Las Vegas, USA, 2006.
Marcel Fouda Ndjodo received his MSc (1988), PhD
(1992) in Mathematics and Computer science from
Université of Aix-Marseille II (France). He is currently a
Senior Lecturer and Head of Department of Computer
Science and Instructional Technology at the Higher
Teachers’ Training College, University of Yaoundé I
(Cameroon). His research interests include Formal
Methods, Workflow Modeling, Domain Engineering and
Computer technology applied to education.
Amougou Ngoumou received his MSc (2001) in
Computer science from the Faculty of Science of the
University of Yaoundé I (Cameroon). He is currently a
Lecturer at the Institute of technology of the University of
Douala and a PhD student at the Faculty of Science of the
University of Yaoundé I. His main research interests
include Feature-oriented Domain Engineering and
Component-Based Software Development.

393

394

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

Ternary Tree and Clustering Based Huffman Coding Algorithm
1

Pushpa R. Suri and 2Madhu Goel

1

Department of Computer Science and Applications,
Kurukshetra University, Haryana, India

2

Department of Computer Science and Engineering,
Kurukshetra Institute of Technology and Management, KUK

Abstract
In this study, the focus was on the use of ternary tree over binary
tree. Here, a new two pass Algorithm for encoding Huffman
ternary tree codes was implemented. In this algorithm we tried to
find out the codeword length of the symbol. Here I used the
concept of Huffman encoding. Huffman encoding was a two pass
problem. Here the first pass was to collect the letter frequencies.
You need to use that information to create the Huffman tree. Note
that char values range from -128 to 127, so you will need to cast
them. I stored the data as unsigned chars to solve this problem,
and then the range is 0 to 255. Open the output file and write the
frequency table to it. Open the input file, read characters from it,
gets the codes, and writes the encoding into the output file. Once
a Huffman code has been generated, data may be encoded simply
by replacing each symbol with its code. To reduce the memory
size and fasten the process of finding the codeword length for a
symbol in a Huffman tree, we proposed a memory efficient data
structure to represent the codeword length of Huffman ternary
tree. In this algorithm we tried to find out the length of the code
of the symbols used in the tree.

Keywords:

Ternary tree, Huffman’s algorithm,
Huffman encoding, prefix codes, code word length

1. Introduction
Ternary tree [12] or 3-ary tree is a tree in which each node
has either 0 or 3 children (labeled as LEFT child, MID
child, RIGHT child). Here for constructing codes for
ternary Huffman tree we use 00 for left child, 01 for mid
child and 10 for right child.
Generation of Huffman codes for a set of symbols is based
on the probability of occurrence of the source symbols.
Typically, the construction of a ternary tree, describes the
process this way:


List all possible symbols with their probabilities;



Find the three symbols with the smallest
probabilities;



Replace these by a single set containing all three
symbols, whose probability is the sum of the
individual probabilities;



Repeat until the list contains only one member.

This procedure produces a recursively structured set of
sets, each of which contains exactly three members. It,
therefore, may be represented as a ternary tree (“Huffman
Tree”) with the symbols as the “leaves.” Then to form the
code (“Huffman Code”) for any particular symbol:
traverse the ternary tree from the root to that symbol,
recording “00” for a left branch and “01” for a mid branch
and “10” for a right branch. One issue, however, for this
procedure is that the resultant Huffman tree is not unique.
One example of an application of such codes is text
compression, such as GZIP. GZIP is a text compression
utility, developed under the GNU (Gnu's Not Unix)
project, a project with a goal of developing a “free” or
freely available UNIX-like operation system, for replacing
the “compress” text compression utility on a UNIX
operation system.
As is well-known, the resulting Huffman codes are prefix
codes and the more frequently appearing symbols are
assigned a smaller number of bits to form the variable
length Huffman code. As a result, the average code length
is ultimately reduced from taking advantage of the
frequency of occurrence of the symbols
Huffman encoding [13] of numerical data, or more broadly
variable bit length encoding of numerical data, is an
important part of many data compression algorithms in the
field of video processing. Huffman encoding is effective
to compress numerical data by taking advantage of the fact
that most data sets contain non-uniform probability
distributions of data values. When using the Huffman
method the data values are encoded using codes of
different bit lengths. The more frequently occurring data
values are assigned shorter codes and the less frequently
occurring data values are assigned longer codes. Thus, the
average code length for the data values in the data set is
minimized. For typically skewed probability distributions

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

of data values the use of Huffman encoding may achieve a
compression factor of between one and one-half and two
times.
In Huffman Coding [6] the main work is to label the
edges. Huffman Coding uses a specific method for
choosing the representation for each symbol, resulting in a
prefix - free code (some times called "Prefix Codes") i.e.
the bit string representing some particular symbol is never
a prefix of the bit string representing any other symbol that
expresses the most common characters using shorter
strings of bits that are used for less common source
symbols. The assignment entails labeling the edge from
each parent to its left child with the digit 00, and the edge
to the mid child with 01 and edge to the right child with
11. The code word for each source letter is the sequence
of labels among the path from the root to the leaf node
representing that letter. Only Huffman Coding is able to
design efficient compression method of this type.
Huffman Coding is such a widespread method for creating
prefix-free codes that the term "Huffman Code" is widely
used as synonym for "Prefix Free Code".

395

means that there cannot be any ambiguity in decoding any
message using a Huffman Code.
If we will represent the same data item with same weights
in Binary Tree as well as in Ternary Tree[11] then we can
easily point out the comparison between two
representation as follows: In Ternary Tree: Memory used using Sequential Representation = 34
Memory used using Linked List Representation = 13
Number of Internal Nodes = 4
Path length = 199
Height of the tree = 4
Total Number of Nodes (Internal + External) = 13
Searching on Node is fast
Length of External Node (LE )= 2LI + 3n

Now, for example, we will give a coding using variable
length strings that is based on the Huffman Tree for
weighted data item as follows: -

Here Labeling the left edge by 00, mid edge by 01 and right edge
by 11 satisfies prefix Property

While In Binary Tree: Memory used using Sequential Representation = 51
Memory used using Linked List Representation = 17
Number of Internal Nodes = 8
Path length = 306
Height of the tree = 6
Total Number of Nodes (Internal + External) = 17
Searching on Node is slow
The Huffman Code for Ternary Tree
assigns to each external node the sequence of bits from the
root to the node. Thus the above Tree determines the code
for the external nodes: -

Length of External Node (LE )= = LI + 2n

Here Labeling the left edge by 0 and right edge by 1
satisfies prefix Property.

G: 00

I: 0100

C: 0101

F: 0111

D: 1101

A: 1111

E: 110000

B: 110001

H: 110011

This code has "Prefix Property" i.e. the code of any item is
not an initial sub string of the code of any other item. This

One may generate the length information for the Huffman
codes by constructing the corresponding Huffman tree.
However, as previously indicated, Huffman codes may not
be unique when generated in this fashion. Nonetheless, it
may be shown that by imposing two restrictions, the
Huffman code produced by employing the Huffman tree
may be assured of being unique. These restrictions are:

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

396

1. All codes of a given bit length have lexicographically
consecutive values, in the same order as the symbols they
represent; and
2. Shorter codes lexicographically precede longer codes.
2. Materials and Methods
Ordering and clustering based Huffman Coding groups the
code words (tree nodes) within specified codeword
lengths
Characteristics of the proposed coding scheme:
1. The search time for more frequent symbols (shorter
codes) is substantially reduced compare to less frequent
symbols, resulting in an overall faster response.
2. For long code words the search for the symbol is also
speed up. This is achieved through a specific
partitioning technique that groups the code bits in a
codeword, and the search for a symbol is conducted by
jumping over the groups of bits rather than going
through the bit individually.
3. The growth of the Huffman tree is directed toward one
side of the tree.
–Single side growing Huffman tree (SGH-tree)

Each block of symbols, so defined, occupies one level in
the associated Huffman tree.

Ex: H=(S, P)
S= {S1, S2,…, Sn}
P= {P1, P2,…, Pn}
Where p=No. of occurrence

S1
S2
S3
S4
S5
S6
S7

48
31
7
6
5
2
1

S1 48 S1 48
S2 31 S2 31
A1 8 A2 21
S3 7
S4 6

1. Order the symbols according to their probabilities
Alphabet set: S1, S2, …, SN
Prob. of occurrence: P1, P2, , PN
The symbols are rearranged so that
P1>=P2>=…>=PN
2. Apply a contraction process to the three symbols with
the smallest probabilities
Replace symbols SN-2, SN-1 and SN by a “hypothetical”
symbol, say HN-1 that has a `prob. of occurrence PN-2+PN1+PN
The new set of symbols has N-2 members:
S1, S2, …, SN-3, HN-2
3. Set

Table I
For a given source listing H, the table of codeword length
uniquely groups the symbols into blocks, where each
block is specified by its codeword length (CL).

SN-2+SN-1+SN=A1
Where A1 is inserted at proper location.
4. Repeat the steps 2 & 3 until we have last three symbols.
Table I shows the symbols used in Huffman tree.
5. Now construct the table of CL-Recording
6. First column of CL-Recording table is represented by Si
where
Si= (entries of last row of every column) 0

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

397

Second row of CL-Recording is represented by Si-1 where
Si-1= (entries of second last row of every column)

Length of External Node (LE) =LI + 2n

Third row of CL-Recording table is represented by Si-2
where
Si-2= (entries of third lat row of every column)

4. Conclusions

Fourth row (last row) is used to calculate code word
length.
7. To calculate the entries of codeword length.
CL (last row) =2
This designates the codeword length for entire row.
Now increment the last row
CL (last row) +2=4
Repeat steps to find the codeword length for entire
symbols.
8. Therefore, table II (codeword length recording) indicate
that each original symbol in the table has its CL
(codeword length) specified.
9. Ordering the symbols according to their CL values
gives table III (table of codeword length)
3. Result & discussion
If we will represent the same data item with same
weights in Binary Tree as well as in Ternary Tree then
we can easily point out the comparison between two
representation as follows: -

The main contribution of this study is exploiting
the property implied in the Huffman tree to simplify the
representation of the Huffman tree and the encoding
procedure. Moreover our algorithm can also be
parallelized easily. We already showed that representation
of Huffman Tree using Ternary tree is more beneficial
than representation of Huffman Tree using Binary tree in
terms of path length, height, number of internal & external
nodes and in error correcting & detecting codes

Acknowledgements
The author Madhu Goel would like to thank Kurukshetra
University Kurukshetra for providing me University
Research Scholarship & support of Kurukshetra Institute
of Technology & Management (KITM) .
References
[1]

BENTLEY, J. L., SLEATOR, D. D., TARJAN, R. E.,
AND WEI, V. K. A locally adaptive data compression
scheme. Commun. ACM 29,4 (Apr. 1986), 320-330.

[2]

DAVID A. HUFFMAN, Sept. 1991, profile
Background story: Scientific American, pp. 54-58

[3]

ELIAS, P. Interval and regency-rank source coding:
Two online adaptive variable-length schemes. IEEE
Trans. InJ Theory. To be published.

[4]

FALLER, N. An adaptive system for data
compression. In Record of the 7th Asilomar
Conference on Circuits, Systems, and Computers.
1913, pp. 593-591.

[5]

GALLAGER, R. G. Variations on a theme by
Huffman. IEEE Trans. Inj Theory IT-24, 6 (Nov.1978),
668-674.

[6]

Hashemain, “memory efficient and high-speed search
Huffman Coding” IEEE Trans. Communication
43(1995) pp. 2576-2581.

[7]

Hu, Y.C. and Chang, C.C., “A new losseless
compression scheme based on Huffman coding scheme
for image compression”,

In Ternary Tree: Number of Internal Nodes = 4
Path length = 199
Height of the tree = 4
Total Number of Nodes (Internal + External) = 13
Searching on Node is fast
Length of External Node (LE )= 2LI + 3n

While in Binary Tree: Number of Internal Nodes = 8
Path length = 306
Height of the tree = 6
Total Number of Nodes (Internal + External) = 17
Searching on Node is slow

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

[8]

KNUTH, D. E, 1997. The Art of Computer
Programming, Vol. 1: Fundamental Algorithms, 3rd
edition. Reading, MA: Addison-Wesley, pp. 402-406

[9]

KNUTH, D. E. Dynamic Huffman coding. J.
Algorithms 6 (1985), 163-180.

[10]

MacKay, D.J.C., Information Theory, Inference, and
Learning Algorithms, Cambridge University Press,
2003.

[11]

MCMASTER, C. L. Documentation of the compact
command. In UNIX User’s Manual, 4.2 Berkeley
Software Distribution, Virtual VAX- I Version, Univ.
of California, Berkeley, Berkeley,
Calif., Mar. 1984. ,

[12]

PUSHPA R. SURI & MADHU GOEL, Ternary Tree &
A Coding Technique, IJCSNS International Journal of
Computer Science and Network Security, VOL.8 No.9,
September 2008

[13]

PUSHPA R. SURI & MADHU GOEL, Ternary Tree &
FGK
Huffman
Coding
Technique,
IJCSNS
International Journal of Computer Science and
Network Security, VOL.9 No.1, January 2009

[14]

PUSHPA R. SURI & MADHU GOEL, A NEW
APPROACH TO HUFFMAN CODING, Journal of
Computer Science. VOL.4 ISSUE 4 Feb. 2010 .

[15]

ROLF KLEIN, DERICK WOOD, 1987, on the path
length of Binary Trees, Albert-Lapwings University at
Freeburg.

[16]

ROLF KLEIN, DERICK WOOD, 1988, On the
Maximum Path Length of AVL Trees, Proceedings of
the 13th Colloquium on the Trees in Algebra and
Programming, p. 16-27, March 21-24.

[17]

SCHWARTZ, E. S. An Optimum Encoding with
Minimum Longest Code and Total Number of Digits.
If: Control 7, 1 (Mar. 1964), and 37-44.

[18]

TATA MCGRAW HILL, 2002 theory and problems of
data structures, Seymour lipshutz, tata McGraw hill
edition, pp 249-255

[19]

THOMAS H. CORMEN, 2001 Charles e. leiserson,
Ronald l. rivest, and clifford stein.

[20]

Thomas H.Cormen Charles E. Leiserson, Ronald L.
Rivest, and Clifford Stein. Introduction to algorithms,
Second Edition. MIT Press and McGraw-Hill, 2001.
Section 16.3, pp. 385–392.

.
Dr. Pushpa Suri is a reader in the department of computer
science and applications at Kurukshetra University
Haryana India. She has supervised a number of Ph.D.

398

students. She has published a number of research papers in
national and international journals and conference
proceedings.

Mrs. Madhu Goel has
Master’s degree (University Topper) in Computer Science.
At present, she is pursuing her Ph.D. and working as
Lecturer in Kurukshetra Institute of Technology &
Management
(KITM),
Kurukshetra
University
Kurukshetra. Her area of research is Algorithms and Data
Structure where she is working on Ternary tree structures.
. She has published a number of research papers in
national and international journals.

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

399

Risk Quantification Using EMV Analysis – A Strategic Case of
Ready Mix Concrete Plants
Roopdarshan Walke1, Vinay Topkar 2, Sajal Kabiraj3
1

Research Scholar for Ph.D. Course, Civil and Environmental Engineering Department, VJTI, Mumbai, India
2

3

Head (Civil and Environmental Engineering department, VJTI, Mumbai, India

Professor, FCRIMS, University of Mumbai, India and Researcher, Carleton University, Canada

Abstract
Ready Mix Concrete (RMC) industry in India is continuously
growing. This industry is exposed to risks from internal as well
as external sources. It is important to address these risks, so that
industry shall gain credibility and confidence of the customers,
and shall have expected profit margins. Proposed paper presents
a risk quantification approach for risks in RMC plants in India,
using Expected Monetary Value (EMV) analysis. It is developed
using guidelines available in literature in the area of risk
management. It is a simple but effective approach for
quantification of risks and it shall help to achieve the objectives
of RMC business in terms of cost of production and supply of
RMC. Once the risks are quantified, quantitative assessment can
be done further to decide upon the appropriate response strategies
to be adopted to treat the risk related issues in effective way. This
approach is checked for practicability in RMC organizations.
Keywords: RMC, Risk quantification, EMV Analysis, Response
strategies.

1. Introduction
IS 4926-2003 (Bureau of Indian Standard 2003) defines
Ready Mix Concrete (RMC) as “Concrete delivered at site
or into purchaser’s vehicle in the plastic condition and
requiring no further treatment before being placed in a
position in which it is to be set and hardened”. Ready Mix
concrete is preferred over site mix concrete because it is
environmental friendly. It is a solution to a messy and time
consuming manufacturing of concrete at construction sites.
It offers solutions to customer’s specific problems, ensures
customer satisfaction and provides uniform quality. It also
eliminates the need to store materials used to manufacture
concrete at project sites. Currently, RMC is a matured
industry both in Europe and USA. The data from National
Ready Mix Association (March, 2007) indicate that RMC

is a $ 30 billion industry in USA, with annual output of
351 million cubic Meters. In these countries, nearly 75%
consumption of cement is through the RMC route
(National
Ready
Mix
Concrete
Association:http//www.concnt.org). In the context of
India, the trend of using ready mix concrete is growing
steadily. Demand of RMC is increasing in housing as well
as in infrastructural projects. This has given a big flip to
RMC industry in India. Anticipating huge potential for
RMC in India, many organized and unorganized players
are foraying in this area.
Like other industries, RMC industry is exposed to various
risks. In European countries, there is an awareness and
understanding about importance of risks and its
management. Operation managers on RMC Plants in the
European countries are expected to work on risk
management at production plant and delivery sites
(http://www.learn4good.com / jobs / language / english /
search / job / 13807 / 12 / 29 /2005 risk mgmt). In India,
Risk Management at RMC plant is not given adequate
importance. Information gathered from RMC plants in
India in places like Mumbai, Navi Mumbai, Pune,
Bangalore, and Noida, established by different companies
reveals that a systematic risk management approach is not
practiced in Indian RMC Industry. Unless the risks are
addressed properly, the RMC industry in India shall not
gain credibility, confidence of customers and will also
cause reduction in profit margins.
The risk causes can be categorized into internal risk causes
and external risks causes (Zia 1995). Thus, the risks
related to RMC plants can be classified as internal as well
as external risks. Internal risks and External risks can not
be avoided completely; yet, suitable strategies can
definitely be adopted to manage these risks. This paper

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

proposes an approach to quantify risks in RMC plants in
Indian context. Once risks are quantified, quantitative
assessment can be done so that the appropriate risk
response strategies can be adopted to treat the risks related
issues. This shall help in achieving the objectives of RMC
business in terms of production and supply cost.
1. Literature review
In the literature, the word ‘Risk’ has been used in many
different meanings with many different words such as
hazard or uncertainty (Boodman 1977, Faber 1979, Lifson
and Shaifer 1982, Hertz and Thomas 1983).
The
Webster’s dictionary defines risk as ‘The possibility of
loss, injury, disadvantage or destruction’. According to
Jamal and Keith (1990), risk can be written as,
Risk = f (Uncertainty of event, Potential loss/gain from
event)
The concept of risk varies according to viewpoint,
attitudes and experience of an individual and thus risk has
a different meaning to different people. Engineers,
designers, and contractors view risk from the technological
perspective, Lenders and developers tend to view it from
economical and financial side, and health professionals,
environmentalists, chemical engineers take a safety and
environmental perspective. Risk is, therefore, generally
seen as an abstract concept whose measurement is very
difficult (Baloi and Andrew, 2003).

The term ‘risk management’ has multiple meanings. Many
use this term synonymously with risk identification. For
many others, it is synonymous to risk analysis, risk
monitoring and /or risk control. In fact, these all are the
phases of risk management. According to Hillson(b)
(2000) , the risk management is a process aimed to identify
and assess risks in order to enable the risks to be clearly
understood and managed effectively. Risk Management
continues to be a major feature of the project management
of large construction, engineering and technological
projects in an attempt to reduce uncertainties and to
achieve project success (Akintoye, 2008). According to
Royer (2000), risk management is the critical part of
project management as ‘unmanaged or unmitigated risks
are one of the primary causes of project failure’. PMBOK
(PMI 2004) defines project risk management as ‘the
process concerted with identifying, analyzing and
responding to uncertainty throughout the project life
cycle’. A number of variations of risk management
approach have been proposed by different authors and
researchers. Four processes of risk management i.e. Risk

400

identification, Risk Analysis and evaluation, Response
management, and System administration are proposed by
Jamal and Keith (1990).
The general consensus in current literature, available in the
field of risk management, incorporates four steps in the
process of risk management. These are Risk identification,
Risk Analysis, Risk Response planning and Risk
Monitoring and control (Thevendran and Mawdesley
2004).Failure to perform effective risk management can
cause projects to exceed budget, fall behind schedule, miss
critical performance targets, or exhibit any combinations
of these troubles (Carbone and Tippett, 2004).
Risk identification is one of the most import stages in risk
management process. In this stage, all the potential risks
that could affect the project objectives are identified. It is
studying a situation to realize what could go wrong at any
given point of time during the project. For risk
identification, some of the methods used are Check list,
Brainstorming, Tree Diagram, Cause – Effect Diagram,
Failure mode and effect analysis, Hazard and operability
study, Fault Tree and Decision Tree, Delphi Technique,
and Interviews (Ahmed, Berman and Sataporn 2007).
Identified risks should be classified into different
categories so as to give elaboration of risks in more details
and to aid in deciding upon risk response strategies
according to categories of risks. Several authors have
attempted various means of classifying risk. Some of these
include Mason 1973, Ashley 1981, Johnson and Rood
1977. The identified and classified risks should be
assessed further for designing future course of action i.e. to
decide upon suitable response strategies. Assessment of
risks can be qualitative and quantitative. Qualitative risk
assessment is rapid and cost effective. It includes
assigning the probability and consequences for individual
risks and finding out the risk exposure. Risk exposure
gives an idea for screening the risks according to their
priority so that risks having substantial influence on
business objectives can be selected for quantification and
quantitative assessment. These selective risks are
quantified and are assessed further quantitatively using
suitable techniques available for this. Some of the
techniques used for risk assessment are Probability and
impact Grid, Fault tree analysis, Event tree analysis,
Sensitivity analysis, Simulation, Decision Tree analysis,
Expected value Method, Analytical Hierarchy Process
(Ahmed, Berman and Sataporn 2007).Businesses would
like to quantify risks for many reasons. Knowing how
much risk is involved helps to decide whether the costly
measures to reduce the level of risk are justifiable or not
(Jannadi and Alamshari 2003). Appropriate response
strategies can be decided after assessment of risks. The

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

PMBOK (PMI 2004) has given four response strategies as
risk avoidance, risk transfer, risk mitigation and risk
Acceptance. Appropriate response strategies should be
selected and implemented for the selected potential risks
and are monitored continuously. Excellent risk strategies
can reduce the probability and the impact of the risk
occurrence causes at the same time (Molenaar 2009).

401

Table 1 contd….

2.

Legal/Contr
actual Risks





3. Proposed approach for risk assessment



The proposed approach in this paper considers risk as a
future event which has an adverse effect on the production
and supply cost for a company running RMC plant and for
which possible outcomes can be predicted on the basis of
probability. The proposed approach has three stages as
below –
- Risk identification, categorization and classification
- Risk prioritization
- Risk quantification.




3.

Environmen
tal Risks







3.1 Risk identification, categorization and classification
As no previous record of the different types of risks in
RMC plant in India is available, authors had to interview a
team of plant managers and key personnel working at
respective RMC plants. Risk management concept was
explained to this team of plant managers and key
personnel before interviewing them. Outcome of these
interviews is a list of 121 risks in different categories and
classifications. This established a base for risk
quantification. A list of identified risks with their
categories and classification is presented in Table 1.

5.

Physical
Risks

No.
1.

Category
Political
Risks

Risks




Change in Govt.
and Govt. policies
War, Riots etc.
Interference of
local Politicos

Classification
Internal
External



6.

Regulatory
Risks













Delay in Payment by client
Investment Risks
Force Majeur(Acts of God)







Disease / Epidemic
Fire






Terrorism
Natural Disaster






Changes in local Tax rates





Levy of additional taxes and
duties on RMC (Entry Tax,
Excise duty)
Changes in current RMC
regulations and ministry
requirements


Financial
Risks









4.



Water Pollution
Noise Pollution
Soil Pollution
Environmental Litigation
Depletion of Natural
resources
Extreme weather conditions
(cold / hot)
Damage to machineries due
to flood
Ineffective control over
wastage
Inflation



Table 1
Identification, categorization and Classification of Risks in
RMC Plants in India



Contractual liability (breach,
third party action)
Inappropriate dispute
redressel mechanism
Conflict between various
agencies
Errors in contract price
calculation
Misinterpretation of contract
terms
Litigation due to claim
Ambiguity in specification for
delivery
Air Pollution



















Contd……
Contd……

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

402

Table 1 contd……

Contd……
Table 1 contd……

7.

Operational
Risks

Use of new technology











Lack of technical expertise /
personnel
Internal technology system failure







Improper internal infrastructure



Slump and sand content is not
properly governed





Improper site access









Mixer not maintained in an
efficient and clean condition

Confined spaces





Improper moisture compensation



regulatory and Govt. requirements
for production





Incorrect Mix design





Extended operational hours



Improper specification for RMC



Delay due to traffic during
transportation
Frequent breakdown of M/Cs,
Plant etc.
Wrongly designed layout



Incorrect use of admixtures







Irregular quality monitoring







Inappropriate quality standards

Unskilled personnel to work on
various operations
Idle machineries











Technical Risks – Policies and
Procedure
Improper infrastructure,
scaffolding and platform
Over utilization of plant capacity



Wrong working location



Non conformance with basic
properties of ready mix concrete
like workability, strength,
durability, setting time of
concrete,loading wrong material,
segregation and homogeneity
during transport
Not using proper checklist for
quality control



Improper erection and
commissioning of Plant
High transportation cost


















8.

Quality
Risks












Lack of infrastructural facilities
(water, roads, electricity,
communication systems)
Use of ungraded machineries in
manufacturing process
Damage to roads due to
transporting through heavy
vehicles
No flow through pipes during
discharge of concrete at site.

Varying degree of moisture in
sand
Improper or no calibration of
water meter, weigh balance,
machines and equipments
Errors in testing and
inspection of materials.
Non availability of advanced
testing facilities.
Poor quality of repairs and
maintenance














9.

Procure
ment
and
storage
Risk



Inaccuracy in statistical
adjustments
Risks of drying and loss of
workability of concrete










Non availability / shortage of
cement and other materials




Transport strike



Vender problems (delays)



Accepting raw material at site
without required specifications



Non availability of spare parts



Difficulties in importing
equipments



Improper storage system
(Dampness, no ventilation)





Theft at site





Risks associated with wrong
decisions related to buying and /or
hiring























IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
www.IJCSI.org
Table 1 Contd………

9.

Procure
ment
and
storage
Risk



Transport strike



Vender problems (delays)



Accepting raw material at site
without required specifications
Non availability of spare parts



Safety

Difficulties in importing
equipments
Improper storage system
(Dampness, no ventilation)



Theft at site



Risks associated with wrong
decisions related to buying and /or
hiring
Eye, skin and respiratory tract
irritation















12.

Market
Risks









13.

Social
Risks





14.





11.

Non availability / shortage of
cement and other materials





Occupat
ional
and
health
Risks

Table 1 Contd…….……





10.

403



Chemical burns
Over exertion
Ergonomics
Occupational hazards faced by
truck drivers
Injuries at site







Slips, trips and falls





Accidents at plant site





Non functioning of fire fighting
system at plant site










Death/Injury to someone at site or
in plant due to accident
Not following manufacturers
recommended practice for
cleaning and lubricating etc
Not maintaining maintenance
check sheet and repair records
No set up for regular testing and
inspection



Cultural differences



Performance risks



Improper planning for
















Less growth opportunities


Discharge of concrete on


ground (slurry is lost)




No policy for solid waste


and runoff management




Inappropriate disposal of


sludge




Conveyance of waste water
is not regulated properly








within organization
Wastage
Risks





various works

16.








Accidents during transport of
concrete






Mishandling of material at plant
site



Organiz
ational
Risks

Competition in Market
Wrong assessment of
market potential and
demand estimation.
Problems created by nearby
residents
Public outcry with regard to
activities like quarrying
near plant etc
Non productivity /
performance of laborers
Non availability of local
labour
High Labor turnover
Problems by labour union



Non availability of proper medical
facilities



15.

Non availability /no use of safety
equipments and tools at plant site








Risks

Labor
Related
Risks

Not doing major
overhauling using services
and expertise of
manufacturer’s
representative or specialist/
experts.
Not replacing worn parts on
regular basis
Not keeping hydraulic
equipment free from
contamination.
Demand – Supply Gap



Inappropriate sewage
treatment and disposal




Contd..


Contd..

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

404

Table 1 contd……

Table 2: QRA (Qualitative Risk Analysis sheet)




No careful planning for repairs
and maintenance
No periodical check up of plant
and machineries



- P-C Matrix (Probability – Consequences Matrix)
3.2.1 QRA sheet
QRA Sheet is designed, in particular, to assess
individual risks subjectively. It has a list of identified
and categorized risks on the left hand side column of the
sheet. It shall ask for probability and consequence of
each risk in a subjective way. For probability
assignment, a probability scale shall be used. This scale
shall be used for assigning the probability, ranging
subjectively from rare, unlikely, possible and likely to
almost certain. In the context of risk consequences, the
same scale shall be used. This scale shall be used for
assigning consequences subjectively from insignificant,
minor, moderate and major to catastrophic
consequences.
Project managers and key personnel at respective RMC
plants shall discuss as a team to decide the level of
probability and consequences of individual risks. A
QRA sheet (www.cholarisk.com) shall be filled after
reaching consensus, where only tick marks shall be put
in appropriate boxes in QRA sheet, for assigning
probabilities and consequences to the individual risks
(Table 2).

R1
R2
R3
R4

3.2.2 Probability - Consequence Matrix
Response in QRA sheet shall be used to study the
exposure of risks, using P-C Matrix (ProbabilityConsequence Matrix). It shall consist of vertical column
for probability and horizontal column for consequences
using the scale, same as that is used in QRA sheet. This
matrix shall be used to express combined effect of
probability and consequences associated with each risk.
This combined effect shall be expressed as very low, low,
significant and high, dividing P-C Matrix into four Zones
as shown in table 3 (Hillson(b) 2002) .
Table 3: P-C Matrix

C
In signifi
cant

Minor

Moderate

Major

Catestropic

Very
Low
Very
Low

Very
Low

Low

Low

Significant

Low

Low

Possible

Low

Low

Likely

Low

Significant

Almost
Certain

Significant

Significant

P

Rare
Unlikely

Significant
Significant
High

Significant
Significant

Significant
High

High

High

High

High

Catastrophic

Major

Moderate

Minor

R3
B). Contractual
Risk

3.2 Risks prioritization

- QRA sheet (Qualitative Risk Analysis sheet)

Insignificant

A). Political Risk
R1
R2



Risks prioritization is done in order to screen the risks so
that risks having substantial influence on RMC business
objectives can be selected for quantification. For this,
probabilities and consequences are assigned to
individual risks on subjective basis using following
tools.

Likely

Identified and
classified risk



Consequences

Almost
certain

Probability

Low maintenance at plant

Possible



Unlikely

Risks
related
to
repairs
and
mainten
ance of
plant

Rare

17.

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

Risks falling in very low and low zones of P-C matrix
shall be eliminated from quantification, as these risks shall
have negligible effect on objectives of RMC business in
terms of cost. Risks falling in “Significant” and “high
zones” of P-C Matrix shall have potential Consequences
on RMC business objectives in terms of cost and thus shall
be considered for quantification. These risks shall actually
have substantial influence on objective of a company
running RMC plant and are to be taken into account for
risk quantification.
4. Risk Quantification using EMV analysis

405

Table 4: Scale with a Range of cost consequences and
associated probabilities

Cost
Consequen
ces(In
terms
of
Average
Monthly
Production
and supply
cost
of
RMC)

0-1%
(In
terms of
average
monthly
producti
on and
supply
cost of
RMC –
specify)

1%-2%
(In terms
of
monthly
producti
on and
supply
cost of
RMC specify)

3% -5 %
(In terms
of
the
monthly
production and
supply
cost of
RMC specify)

5%-10 %
(In terms
of
the
monthly
production and
supply
cost of
RMC
(specify)

10
%
and
above
(In terms
of
average
monthly
producti
-on and
supply
cost of
RMC specify)

Probability

In this step of proposed approach, risks which actually
may cause substantial cost increase shall be quantified to
get an idea about total project risks in term of production
and supply cost. A quantification format is proposed for
this purpose, which shall be used to gather the data related
to probability and consequences of the “significant” and
high” exposure risks in term of cost. The effect of time
factor i.e. cost related to delay shall also to be included in
each risk. Team of project manager with key personnel at
respective plants shall discuss together and after reaching
consensus, shall fill required details about individual risks
as well as about their interdependency, if exists. This
approach is explained stepwise in the following
paragraphs.
4.1 Assigning basic occurrence probability to selected
risks
Team members shall decide about the probability of
occurrence of risks i.e. chance of risks actually occurring,
after discussing, brainstorming and reaching consensus.
For example, the basic occurrence probability of a
particular risk can be decided as 70% by the team
members after reaching consensus. This means that there
are 70% chances of occurrence of that particular risk and
there shall be 30% chance of non occurrence of that
particular risk.
4.2 Selecting scale for probabilities for different cost
consequences
In the proposed system, scale for cost consequences shall
be used where a range of cost consequences in terms
percentage of the average monthly production and supply
cost of RMC shall be given and associated probabilities
shall be filled by team members after reaching consensus.
This scale is shown below in Table 4.

(Here it means: What is the probability that consequences
due to a particular risk will lead to 0-1% cost
consequences (loss) with respect to the average monthly
production and supply cost of RMC from the respective
plant, 1 to 2% cost consequences (loss) with respect to the
average monthly production and supply cost of RMC from
the respective plant and so on).
Note: Above classes being mutually exclusive, sum of the
probabilities for all the ranges of consequences should be
100%.
The scale for cost- consequences and associated
probabilities is subjected to modification, considering
various factors like age of the plant, technology adopted,
seasonal variations in demand of RMC, monthly yearly
turnover etc. Experience shall influence the responses
while filling the above table.
4.3 Interdependence and cost consequences
It is not that all risks are independent. Many risks have
interdependency relations with other risks, i.e. occurrence
of one risk can lead to some effect on the cost
consequences due to other risk. A quantification format is
suggested for this purpose that shall be is used to get these
details. There may be an increase or decrease in the cost
consequences but these values are needed for the
calculations proposed in this approach for risk
quantification. The format for obtaining cost consequences
due to independencies is presented below in Table 5.

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

Table 5: Interdependency Format
% Increase in cost
consequence

Effect on(say) Risk R1
Due
to
occurrence
(say)Risk R2
Due to
occurrence
(say)Risk R3
Due to
occurrence
(say)Risk R4

% Decrease in
cost consequence

of
of
of

Respective team of project managers and key personnel,
after reaching consensus, shall write the percentage
increase or decrease in cost consequence of risks (loss) in
term of average monthly production and supply cost. For
example, as shown in Table 5, influence of say risks R2,
R3 and R4 on say risk R1 can be filled by team members.
This Format shall be used for interdependent risks to find
changes in cost consequences

406

Expected Monetary Value 2 = Basic occurrence
Probability of an individual risk x Expected
Monetary Value 1
(Eqn-2)
Modification is also applied to Expected Monetary
Value 2 for interdependencies, in order to get Final
Expected Monetary Value. Low 2, High 2 and Final
Expected Monetary Value is determined using
following formula. (Refer Table 4 for clarity of this
formula)
Low 2 = Low 1+ [(Low 1 x %change in a particular
risk say R1 due to occurrence of another risk say R2) x
Basic occurrence probability of risk R2 ] + [(Low 1 x
%change in a particular risk say R1 due to occurrence
of another risk say R3) x Basic Occurrence Probability
of Risk R3 ] + [( Low 1 x %change in a particular
risk say R1, due to occurrence of another risk say R4)
x Basic occurrence probability of risk R4]
(Eqn-3)

4.4 Calculations for risk quantification
In the proposed approach, Expected Monetary Value
(EMV) analysis shall be used as a tool to carry out risk
quantification. EMV is a product of risk event probability
and risk event consequences. Risk event probability is an
estimate of probability that a given risk will occur (Basic
Occurrence probability).
The calculations using EMV analysis in the proposed risk
quantification approach shall be as below 1. The lowest and highest cost consequences related
to each risk are considered as “Low1” and “High
1” values. As the consequences are described in
scales, the mid-point of each class is taken as cost
consequences for calculation.
Example – For class 1-2% - 1.5% taken for calculations
Similarly, For class 3-5% - 4% is taken for calculations
Expected Monetary Value 1 is calculated for every risk
using following formula -

High 2 = High 1+ [(High 1 x %change in a particular
risk say R1 due to occurrence of another risk say R2) x
Basic occurrence probability of another risk R2 ] +
[(High 1 x %change in a particular risk say R1 due to
occurrence of another risk say R3) x Basic Occurrence
Probability of Risk R3 ] + [(High 1 x %change in a
particular risk say R1 due to occurrence of another
risk say R4) x Basic occurrence probability of another
risk R4]
(Eqn-4)
Final Expected Monetary Value = Expected Monetary
Value 2 + [(Expected Monetary Value 2 x %change in
a particular risk say R1 due to occurrence of another
risk say R2) x Basic Occurrence Probability of R2] +
[(Expected Monetary Value 2 x %change in a
particular risk say R1 due to occurrence of another
risk say R3) x Basic Occurrence Probability of R3] +
[(Expected Monetary Value 2 x %change in a
particular risk say R1 due to occurrence of another
risk say R4) x Basic Occurrence Probability of R4]
(Eqn-5)

Expected Monetary Value 1 = Cost consequence of an
individual risk x Probability of this cost consequence
(Eqn-1)
2.

Next step is to consider basic occurrence
probability of each risk and multiply it with its
Expected Monetary Value1.This shall give
Expected Monetary Value 2 for a particular risk.
Thus,

The total risk, in terms of cost, varies between the sum
of Low 2 values and sum of High 2 values, for all the
risks considered for quantification. Proposed approach
also gives the sum of Expected Monetary Value of all
the risks, which is calculated in a proposed approach
as ‘Final Expected Monetary Value’.

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

5. Conclusion
The proposed paper presents the risk quantification
approach for internal as well as external risks in RMC
plants. The information is gathered through the interviews
and discussion with the team of key personnel working in
RMC plants at Mumbai, Navi Mumbai, Noida, Bangalore,
and Pune in India. A checklist of risk is generated as an
outcome of this study. Subjective Ratings for both,
probability of occurrence and consequences were also
gathered from the same teams for screening the risks
having substantial influence on objective of a company
running RMC plants.
Risk quantification approach proposed in this paper, using
EMV is a simple and effective tool to quantify risks in
terms of cost. The system can be used to find - Range within which the individual risk (in terms of
cost) may vary
- Range within which the total risks in RMC plant (in
terms of cost) may vary
- Expected monetary value of the risks in RMC plant
The approach can be used by the RMC plant owners for
deciding upon risk response strategies. It can be used fairly
for decision making at the starting point of every RMC
manufacturing and supply contract. It helps in identifying
the high risk areas which need to be controlled and
monitored for the achievement of objectives RMC
business in terms of cost. This approach can be made
suitable for incorporating and implementing with a
computer aided decision support system, provided precise
data is made available.
References
[1] Ashley,D.B., Construction project Risks: Mitigation
and Management, Proc.,PMI/Internet Joint Symp.,
Project Management Institute, Drexel Hill, Pa.,
1981,pp. 331-340.
[2] Ammar Ahmed., Berman,K., Sataporn A., “A review
of techniques for risk management in projects”,
Benchmarking: An International Journal, Volume
14,No.1,2007,pp.22-36,
[3] Akintoye, A., “Project risk management practice: The
case of a South African utility company”, International
Journal of Project Management, Vol. 26, 2008, pp.
149-163.
[4] Boodman, D. M. “Risk Management and Risk
Management Science: An overview”, Paper presented
at the Session of Risk Management, TIMS 23rd. Annual
Meeting of Institute of Management Sciences,
1977,Greece.

407

[5] Baloi D. and Andrew, D.F., “Modeling global risk
factors affecting construction cost performance”,
International journal of project management,Vol.21,
2003, pp.261-269.
[6] Carbone T.A. and Tippett D.D., “Project Risk
Management Using the Project Risk FMEA”,
Engineering Management journal, Volume 16, No. 4,
2004,pp. 28-35
[7] Faber, W., “Protecting giant projects: study of
problems and solutions in the area of risk and
insurance”, Wills Faber, London, England 1979.
[8] Hertz, D.B., and Thomas, H “Risk analysis and its
application”, John Wiley and Sons,Inc., New
York,1983.
[9] http://www.cholarisk.com
[10] http://www.learn4good.com / jobs / language / english /
search / job / 13807 / 12 / 29 /2005 risk mgmt.
[11] Hillson David (a) “Extending the risk process to
managing opportunities”, International Journal of
project management. Vol.20,2000, pp.235 – 240.
[12] Hillson. D.(b), “Use a Risk Breakdown Structure
(RBS) To Understand Your Risks”, Proceedings of the
Project Management Institute Annual Seminars and
Symposium, October2002, pp 3-10, San Antonio,
Texas, USA
[13] Indian Standard 4926-2003, Bureau of Indian Standard,
New Delhi.
[14] Johnson, J. and Rood, O. E., “Elements of a fair and
equitable profit determination for construction contract
negotiations”, Draft Report CERL,1977.
[15] Jamal, F. AL-Bahar. and Keith C. C., “Systematic Risk
Management Approach for Construction Projects”,
Journal of Construction Engineering and Management,
Vol. 116, No. 3, September, 1990, pp.533-545.
[16] Lifson, M.W. and Shaifer E. F. Jr. “Decision and Risk
Analysis For Construction Management”, John Wiley
and Sons, Inc., New York, 1982.
[17] Mason, G. E., “A quantitative risk management
approach to selection of construction contract
provisions” , Technical Report no 173, Construction
Institute, Dept. of Civil Engg., Stanford Uni.,Stanford ,
Calif., 1973.
[18] Molenaar, K. R., “Framework for Measuring Corporate
Safety Culture and Its Impact on Construction Safety
Performance”, Journal of Construction Engineering
and Management, June, 2009, pp. 488-496.
[19] National Ready Mix Concrete Association:
http//www.concnt.org
[20] Osama Ahmed Jannadi and Salman Almshari, “Risk
assessment in Construction”, Annual Journal of
Construction Engineering and Management, ASCE,
Sept.- Oct, 2003, pp.492-500.
[21] PMBOK, A Guide to the project Management body of
knowledge, Project Management Institute , 2004.
[22] Royer P.S, “Risk Management: The undiscovered
Dimension of Project Management”, PM Network,
Volume.14, 36770 edition, 2000, pp.31-40,
[23] Thevendran Vicknayson and Mawdesley M.J,
“Perception of human risk factors in construction
projects. An exploratory study”, International Journal
of Project Management Vol.22, 2004,pp.131 – 137.

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

[24] Zia, H., “Risk management for overseas construction
projects”, International journal of Project Management,
Vol.13, No. 4, 1995, pp 231-237.

First Author
R.C.Walke is has done his bachelors in Civil Engineering
and Masters in Engineering Constructions and
Management. He is pursuing Ph.D.in the area of Risk
Management. He was in civil Engineering Industry for
seven years before coming to academics. At present he is
working as an Assistant Professor in Fr. C. Rodrigues
Institute of Management Studies, University of Mumbai,
India. His areas of Interest are Project Management, Risk
Management and Supply Chain Management.
Second Author
Prof. Dr. Vinay Topkar is a Head of Civil and
Environmental Engineering Department in V.J.T.I.,
University of Mumbai, India. He has worked as DeanAcademics in V.J.T.I. and his areas of research interest are
Project Management and Decision Sciences
Third Author
Dr. Sajal Kabiraj is a Professor of Operations and Supply
Chain Management in FCRIMS, University of Mumbai,
India. Sajal is a Post Doctoral Fellow, PhD, MS, MBA,
Bachelors’ in Chemical Engineering. He obtained his PhD
from Indian Institute of Information Technology &
Management, Gwalior, India (An Apex Govt of India
Institute) and Masters’ in International Logistics and
Supply Chain Management from Jonkoping International
Business School, Sweden. He is the recipient of Best
Teacher Award – 2008 for teaching and research
excellence amongst all universities and business schools in
India. He has published numerous papers in refereed
international journals and has taught at the post graduate
and doctoral levels in universities in Sweden, Germany,
Austria, Malaysia, Canada, China, UAE and India. He is
also a registered PhD supervisor and examiner. His areas
of research interest are Business Analytics, CRM and
International Business.

408

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

409

Rule Based Machine Translation of Noun Phrases from
Punjabi to English
Kamaljeet Kaur Batra1 and G S Lehal2
1

Dept. of Comp Sc. & IT, DAV College,
Amritsar, Punjab, India

2

Dept of Comp Sc & Engg., Punjabi University,
Patiala, Punjab, India

Abstract
The paper presents automatic translation of noun phrases
from Punjabi to English using transfer approach. The
system has analysis, translation and synthesis component.
The steps involved are pre processing, tagging, ambiguity
resolution, translation and synthesis of words in target
language. The accuracy is calculated for each step and the
overall accuracy of the system is calculated to be about
85% for a particular type of noun phrases.
Keywords: Tagger, Ambiguity resolver, Transliteration

1 Introduction
Machine Translation (MT), also known as
“automatic translation” or “mechanical translation”,
is the name for computerized methods that automate
all or part of the process of translating from one
human language to another.[2] Machine Translation
is the need of the hour. It helps in bridging the
digital divide and is an important technology for
globalization. The mechanization of translation has
been one of humanity’s oldest dreams. The work is
done to convert a noun phrase from Punjabi to
English.

2 Approach followed
The transfer architecture not only translates at the
lexical level, like the direct architecture, but
syntactically and sometimes semantically. The
transfer method will first parse the sentence of the
source language. It then applies rules that map the
grammatical segments of the source sentence to a
representation in the target language. The rules,
which are used for the structural transformation of
phrase, for solving the ambiguity problem, all are
stored in the database. The indirect approach, first
of all, divides a phrase into words, tags each word
using morph database, resolves ambiguity, translates

each word using bilingual dictionary, and then
synthesize the translated words using rules of
English language.

3 Steps followed for translation
3.1 Pre processing
Since the phrases are taken from number of
sentences, there are different types of phrases, Pre
processing module change the phrase to a particular
format so that it can be translated with more
accuracy. Eg System only works for simple noun
phrases and if a phrase is either complex or
compound, it is divided into two or more simple
phrases. The structure of simple phrase is limited to
a particular format. The above said part of Pre
processor is manual and not automated.
The automated part of pre-processor performs the
following tasks.

3.1.1 Identifying Collocations
It combines the adjoining words from the sentence to
a single word by checking them from the database
created of joined words. Some of the noun phrases
also contain words that can be joined and represents
a single equivalent in English. Eg ipqw jI (pita
ji), mwqw jI (mata ji), these words have a single
equivalent as father and mother.

3.1.2 Identifying Named Entities
In certain cases named entities can be
recognized by their preceeding words which can
be sRI, srdwr, srdwrnI, sRImqI,
kumwrI in the input phrase.

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

sRI
rmysL
cwvlw
(shri
ramesh
chawla), srdwr hrpRIq isMG (sardar
harpreet singh)These named entities will then
be send to transliteration module.

3.2 Tokenization
The output of pre processor is then send to the
tokenizer which divides the given phrase on the
basis of spaces between them into constituents called
tokens which are then passed to further phases.

3.3 Morph Analyzing and Tagging
The next step is to tag each word with the
grammatical information about it. In Punjabi
grammar, the parts of speech for noun phrase include
noun, pronoun, adjective, preposition, conjunction
etc. Tag contains the information about grammatical
category of word, gender, number, person and the
case in which it can be used. The information is
stored in the morph database. Tag can be arranged in
the form grammatical category -gender-personnumber-case. The fields not applicable to a
particular category are left blank. E.g. Tags for the
word ‘Brw’(Bhra) are ‘n-m- -s-d‘, ‘n-m- -p-d‘. The
above tag for the word shows that it can be used as
noun with masculine gender, singular as well as
plural and in direct case. The complete information
for the tags is available from the morph database. In
Punjabi, a word can have number of tags as a
particular word can be used in number of ways.
The tagger first checks the category of each word
from the database and then adds Gender, Number,
Person or Case information to it. [6,7] For example,
in case of nouns person information is not in use
whereas for personal pronouns person information is
used.

3.4 Ambiguity Resolution
The rules considering the tags for surrounding words
are used for resolving ambiguities at different levels.
Before the step of ambiguity resolution, each word is
attached with number of tags. Since a particular
word may have number of tags, there is need to
check which tag is applicable to a particular word in
a sentence, for example a word present in a noun
phrase of Punjabi can be tagged with a noun as well
as an adjective tag. For this purpose, there is need to
apply certain rules depending upon the grammatical
category of preceding or succeeding words. These
rules should be prioritized.
First level of ambiguity exists when a particular
word can have number of tags of different
grammatical category. The rules should check the

410

grammatical category for the surrounding words so
that it can conclude the tag of that particular word.
Eg. Consider the two noun phrases jvwn muMfw
(javan munda) and the phrase swry jvwn (sarey
javan). In the first phrase, ‘jvwn’ is an adjective
followed by a noun and its English equivalent is
‘young’ whereas in the second phrase, it is a noun
preceded by an adjective which should be translated
as ‘soldier’.
Second level of ambiguity that has been resolved
is,when there are number of tags that shows a
particular word as noun, but can be used as singular
or plural. as tags for the word bMdy(bandey) are ‘nm- -s-o‘ and ‘n-m- -p-d‘. The tagged word can be
noun in singular or a noun in plural. Eg. In the
phrase, bhuq swry bMdyy (bahut sarey
bandey). In this case we should select the tag ‘n-m- p-d’ and its appropriate word in English is
men,whereas in the phrase moty bMdy ny (mote
bandey ne), the tag for bMdy(bandey)should be ‘nm- -s-o’ and its appropriate meaning is man. Such
type of ambiguity can be resolved by considering the
number ie. Singular or plural of the sentence in
which the phrase should be used. Similarly the
ambiguity related with the number and gender for
demonstrative pronouns is resolved by considering
the gender and number for the sentence.

3.5 Translation using Bilingual dictionary
Next step in translation is the use of a bilingual
dictionary to translate each word in Punjabi to its
English equivalent. There are certain words used in
Punjabi language which are of English origin,as
‘skUl’, ‘tIcr’, ‘fwktr’ etc. Such words
should be written as it is.

3.6 Transliteration of Proper nouns
While translating each word using the dictionary,
there are certain out of vocabulary words such as
names of persons, names of cities etc., these all are
proper nouns, and these should be passed to the
transliteration module. Also there are certain words
which are recognised at the preprocessing phase as
names of persons, those should also be transliterated.
Transliteration means to write them sensing the
characters in the words e.g. ‘mnjIq’ in Punjabi
is transliterated in English as ‘manjeet’, m for m, n
for n, j for j, ee for I, t for q. This
transliteration process uses a database of
transliterating characters and also certain rules to
insert vowels wherever needed.

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

3.7 Synthesis
After getting English equivalent of each word in
Punjabi sentence, it should be synthesized to the
phrase in English. Since the order of occurrence of
words is different in target language than the source
language, the approach used while synthesis is
indirect approach, so certain rules have been build to
synthesize the phrases to target language. These
rules of language are also stored in the rule base of
English.

4 Tools used in Translation
4.1 The Punjabi Morphological Analyzer
Morphological analysis is the identification of a
stem-form from a full word- form.. For example, the
analyzer must be able to interpret the root form of
“muMfy” as “muMfw” and the its GNP(GenderNumber-Person) information A Punjabi morph
analyzer developed at ‘Advanced centre for
technical development of Punjabi language’ is being
used for analyzing the exact grammatical structure of
the word. The morph database used in the system
includes, the information about every word in
Punjabi, with the information about its gender,
number, person, case, tense etc. Every inflected
word also contains the root word from where it is
derived. The database contains more than one lakh
words from which 63,000 are the inflected nouns
which are derived from about 18,000 root nouns.
The database contains the grammatical category of
each word and also the inflected words it can form.
From this database, the tagger gets the information
and tag each word of the phrase.

411

phrase rules etc. The knowledge base contains the
rules for resolving the ambiguity of number of
grammatical categories of words on the basis of type
of surrounding words. Rules, not only check the
grammatical category, but also number, gender or
person in some cases. Rule base also contains the
information about its synthesis, that while it is of
same order or different. All the rules in the database
are arranged according to priority. Phrase Rules are
represented as context free grammar. Since these are
recursive in nature, the number of rules is not very
large, but in some cases, priorities are set depending
upon the type of phrases for which the system is
being made.

5 Architecture of a Machine Translation
System
This section outlines the overall architecture of the
Punjabi to English MT system for noun phrases. The
system is based on the transfer approach, with three
main components: an analyzer, a transfer
component, and a generation component. The
analysis component which assigns tags to the input
phrases by means of Punjabi grammatical rules. The
transfer component builds target language
equivalents of the source language grammatical
structures by means of a comparative grammar that
relates every source language representation to some
corresponding target language representation. The
generation component which provides the target
language translation.[2,13]
Punjabi 
Noun 
Phrase

Analysis Component
Pre 
Processor

Morph 
analyzer 

Tagger

4.2 The Punjabi- English Dictionary
Dictionaries are the largest components of a MT
system in terms of the amount of information they
hold. If they are more than simple word lists, the size
and quality of the dictionary limits the scope and
coverage of a system, and the quality of translation
that can be expected. The dictionary contains the
English equivalent of all the Punjabi words. The
dictionary is combined with the morph database and
used for the translation of words of Punjabi Phrase.
There are more than one lac words in the dictionary
and it is being upgraded.

4.3 Rule Base
The rule base is a database consisting of the
structural transformation rules, ambiguity rules,

Morph 
database

Rule 
base of 
Punjabi 

Rule 
base of 
English 

English 
Noun 
Phrase 

Punjabi – 
English 
Dictionary 

Generation Component 
Synthesizer

Fig 1 Architecture of the System

Translation 
Component 
Transliteration
Or Translation 
of words 

 

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

Fig 1 shows the block diagram for the architecture of
a Punjabi to English Machine Translation System. In
the figure, the rectangle shows the step followed
while translation and the oval shows the databases
and knowledge bases used.

Consider a Punjabi Noun Phrase

[5]Akshar Bharati, Vineet Chaitanya, Amba P. Kulkarni,
Rajeev Sangal Anusaaraka: Overcoming the Language
Barrier in India. (informal publication) Electronic Edition
(link) BibTeX [cs.CL/0308018]

swry dysL dy jvwn
After Tagging
swry (iaj-m- - -) dysL(n-m-s- -d,n-m-p-d)
dy(ipo- - - -) jvwn(n-m-s- d-, n-m-p- -d,iaj-b- - -)
Here there are two tags for jvwn ie inflected
adjective and noun, but according to the rules, it is
considered as noun with plural as there is no
succeeding noun and the adjective signifies the
plural. After resolving ambiguity, the tagged words
are the translated and combined into target phrase.

[6] Computational Paninian Grammar for Dependency
Parsing Dipti Misra Sharma,LTRC, IIIT,Hyderabad, NLP
Winter School 25-12-2008
[7] Akshar Bharati, Rajeev Sangal: Parsing Free Word
Order Languages in the Paninian Framework. ACL 1993:
105-111
[8] Akshar Bharati, Rajeev Sangal: A Karaka Based
Approach to Parsing of Indian Languages. COLING 1990:
25-29

dysL
jvwn

iaj

all

[3] R.M.K. Sinha and Anil Thakur, Divergence Patterns in
Machine Translation between Hindi and English, 10th
Machine Translation summit (MT Summit X), Phuket,
Thailand, September 13-15, (2005), 346-353.
[4] Aniket Dalal, Kumara Nagaraj, Uma Sawant,Sandeep
Shelke and Pushpak Bhattacharyya, Building Feature Rich
POS Tagger for Morphologically Rich Languages, ICON
2007, Hyderabad, India, Jan, 2007.

6 Example

swry
dy

412

n

soldiers

ipo

of

n

country

7 Training and Testing
After training the system with about 2000 phrases,
testing is performed with new 500 sentences and and
accuracy at different levels are calculated. The first
phase which resolves the ambiguity for different
grammatical category and assigns tag to each word
in a sentence was found to have approximately
75.54% accuracy. Overall accuracy of translation is
85.33%. In case of translation, the output phrase is
considered correct, even if the translated equivalent
may not be grammatically very correct, but signifies
the true meaning of the Punjabi phrase.

References
[1] R.M.K. Sinha and Ajay Jain, AnglaHindi:An English
to Hindi Machine Translation System, MT Summit IX,
New Orleans, USA, Sept.23-27, 2003.
[2] S. Dave, J. Parikh and P. Bhattacharyaa. Interlinguabased English-Hindi Machine Translation and Language
Divergence. Machine Translation 16(4) (2001) 251-304.

[9] R M K Sinha, Some thoughts on computer processing
of natural Hindi.. Annual convention of Computer Society
of India, 1978, pp 151-165.
[10] Shachi Dave and P Bhattacharya – Knowledge
Extraction from Hindi Text, Journal of institution of
Electronic and Telecommunication Engineers Vol.18,
No.4 July 2002.
[11] Vartika Bhandari, R M K Sinha and Ajai Jain,
Disambiguation of Phrasal Verb Occurrence for Machine
Translation, Proc. Symposium on Translation Support
Systems (STRANS2002), Kanpur, India, March 15-17,
2002.
[12] R M K Sinha, ‘A Sanskrit based Word-expert model
for machine translation among Indian languages., Proc of
workshop on Computer Processing of Asian Languages,
Asian Institute of Technology, Bangkok, Thailand,
Sept.26-28, 1989, pp 82-91.

[13] R M K Sinha, R & D on Machine Aided Translation
at IIT Kanpur: ANGLABHARTI and ANUBHARTI
Approaches., Invited paper at Convention of Computer
Society of India, (CSI.96), Banglore, 1996.
[14] R M K Sinha, Correcting ill-formed Hindi sentences
in machine translated output. Proceedings of Natural
Language
Processing
Pacific
Rim
Symposium
(NLPRS.93), Fukuoka, Japan, 1993, pp 109-119.

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
www.IJCSI.org
[15] R Jain, R M K Sinha, A Jain, Translation between
English and Indian Languages, Journal of Computer
Science and Informatics, March 1997, pp 19-25.
[16] R M K Sinha and others, ANGLABHARTI: A Multilingual Machine Aided Translation Project on Translation
from English to Hindi., IEEE International Conference on
systems, Man and Cybernetics,Vancouver, Canada, 1995,
pp 1609-1614.
[17] R.M.K. Sinha and Anil Thakur, Synthesizing Verb
Form in English to Hindi Translation: Case of mapping
Infinitive and Gerund in English to Hindi, Proceedings of
International Symposium on Machine Translation, NLP
and Translation Support System(iSTRANS-2004),
November 17- 19,2004, Tata Mc Graw Hill, New Delhi,
pp:52-55
[18] Smriti Singh, Mrugank Dalal, Vishal Vachani,
Pushpak Bhattacharya and Om Damani, Hindi Generation
from Interlingua, Machine Translation Summit (MTS 07),
Copenhagen, September, 2007.
[19] Debasri Chakrabarti, Gajanan Rane and Pushpak
Bhattacharyya, Creation of English and Hindi Verb
Hierarchies and their Application to
English Hindi MT, International Conference on Global
Wordnet (GWC 04), Brno, Czeck Republic, January,
2004.

413

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

414

A Study Of Image Segmentation Algorithms For
Different Types Of Images
Krishna Kant Singh1 , Akansha Singh2

1

Deptt. Of Electronics & Communication
Hermes Engineering College
Roorkee , India

2

Deptt. Of Information Technology , AKGEC
Ghaziabad, India

Abstract
In computer vision, segmentation refers to the process
of partitioning a digital image into multiple segments
(sets of pixels, also known as superpixels).Image
segmentation is typically used to locate objects and
boundaries (lines, curves, etc.) in images. More
precisely, image segmentation is the process of
assigning a label to every pixel in an image such that
pixels with the same label share certain visual
characteristics.The result of image segmentation is a
set of segments that collectively cover the entire
image, or a set of contours extracted from the image
(see edge detection). Each of the pixels in a region are
similar with respect to some characteristic or
computed property, such as color, intensity, or
texture.Due to the importance of image segmentation a
number of algorithms have been proposed but based
on the image that is inputted the algorithm should be
chosen to get the best results. In this paper the author
gives a study of the various algorithms that are
available for color images,text and gray scale images.

Keywords: image segmentation , region growing,
marker

1. Introduction
All image processing operations generally aim at
a better recognition of objects of interest, i. e., at
finding suitable local features that can be
distinguished from other objects and from the
background. The next step is to check each
individual pixel to see whether it belongs to an
object of interest or not. This operation is called
segmentation and produces a binary image. A
pixel has the value one if it belongs to the object;

otherwise it is zero. Segmentation is the
operation at the threshold between low-level
image processing and image analysis. After
segmentation, it is known that which pixel
belongs to which object. The image is parted into
regions and we know the discontinuities as the
boundaries between the regions. The different
types of segmentations are
Pixel-Based Segmentation: Point-based or
pixel-based segmentation is conceptually the
simplest approach used for segmentation.
Edge-Based Segmentation: Even with perfect
illumination, pixel based segmentation results in
a bias of the size of segmented objects when the
objects show variations in their gray values
.Darker objects will become too small, brighter
objects too large. The size variations result from
the fact that the gray values at the edge of an
object change only gradually from the
background to the object value. No bias in the
size occurs if we take the mean of the object and
the background gray values as the threshold.
However, this approach is only possible if all
objects show the same gray value or if we apply
different thresholds for each objects.An edgebased segmentation approach can be used to
avoid a bias in the size of the segmented object
without using a complex thresholding scheme.
Edge-based segmentation is based on the fact
that the position of an edge is given by an
extreme of the first-order derivative or a zero
crossing in the second-order derivative.

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

Region-based methods focus attention on an
important aspect of the segmentation process
missed with point-based techniques. There a
pixel is classified as an object pixel judging
solely on its gray value independently of the
context. This meant that isolated points or small
areas could be classified as object pixels,
disregarding the fact that an important
characteristic of an object is its connectivity.If
we use not the original image but a feature image
for the segmentation process, the features
represent not a single pixel but a small
neighborhood, depending on the mask sizes of
the operators used. At the edges of the objects,
however, where the mask includes pixels from
both the object and the background, any feature
that could be useful cannot be computed. The
correct procedure would be to limit the mask size
at the edge to points of either the object or the
background. But how can this be achieved if we
can only distinguish the object and the
background after computation of the feature?
Obviously, this problem cannot be solved in one
step, but only iteratively using a procedure in
which feature computation and segmentation are
performed alternately. In the first step, the
features are computed disregarding any object
boundaries. Then a preliminary segmentation is
performed and the features are computed again,
now using the segmentation results to limit the
masks of
the neighborhood operations at the object edges
to either the object or the background pixels,
depending on the location of the center pixel. To
improve the results, feature computation and
segmentation can be repeated until the procedure
converges into a stable result.
Model-Based Segmentation : All segmentation
techniques discussed so far utilize only local
information. The human vision system has the
ability to recognize objects even if they are not
completely represented. It is obvious that the
information that can be gathered from local
neighborhood operators is not sufficient to
perform this task. Instead specific knowledge
about the geometrical shape of the objects is
required, which can then be compared with the
local information. This train of thought leads to
model-based segmentation. It can be applied if
we know the exact shape of the objects contained
in the image.
2. Color Image Segmentation algorithm
The human eyes have adjustability for the
brightness, which we can only identified dozens

415

of gray-scale at any point of complex image, but
can identify thousands of colors. In many cases,
only utilize gray-Level information can not
extract the target from background; we must by
means of color information. Accordingly, with
the rapidly improvement of computer processing
capabilities, the color image processing is being
more and more concerned by people [8]. The
color image segmentation is also widely used in
many multimedia applications, for example; in
order to effectively scan large numbers of images
and video data in digital libraries, they all need
to be compiled directory, sorting and storage, the
color and texture are two most important features
of information retrieval based on its content in
the images and video. Therefore, the color and
texture segmentation often used for indexing and
management of data; another example of
multimedia applications is the dissemination of
information in the network [9]. Today, a large
number of multimedia data streams sent on the
Internet, However, due to the bandwidth
limitations; we need to compress the data, and
therefore it calls for image and video
segmentation.
2.1 Seed Region Growing Algorithm And
Watershed Algorithm
The basic idea of region growing method is a
collection of pixels with similar properties to
form a region. The steps are as follows:
(i) find a seed pixel as a starting point for
each of needed segmentation.
(ii) Merge the same or similar property of
pixel (Based on a pre-determined
growing or similar formula to
determine) with the seed pixel around
the seed pixel domain into the domain
of seed pixel.
(iii) These new pixels act as a new seed
pixel to continue the above process until
no more pixels that satisfy the condition
can be included.
The seed region growing algorithm is proposed
by Adams and Bischof, Metmert and Jackway
further described the dependency relationship
between pixels in the seed growth:
(i) The first order of dependence occurs
when the number of pixels has the
same difference ratio as their vicinity.
(ii) The second order of dependence
occurs when a pixels has the same
difference ratio as their vicinity

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

Frank and Shouxian Cheng applied the automatic
seed selection method, they selected seed which
can represents needed segmentation region based
on certain similarity criteria and proposed a
strategy to solve the above two pixels
dependence [3,14]. The watershed algorithm is
more representative in the application of
mathematical morphology theory for image
segmentation. Watershed algorithm is a regionbased segmentation techniques image that uses
image morphology [4]. Watershed algorithm is
an iterative adaptive threshold algorithm. The
idea of watershed algorithm is from geography,
it see gradient magnitude
image as a topographic map, the gradient
magnitude in correspond with altitude, the
different gradient in correspond with the peak
and basin in valley in the image. It sees every
object of image (including background) as a
separate part nd requested there must have one
tag at least in the each object (or seed points).
Marker is knowledge about the object based on
application-oriented; it is selected by the
operator manually or by automatic process. The
objects can use watershed algorithm to transform
and develop regional growth after maker.
3. Gray-scale Image Segmentation
The segmentation of image raster data into
connected regions of common gray-scale has
long been seen as a basic operation in image
analysis. In texture analysis, just this type of
segmentation is possible after individual pixels
in an image have been labelled with a numberic
classifier. In preparing images for used in
geographic information systems (GIs) this
segmentation is usually followed by the
production of a vector representation for each
region. The original algorithm fbr segmentation,
developed by Rosenfeld-pfaltz, described a two
pass 'sequential algorithm' for the segmentation
of binary images. The key feature of the
Rosenfeld-pfaltz algorithm is that the image is
raster-scanned, first the forward direction, fiom
top left to bottom right, then backwards. During
the fwward pass, each pixel is located a region
label, based on information scanned through; the
regions so demarcated may have pixels with
more than one label therein.During the
backwards pass, a unique label is assigned to
each pixel. Hence this classic algorithm can be
described as a twepass algorithm. In a previous
paper Cohen [6] presented a one-pass algorithm
was presented fbr the segmentation of gray-scale
images. Cohen's single pass algorithm proceeds
to label pixels on a forward pass, exactly as in

416

Rosenfeld-Phltz, except that during the same
forward pass, a look-up-table is prepared, that
reveals the connectivity of pixels that have
different labels. For most purposes, the labelling
of the pixels found the first pass, combined with
the look-up-table, provides a complete
segmentation, but to actually output an image
with unique pixel labels in each region, a pass
through the image using the look-up table is
required. A new parallel region segmenting and
labelling algorithm is available, that is applicable
to gray-scale images, and is appropriate to coarse
scale parallel programminmg. The key feature of
this algorithm is the geometric splitting of the
image into rectagular blocks, with one pixel
overlap at joins. Then using Cohen's one pass
algorithm, each region is separately labelled.
Then by examination of the ovalap regions, the
connectivity of diffaent region labels is
determined, through connectivity tables, and
finally the overall image is completely
segmented into connected domains of common
gray-scale. The parallelisable algorithm for the
segmentation of gray-scale images involves
involves performing the one-pass algorithm on
rectangular sub-images, with a a single row or
column overlap. What is thus produced is a label
for each image pixel, together with a
connectivity LUT for each region. Then, fiom
the overlap rows and columns produce overlap
tables, showing how labels in each region are
related.
4. Text Segmentation : It is well known that
text extraction, including text detection,
localization, segmentation and recognition is
very important for video auto-understanding. In
this paper, we only discuss text segmentation,
which is to separate text pixels from complex
background in the sub-images from videos. Text
segmentation in video images is much more
difficult than that in scanning images. Scanning
images generally has clean and white
background, while video images often have very
complex background without prior knowledge
about the text color.Although there have been
several successful systems of video text
extraction, few researchers specially study text
segmentation in video images deeply. The used
strategies could be classified into two main
categories: (1) difference (or top-down) and (2)
similarity based (or bottom-up) methods. The
first methods are based on the foregroundbackground contrast. For example, fixed
threshold value method [2], Otsu’s adaptive
thresholding method [3], global & local

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
www.IJCSI.org
417
[3] Bergmann, E. and J. Dzielski, computer vision and
thresholding method [4], Niblack’s method [5]
image undwestanding Dynamics, 1990. 13(1): p. 99and improved Niblack method [6], et al. In
103.
general, they are simple and fast, but fail when
[4] Tanygin, S. image dense stereo matching by
foreground and background are similar.
technique of region growing,.Journal of Guidance,
Alternatively, the similarity based methods
Control, and Dynamics, 1997.20(4): p.
cluster pixels with similar intensities together.
625-632.
For example, Lienhart uses the split & merge
[5] Lee, A.Y. and J.A. Wertz, Harris operator is used
algorithm [7], Wang et al. combine edge
to improve the exact position of point feature, 2002.
detection, watershed transform and clustering
39(1): p. 153-155.

[8]. However, these methods are unstable, since
they exploit many intuitive rules about text
shape. As an alternative, Chen et al. convert text
pixel clustering to labeling problem using
Gibbsian EM algorithm [9]. This method is
effective but too time consuming. The main
problem of most existing methods is that they are
sensitive to text color, size, font and background
clutter, since they simply exploit either general
segmentation method or some prior knowledge.
To overcome these problems a new algorithm
based on stroke filter is available which
discovers the intrinsic characteristics of text and
design a robust algorithm specially for text
segmentation. In this algorithm stroke filter (SF),
describes the intrinsic characteristics of text in
terms of scale, orientation and response, a stroke
feature based text polarity determination method
is available and local region growing method for
segmentation refinement based on stroke features
and global & local statistic similarities.
5. Conclusion
Image segmentation has become a very
important task in today’s scenario. In the present
day world computer vision has become an
interdisciplinary field and its applications can be
found in any area be it medical , remote sensing ,
electronics and so on . Thus , to find a
appropriate segmentation algorithm based on
your application and the type of inputted image
is very important. In this paper the author has
explained and suggested a few application
specific segmentation algorithm which also take
into consideration the type of image inputted like
color, gray scale and text.
References
[l] A. Rosenfeld and D. pfaltz, Sequential operatons in
Digital Picture Processing J.A.C.M. (1966) EN0 4 pp
471-494.
[2] Bergmann, E.V., B.K. Walker, and B.K. Levy, The
Research on Stereo Matching Algorithm based on
Region-growth. Journal of Guidance, Control, and
Dynamics, 1987. 10(5): p. 483-491.

[6] Palimaka, J. and $B.V. burlton, fast computation
of matching value for binocular stereo vision. 1992:
Hilton Head Island. p. 21-26.
About The Authors

K.K.Singh is currently working as Assistant
Professor in ECE department of Hermes
Engineering college. He holds B.Tech (EI) and
M.Tech (VLSI) degree. He has more than five
years of teaching experience. He has published a
number of popular text books including Digital
Communications, VLSI Technology, Automatic
Control Systems, Mobile Computing, Digital
Image Processing, Network Analysis and
Synthesis and IT Infrastructure management. He
has also presented and published a number of
papers
in
national/international
journals/conferences. His areas of specialization
are Digital Communications, VLSI Technology,
Automatic Control Systems , Networks and
many more.
Akansha Singh is currently working as
Assistant Professor in IT department of AKGEC,
Ghaziabad. She holds B.Tech (CS) and M.Tech
(CS) honors degree. She has several years of
teaching experience. She has published a number
of popular text books including Web
Technology, IT Infrastructure Management,
Mobile Computing, Digital Image Processing ,
Network Analysis and synthesis . She has also
presented and published a number of papers in
national/international journals/conferences. Her
areas of specialization are Web Technology,
Mobile Computing, Digital Image Processing
and many more.

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

418

Software Architecture, Scenario and Patterns
R.V. Siva Balan1, Dr. M. Punithavalli2
1

Department of Computer Applications,
Narayanaguru College of Engineering, kanyakumari, India.
2
Director & Head Department of Computer Applications,
Sri Ramakrishna College of Arts and Science for women, Coimbatore, India.

Abstract
The software engineering projects [22, 23] reveals
that a large number of usability related change
requests are made after its deployment. Fixing
usability problems during the later stages of
development often proves to be costly, since many of
the necessary changes require changes to the system
that cannot be easily accommodated by its software
architectural design. This costs high for the
practitioners and prevents the developers from
finding all the usability requirements, resulting in
systems with less than ideal usability. The successful
development of a usable software system therefore
must include creating a software architecture that
supports the optimal level of usability. Unfortunately,
no architectural design usability assessment
techniques exist. To support software architects in
creating a software architecture that supports
usability, practicing a scenario based assessment
technique that leads to successful application of
pattern specification is undergone. Explicit
evaluation of usability during architectural design
may reduce the risk of building a system that fails to
meet its usability requirements and may prevent high
costs incurring adaptive maintenance activities once
the system has been implemented.
Keywords: use-case, patterns, usability, scenarios,
patterns specifications
1. Introduction
Scenarios have been gaining increasing popularity in
both Human Computer Interaction (HCI) and
Software Engineering (SE) as ‘engines of design’. In
HCI scenarios are used to focus discussion on
usability [3] issues .They support discussion to gain
an understanding of the goals of the design and help
to set overall design objectives. In contrast, scenarios
play a more direct role in SE, particularly as a front
end to object oriented design. Use case driven
approaches have proved useful for requirements
elicitation and validation. The aim of use cases in
Requirements Engineering is to capture systems
requirements. This is done through the exploration
and selection of system user interactions to provide

the needed facilities. A use case is a description of
one or more end to end transactions involving the
required system and its environment. The basic idea
is to specify use cases [8] that cover all possible
pathways through the system functions. The concept
of use case was originally proposed in Objectory [8]
but has recently been integrated in a number of other
approaches including the Fusion method and the
Unified Modeling Language [7].
In the software design area, the concept of design
patterns has been receiving considerable attention.
The basic idea is to offer a body of empirical design
information that has proven itself and that can be
used during new design efforts. In order to aid in
communicating design information, design patterns
focus on descriptions that communicate the reasons
for design decisions, not just the results. It includes
descriptions of not only ‘what’ but also ‘why’. Given
the attractiveness and popularity of the patterns
approach, a natural question for RE is: How can
requirements guide a patterns-based approach to
design? A systematic approach to organizing,
analyzing, and refining nonfunctional requirements
can provide much support for the structuring,
understanding, and applying of design patterns during
design.
2. Software architecture
The challenge in software development is to develop
software with the right quality levels. The problem is
not so much to know if a project is technically
feasible concerning functions required, but instead if
a solution exists that meets the software quality
requirements, such as throughput and maintainability.
Traditionally the qualities of the developed software
have, at best, been evaluated on the finished system
before delivering to the customer. The obvious risks
of having spent much effort on developing a system
that eventually did not meet the quality requirements
have been hard to manage. Changing the design of
the system would likely mean rebuilding the system
from scratch to the same cost. The result from the
software architecture design activity is a software

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

architecture. But, the description of that software
architecture is far from trivial. A reason is that it is
hard to decide what information is needed to describe
software architecture, and hence, it is very hard to
find an optimal description technique.
In the paper by Perry and Wolf [2] the foundations
for the study of software architecture define software
architecture as follows:
Software Architecture = {Elements, Form, Rationale}
Thus, software architecture is a triplet of (1) the
elements present in the construction of the software
system, (2) the form of these elements as rules for
how the elements may be related, and (3) the
rationale for why elements and the form were chosen.
This definition has been the basis for other
researchers, but it has also received some critique for
the third item in the triplet. In [15] the authors
acknowledge that the rationale is indeed important,
but is in no way part of the software architecture. The
basis for their objection is that when we accept that
all software systems have inherent software
architecture, even though it has not been explicitly
designed to have one, the architecture can be
recovered. However, the rationale is the line of
reasoning and motivations for the design decisions
made by the design, and to recover the rationale we
would have to seek information not coded into
software.
Software system design consists of the activities
needed to specify a solution to one or more problems,
such that a balance in fulfillment of the requirements
is achieved. A software architecture design method
implies the definition of two things. (i) A process or
procedure for going about the included tasks. (ii) A
description of the results or type of results to be
reached when employing the method. From the
software architecture point-of-view, the first of the
aforementioned two, includes the activities of
specifying the components and their interfaces, the
relationships between components, and making
design decisions and document the results to be used
in detail design and implementation. The second is
concerned with the definition of the results, i.e. what
is a component and how is it described.
The traditional object-oriented design methods, e.g.
(OMT [12], Booch [6], Objectory [8]) has been
successful in their adoption by companies worldwide.
Over the past few years the three aforementioned
have jointly produced a unified modeling language
(UML) [7] that has been adopted as de facto standard
for documenting object-oriented designs.

419

3. Scenarios
Scenarios serve as abstractions of the most important
requirements on the system. Scenarios play two
critical
roles,
i.e.
design
driver,
and
validation/illustration. Scenarios are used to find key
abstractions and conceptual entities for the different
views, or to validate the architecture against the
predicted usage. The scenario view should be made
up of a small subset of important scenarios. The
scenarios should be selected based on criticality and
risk. Each scenario has an associated script, i.e.
sequence of interactions between objects and
between processes [13]. Scripts are used for the
validation of the other views and failure to define a
script for a scenario discloses an insufficient
architecture.

Fig. 1 4+1 View model design method

The 4+1 View Model presented in [17] was
developed to rid the problem of software architecture
representation. Five concurrent views (Fig. 1) are
used; each view addresses concerns of interest to
different stakeholders. On each view, the Perry/Wolf
definition [2] is applied independently. Each view is
described using its own representation, a so called
blueprint. The fifth view (+1) is a list of scenarios
that drives the design method.
4. Usability concerns
The work in this paper is motivated by the fact that
this also applies to usability. Usability is increasingly
recognized as an important consideration during
software development; however, many well-known
software products suffer from usability issues that
cannot be repaired without major changes to the
software architecture of these products. This is a
problem for software development because it is very
expensive to ensure a particular level of usability
after the system has been implemented. Studies [21,
22] confirm that a significant large part of the
maintenance costs of software systems is spent on
dealing with usability issues. These high costs can be
explained because some usability requirements will

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

not be discovered until the software has been
implemented or deployed.
5. Patterns
Software engineers have a tendency to repeat their
successful designs in new projects and avoid using
the less successful designs again. In fact, these
different styles of designing software systems could
be common for several different unrelated software
engineers. This has been observed in [18] where a
number of systems were studied and common
solutions to similar design problems were
documented as design patterns.

Fig. 2 Usability Framework

The concept has been successful and today most
software engineers in are aware of design patterns.
The concept has been used for software architecture
as well. First by describing software architecture
styles [16] and then by describing software
architecture patterns [5] in a form similar to the
design patterns. The difference between software
architecture styles and software architecture patterns
have been extensively debated. Two major
viewpoints are; styles and patterns are equivalent, i.e.
either could easily be written as the other, and the
other view point is, they are significantly different
since styles are a categorization of systems and
patterns are general solutions to common problems.
Either way styles/patterns make up a common
vocabulary. It also gives software engineers support
in finding a well-proven solution in certain design
situations.

420

The design and use of explicitly defined software
architecture has received increasing amounts of
attention during the last decade. Generally, three
arguments for defining an architecture are used [14].
First, it provides an artifact that allows discussion by
the stakeholders very early in the design process.
Second, it allows for early assessment of quality
attributes [29,25]. Finally, the design decisions
captured in the software architecture can be
transferred to other systems.
Our work focuses on the second aspect: early
assessment of usability. Most engineering disciplines
provide techniques and methods that allow one to
assess and test quality attributes of the system under
design. For example for maintainability assessment
code metrics [23] have been developed. In [3] an
overview is provided of usability evaluation
techniques that can be used during software
development. Some of the more popular techniques
such as user testing [9], heuristic evaluation [10] and
cognitive walkthroughs [1] can be used during
several stages of development. Unfortunately, no
usability assessment techniques exist that focus on
assessment of software architectures. Without such
techniques, architects may run the risk of designing a
software architecture that fails to meet its usability
requirements. To address to this problem we have
defined a scenario based assessment technique
(SALUTA).
The Software Architecture Analysis Method (SAAM)
[20] was among the first to address the assessment of
software architectures using scenarios. SAAM is
stakeholder centric and does not focus on a specific
quality attribute. From SAAM, ATAM [19] has
evolved. ATAM also uses scenarios for identifying
important quality attribute requirements for the
system. Like SAAM, ATAM does not focus on a
single quality attribute but rather on identifying
tradeoffs between quality attributes. SALUTA can be
integrated into these existing techniques.
6. Pattern Specifications
Pattern Specifications (PSs) [25, 26] are a way of
formalizing the structural and behavioral features of a
pattern. The notation for PSs is based on the Unified
Modeling Language (UML) [26].
A Pattern
Specification describes a pattern of structure or
behavior and is defined in terms of roles. A PS can be
instantiated by assigning modeling elements to play
these roles. The abstract syntax of UML is defined by
a UML metamodel. A role is a UML metaclass
specialized by additional properties that any element
fulfilling the role must possess. Hence, a role

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

specifies a subset of the instances of the UML
metaclass. A PS can be instantiated by assigning
UMLmodel elements to the roles in the PS. A model
conforms to a pattern specification if its model
elements that play the roles of the pattern
specification satisfy the properties defined by the
roles. Pattern specifications can be defined to show
static structure or dynamic behavior. Here we
concern with specifications of behavior but it should
be noted that any class roles participating in pattern
specifications must be defined in a Static Pattern
Specification (SPS), which is the PS equivalent of a
class diagram.
An Interaction Pattern Specification defines a pattern
of interactions between its participants. It consists of
a number of lifeline roles and message roles which
are specializations of the UML metaclasses Lifeline
and Message respectively. The IPS in Fig. 4
formalizes the Observer pattern. Role names are
preceded by a vertical bar to denote that they are
roles.

421

be hidden. This has advantages for requirements
engineers not trained in state-based techniques.

Fig. 4 Conforming Sequence Diagram

An IPS can be instantiated by assigning concrete
modeling elements to the roles.
7. Functional and non-functional patterns
Non-functional requirements (NFRs) are pervasive in
descriptions of design patterns. They play a crucial
role in understanding the problem being addressed,
the tradeoffs discussed, and the design solution
proposed. However, since design patterns are mostly
expressed as informal text, the structure of the design
reasoning is not systematically organized. In
particular, during the design phase, much of the
quality aspects of a system are determined. Systems
qualities are often expressed as non-functional
requirements, also called quality attributes e.g.
[28,29]. These are requirements such as reliability,
usability, maintainability, cost, development time,
and are crucial for system success. Yet they are
difficult to deal with since they are hard to quantify,
and often interact in competing, or synergistic ways.

Fig. 3 Pattern Specification Process Model

Each lifeline role is associated with a classifier role, a
specialization of a UML classifier. Fig. 4 shows an
example of an IPS and a conforming sequence
diagram.
The separation of specification concerns are
maintained at the state machine level with
composition of the functional need and nonfunctional need of requirements from the scenario
level, the state machines need never be seen by the
requirements engineer. Composition is specified
purely in terms of scenario relationships and the
composed state machine of the execution of the
requirement and cancellation that are generated can

Fig. 5 Non-functional patterns as Requirements

During design such quality requirements appear in
design tradeoffs when designers need to decide upon
particular structural or behavioral aspects of the
system. Applying a design pattern may be understood
as transforming the system from one stage of

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

development to the next. A good design needs the
identification of architectural design decisions that
improve usability, such as identification of usability
patterns [29].
8. Conclusion
Use cases are a popular requirements modeling
technique, yet people often struggle when writing
them. They understand the basic concepts of use
cases, but find that actually writing useful ones turns
out to be harder than one would expect. One factor
contributing to this difficulty is that we lack objective
criteria to help judge their quality. Many people find
it difficult to articulate the qualities of an effective
use case. We have identified approximately threedozen patterns that people can use to evaluate their
use cases. We have based these patterns on the
observable signs of quality that successful projects
tend to exhibit. Construction guidance is based on use
case model knowledge and takes the form of rules
which encapsulate knowledge about types of action
dependency, relationships between actions and flow
conditions, properties of objects and agents, etc.
Based on this knowledge rules, help discovering
incomplete
expressions,
missing
elements,
exceptional cases and episodes in the use case
specification through pattern specification. They
support the progressive integration of scenarios into a
complete use case specification.
References
[1] C. Wharton, J. Rieman, C. H. Lewis,
and P. G.
Polson, The Cognitive
Walkthrough: A practitioner's guide.,
in
Usability
Inspection
Methods,
Nielsen, Jacob and Mack, R. L., John
Wiley and Sons, New York, NY., 1994.
[2] D.E. Perry, A.L.Wolf, ‘Foundations
for
the
Study
of
Software
Architecture’, Software Engineering
Notes, Vol. 17, No. 4, pp. 40-52,
October 1992.
[3]
E.
Folmer
and
J.
Bosch,
Architecting for usability; a survey,
Journal of systems and software,
Elsevier, 2002, pp. 61-78.
[4] F. Buschmann, R. Meunier, H.
Rohnert,
M.Stahl,
Pattern-Oriented
Software Architecture - A System of
Patterns, John Wiley & Sons, 1996.
[5]
F.
Buschmann,
R.
Meunier,
H.
Rohnert,
M.Stahl,
Pattern-Oriented
Software Architecture - A System of
Patterns, John Wiley & Sons, 1996.
[6] G. Booch, Object-Oriented Analysis
and Design with Applications (2nd
edition),
Benjamin/Cummings
Publishing Company, 1994.

422

[7] G. Booch, J. Rumbaugh, I. Jacobson,
The Unified Modeling Language User
Guide,
Object
Technology
Series,
Addison-Wesley, October 1998.
[8] I. Jacobson, et. al., Objectoriented software engineering. A use
case approach, Addison- Wesley, 1992.
[9] J. Nielsen, Heuristic Evaluation.,
in Usability Inspection Methods.,
Nielsen, J. and Mack, R. L.,
John
Wiley and Sons, New York, NY., 1994.
[10] J. Nielsen, Usability Engineering,
Academic Press, Inc, Boston, MA.,
1993.
[11] J. Bosch, Design and use of
Software Architectures: Adopting and
evolving a product line approach,
Pearson Education (Addison-Wesley and
ACM Press), Harlow, 2000.
[12]
J.
Rumbaugh,
M.
Blaha,
W.
Premerlani, F. Eddy, W. Lorensen,
Object-oriented modeling and design,
Prentice Hall, 1991.
[13] K. Rubin, A. Goldberg, “Object
Behaviour Analysis”, Communications
of ACM, September 1992, pp. 48-62.
[14] L. Bass, P. Clements, and R.
Kazman,
Software
Architecture
in
Practice, Addison Wesley Longman,
Reading MA, 1998.
[15] L. Bass, P. Clements, R. Kazman,
Software Architecture in Practice,
Addison Wesley,1998.
[16] M. Shaw, D. Garlan, Software
Architecture - Perspectives on an
Emerging Discipline, Prentice Hall,
1996.
[17] P.B. Kruchten, ‘The 4+1 View Model
of Architecture,’ IEEE Software, pp.
42-50, November 1995.
[18] R. Gamma et. al., Design Patterns
Elements
of
Reusable
Design,
Addison.Wesley, 1995.
[19] R. Kazman, M. Klein, M. Barbacci,
T. Longstaff, H. Lipson, and J.
Carriere, The Architecture Tradeoff
Analysis
Method,
Proceedings
of
ICECCS'98, 8-1-1998.
[20] R. Kazman, G. Abowd, and M. Webb,
SAAM: A Method for Analyzing the
Properties of Software Architectures,
Proceedings of the 16th International
Conference on Software Engineering,
1994.
[21]
R.
S.
Pressman,
Software
Engineering:
A
Practitioner's
Approach, McGraw-Hill, NY,1992.
[22] T. K. Landauer, The Trouble with
Computers: Usefulness, Usability and
Productivity., MIT Press., Cambridge,
1995.
[23] W. Li and S. Henry, OO Metrics
that Predict Maintainability, Journal

IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010
ISSN (Online): 1694-0814
www.IJCSI.org
of systems and software, Elsevier,
1993, pp. 111-122.
[24] R. France, D. Kim, S. Ghosh and E.
Song,
“A
UMLBased
Pattern
Specification
Technique”,
IEEE
Transactions on Software Engineering,
Vol. 30(3), 2004.
[25] D. Kim, R. France, S. Ghosh and
E. Song, “A UMLBased Metamodeling
Language to Specify Design Patterns”,
Proceedings of Workshop on Software
Model Engineering (WiSME), at UML
2003, San Francisco, 2003.
[26]
Unified
Modeling
Language
Specification, version 2.0 January
2004, In OMG, http://www.omg.org [15]
J. Warmer and A. Kleppe, The Object
Constraint Language: Getting Your
Models Ready for MDA, 2nd Edition,
Addison-Wesley, 2003.
[27]Boehm
BW.
Characteristics
of
software quality. North-Holland Pub.
Co., Amsterdam New York 1978.
[28]Bowen
TP.
Wigle
GB.
Tsai
JT.
Specification of software quality
attributes
(Report
RADC-TR-85-37).
Rome Air Development Center, Griffiss
Air Force Base NY 1985.
[29] Architecting for usability; a
survey, http://segroup.cs.rug.nl.

Prof. Dr.M.Punithavalli is currently the Director &
Head of Department of Computer Applications, Sri
Ramakrishna College of Arts and Science for
women, Coimbatore, India. She is actively working
as the Adjunct Professor in the department of
Computer Applications of Ramakrishna Engineering
College, India.
Lect. R.V.SivaBalan is currently working as the
Lecturer in the Department of Computer
Applications, Narayanaguru College of Engineering,
India. He is a research scholar in Anna University
Coimbatore, India.

423

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

Efficient 2.45 GHz Rectenna Design with high Harmonic
Rejection for Wireless Power Transmission
Zied Harouni1, Lotfi Osman1 and Ali Gharsallah1
1

Department de physique, Faculté des sciences de Tunis, Laboratoire d'Electronique
El Manar,2092 , Tunisia

Abstract
The purpose of this work is to propose an efficient microstrip
rectenna operating on ISM band with high harmonic rejection.
The receiving antenna with proximity coupled feeding line
implemented in a multilayer substrate. The rectenna with
integrated circular sector antenna can eliminate the need for an
low pass filter (LPF) placed between the antenna and the diode
as well as produce higher output power, with maximum
conversion efficiency of 74% using a 1300 Ω load resistor at a
power density of 0.3 mW/cm².

Keywords: WPT, Rectenna, Rectifying circuit, Proximity

the antenna with harmonic rejection property was
proposed to eliminate LPF [13]. In this paper, a microstrip
rectenna with harmonic rejection property is proposed it
shown in figure 1.
Antenna
Rectifying
circuit

Feeding line

(2nd harmonic rejection)

Diode

coupled antenna, Defect ground structure.

1. Introduction
Rectifying antenna (rectenna) which can convert RF
energy to DC power plays an important role in free space
wireless power transmission (WPT). Over the last century,
the development of rectenna for space solar power
transmission (SSPT) [1] as well as WPT [2] had great
achievement with specific functions; and the applications
e.g., actuator [3] or wireless sensors [4].
The typical rectenna in the prior literatures [5]–[7]
basically consists of four elements: antenna, low pass filter
(LPF), diodes, and DC pass capacitor. The initial
development of rectenna focuses on its directivity and
efficiency for great power reception and conversion,
hence, large array [8] was usually adopted for microwave
power reception. Afterward, many functions were added
to enhance the performance of the rectenna array, such as
arbitrary polarization [9], dual-polarization [10], CP [11],
and dual band [12]. Besides, for the antenna integrated
with nonlinear circuits, such as diodes and FETs, it is well
known that harmonics of the fundamental frequency
would be generated. The unwanted harmonics cause
problems of harmonics re-radiation and efficiency
reduction of rectenna; then the LPF is required to suppress
harmonics to improve system performance and prevent
harmonics interference. For size reduction and cost down,

Via

DGS
(3nd harmonic rejection)

Vout
C
RL
Via Via

Via
Feeding line and
Rectifying circuit

Antenna

h2

Duroïd 5880

h1

Tmm4
Ground

DGS

Figure 1. Proposed rectenna with harmonic rejection

2. Antenna design
The rectangular radiating patch is printed on the side of
the first substrate while the microstrip feed line is on the
upper side of the second substrate, the ground plane, and
the dumbbell shape slot, are on lower side of the second
substrate. The relative permittivities and the thickness are
εr1=2.2, εr2=4.5, h1=1.575 mm and h2=1.524 mm. We
should emphasize that the value of εr1 has been chosen
small to enhance the patch radiation. Similarly, the

425

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

quantity εr2 has been chosen so high to reduce the size of
microstrip feed line compared to the radiating element.
The line is dimensioned for 50Ω characteristic impedance
and a bandwidth of 2.845 mm.
The length and width of the patch are 34.2 mm and 34.9
mm respectively, which are dimensioned to resonate at
2.45GHz frequency. The slot in the ground plane, whose
dimensions are given on the Figure 2. The electromagnetic
energy is coupled from the microstrip feed line to the
patch, the slot avoid a frequency stop band.
(a)

50Ω

50Ω
e1
e3
e2 e4

Fig. 1 S-parameters and side view of the DGS used to reduce the third
harmonic in the proposed design, e1=0.255mm, e2= 2. 95mm, e3=2.1mm,
e4=2.84mm

The use of a DGS allows the apparition of a stop band
controlled by tuning the dimensions of the slot. The S
parameter result of the DGS is shown in figure 2.

(b)
Fig. 3 Field distribution (V/m) at 4.9 GHz (a) and 7.35 GHz (b).

Figure 3 shows the current distribution at 4.9 GHz and
7.35 GHz

3. Rectenna measurements
The receiving antenna and rectifying are connected by
SMA connectors as shown in Fig. 4. It contains a linearly
polarised patch antenna designed at 2.45 GHz by using
HFSS software[14]. The rectenna contains one
HSMS2860 commercial Schottky diodes in a SOT23
package. The zero bias junction capacitance Cj0 is 0.18 pF
and the series resistance Rs is 5 V.

Fig. 2 Simulated and Measured reflection coefficient versus frequency.

The measured return loss impedance bandwidth is about
2.6% for a 6.4 dB gain at 2.45GHz operating frequency. It
can be noted that the mismatches at the harmonics
frequencies 4.9GHz and 7.35GHz are -1.95 dB and -1.75
dB respectively.

Fig. 4 Photograph of the proposed rectenna

The experiments have been carried out in anechoic
chamber. The transmitting antenna is a standard linear
polarized horn with gain Gt of 12 dB. The rectenna is
located at the distance r of 70 cm, which is the far region

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

of the horn. The output DC voltage and overall efficiency
have been measured against power density from the Friss
transmission equation(1).
2

  
Pr  
 Pt Gt Gr
 4r 

(1)

where Pt is the transmitting power; Gr is the receiving
antenna gain; ¸ is the free space wavelength at 2.45 GHz.
So the RF-DC conversion efficiency is calculated by
formula (2).

Vout 2
r 

output DC voltage is 2.9 V over a 1300 Ω optimised load
resistance. The measured results show that
the output voltage and efficiency increase when the power
density increases.

In applications, the antenna and rectifying circuit
can be integrated directly on one substrate by
omitting SMA connectors. Without the loss of
SMAs, the efficiency would be higher.

4. Conclusion

RL
Pr

(2)

The rectenna is illuminated by a linearly polarised incident
plane wave of 20 V/m (0.10 mW/cm²) at its broadside. On
the transmitter side, we have used a 30 dB gain power
amplifier at 2.45 GHz connected to a signal generator. The
output DC voltage across the resistor load has been
measured by a voltmeter.

An efficient rectenna design, based on a series diode
circuit topology is proposed. An optimised length of the
feeding line and defect groud structure are used to reject
the second and the third harmonics. No input low pass
filter is needed, thus reducing the insertion losses and the
dimensions of the circuit. The rectifying circuit has been
optimised at 2.45 GHz for an input power of 10 dBm. The
rectenna exhibits a measured efficiency of 74 % at 0.3
mW/cm² power density and an output DC voltage of 2.9
V.

3
DC voltage (V)

2,5

5. Acknowledgment

2
1,5

We thank D. Delcroix and the Esycom laboratory of
University of Marne-La-Vallée in Paris.

1
0,5
0
0,01

0,03

0,06

0,09

0,12

0,15

0,18

0,21

0,24

0,27

0,3

Power density (mW/cm²)

[1] P. E. Glaser, “An overview of the solar power satellite
option,” IEEE Trans. Microw. Theory Tech., vol. 40, no. 6,
pp. 1230–1238, Jun. 1992

80

E fficiency (% )

References

60

[2] W. C. Brown, “The history of power transmission by radio
waves,” IEEE Trans. Microw. Theory Tech., vol. 32, no. 9,
pp. 1230–1242, Sep.1984.

40
20
0
0,01

0,03

0,06

0,09

0,12 0,15 0,18

0,21 0,24

0,27

0,3

Power density (mW/cm²)
Fig. 5 Measured DC voltages and rectenna efficiency
against power density

The measured output DC voltages and overall efficiency
are shown in Fig. 5. In the power density range (0–0.3
mW/cm²), the measured rectenna efficiency is above 74%
from 0.3 mW/cm² power density and the corresponding

[3] Epp, L.W., Khan, A.R., Smith, H.K., and Smith, R.P.: ‘A
compact dualpolarized 8.51-GHz rectenna for high-voltage
(50 V) actuator applications’, IEEE Trans. Microw. Theory
Tech., 2000, 48, (1), pp. 111–120
[4] Farinholt, K.M., Park, G., and Farrar, C.R.: ‘RF energy
transmission for a low-power wireless impedance sensor
node’, IEEE Sensors J., 2009, 9,(7), pp. 793–800
[5] H. Takhedmit, L. Cirio, B. Merabet, B. Allard, F. Costa, C.
Vollaire and O. PiconEfficient 2.45 GHz rectenna design
including harmonic rejecting rectifier device, Electronics
letters 10th June 2010 Vol. 46 No. 12

426

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

[6] Tzong-Chee Yo, Chien-Ming Lee, Chen-Ming Hsu, and
Ching-Hsing Luo, Compact Circularly Polarized Rectenna
With Unbalanced Circular Slots, IEEE TRANSACTIONS
ON ANTENNAS AND PROPAGATION, VOL. 56, NO.
3, MARCH 2008
[7] M. Ali, G. Yang, and R. Dougal, Miniature Circularly
Polarized Rectenna With Reduced Out-of-Band
Harmonics, IEEE antennas and wireless propagation
letters, vol. 5, 2006
[8] R. M. Dickinson, “Performance of a high-power, 2.388GHz receiving array in wireless power transmission over
1.54 km,” in IEEE MTT-SInt. Microw. Symp. Dig., Jun.
1976, vol. 76, no. 1, pp. 139–141.
[9] J. A. Hagerty and Z. Popovic, “An experimental and
theoretical characterization of a broadband arbitrarilypolarized rectenna array,” in MTT-S Int. IEEE Microw.
Symp. Dig., May 20–25, 2001, vol. 3, pp. 1855–1858.
[10] J. O. McSpadden and K. Chang, “A dual polarized
circular patch rectifying antenna at 2.45 GHz for
microwave power conversion and detection,” in IEEE
MTT-S Int. Microw. Symp. Dig., May 1994, vol. 3, pp.
1749–1752.
[11] Y.-Y. Gao, X.-X. Yang, C. Jiang, and J.-Y. Zhou, A
circularly polarized rectenna with low profile for wireless
power transmission, Progress In Electromagnetics
Research Letters, Vol. 13, 4-49, 2010
[12] Y. H. Suh and K. Chang, “A high-efficiency dualfrequency rectenna for 2.45- and 5.8-GHz wireless power
transmission,” IEEE Trans. Microw. Theory Tech., vol. 50,
no. 7, pp. 1784–1789, Jul. 2002
[13] Ji-Yong Park, Sang-Min Han,Tatsuo Itoh, A Rectenna
Design With Harmonic-Rejecting Circular-Sector Antenna,
IEEE Antennas and wireless propagation letters, vol. 3,
2004.
[13] ANSOFT CORPORATIONS, HFSS V.11- Software
based on the finite element method.

Zied Harouni was born in France in 1980, he received his
master’s degree in electronic from the Faculty of Sciences of
Tunis, Tunisia, in 2006, where he prepare his PhD degree. His
research interests microwave transmission power.
Lotfi Osman he received his PhD degree, He is currently working
at the Ecole supérieur de telecommunication de Tunis. His
research interests antennas and
modelling in microwave
integrated circuits.
Ali Gharsallah Professor in the faculty of Sciences of Tunis, he
received the engineering’s degree in radio-electrical from the Ecole
Supérieure de Telecommunication de Tunis in 1986 and the PhD
degree in 1994 from the Ecole National d’Ingénieurs de Tunis.

Since 1991, he was with the Department of Physics at the Faculty
of Sciences, Tunis. His current research interests include
antennas, multilayered structures and microwave integrated
circuits.

427

IJCSI CALL FOR PAPERS JANUARY 2011 ISSUE
Volume 8, Issue 1
The topics suggested by this issue can be discussed in term of concepts, surveys, state of the
art, research, standards, implementations, running experiments, applications, and industrial
case studies. Authors are invited to submit complete unpublished papers, which are not under
review in any other conference or journal in the following, but not limited to, topic areas.
See authors guide for manuscript preparation and submission guidelines.
Accepted papers will be published online and indexed by Google Scholar, Cornell’s
University Library, DBLP, ScientificCommons, CiteSeerX, Bielefeld Academic Search
Engine (BASE), SCIRUS, EBSCO, ProQuest and more.
Deadline: 05th December 2010
Notification: 10th January 2011
Revision: 20th January 2011
Online Publication: 31st January 2011

















Evolutionary computation
Industrial systems
Evolutionary computation
Autonomic and autonomous systems
Bio-technologies
Knowledge data systems
Mobile and distance education
Intelligent techniques, logics, and
systems
Knowledge processing
Information technologies
Internet and web technologies
Digital information processing
Cognitive science and knowledge
agent-based systems
Mobility and multimedia systems
Systems performance
Networking and telecommunications

















Software development and
deployment
Knowledge virtualization
Systems and networks on the chip
Context-aware systems
Networking technologies
Security in network, systems, and
applications
Knowledge for global defense
Information Systems [IS]
IPv6 Today - Technology and
deployment
Modeling
Optimization
Complexity
Natural Language Processing
Speech Synthesis
Data Mining

For more topics, please see http://www.ijcsi.org/call-for-papers.php
All submitted papers will be judged based on their quality by the technical committee and
reviewers. Papers that describe on-going research and experimentation are encouraged.
All paper submissions will be handled electronically and detailed instructions on submission
procedure are available on IJCSI website (www.IJCSI.org).
For more information, please visit the journal website (www.IJCSI.org)

© IJCSI PUBLICATION 2010
www.IJCSI.org

 
 
 
 
 
 
 
 

IJCSI

 
 
 
 
 
 

The International Journal of Computer Science Issues (IJCSI) is a well‐established and notable venue 
for  publishing  high  quality  research  papers  as  recognized  by  various  universities  and  international 
professional  bodies.  IJCSI  is  a  refereed  open  access  international  journal  for  publishing  scientific 
papers  in  all  areas  of  computer  science  research.  The  purpose  of  establishing  IJCSI  is  to  provide 
assistance  in  the  development  of  science,  fast  operative  publication  and  storage  of  materials  and 
results of scientific researches and representation of the scientific conception of the society. 
It also provides a venue for researchers, students and professionals to submit ongoing research and 
developments  in  these  areas.  Authors  are  encouraged  to  contribute  to  the  journal  by  submitting 
articles that illustrate new research results, projects, surveying works and industrial experiences that 
describe significant advances in field of computer science. 
Indexing of IJCSI 
1. Google Scholar 
2. Bielefeld Academic Search Engine (BASE) 
3. CiteSeerX 
4. SCIRUS 
5. Docstoc 
6. Scribd 
7. Cornell's University Library 
8. SciRate 
9. ScientificCommons 
10. DBLP 
11. EBSCO 
12. ProQuest 

© IJCSI PUBLICATION
www.IJCSI.org 

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close