Our device proposes different game modes to allow for constant skill improvement and entertainment. To further improve the device’s user experience we provide a voice recognition feature for the user to interact with the device remotely and a Graphical User Interface (GUI), shown in Figure 2. We also provide an automatic point recording feature so that the need to keep track of the points is eliminated, and the user can just have fun without a headache.
Throughout the project, we used a divide-and-conquer approach at the system level, and strictly limited the interface between the electro-mechanical subsystems with the software-based subsystems. Following the same approach, we have also divided the software-based subsystems into two groups, which we named SMDM Subsystems and SP Subsystems. With this strategy, we have decreased the dependencies between subsystems and identified a hierarchical structure. We believe that this method of structuring facilitates the testing and dividing of the workload process by decreasing the amount of different technical fields that are required for the construction of each subsystem. The communications and integration structures of the subsystem clusters are detailed in Figure 3. As can be observed from the figure, the Electro-Mechanical Subsystems cluster has a variety of signals/interfaces between it and SMDM subsystems. The variance in the signal types between those two subsystem clusters comes from the possible variances in electro-mechanical devices that the team might utilize depending on the implementation challenges and subsystem backup plans. The SMDM subsystems will receive commands from the Action Taker Subsystem employing HyperText Transfer Protocol (HTTP) requests. This communication protocol is chosen for its simplicity and availability for possible extensions. This protocol will connect the user space algorithms of the customer device and SMDM subsystems. Finally, for inner communication between DMS subsystems pipes or similar file/stream-like interfaces will be used since it is expected that those subsystems will have to operate in a concurrent or pseudo-concurrent fashion.