PSI - Issue 44
Agnese Natali et al. / Procedia Structural Integrity 44 (2023) 2012–2019 Agnese Natali et al. / Structural Integrity Procedia 00 (2022) 000–000
2018
7
using the Angular Framework, which makes it easier to organize it in services to manage state and components used for data entry and presentation. The backend is a RESTful server implemented using the NestJS framework; it persists the data on MongoDB, an industry-standard document-oriented database. The server can be deployed on premise by an organization (thus promoting data segregation), or hosted by an external provider. The application is designed ground-up to be amenable to so-called detached operations, so that it can be operated both with and without an Internet connection. In particular, by using Progressive Web App technologies, any data input by inspectors while in out-of-reach areas (i.e., during inspection of bridges in remote locations) can be automatically and transparently synchronized on the server at the first opportunity, i.e. as soon as the device is back in an area with cellular connectivity. The user interface is designed according to the principles of Responsive Web Design (RWD), i.e. the layout auto adapts the component sizes and the input methods, allowing a smooth user experience on both desktop and tablet devices. This requires taking into account that tablet and desktop devices have different interactions, based primarily on the input device (touchscreen for the tablets and the mouse for the desktop). Additionally, the forms used to collect data hark back to the original paper-based layout when possible, to make it easier for the user to recognise the form fields. On the other hand, when the screen space is insufficient (i.e. on tablets) the layout changes to In order to guarantee the strictest adherence to the legally-binding guidelines, the computation of the WaC is performed by executing a formal specification of the guidelines expressed in a domain-specific language we have developed and implemented for the specific purpose. In this language, the most common operations from the Guidelines (e.g.: conditional reasoning, tables look-up, distinction by range of values, preference for a more precise measurement from Level 1 over an approximate estimate from Level 0, etc.) are implemented as operators, and the entire computation is expressed as a (very large) expression tree. Each node in the tree represents an intermediate step of the computation, and is associated with a specific name (when provided in the Guidelines), and with a precise reference to the legal document (paragraph number, table reference, etc.). Determining a WaC for a bridge is thus executed as an evaluation of the expression tree, using as input the data available to the application in a given moment. It is especially important that every intermediate results is available (it can be inspected at will, and potentially changed under the responsibility of the operator 1 ), explainable (since the way it was obtained can be fully presented to the user, in the same terms used in the Guidelines), and traceable (since every new value is permanently stored, and the full history of changes can be later traced back to the circumstances that motivated a change). In addition, the WaC is updated in real-time, on every change of input data. As part of the explainability features, the system can provide a list of input data that have actually been used in the determination of a LoA, as well as a list of additional data items that have not been provided, and yet would allow a more precise determination if these would be available. Thus, the explanation of how the WaC is determined also includes suggestions on how to obtain a better estimate (by providing specific additional data), as well as an indication of how data collection could be made more efficient (by omitting the collection of data that is not used in the determination of a LoA). 4.3. Security As previously said, users of the application are organized in a hierarchical structure which allows supervisors to manage their team members. Specifically, each user is granted a set of capabilities (such as read, read/write, full management) over some resources, such as the data for a specific bridge. All of the communications between the application components are protected with state-of-the-art encryption techniques, to guarantee that data is never exposed to unauthorized parties and that it cannot be tampered with. Every information provided by the users and the computations of the WaC are logged in append-only mode. This guarantees immutability and allows the systematic versioning of any value added or produced by the system. accommodate the form fields. 4.2. Computational mechanism
1 Although the current version of the software does not allow for such human override.
Made with FlippingBook flipbook maker