My Recent CV

  My Projects

  Current Activities

  Photo Gallery

  My Favorite Links


Descriptions for My Development Projects


  Downloadable Copies:   Word Format     Pdf Format



Enterprise wide implementation of Oracle’s EBusiness Suite in King Fahd University, Saudi Arabia


2006, 2007

 1:   Housing & Office Services Module


My Role

 Assistant Developer



1.      Mr. Riyazuddin,Mohammed, ITC (0501961645, mriyaz@kfupm.edu.sa)

2.      Mr. Said Ghurmallah Al-Ghamdi, Director, Faculty Housing


Main Contributions:



Successfully debated for the adoption of Oracle Application Framework (OAF) as the right development platform for the Housing & Office Services module (customized extension to Oracle Apps ERP)



Support the suggestion for OAF adoption with the following:

·        A self-prepared list of Frequently Asked Questions (FAQ) (with proper references to authentic technical sources) shedding light on the significance of OAF for Oracle Apps customized extensions (a copy is attached).

·                    A proof of concept prototype built using OAF platform.



Proposed the main screen layouts .



Implement a simulation environment (on a local machine using Oracle backend) to test workflow management scenarios needed in Housing & Office Service Business processes



Troubleshoot and resolved a number JAVA related technical issues faced during development



A significant contribution in back-end infrastructure design (database objects)



Helped in routine tasks like script writing/ troubleshooting, formatting page styles etc.


 1.2:   SQL Script Troubleshooting/ Tuning


My Role

 Code Troubleshooter



 Mr. Sanchay Pal, TCS (0563948013, sanchay@kfupm.edu.sa)



Main Contributions:



Troubleshoot problems in scripts affecting PL/SQL trigger invocation (firing) in Oracle back-end



Troubleshoot problems in scripts affecting PL/SQL function invocation


 1.3:  Report Development


My Role

 Report Developer



 Mr. Dennish, Mohammad, TCS


Main Contributions:



Formulated SQL Queries needed for Security & Safety Department Reports



Troubleshoot various issues involved in data retrieval for reporting







Online-course development (Web-based interactive multimedia content) Projects

2005, 2004


Brief Description

§         KFUPM is interested to explore the potential of using web in teaching. Deanship of Academic Development (DAD), KFUPM therefore awards grants for the development of some KFUPM courses into an online format.

§         Every academic year DAD announces its annual Online Courses Grant. These grants are given for the development of comprehensive online courses, which could be delivered completely through the web.

§         DAD is interested in receiving proposals from teams of KFUPM faculty members who are seriously interested in this field of education and have members with necessary skills required to successfully accomplish such a task. The announcement is made through e-mail, which is sent to all KFUPM faculties.



Program User(s)

Undergraduate and Graduate Students of MIS Department




Deanship of Academic Development, KFUPM.



Functionality Details

§         A distance-education, multimedia-rich course that utilizes the features and tools of Internet/Intranet environment, and is conducted and delivered completely through the medium.


§         The Online Course uses the necessary tools and comprehensive enough so that it is considered a viable replacement of the traditional face-to-face method of teaching.


§         The course encourages engaging the learner actively and effectively with the instructor, monitoring, providing prompt feedback, evaluating and facilitating enjoyable, self-directed and active leaning.


In summary, the online course have the following characteristics.

§         Encourages Contacts between students and faculty

§         Encourages Cooperation among students

§         Encourages Active Learning

§         Gives prompt Feedback

§         Emphasizes Time on Task

§         Communicates High Expectations

§         Respects Diverse Talents and Ways of Learning



Platform Details

§         Macromedia Flash MX (for animations)

§         Screen capturing tool (for demonstrating software use)

§         Voice generation tool (like Microsoft Narrator) for reading screens.







An outpatient ‘Hospital Management System’ for King Fahd University Clinic



            Brief Description

The system is developed with a focus towards information management. The system aims at providing medical center’s management personnel at King Fahd University, with those tools at their fingertips that would help them to streamline the various organizational activities right from Patient Registration, Medical Services, Appointment scheduling to Billing and Accounting and Resource Management.



Program User(s)

Staff Personnel at King Fahd Medical Center including Doctors & Therapists, Lab Technicians, Receptionists and Non-medical staff, like Accountants, Store keepers, etc.




King Fahd University, Saudi Arabia.



Functionality Details

The system provides support for the routine activities for its audience, a summary of the functionalities is as follows:



Doctors & Therapists

§         Retrieve the patient’s medical history,

§         Record the patient current visit details including prescription, lab test needed and other details.

Lab Personnel

§         Retrieve the test requirements entered by the doctor.

§         Enter the recent lab results for doctor’s reference


Do visit administration jobs like patient registration, appointment searching etc.

Non-medical staff, like Accountants, Store keepers

Responsible for recording drug stock, financial transactions with the drug suppliers etc.




Platform Details

The system uses a two-tier (client/ server) based distributed architecture. The back-end is an object-relational database engine of Oracle 9i Database which interacts with front-end program modules developed in Visual Basic 6.0 code.








A Data Backup Utility for College of Industrial Management (CIM)



Brief Description

Unexpected data loss is a real and significant problem in today's computing environments and can occur for a variety of different reasons. Hardware failure, virus attacks, theft, accidental deletes, overwrites and even natural disasters can cause organizations or individuals to lose considerable amounts of their most valuable asset, the data. The loss in employee productivity during the time it takes to restore or recreate the lost information, considerably affect.


CIM data backup is a handy, small, easy backup program that lets its users easily back up their documents and folders. Safely protects you from accidental deletes, overwrites, and viruses. Backups are stored in Zip files and can be created both manually and automatically (on schedule).


The program delivers Comprehensive Data Protection that guarantees the most current file backup possible by tracking changes as they occur. With automatic, unobtrusive hard drive backup, end-users can work as they always have - without IT training on procedures. Self-serve file recovery brings users back to productivity quickly, without burdening IT.


The program’s ease of use and fast, reliable data recovery tools combine to help organizations minimize downtime, increase IT and end-user efficiency, simplify data management, and save money. CIM Backup utility enables the user to perform their regular backups with the minimum amount of effort needed.



Program User(s)

§         CIM Faculty Members

§         CIM Secretarial/ administrative  Staff




College of Industrial Management (CIM) Administration,  King Fahd University, Saudi Arabia.



Functionality Details

Main features of the program are as follows:

1. The program frees the users from burden of arranging backup media on their own. A centrally installed data backup server machine with a fixed amount of disk space quota for every faculty member/ secretarial staff is dedicated for this purpose.


2. The program automates the back up task by enabling the users to configure a personalized backup schedule, on a timely or on demand basis.


3. Data is replicated as a single compressed file (in the zip format) at the central networked server. The feature will allow for the adoption of large amount of data in an affordable disk space.


4. The program allows the users to encrypt the replicated data copy (stored at the central server) with a personal password. This will maximize the data integrity by making the restoration inaccessible even for the Network Administrator.


5. The backup stuff, created at the central server by CIM faculty and staff, will be replicated on regular basis on removable media (backup tapes) by the college’s network staff.


6. After running the backup task once, the subsequent invocation will only replicate the changed contents of the files/ folders configured for backup earlier, instead of repeating the backup of full contents at every attempt.




Platform Details


The program development and complete testing is done mainly in-house by using Visual Basic Script Code modules. These modules work much similar to a batch file and run by Window Script Host interpreter (WSH, available with all Windows Platforms).

Some pre-built program components from third party vendors are being used for the full functionality. A summary of program component details is as follows:



 Program Component



 Power Archiver
(command line version)

Compression Utility from http://www.powerarchiver.com


 Path copying utility

For the availability of "Copy Selected Path" option in the right clicked context menu inside Windows by Fox Magic Software


VB Script Code Modules

 Written by Mr. Irfan Ilyas (Acting CAIR Administrator). These modules integrate the functionality of all program components transparent to the users.






A Course Administration System (web-integrated database) for College of Industrial Management (CIM)



Brief Description

Course administrative management is an essential element in course teaching. The system includes many administrative features that allow course instructors to keep track of students individually, and monitor entire classes quickly and easily.


The course activities include students registration, class attendance entry (online during class lectures), class performance reporting (to be used for different university requirements from course instructors) etc.

Through the web-interface, students will be allowed to make them aware of their course performance statistics through out the semester.



Program User(s)

§         Course Instructors – administrative privileges

§         Course Students – user privileges




College of Industrial Management (CIM) Administration,  King Fahd University, Saudi Arabia.



Functionality Details

Main features of the system include:

§         Enter and edit students and class information

§         Online support for regular course activity tracking like daily attendance logging,

§         Utilize extensive reporting both for instructors and students




Platform Details

The system utilizes two-tier system architecture with the back-end database engine (Microsoft Access 2002) and front end web-based interface objects (Data Access Page of Microsoft Access). Form objects with Visual Basic for Application coding required for automating activities. The system deploys a privilege based security model with password protected user accounts for desired system access.





A database driven web-site for serving CIM users IT-support activities



Brief Description

Success in customer support depends upon how quickly and effectively the service administrator responds to customer inquiries so the full potential of your customer relationships can be unlocked.

Some benefits of an efficient web-based customer support interface include:

§         More satisfied clients;

§         New and existing customers relations are under better control;

§         Improve customer support;

§         Optimize agent productivity and availability;

§         Customer support staff is more productive;

§         Keeping track of customer correspondence;

§         Creating Knowledge Base for typical customer support questions;

§         Creating a single integrated source for all customer support inquiries;

§         Ability to analyze information more effectively.



Program User(s)

Information Technology Users in College of Industrial Management, King Fahd University




College of Industrial Management, King Fahd University



Platform Details

§         Front Page 2002 (Authoring Tool)

§         Active Server Pages







Design & Implementation of  a Java Based Load Balancing Software (JLBS)  Framework (for parallel/distributed applications on a Local Area Network),



Brief Description

§         JLBS is a software package that permits a heterogeneous collection of Unix and/or Windows computers hooked together by a network to be used as a single large parallel computer. Thus large computational problems can be solved more cost effectively by using the aggregate power and memory of many computers. Cryptography, pattern matching, graphic intensive & computation intensive applications are some of the example applications of such a system.


§         JLBS enables users to exploit their existing computer hardware to solve much larger problems at minimal additional cost. These include important scientific, industrial, and medical problems. It can also be used in educational setups to teach the concepts of parallel programming.


§         JLBS requires the developers to code the parallel application using JLBS class framework. After the application is coded, the execution can be started by initiating the master object in the application which will send the slave objects (distributed tasks) all around the network in a load balanced manner.


§         As compared with other parallel computing systems like Parallel Virtual Machine (PVM), Message Passing Interface (MPI) etc., JLBS added the feature of load balancing in the parallel computing setup. This feature dynamically controls the computing load on the participant machines by relocating the parallelized computing tasks during runtime.


§         As JLBS is completely built in Java, it is much flexible in terms of environment heterogeneity as JLBS deployment doesn’t require any recompilation for a newly introduced hardware/ software platform. The only requirement is to have a proper JVM (Java Virtual Machine) environment available for every distinct platform available in the setup.




Program User(s)

§         Researchers, Programmers (parallel computing community)

§         Educators in Computer Science




College of Graduate Studies, King Fahd University

Functionality Details

§         JLBS provides the developer with a bunch of extendable/ interface class definitions. The developer can extend/ provide missing methods, thus create concrete classes which comprised the parallel application (e.g. a matrix multiplication application – a classical parallelizable problem in mathematical domain).


§         Before any parallel application can be launched, a JLBS parallel computing setup needs to be configured. This setup comprised of a collection of networked workstations with a central workstations acting like a load-balancing controller for all others. Such a setup is done by making use of JLBS configuration files and denotes a parallel computing domain.


§         JLBS is capable of controlling a number of such domains in a collective fashion, thus comprising a large number of networked hosts in a more scalable manner.


§         In addition, a startup host is need to be identified which is responsible to run the JLBS startup object and initiate the required objects on each of the hosts in the parallel computing environment. 


§         Before initiating a JLBS parallel computing environment, it is required that JLBS system administrator provides the complete domain configuration, including number of total parallel computing domains and the names of hosts in each domain.


§         After the entire configuration is done, the JLBS environment can then be initiated by running a startup script code. The script causes the system runtime environment to be available on all the domain hosts. However, inside each domain, the selection of centralized load balancing controller host is purely automated and done during the execution of scripts. The selection is based upon the comparative processing capability of the host with other domain hosts.


§         After JLBS parallel computing environment is running, a parallel application can be launched by initiating the master application object (responsible for initiating the parallelized task objects as needed and distribute the application data among the parallelized tasks).


Platform Details

§         Java Development Kit 2.0 – for development purposes.

§         Build on Java RMI (Remote Method Invocation) package of Java 2.0

§         Tested under Java Run time Environments – Solaris/ Linux/ Windows





A Graphical Research tool for contrasting the working of different vector graphic algorithms



Brief Description

§         A graphical tool (vector graphics) to demonstrate basic geometric shape creation and editing, both in 2D and 3D. Example shapes used are point, line, rectangle, ellipse, polyline, polygon and free hand drawings.


§          The tool also demonstrate transforming techniques of vector objects by applying concepts like Skew, Scale, Distort and rotation of targeted objects.


§         Concept of object morphing is also demonstrated.



Program User(s)

Computer Science Students/ Instructors




Information & Computer Science Department, King Fahd University.



Platform Details

The tool is built using Borland JBuilder, the leading cross-platform environment for building industrial-strength enterprise Java™ applications.







A model simulator for validating Simple Mail Transfer Protocol (SMTP) working



Brief Description

§         The simulator targets efficient software verification of distributed systems or protocol. The model is built using an open-source software tool, called spin (http://spinroot.com/spin/whatispin.html).

§         Spin has been used to trace logical design errors in distributed systems design, such as operating systems, data communications protocols, switching systems, concurrent algorithms, railway signaling protocols, etc.

§         The protocol simulator is programmed in a high level language to specify systems descriptions, called PROMELA (a PROcess MEta LAnguage).

§         The model checks the logical consistency of SMTP protocol specification.

§         It reports on deadlocks, unspecified receptions, flags incompleteness, race conditions, and unwarranted assumptions about the relative speeds of processes.



Program User(s)

Students / Instructors




Computer Engineering Department, King Fahd University.



Platform Details

§         Spin is a popular open-source software tool, used by thousands of people worldwide, that can be used for the formal verification of distributed software systems.

§         The tool was developed at Bell Labs in the original Unix group of the Computing Sciences Research Center, starting in 1980.

§         The software has been available freely since 1991, and continues to evolve to keep pace with new developments in the field.

§         In April 2002 the tool was awarded the prestigious System Software Award for 2001 by the ACM.







Network Clock Synchronization System (NCSS) for Network of Workstation Environments



Brief Description

One of the services frequently neglected in computer network design   is a high-quality, time-of-day clock capable of generating accurate timestamps with small residual errors compared to intrinsic one-way network delays.  Such a service would be useful for tracing the progress of complex transactions, synchronizing cached data bases,   monitoring network performance and isolating problems.


In principle, a clock of sufficient accuracy can be provided at each   workstation using a stable, crystal-controlled clock which is   corrected from time to time by messages from a central server.


Suitable inexpensive, crystal-controlled clock interfaces are  available for virtually any computer.  However, the design of the synchronization algorithm and protocol   used to transmit the corrections is still a big challenge.


NCSS is an implementation of one such algorithm design.  The protocol is based upon some weighted averaging techniques.

§         In the algorithm, at regular intervals a central server tries to identify the workstations whose clock-timestamps are drifting the least among each other. In conclusion, the timestamp on the majority of workstations will be considered as accurate and the workstations having huge drifts will be provided with the accurate timing (at regular intervals).

§         This whole process is transparent to the network users as it uses operating systems socket API to communicate among the workstations.


NCSS had been implemented and tested rigorously in a local area network (LAN) environment. However, it can easily be expanded to networks of larger capacity.



Program User(s)

College of Computer Science & Engineering (CCSE) Network Users, King Fahd Unviersity




King Fahd Unviersity



Platform Details

§         NCSS is developed in a LAN environment running Unix based operating systems (Solaris/ NeXT/ Linux).

§         The network is composed of nearly 20 nodes.







An Automated Billing System Module For Time Warner Comm., USA.



Brief Description

 The module served as a small part of a huge subscriber billing software system for the client. Automated billing to the relevant subscribers is supported by the use of front end event procedures (timer based) which further invoked back-end database trigger code.My participation was as an active member (next to the Team Lead) of the project team involved.



Program User(s)

Communication Subscribers for Time Warner Communications.




Time Warner Communications



Platform Details

§         The system uses a two-tier (client/ server) based distributed architecture. The back-end is SYBASE relational database engine which interacts with front-end program modules developed in PowerBuilder5.0






Design, implementation and deployment of a Bulletin Board System  (NED-BBS) NED University



Brief Description

A BBS is a highly social phenomenon and is used for meeting people and having discussions in message boards as well as for publishing articles, downloading software, playing games and many more things using a single application.


The bulletin board system for NED University, named NED-BBS, allows users to dial into the system over a phone line and, using a terminal program, perform functions such as downloading software and data, uploading data, playing games, reading news, and exchanging messages with other users.


It was built around 1994 before the advent of heavy use of World Wide Web in Pakistan.


When compared with the Internet’s WWW,

§         a Bulletin board systems were in many ways a precursor to the modern form of the World Wide Web and other aspects of the Internet.


§         a BBS is also a local phenomenon, not as widely available as Internet’s web, as one had to dial into a BBS with a phone line and would have to pay long distance charges for a BBS out of the local area. Thus, many users of a BBS lived in the same area and it was common for them to hold a BBS Meet, where everyone from the same board would gather and meet face to face.




Program User(s)

NED University Communities (student/ faculty/ staff)




NED University, Pakistan



Platform Details

§         Programmed in C++

§         Operated under DOS environment.











Design and development of a Gaming software, named ‘Labyrinth Challenge’



Brief Description

‘Labyrinth Challenge’ demonstrates basic techniques in Artificial Intelligence while allowing the players to search paths in automatically generated mazes.  The searching can be done automatically by the computer thus challenging the player to search the path in a smaller time. 


The salient features of the game include creating  complex mazes as per the required configuration (bigger or smaller), automated maze searching, manual path searching etc.


The software can be used for demonstrating Artificial Intelligence techniques (stacked based path searching) in an educational setup for computer science students.



Program User(s)

Computer Science Educators/ Students




NED  University, Pakistan.



Platform Details

§         Programmed in Turbo Pascal 7.0

§         Run on DOS platform.