# MBSE Testbed for Rapid, Cost-Effective Prototyping and Evaluation of System Modeling Approaches
## 3 Results
### Implementation Architecture  
Figure 11 provides the implementation architecture of the testbed. As shown in the figure, a private cloud interfaces with virtual simulation, physical component simulation, modeling tool, ontology representation, user interface, and analysis tool. Figure 11: Testbed implementation architecture. Figure 10: UAV trajectory visualization. A ground-vehicle obstacle-avoidance scenario comprising multiple models was developed to demonstrate the utility and use of the testbed. This relatively simple scenario is used to demonstrate the integration of testbed components needed for model validation. In this simple scenario, an autonomous vehicle has to drive safely behind another vehicle (which is viewed as a potential obstacle from a modeling perspective). The obstacle-avoidance scenario is represented by a state machine diagram in SysML (Figure 12). In this example, we define maintaining a distance of three meters as the safe distance between the two vehicles. Figure 12 shows that no action is taken when the vehicles are at least three meters apart. A transition occurs to the ActionState when the gap is less than three meters. The SysML model is mapped to the 3D virtual environment. For this mapping, a Python XMI translation tool automatically populates the asset container in Unity 3D from SysML models. Objects in Unity 3D are stored in an asset container. Figure 13 presents the architecture of the SysML to 3D virtual environment translation. Figure 13 displays the SysML block definition diagram for the obstacle-avoidance scenario context. This diagram presents various entities that are part of the scenario. The blocks in the diagram are arranged under the \"ScenarioEntities\" package. The structured packaging of SysML model entities facilitates the extraction of model elements. As shown in Figure 13, car, road, and obstacle-car blocks are extracted from the scenario context SysML model. These block names are then matched with existing 3D objects in the repository. When a match is found, the object is duplicated from the repository to the asset container of the 3D virtual environment. When a matching 3D object is not present in the repository, the translation program creates an empty object in the asset container. For example, in Figure 13, because the \"obstacle car\" car object is not present in the 3D repository, an empty object is created in the asset repository. Users can further model the 3D object as per requirement. Here, the car object is duplicated to create the obstacle-car object. The user can employ the asset container to populate objects in the Unity 3D simulation. In case of a change to the SysML model, a refresh function triggers the translation program to update the asset container. A user can further customize 3D objects in the virtual environment and then populate additional objects and behaviors from the repository. Figure 12: SysML high-level-state machine diagram for obstacle avoidance. Waypoint-following behavior is assigned to the front vehicle in Unity 3D. A set of points and respective velocities to be followed by front vehicle are then assigned. The simulation generates navigation areas and trajectories for a given safe distance. During the 3D simulation, we discovered that safe distances vary based on the velocities of the vehicles, which can impact the navigation area and trajectories. We conducted experiments that varied safe-distance values and vehicle velocities to assess the impact on navigation area and possible trajectories of the autonomous vehicle. Initially, for small values of safe distance, the autonomous vehicle has multiple paths to navigate around an obstacle, but as the safe distance between vehicles is increased, the safe navigation area around the vehicle shrinks. Figure 14 shows simulation results of changing the safe distance on navigation area around the obstacle. As expected, the simulation showed that the navigation area for the autonomous car shrinks when the front vehicle moves relatively slower.