52
Development of Web Based Application for Visualisation of Railway Condition Data Abiola Famureva Master Programme in Mobile Systems 2020 Luleå University of Technology Department of Civil, Environmental and Natural Resources Engineering

Development of Web Based Application for Visualisation of

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Development of Web Based Application for

Visualisation of Railway Condition Data

Abiola Famureva

Master Programme in Mobile Systems

2020

Luleå University of Technology

Department of Civil, Environmental and Natural Resources Engineering

Development of Web Based

Application for Visualisation of Railway Condition Data

by

Abiola Famurewa

Master of Science Mobile systems

Department of Computer Science, Electrical and

Space Engineering Luleå University of Technology

Supervisor

Dr. Josef Hallberg

August, 2014

ii

PREFACE

This master thesis was carried out at Damill AB between 2013 and early 2014. It is submitted for the partial fulfillment of the requirement of Master Degree in Computer Science and Engineering at Luleå University of Technology. The central focus and contribution of the thesis is the development of web application which is suitable for visualizing railway condition data for different stakeholders.

My sincere gratitude goes to God for his divine support and goodness towards me all through the programme especially during the thesis work. I would like to thank my examiner Prof. Christer Åhlund and my supervisor Dr. Josef Hallberg for the chance to work with them and their encouragement which inspires me to complete the thesis.

I would like appreciate my external supervisor Mr. Dan Larsson and the entire members of staff of Damill AB for giving creating a good working environment and giving me the technical support during the course of the thesis work. The technical support of Jon Öberg in the collection and structuring of the data is appreciated

I would also like to express my special gratitude to my dear husband Stephen and lovely children, Jeremiah and Joanna for their encouragement, patience and support to make this final thesis possible.

Finally, I am grateful to all friends and family members that encouraged me in completing this project when it seems impossible.

iii

ABSTRACT

The increase in the use of sensor networks makes data acquisition, mining, analysis, manipulation, representation and visualization crucial aspects of sensor networks. The use of relevant visual representations to explore, gain insight and interpret large amount of data at once is an aspect that is considered pressing in railway applications.

This thesis is primarily aimed at presenting track force data acquired from railway track sensors for different stakeholders involved in railway operation in visual format using a web based application. The web based application will be used to access, format and generate both tables and chart for authorised stakeholders to visualize track sensor data. The thesis has reviewed some rapid application development (RAD) tools that can be used for the development of web based application that is suitable for railway applications. Based on the design requirement and operating environment of the application, oracle application express (APEX) has been selected as a suitable RAD tool. The design and implementation of the web based application called railway data visualizer is carried out in APEX development environment. The four distinct modules followed in the development environment are: the Application builder, SQL workshop, Team development, administration modules.

Railway data visualizer is capable of real time reporting and publishing of daily train passages and their integrities, hourly count of trains and axles, presentation of lateral force, vertical force and speed of the trains for different users. In addition to this it is capable of supporting interactive and customised chart, analysis and reports.

Finally, the performance of railway data visualizer was tested and assessed to ensure that the requirements of the users are met and that the interface is good enough for a railway application. The Layout, usability, display, response time, recovery ability, access control, compatibility, mobile interface and visuals are considered acceptable with respect to the initial requirements. The overall opinion of the evaluators shows that the performance of railway data visualizer is good and even has room for improvement.

iv

TABLE OF CONTENTS

1. INTRODUCTION ...................................................................................................................... 1

1.1. Background ....................................................................................................................... 1

1.2. Problem statement ........................................................................................................ 2

1.3. Purpose and objectives ................................................................................................ 3

1.4. Research questions ........................................................................................................ 3

1.5. Scope and limitation ...................................................................................................... 3

1.6. Research structure ......................................................................................................... 4

2. DATA VISUALISATION ......................................................................................................... 5

2.1. Need for data visualisation ......................................................................................... 5

2.2. Visualisation techniques .............................................................................................. 6

2.3. General motivation for the use of Web application for visualization ........ 7

2.4. Requirement ..................................................................................................................... 8

2.4.1. Functional requirements .................................................................................... 9

2.4.2. Non-functional requirements ........................................................................... 9

2.5. Use case ........................................................................................................................... 10

3. WEB BASED APPLICATION DEVELOPMENT ............................................................ 12

3.1. Background on web application ............................................................................ 12

3.2. Components of web based application ............................................................... 13

3.3. Characteristic features of RAD ............................................................................... 15

3.4. RAD framework for web based application development .......................... 15

3.3.1. Zend Framework ................................................................................................. 16

3.3.2. CakePHP ................................................................................................................. 16

3.3.3. Grails ........................................................................................................................ 16

3.3.4. Ruby on Rails ........................................................................................................ 16

3.3.5. Django ..................................................................................................................... 16

3.3.6. Oracle Application Express (Oracle APEX) ............................................... 16

4. DESIGN & IMPLENTATION .............................................................................................. 18

4.1. Data description ........................................................................................................... 18

4.2. System design overview ........................................................................................... 19

4.2.1. Creation of database objects .......................................................................... 19

4.2.2. Creation of the visualisation interface ........................................................ 20

4.2.3. Creation of user access control ..................................................................... 22

4.3. Implementation ............................................................................................................ 23

4.3.1. User access control ............................................................................................ 23

v

4.3.2. Data visualisation and presentation performance ................................ 24

4.3.3. Interactive report and export performance ............................................. 29

4.3.4. Mobile interface of railway data visualizer .............................................. 29

5. EVALUATION AND DISCUSSION ................................................................................... 31

5.1. Evaluation objectives ................................................................................................. 31

5.2. Evaluation procedure and results ......................................................................... 31

5.3. Discussion ...................................................................................................................... 34

6. CONCLUSION ......................................................................................................................... 37

6.1. Concluding remarks ................................................................................................... 37

6.2. Recommendations ...................................................................................................... 38

Introduction

1

CHAPTER 1

1. INTRODUCTION

1.1. Background Data management is a very important aspect of wireless sensor networks that are deployed in IT systems, large engineering applications or small handheld device or home appliances [1]. The increase in the use of sensor networks in railway applications makes data acquisition, mining, analysis, manipulation, representation and visualization a crucial component of sensor networks. Visualization of sensor data on web based platform is now a necessity in many engineering applications due to accessibility to internet, complexity of operating environment, quest for fast decision making and smart delivery of data to the right people at the right time. The improvement in sensor technology has increased its interest and application in measurement solutions and condition monitoring systems. The size, capability, reliability, functionality and adaptability of sensors has so much advanced that lot of prospect now exist for collection of data describing phenomena of interest. The development of sensor technologies in the last years requires commensurate development of applications to process and present the acquired data in appreciable format. The acquisition of data from sensors deployed in different environments is considered important in many of applications and system. When it comes to condition monitoring, there is always data to be generated, transferred, stored, analysed, mined, processed and made viewable in appreciable format to the end users. Generation of data either from a single source and disparate sources requires a tool for presenting and publishing the information contained in a logical and useful way. There is therefore a need to make the data understandable and easily interpretable to various customers based on their interest and needs.

A solution that addresses the issues and problems described above in a way compatible to the present information and communication technology is called web application. Web applications, are very important and essential tools that are widely deployed as means of reaching out to various parts of almost every organisation [2]. Their usefulness makes them essential tools that cannot be easily neglected by any ambitious or leading organization Web applications offer many interesting services like customer to company interaction, which can involve sharing files, customer feedback forms, service requests, surveys and other information that are useful for both customers and the company itself. They provide easy access and organised means of obtaining relevant information to parties with common interest. Web application services can be employed as a means of data visualisation, to show data in various forms to make it more meaningful to the end users. They are deployed in engineering field for technical system management. Data generated from condition monitoring of asset can be shared between original equipment manufacturer (OEM),

Introduction

2

supplier, equipment owner, maintenance service supplier, operator and others via web application. In this thesis work, a web based application called railway data visualizer was developed. It was intended to collect data from existing database and give different control access to clients, asset owner and third party to view defaults charts and tables and also create interactive reports useful for their interest (see Figure 1).

Sensor NetworkSensor Network

Railway data visualizer(Web based Application)Railway data visualizer

(Web based Application)

Asseet OwnerAsseet Owner ClientsClients Third partyThird party

Database Server Database Server Wireles access pointWireles access point

Search Tables Report/ExportCharts

Gateway

Figure 1: Background information about the study

1.2. Problem statement Damill AB is a small enterprise that provides measurement solutions and condition monitoring systems for industrial application most especially power, pulp and railway engineering environment. Their area of operation includes the design, procurement, installation, operation and maintenance of measurement systems for different infrastructure and equipment. They focus on technical investigation on asset condition & health, technical performance and generating data for analysis engineering studies. The company works towards improving the quality of reporting services to their various customers. Their monitoring facilities or stations are connected to development environment such as LabVIEW for creating custom applications that interact with data or signals coming in from distributed sensors. LabVIEW are often connected to data acquisition devices to develop fast measurement systems, automate multiple measurements, and make data-driven decisions. It offers various ways of presenting the numeric data in both graphical and chart format. However there is need to create an avenue or a user friendly application to extract and present information from condition data in a format relevant to the business environment of various clients. This informs the need to develop more standard reporting services for their customers, and to offer a web based user friendly application for presenting and publishing train-track force data and associated records. The proposed web based application will have the capability of communicating with

Introduction

3

different relational databases. The application will serve as an interactive platform for their clients to see their subscription details and information of all the services they are paying for and the different condition data of their infrastructures and systems. Basically, the problem that necessitated this study is the challenge of presenting railway condition data, providing meaningful assessment of train and track status for different stakeholders.

1.3. Purpose and objectives

The purpose of this work is to propose a practical way of reporting and visualising sensor data stored in a database, so as to facilitate the extraction of information by different users. It is necessary that this kind of information is available to the right people and at the right time to support effective management of asset and devices. Furthermore the objectives of this thesis work are stated below:

• Review existing web application development tools that can be used for presentation of stored sensor data in a relevant style and format.

• Propose a web based application development tool that is suitable for data publishing and capable of interacting with existing database and also affordable for a small scale business environment.

• Develop a web based application that can be used to access, format, and present sensor data in meaningful ways as required by the stakeholders.

1.4. Research questions

The following research questions have been formulated to serve as cardinal points around which the research revolves for the achievement of the ultimate purpose of the research:

1. What are the rapid application development tools that can be used to design and develop web based application for reporting and visualising sensor data in railway environment?

2. What are the different ways of visualising railway condition data and presenting meaningful information on train condition for different stakeholders?

3. How can the access of different stakeholders to railway condition data available on web based application be controlled?

1.5. Scope and limitation

Introduction

4

This thesis work covers some essential aspects in the development of web based application that has user friendly interface, minimum development time and cost for the company. It covers the review of existing RAD tools that can be used for the development of the application, collection of application requirement and suggestion of relevant visuals. Data extraction, mining and detailed analysis are not covered in this thesis work, since it is assumed that there is an existing platform and system for extraction and storage of condition data in the case study.

1.6. Research structure

The research structure is presented in Figure 2. A literature review on data visualisation process and techniques is the first stage of the research. The need for data visualisation within the railways is also explained and the motivation for the use of web based application is presented as well. Furthermore, the functional requirement of the application was gathered through an interaction with the anticipated administrator (Damill AB) while the non-functional requirements were suggested based on author’s experience and literatures. The third section presents a background on web based application and the essentials of application development procedures. Characteristics features that support the use of rapid application development (RAD) tool are highlighted in the third section. Also, we explored the strength, features and suitability of different RAD tools that can be used to develop web based application for the purpose of visualisation of railway sensor data. The fourth section gives the description of the sensor data and also describes the design and implementation procedure followed in APEX for the development of the proposed web based application. The final section deals with the evaluation of the usability and functionality of the developed railway data visualizer. In this section, the performance of the application is assessed with respect to layout, security, response time, compatibility, mobile interface, visualisation capability and other design requirements. A questionnaire was designed and used as a tool for survey to collect the opinion of the administrator and other known stakeholders about the usability of the application. Some discussions on the application are given after which the study is concluded with remarks and recommendations.

Web based application development

5

CHAPTER 2

2. DATA VISUALISATION Visualization is the science that uses computer aided techniques to transform data or information into images to easily engage human visual capability and processing power of the mind [3],[4]. It is a simplified way of representing data, especially large volume data or abstract data in a meaningful visual form such that cognition is enhanced and the information is rapidly understood by the users. The core of data visualization is to use visual representations to take advantage of quick pathway from the human eye into the mind to see, explore, gain insight and help to interpret large amount of information data at once. An interesting thing about good visualization technique and tool is that is allows interactive and custom representation of the data in a suitable way for the user.

2.1. Need for data visualisation The development of web based application for the visualisation of train and track force data is necessitated by the following reasons:

• Large amount of data is collected on daily basis which is difficult to comprehend at once.

• Varying design and condition of trains traversing the railway, for example over 20 trains pass though the track section under consideration among which there are iron ore trains, steel shuttle, passenger trains and good trains. The number of axles in the train varies between 20 and 264 depending on the train type.

• Reduce time needed to make sense out of large amount of railway data. It can be time consuming to manually download the raw data every day and make visual plots on daily basis.

• Help to maintain and manage the high number of stakeholders involved in railway operations i.e. train operators, track manager, maintenance service providers and other parties.

• Give quick insight into the condition of train wheels and facilitate decision making such as removing bad wheels from operation.

• Create possibility for active and real time monitoring of set threshold for wheels and detect wheels whose forces are above the set thresholds.

• Support interactive and custom representation and reporting of the data in a manner suitable for the use of different stakeholders.

Web based application development

6

2.2. Visualisation techniques

It is easier and quicker to understand information or data that are presented in visual format however visualization of data can be challenging in terms of generating the best visuals that for displaying the data. For certain types of data there are specific visuals that are most appropriate while in other instances the user or owner of the data specifies the technique to use for the visualization [5]. A practical approach is to aggregate user-specific visuals and alternative visuals such that the information is conveyed in a clearer manner needed to truly understand the data. In the selection of the techniques that was used in this study for the visualization of railway track force data we have considered the concepts suggested in [5] to generate best visual for displaying the data. These concepts are itemized:

• Understand the data and its composition to have a quick overview of the information to be convey visually

• Map the content of the data in terms of the size, number of and uniqueness the parameter

• Determine what to be visualized and what kind of information you want to communicate

• Explore the data using different visual techniques. • Get acquainted with the user to understand how it processes visual information

and preference for specific visuals. • Find out specific visuals that are commonly used for presentation of railway

track force data in literature • Finally decide with due consultation with the user of the data (Damill AB) on

the final techniques to be used to convey the information in the best and simplest form.

Basically data are presented in 2D or 3D image format, static maps, animation and graphical charts depending on the components (time, space, objects etc.) of the data [5][4][6][7]. Graphical charts are more relevant to the application area, data type, data components and problem statement of this study. Furthermore, among the possible graphical charts that can be used to visualize the data are: scatter plot, line plot, box plot, range plot, bar chart, column plot, bubble plot, bar plot and gauge. It is however important to mention that we have not given an exhaustive list of the possible techniques to visualize data, only a few of those that are considered simple and quick to understand. A detailed taxonomy of visualization techniques using the data state model is presented by Chi [6] . A quick guide to facilitate the decision on which chart type (or graph) to use for a specific data set is given is described by Choy J. [5]. In selecting the types of visuals that were used in this study we have followed the concepts highlighted above and finally arrived at the two categories below

• Administrator specific visuals-Range plots, scatter plot and combination

• Alternative visuals suggested by the author based on literature and available charts in the RAD tool that was used- gauge, bar, column, line box plots and pie charts.

Web based application development

7

All scientific visualizations follow the concept of the visualization pipeline or reference model [7],[8],[4]. Basically, visualization pipeline gives the sequence of steps that shows the path from raw data to visual representation or step wise process of creating visual representations of data. In order to develop custom visualization, the steps of the visualization pipeline needs to be implemented by the users. There are different variants of visualization pipeline, for the purpose of relevance we have chosen to adopt the unified visualization model [3]. The model considers four transformations, as shown in Figure 2, from raw data via three other stages to the actual visuals to be displayed. A brief description of the transformations as explained in literature [3], [8], [4]is given below

1. Data Analysis: Raw data are processed to a well-organized data format. Here, missing values are interpolated, smoothing filters are applied to the data, or invalid information can be corrected. Usually this transformation, is computer based with limited or no user interaction

2. Filtering: It is user-centered. The selection of data portions to be visualized is done based what is considered essential to be visualized. The processed data is hereby transformed into focus data

3. Mapping: This transformation changes the focus data into visual mapped data with all the necessary structures to support the visual elements and their attributes. These attribute might include geometry, time, color, transparency, luminosity, reflectance, and surface texture.

4. Rendering: This final step of the pipeline transforms the visual mapped data into visualized data or image, providing the visualization output. The visualization technique employed usually supports all the restrictions imposed in earlier transformation.

Figure 2: Data visualization pipeline [8]

2.3. General motivation for the use of Web application for visualization Considering the need for visualisation of railway track force data and the preferred visualisation techniques mentioned in previous section it is therefore imperative to use a platform such as web application to convey the visuals to interested stakeholders. A Web application can be considered as a distributed system, with a client– server or multi-tier architecture. The development and wide implementation of web based application for several purposes including data visualisation due to the following motivations and additional value its [9]-[11]:

• Ease of use: Web application pages interact with users requesting and responding to users in a simple manner which is understandable by them.

DataAnalysis Filtering Mapping Rendering

Raw data Processeddata

Focusdata

Visual mappeddata

Visualiseddata

Web based application development

8

• Data publishing: Web application services can be employed as a means of data publishing, showing data in various forms to make it more interpretive to the end users. Web-based application gives the opportunity to analyse and presents various information or data to provide a clearer picture of the information contents.

• Work flexibility: Makes it possible for online training to be completed at convenient time, pace and locations. It provides the possibility to work from any location and for sales staff to access information remotely.

• Cooperation between stakeholders: Since there is possibility to reach anybody, anywhere in the world, web application brings stakeholder in a business together for file sharing and information transfer and reporting.

• Cost efficiency: The maintenance and deployment cost are reduced since the basic requirements is a web browser. Its deployment reduces the need to offer services to clients on phone and also eliminate print materials.

• Security: Centralised data is secure and easy to backup. Update can be done quickly and easily.

• Availability and accessibility: Web application provides easy access and organized means of obtaining relevant information to interested and permitted parties. It is available for 24 hours a day and 7 days a week provided all enhancing factors remain constant. Gives room for direct access to latest information for employees wherever they are located.

• Low spec PCs or smart phones can be used: The requirement of device to be used to access the web application can have low specification; it can even be smart phones.

• Concurrent use by a wide number of users distributed all over in the world.

• Complex execution environments: The requirement to run with different hardware, network connections, operating systems and Web browsers.

2.4. Requirement Prior to commencement of the development of the web based application, the expected system requirement of the application was gathered via two means. An interview in the form of discussion with the user (Damill AB) was conducted (see appendix 1 for some of the interest or subject) to collect the functional requirements while the non-functional requirements were collected from literatures since they are more or less general for most web application. It is essential to mention that the application is expected to have two types of users: administrator and clients. As at the time this thesis work was carried out, the client users have not been established thus all the input into the design are requirements of the administrator.

Based on the two sources mentioned above, some requirements which the web based application should fulfill have been identified. These requirements are connected to the future need perceived by the administrator, envisaged user constraints, peculiar environment of railway application, expected function of the application and other

Web based application development

9

company philosophy. These requirements are divided into two categories: functional and non-functional.

2.4.1. Functional requirements • Background information: It should give basic information on what the

application is about and the kind of data that is expected to be presented in the application. Contact information of the potential customers.

• Access control: The application should be able to establish each user’s identity before they can access the application. It should be able to limit the access of different users to individual components and resources inside the application.

• Default visualisation: The application should be able to present some default charts and graph that will be relevant for railway operational and maintenance context. The charts could be line graph, gauges, bar chart, range plot and combination of other common visual plots that would be appreciated and easily captured by the viewers.

• Interactive reporting: The application should be able to accept enquiries for specified data from users and support operations such as sorting, highlight filters, column computation, and limited mathematical computations.

• Customised charts and tables: Depending on needs and user analysis requirement, it should be able to support additional charts and tables.

• Flashback tool: The users can also engage the flashback tool to view specific data as it existed at a previous point in time.

• Email reporting: It should be able to generate emails to be sent to users based on some conditions specified.

• Export tools: The application should be able to permit users with authorised identity to export data in formats such as xls, csv, html, pdf and rtf.

• Historical data: The application should be able to provide past data for the users to make advanced analysis as will be required by their operational or business cases.

• An overall statistics page of daily train passage showing the number of trains, axles and integrity measure

2.4.2. Non-functional requirements • Usability: It is expected that the layout of the application will be in such a way

that users can fast and easily navigate between parts of the system. The text, colour, content rendering background and other related components should be such that users are not hampered as they move through the application. This

Web based application development

10

requirement also includes clarity of messages and commands that are in the application.

• Performance: The application should have quick response to users’ requests and service availability. It should not take too long for the request of users to be processed and responded to.

• Stress loading: The application should not crash, alternatively it should be able to recover, when operating at or beyond the limits of its specified requirements. It should respond at activity peaks that exceed nominal loading condition in terms of the quantity of data queried.

• Security: The applications should have protection against undesired access of unauthorised users. It should also have capability to protect system resources and grant authorised users according to specified privileges.

• Compatibility: It is expected that the performance of the applications remains unaffected by various combinations of hardware and software configurations. Also, there should not be reduction in the performance level owing to the usage of different Web server platforms or client browsers, or other configuration differences.

• Mobile interface: It should have the ability to support multiple user interfaces,

both on desktop and mobile. It should be able to respond to mobile device specific events such as orientation change and touch events etc.

2.5. Use case

Based on the anticipated requirements and functionality mentioned in previous section, the use case diagram in Figure 3 has been develop to present possible flows of events that describe what would happen when the use case is performed. The first scenario for both administrator and client is access control. This scenario will prompt the actor to specify his username and password after which the appropriate user right will be given. The administrator will have admin management scenario and visualization and reporting scenario while the client will only have the later. The users can then go further to make any of the following request related to the condition of train from the application: background information, customized chart and table, email and export report, daily and historical report.

Web based application development

11

Figure 3: Use cases for the interaction between the actors and the application

Acesscontrol

AdminManagement

AdminManagement

ApplicationUpdate

ApplicationClosure

Visaulisation& reporting

Access control

RestrictedVisualization

Backgroundinformation

Interactivereporting

Customisedchart &Table

Email and export report

Flashback tool

Default Daily & Historical

visualisation

Administrator Client

Web based application development

12

CHAPTER 3

3. WEB BASED APPLICATION DEVELOPMENT

3.1. Background on web application Web application, is a very important and indispensable tool that is commonly used as a mean of reaching out to various different stakeholders. It could be used for internal purpose within different departments of the same organization or for external purpose to be accessed by other organisations with required login permission. Web based application is a software package that can be accessed through the internet using the web browser [9]. The software and database are located on a central server rather than being installed on the desktop system for traditional applications and is accessed over a network. Its usefulness makes it an essential tool that cannot be easily neglected by any prominent or developing organizational or any company having intention to take advantage of today's technology to enhance their productivity & efficiency. Web application offers many interesting interactive services involving file sharing, customer feedback forms, service requests, surveys and documents and other information that are useful for both customers and the company itself.

The development of Web applications requires an engineering approach with a systematic methodology. Similar to the general software engineering subject, Web engineering is the application of systematic and quantifiable approaches (concepts, methods, techniques, tools) to cost-effective requirements analysis, design, implementation, testing, operation, and maintenance of high-quality Web applications [14].The development process of web application is planned and iterated by web engineering to facilitate the continuous evolution of Web applications. The positive outcomes of this include cost reduction, risk minimization and quality increase during development and maintenance phase [14], [15].

The complexity of web applications has varying degrees; it can be simply informational or capable of handling advanced operations such e-commerce applications. The different categories of web applications depending on their development history and their degree of complexity are mapped and presented in Figure 4. Important to note is the correlation between the chronology of development and complexity, i.e. newer categories are generally more complex, but this does not mean they can fully replace the older generation[15], [16].The categories of web applications based on literature review are: document centric web sites, interactive web applications, transactional web applications, workflow-based web applications, collaborative web applications, social web, portal-oriented web applications, and ubiquitous web applications.

Web based application development

13

Figure 4: Categories of web applications [16]

Designing and developing web based application could be tasking and complex depending on the approach and methodology employed as well on what services you want the application to render. In the development of any web application there are some issues to be considered, they are; time, cost, compatibility, usability and management of the system. These factors contribute to usage and development of the web application.

3.2. Components of web based application The architecture of a web based application can be described using its components and their relationship. The basic components of web application architectures and their relationships are described in this section. Communication between these components is generally based on the request–response principle: one component (Web browser) sends a request to another component (Web server), and the response to this request is sent back over the same communication channel. Though the complexity of web application differs but the basic components do not vary so much, the description of the basic components is given below [16], [38]-[40].

• Client: The client affords the user an interface for interacting with the web-based application. It is of crucial importance, since web applications are more user-oriented in terms of response and other requirements than traditional systems. This component in any web application architecture is often referred to as the presentation or rendering component which gives the users access to the application. A typical client is a web browser. They can use web tools to automate some of the tasks of designing the web interface by generating the HTML or XML code, e.g. manipulating tables, colours, and other web elements.

TransactionalOnline bankingOnline shopping

Document-centricStatic Homepage

Web Radio

InteractiveNews Site

Travel planning

CollaborativeChartroomE-learning

Social WebWeblogs

Collaborative filtering

UbiquitousCustomized services

Multiplatform delivery

Portal-orientedCommunity portal

Online shopping mall

Semantic webRecommender system

Knowledge mgmt

Workflow basedE-Government

Patient workflow

Developments History

Com

plex

ity

Web based application development

14

• Web server: The web server provides the business logic of web

applications that is responsible for interacting with the client and the database. The web server accepts a user request for data from the client, retrieves the data from the client, retrieves the data from the database, and then responds to the client request.

• The database: This is the storage component that maintains the data

needed for the operation of the web application.

• Firewall: A piece of software regulating the communication between insecure networks such as the internet and secure networks such corporate LANs. This communication is filtered by access rules.

• Proxy: A proxy is typically used to temporarily store Web pages in a

cache. In addition they can also take up other functionalities such as adapting the contents for users or user tracking.

• Media server: It is primarily used for content streaming of non-

structured bulk data for example audio or video.

• Content management server: This component has similar function as database server, it holds contents that are normally available in the form of semi-structured data to serve an application.

• Application server: An application server holds the functionality

required by several applications for example workflow or customization.

• Legacy application: It is integrated as an internal or external

component.

In web based applications, the internet is used to realize a communication between a user that runs a client application to retrieve data and a remote database. This kind of scenario is widely used in applications known as client/server applications. Three distinct layer can be defined from such client/server applications based on database access:

• User Interface or presentation logic- is the top most layering web based application architecture that facilitates user to interact with the system. It handles the inputs given by the user and display output on the user screen.

• Application or Business Logic - is the middle component which comprises of business rules/algorithms. It handles the exchange of information between presentation layer and database layer.

• Data access logic is the bottom component which support access to the database and gives services (e.g. file services, print services, communication services and database services) to upper component [35], [40]-[43].

Web based application development

15

Considering the separation of these parts, web based application architectures are often categorized into: one tier, two-tiers, three-tiers and multi-tiers architectures.

3.3. Characteristic features of RAD One of the widely used software development model is rapid application development. RAD capitalizes on the advantage of automated tools and techniques to restructure the process of building information systems [14]. It combines Computer-Assisted Software Engineering tools and techniques, and user-driven limits to suggest a reliable principle for high quality and productive software development model. Furthermore, RAD has extensively taken the place of conventional coding processes, which are dependent upon the skills of isolated individuals [17]. RAD is unique and attractive in the context of this study because of the reported radical changes it brought to the way systems and applications are developed. The primary strength of RAD over other models include, speed of development and delivery, high quality and low cost [18], [19]. The slow and rigid feature of conventional development lifecycles makes them not adequately suitable for the increasing business and technical demands of today that requires update and renewal. This explains the need for a substitute to allow organizations to build software applications faster, better, and cheaper [17]. On the other hand the primary weaknesses include reduced scalability and features. RAD makes trade-off decisions and uses incremental builds to deliver a minimum set of functionality to the customer as quickly as possible [20]. In addition, RAD tool is capable of creating the two categories of visualisation mentioned in previous chapter, i.e. administrator specific visuals and alternative visuals suggested by the author. Very important clarification to justify the use of RAD tools for the development of web based visualisation application is the existence of wide spectrum of RAD frameworks that can support both the functional and non-functional system requirements which were emphasised in the second chapter of this report. The core elements that make RAD a unique methodology are prototyping, iterative development, time boxing, team members, management approach, and RAD tools [19]

3.4. RAD framework for web based application development

A RAD tool or framework in the context of software development is a set of prewritten code which provides functionality common to a whole class of applications. The tool or framework can be regarded as a base or a skeleton to build upon. Typically, a tool provides a predefined structure for applications. The purpose of using a RAD tool is basically to accelerate the development of applications by avoiding rewriting features and structure that are commonly used in most web applications. Instead of starting from the scratch, the developer has many functions and features that are already tested, trusted and considered elevated starting point. Most tools or frameworks are free to use and are open source and anyone can join to contribute in some way. There are different tools that can be used for the development of web based applications; some of them are explained below.

Web based application development

16

3.3.1. Zend Framework It is an open source framework for developing web applications and services with PHP5 using object-oriented code. It supports multiple database systems and vendors, including MariaDB, MySQL, Oracle, Microsoft SQL Server, SQLite, and Informix Dynamic Server. It offers a robust, high performance MVC (Model-View-Controller) implementation, a database abstraction that is simple to use, and a forms component that implements HTML form rendering, validation, and filtering so that developers can consolidate all of these operations using one easy-to-use [21].

3.3.2. CakePHP It is an object oriented RAD tool that makes web application development simple, faster and requires less code. It uses code generation and scaffolding features to rapidly build prototypes. It uses PHP and comes with a long range of features to facilitate the development process, such as MVC architecture, localization, data sanitization and more [22].

3.3.3. Grails Grails is an Open Source, full stack, web application framework that runs on java virtual machine. It is an RAD tool that takes advantage of the Groovy programming language and convention over configuration to provide a productive and stream-lined development experience [23]. One of the cool features of Grails is its ability to generate the infrastructure for an entire application in seconds [24], [25].

3.3.4. Ruby on Rails It is built using Ruby, which blends features from several different languages such as Perl, Smalltalk, Lisp, etc. [26]. Ruby on Rails makes it easier to develop, deploy and maintain web applications and it has been used for implementing a wide range of Web 2.0 applications [27], [28]. It utilizes MVC pattern to enable developers to work in a way they are familiar to and the two key concepts are convention over configuration (CoC) Don't Repeat Yourself (DRY) [27], [28].

3.3.5. Django Django is a high-level Python Web framework that supports rapid development and clean design. Originally, Django was designed to handle two challenges: the intensive deadlines of a newsroom and the stringent requirements of the experienced Web developers who wrote it. It allows the building of high-performing, elegant Web applications quickly. It is a free and open source web application framework, written in Python, which follows the model–view–controller architectural pattern. [29].

3.3.6. Oracle Application Express (Oracle APEX) It is RAD tool for developing Web applications with SQL and PL/SQL. With only a web browser, one can develop and deploy professional Web-based applications for desktops and mobile devices. The many built-in packaged applications, such as survey builder, customer tracker, and P-Track (for tracking projects) can easily be installed and used without SQL and PL/SQL knowledge. Oracle Application Express is a database-centric development tool which can be used to build a vast number of applications [30].

Web based application development

17

The frameworks mentioned above are common RAD frameworks; each has its own peculiar features and benefits that motivate their selection for different web applications. Table 1 presents a comparison of the frameworks with respect to some of the features which are considered important to fulfil the requirements highlighted in the previous chapter. Apparently most of these frameworks can be considered suitable for the development of the web based application. The selection of APEX is simply based on the familiarity of the author with SQL which is the language used in APEX and also its development environment. In addition, Oracle Database is considered as a possible replacement for the existing database with an additional advantage of Oracle Application Express been managed as part of it.

Table 1: Comparison of selected RAD frameworks [31]-[34]

Features Zend CakePHP Grails Ruby on Rails Django Apex

Language PHP PHP Groovy Ruby Python PL/SQL

User friendliness Yes Yes Yes Yes Yes Yes

No cost Yes Yes Yes Yes Yes Yes

Internationalisation Yes Yes Yes Yes Yes Yes

Security framework Yes Yes Yes Plugin Yes Yes

Database migration Yes Yes Plugin Yes Yes Yes

Documentation and Forum Yes Yes Yes Yes Yes Yes

Object-relational mapping Yes Yes Yes Yes Yes

In built graphing

capabilities

Plugin&

library

Plugin&

library

Plugin&

library

Plugin&

library

Plugin&

library Yes

Ajax support Yes Yes Yes Yes Yes Yes

Form validation

frameworks Yes Yes Yes Yes Yes Yes

Design and implementation

18

CHAPTER 4

4. DESIGN & IMPLENTATION

The design requirement, anatomy procedure and implementation of railway data visualizer in APEX development is described in details in this chapter.

4.1. Data description

The web based application developed using oracle application express (APEX) is primarily intended to publish the condition monitoring data from the railway measurement station. The primary field of the data include

1. Train ID 2. Passage time stamp 3. Axle in train, vehicle in train and axle in vehicle 4. Loco and wagon code 5. Vertical force with related measures 6. Lateral force with related measures 7. Transient force with related measures 8. Angle of attack 9. Train speed 10. Direction of travel

The web application is to generate both tables and chart to present and publish data in a specific format and time period and for the authorised stakeholders. Some of the requirement and features anticipated from the web based application are as follows:

Generate a daily report including tables and charts of train passages and their condition. This should include:

Number of daily train passages Hourly count of train passages and axles Integrity or health indicator of each train based on number of axles whose

vertical forces exceed the set threshold. Range of vertical force, lateral force, speed record and passage time of each

train. Lateral and vertical force ratio to indicate the derailment possibility.

Generate historical record of train forces, providing the possibility of making request for record of train forces and speed for a specified time point or time interval. The historical record is anticipated to give opportunity to the user to create customised and interactive chart based on their interest and company objectives.

Design and implementation

19

Grant client-specific access right to the data. This is an important requirement of the web application as there are many stakeholders in railway transport. Railway operators and their maintenance companies are supposed to have access only to track forces data related their train as uniquely identified by their train ID. The expected data to be delivered to each client (operators and maintenance companies) are similar data which have been described above.

4.2. System design overview

In order to design the web application for visualisation of the data described in previous section and also to meet all necessary predefined requirements, the design procedure in APEX development environment is implemented. Basically, automated tools and techniques in APEX are taken advantage of, in building railway data visualizer. The design anatomy and modules in APEX are engaged in creating the necessary objects and functionality of the application. The four APEX modules that were used in the design phase include: application builder, SQL Workshop, team development and administration. During the design and development of the web application, some objects were created among which are: database objects, visualisation objects and access control scheme.

4.2.1. Creation of database objects Originally the oracle database is very flexible, permitting data from multiple schemas to be granted to and queried by other schemas. However since we’ve employed the oracle APEX hosted version, the first thing we did was to create the database schema, which will hold the database objects. SQL workshop utility was used to load and unload data from an Oracle schema as shown in Figure 5. The data load option allows the specification of text data, XML data, and spreadsheet data.

Figure 5: Data Load and unload in the creation of database objects

The data used in the project were loaded using spreadsheet option since the original data was an XML data but converted to spreadsheet for simplicity sake and other reasons. The structure, definition and format of the data are specified by the database design used. The database design we used consists of three entities with their respective attributes as shown in Figure 6. A brief description of the contents of the entities is given below: Railway_track_force_data: stores all data extracted from railway track senor station this is the main and largest part of the database.

Design and implementation

20

Customers: stores information about various stakeholders and their equipment state and subscription. App_users: contains all information of various users that are assigned or allowed to access the application or some components that are privileged to see.

Figure 6: Database model for the creation of the database objects

4.2.2. Creation of the visualisation interface The main objective of the application is to provide a general overview of railway condition monitoring data to users and concerned stakeholders. The presentation format of this data or information is in the form of table and graph called reports in APEX environment. These reports as implemented in this application are basically interactive reports and not classic report. This interactive report allows users to customize the layout of the data by choosing the columns they are interested in, applying filters, highlighting, and sorting. In addition, it makes it possible to define breaks, aggregations, different charts, save the reports, output to comma-delimited files, and print them as PDF documents. We used SQL queries for the creation of the interactive reports that will populate the data to be shown on the screen.

The interactive reports created in the application can be presented to viewers /users in two different visual forms: tabular report and chart. This two visualization format are used to publish both daily and historical record of the railway track force data. The flash chart is based on the anychart flash component that enables animation and interaction with the charts. For the main application, these charts are rendered by a browser that requires flash player whereas for the mobile version the HTML 5 charts that use JavaScript chart engine is used. Basically, three types of flash charts were

Primary key1

Primary key1

Primary key1

App_users

Railway_track_force_data

Customers

Design and implementation

21

deployed for the visualization of the railway force data – gauge, scatter plot and range plot. The basic XML code that was used for customizing the different charts and adjusting their elements in oracle APEX is given in appendix 3. Further, some of the SQL statements implemented for specifying the data to be presented in the different tabular reports and chart are presented in Figure 7-Figure 9.

select * FROM (select trunc((count(case when AxlePeak < 320 THEN 1 END))*100/ ((count(case when axlepeak >= 320 then 1 end))+(count(case when axlepeak < 320 then 1 end)))) value, 100 max, 0 low from RAILWAY_TRACK_FORCE_DATA where trunc(PASSAGESTARTTIME) = to_date('2013-05-01','yyyy-mm-dd') group by id_update, PASSAGESTARTTIME order by PASSAGESTARTTIME asc ) where rownum <= 1 order by rownum asc Figure 7: SQL query for integrity of each train types

select null link, substr(ID_update,1,2) label, percentile_disc(.25) within group (order by AxlePeak) , max(AxlePeak), min(AxlePeak), percentile_disc(.75) within group (order by AxlePeak) FROM RAILWAY_TRACK_FORCE_DATA where trunc(PASSAGESTARTTIME) = TO_DATE('2013-05-01','yyyy-mm-dd') group by substr(ID_update,1,2) Figure 8: SQL query for plotting vertical force characteristic of each train passage

select null link, ID1 LABEL , AxlePeak VALUE2, LatForceMaxMean_abs/AxleMean VALUE1 FROM RAILWAY_TRACK_FORCE_DATA where trunc(PASSAGESTARTTIME) = TO_DATE('2013-05-01','yyyy-mm-dd') having ID_UPDATE IN ('MT_122','MT_121','MT_120','MT_104','MT_118','MT_106','MT_111','MT_108','MT_117','MT_110','MT_115','MT_114','MT_116','MT_109','MT_101', 'MT_113','MT_127', 'MT_102', 'MT_103', 'MT_125','MT_126','MT_128','MT_123','MT_112', 'MT_119','MT_124','MT_107') group by ID1, PassageStartTime, ID_UPDATE, AxlePeak , LatForceMaxMean_abs/AxleMean;

Figure 9: SQL query for plotting load against risk of derailment of each train

Design and implementation

22

4.2.3. Creation of user access control This section is necessitated to meet the security requirement of the web application that was developed. The control of the user access in the form of authentication disallows access to an application without valid credentials whereas authorization disallows valid users to access data in the application for which they should not have privileges. One of the most essential forms of security that web applications must utilize is the implementation of an authentication and authorization policy. Authentication deals with identifying users to the application.

The development environment used for the web application has a number of default authentication schemes and also provides possibility for custom authentication scheme. In the application, we used the credentials of users defined in the database object. The core of the authentication scheme is APP_AUTH function that compares the given user name and password to the stored character in the user table in the database object. If there is a match, then the user will be authenticated. Furthermore, to mask the real password the APP_HASH function is used as a hashing algorithm. The procedure for creating the authentication scheme for the application is shown in Figure 10. It involves setting the login page that will be seen by users when they need to authenticate, setting custom authentication function and setting other attributes of the scheme.

Figure 10: Creation of authentication scheme in APEX

On the other hand, authorization is the process of assessing whether the authenticated user is privileged to access certain data, functionality, section or perform a particular action. In the application we have created an authorisation framework with three roles: administration, edit, and view. The in-built wizard in APEX was used to create the authorization scheme that was used in the application. The summary of the objects created in the authorisation scheme is shown in Figure 11.

Design and implementation

23

Figure 11: Creating authorisation scheme

4.3. Implementation The implementation procedure of the development of our web based application for visualisation of railway condition data using APEX tool is divided into three phases: creation of database objects, creation of the visualisation interface and creation of user authentication platform.

The implementation of railway data visualizer is organised into 4 different sections for the purpose of brief description: (i) user access control in terms of authentication and authorisation scheme (ii) visualisation and presentation of data (iii) interactive report and export performance and (iv) mobile interface.

4.3.1. User access control

Railway data visualizer is anticipated to be used by different stakeholders, thus an essential design requirement is to establish each user’s identity before they can access the application. The first step is authentication which requires users to provide some kind of credentials such as username and password as shown in Figure 12. The preconfigured authentication scheme called custom authentication scheme is used in the application.

Design and implementation

24

Figure 12: Establishing user identity through authentication The second design requirement related to the user access control is authorisation which limits the access of different users to individual components and resources inside the application. An example of the authorisation scheme that is used in the railway data visualizer to determine the “view, edit and administrator privileges” of the users is shown inFigure 13. The different privileges also selectively determine the pages, tabs, navigation bars, buttons, regions, or any other control or component that each user sees. In the railway data visualizer tool, the users are basically categorised into two classes depending on their privilege: administrator and customer.

Figure 13: Authorisation scheme by the administrator

4.3.2. Data visualisation and presentation performance One of the core design requirements of the application is the ability to present railway condition data in graphical and tabular format for different stakeholders and users. The presentation of the data is organised into two categories to give daily report and also historical report as shown inFigure 14. The daily report is more or less a performance dashboard which presents the railway condition monitoring data from sensors in formats that would be easily comprehended and used by both experts and non-experts.

Design and implementation

25

Figure 14: Daily and historical reports

The daily performance dash boards presents a number of visual reports about the train passage and the condition of the trains at the train-track interface. The first information is the total number of passage in a day as at the time when the user access railway data visualizer. The second information is a simple integrity index showing the condition of the last train. It shows the percentage of the train wheel whose vertical forces are below the alarm threshold. For example the gauge plot presented in Figure 15 gives a visual presentation of the number of train passages and integrity of last train; the actual values on the gauges are 30 and 82% respectively.

Figure 15: Daily report of train passage and integrity

The daily report also gives information about the spread of daily train and axle passages over 24 hour period as shown inFigure 16. This helps concerned stakeholders to identify the peak period when their infrastructure experience maximum loading in terms of number of train and axle. It is a good information from both technical and management point of view.

Number of train passage Integrity of last train

Design and implementation

26

Figure 16: Hourly count of trains and axles

Figure 17 shows one of the most important visual presentations of railway track force data that presents the lateral force range, vertical force range and speed with passage time of each train. The plot is separated into two, the left plot for the locomotive and the right for wagon. It is intended to give a real time information of the track force data at any time when user log in, the time which each train passes can be seen and also the range of the different forces are presented. This will easily help to identify the trains that violating the threshold limit set for each force type and contributing to accelerated degradation of the track. Other important railway engineering analyses can be enhanced by this visualisation tool.

Figure 17: Visualization of the lateral force, vertical force and speed of the trains (wagon to the right and locomotive to the left)

Design and implementation

27

Another interesting visual plot of track condition data for railway engineers is the ratio of lateral force to vertical force for each wheel on all train passages shown in Figure 18. The plot shows two essential aspects useful for railway stakeholders i.e. load of each train and safety/risk of derailment of each train. High value of L/V ratio is an indication of high possibility of the occurrence of derailment. There is a clear pattern and clustering of the data into 3 groups, right group represents loaded iron ore train, the left group is the unloaded iron ore train passages while the middle group are the passenger trains and steel slab trains. The figure can be used for further analysis by interested stakeholders.

Figure 18: Lateral and vertical force ratio

Figure 24 is a useful plot that can be used to classify the train types running on the track section into different categories based on the force impact on the track. The lateral forces of the all train types are within the same range except extreme cases of the steel shuttle and iron ore trains. As for the vertical forces, the freight trains are obviously having higher forces in their loaded direction and similar forces in unloaded direction as the other train types. This information can be used for access charge.

Design and implementation

28

Figure 19: Box plot for lateral and vertical forces of each train types

In order to give room for customised analysis and personalised presentation of the track condition daily data by the users, there is possibility to view a tabular format of the data in railway data visualizer. The tabular format is available in the application for daily data and also historical data as shown in Figure 20. The users can view any part of the data that is of interest to them by the use of the filter tool which helps to streamline their search.

Figure 20: Historical reporting tabular format

An aspect also important to mention is the access of the various users to these charts: the charts shown in this report can be viewed by all the users with either administrator or customers’ privilege. However the data presented will be limited to the authorisation right of the user. Customers will only see the data of their own train and same will be presented in the chart while the administrator can see the data of all the customers.

Design and implementation

29

4.3.3. Interactive report and export performance

The design requirements of the web application for railway condition data extend to the ability to create interactive charts, make customised report and export selected part of the historical data. In railway data visualizer, all the default charts can be saved in image and pdf format. Furthermore different charts and reports can be created from the data using the action menu and search icons. The users with appropriate privilege can format the data to suit their own analysis. This includes; sorting, highlight filters, column computation, customised charts and mathematical computation. The users can also engage the flashback tool to view specific data as it existed at a previous point in time.

In addition to this, the data can be exported in different format such as xls, csv, html, pdf and rtf formats as shown inFigure 21. The users also have the possibility of subscribing for updated version of reports via E-mail by specifying the report interval, email address and other relevant parameters. Other data transfer format can be configured using a third party tool.

Figure 21: Data filter and export format in railway data visualizer

4.3.4. Mobile interface of railway data visualizer

One of the general demands on web application is the ability to support multiple user interfaces, both on desktop and mobile. Railway data visualizer was developed in Oracle Application Express and thus can render its content on the vast majority of mobile devices incorporates using jquery Mobile. This implementation supports good response to mobile device specific events such as orientation change and touch

Design and implementation

30

events. Railway data visualizer can run on any mobile operating system including iOS, Android, Blackberry, and Windows. The look and feel of the application can be easily modified via CSS using tools such as theme-roller. The common constraint of accessing on-device features such as contact lists can be improved by integrating solutions such as PhoneGap which use a native application wrapper to display the web app. Figure 22 shows the mobile interface of the application.

Figure 22: Mobile interface of railway data visualizer

Evaluation and Discussion

31

CHAPTER 5

5. EVALUATION AND DISCUSSION

The main goal of evaluating or testing a Web application is to run the application using combinations of input and state to discover failures and shortfalls with respect to predefined requirements. A failure is the inability of a system to perform a required function within specified performance requirements during implementation [11]. These failures are generally connected to the design of the application itself, problems with the running environment or faults in the interface between the application and the environment.

5.1. Evaluation objectives In view of the above submission about failure, the evaluation is done such that the running environment which mainly affects the non-functional requirements is tested as well as the application content which is responsible for the functional requirements. The evaluation of railway data visualizer considers these two distinct perspectives since they are complementary and not mutually exclusive. On one side, the conformance of the railway data visualizer with specified functional requirements is assessed. Apparently, functional requirements such as access control, visualisation style, interactive reporting, customised charts, tables and email reporting are anticipated to be evaluated. On the other side, non-functional requirements such as compatibility, security, stress loading, performance, user interface and responses to mobile phone demands are assessed.

5.2. Evaluation procedure and results A questionnaire was designed using Likert scale approach to evaluate the performance of railway data visualizer with respect to the defined functional and non-functional user requirement explained above. The design of the questionnaire is such that it covers different potential failures of the application and to capture more requirements that were omitted in the design but necessary. The questionnaire was includes as a module in the application, tagged as feedback to make it easier for interviewee accessibility. It was sent to people working closely with railway applications and the data that is to be visualised. The job responsibilities of the interviewee include: academic research, consulting measurement engineering and system development, all with some connection with the railway data. Figure shows the spectrum of the job responsibilities of the interviewee. The questions used in the online questionnaire is provided in appendix 2

Evaluation and Discussion

32

Academic research Measurement Engineering Consulting

20%

20%

60%

Figure 23: Background of evaluators

The usability and functional performance of the application have been tested using different web browsers. The types and ratio of the browsers used by the evaluator is reported in Figure 24. Apart from these browsers, the authors has also tested the application on Apple safari

30%

Internet explorer Firefox Mozilla Google Chrome50%

20%

Figure 24: Web browsers used during the evaluation of railway data visualizer

The mobile phones that are used by the evaluators to check the compatibility and supportability for mobile device are reported in Figure 25.

Evaluation and Discussion

33

10%

Windows phone i phone Android phone50%

40%

Figure 25: Mobile devices used for the evaluation of railway data visualizer

The application requirements expected by the administrator that are explained in section 2 have been summarised into eight categories. The questionnaire was designed to capture the opinions of the evaluators as related to the extent to which the requirements have been fulfilled by the application. The overall impression of railway data visualizer by the evaluators is also assessed. The results are presented in Figure 26 and Figure 27.

Good Layout Quick reponse Stress loading Access control failure0

2

4

6

8

10

Num

ber o

f eva

luat

ions

Strongly agree Agree Neutral Disagree Strongly disagree

Figure 26: Evaluation of the non-functional requirements railway data visualizer

Evaluation and Discussion

34

Incompatibility Mobile interface Visuals Display Good Overall view0

2

4

6

8

10

Num

ber o

f eva

luati

ons

Strongly agree Agree Neutral Disagree Strongly disagree

Figure 27: Evaluation of the functional performance

5.3. Discussion

In line with the objectives of the thesis, existing web application development tools that can be used for presentation of stored sensor data have been studied. Oracle application express has been selected to design the web based application to extract and present sensor data in meaningful ways such that the specified application requirements are met. To be sure that these requirements are met and also to highlight the limitations of the application, the evaluation of its performance is discussed below. The application was evaluated on different operating system, web browsers at different locations and time of the day. Basically the application has been evaluated on internet explorer, Firefox Mozilla and Google chrome by the evaluators and also on Apple safari by the author. The performance of the application on the browsers used by the interviewee can be considered satisfactory as most of them had no incompatibility issue. The incompatibility case reported was not related directly to the functionality of the application but a problem related to the add-in used for online evaluation. Overall, the application works well on the various browsers and this shows that these browsers fully support the application. The majority of the responses showed that the usability of the application is good in terms of ability to easily navigate, locate information. The result also showed that the respondent agreed that the display and organisation of information and commands on the application were clear. The performance in terms of response time to request made by the evaluators is appreciated to be good especially for daily records. However, the noticed extended response time for mobile device is due to the large volume of data, in the range of 50-

Evaluation and Discussion

35

400MB. The absence of instances where the application crashed or was unable to recover due to heavy loading when historical data are requested is a sign of robustness of the application. Furthermore, the evaluation also validates the access control scheme which is required of it. None of the evaluators was able to access the information from railway data visualizer without authentication. Also the authorisation which limits the right of the evaluators was confirmed in the evaluation. A peculiar requirement anticipated for the application is that it should be able to support mobile user interfaces so that users are not limited in the aspect of real and any time access. The evaluators have used iphones, windows phone and android phones while the author complemented these efforts by testing the application on windows phone. The result of the evaluations shows that the application responded satisfactorily to mobile device specific events such as orientation change and touch events etc. Important in the evaluation of the application is the degree at which the functional requirements are met. The charts and graph that were designed in the application as default visuals were assessed by the evaluator to be relevant for railway operational and maintenance context. Foremost among the charts appreciated by the evaluator are: box plot, gauge plots and range plots. The ability to perform interactive reporting, customized chart and table creation, email reporting and exporting for advanced analysis are other functional requirements which were tested and approved during the evaluation process. 80% of the evaluator agreed that their expectations on visualization of track force data were adequately captured by the railway data visualizer. On the other hand, the remaining 20% were not negative about the visuals but rather commented that there is room for improvement of the visuals if the requirements of other stakeholders can be accommodated just as the administrators’. The general opinions of the evaluators have shown that they are quite positive that the web based application designed in this work is good for presenting and visualising railway condition data. 30% of the evaluators are strongly positive in their general view of the functional relevance of the application while 70% are positive about it. This hereby achieves the objective of extracting useful information with relevant visuals for different users presented by the thesis work. There are some limitations and inadequacies which were pointed out during the evaluations. Those related to design imperfections have been improved. While others that are related to the limitations of the oracle application express tool and requirement collection process were suggested for future work before full implementation. It was noted that experience and familiarity with the data is required to grasp the information provided by the charts and visuals. Help menu is missing and could facilitate the usability of the application if included. Units of parameters in few of the charts are missing and also explanation of some abbreviations are not done. The application requirements should be extended to accommodate personal needs of train operators and besides those recommended by the administrator. The response time on mobile platform can be improved as it seems slow from remote locations. Other specific comments given by the evaluators are summarised in Table 2.

Evaluation and Discussion

36

Table 2: Specific comments of the evaluators on the application

Interviewee Other Comments 1 The page is slow when I work with it from home and I have only mobile access.

2 It would be good to have the possibility to get some support for a better

understanding on each analysis/data shown, in the form of online help or a manual.

3 I might have found a small bug on the web page. If I click on the Train Integrity image from the Home-page, I get to a page called "Integrity of Trains CUSTA" which seems to have the path Home->Customer A->Integrity of Trains. I get the feeling that I should not have access to this page since if I click on the link to "Customer A" I am stopped with the message "Access denied by Page security check. So the link from the Home-page seems to be a backdoor to a Customer A privileged page.

4 Could not access this feedback form from the mobile version of the website, had to click on "full version".

5 No comment

6 I liked that big icons, it made it easy to use. The pie chart in the traffic mix did not show the percent of each pie item. The force chart also showed the train speed, but the x-axis showed only kN; could clarify further. In the L/V ratio, there was two groups of the orange, yellow and blue data points, but the green had only one group; don't understand it really. In overall a great application!

7 Due to slow mobile connection it took some time to access some of the pages (with my Android phone). Access to the page from a desktop computer and fast internet connection wasn't slow at all. It would be nice if there were a short translation for each abbreviation. Overall nice!

8 With more input from the users this can be improved. For example from the integrity part, threshold for what is good and what is not. The mobile phone version looked interesting and worked well

9 It is important to note the units on all the graphs (specific case was the force measurements, kN?) It would be nice if there had been any automated screen zooming adjustment on the website when using the mobile application. It would be good if sensors in the phone had been integrated in the mobile app such as the touch features e.g. sweeping front and back for moving in the interface.

10 No comments

Conclusion

37

CHAPTER 6

6. CONCLUSION

The increase in the use of sensor networks in railway applications makes data acquisition, mining, analysis, manipulation, representation and visualization crucial aspects of sensor networks. This thesis has addressed the need for presenting track force data acquired from railway track sensors in visual format using a web based application. Railway data visualizer is a web based application that was developed to present track data by generating tables and chart for authorised stakeholders to visualize and extract information. Railway data visualizer is developed using a rapid application development (RAD) tool called oracle application express (APEX).

Railway data visualizer is capable of real time reporting and visualizing of daily train passages and their integrities, hourly count of trains and axles, lateral force, vertical force and speed of the trains for different users. The development of the application is based on existing framework or tool that can be regarded as skeleton to build upon. Railway data visualizer has been evaluated assessed to ensure that the requirements of the users are met and that the interface is good enough for a railway application.

6.1. Concluding remarks

The findings of the study in direct connection to the objectives and research questions are summarised in this section.

• Rapid application development RAD tools have brought radical changes to the way applications are developed. This therefore makes them suitable candidates for efficient and effective development of web based application for reporting and visualising train and track sensor data.

• Other RAD tools that can be used for the development of web application for railway application include: CodeCharge Studio, Zend Framework, cakePHP, grails, Ruby on Rails, FileMaker, Django and oracle application express (APEX).

• APEX is preferable among the RAD tools because it meets the design requirement and also for following proven characteristics: user friendliness, reliability, no cost, speed, ease of use, Support, security, manageability, speed of development and high quality.

• Railway data visualizer is capable of presenting the train and track sensor data in daily and historical pattern. The default presentation of daily and historical data include: Number of train passage, integrity of trains, hourly count of trains and

Conclusion

38

axles, Visualization of the lateral force, vertical force and speed of the trains, axle load, Lateral and vertical force ratio.

• The application supports the creation of interactive charts and customised reports and also gives room for export.

• The performance of railway data visualizer is good with respect to access control, data visualisation and presentation, interactive report and mobile interface.

• Railway data visualizer is capable of controlling the access of different stakeholders to railway condition data via its authorisation and authentication scheme.

6.2. Recommendations

For effective implementation and integration of railway data visualizer in railway context some factors are important and should be given attention. These factors are also important for the web based application to meet for the interest and requirements of the stakeholders. The factors are presented in as recommendations below:

• For real time presentation and visualisation of the train and track force data, railway data visualizer requires that the data from the sensor should be stored in an oracle database. It is therefore recommended that oracle database be installed.

• There is need for improvement in the quality of the data as some of the data are not in usable format.

• It has been observed that not all the trains have unique ID, this resulted in the omission of some data in this study. It is therefore suggested that a complete update of the RFID tag on all the trains be done.

• The mobile interface requires further improvement especially the response time during heavy loading.

• The deployment of railway data visualizer is not only limited to track force data, other data from train operations, track sensors and monitoring systems can also be visualize after some modifications.

• The application requirements should be extended to accommodate personal needs of train operators and maintenance companies besides those suggested by the administrator.

• Simplified help menu should be considered for full implementation of the application.

• Other RAD tool should be considered practical comparison their functionalities besides those done in literature.

References

39

REFERENCES

1. F. Fan and E.S. Biagioni, "An approach to data visualization and interpretation for sensor networks," in System Sciences, 2004. Proceedings of the 37th Annual Hawaii International Conference on, 2004, pp. 9 pp.

2. S. Murugesan, Y. Deshpande, S. Hansen and A. Ginige, "Web engineering: A new discipline for development of web-based systems," in Web Engineering, Springer, 2001, pp. 3-13.

3. M.L. Ganuza, S.R. Martig and S.M. Castro, "Web Services over the UMV: Unified Visualization Model," in XIV Congreso Argentino de Ciencias de la Computación, 2008.

4. B. Stehno, "Rapid visualization development based on visual programming developing a visualization prototyping language,".

5. C. Justin, "Data Visualization Techniques: From Basics to Big Data with SAS® Visual Analytics," in SAS Global Forum, 2013.

6. E.H. Chi, "A taxonomy of visualization techniques using the data state reference model," in Information Visualization, 2000. InfoVis 2000. IEEE Symposium on, 2000, pp. 69-75.

7. S.K. Card, J.D. Mackinlay and B. Shneiderman, Readings in information visualization: using vision to think, Morgan Kaufmann, 1999.

8. R.B. Haber and D.A. McNabb, "Visualization idioms: A conceptual model for scientific visualization systems," Visualization in scientific computing, vol. 74, pp. 93 1990.

9. Web based application [Accessed Online March 2014], http://www.netsity.com/webbasedapplication.htm.

10. D. Sreedhar, "Comparative study of web application development with SQL server and Db4o," 2011.

11. G.A. Di Lucca and A.R. Fasolino, "Web application testing," in Web Engineering, Springer, 2006, pp. 219-260.

12. I. Jacobson, "Object oriented software engineering: A use case driven approach," 1992.

13. C. Alistair, "Writing effective use cases," 2001. 14. E. Mendes and N. Mosley, Web engineering, Springer, 2006. 15. A. Ginige and S. Murugesan, "Web engineering: An introduction," MultiMedia,

IEEE, vol. 8, no. 1, pp. 14-18 2001. 16. G. Kappel, B. Pröll, S. Reich and W. Retschitzegger, Web engineering: The

discipline of systematic development of web applications, John Wiley & Sons, 2006.

17. CaseMaker Inc. http://www.casemaker.com/download/products/totem/rad_wp.pdf, 1997-2000 [Accessed Online April 2014]: What is Rapid Application Development.

18. R.S. Pressman, Applying Web Engineering. In: Software Engineering: A Practitioner’s Approach, 6 ed., McGraw-Hill, 2005.

19. Core Partners Inc., "Rapid application development,". 20. W. Jeremy Chapman, "MiniRAD - A process for rapid application development in

small startup companies," 2000. 21. Zend Framework [Accessed Online April 2014],

http://www.zend.com/en/products/framework/.

References

40

22. CakePHP [Accessed Online April 2014], http://cakephp.org/. 23. Grails: What is Grails? [Accessed Online April 2014], http://grails.org/. 24. Building an Amazon S3 Browser with Grails [Accessed Online May 2014],

http://aws.amazon.com/articles/4000. 25. Groovy : An agile and dynamic language for the Java Virtual Machine [Accessed

Online May 2014]: http://groovy.codehaus.org/. 26. Ruby: A dynamic, open source programming [Accessed Online May 2014]:

https://www.ruby-lang.org/en/. 27. S. Ruby, D. Thomas and D. Hansson H.,

Agile Web Development with Rails 3.2, 4th ed., 2011. 28. Ruby on Rail: An open source web framework [Accessed Online May 2014],

http://rubyonrails.org/. 29. Django: A high-level Python Web framework that encourages rapid development

and clean, pragmatic design. [Accessed Online April 2014], https://www.djangoproject.com/.

30. Overview Of Oracle Application Express 4.2 [[Accessed Online April 2014], http://www.oracle.com/technetwork/developer-tools/apex/overview/index.html.

31. ORACLE APPLICATION EXPRESS 3.0 OVERVIEW [Accessed Online March 2014], http://www.ukuug.org/events/seminars/databases/APEX3.0DataSheet.pdf.

32. Wikipedia. Comparison of web application frameworks [Accessed Online June 2014], http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks#Ruby.

33. M.d.P. Salas-Zárate, G. Alor-Hernández and A. Rodríguez-González, "Developing lift-based web applications using best practices," Procedia Technology, vol. 3, pp. 214-223 2012.

34. B. Porebski, K. Przystalski and L. Nowak, Building PHP Applications with Symfony, CakePHP, and Zend Framework, John Wiley and Sons, 2011.

35. L. Bass, P. Clements and R. Kazman, Software Architecture in Practice, Addison Wesley, Reading, USA, 1998.

36. P.B. Kruchten, "The 4 1 view model of architecture," Software, IEEE, vol. 12, no. 6, pp. 42-50 1995.

37. D. Soni, R.L. Nord and C. Hofmeister, "Software architecture in industrial applications," in Software Engineering, 1995. ICSE 1995. 17th International Conference on, 1995, pp. 196-196.

38. S. Hadjerrouit, "Web-based application development: A software engineering approach," ACM SIGCSE Bulletin, vol. 33, no. 2, pp. 31-34 2001.

39. J.D. Meier, A. Homer, D. Hill, J. Taylor, P. Bansode, L. Wall and Rob Boucher Jr Akshay, Bogawat, Web application architecture pocket guide microsoft, 2008.

40. T. Wallet, "Use of web-based three tiers architectures: Applying separation of concerns to the modelization and implementation of a dynamic internet database interface," Doctoral dissertation, Universidade Estadual do Norte Fluminense 1999.

41. M. Akram and S. Hayat, "Qualitative & quantitative analysis of tiered architecture of web-applications,".

42. R. Lukashenko, M. Vilkelis and A. Anohina, "Deciding on the Architecture of the Concept Map Based Knowledge Assessment System," in Proceedings of the 9th International Conference on Computer Systems and Technologies and Workshop for PhD Students in Computing, 2008, pp. 65.

43. A. Mumtaz and S. Hadi, "Developing a three-tier web data management application for higher education admission environment," 2012.

44. P. Manos, "Web app architectures multi-tier 2-tier 3-tier _mvc", Lecture

presentation.

Appendices

41

APPENDICES

Appendix 1: Interview Questionnaire

1. What are then major functions you are interested to have the web application do?

2. What formats are you interested to have the data visualized?

3. What are the most essential factors in the visualizing web application system?

4. What other functionality do you expect the web visualization application to have?

5. What are the data export format your required the web application to have?

6. What is the interface compatibility required?

7. Other Comments

Appendices

42

Appendix 2: Evaluation Questionnaire

This thesis is primarily aimed at presenting track force data acquired from railway track sensors in visual format using a web based application. The web based application will be used to access, format and generate both tables and chart for authorized stakeholders to visualize track sensor data. In order to evaluate the prototype application, your views aboutitsusability and functionality are welcome. Your responses to the following questions will help to improve the application for future implementation.

1. The layout and organization of the application was well designed to support

easy navigation?

2. I had quick response to my request. It did not take too long for my request to be processed and responded to.

3. There was no heavy loading instance where the application crashed or was not able to recover.

4. I was able to access the application even without login and password.

5. The hardware and software configurations of device e.g. web browser, had some compatibility issue when using the application

6. I was able to access the application through my mobile phone satisfactorily

Strongly agree Agree Neutral Strongly disagree Disagree

Strongly agree Agree Neutral Strongly disagree Disagree

Strongly agree Agree Neutral Strongly disagree Disagree

Strongly agree Agree Neutral Strongly disagree Disagree

Strongly agree Agree Neutral Strongly disagree Disagree

Strongly agree Agree Neutral Strongly disagree Disagree

Appendices

43

7. My expectation on visualization of track force data was captured in the application.

8. The organization of information on the screen was clear.

9. I have a positive overall view on the application.

10. What browser types and operating system did you have on the computer you used when accessing the application?

11. What type of phone did you use?

12. Other comments

Very good Good Neutral Poor Very poor

Very good Good Neutral Poor Very poor

Very good Good Neutral Poor Very poor

Appendices

44

Appendix 3: Basic xml code used for customizing the different chart/visuals in oracle APEX

<?xml version = "1.0" encoding="utf-8" standalone = "yes"?> <anychart> <settings> <animation enabled="true"/> <no_data show_waiting_animation="False"> <label> <text>#NO_DATA_MESSAGE#</text> <font family="Verdana" bold="yes" size="10"/> </label> </no_data> </settings> <margin left="0" top="0" right="0" bottom="0" /> <charts> <chart plot_type="" name="chart_47012886800722659905"> <chart_settings> <title text_align="Center" position="Top" > <text>Vertical Forces</text> <font family="Tahoma" size="14" color="0x000000" /> </title> <chart_background> <fill type="Solid" color="0xFFFFFF" /> <border enabled="false"/> <corners type="Square"/> </chart_background> <data_plot_background> </data_plot_background> <axes> <y_axis > <scale mode="Normal" /> <title> <text>Forces</text> <font family="Tahoma" size="14" color="0x000000" /> </title> <labels enabled="true" position="Outside">

Appendices

45

<font family="Tahoma" size="10" color="0x000000" /> <format><![CDATA[{%Value}{numDecimals:0,decimalSeparator:.,thousandsSeparator:\,}]]></format> </labels> <major_grid enabled="True" interlaced="false"> <line color="Black" /> </major_grid> <minor_grid enabled="True"> </minor_grid> </y_axis> <x_axis> <scale mode="Normal" /> <title> <text>Train types</text> <font family="Tahoma" size="14" color="0x000000" /> </title> <labels enabled="true" position="Outside"> <font family="Tahoma" size="10" color="0x000000" /> <format><![CDATA[{%Value}{numDecimals:0,decimalSeparator:.,thousandsSeparator:\,}]]></format> </labels> <major_grid enabled="True" interlaced="false"> <line color="Black" /> </major_grid> <minor_grid enabled="True"> </minor_grid> </x_axis> </axes> <chart_animation type="ScaleYCenter" interpolation_type="Quadratic" show_mode="OneByOne"/> </chart_settings> <data_plot_settings enable_3d_mode="false" >

Appendices

46

<candlestick_series style="Style1"> <tooltip_settings enabled="true"> <format><![CDATA[Open: {%Open}{numDecimals:0,decimalSeparator:.,thousandsSeparator:\,} Close: {%Close}{numDecimals:0,decimalSeparator:.,thousandsSeparator:\,} High: {%High}{numDecimals:0,decimalSeparator:.,thousandsSeparator:\,} Low: {%Low}{numDecimals:0,decimalSeparator:.,thousandsSeparator:\,} ]]></format> <font family="Tahoma" size="10" color="0x000000" /> <position anchor="Float" valign="Top" padding="10" /> </tooltip_settings> <label_settings enabled="false"/> <candlestick_style> <hatch_fill enabled="True" type="%HatchType" /> </candlestick_style> <marker_settings enabled="True" > <marker type="None" /> </marker_settings> </candlestick_series> </data_plot_settings> #DATA# </chart> </charts> </anychart>