Вы находитесь на странице: 1из 20

A REPORT

ON
FAULT MANAGEMENT SYSTEM

BY

Name(s) of the Student(s) ID.No. (s)


SHANTANU GONTIA 2014A3B5178G
ROOPAM VYAS 2014A7PS099G
SHUBHAM KESERWANI 2014A7PS773G
AAKANKSHA MUDGAL 2014B3A7939H

AT

WEST CENTRAL RAILWAY, JABALPUR


A Practice School - I Station of

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI


(MAY, 2016 - JULY, 2016)
A REPORT
ON
FAULT MANAGEMENT SYSTEM

BY

Name(s) of the Student(s) ID.No. (s) Discipline(s)


SHANTANU GONTIA 2014A3B5178G B.E.(H) EEE + M.Sc. Physics
ROOPAM VYAS 2014A7PS099G B.E.(H) CSE
SHUBHAM KESERWANI 2014A7PS773G B.E.(H) CSE
AAKANKSHA MUDGAL 2014B3A7939H M.Sc. Economics + B.E.(H) CSE

Prepared in partial fulfilment of the


Practice School-I Course No.
BITS C221/BITS C231/BITS C241BITS GC221/BITS GC231

AT

WEST CENTRAL RAILWAY, JABALPUR


A Practice School-I Station of

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI


(MAY, 2016 - JULY, 2016)
BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE
PILANI (RAJASTHAN)
Practice School Division

Station: WEST CENTRAL RAILWAYS Centre: JABALPUR


Duration: FROM 23RD MAY 2016 TO 16TH JULY 2016
Date of Submission: 8th JULY 2016
Title of Project: FAULT MANAGEMENT SYSTEM
ID.No. (s) Name(s) of the Student(s) Discipline(s)
2014A3B5178G SHANTANU GONTIA B.E. (H) EEE + M.Sc. Physics
2014A7PS099G ROOPAM VYAS B.E. (H) CSE
2014A7PS773G SHUBHAM KESERWANI B.E. (H) CSE
2014B3A7939H AAKANKSHA MUDGAL M.Sc. Economics + B.E. (H) CSE

Name of Expert: Mr. Ashwin Shukla Designation: Dy. CSTE


Name of PS Faculty: Dr. Veerendra Vikram Awasthi
Key Words: php, MySQL, JavaScript, jQuery, HTML, CSS, Bootstrap, PS1, Project, Report
Project Area(s): Web Development, Database Management
Abstract: With around 20,000 trains operating, safety of the passengers and its property is of paramount
importance for the Indian Railways. Faults can occur in any system for the very simple reason that real
world is not ideal.
Recently, Western Central Railway, has started to build a system to create records of all the faults that
have occurred in its areas of operation. The aim is to help understand the nature of the faults that occur
and analyze them to prevent them occurring in the future.
This project involves developing a database for managing the information about various types of faults
that occur during the operations of the Western Central Railway. It also involves setting up a web based
interface for inputting and outputting data to and from the system. The database system used is MySQL
and the web application will be developed using PHP. The proposed system maintains a centralized
repository of all fault related information which includes the Division, Section, SSE and Stations where
the fault has occurred as well as the time when the fault occurred and rectified. With this system in place,
it would be easier for the Western Central Railways to analyze the types of faults in their area of
operation and take actions accordingly.

Signature(s) of Student(s) Signature of PS Faculty


Date: Date:
TABLE OF CONTENTS
Acknowledgement .................................................................................................................................. 1

Introduction ............................................................................................................................................. 2

Faults in Operation of Indian Railways .................................................................................................. 4

Requirements for the System .................................................................................................................. 5

Database .............................................................................................................................................. 5

Interface .............................................................................................................................................. 6

Server .................................................................................................................................................. 6

Fault Management System ...................................................................................................................... 7

Database .............................................................................................................................................. 7

Interface .............................................................................................................................................. 9

Server ................................................................................................................................................ 10

Appendix ............................................................................................................................................... 12

HTML ............................................................................................................................................... 12

CSS ................................................................................................................................................... 12

Javascript .......................................................................................................................................... 12

jQuery ............................................................................................................................................... 13

Bootstrap ........................................................................................................................................... 13

AJAX ................................................................................................................................................ 14

PHP ................................................................................................................................................... 14

SQL ................................................................................................................................................... 14

MySQL ............................................................................................................................................. 15

Apache .............................................................................................................................................. 15

References ............................................................................................................................................. 16
ACKNOWLEDGEMENT
We would like to express my special thanks of gratitude to Dr. Veerendra Vikram Awasthi, our
Practice School I instructor for his support throughout our Practice School I tenure. We would
also like to thank Mr. Ashwin Shukla, for giving us the opportunity to do this wonderful project on
the topic Fault Management System, which helped us in doing a lot of research and learning new
technologies.

We would also like to thank our colleagues who helped us finalize this project.

1
INTRODUCTION
West Central Railway (WCR) is one of the 16 zones of the Indian Railways. It came into existence on
April 1, 2003. Its HQ is located in Jabalpur, Madhya Pradesh.

On 1 April 2003, the West Central Railway was reconstituted from the Jabalpur and Bhopal divisions
of the Central Railway (CR) and the reorganized Kota division of the Western Railway (WR). The
new West Central Railway serves eastern & central Madhya Pradesh, southern Uttar Pradesh, and
north-eastern Rajasthan state.

Figure 1 - Zones of Indian Railway (12 - WCR)

Western Central Railway has 3 divisions:

Jabalpur (HQ)
Bhopal
Kota

West Central Railway caters to 39 districts (24 of M.P.13 of Rajasthan and 2 of U. P.). It has a total
route kilometres of 2911 kilometres of which 1328 route kilometres are electrified.

Since we have established the size of the organization it is understandable that management is a
difficult task. Add to that the nature of this organization and the unfavourable conditions of the
region (e.g. High temperature), faults are bound to occur. To keep the number of faults low, in fact, to
some extent preventing further faults from occurring it is important that we have information about
the faults that have occurred in the past. For, getting this information, data about the faults needs to be

2
collected and managed. Therefore, a robust and centralised system is needed to categorise, store and
manage data about the faults that have occurred and rectified.

Figure 2 - West Central Railway

3
FAULTS IN OPERATION OF INDIAN RAILWAYS
Railways being the largest public sector undertaking has varied and complex problems. The number
of trains operating in the West Central Railway Zone alone is quite significant. Managing the traffic is
a difficult task and on top of that if faults occur, it causes even more problems. Various types of faults
occur during the operations of Indian Railways. Faults can be minor or major, if not rectified soon, a
minor fault may turn into a major one in the course of time.

Faults can take place in the controls system, the block system, the PRS, FOIS, Railnet, Train
Information Boards, Coaching Guidance System, and Comprehensive Train Information Display
System.
The faults may or may not be because of equipment owned by the West Central Railway. It may be
possible that the fault occurred due to equipment belonging to another organization.

Figure 3- Faults are likely to occur at points which can be very dangerous

4
REQUIREMENTS FOR THE SYSTEM
Because the work of the Indian Railway is very time-sensitive, a robust, reliable and scalable system
is needed to keep the information about the faults. Because the information is very important, it is
required that the system be robust and it is equally important that the system is reliable because the
information stored will be used for analytics in the future. Because the data related to faults may
update over time, it is also essential that the system be scalable, to cope with the changes that may be
needed in the future.

DATABASE
The database is supposed to be robust and reliable, for it is the system which stores all the data
regarding the faults. A relational database system must be used so that there be no redundant data and
accessing and updating the database should be efficient. The final table that is to be created to store
the record, the Fault Records table, must consist of columns with the following titles:

Division Name
Control Section Name
SSE Section Name
Station #1
Station #2 (if needed)
Fault location
System failed
Sub-system failed
Asset failed
Fault in date
Fault in time
Fault right date
Fault right time
Fault duration
Root cause
Responsible Department
Remarks

Apart from these, the database must also store the information about the entries that go into each
category, which is the list of divisions, control sections and everything else.

5
INTERFACE
An interface is required for the connection to this database. The program responsible for connection to
the database must have a clear interface.

The entries must be available in a drop down menu. Every table column must have its own drop
down. The entries in each drop down must be queried from the database. Also, every drop down must
be dynamic. Whenever, an entry in a parent list is chosen, the child list must respond to that change
by querying the database for entries specific to that item in the parent list. For instance, if the division
Jabalpur is chosen, the list for the drop down for Control Section Name must be populated with
entries specific to the Jabalpur division. Similarly, if any entry in the Control Section drop down is
chosen, the SSE Section Name drop down must be populated with the entries specific to that control
section and division. Every drop down must have an entry saying Others which would account for
anything unforeseen and later added into the database.

There must also be inputs to enter the date and time. These must be user friendly. A format must be
established for entering the in date, in time, right date and right time. For the remarks column, a text
box must be placed to enter any other information that is relevant.

The interface could be based on a windowed interface or a web interface, however should be
accessible on various platforms. Therefore, it is better if it is a web interface so that it is more
accessible to different locations in the West Central Railway.

For viewing the entries, a tabular display is the first choice. Filters must be available to filter out the
entries based on specific conditions, like entries for a particular division or entries on a particular date.
It could also be a combination of these, like entries for a particular division on a specific date. Finally,
all this data must be exportable to other formats like that of Microsoft Excel, where it may be
analysed further.

If possible, an interface must be made for the administrators to edit the entries for the columns of the
drop down lists and manage the fault database tables without needing a technical background in order
to manage the databases more efficiently.

SERVER
The interface must talk to the database using a server which provides the application managing the
interface with the data from the database. This server must also calculate the duration of the fault from
the in date, in time and right date, right time. The job of this server would be to transfer the data
collected from the interface application program and transfer it to the database system storing the fault
data. It may be possible that both the database system and the server be hosted on the same computer
or otherwise.

6
FAULT MANAGEMENT SYSTEM
The solution to the problem came out as described further. The system created employed the use of
HTML5 and CSS3 for the interface part. The formatting of the interface was done using the Bootstrap
framework. The functionality of the interface was implemented using Javascript, jQuery and
Bootstrap framework. MySQL was used for handling database management and PHP for the server
side programming.

DATABASE
As mentioned above, the database system used is MySQL. Administration of database in MySQL is
performed using phpmyadmin. So, using phpmyadmin, the database is created. It is a relational
database. For every column in the final table, there is a separate table which specifies the entries
allowed in that column. This table also specifies any dependencies of that column to its parent
column(s). In this scenario, the following constraints applied:

1. The Control Section is dependent on the division selected. E.g. the control section JBP-ET
belongs to division Jabalpur.
2. The SSE Section is dependent on the division selected. E.g. the SSE Section SSE/T/KNW
belongs to division Bhopal.
3. The station names are dependent on the SSE Section selected. Since, SSE Section is further
dependent on the division selected, the station names are indirectly also dependent on the
division selected. E.g. the stations GRO and SGP belong to the SSE Section SSE/T/PPI.
4. Since, the other drop downs like System Failed, Subsystem Failed, Asset Failed, Root Cause,
and Responsible Department are statically populated, they have no dependencies.
5. The time and date fields and the duration are entered by computation using server side
computation by PHP.

It is clear that between some columns, there is a parent child relationship which is not realized in the
final table, but realized in the tables which populate the drop down list. The following example
explains this.

The divisions table looks like the image below:

Figure 4 - Divisions Table

7
So the divisions table has two columns d_id and divname. To uniquely identify each entry in the
divisions table, the d_id column is used. The entry which uniquely identifies each row in the table is
called the Primary Key. In the divisions table, the d_id column is the primary key.

The control_sec table describes the control sections and the sse_section table describes the SSE
sections. The control_sec table has 3 columns, namely c_s_id, csname and d_id. The sse_section table
has 3 columns as well, namely, sse_id, d_id and sse_sec.

Figure 5 - Control Sections Table

Figure 6 - SSE Sections Table

8
In the control_sec table, the c_s_id column functions as the Primary Key, the csname column
describes the name of control sections. In the sse_section table, the sse_id column functions as the
Primary Key, and the sse_sec column describes the name of the SSE section. There is one other
column in both the tables, the d_id column. The d_id column functions as the Foreign Key. A foreign
key is a field (or collection of fields) in one table that uniquely identifies a row of another table. This
relationship is required in order to create referential integrity between the two tables. The d_id column
is used to identify each control section or SSE section with a division. As will be described later, this
relationship is important in order to create the dynamic drop downs. Also, this helps to create a
database without loss of integrity.
Similarly, we identify the stations using control sections, with the use of foreign key. All other drop
downs are independent of every other columns, therefore, all we need for those columns is a primary
key to identify each row in their respective table.

There is one other constraint which probably need not be mentioned. No entry can be NULL. That is
no row can have any of its cells empty. The only exception here, is the remarks column, which can be
empty. This constraint can be specified using MySQL directly.

INTERFACE
As mentioned earlier, the interface is created using HTML5 and CSS3, using the Bootstrap
framework. Therefore, it is based on web pages. It is a responsive interface, meaning, the interface
will respond to the size of the container which holds the interface, which is your Web Browser. This
makes the interface accessible even to the mobile platforms. This was possible because of the use of
Bootstrap framework.

The interface to add entries to the table is shown in the image below.

Figure 7 - Interface to Add Fault Entry

9
Each column from the final table has some form of input connected to it. The drop downs are all
dynamic and the page is responsive to the size. A mobile version of the website is shown in the image
below.

Figure 8 - Add Fault Entry on Mobile Phones

As mentioned earlier, each drop down menu is dynamic, it changes to the entries of other drop downs,
which is described below.

Figure 9 - Dynamic Drop Down in action

The drop down list of Control Section and SSE Section populates in accordance with the entry in
Divisions drop down.

SERVER
All the server side responsibilities are handled using PHP. The Apache2 web server is used to serve
the website and any content connected to the website. All information to and from the server is sent
using AJAX. jQuery is responsible for making this connection and it uses Javascript code for the
AJAX requests.

10
Forms in web pages can be submitted in two ways. The HTTP GET requests are used for relatively
smaller information, and the ones whose privacy we do not bother about. They can be seen by anyone.
The HTTP POST requests are used for larger information, and the information about these requests
are only visible to the server. To dynamically populate the drop down lists, HTTP GET requests are
made to the Web Server which in turn queries the database for relevant entries. Then, it gives this
information to the web page by populating the drop down list accordingly. To accomplish this, jQuery
is required, which passes this GET request to the web server using AJAX. For submitting the form,
that is, passing the final information that is to be stored, to the web server, HTTP POST request is
used. This is so, because the information that is required is large and must be securely transferred.
Similar to the previous case, jQuery is used to pass this POST request to the server. The web server
then inserts all this data into the database in the required format by using the INSERT command of
SQL.

Finally, using phpmyadmin, the data stored can be extracted in numerous formats for further analysis.

11
APPENDIX

HTML
HyperText Markup Language, commonly abbreviated as HTML, is the standard markup language
used to create web pages. Along with CSS, and JavaScript, HTML is a cornerstone technology used to
create web pages, as well as to create user interfaces for mobile and web applications. Web browsers
can read HTML files and render them into visible or audible web pages. HTML describes the
structure of a website semantically and, before the advent of Cascading Style Sheets (CSS), included
cues for the presentation or appearance of the document (web page), making it a markup language,
rather than a programming language.

HTML can embed scripts written in languages such as JavaScript which affect the behavior of HTML
web pages. HTML markup can also refer the browser to Cascading Style Sheets (CSS) to define the
look and layout of text and other material. The World Wide Web Consortium (W3C), maintainer of
both the HTML and the CSS standards, has encouraged the use of CSS over explicit presentational
HTML since 1997.

CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a
document written in a markup language. Although most often used to set the visual style of web pages
and user interfaces written in HTML and XHTML, the language can be applied to any XML
document, including plain XML, SVG and XUL, and is applicable to rendering in speech, or on other
media. Along with HTML and JavaScript, CSS is a cornerstone technology used by most websites to
create visually engaging webpages, user interfaces for web applications, and user interfaces for many
mobile applications.

Changes to the graphic design of a document (or hundreds of documents) can be applied quickly and
easily, by editing a few lines in the CSS file they use, rather than by changing markup in the
documents.

JAVASCRIPT
JavaScript is a high-level, dynamic, untyped, and interpreted programming language. It has been
standardized in the ECMAScript language specification. Alongside HTML and CSS, it is one of the
three core technologies of World Wide Web content production; the majority of websites employ it
and it is supported by all modern Web browsers without plug-ins. JavaScript is prototype-based with
first-class functions, making it a multi-paradigm language, supporting object-oriented, imperative, and
functional programming styles. It has an API for working with text, arrays, dates and regular

12
expressions, but does not include any I/O, such as networking, storage, or graphics facilities, relying
for these upon the host environment in which it is embedded

The most common use of JavaScript is to add client-side behaviour to HTML pages, a.k.a. Dynamic
HTML (DHTML). Scripts are embedded in or included from HTML pages and interact with the
Document Object Model (DOM) of the page. Some simple examples of this usage are:

Loading new page content or submitting data to the server via AJAX without reloading the page (for
example, a social network might allow the user to post status updates without leaving the page)

Animation of page elements, fading them in and out, resizing them, moving them, etc.
Interactive content, for example games, and playing audio and video
Validating input values of a Web form to make sure that they are acceptable before being
submitted to the server.
Transmitting information about the user's reading habits and browsing activities to various
websites. Web pages frequently do this for Web analytics, ad tracking, personalization or
other purposes.

JQUERY
jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
jQuery is the most popular JavaScript library in use today, with installation on 65% of the top 10
million highest-trafficked sites on the Web. jQuery is free, open-source software licensed under the
MIT License.

jQuery's syntax is designed to make it easier to navigate a document, select DOM elements, create
animations, handle events, and develop Ajax applications. jQuery also provides capabilities for
developers to create plug-ins on top of the JavaScript library. This enables developers to create
abstractions for low-level interaction and animation, advanced effects and high-level, theme-able
widgets. The modular approach to the jQuery library allows the creation of powerful dynamic web
pages and Web applications.

BOOTSTRAP
Bootstrap is a free and open-source front-end web framework for designing websites and web
applications. It contains HTML- and CSS-based design templates for typography, forms, buttons,
navigation and other interface components, as well as optional JavaScript extensions. Unlike many
web frameworks, it concerns itself with front-end development only.

13
AJAX
Ajax, short for asynchronous JavaScript and XML, is a set of web development techniques using
many web technologies on the client-side to create asynchronous Web applications. With Ajax, web
applications can send data to and retrieve from a server asynchronously (in the background) without
interfering with the display and behaviour of the existing page. By decoupling the data interchange
layer from the presentation layer, Ajax allows for web pages, and by extension web applications, to
change content dynamically without the need to reload the entire page. Despite the name, the use of
XML is not required, and the requests do not need to be asynchronous.

PHP
PHP is a server-side scripting language designed for web development but also used as a general-
purpose programming language. Originally created by Rasmus Lerdorf in 1994, the PHP reference
implementation is now produced by The PHP Group. PHP originally stood for Personal Home Page,
but it now stands for the recursive backronym PHP: Hypertext Preprocessor.

PHP code may be embedded into HTML code, or it can be used in combination with various web
template systems, web content management systems and web frameworks. PHP code is usually
processed by a PHP interpreter implemented as a module in the web server or as a Common Gateway
Interface (CGI) executable. The web server combines the results of the interpreted and executed PHP
code, which may be any type of data, including images, with the generated web page. PHP code may
also be executed with a command-line interface (CLI) and can be used to implement standalone
graphical applications.

SQL
SQL (Structured Query Language) is a special-purpose programming language designed for managing
data held in a relational database management system (RDBMS), or for stream processing in a
relational data stream management system (RDSMS).

Originally based upon relational algebra and tuple relational calculus, SQL consists of a data
definition language, data manipulation language, and Data Control Language. The scope of SQL
includes data insert, query, update and delete, schema creation and modification, and data access
control. Although SQL is often described as, and to a great extent is, a declarative language (4GL), it
also includes procedural elements.

14
MYSQL
MySQL is a popular choice of database for use in web applications, and is a central component of the
widely used LAMP open-source web application software stack (and other "AMP" stacks). LAMP is
an acronym for "Linux, Apache, MySQL, and Perl/PHP/Python". Free-software open-source projects
that require a full-featured database management system often use MySQL. Applications that use the
MySQL database include: TYPO3, MODx, Joomla, WordPress, phpBB, MyBB, Drupal and other
software. MySQL is also used in many high-profile, large-scale websites, including Google (though
not for searches), Facebook, Twitter, Flickr, and YouTube.

APACHE
The Apache HTTP Server, colloquially called Apache, is the world's most used web server software.
Originally based on the NCSA HTTPd server, development of Apache began in early 1995 after work
on the NCSA code stalled. Apache played a key role in the initial growth of the World Wide Web,[5]
quickly overtaking NCSA HTTPd as the dominant HTTP server, and has remained most popular since
April 1996.

Apache supports a variety of features, many implemented as compiled modules which extend the core
functionality. These can range from server-side programming language support to authentication
schemes. Some common language interfaces support Perl, Python, Tcl, and PHP.

15
REFERENCES
1. http://www.wcr.indianrailways.gov.in/view_section.jsp?lang=0&id=0,1
2. http://php.net/
3. http://httpd.apache.org/ABOUT_APACHE.html
4. http://dev.mysql.com/doc/refman/5.1/en/what-is-mysql.html
5. http://media.wiley.com/product_data/excerpt/88/07645790/0764579088.pdf
6. http://www.mediawiki.org/wiki/JQuery
7. http://www.w3.org/TR/html5/
8. https://www.w3.org/Style/CSS/Overview.en.html
9. http://shiflett.org/blog/2007/apr/ajax-is-not-an-acronym

16

Вам также может понравиться