E-Travel    Agent-based Travel Support System


E-Travel 1.0 Source, Binaries and Docs


Online documentation
E-travel is comprehensive framework for delivering personalized travel services using agent infrastructure based on our works in agent-related fields: Multimodal Communication Between Users and Software Agents and Modelling User on the Basis of Interactions with a WWW Based System. The system utilizes many existing up-to-day technologies related to the term of Semantic Web: JADE agent platform together with Jena semantic framework for processing ontology demarcated data. For easy and type safe access to ontology Jastor (Java beans generator from Web Ontologies (OWL)) has been used. Raccoon server provides a way to transform ontological data into browser-readable forms.

Our solution addresses set of the following problems:

  • Connecting synchronous HTTP protocol with asynchronous nature of software agents.
  • Web browser and mobile interface providing natural access to the multi-agent system.
  • Separation of data and view thanks to: Model-View-Controller architecture, ontologies and Raccoon server for transforming data into view.
  • Content personalization basen on user modelling, including: stereotyping, user profile learning and exploitation.
personal agent, travel support system, multimodal interaction,user modelling, Semantic Web, multi-agent system, stereotyping, recommending system.


  • Maciej Gawinecki (content-based personalization)
  • Paweł Kaczmarek (user-agent communication, MVC pattern implementation)
  • Michał Szymczak (ontologies, ontology documentation generator)
  • Mladenka Vukmirovic (ontologies)

Mailing list:

The system is licensed under the General Public License.

System interface

At the current stage the systems plays role of a restaurant recommender with ability to suggest any of 8700 Polish restaurants incorporated from Chefmoz dining guide. The user can access the system by any internet browser.

Monitoring system

Systems operates on a set of ontology models persistent in a database. This includes data about stereotypes, user profiles, events gathered during user interaction with the system and related statistics, and descriptions of restaurants. Graphical SWT-based interface is provided for debugging purposes.

System structure

The system realize user requests thanks do set of agents. Proxy Agent (PrA) is reponsible for translating user request (HTTP request) into agent-understable form and back -- system responses into HTTP response. All translated requests are forwarded to Session Handling Agent (SHA), playing the role of main orchestrer of the system. SHA behaves as Controller of MVC architecture: (1) it builds data model or request other agent (i.e. Personal Agent (PA)) to do it and (2) forwards data model to View Transforming Agent (VTA) in order to translate model into browser-readable form (e.g. HTML). SHA also tracks session with the user and logs all events in database. These gathered data are processed on call by Profile Managing Agent (PMA) in order to keep user profile up-to-date. SHA authorizes also user to access to services available only after logging into the system, e.g. restaurant recommender is such a service. And, eventually, Restaurant Service Agent (RSA) provides provide vast volume of data about restaurants. The diagram below shows how agents depends on each other for their functionality.

User Modelling

User modelling is based on user profiles characterizes a sets of user's opinion about particular concepts in domain ontology and are called overlay models, since they lay over domain ontology.

Process of learning is based on implicit and explicit relevant feedback coming from user. Generally it estimates probability of user interest in particular concepts of domain ontology, on the base of frequency of actions (events) targetted against these concepts in user history. This probability is normalized in relation to probablity of users population interest in these concepts.

Problem of new user in the system has been solved by incorporating stereotyping algorithm. It measures a distance between user-specified characteristics and these appearing in stereotypes to find the best matching stereotype. Then opinions states in the selected stereotype are copied to the user profile.

Content filtering exploits user profile by comparing semantic content of recommended resource and users opinions about this resource.


The authors would like to thank you the following person for their contribution Wiktor Moderau (for dig-art), Mateusz Dominiak (for support for individuals in Jastor), Adam Souzis and Michał Olczak (for support in configuration of Raccoon in Python), Mateusz Kruszyk (for stereotypes design), Minor Gordon (for vital design ideas), dr Maria Ganzha for mathematical considerations and diagrams validation and many thans to Marcin Paprzycki for his enforcing power to make me do it. Also many thanks from people from very active jena-dev mailgroup and also for authors of Raccoon, JADE and Jastor for their support.
Design by Plain Black. Used with permission from the WebGUI open source content management project.

Help build the largest open-content restaurant guide on the web.
Submit a Restaurant / Review / Link - ChefMoz Project - Become an Editor