Template Constraint Expressions for Configuration Models

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current frameworks for constraint-based systems, such as Gecode, parse and process configuration rule definitions independently for each matching instance, leading to inefficiencies in processing and updating rules, especially when the same rule is applied multiple times with different variables, and do not allow for the creation of durable object dependency expressions that can be translated across different constraint-solver spaces.

Innovation Solution

The introduction of template constraint expressions, which use placeholder identifiers instead of concrete variables, allowing for the creation of a durable representation of object dependency expressions that can be copied and instantiated for multiple object instances, enabling a single translation step for multiple usages and separating translation from processing, thereby reducing the time complexity from O(NumberOfMatchings*TimeForMatching) to O(TimeForParsing+NumberOfMatchings*TimeForMatching).

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If configuration rules are parsed and instantiated independently for each matching instance, then the system can process specific instances, but the translation time complexity increases to O(NumberOfMatchings*TimeForMatching)

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidtranslation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent creates template constraint expressions in advance that capture the structure of configuration rules with placeholder identifiers. These templates are generated once during model definition and stored for reuse, eliminating the need to re-parse the same rule structure multiple times for different instances. This preliminary creation of reusable templates directly reduces translation time complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables copying of template constraint expressions to generate specific constraint expressions for different instances. Instead of re-translating the same rule definition for each matching instance, the system copies the pre-parsed template and substitutes placeholder identifiers with actual variable names, significantly reducing redundant translation operations.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If the same configuration rule is applied multiple times with different variables, then the rule can handle diverse cases, but the parsing and processing effort increases proportionally

Engineering Contradiction:
Improverule reusabilityVSAvoidprocessing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent makes configuration rules universal by introducing placeholder identifiers that represent variable elements. A single template constraint expression with placeholders can match and adapt to multiple different instances by substituting different variable names, allowing one rule definition to serve multiple purposes without requiring separate parsed versions for each case.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces template constraint expressions as an intermediary layer between the original configuration rule definitions and the instance-specific constraint expressions. This intermediate representation with placeholder identifiers acts as a mediator that simplifies the translation process, allowing systematic substitution rather than direct complex processing for each instance.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If configuration rules are translated for each matching instance, then specific constraints can be enforced, but the time complexity increases from O(TimeForParsing+NumberOfMatchings*TimeForMatching) to O(NumberOfMatchings*TimeForMatching)

Engineering Contradiction:
Improveconstraint evaluation accuracyVSAvoidtranslation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary parsing of configuration rules to create template constraint expressions that capture the essential structure and constraints. This upfront parsing separates the translation work from the instance-specific processing, allowing the same template to be reused across multiple matchings without repeating the parsing operation, thus reducing overall translation time while maintaining constraint accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent copies validated template constraint expressions for each matching instance rather than re-translating the original rules. This copying approach preserves the accuracy of constraint evaluation while eliminating redundant translation operations, as the copied templates have already been validated during their initial creation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10534592B2Template expressions for constraint-based systems
Publication Date: 2020.01.14 SAP SE
  • US10534592B2 patent drawing
  • US10534592B2 patent drawing
  • US10534592B2 patent drawing

AI summary

Technologies are provided for creating and using template constraint expressions in constraint-based systems. Template constraint expressions can be created that can be used to define multiple usages of a same constraint rule in a configuration model. Using the template constraint expression, the constraint rule can be translated once and used multiple times as different instances of the rule are activated. Updates to the rule can be made to the template constraint expression and applied to all of the related instances. Constraint expressions can be created based on the template constraint expression. Multiple object instances in a configuration model can be identified that satisfy matching criteria of the template constraint expression. Variables of the matching object instances can be mapped to variable placeholders in the template constraint expression to create constraint expressions. A constraint solver can be used to evaluate the constraint expressions.