Smith, Eric (1999) A concurrent architecture for a travel planning application. Masters thesis, Concordia University.
In this thesis, we present a concurrent architecture for a travel planner application. The main idea behind this architecture is the division of the travel planning problem into task and subtask objects that solve distinct aspects of the problem in parallel. These objects collaborate with one another, eliminating non-optimal solutions and producing a coherent solution consisting of partial solutions from the subtasks. Groups of these objects solve different optimization problems within the travel planning problem. The architecture is similar to that of a production system, particularly a blackboard architecture, except that we insist on a distributed control system and use procedural tasks and subtasks rather than declarative knowledge sources. Unlike blackboard systems, the solutions that are created are distributed amongst the objects rather than centralized, so some communication between objects is necessary. We discuss our Java(TM) implementation of the travel planner and some sample results of the system. The travel plans output are sometimes not good approximations of the optimal solution, because a bounded, breadth-first search strategy is used. The system also loses on performance because of additional overhead incurred by object collaboration. On the other hand, our architecture offers potential performance enhancements achievable through concurrency as well as good design principles such as design for change, separation of concerns, and code reuse. We also demonstrate how our architecture could be used to solve other optimization problems. We conclude that our architecture could be used as a basis for a more efficient travel planner implementation.
|Divisions:||Concordia University > Faculty of Engineering and Computer Science > Computer Science and Software Engineering|
|Item Type:||Thesis (Masters)|
|Pagination:||xi, 126 leaves : ill. ; 29 cm.|
|Degree Name:||Theses (M.Comp.Sc.)|
|Program:||Computer Science and Software Engineering|
|Thesis Supervisor(s):||Grogono, Peter|
|Deposited By:||Concordia University Libraries|
|Deposited On:||27 Aug 2009 17:15|
|Last Modified:||08 Dec 2010 15:17|
Repository Staff Only: item control page