Project Report on Rich Internet Application.Pdf
Total Page:16
File Type:pdf, Size:1020Kb
ON Guided By Prof. M. A. Pund Submitted By Ajinkya Kulkarni Ajay Chate Mandar Kavishwar Shailesh Thakre Prafulla Ingle Gaurav Bhuyar Department Of Computer Science And Engineering Prof. Ram Meghe Institute of Technology And Research, Badnera 2007-08 This is to certify that the Project work entitled, "RICH INTERNET APPLICATION FOR WEEKLY AUTOMATIC COLLEGE TIMETABLE GENERATION" has been duly completed by the following students in a satisfactory manner as partial fulfillment for the Degree of Bachelor of Engineering in Computer Science and Engineering Submitted By Ajinkya Kulkarni Ajay Chate Mandar Kavishwar Shailesh Thakre Prafulla Ingle Gaurav Bhuyar Prof . M. A. PUND Prof . Dr. M. S. ALI GUIDE HEAD OF DEPARTMENT Department of Computer Science Department of Computer Science And Engineering And Engineering P.R.M.I.T. & R, Badnera P.R.M.I.T. & R, Badnera Department Of Computer Science and Engineering Prof . RAM MEGHE INSTITUTE OF TECHNOLOGY & RESEARCH, BADNERA 2007-08 We have no words to express our gratitude and thanks to our guide, Prof. M. A. Pund . His interest and inspiration always boosts our moral to be progressive in our project. We are very much grateful and thankful for his guidance, we are indebt to him for his guidance, valuable suggestions and encouragement during the preparation of project. We express our special thanks to our H.O.D. Prof. Dr. M. S. Ali for teaching us Extensible Markup Language, on which our knowledgebase is based . We will be failing in our duty if we do not express our sincere thanks to all staff members of Computer Science and Engineering Department. Last but not the least; we thank all those who helped us directly or indirectly in completing this project work. Thanking you! Projectees…. Table of Contents Sr. No Title Page No Abstract 1 1 Introduction 2 2 Literature Survey 4 2.1 Timetabling 4 2.1.1 The General View 5 2.1.2 The Object-Oriented View 6 2.1.3 Planning 6 2.1.4 Constraints 9 2.2 Rich Internet application 10 2.2.1 Introduction 10 2.2.2 History 10 2.2.3 General Benefits 11 2.2.4 Performance Benefits 12 2.2.5 Shortcomings 13 2.2.6 Software development complications 15 2.2.7 Current status of development 17 2.3 AJAX 23 2.3.1 Introduction 23 2.3.2 Use of AJAX 24 3 General Problem Formulation 25 3.1 Strong Constraints 26 3.2 Weak Constraints 26 4 Requirements and Analysis 28 4.1 Automatic Generation of Timetable 28 4.1.1 Details about Java 29 4.1.2 Different criteria and conditions to consider while 29 generating timetable 4.2 Standardized Knowledgebase representation 30 4.2.1 XML 30 4.3 Responsive Interface 31 4.3.1 Details about Google Web Tool Kit 32 4.3.2 Introduction of the Google Web Toolkit (GWT) 32 4.3.3 GWT execution modes 32 4.3.4 GWT’s four major components/libraries 33 4.4 Jakarta Tomcat 34 5 System Design 35 5.1 Various Components of Project 35 5.2 Flow of Data within project 36 5.3 Design of Knowledge Base 37 5.4 Design of Timetabling Algorithm 39 5.4.1 The Proposed Timetabling Method 40 5.4.2 The Timetabling Algorithm 40 5.4.3 Data Structure for these lists is represented 40 visually as follows 5.4.4 Teacher-Subject Constraint 41 5.4.5 Teacher –Time Slot Constraint 41 5.4.6 Teacher -Day Constraint 42 5.4.7 Teacher-Year Constraint 42 5.4.8 Year (Semester) – Room Constraint 43 5.4.9 Constraint Matrix 43 5.5 Design of working of algorithm 44 5.6 Initialize Timetable Method 46 5.7 The Working Of Perform Allocation_Method 47 5.8 Data Flow within Algorithm 48 5.9 Front End Design 49 6 Implementation 51 6.1 Timetabling Algorithm 51 6.1.1 Details about Main class which is responsible for 51 generating timetable 6.1.2 Step by Step Execution of Algorithm 55 6.2 Front End Implementation 69 6.2.1 Implementation GWT Client Side Package 69 6.2.2 Implementation GWT Server Package 73 6.3 Screenshots of execution of algorithm 74 6.4 Screenshots of our front end built using Google 81 Web ToolKit 6.4 Installation Manual 90 6.5 Operation Manual 90 6.6 Performance of Algorithm 91 7 Conclusions 92 References 93 Future Work 94 Bibliography 95 List of Figures No. Title Page No. Fig.2.1 Class View & Teacher View 07 Fig.2.2 Mapping of Timetables 08 Fig.2.3 Redundancy of Information 09 Fig.4.1 The Structure of GWT 33 Fig.5.1 Various Components of Project 35 Fig.5.2 Flow of Data within Project 36 Fig.5.3 Design of Algorithm 39 Fig.5.4 Data Structures 40 Fig.5.5 Teacher-Subject Constraint 41 Fig.5.6 Teacher-Slot Constraint 41 Fig.5.7 Teacher-Day Constraint 42 Fig.5.8 Teacher-Year Constraint 42 Fig.5.9 Year-Room Constraint 43 Fig.5.10 Constraints Matrix 43 Fig.5.11 Design of Working of Algorithm I 44 Fig.5.12 Design of Working of Algorithm II 45 Fig.5.13 Sample Timetable 45 Fig.5.14 Steps for Initializing Timetable 46 Fig.5.15 Working of Perform Allocation Method 47 Fig.5.16 Data Flow within Algorithm 48 Fig.5.17 Client-Server Architecture 49 Fig.5.18 Compilation Process of GWT 50 Fig.6.1 Structure of Timetable 57 Fig. 6.2 -6.12 Step wise Execution of Algorithm 58-68 Fig.6.13 Debugging in NetBeans IDE 74 Fig.6.14 Representations of Lists in Memory 75 Fig.6.15 Internal Memory Allocation 76 Fig.6.16 Object Storage in Timetable Grid 77 Fig.6.17 Memory Representation of Teacher List 78 Fig.6.18 Memory Representation of Constraints List 79 Fig.6.19 Final HTML Output 80 Fig. 6.20-6.28 Screen Shots of Front End 81-89 Fig.6.29 Performance of Algorithm 91 Fig.6.30 Conflict & Collision Percentage 91 Rich Internet Application for Weekly Automatic College Timetable Generation Abstract A college timetable is a temporal arrangement of a set of classes and classrooms in which all given constraints are satisfied. Timetabling has long been known to belong to the class of problems called NP hard. This project introduces a practical timetabling algorithm capable of taking care of both strong and weak constraints effectively, used in an automated timetabling system. Rich Internet applications (RIA) are web applications that have the features and functionality of traditional desktop applications. RIAs typically transfer the processing necessary for the user interface to the web client but keep the bulk of the data (i.e., maintaining the state of the program, the data etc) back on the application server. We have used the Google Web Toolkit, which is RIA framework, for the same purpose. Our project reduces the overhead on server of rendering client’s UI components and makes room for processing time of Timetable Generator Algorithm. Our Timetabling Algorithm is main component of our project which produces the HTML based weekly timetable sheet as the output. Our project takes various inputs from the user such as Teacher List, Course List, Semester List, Room List, Day List and Timeslot as well as various rules, facts and constraints using web based forms, which are stored in XML based knowledge base. This knowledge base serves as input to our Timetable Generator Algorithm residing on server machine. Both GWT Client Side UI code and our algorithm are written in JAVA, which makes our project platform independent. Further benefits of choosing these frameworks are explained in later part of report with practically acceptable results. PRMIT&R//DCSE//07-08 1/95 Rich Internet Application for Weekly Automatic College Timetable Generation 1. Introduction Even though most college administrative work has been computerized, the lecture- timetable scheduling is still mostly done manually due to its inherent difficulties. The manual lecture-timetable scheduling demands considerable time and efforts. The lecture-timetable scheduling is a constraint satisfaction problem in which we find a solution that satisfies the given set of constraints. The college lecture-timetabling problem asks us to find some time slots and classrooms which satisfy the constraints imposed on offered courses, instructors, classrooms and so on. Therefore, the variables to be instantiated are time slots and classrooms of offered courses. Since the problem is a combinatorial optimization problem belonging to NP-hard class, the computation time for timetabling tends to grow exponentially as the number of variables increase. There have been a number of approaches made in the past decades to the problem of constructing timetables for colleges and schools. Timetabling problems may be solved by different methods inherited from operations research such as graph coloring and mathematical programming, from local search procedures such as tabu search and simulated annealing, from genetic algorithms or from backtracking-based constraint satisfaction manipulation In our project, timetabling problem is formulated as a constraint satisfaction problem and we proposed a practical timetabling algorithm which is capable of taking care of both strong and weak constraints and finding variables’ instantiation, which is based on the forward tracking search. During designing of our project, we first decided to define the way of representation of Knowledgebase. Since representation of knowledgebase was certainly going to affect our way PRMIT&R//DCSE//07-08 2/95 Rich Internet Application for Weekly Automatic College Timetable Generation of thinking during building of timetabling algorithm. We decided that XML is appropriate because of its inherent features which are discussed in next section.