B.Sc. thesis 2008


Tri-Thong Truong


Policy-driven negotiation allows parties to iteratively communicate, increasing the level of knowledge on each other after each iteration. This is crucial in, e.g., access control in which disclosure of information may not be allowed till a specific level of trust has been reached. There exists several systems for Trust Negotiation like TrustBuilder, PeerTrust, or Protune.

Protune provides a platform that allows advance interactions between systems or agents exploited for Trust Negotiations. Interactions consist of an exchange of messages with policies describing what it is expected from the other party, as well as disclosure of information. These policies are described in the Protune language bringing in many advantages like, among others, strong and lightweight evidence, policy filtering, explanations, and integration of legacy systems. The following example for a trust negotiation exemplifies a two parties communication:

  1. client requests a resource
  2. the server asks for a credit card in order to release the resource
  3. the client asks for a Better Business Bureau Certificate in order to release the credit card
  4. the server discloses the Better Business Bureau Certificate
  5. the client has its policy satisfied and therefore discloses the credit card
  6. the server has its policy satisfied and therefore discloses the resource

Trust negotiations can become very complex by allowing disjunctions and conjunctions of disclosures/credentials in the policies. Although in many cases they can be done automatically, it is often needed to inform/show the users how the negotiation proceeds. Moreover, in many cases, the users will also need to interact and make decisions. Therefore "visualization of trust negotiation" is an important issue to allow for support convenient for the user.

The goal of this Bachelor thesis is to

  • study several ways and concepts for the visualization of trust negotiation
  • implement an extension for the Protune System in Java applying these concepts (e.g., one view for each kind of visualization) and allowing for features such as
  • collapse/expand of nodes
  • zooming and navigation
  • integration of icons and images
  • replays of the negotiation in different views
Policy Driven Negotiation
Protune Policy Framework
Visualization for negotiations
Visualization packages

Planning Overview

  • Get familiar with the topics
  • Read the links listed above and check for more
  • Understand how trust negotiation works in general
  • Understand how Protune works in particular (i.e., which kind of messages are sent, what are the parameters playing a role in a negotiation)
  • Download the Protune sources and play around with the visualClient and visualServer demo application
  • Check the Java Visualization Toolkits, play around with them (at least one day for each toolkit you consider worth to check)
  • Check carefully which toolkit offers which features and decide for one toolkit
  • Write down all the things you understand in that phase in a way that you can reuse it for the final thesis
  • Develop a simple application showing some graph or tree for any toolkit you checked
  • Go to the existing visualization packages and understand what kind of information about the negotiation is provided in the interfaces
  • Investigate ways to visualize a trust negotiation, one more sequential (showing which event is sent when) and one more logical (showing the conditions needed for the disclosure of credentials)
  • Implement both approaches in a prototypical fashion: dummy events are created and visualized; no complex features so far (no images, no mouse handling, no zooming, etc) but a convenient layout of nodes and edges
  • Two suggestions of views to the trust negotiation process
  • Two prototypes
  • All decisions you take should be informally documented so that you can reuse the text for the final thesis
  • Connect your two views to the Protune Engine
  • Test how real events are visualized
  • Based on these tests improve the visualization
  • Implement the Zooming and Mouse Handling
  • Make the things look nice, integrate icons and images, implement the collapsing and expanding of nodes, replay
  • Create a "table of content draft" for the thesis and think about what to write where
  • The two improved and connected views of a trust negotiation
  • A very first thesis draft of the thesis
  • Connect the views so that one can switch easily from one to another
  • Write down your considerations and results in a thesis
  • Create junit tests to test your developments
  • Finalize the documentation of your software
  • Final software, documented and tested
  • Final thesis document



Last update on 26-May-2008 11:33 AM Home