The MVDA module is an addition to the Data Computation Platform (DCP) and introduces multivariate statistical methods for process monitoring to DCP. The MVDA module is focused on batch process data which is analyzed by applying PLS and PCA to the datasets.
In the current implementation MVDA is based on .NET (v. 8) in the backend and Angular (v.11) in the frontend.
MVDA relies on .NET and builds on top of the ASPNET Core MVC template for providing an API. Services are implemented using the Background Worker as a base template. As for DCP framework the MVDA module is using a Message Broker for module integration and a Secret Configuration Provider.
.NET The system operates on top of .NET 8.0 and requires:
Message Broker
As the other modules of DCP, also MVDA interacts with a central instance of a Message Broker. The Message Broker functionality is encapsulated in an abstraction layer provided by the DCP.Framework NuGet package. The default registered MessageBroker instance is utilizing RabbitMQ. In cases the message broker should be replaced - the interface needs to be implemented and the component registration via dependency injection should be changed.
\newpage
Secret configuration storage
As the other modules of DCP, also MVDA interacts with a central secret configuration storage. This functionality is encapsulated in an abstraction layer provided by the DCP.Framework NuGet package. The default registered SecretConfigurationStorage instance is utilizing Hashicorp Vault. In cases the vault should be replaced - the interface needs to be implemented and the component registration via dependency injection should be changed. The replacement could use any kind of storage (file based or other providers e.g. Azure Key-Vault).
The project is based on Angular 11 as a framework, NGRX as a state manager and as UI libraries use Kendo UI and Angular Material.
The project has a couple of main dependencies:
NPM libraries
MVDA as many of the others DCP Frontend Applications is using NPM as a package manager. The main dependencies are:
Web Components
MVDA is using couple of web components, also used by other DCP Frontend Applications:
Frontend modules
The shared logic between DCP Frontend Applications are separated in a couple of modules, that are used as git submodules inside the applications. Here is the list of used modules:
MVDA uses the Analytical Core of Digital Clone (AC-DC) to perform mathematical calculations. The acdcMvda package implements all statistical methods (e.g. Graham-Schmid normalization, NIPLAS during the fit from scratch without external dependencies). However the package relies on some DCP internal packages:
Other important third party packages used: