IP Library Granted Patent US 11,586,935
Granted Patent B2
US 11,586,935 · App. 16/469,055 · Granted Feb 21, 2023

Systems and methods to semantically compare product configuration models

Inventors: Martin Richard Neuhäußer (Nuremberg, DE); Gabor Schulz (Fürth, DE)
Assignee: Siemens Industry Software Inc.
G06N5/006G06F17/16G06F30/00G06N5/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,586,935
App. No.
16/469,055
Granted
Feb 21, 2023
Kind
B2
Abstract

Systems and methods to semantically compare product configuration models. A method includes receiving a first configuration model and a second configuration model. The method includes generating a first order logic (FOL) representation of the first configuration model and an FOL representation of the second configuration model. The method includes performing a satisfiability modulo theories (SMT) solve for nonequivalence satisfiability on the FOL representation of the first configuration model and the FOL representation of the second configuration model. The method includes storing an indication that the first configuration model is equivalent to the second configuration model when the SMT solve for nonequivalence satisfiability is not satisfied.

Claims (44)

1. A method performed by a data processing system, comprising:

determining whether configuration models of two different engineering tools or different versions of a configuration model of a same engineering tool are equivalent, including by:

receiving a first configuration model and a second configuration model, wherein the first configuration model and the second configuration model each model constraints for physical characteristics of a product;

generating a first order logic (FOL) representation of the first configuration model and an FOL representation of the second configuration model;

performing a satisfiability modulo theories (SMT) solve for nonequivalence satisfiability on the FOL representation of the first configuration model and the FOL representation of the second configuration model; and

when the SMT solve for satisfiability is not satisfied, storing an indication that the first configuration model is equivalent to the second configuration model.

2. The method of claim 1 , wherein when the SMT solve for nonequivalence satisfiability is satisfied, storing an indication that the first configuration model is not equivalent to the second configuration model.

3. The method of claim 1 , wherein when the SMT solve for nonequivalence satisfiability is satisfied, performing an SMT solve for variants in the first configuration model that are not present in the second configuration model, and storing variants identified by the SMT solve for variants in the first configuration model that are not present in the second configuration model.

4. The method of claim 1 , wherein {right arrow over (v)}=(v 1 , v 2 , . . . , v n ) is used to denote a vector of configuration options that uniquely determine the first configuration model.

5. The method of claim 1 , wherein φ represents the FOL representation of the first configuration model,

ψ represents the FOL representation of the second configuration model, and

performing a satisfiability modulo theories (SMT) solve for nonequivalence satisfiability comprises searching for a satisfying assignment for ¬(φ→ψ) or ¬(ψ→φ).

6. The method of claim 1 , wherein φ represents the FOL representation of the first configuration model,

ψ represents the FOL representation of the second configuration model, and

performing an SMT solve for variants comprises checking the satisfiability of φ∧¬ψ and ψ∧¬φ.

7. A data processing system having at least a processor and an accessible memory,

the data processing system configured to determine whether configuration models of two different engineering tools or different versions of a configuration model of a same engineering tool are equivalent, including by:

receiving a first configuration model and a second configuration model, wherein the first configuration model and the second configuration model each model constraints for physical characteristics of a product;

generating a first order logic representation of the first configuration model and an FOL representation of the second configuration model;

performing a satisfiability modulo theories (SMT) solve for nonequivalence satisfiability on the FOL representation of the first configuration model and the FOL representation of the second configuration model; and

when the SMT solve for satisfiability is not satisfied, storing an indication that the first configuration model is equivalent to the second configuration model.

8. The data processing system of claim 7 , wherein the data processing system is further configured to, when the SMT solve for nonequivalence satisfiability is satisfied, store an indication that the first configuration model is not equivalent to the second configuration model.

9. The data processing system of claim 7 , wherein the data processing system is further configured to, when the SMT solve for nonequivalence satisfiability is satisfied, perform an SMT solve for variants in the first configuration model that are not present in the second configuration model, and store variants identified by the SMT solve for variants in the first configuration model that are not present in the second configuration model.

10. The data processing system of claim 7 , wherein {right arrow over (v)}=(v 1 , v 2 , . . . , v n ) is used to denote a vector of configuration options that uniquely determine the first configuration model.

11. The data processing system of claim 7 , wherein φ represents the FOL representation of the first configuration model,

ψ represents the FOL representation of the second configuration model, and

performing a satisfiability modulo theories solve for nonequivalence satisfiability comprises searching for a satisfying assignment for ¬(φ→ψ) or ¬(ψ→φ).

12. The data processing system of claim 7 , wherein φ represents the FOL representation of the first configuration model,

ψ represents the FOL representation of the second configuration model, and

performing an SMT solve for variants comprises checking the satisfiability of φ∧¬ψ and ψ∧¬φ.

13. A non-transitory machine-readable medium encoded with executable instructions that, when executed, cause a data processing system to determine whether configuration models of two different engineering tools or different versions of a configuration model of a same engineering tool are equivalent, including by:

receiving a first configuration model and a second configuration model, wherein the first configuration model and the second configuration model each model constraints for physical characteristics of a product;

generating a first order logic representation of the first configuration model and an FOL representation of the second configuration model;

performing a satisfiability modulo theories (SMT) solve for nonequivalence satisfiability on the FOL representation of the first configuration model and the FOL representation of the second configuration model; and

when the SMT solve for satisfiability is not satisfied, storing an indication that the first configuration model is equivalent to the second configuration model.

14. The non-transitory machine-readable medium of claim 13 , further encoded with executable instructions to, when the SMT solve for nonequivalence satisfiability is satisfied, store an indication that the first configuration model is not equivalent to the second configuration model.

15. The non-transitory machine-readable medium of claim 13 , further encoded with executable instructions to, when the SMT solve for nonequivalence satisfiability is satisfied, perform an SMT solve for variants in the first configuration model that are not present in the second configuration model, and store variants identified by the SMT solve for variants in the first configuration model that are not present in the second configuration model.

16. The non-transitory machine-readable medium of claim 13 , wherein {right arrow over (v)}=(v 1 , v 2 , . . . , v n ) is used to denote a vector of configuration options that uniquely determine the first configuration model.

17. The non-transitory machine-readable medium of claim 13 , wherein φ represents the FOL representation of the first configuration model,

ψ represents the FOL representation of the second configuration model, and

performing a satisfiability modulo theories solve for nonequivalence satisfiability comprises searching for a satisfying assignment for ¬(φ→ψ) or ¬(ψ→φ).

18. The non-transitory machine-readable medium of claim 13 , wherein φ represents the FOL representation of the first configuration model,

ψ represents the FOL representation of the second configuration model, and

performing an SMT solve for variants comprises checking the satisfiability of φ∧¬ψ and ψ∧¬φ.

Assignments (3)
CHANGE OF NAME Recorded Dec 3, 2019
From: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 051171/0024 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2019
From: NEUHÄUSSER, MARTIN RICHARD; SCHULZ, GABOR
To: SIEMENS AKTIENGESELLSCHAFT
Reel/Frame 049450/0934 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2019
From: SIEMENS AKTIENGESELLSCHAFT
To: SIEMENS PRODUCT LIFECYCLE MANAGEMENT SOFTWARE INC.
Reel/Frame 049451/0018 →