# Data-Driven Approach for Defining Demand Scenarios for Shared Autonomous Cargo Bike Fleets +
## 3 Simulation Testbed of OSABS  
Notable tools for gaining knowledge on the operational facets of novel systems are simulation models. In order to understand the workings and requirements of our OSABS simulation model and hence allow for a more informed appreciation of the proposed methodology for defining demand scenarios, this section briefly outlines the simulation testbed of OSABS. A more detailed description of the implementation of the modular OSABS simulation model as well as the underlying conceptual model are presented by [PERSON] et al. [18] and [PERSON] et al. [17], respectively.  
For the implementation of the agent-based simulation testbed, we used the Anylogic simulation software (Professional edition 8.6). Figure 2 depicts the agents and their interactions in the simulation environment. In the simulation model, every component of the OSABS system acts as an agent and interacts with other agents to perform the behavioral and operational tasks of the overall system. For the simulation study, we consider the city of Magdeburg as our operational area.  
The individual agents shown in in Figure 2 are briefly described as follows.  
Main agent: As the model's main environment, the functions of the Main agent are as follows:  
* Acting as a communication channel for other agents to interact.
* Fetching the demand data from a database using the demand module. For our model, we used an AWS database to store all generated demand scenarios and created a custom interface to access and fetch the data from the database.
* Acting as custom input interface for business input and choosing order management algorithms and energy supply strategies.
* Handling the animation view of various system components such as ADCB, waiting and charging stations, and customer population on the GIS map of the simulation environment.
* Visualizing the KPI dashboard of the entire system.  
Customer agent: The \"createusers(0)\" function from the Main agent populates Customer agents based on the demand data into the simulation environment. While entering the system, a Customer agent creates an order request for an ADCB. The request is forwarded to the Order management module.  
Order management: This module consists of matching, rebalancing, and route calculation algorithms. The matching algorithm assigns an ADCB to the customer and creates a custom autonomous route. The rebalancing agent calculates the imbalance of bikes in various regions and sends the available bikes to the demand locations. An investigation of different fleet management strategies is provided by [PERSON] et al. [58].  
ADCB agent: The ADCB agent is modeled with the behavior of autonomous driving capability. The assigned ADCB is activated with the instructions from the Order management to serve a specific customer. The ADCB agent interacts with the rebalancing, Customer,  
Figure 2: Interaction between agents within the simulation model.  
WaitingStation, and ChargingStation agents to follow the behavioral operation of the OSABS system.  
WaitingStation and ChargingStation agents: After the ADCB completes its trip, it drives autonomously to the waiting or charging station, depending on the battery status. In this study, we consider no infrastructure for the waiting station and infrastructure for the charging station based on the type of energy supply used for the ADCB. Different station distribution strategies are presented in [59].  
Simulation Model Animation Window: Figure 3 shows the operational view of our simulation model with ADCB driving within the operational area. Also, the animation contains charging stations and waiting stations with idle ADCB.