# Graphical User Interface for the Development of Probabilistic Convolutional Neural Networks
## 3 Interface Development  
The developed GUI was developed in three iterations by having first meetings with machine learning specialists to highlight which requisites they consider to be essential for the tool. A quality attribute workshop was then carried out by five specialists to vote on which requisites they consider relevant. The identified requisites, their attribute, and the number of votes were as follows:  
* The GUI should allow the examination of 1D and 2D data while keeping the option to easily integrate higher-dimensional data. Usability attribute voted as relevant by three specialists. * The GUI should have standard default parameters to help the inexperienced user. Usability attribute voted as relevant by three specialists. * The GUI should allow the default parameters to be changed and to easily add new elements to its code. Usability attribute voted as relevant by three specialists. * The GUI should allow the user to develop PM based on CNN for both regression and classification problems. Usability attribute voted as relevant by five specialists. * The GUI should allow the user to change the model's architecture. Usability attribute voted as relevant by two specialists. * The GUI should be responsive to the user commands, while requiring no coding from the user side to develop a model. Usability attribute voted as relevant by four specialists. * The GUI should provide the user with feedback when an error occurs, specifying the source of the error. Testability attribute voted as relevant by two specialists. Figure 11: Presentation of the “About” tab. Figure 10: Depiction of the “FAQ” tab, showing the required modules/libraries and the button for viewing the videos. * It should be possible to transition between any tab in less than 5 s. Performance attribute voted as relevant by four specialists. * When the training procedure finishes, the model and the performance results (training and testing) should be saved and made available for the user. Availability attribute voted as relevant by three specialists. * The GUI execution should be independent of the operating system. Interoperability attribute voted as relevant by two specialists. * The GUI should provide feedback to the user during the training procedure. Availability attribute voted as relevant by two specialists. * The GUI should provide the user with a list of all parameters that are going to be used to train the model. Usability attribute voted as relevant by two specialists. From the carried-out workshop, it was concluded that the main concerns focused on usability issues related to the graphical interface, i.e., how easy it is for the user to perform tasks. Therefore, the graphical user interface was developed to benefit the usability quality attribute the most. The second iteration was a discussion with GUI specialists on how to properly present all functionalities while using a simple functionality-oriented interface. After defining the desired entity-relationship model and the use case diagram, a navigation map was proposed with six main scenarios as depicted in Figure 12. These scenarios were as follows:  
* Scenario 1: represents the beginning of the GUI; information is displayed to guide the user in the process of using the GUI. * Scenario 2: presents the most frequent questions regarding the use of the GUI. * Scenario 3: contains the GUI development information. * Scenario 4: in this scenario, the parameters for the model must be inserted; the parameters differ for different datasets, being possible to choose the model with predefined architecture or create a model with the architecture defined layer by layer. * Scenario 5: after choosing or editing the model, it is possible to proceed to the training procedure, developing the desired model. * Scenario 6: in this scenario, it is possible to observe the results in different ways. Figure 12: Navigation map developed for the GUI. Low- and high-fidelity prototypes were made with the specialist during this second iteration.