
Faculty of Health, Science and Technology Department of Computer Science Andreas Arvidsson Anders Andreasson Distributed computing for the public transit domain Degree Project of 15 credit points Computer Science Date/Term: 13-06-05 Supervisor: Andreas Kassler Examiner: Thijs Holleboom Serial Number: 2013:09 Karlstads universitet 651 88 Karlstad Tfn 054-700 10 00 Fax 054-700 14 60 [email protected] www.kau.se Computer Science Anders Andreasson Andreas Arvidsson Distributed computing for the public transit domain Bachelor’s Project 2013:09 This report is submitted in partial fulfillment of the requirements for the Bachelor’s degree in Computer Science. All material in this report which is not my own work has been identified and no material is included for which a degree has previously been conferred. Anders Andreasson Andreas Arvidsson Approved, 2013-06-05 Advisor: Andreas Kassler Examiner: Thijs Holleboom iii Abstract Traditionally each public transportation company have had their own services and software for transit information and travel planning. If you wanted to travel over a longer distance using public transportation you where required to utilize numerous different services to obtain all the information needed for your trip. This is both laborious, tedious and in some cases leads to misinformation and bad planning. What our thesis contains is a description of the software system we have devised for the purpose of aggregating all available public transit information in Europe in to one unified service. The basis for this system is three components: • The client applications(i.e. mobile phone apps, PC web pages etc.). • The distribution system with its routing and load balancing algorithms. • The calculation and logic system that manages the transit data. v Contents 1 Introduction...........................................................................................................................1 1.1 The application.............................................................................................................1 1.2 Distributed computing..................................................................................................2 1.3 Centralized management...............................................................................................2 1.4 Summary.......................................................................................................................3 2 Background...........................................................................................................................3 2.1 Bachelor project............................................................................................................3 2.2 ITRACT........................................................................................................................4 2.3 Similar work.................................................................................................................6 2.4 Preexisting software and formats..................................................................................6 2.5 Summary.....................................................................................................................13 3 Design...................................................................................................................................13 3.1 Design development...................................................................................................13 3.2 General design............................................................................................................16 3.3 Automated server management..................................................................................19 3.4 Request routing...........................................................................................................20 3.5 Proxy class hierarchy..................................................................................................22 3.6 Proxy event class hierarchy........................................................................................26 3.7 Server helper class hierarchy......................................................................................27 3.8 Management web page design....................................................................................29 3.9 Client web page design...............................................................................................30 4 Implementation...................................................................................................................32 4.1 Introduction.................................................................................................................32 4.2 Automated server management..................................................................................34 4.3 Request routing...........................................................................................................37 4.4 Event management......................................................................................................45 vi 5 Results and system evaluation...........................................................................................47 5.1 Introduction.................................................................................................................47 5.2 Client web page result.................................................................................................47 5.3 Management web page result.....................................................................................49 5.4 System testing.............................................................................................................51 5.5 Summary.....................................................................................................................53 6 Conclusion...........................................................................................................................54 6.1 Project evaluation.......................................................................................................54 6.2 Problems and complications.......................................................................................55 6.3 Future work.................................................................................................................57 6.4 Andreas personal reflection........................................................................................61 6.5 Anders personal reflection..........................................................................................61 7 References............................................................................................................................62 vii List of Figures Figure 2.1 JSON example....................................................................................................9 Figure 2.2: Open trip planner description..........................................................................10 Figure 2.3: One bus away description...............................................................................11 Figure 3.1: System general design.....................................................................................16 Figure 3.2: Proxy design class diagram.............................................................................23 Figure 3.3: Proxy event design class hierarchy.................................................................26 Figure 3.4: Server helper design class diagram.................................................................27 Figure 3.5: Client web page general layout.......................................................................31 Figure 4.1: Proxy implemented class diagram...................................................................33 Figure 4.2: Routing graph table code.................................................................................37 Figure 4.3: Coordinate to index formula...........................................................................38 Figure 4.4: Coordinate to index formula simplified..........................................................38 Figure 4.5: Swedish graph geographic bounds..................................................................40 Figure 4.6: Ray casting pseudo code.................................................................................41 Figure 4.7: Routing graph table result...............................................................................43 Figure 4.8: Coordinate to index formula simplified..........................................................44 Figure 4.9: Proxy event implementation class diagram.....................................................46 Figure 4.10: Proxy event callback example.......................................................................46 Figure 5.1: Client web page result.....................................................................................48 Figure 5.2: Client web page trip plan result.......................................................................49 Figure 5.3: Management web page overview result..........................................................49 Figure 5.4: Management web page graph result................................................................50 ix List of tables Table 2.1: Open trip planner component description........................................................10 Table 2.2: One bus away component description..............................................................12 Table 5.1:
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages73 Page
-
File Size-