Device and Method for Configuring a Technical System

20220188650 · 2022-06-16

    Inventors

    Cpc classification

    International classification

    Abstract

    Device and method for configuring a technical system are disclosed, wherein the method includes generating a configuration model from configuration criteria for the technical system and the configuration model represents the technical system as an information model, where generating the configuration model includes validating the configuration criteria based on constraints associated with the technical system and identifying a maximum satisfiable rule set for the validated configuration criteria, the maximum satisfiable rule set being identified by determining a minimum number of conflicting rules to be removed to resolve conflicts with the validated configuration criteria, where the minimum number of conflicting rules being determined for rules ranked below the threshold severity; and by removing at least one of the minimum number of conflicting rules to generate the maximum satisfiable rule set.

    Claims

    1. A method for configuring a technical system, comprising: generating a configuration model for technical system, the configuration model being generated from configuration criteria for the technical system and the configuration model representing the technical system as an information model, said generating the configuration model comprising: validating the configuration criteria based on constraints associated with the technical system, the configuration criteria being valid when none of the constraints, having a severity level greater than or equal to a threshold severity, are violated; and identifying a maximum satisfiable rule set for the validated configuration criteria, the maximum satisfiable rule set being either empty or comprises at least one of constraint rules and default rules, and the maximum satisfiable rule set being identified by: determining a minimum number of conflicting rules to be removed to resolve conflicts with the validated configuration criteria, the minimum number of conflicting rules being determined for rules ranked below the threshold severity; and removing at least one of the minimum number of conflicting rules to generate the maximum satisfiable rule set.

    2. The method according to claim 1, wherein a set of rules are associable to the validated configuration criteria; wherein each of the set of rules are assigned the severity level and a sequence number; and wherein the severity level and the sequence number define a ranking level for each of the rules.

    3. The method according to one of claim 1, further comprising: associating each rule in the set of rules with the ranking level; wherein the ranking level of a specific rule is higher when the severity level is higher.

    4. The method according to claim 2, further comprising: associating each rule in the set of rules with the ranking level; wherein the ranking level of a specific rule is higher when the severity level is higher.

    5. The method according to one of claim 2, wherein the ranking level of the specific rule is based on the sequence number when the severity level is the same.

    6. The method according to claim 3, wherein the ranking level of the specific rule is based on the sequence number when the severity level is the same.

    7. The method according to claim 2, wherein at least one rule of the set of rules is assignable with the same ranking level.

    8. The method according to claim 3, wherein at least one rule of the set of rules is assignable with the same ranking level.

    9. The method according to claim 1, wherein identifying a maximum satisfiable rule set for the validated configuration criteria comprises: identifying conflicts in rules within each of the ranking levels and across the ranking levels; determining the minimum number of conflicting rules (330) as rules with lowest ranking level when conflicts across the ranking levels are identified; and removing the minimum number of conflicting rules.

    10. The method according to claim 1, further comprising: determining the conflicting rules based on the minimum number of the conflicting rules to remove from within a specific ranking level to resolve all conflicts within at least one of the specific ranking level and the ranking levels higher than the specific ranking level; determining at least one combination of the conflicting rules within the specific ranking level, each of the at least one combination including the minimum number of conflicting rules and removal of each of the combinations results in resolution of all the conflicts; and identifying a combination of the combinations to be removed utilizing a chain representation of the at least one combination, the combination to be removed being identified as end points of the chain representation.

    11. The method according to claim 7, further comprising: determining the conflicting rules based on the minimum number of the conflicting rules to remove from within a specific ranking level to resolve all conflicts within at least one of the specific ranking level and the ranking levels higher than the specific ranking level; determining at least one combination of the conflicting rules within the specific ranking level, each of the at least one combination including the minimum number of conflicting rules and removal of each of the combinations results in resolution of all the conflicts; and identifying a combination of the combinations to be removed utilizing a chain representation of the at least one combination, the combination to be removed being identified as end points of the chain representation.

    12. The method according to claim 1, wherein determining the minimum number of the conflicting rules to remove from within the specific ranking level comprises: determining a cardinality of conflicting rules within the specific ranking level, the cardinality specifying a number of independent conflicts in the rules within the specific ranking level and the minimum number of the conflicting rules that must be removed being the cardinality.

    13. The method according to claim 10, wherein determining the minimum number of the conflicting rules to remove from within the specific ranking level comprises: determining a cardinality of conflicting rules within the specific ranking level, the cardinality specifying a number of independent conflicts in the rules within the specific ranking level and the minimum number of the conflicting rules that must be removed being the cardinality.

    14. The method according to claim 1, further comprising: identifying a next threshold ranking based on an interval search, the next threshold ranking being identified as a highest-ranking level below a current threshold ranking at which a conflict is identified; wherein the minimum number of conflicting rules are determined for the current threshold ranking; and wherein ranking levels above the current threshold ranking are free of conflicts.

    15. The method according to claim 1, further comprising: removing rules in the set of rules when categorized based on a predefined category comprising at least one of inactive, redundant, overruled and unjustified.

    16. The method according to claim 1, further comprising: adapting to updates in the set of rules by: determining the ranking level for the updated set of rules; and identifying the maximum satisfiable rule set for valid configuration criteria associated with the updated set of rules.

    17. The method according to claim 1, wherein the technical system is represented as an information model using the configuration model; and wherein the technical system is configured to comprise constraints arrangeable based on the severity level.

    18. A device for configuring a technical system, the device comprising: a processor; a memory communicatively coupled to the processor, the memory comprising a configuration generation module configured to generate a configuration model of the technical system, the configuration model representing the technical system as an information model comprising constraints arrangeable based on a severity level; wherein the processor is configured to: generate the configuration model for technical system, the configuration model being generated from configuration criteria for the technical system, said generating the configuration model comprising: validating the configuration criteria based on constraints associated with the technical system, the configuration criteria being valid when none of the constraints, having a severity level greater than or equal to a threshold severity, are violated; and identifying a maximum satisfiable rule set for the validated configuration criteria, the maximum satisfiable rule set being either empty or comprises at least one of constraint rules and default rules, and the maximum satisfiable rule set being identified by: determining a minimum number of conflicting rules to be removed to resolve conflicts with the validated configuration criteria, the minimum number of conflicting rules being determined for rules ranked below the threshold severity; and removing at least one of the minimum number of conflicting rules to generate the maximum satisfiable rule set.

    19. A non-transitory computer readable medium encoded with machine-readable program instructions which, when executed by at least one processor, cause at least one server to configuring a technical system, the program comprising: program code for generating a configuration model for technical system, the configuration model being generated from configuration criteria for the technical system and the configuration model representing the technical system as an information model, said generating the configuration model comprising: program code for validating the configuration criteria based on constraints associated with the technical system, the configuration criteria being valid when none of the constraints, having a severity level greater than or equal to a threshold severity, are violated; and program code for identifying a maximum satisfiable rule set for the validated configuration criteria, the maximum satisfiable rule set being either empty or comprises at least one of constraint rules and default rules, and the maximum satisfiable rule set being identified by: determining a minimum number of conflicting rules (330) to be removed to resolve conflicts with the validated configuration criteria, the minimum number of conflicting rules being determined for rules ranked below the threshold severity; and removing at least one of the minimum number of conflicting rules to generate the maximum satisfiable rule set.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0036] Below, the invention is described using the embodiments illustrated in the figures, in which:

    [0037] FIG. 1 illustrates a method of configuring a technical system in accordance with an embodiment of the present invention;

    [0038] FIGS. 2A-2D illustrate a method of evaluating ranking of a set of rules in accordance with an embodiment of the present invention;

    [0039] FIG. 3 illustrates a chain representation for identifying a combination of conflicting rules to be removed in accordance with an embodiment of the present invention; and

    [0040] FIG. 4 illustrates a device for configuring a technical system in accordance with an embodiment of the present invention.

    DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENT

    [0041] Hereinafter, embodiments for carrying out the present invention are described in detail. The various embodiments are described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purpose of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more embodiments. It may be evident that such embodiments may be practiced without these specific details.

    [0042] FIG. 1 illustrates a method of configuring a technical system in accordance with an embodiment of the present invention. The method for configuring the technical system starts at step 110 by generating a configuration model for the technical system from configuration criteria. In an embodiment, step 110 may include receiving the configuration criteria input by a user. The step 110 includes multiple intermediate steps 120 and 130.

    [0043] At step 120 the configuration criteria are validated based on constraints associated with the technical system. At step 120 the configuration criteria are checked to determine whether the constraints, having a severity level greater than or equal to a threshold severity, are violated. Accordingly, the configuration criteria are validated only when none of the constraints have a severity level greater than or equal to a threshold severity level. The validated configuration criteria may be associated with a set of rules are associable. Each rule in the set of rules is assigned the severity level and a sequence number. The severity level and the sequence number define a ranking level for each of the rules. In an embodiment, at step 120 each rule in the set of rules is associated with the ranking level. The ranking level of a specific rule is higher when the severity level is higher. If the severity level is the same, then the ranking level depends on the sequence number.

    [0044] In an embodiment, the validation can result in three outcomes, i.e., Satisfied, Unsatisfied and Unknown. When the outcome is Satisfied, the input expression is satisfiable and execution control can advance to next step of processing to deal with conflicts in rules below the threshold severity. When the outcome is Unsatisfied, the input configuration criteria is determined as unsatisfiable. The configuration solver implementing the method notifies the user/customer the Unsatisfied outcome along with reason for the unsatisfied verdict. When the outcome is Unknown, a user is notified that the following scenarios have resulted in the Unknown outcome: [0045] a. Non-linear integer arithmetic b. Quantifiers, e.g. “for each” (∀), or “there exists some” (∃) The method step 110 proceeds from step 120 to 130 only when the outcome is Satisfied.

    [0046] At step 130 a maximum satisfiable rule set for the validated configuration criteria is identified. The maximum satisfiable rule set can be empty or may include constraint rules and/or default rules. In an embodiment, the maximum satisfiable rule set is identified by removing unwanted constraints with a predefined category such as Inactive, Redundant, Overruled and Unjustified.

    [0047] Inactive Rule Category

    [0048] Inactive rules are processed by processing the applicability condition of a rule. If the majority of default rules have an applicability condition that combine values of the same family a significant performance gain is achieved by splitting all applicability conditions into their respective implicant expressions. It is a common practice that default rules combine one or more product model expression, e.g., “Model=Coupe OR Model=Sport or Model=Sedan”. In this way, hundreds of different Default Rules may use a small amount of unique implicant expressions. Each implicant expression is tested for satisfiability against rules above the threshold severity.

    [0049] 1. Inactive Rule Category:

    [0050] The constraint is declared Inactive if all its implicant expressions are Unsatisfiable. Consider the below example:

    [0051] Models: M1, M2, M3, M4

    [0052] A: A1, A2, A3, A4

    [0053] B: B1, B2, B3, B4

    [0054] Rules:

    [0055] A1 is available to M1, M2

    [0056] B1 is available to M1, M2

    [0057] Default Rule:

    [0058] D1: M1|M2 defaults A1

    [0059] D2: M3|M4 defaults B4

    [0060] In the above example, default rule D2 is detected as inactive because the implicants of its applicability condition, M3 as well as M4 are Unsatisfiable against the rule set: B4 is neither available to M3 nor M4.

    [0061] 2. Redundant Rule Category

    [0062] This category of rules identifies the rules within the threshold severity that try to assert a Boolean expression which is already asserted by the other high severity constraints. For example, consider the following:

    [0063] Models: M1, M2, M3, M4

    [0064] A: A1, A2, A3, A4

    [0065] B: B1, B2, B3, B4

    [0066] Rules:

    [0067] A1 is available to M1, M2

    [0068] B1 is available to M1, M2

    [0069] Include rule:

    [0070] R1: M1|M2 includes A1 & B1

    [0071] Default Rule:

    [0072] D1: M1|M2 defaults A1

    [0073] D2: M3|M4 defaults B4

    [0074] In the above example, D1 is a redundant rule in presence of rule R1. Assuming that a rule has the form “A.fwdarw.B”, the expression A&˜B is tested for satisfiability to check redundancy of the rule where A is applicability and B is the subject of the rule.

    [0075] 3. Overruled Rule Category

    [0076] This category identifies rules whose subject is overruled by rules having severity level greater than and equal to the threshold severity level. Consider the below data scenario:

    [0077] Models: M1, M2, M3, M4

    [0078] A: A1, A2, A3, A4

    [0079] B: B1, B2, B3, B4

    [0080] Rules:

    [0081] A1 is available to M1, M2

    [0082] A2 is available to M1, M2

    [0083] B1 is available to M1, M2

    [0084] B2 is available to M1, M2

    [0085] Include rule:

    [0086] R1: M1|M2 includes A1 & B1

    [0087] Default Rule:

    [0088] D1: M1|M2 defaults A2

    [0089] D2: M3|M4 defaults B2

    [0090] In the above example, high severity R1 rule overrules the default rule D1 and D2. To check for satisfiability, (˜A|B) expression is tested for satisfiability.

    [0091] 4. Unjustified Rule Category

    [0092] Rules in this category are denied by rules having severity level greater or equal to the threshold severity level. The expression that is checked for testing whether a constraint is Unjustified is (A & B), where “A” is applicability and “B” is subject. Depending on how the user continues with the refinement of the technical system (product) configuration criteria Unjustified default constraints either become Overruled (if the user continues with selecting A), or Redundant (if the user continues with selecting Not(A)).

    [0093] In an embodiment, step 130 is performed when the rule with the highest-ranking level (below the threshold severity) has a conflict. At step 130, the highest-ranking level is identified using a partition search. A partition search is an operation for finding the conflicting rules in the set of rules that are ranked from the highest-ranking level to the lowest ranking level. Once ranked set of rules are divided into halves, the rules in the first half are checked for conflicts. If no conflict is found, then the second half is evaluated for conflicts.

    [0094] Step 130 includes intermediate steps 140 and 150. At step 140, a minimum number of conflicting rules to be removed are determined to resolve conflicts with the validated configuration criteria. At step 150, the minimum number of conflicting rules are removed to generate the maximum satisfiable rule set.

    [0095] In an embodiment, step 130 includes identifying conflicts in rules within each of the ranking level and across the ranking levels. If the conflicts are identified across the ranking levels, then step 130 includes determining the minimum number of conflicting rules as rules with lowest ranking level when conflicts across the ranking levels are identified; and removing the minimum number of conflicting rules.

    [0096] In another embodiment, step 130 address a scenario in which where there are no ranking levels assigned or all the conflicts are within a specific ranking level.

    [0097] Accordingly, step 130 may include determining the conflicting rules based on the minimum number of the conflicting rules. The identified conflicting rules would resolve all conflicts within the specific ranking level and/or ranking levels higher than the specific ranking level, if removed. Step 130 may include determining one or more combinations of the conflicting rules within the specific ranking level. Each of the one or more combinations include the minimum number of conflicting rules (n), where removal of each of the combinations results in resolution of all the conflicts. For example, if the minimum number of conflicting rules are determined as 2, then the combination with 2 conflicting rules is determined. Each of those combinations resolve conflicts, if removed. Step 130 identifies which of the multiple combinations to remove by using a chain representation of the one or more combinations. The combination to be removed is identified as end points of the chain representation. A detailed description of the chain representation is provided hereinafter in FIG. 3.

    [0098] FIGS. 2A-2D illustrate a method of evaluating ranking of a set of rules and generating the maximum satisfiable rule set in accordance with an embodiment of the present invention. The maximum satisfiable rule set is used to generate a configuration model, which is in turn used to configure a product. The method is broken down into sub-methods as illustrated in the flowcharts 2A, 2B, 2C and 2D.

    [0099] As illustrated, the method is captured in flowchart 2A which cross references flowcharts 2B, 2C and 2D. The method starts at steps 202 with the initialization of the constraint solver module in a device. At step 204, the flowchart 2B is referenced to obtain the preparation work. Further at step 206, the flowchart 2B is referenced to get an arranged set of rules associated with configuration criteria of a product.

    [0100] Reference is made to flowchart 2B to explain steps 204 and 206. As such, flowchart 2B begins with step 230 with the initialization of the preparation module. At step 232, configuration criteria are/is received or determined. In an embodiment, the configuration criteria are/is a configuration expression input by a user/customer. Further, at step 232, the product specification of the product. Furthermore, a threshold severity level is obtained from the user.

    [0101] At step 234, the configuration criteria are/is validated based on the list of constraints in the product. The list of constraints may be associated with multiple severity levels. In other words, the constraint list may contain constraints across multiple severity levels. At step 236, the constrains (CL1) with a severity level above or equal to the threshold severity level are retrieved. At step 238, a satisfiability check is performed for the input criteria (i.e., the configuration criteria) and the constraints (CL1) with severity level greater or equal to the threshold severity.

    [0102] If the configuration criteria does/do not violate the constraints (CL1) with a severity level greater or equal to the threshold severity level, then step 240 is performed. At step 240, the constraints below the threshold severity level are obtained from the constraint list of the product. The constraints below the threshold severity level are associated with a set of rules including either constraint rules or default rules. At step 242, the rules in the set of rules are arranged by a ranking level. The ranking level is a combination of the severity level and a sequence number associated with the rules.

    [0103] If the configuration criteria violate(s) the constraints (CL1) with a severity level greater or equal to the threshold severity level, then step 244 is performed. At step 244, the configuration criteria and the constraints are analyzed and the violation is explained to the user.

    [0104] Referring back to flowchart 2A, after step 206, the configuration criteria is validated and the rules are arranged in accordance with the ranking level. At step 208, the rules with highest unprocessed ranking level, below the threshold severity level, are obtained. At step 210, a check is performed to determine whether the rules up to the highest unprocessed ranking level have conflicts. As used herein “unprocessed” refers to whether a check for a conflict has already been conducted or not.

    [0105] If there are no conflicts in the rules up to the highest unprocessed ranking level, then step 214 is performed. At step 214 and 216, flowchart 2C is referenced. At step 214, the rules that are satisfied/satisfiable are identified in the set of rules. At step 216, the unsatisfiable rules are identified and removed from the set of rules. At step 218, the rules remaining in the set of rules are promoted to high severity level, i.e., above the threshold severity level.

    [0106] Steps 214 and 216 can be further detailed by referring to flowchart 2C. Here, flowchart 2C begins at step 250 by using a half interval search on the unprocessed rules to identify the satisfiable rules and the ranking levels with no conflict. Accordingly, step 250 identifies the ranking level at which a conflict is determined (conflict level). At step 252, the highest ranked rules (i.e., rules with the highest-ranking level) below the threshold severity level are obtained.

    [0107] At step 254, the rules in (relatively) high severity level/ranking level are identified if they are unjustified in view of the rules in the current ranking level. At step 256, check is performed to determine whether rules exist rules between (between level) the current ranking level and the conflict level, because of which a rule in the current ranking level becomes unjustified. At step 258, pre-conditions of rules in the “between level” (intermediate level) are trimmed such that they do not cause any rule to become unjustified. Further, the rules in the intermediate level are replaced by the trimmed rules. At step 260, the next ranking level is analyzed to identify the unjustified rules. The iterative nature of the present invention ensures that conflicts are thoroughly identified.

    [0108] Referring again to flowchart 2A, the method also provides a solution when conflicts are identified within a ranking level or across ranking levels. The flowchart 2D is referenced to identify and resolve such conflicts.

    [0109] Thus, flowchart 2D starts at step 270 with the determination of whether ranking levels below the threshold severity level has conflicting rules. At step 272, the conflicting rules are retrieved. At step 274, a determination of whether the conflict is in rules between high and low ranking levels, i.e., across one or more ranking levels. If yes, then step 276 is performed to drop the rules in the low-ranking level to resolve the conflicts. If no, then the conflict is within the ranking level and the same is identified at step 278. Further, at step 278, a cardinality for the conflicting rules is determined. Furthermore, based on the cardinality (X) one or more combinations (i.e., X-tuples) are identified, where removal of any one of the combinations resolves conflicts.

    [0110] At step 280, all the rules that form part of the conflict are identified. Additionally, the conflicting rules common to all extensions of the conflict (as shown in FIG. 3 arrow 312 and 322) are identified. At step 282, the unjustified rules among the conflicting rules are identified and removed. The method of identifying which conflicting rules to remove from within the specific ranking level is explained in FIG. 3. Further, step 282 includes removing rules in the set of rules when categorized as one of inactive, redundant, overruled and unjustified.

    [0111] At the end of flowchart 2D, the conflicting rules are removed and a satisfiable rule set can be augmented with the remaining rules. At the last iteration, the satisfiable rule set becomes the maximum satisfiable rule set. Accordingly, flowchart 2D connects to flowchart 2C at step 254 (as shown in flowchart 2A). The skilled person will appreciate that the conflict level identified in step 250 is processed in flowchart 2D. Alternatively, the conflict level may be the highest unprocessed ranking level determined at step 210.

    [0112] Returning to flowchart 2A, at step 220, the rules for the next lower ranking level (below the threshold severity) are identified. The rules for the next ranking level are checked for conflicts (i.e., processed). At step 222, a determination is made as to whether all the rules in the ranking levels are checked. If yes, the method ends at step 224 and the maximum satisfiable rule set is output. If no, the method is iteratively performed till all the rules in the ranking levels are processed.

    [0113] FIG. 3 illustrates chain representations 310 and 320 for identifying a combination 350 of conflicting rules to be removed in accordance with an embodiment of the present invention.

    [0114] The chain representations 310 and 320 are built when conflicts are identified in the default rules R1 to R13. The default rules are associated with the configuration criteria F.

    [0115] As indicated, the configuration criteria F=A&B&H&I&J&O&P

    [0116] Default Rules are as follows:

    [0117] R1: A.fwdarw.C

    [0118] R2: B.fwdarw.C

    [0119] R3: C.fwdarw.D

    [0120] R4: D.fwdarw.E|F

    [0121] R5: E.fwdarw.G

    [0122] R6: F.fwdarw.G

    [0123] R7: G.fwdarw.Not(H)

    [0124] R8: K.fwdarw.L

    [0125] R9: L.fwdarw.MIN

    [0126] R10: I.fwdarw.K

    [0127] R11: M.fwdarw.Not(O)

    [0128] R12: N.fwdarw.Not(P)

    [0129] R13: J.fwdarw.K

    [0130] The configuration criteria F is analyzed to determine that the cardinality 330 “X”=2 independent number of conflicts. The combination of the conflicts and the sequence are shown as disjunctive chain representations 310 and 320 of the default rules. Each chain representation 310 and 320 has 4 unique constraint paths. Each path represents a different minimal number of conflicting rules for the corresponding conflict. Constraints that are common to all minimal conflicting rules in a given chain representation 310, 310 are indicated by arrows 312 and 322, respectively.

    [0131] A binary search using a “Cardinality X” constraint that searches for the cardinality 330 identifies a cardinality of X=2 for this scenario, because there are X=2 independent conflicts and each needs to be resolved by removing (at least) one violated constraint in each disjunctive chain for F to become satisfiable. This step scales with Log(n), where n is the size of the set of rules. During implementation, the response time of the binary search for the cardinality 330 can be improved based on heuristics. For example, if X is expected to be small compared to n, it seems advantageous to begin with a 90:10 interval search (probing for X=n/10), as opposed to blindly using a Half-Interval Search with 50:50 intervals (probing for X=n/2).

    [0132] The cardinality 330 is used to enumerate all combinations 340 i.e., X-tuples (2-tuples here) of constraints for which the “Cardinality X” constraint is satisfiable. The first combination is a byproduct of the previous binary search. To find the next combination, an additional rule can be added that disallows the selection of the same X-tuple in the next check satisfiability determination with the “Cardinality X” constraint for X=2, until the configuration solver can no longer find a new solution that satisfies the “Cardinality X” constraint.

    [0133] The next step determines which combination to filter out from the combinations 340. In an embodiment, a new rule set may be generated that contains all the conflicting rules that appear in any combination. These rules are then analyzed till no more justified rules are found. Accordingly, when there are no more justified rules in the new rule set, the remaining rules are unjustified. They form the one combination 350 to remove.

    [0134] As used herein “justified” refers to an implication that the rules have an entailed precondition and a satisfiable THEN condition. Further, “unjustified” refers to an implication that a given rule has an unsatisfiable combination of precondition and justification condition. To generate the minimum satisfiable rule set, each of the rules in the minimum satisfiable rule set must be justifiable.

    [0135] The example in FIG. 3 relates to a technical system. The configuration criteria F and the configuration features A-P relate to features of a given technical system. For example, the technical system is an automotive truck. The configuration features of the automotive truck are listed below.

    TABLE-US-00001 Configuration Option Description A RESTRAINT PROVISIONS CHILD, REAR SEAT, REAR FACING B RESTRAINT SYSTEM SEAT, INFLATABLE, DRIVER & PASS, FRONT & SEAT SIDE C ROLLOVER BAR D ROADSIDE ASSISTANCE PACKAGE E DRIVER INFORMATION CENTER KIT F RADIO KIT, NAVIGATION G ENTERTAINMENT PKG REAR SEAT, SINGLE DISPLAY H ADDITIONAL DVD SCREEN I COOLING SYSTEM HEAVY DUTY J PROVISIONS SNOW PLOW PREP K PERFORMANCE PACKAGE HIGHER PAYLOAD L LEVEL CONTROL AUTO, AIR, HEAVY DUTY M TRAILER HITCH WEIGHT DISTRIBUTING PLATFORM N SWAY CONTROL HITCH O COVER TRAILER HITCH RECEIVER P LOCKING PIN, TRAILER HITCH

    [0136] With these definitions, the configuration formula “F=A&B&H&I&J&O&P” maps to: [0137] Restraint Provisions Child, Rear Seat, Rear Facing AND Restraint System Seat, Inflatable, Driver & Pass, Front & Seat Side AND Additional Dvd Screen AND Cooling System Heavy Duty AND Provisions Snow Plow Prep AND Cover Trailer Hitch Receiver AND Locking Pin, Trailer Hitch

    [0138] The Rules R1, R2, . . . , R12, R13 map to the following default Rules for the automotive truck:

    TABLE-US-00002 Default Rule If Then Alternative R1 Restraint provisions Rollover bar child, rear seat, rear facing R2 Restraint system seat, Rollover bar inflatable, driver & pass, front & seat side R3 Rollover bar Roadside assistance package R4 Roadside assistance Driver information RADIO KIT, package center kit NAVIGATION R5 Driver information center Entertainment pkg kit rear seat, single display R6 Radio kit, navigation Entertainment pkg rear seat, single display R7 Entertainment pkg rear Not: additional seat, single display dvd screen R8 Performance package Level control auto, higher payload air, heavy duty R9 Level control auto, air, Trailer hitch SWAY heavy duty weight distributing CONTROL platform HITCH R10 Cooling system heavy Performance duty package higher payload R11 Trailer hitch weight Not: cover trailer distributing platform hitch receiver R12 Sway control hitch Not: locking pin, trailer hitch R13 Provisions snow plow Performance prep package higher payload

    [0139] The method according to the present invention would consistently choose to drop R7 and R9 for the configuration criteria F.

    [0140] Accordingly, the configuration model is generated from the maximum satisfiable rule set that includes rules associated with the following configuration features: [0141] Restraint Provisions Child, Rear Seat, Rear Facing AND Restraint System Seat, Inflatable, Driver & Pass, Front & Seat Side AND Rollover Bar AND Roadside Assistance Package AND choice of: (driver information center kit) or (radio kit, navigation) AND Entertainment Package Rear Seat, Single Display AND Additional DVD Screen AND Cooling System Heavy Duty AND Provisions Snow Plow Prep AND Cover Trailer Hitch Receiver AND Locking Pin, Trailer Hitch AND Performance Package Higher Payload AND Level Control Auto, Air, Heavy Duty

    [0142] FIG. 4 illustrates a device 400 for configuring an automotive truck in accordance with an embodiment of the present invention. The skilled person would appreciate that the device 400 can be implemented in a distributed computing environment such as a cloud computing platform. Accordingly, the device 400 in implementation may be several computing devices orchestrated to perform functions of the device 400.

    [0143] The device 400 is also referred to as a configuration solver or a constraint solver. The device 400 comprises a processor 410 communicatively coupled to a memory unit 420 and a display 430. The memory includes one or more modules 422-428 comprising computer implemented instructions. The display 430 renders a User Interface (Up/Graphical User Interface (GUI) 432. In a distributed computing environment, the processor 410 may be implemented on a remote server accessible via wired/wireless network. The memory unit 420 may be distributed with the modules 222-228 stored across multiple computing devices. Further, the display 430 may be part of a user computing device that may be a client server communicatively coupled to the remote server implementing the processor 410. The skilled person would further appreciate that the display 430 may be implemented on a device supporting augmented reality to enable gesture-based interaction with the UI 432.

    [0144] In operation, configuration criteria are/is input or determined from a user input to the GUI 432. The processor 410 executes the instruction stored in the configuration generation module 422. On execution, the configuration generation module 422 is used to generate a configuration model for the automotive truck. The configuration model is illustrated on the GUI 432 with configuration features and constraints/rules illustrated in fields 434.

    [0145] The configuration generation module 422 is configured to generate the configuration model by executing a validation module 424, a conflict identification module 426 and a conflict removal module 428. The validation module 424 is configured to validate the configuration criteria based on constraints associated with the automotive truck. For example, the constraints include rules indicated from R1-R13 in FIG. 3. The configuration criteria are valid when none of the constraints, having a severity level greater than or equal to a threshold severity, are violated. A set of rules are associable to the validated configuration criteria. Each of the set of rules are assigned the severity level and a sequence number, where the severity level and the sequence number define a ranking level for each of the rules.

    [0146] After validating the configuration criteria, the conflict identification module 426 is configured to determine a minimum number of conflicting rules to be removed to resolve conflicts with the validated configuration criteria. The minimum number of conflicting rules are determined for rules ranked below the threshold severity level. In an embodiment, the conflict identification module 426 is configured to identify conflicts in rules within each of the ranking level and across the ranking levels. Further, in order to determine the minimum number of conflicting rules as rules with lowest ranking level when conflicts across the ranking levels are identified.

    [0147] In an embodiment, the conflict identification module 426 identifies conflicts within a specific ranking level, the conflict identification module 426 is configured to determine the conflicting rules based on the minimum number of the conflicting rules (n) to remove from within a specific ranking level to resolve all conflicts within the specific ranking level and/or ranking levels higher than the specific ranking level. Further, the conflict identification module 426 determines one or more combinations of the conflicting rules within the specific ranking level. Each of the one or more combinations include the minimum number of conflicting rules (n) and wherein removal of each of the combinations results in resolution of all the conflicts. Furthermore, the conflict identification module 426 is configured to generate a chain representation (e.g., chain representations 310 or 320) for the one or more combinations of conflicting rules as indicated in FIG. 3.

    [0148] The conflict removal module 428 is configured to remove the minimum number of conflicting rules to generate a maximum satisfiable rule set. In an embodiment, when the conflicts are identified across the ranking levels, the minimum number of conflicting rules as rules with lowest ranking level are removed. In another embodiment, when the conflicts are identified within the specified ranking level, the conflict removal module is configured to identify a combination (e.g., R7 and R9) of the combinations to be removed using the chain representation. The combination to be removed is identified as end points of the chain representation.

    [0149] The skilled person in the art will appreciate that the automotive truck is merely an example of a technical system or product to be configured. The function and operation of the device 400 applies to all technical systems and products that have multiple configuration features.

    [0150] For the purpose of this description, a computer-usable or computer-readable non-transitory storage medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation mediums in and of themselves as signal carriers are not included in the definition of physical computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, random access memory (RAM), a read only memory (ROM), a rigid magnetic disk and optical disk such as compact disk read-only memory (CD-ROM), compact disk read/write, and DVD. Both processing units and program code for implementing each aspect of the technology can be centralized or distributed (or a combination thereof) as known to those skilled in the art. Additionally, while the current disclosure describes the configuration tool 110 as an independent component, the configuration tool may be a software component and may be realized within a distributed control system or an engineering software suite. Additionally, in an embodiment, one or more parts of the engineering module may be realized within the technical system.

    [0151] While the present disclosure has been described in detail with reference to certain embodiments, it should be appreciated that the present disclosure is not limited to those embodiments. In view of the present disclosure, many modifications and variations would be present themselves, to those skilled in the art without departing from the scope of the various embodiments of the present disclosure, as described herein. The scope of the present disclosure is, therefore, indicated by the following claims rather than by the foregoing description. All changes, modifications, and variations coming within the meaning and range of equivalency of the claims are to be considered within their scope. All advantageous embodiments claimed in method claims may also be apply to system/device claims.