1. Department of Software Engineering, College of Computing and Information Technology, Arab Academy for Science and Technology, Alexandria, Egypt
2. Department of Mathematics and Computer Science, Faculty of Science, Alexandria University, Alexandria, Egypt
3. School of Computer Science, University of Birmingham, Birmingham, B15 2TT, UK