## 3 Integrated User-Oriented Framework
### End-User Application  
The first objective of the user application is to handle the basic operations of the production process with the print server. Additionally, when a new job is to be run, the Cloud Service is called upon to generate a new G-code, as mentioned above.  
The end-user application is carried out with the multiplatform framework Xam-arin.Forms within NET Standard 2.0 to provide more flexibility and adaptability to the maritime industries. Furthermore, being able to use the same application on different smart devices, such as mobile phones, tablets, or computers, makes the technology transfer  
Figure 3: IDEF0 of the whole slicing process (configure and slice).  
to the maritime industries more achievable, since they do not have to make a significant investment in additional equipment.  
Within the integrated service framework, this application is an approach to the MVVM (Model-View-ViewModel) pattern of software design architectures, where there are three differentiated components: Model, View and ViewModel. The first (Model) provides the data (files and properties) and web access; the ViewModel implements the commands (functions) that the View can execute working with the Model; and the View provides the presentation layer, which interacts with the user [69].  
Figure 4 shows the internal structure of the end-user app organized by the main elements.  
The user interacts directly on the View. Any action is notified to the ViewModel via \"commands\". Then, the ViewModel updates the Model and communicates with the other elements of the architecture. In reverse, any changes to the Model are notified to the View with the \"BindingContex\" property of the content pages. Thus the ViewModel does not need to update the changes. This notifying method allows independence of the user interfaces from the program logic, which is a key feature of applications based on the MVVM pattern.  
Figure 4 also shows that the user interface (View) is composed of four simple pages, as detailed below:  
* Control panel page: the current status of the manufacturing process is periodically monitored. It contains the most basic functional actions (start, stop, etc.) and access to successive pages.
* Slicing page: new print job setup page. Figure 5 specifies the activities carried out. When the user plans to make a new part, the first step is to configure the process in A0, based on the available materials and quality profiles. Subsequently, after attaching the STL of the part, this data is sent to the Cloud Service, which will carry out activity A1 (detailed in Figure 3, d A1.1 and A1.2 activities). The Local Service is responsible for carrying out the manufacture of the final part from the G-code generated (action A2).
* Printing page: direct printing without using the Cloud Service. This is possible for 3D printing parts that have already been sliced, as the G-code files are stored in the Local Service once they have been generated.
* Material selection page: available from the slicing page. It launches a material selection wizard to aid the user to select the most suitable material, as detailed below.  
Figure 4: MVVM approach on end-user application.