• No results found

Development of Web Based Application for Visualisation of Railway Condition Data

N/A
N/A
Protected

Academic year: 2022

Share "Development of Web Based Application for Visualisation of Railway Condition Data"

Copied!
52
0
0

Loading.... (view fulltext now)

Full text

(1)

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

(2)

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

(3)

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.

(4)

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.

(5)

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

(6)

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

(7)

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),

(8)

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 Network Sensor Network Railway data visualizer (Web based Application)Railway data visualizer (Web based Application) Asseet Owner

Asseet Owner ClientsClients Third partyThird party

Database Server Database Server Wireles access point

Wireles access point

Search Charts Tables Report/Export

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

(9)

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

(10)

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.

(11)

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.

(12)

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.

(13)

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.

AnalysisData Filtering Mapping Rendering

Raw data Processed

data Focus

data Visual

mappeddata Visualised

data

(14)

• 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

(15)

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

(16)

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.

(17)

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

Acess control

Admin Management

Admin Management

Application Update Application

Closure

Visaulisation

& reporting

Access control

Restricted Visualization Background

information Interactive

reporting Customised chart &Table

Email and export report

Flashback tool Default Daily &

Historical visualisation

Administrator Client

(18)

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.

(19)

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.

Transactional

Online banking Online shopping

Document-centric

Static Homepage Web Radio

Interactive

News Site Travel planning

Collaborative

Chartroom E-learning

Social Web

Weblogs Collaborative filtering

Ubiquitous

Customized services Multiplatform delivery

Portal-oriented

Community portal Online shopping mall

Semantic web

Recommender system Knowledge mgmt

Workflow based

E-Government Patient workflow

Developments History

Co m plex ity

(20)

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].

(21)

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.

(22)

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].

(23)

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

(24)

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.

(25)

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.

(26)

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 key 1 Primary key

1

Primary key 1

App_users Railway_track_force_data

Customers

(27)

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_1 11','MT_108','MT_117','MT_110','MT_115','MT_114','MT_116','M T_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

(28)

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.

(29)

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.

(30)

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.

(31)

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

(32)

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)

(33)

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.

(34)

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.

(35)

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

(36)

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

(37)

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

References

Related documents

Det kanske mest iögonfallande för elever som kommer från just gymnasieskolan, är hur lokalerna är annorlunda, och att övriga deltagare på folkhögskolan i flera fall är

Using the calculated energy levels given above, it is possible to estimate roughly the binding energies of an exciton with a strongly bound hole and a weakly bound electron in

Datainsamling: Intervju Analysmetod: Innehållsanalys Styrkor: - Med hjälp av djupgående intervjuer kunde grundlig information nås kring ämnet mödrars upplevelse av

1816, 2018 Department of Science and Technology. Linköping University SE-581 83

Figure 1.2.3: Comparison of steel weight for different roadway bridges [TNA] As for railroad bridges, Brunn and Schanack (2003) compared their design with other railroad bridges -

Railway track stiffness (vertical track load divided by track deflection) is a basic parameter of track design which influences the bearing capacity, the dynamic behaviour of

of the influence of railway track periodicity, load speed and support modelling on the rolling noise emission,” Under review in Journal of Sound Vibration, 2019.

It has been concluded that distributed support model corrects the frequency response, specially around the ‘pin-pin’ frequency, and moreover, it eliminates the discontinuity