A concurrent architecture for a travel planning application

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

Full description

Bibliographic Details
Main Author: Smith, Eric
Format: Others
Published: 1999
Online Access:http://spectrum.library.concordia.ca/936/1/MQ47851.pdf
Smith, Eric <http://spectrum.library.concordia.ca/view/creators/Smith=3AEric=3A=3A.html> (1999) A concurrent architecture for a travel planning application. Masters thesis, Concordia University.
id ndltd-LACETR-oai-collectionscanada.gc.ca-QMG.936
record_format oai_dc
spelling ndltd-LACETR-oai-collectionscanada.gc.ca-QMG.9362013-10-22T03:41:04Z A concurrent architecture for a travel planning application Smith, Eric 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. 1999 Thesis NonPeerReviewed application/pdf http://spectrum.library.concordia.ca/936/1/MQ47851.pdf Smith, Eric <http://spectrum.library.concordia.ca/view/creators/Smith=3AEric=3A=3A.html> (1999) A concurrent architecture for a travel planning application. Masters thesis, Concordia University. http://spectrum.library.concordia.ca/936/
collection NDLTD
format Others
sources NDLTD
description 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.
author Smith, Eric
spellingShingle Smith, Eric
A concurrent architecture for a travel planning application
author_facet Smith, Eric
author_sort Smith, Eric
title A concurrent architecture for a travel planning application
title_short A concurrent architecture for a travel planning application
title_full A concurrent architecture for a travel planning application
title_fullStr A concurrent architecture for a travel planning application
title_full_unstemmed A concurrent architecture for a travel planning application
title_sort concurrent architecture for a travel planning application
publishDate 1999
url http://spectrum.library.concordia.ca/936/1/MQ47851.pdf
Smith, Eric <http://spectrum.library.concordia.ca/view/creators/Smith=3AEric=3A=3A.html> (1999) A concurrent architecture for a travel planning application. Masters thesis, Concordia University.
work_keys_str_mv AT smitheric aconcurrentarchitectureforatravelplanningapplication
AT smitheric concurrentarchitectureforatravelplanningapplication
_version_ 1716605526073147392