10.07.2015 Views

Deliverable 5.2 - the School of Engineering and Design - Brunel ...

Deliverable 5.2 - the School of Engineering and Design - Brunel ...

Deliverable 5.2 - the School of Engineering and Design - Brunel ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ICT Project 3D VIVANT– <strong>Deliverable</strong> <strong>5.2</strong>Contract no.:248420Search & Retrieval Mechanisms &Tools2 FRAMEWORK ARCHITECTURE AND GRAPHICAL USERINTERFACEThe search <strong>and</strong> retrieval framework was developed to have a modular <strong>and</strong> easily exp<strong>and</strong>able sourcecode for fur<strong>the</strong>r future improvements based on <strong>the</strong> upcoming requirements. With this concept inmind, most <strong>of</strong> <strong>the</strong> components <strong>of</strong> <strong>the</strong> framework are thread based classes that work independently <strong>of</strong><strong>the</strong> o<strong>the</strong>r classes <strong>and</strong> interconnect <strong>and</strong> exchange data through <strong>the</strong> application’s root process. Thisapproach enabled us to perform <strong>and</strong> test several configurations until <strong>the</strong> final decision. A roughschematic diagram <strong>of</strong> <strong>the</strong> framework’s architecture is presented in Figure 1.Graphical User InterfaceDescriptorextractor threadsDatabasethreadSearch process <strong>and</strong> resultspresentation threadLoggerthreadFigure 1: Search <strong>and</strong> Retrieval framework architectureThe descriptor extractor threads are triggered to extract one <strong>of</strong> <strong>the</strong> supported descriptoralgorithms in <strong>the</strong> selected database. After <strong>of</strong> <strong>the</strong> descriptor extraction process is finished <strong>the</strong>threads terminate. A new thread is started each time a new database should be processed.The database thread keeps track <strong>of</strong> <strong>the</strong> access to <strong>the</strong> filesystem database <strong>and</strong> mainly keeps inmemory <strong>the</strong> index <strong>of</strong> <strong>the</strong> database to be ready for search queries. The database thread lifespan is for <strong>the</strong> entire applications uptime <strong>and</strong> thus it is considered permanent thread.The search process thread is started each time a new search query is posed on <strong>the</strong> system.After processing <strong>the</strong> query, asking <strong>the</strong> database for similar content, <strong>and</strong> building <strong>the</strong> rankedlist <strong>of</strong> <strong>the</strong> results <strong>the</strong> thread terminates.Finally, <strong>the</strong> logger thread keeps track <strong>of</strong> all <strong>the</strong> actions that occur from <strong>the</strong> start to <strong>the</strong> end <strong>of</strong><strong>the</strong> application’s lifecycle <strong>and</strong> displays <strong>the</strong>m in a window <strong>of</strong> <strong>the</strong> UI.The Search <strong>and</strong> Retrieval Framework was developed as a multi-document interface (MDI)environment in order to support multiple functionalities in parallel. The startup UI is presented inFigure 2. At <strong>the</strong> top <strong>of</strong> <strong>the</strong> UI <strong>the</strong>re is a toolbar menu with all <strong>the</strong> available functionalities as well assome icon buttons for <strong>the</strong> most common features. The toolbar from left to right has a search menu, adatabase preparation menu, an options menu, a“window” tiling <strong>and</strong> navigation menu, <strong>and</strong> a “help”that navigates <strong>the</strong> user to <strong>the</strong> “about” window for information about <strong>the</strong> s<strong>of</strong>tware.4/03/2013 8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!