# Evaluation of a Reputation Management Technique for Autonomous Vehicles
## 5 Experimental Design
### Model Initialization  
The process begins with the distribution of vehicle statuses, based on the given proportion of normal vehicles. For all non-normal vehicles, three equally sized subsets are made, consisting of malicious reporting, malicious operating, and complete malicious vehicle statuses. Each of these statuses corresponds to a different state of actions, when broadcasting and witnessing transactions.  
1. Normal: A vehicle that broadcasts credible transactions and, as a witness, scores transactions accurately.
2. Malicious Operating: A vehicle that broadcasts non-credible transactions and, as a witness, scores transactions accurately.
3. Malicious Reporting: A vehicle that broadcasts credible transactions and, as a witness, scores transactions inaccurately.
4. Complete Malicious: A vehicle that broadcasts non-credible transactions and, as witness, scores transactions inaccurately.  
The system iterates through the array of vehicles and each node is instantiated with a default operating and reporting credibility, based on its status. Additionally, an array storing all active RSUs is created. For experimental purposes, only one RSU was initialized. The simulation operates under a turn-based structure, for a number of turns given at initialization. For each turn, a randomly generated floating point value is used to determine if a maneuver-event or sensing-based report will occur; if so, subsequent probabilistic determinations control whether a malicious or normal vehicle will broadcast the transaction.  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Parameter Name** & **Data Type or** & **Description** & **Default Value** \\ \hline velocity & Floating point number (0.0–1.0) & Describes how much weight to give to the most recent transaction & 0.1 \\ \hline byWitnessRep & Boolean & Whether to calculate transaction scores based on the reputation of witnesses & False \\ byNumWitnesses & Boolean & Whether to calculate vehicle reputation based on the number of witnesses & False \\ propMalicious & Floating point number (0.0–1.0) & Describes what proportion of vehicles are initialized in the malicious status & 0.1 \\ broadcastNoise & Floating point number (0.0–1.0) & Describes how much noise is involved in the credibility of a broadcasted message & 0.05 \\ \hline witnessNoise & Floating point & Describes how much noise is involved in the accuracy of witnesses scoring transactions & 0.05 \\ numVehicles & Integer number & Total number of vehicles in the system & 100 \\ minRecipients & Integer number & Minimum number of recipients for each transaction (must be less than numVehicles) & 10 \\ maxRecipients & Integer number & Maximum number of recipients for each transaction (must be less than numVehicles) & 20 \\ propWitness & Floating point & Proportion of recipients who are designated as witnesses & 0.5 \\ useMalOp & Boolean & Whether to include malicious operating vehicles in the system & False \\ useMalRep & Boolean & Whether to include malicious reporting vehicles in the system & False \\ useQuartiles & Boolean & Whether to have witnesses score transactions with quartiles (otherwise binary) & False \\ numTurns & Integer number & Number of turns the simulation should run for & 5000 \\ percTrans & Floating point number (0.0–1.0) & Probability for a turn to include a transaction & 0.9 \\ percNormalTrans & Floating point number (0.0–1.0) & Probability for a transaction to be broadcasted by a normal vehicle as opposed to malicious (must be less than percTrans) & 0.8 \\ \hline \hline \end{tabular}
\end{table}
Table 3: Simulation parameters.