Search based approach for generating controller models

US11977868B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11977868-B2
Application numberUS-202217568585-A
CountryUS
Kind codeB2
Filing dateJan 4, 2022
Priority dateJan 4, 2022
Publication dateMay 7, 2024
Grant dateMay 7, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method includes obtaining a binary code of a controller. The method also includes decompiling the binary code of the controller to generate a source code. The method further includes generating one or more abstract syntax trees based on the source code. The method further includes generating an interpretable model based on the one or more abstract syntax trees. The interpretable model is interpretable by subject matter experts.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of generating an interpretable model for a controller, the method comprising: decompiling a binary code of the controller; generating a source code based on the binary code of the controller; generating one or more abstract syntax trees based on the source code, wherein generating the one or more abstract syntax trees based on the source code comprises generating a first set of code-level abstract syntax trees based on the source code, wherein the generating the first set of code-level abstract syntax trees further comprises identifying a set of mathematical primitives of the source code; and generating, by a processing device, the interpretable model based on the one or more abstract syntax trees, wherein the interpretable model is translatable to binaries by mapping into a language different from that of the interpretable model by a standard that defines a container and an interface to exchange dynamic models, and language encoding control behaviors of the controller. 2. The method of claim 1 , wherein generating the one or more abstract syntax trees further comprises: generating a second set of model-level abstract syntax trees based on the first set of abstract syntax trees. 3. The method of claim 2 , wherein generating the first set of abstract syntax trees based on the source code further comprises: generating the first set of abstract syntax trees based on the mathematical primitives. 4. The method of claim 3 , wherein the set of mathematical primitives is identified based on a rule-based classifier or a machine learning based classifier. 5. The method of claim 1 , further comprising: generating second binary code based on the interpretable model; and testing the second binary code based on a set of tests and the binary code. 6. The method of claim 5 , wherein generating the second binary code comprises: converting the interpretable model into a functional mockup unit (FMU); integrating the FMU into a control software project (CSP); and compiling the CSP into the second binary code. 7. The method of claim 6 , wherein converting the interpretable model into the FMU comprises using a functional mockup interface (FMI) standard. 8. The method of claim 6 , wherein the CSP is expressed in source code. 9. The method of claim 6 , wherein the interpretable model is based on a Modelica language. 10. A system of generating an interpretable model, the system comprising: a memory to store a binary code of a controller; and a processing device, operatively coupled to the memory, to: decompile the binary code of the controller; generate a source code based on the binary code of the controller; generate one or more abstract syntax trees based on the source code by generating a first set of code-level abstract syntax trees based on the source code, wherein the generating the first set of code-level abstract syntax trees further comprises identifying a set of mathematical primitives of the source code; and generate the interpretable model based on the one or more abstract syntax trees, wherein the interpretable model is translatable to binaries by mapping into a language different from that of the interpretable model by a standard that defines a container and an interface to exchange dynamic models, and language encoding control behaviors of the controller. 11. The system of claim 10 , wherein to generate the one or more abstract syntax trees the processing device is further to: generate a second set of model-level abstract syntax trees based on the first set of abstract syntax trees. 12. The system of claim 11 , wherein to generate the first set of abstract syntax trees based on the source code the processing device is further to: generate the first set of abstract syntax trees based on the mathematical primitives. 13. The system of claim 12 , wherein the set of mathematical primitives is identified based on a rule-based classifier or a machine learning based classifier. 14. The system of claim 10 , wherein the processing device is further to: generate second binary code based on the interpretable model; and test the second binary code based on a set of tests and the binary code. 15. The system of claim 14 , wherein to generate the second binary code the processing device is further to: convert the interpretable model into a functional mockup unit (FMU); integrate the FMU into a control software project (CSP); and compile the CSP into the second binary code. 16. The system of claim 15 , wherein to convert the interpretable model into the FMU comprises using a functional mockup interface (FMI) standard. 17. The system of claim 15 , wherein the interpretable model is based on a Modelica language. 18. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed by a processing device, cause the processing device to: decompile a binary code of a controller; generate a source code based on the binary code of the controller; generate one or more abstract syntax trees based on the source code by generating a first set of code-level abstract syntax trees based on the source code, wherein the generating the first set of code-level abstract syntax trees further comprises identifying a set of mathematical primitives of the source code; and generate an interpretable model based on the one or more abstract syntax trees, wherein the interpretable model is translatable to binaries by mapping into a language different from that of the interpretable model by a standard that defines a container and an interface to exchange dynamic models, and language encoding control behaviors of the controller. 19. The non-transitory computer-readable storage medium of claim 18 , wherein generating the one or more abstract syntax trees comprises: generating a second set of model-level abstract syntax trees based on the first set of abstract syntax trees. 20. The non-transitory computer-readable storage medium of claim 19 , wherein generating the first set of abstract syntax trees based on the source code comprises: generating the first set of abstract syntax trees based on the mathematical primitives.

Assignees

Inventors

Classifications

  • G06F8/44Primary

    Encoding · CPC title

  • electric · CPC title

  • Decompilation; Disassembly · CPC title

  • G06F8/75Primary

    Structural analysis for program understanding · CPC title

  • model driven · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11977868B2 cover?
A method includes obtaining a binary code of a controller. The method also includes decompiling the binary code of the controller to generate a source code. The method further includes generating one or more abstract syntax trees based on the source code. The method further includes generating an interpretable model based on the one or more abstract syntax trees. The interpretable model is inte…
Who is the assignee on this patent?
Palo Alto Res Ct Inc, Xerox Corp
What technology area does this patent fall under?
Primary CPC classification G06F8/44. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 07 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).