# IoT-Aware Architecture to Guarantee Safety of Maintenance Operators in Industrial Plants
## 4 System Requirements
### Requirements
The motivation behind this requirement resides in the current state of the art: the current regulations only require to adequately inform the operators about the procedure to be followed and each foreseen step, therefore there is no live control of the real performing of each operation and it is always difficult to guarantee their respect. This requirement is linked with FR9. FR6. allow the acquisition of messages from the machinery (when it is on). This requirement is, instead, derived from the needs highlighted by the analyzed related works. On another hand, all the following requirements (from FR7 to FR10) have the same motivation and are derived from the same need of innovating the measures currently used to guarantee the respect of all the rules and security procedures, as reported by the EU commission staff working document on Health and Safety at Work is Everybody's Business [28] that recommend a modernization of EU occupational safety and health policy, tools, and legislation. In fact, at the moment of writing, as stated by [2], all the following requirements are fulfilled simply by providing written procedures and their satisfaction is only a duty of the operator who is supposed to be responsible for following every rule. Consequently, a system able to guide and support these operations shall be welcomed. Furthermore, the domain in which the works operate hardly influences the requirements themselves and the following list focused on the industrial plants has been inspired by the OiRA sectoral tools web platform [29] that is the result of a European project and provides information on risk analysis tools for workers specialized on specific risk assessment. FR7. allow the operator to perform tests on the machinery within the maintenance process. FR8. allow the operator to have realtime communication with the supervisor during maintenance. FR9. guarantee to administrators and supervisors to define the steps of each procedure and, then, monitor, in real-time, the correct execution of all the steps. FR10. be able to promptly notify dangerous situations to all the workers involved in the maintenance procedures. In addition, we have extracted the Non-Functional Requirements to be guaranteed by a safety-dedicated system from the review reported by [30] that presents the software systems' quality attributes, i.e., Non-Functional Requirements, that are mostly treated by software architects and developers. Starting from their analysis we have identified the Non-Functional Requirements that are most important in a system that aims at guaranteeing safety in an industrial environment. The following list summarizes all of them. NFR1. Security: The system should assure that all the manipulated data and the interactions among each component of the system are protected against malware attacks or unauthorized access. At the time of writing, the official regulation standards lack specific rules dedicated to security measures to be taken into account in designing safety machine tools, and, in fact, it is going to be introduced in the new version of the dedicated Directive. NFR2. Usability: The system should expose user-friendly interfaces to improve user experience and facilitate the exploitation of exposed services during critical situations. It is a really important requirement that interferes with the acceptance of innovations by the workers. NFR3. Performance: The system should guarantee the reactivity of the whole infrastructure to allow prompt interactions and instructions for and with workers. NFR4. Reliability, Availability, and Maintainability: The system should be able to expose services without failures and guarantee minimum recovery time. NFR5. Scalability: The system should support the increasing number of pieces of machinery and operators.