# An Open Source Framework Approach to Support Condition Monitoring and Maintenance
## 5 The Solution  
Figure 5 illustrates the high-level conceptual model of the architecture proposed, which is based on MIMOSA. On the left part of the figure, we are representing Arrowhead Field level Local Cloud 1, which supports the communication between IoT sensors and machines with MIMOSA compliant databases. The data are related to multiples sources, such as bearing data or machine status data collected from their I/O ports. This local cloud contains the mandatory Arrowhead services, which in their turn support the producers and consumers of data by means of, for example, the Service Registry system, to allow to search for the data producers and consumers as well as the Authorization system, which contains the security credential for each one of them. Finally, the rules on how to connect application services are contained on the Orchestration System. The local cloud division allows to  
effectively isolate this part of the network from the rest, which is usually composed of devices with low performance, low-security capabilities and where the update of its software can be difficult or even impossible, therefore it is of paramount importance to protect this part of the system. These sensors store their data in the Time Series Databases, which are more capable of withstanding the data rates of the sensors. These data are then processed and stored on structured MIMOSA-compliant databases, ready for analysis. Business logic and analytics services are hosted on server computers where different machine learning algorithms can be executed effectively, generating analytical data for higher-level decision-making. Finally, the last tier is the client machines, where the visualization of data can be performed by maintenance engineers. This part of the system is also isolated through an Arrowhead local cloud (Local Cloud 2), with the same set of functionalities as defined for Local Cloud 1. This Arrowhead local cloud supports different protocols. Although the local cloud concept isolates the two networks, it also provides through its Gatekeeper system the capability for the maintenance engineers to access online data from the sensors, e.g., for the testing of machines. In fact, the communication, mediated by the Gatekeepers, can flow between the systems in the two local clouds in a transparent manner. The proposed approach aims to leverage open source technologies to lower the entrance barrier to advanced maintenance. Current developments on all the modules required for the solution allowed to focus on the development environment of the Python programming language. In fact, many APIs were developed by the community to serve a plethora of purposes in Python, spanning from numerical analysis to high-performance computation to secure communication and integration into an Arrowhead solution. Our prototype was built on top of existing open source libraries to create a preliminary ecosystem of services to realize the maintenance application. For other components, our novel system was integrated with existing open source components developed in other programming languages and around other frameworks. This was facilitated by the SOA approach, which empowers components with inherent  
Figure 5: A conceptual model of the solution, based on MIMOSA. interoperability based on the formal definition of service interfaces between the interacting systems, which is one of the tenants of SOA in general, and of the Arrowhead approach in particular.