## 2 Materials and Methods
### Model Implementation  
Our ABMS model was implemented in the Repast Simphony platform, an open-source framework for simulating agent-based systems. We use Repast Simphony Version 2.7 on a 4-core Windows machine with 8 gigabytes of RAM and a speed of 1.5 GHz. Repast Simphony is based on object-oriented programming principles and provides a broad toolkit for effectively modeling and analyzing dynamic systems. Its open-source nature allows collaboration with other modelers, and compatibility across different operating systems is ensured by its Java-based design. Moreover, organized and modular model development is facilitated by Repast Simphony, which is deemed essential for complex simulations. The platform's scalability accommodates simulations on various scales. For a broader overview, Figure 2 presents the components of our model, and Figure 3 exhibits a rough blueprint of the syndicated classes and their interactions. Note that, In Figure 3, the asterisk (\(*\)) symbol is used to represent multiplicity in a relationship between two classes. Multiplicity indicates the number of instances of one class that can be associated with instances of another class. The ABMS is divided into seven modules, each one of them responsible for a specific task. The central module, simulation, is in charge of orchestrating the model's execution. Plainly, the aforementioned building block interacts with other peer constituents to set up the model and manage scheduled events. On the other hand, one of the initial configuration tasks is loading all the necessary data, which is, by the way, the data loader module's job. Pointedly, the former module is in command of accessing external data sources and \begin{table}
\begin{tabular}{c c c} \hline \hline
**Element** & **Brief Description** & **Distribution** \\ \hline \multirow{3}{*}{Lunchtime} & This random variable describes & \multirow{3}{*}{_Uniform_\((11.5,14)\)} \\  & the moment an agent haves lunch & \\  & on a particular day. & \\ \hline \multirow{3}{*}{Lunch duration} & This random variable describes & \multirow{3}{*}{_Normal_\((u=0.66,\sigma=0.16)\)} \\  & the duration in hours of an & \\  & agent’s lunch. & \\ \hline \multirow{3}{*}{Arrival shift to an academic activity} & This random variable describes & \multirow{3}{*}{_Normal_\((u=0.16,\sigma=0.08)\)} \\  & the number of minutes the & \\  & student arrives before a given & \\  & activity. & \\ \hline \multirow{3}{*}{Vehicle usage} & This random variable describes & \multirow{3}{*}{_Bernoulli_\((p)\)} \\  & the probability of an agent having a vehicle. & \\ \hline \multirow{3}{*}{Walking speed} & This random variable describes an & \multirow{3}{*}{_Uniform_\((70,100)\)} \\  & agent’s walking speed (meters per minute). & \\ \hline \multirow{3}{*}{Groups to enroll} & This random variable describes & \multirow{3}{*}{_Binomial_\((n=7,p=0.71)\)} \\  & the number of groups an agent & \\  & enrolls in. & \\ \hline \multirow{3}{*}{Exposure probability} & This random variable describes & \multirow{3}{*}{Equation (2)} \\  & the probability a susceptible & \\  & individual getting exposed to the & \\ \hline \multirow{3}{*}{Incubation period} & This random variable describes & \multirow{3}{*}{Equation (3)} \\  & the length of the incubation & \\  & period in days. & \\ \hline \multirow{3}{*}{Patient type} & This random variable describes & \multirow{3}{*}{Equation (4)} \\  & the probability of an agent & \\  & becoming each patient type. & \\ \hline \multirow{3}{*}{Death decision} & This random variable describes & \multirow{3}{*}{Equation (5)} \\  & the probability of an agent dying & \\  & from COVID-19. & \\ \hline \multirow{3}{*}{Time to discharge} & This random variable describes & \multirow{3}{*}{Equation (6)} \\  & the number of days for an agent to & \\ \cline{1-1}  & recover or die from the disease. & \\ \hline \hline \end{tabular}
\end{table} 
Table 5: Summary of main stochastic elements of the model. transforming them into Plain old Java objects (POJOs).