|
@@ -0,0 +1,73 @@
|
|
|
+\documentclass[11pt,twoside,a4paper]{article}
|
|
|
+
|
|
|
+\usepackage{listings} % Include the listings-package
|
|
|
+
|
|
|
+\begin{document}
|
|
|
+\title{Integrating CertainTrust into OpenCCE}
|
|
|
+\author{Nikolaos Alexpoulos, CROSSING S1}
|
|
|
+\date{August 2016}
|
|
|
+
|
|
|
+\maketitle
|
|
|
+
|
|
|
+\section{About CertainTrust}
|
|
|
+CertainTrust is a robust Bayesian Computational Trust model for users and agents.
|
|
|
+It offers a mathematically sound implementation of a Bayesian probability model in order to assess the
|
|
|
+trustworthiness of agents in multi-agent systems. The system can calculate the expected trustworthiness of
|
|
|
+agents based on prior experience and can also combine evidence provided by other sources in statistically
|
|
|
+sound ways. (Finally, it also offers a user interface to visualize trust when user involvement is needed.)
|
|
|
+By providing CertainTrust as a task to OpenCCE we want to enable users and devices to enhance their security
|
|
|
+in high-risk environments.
|
|
|
+
|
|
|
+\section{Implementation}
|
|
|
+We have implemented OpenCCE as a Java project. More specifically, the whole fuctionality is encompassed in a
|
|
|
+single class (CertainTrust.java).
|
|
|
+The remainder of our classes support a graphical user interface intended to visualize trust in a user-friendly
|
|
|
+way.
|
|
|
+
|
|
|
+\section{Usage examples and rules}
|
|
|
+\subsection{Usage examples}
|
|
|
+The proposed use of our task consists of a CertainTrust object constructed to handle a single trust
|
|
|
+relationship. The constructor is reached by calling one of the \textit{createfromRS} or
|
|
|
+\textit{createfromTC} functions.
|
|
|
+After the constructor, the main and presumably more regularly used functionalities are
|
|
|
+implemented by the functions \textit{addR}, \textit{addS} and \textit{addU} that respectively add positive,
|
|
|
+negative and neutral
|
|
|
+evidence to the statistical model. Furthermore, there are a number of ways to combine CertainTrust objects
|
|
|
+by choosing a CertainLogic operator implemented in the functions from the set \{\textit{OR, AND, wFusion, cFusion}\}.
|
|
|
+\medskip \\
|
|
|
+A typical example of the use of the task could be the creation of a computational trust object and then the
|
|
|
+incorporation of evidence in the statistical model that leads to an extracted expectation value for
|
|
|
+the trustworthiness of the given agent. A small snippet is found below:
|
|
|
+\medskip
|
|
|
+\lstset{language=java}
|
|
|
+\begin{lstlisting}[frame=single]
|
|
|
+trustObject = CertainTrust.createDefault(N, name)
|
|
|
+trustObject.addR(posEvidence)
|
|
|
+trustObject.addS(negEvidence)
|
|
|
+expectation = trustObject.getExpectation()
|
|
|
+\end{lstlisting}
|
|
|
+
|
|
|
+\subsection{Rules}
|
|
|
+Rules regarding the use of CertainTrust address the correctness of the model and are provided as comments to
|
|
|
+each function implemented in the class. They are normally handled by exceptions, but a static analysis
|
|
|
+could have some benefit. Specifically, values t,c and f represent probabilities and so $\in[0,1]$.
|
|
|
+
|
|
|
+\section{Algorithms Model}
|
|
|
+CertainTrust in its current form does not offer any variability. The task, which could be named
|
|
|
+``Initialize CertainTrust Object'' is self-contained in the Java class of the same name. Providing different
|
|
|
+tasks for each operation on the trust objects and grouping them together could be an option, but
|
|
|
+is not considered practical at this point.
|
|
|
+
|
|
|
+\section{Questions for initialization}
|
|
|
+The main user choices during the initialization of the task concern the arguments of the
|
|
|
+\textit{createfromRS} and \textit{createfromTC}. More specifically, the user should be able to
|
|
|
+choose the name of the object, an initial (prior) trust value as well as the number N of adequate evidence. A detailed list follows:
|
|
|
+\medskip
|
|
|
+\begin{enumerate}
|
|
|
+ \item Give the \textbf{name} of the oject (e.g. ``John'', ``Bank'', etc.)
|
|
|
+ \item Give your perceived \textbf{initial trust value (t)} for the subject (default: t=0,5) - could be low/med/high or visualisation. Its effect dissolves while experiences are collected.
|
|
|
+ \item Give the \textbf{maximal expected number of evidence (N)}. That is the number of evidence that suffice to provide total certainty in the trust assessment. This parameter highly depends on the
|
|
|
+ context and the security assurances needed.
|
|
|
+\end{enumerate}
|
|
|
+
|
|
|
+\end{document}
|