OpenCCE.tex 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. \documentclass[11pt,twoside,a4paper]{article}
  2. \usepackage{listings} % Include the listings-package
  3. \begin{document}
  4. \title{Integrating CertainTrust into OpenCCE}
  5. \author{Nikolaos Alexpoulos, CROSSING S1}
  6. \date{August 2016}
  7. \maketitle
  8. \section{About CertainTrust}
  9. CertainTrust is a robust Bayesian Computational Trust model for user and agents.
  10. It offers a mathematically sound implementation of a Bayesian probability model in order to assess the
  11. trustworthiness of agents in multi-agent systems. The system can calculate the expected trustworthiness of
  12. agents based on its prior experience and can also combine evidence provided by other sources in statistically
  13. sound ways. (Finally, it also offers a user interface to visualize trust when user involvement is needed.)
  14. By providing CertainTrust as a task to OpenCCE we want to enable users and devices to enhance their security
  15. in high-risk environments.
  16. \section{Implementation}
  17. We have implemented OpenCCE as a Java project. More specifically, the whole fuctionality is encompassed in a
  18. single class (CertainTrust.java).
  19. The remainder of our classes support a graphical user interface intended to visualize trust in a user-friendly
  20. way.
  21. \section{Usage examples and rules}
  22. \subsection{Usage examples}
  23. The proposed use of our task consists of a CertainTrust object constructed to handle a single trust
  24. relationship. The constructor is reached by calling one of the \textit{createfromRS} or
  25. \textit{createfromTC} functions.
  26. After the constructor, the main and presumably more regularly used functionalities are
  27. implemented by the functions \textit{addR}, \textit{addS} and \textit{addU} that respectively add positive,
  28. negative and neutral
  29. evidence to the statistical model. Furthermore, there are a number of ways to combine CertainTrust objects
  30. by choosing a function from the set \{\textit{OR, AND, wFusion, cFusion}\}.
  31. \medskip \\
  32. A typical example of the use of the task could be the creation of a computational trust object and then the
  33. incorporation of evidence in the statistical model that leads to an extracted expectation value for
  34. the trustworthiness of the given agent. A small snippet is found below:
  35. \medskip
  36. \lstset{language=java}
  37. \begin{lstlisting}[frame=single]
  38. trustObject = CertainTrust.createDefault(N, name)
  39. trustObject.addR(posEvidence)
  40. trustObject.addS(negEvidence)
  41. expectation = trustObject.getExpectation()
  42. \end{lstlisting}
  43. \subsection{Rules}
  44. Rules regarding the use of CertainTrust address the correctness of the model and are provided as comments to
  45. each function implemented in the class. They are normally handled by exceptions, but a static analysis
  46. could have some benefit.
  47. \section{Algorithms Model}
  48. CertainTrust in its current form does not offer any variability. The task, which could be named
  49. ``Initialize CertainTrust Object'' is self-contained in the Java class of the same name. Providing different
  50. tasks for each operation on the trust objects and grouping them together could be an option, but
  51. is not considered practical at his point.
  52. \section{Questions for initilization}
  53. The main user choices during the initialization of the task concern the arguments of the
  54. \textit{createfromRS} and \textit{createfromTC}. More specifically, the user should be able to
  55. choose the name of the object, an initial (prior) trust value as well as the number N of adequate evidence.
  56. \end{document}