Machine-learning framework for testing feedback controller robustness
A method includes receiving a subject-matter expert (SME) interpretable model. The method further includes converting, by a processing device, the SME interpretable model into a functional mockup unit (FMU). The method further includes integrating the FMU into a control software project (CSP). The method further includes compiling the CSP into binary code.
1. A method, comprising:
receiving a subject-matter expert (SME) interpretable model;
converting, by a processing device, the SME interpretable model into a functional mockup unit (FMU);
integrating the FMU into a control software project (CSP);
compiling the CSP into binary code;
testing a robustness of a feedback controller against reconstruction based on the binary code, wherein testing the robustness of the feedback controller against reconstruction comprises:
transforming the binary code into high-level code using a neural decompiler; and
processing a low-level abstract syntax tree (AST) corresponding to the high-level code using a natural language processing (NLP)-based transformer to produce a high-level AST.
2. The method of claim 1 , wherein the SME interpretable model is based on a Modelica language.
3. The method of claim 1 , wherein to convert the SME interpretable model into the FMU the method comprises using a functional mockup interface (FMI) standard.
4. The method of claim 1 , wherein the CSP is expressed in C++ source code.
5. The method of claim 1 , further comprising providing the binary code as training data to a machine learning model trained to reconstruct a firmware of the feedback controller.
6. The method of claim 1 , further comprising:
generating a test SME interpretable model from the high-level AST;
analyzing the test SME interpretable model for syntax errors; and
comparing the test SME interpretable model to the SME interpretable model to determine inconstancies.
7. A system comprising:
a memory to store binary code; and
a processing device, operatively coupled to the memory, to:
receive a subject-matter expert (SME) interpretable model;
covert the SME interpretable model into a functional mockup unit (FMU);
integrate the FMU into a control software project (CSP);
compile the CSP into the binary code;
transform the binary code into high-level code using a neural decompiler;
process a low-level abstract syntax tree (AST) corresponding to the high-level code using a natural language processing (NLP)-based transformer to produce a high-level AST; and
test a robustness of a feedback controller against reconstruction based on the binary code.
8. The system of claim 7 , wherein the SME interpretable model is based on a Modelica language.
9. The system of claim 7 , wherein to convert the SME interpretable model into the FMU the processing device is further to use a functional mockup interface (FMI) standard.
10. The system of claim 7 , wherein the CSP is expressed in C++ source code.
11. The system of claim 7 , the processing device further to provide the binary code as training data to a machine learning model trained to reconstruct a firmware of the feedback controller.
12. The system of claim 7 , wherein to test the robustness of the feedback controller against reconstruction, the processing device is further to:
generate a test SME interpretable model from the high-level AST;
analyze the test SME interpretable model for syntax errors; and
compare the test SME interpretable model to the SME interpretable model to determine inconstancies.
13. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed by a processing device, cause the processing device to:
receive a subject-matter expert (SME) interpretable model;
covert, by the processing device, the SME interpretable model into a functional mockup unit (FMU);
integrate the FMU into a control software project (CSP);
compile the CSP into binary code;
transform the binary code into high-level code using a neural decompiler;
process a low-level abstract syntax tree (AST) corresponding to the high-level code using a natural language processing (NLP)-based transformer to produce a high-level AST; and
test a robustness of a feedback controller against reconstruction based on the binary code.
14. The non-transitory computer-readable storage medium of claim 13 , wherein the SME interpretable model is based on a Modelica language.
15. The non-transitory computer-readable storage medium of claim 13 , wherein the CSP is expressed in C++ source code.
16. The non-transitory computer-readable storage medium of claim 13 , the processing device further to provide the binary code as training data to a machine learning model trained to reconstruct a firmware of the feedback controller.
17. The non-transitory computer-readable storage medium of claim 13 , wherein to test the robustness of the feedback controller against reconstruction, the processing device is further to:
generate a test SME interpretable model from the high-level AST;
analyze the test SME interpretable model for syntax errors; and
compare the test SME interpretable model to the SME interpretable model to determine inconstancies.