throbber
111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US007200582Bl
`
`c12) United States Patent
`Smith
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,200,582 Bl
`Apr. 3, 2007
`
`(54) CONFIGURATION MODEL CONSISTENCY
`CHECKING USING FLEXIBLE RULE SPACE
`SUBSETS
`
`(75)
`
`Inventor: Shawn A. P. Smith, Austin, TX (US)
`
`(73) Assignee: Trilogy Development Group, Inc.,
`Austin, TX (US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 568 days.
`
`(21) Appl. No.: 10/404,891
`
`(22) Filed:
`
`Mar. 31, 2003
`
`(51)
`
`Int. Cl.
`G06F 17100
`B06N 5102
`
`(2006.01)
`(2006.01)
`
`(52) U.S. Cl. ............................. 706/47; 706/45; 706/46
`
`(58) Field of Classification Search .................. 706/45,
`706/46, 47; 717/105; 707/100
`
`(56)
`
`References Cited
`
`OTHER PUBLICATIONS
`Polat, Faruk, eta!., UVT: A Unification-Based Tool for knowledge
`Base Verification, Validation and Verification of Knowledge-Based
`Systems, Jun. 1993, IEEE Computer Society Press, pp. 69-75.*
`* cited by examiner
`Primary Examiner-Joseph P Hirl
`(74) Attorney, Agent, or Firm-Hamilton & Terrile, LLP;
`Kent B. Chambers
`
`(57)
`
`ABSTRACT
`
`Inconsistencies between configuration rules represent a sig(cid:173)
`nificant concern when modeling a product using configura(cid:173)
`tion rules. The consistency checking system approaches a
`configuration model from the perspective of a sets of fea(cid:173)
`tures and families. The configuration space of a model
`represents the entire set of all combinations of selections
`within a configuration model. The consistency checking
`system operates on subsets of the configuration space by
`consolidating data within the configuration space into mini(cid:173)
`mized subsets that represent a portion of the configuration
`space where a particular consistency error can occur. Thus,
`the contents of each subset vary depending upon which
`consistency error is being checked, and consistency check(cid:173)
`ing is performed on reduced subsets determined on an error
`by error basis rather than on the configuration space as a
`whole.
`
`See application file for complete search history.
`
`5 Claims, 26 Drawing Sheets
`
`I
`
`User Input 406
`
`Display/Report
`408
`
`I
`
`,,
`
`Consistency Checking System
`400
`
`"----
`_./
`Configuration Model
`(Configuration Space)
`402
`
`~
`
`...
`
`Consistency
`Checking Error
`Operations
`404
`
`Page 1 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 1 of 26
`
`US 7,200,582 Bl
`
`100
`
`/200
`
`RULES
`Feature Optionality
`F1
`S
`F1
`0
`M
`F2
`0
`F2
`0
`F2
`0
`F2
`0
`F3
`F3
`0
`0
`F4
`0
`F4
`
`Constraint
`A1,81,C1, 01,E1
`A1,81,C1,01,E2
`A1,81,C1,01,E1
`A1, 81, C1, 01, E3
`A1,81,C1,02,E1
`A1, 81, C1, 02, E2
`A1, 81, C1, 02, E1
`A1, 81, C1, 02, E2
`A1,81,C1,02,E1
`A1, 81, C1, 02, E2
`
`Figure 1 (prior art)
`
`• • •
`
`A1
`81
`C1
`01
`E1
`s
`
`M
`
`A1
`A1
`A1
`A1
`81
`81
`81
`81
`C1
`C1 C1
`C1
`01
`02 01
`01
`E2 E3
`E1
`E2
`
`0
`
`0
`
`0
`
`0
`
`0
`
`0
`
`0
`0
`L_j L_j L_j L_j L__j
`•
`Figure 2A (prior art)"
`
`•
`
`•
`
`/202
`
`• • •
`
`A1
`81
`C1
`01
`E1
`s
`M
`
`A1
`A1
`81
`81
`C1
`C1
`01
`01
`E2 E3
`
`A1
`A1
`81
`81
`C1
`C1
`02 02
`E1
`E2
`
`0
`
`0
`
`0
`
`0
`
`0
`
`0
`
`0
`0
`L_j L_j L_j L -1 __ ....J 1----IIJI~
`
`Figure 28 (prior art)
`
`F1
`
`F2
`
`F3
`
`F4
`
`F1
`
`F2
`
`F3
`
`F4
`
`Page 2 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 2 of 26
`
`US 7,200,582 Bl
`
`• • •
`
`A1
`81
`C1
`01
`E1
`s
`
`M
`
`A1
`A1
`A1
`A1
`81
`81
`81
`81
`C1 C1
`C1
`C1
`01
`02 01
`01
`E2 E3
`E1
`E2
`
`0
`
`0
`
`0
`
`0
`
`0
`
`0
`
`0
`
`0
`
`F1
`
`F1
`
`F2
`
`F3
`
`F4
`
`IF2(a)l .__I __ F2_(a_) _--Jill F2(a)..,
`
`I F2(c)JI
`
`F2(c)
`
`I . . __ I F_2(_c)....,....,
`
`Figure 3
`
`Page 3 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 3 of 26
`
`US 7,200,582 Bl
`
`/500
`
`~
`
`501\
`
`User selects a specific family to consistency
`check (which becomes the "main family", or
`consistency checking will loop through all
`families in the model, selecting each in turn as
`the main family.
`
`User Input 406
`
`Display/Report
`408
`
`Consistency Checking System
`400
`
`Consistency
`Checking Error
`Operations
`404
`
`Figure 4
`
`~-------------,--------~
`
`l
`
`/502
`Select consistency v /
`checking error operation
`
`Consolidate selected v 504
`
`l
`
`configuration space data into
`feature subsets within a
`configuration space based on
`particular selected
`consistency error operation.
`
`for feature subsets.
`
`Ge"emte dL '''"c!"'e' V" 506
`j_
`
`508
`
`Conduct set math
`routines to
`determine any
`consistency errors.
`
`/
`
`1
`
`Display/Report
`consistency check
`results
`
`Figure 5
`
`V 510
`
`Page 4 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 4 of 26
`
`US 7,200,582 Bl
`
`-----
`1
`
`/600
`I v602
`
`Level
`
`1
`
`I
`I
`----r---------
`'
`
`Node
`
`L--------...A
`
`Figure 6A
`
`Page 5 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 5 of 26
`
`US 7,200,582 Bl
`
`/600
`
`610
`
`- -1
`
`606
`
`I A1
`
`A2
`
`A3
`
`81
`
`Figure 68
`
`Page 6 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 6 of 26
`
`US 7,200,582 Bl
`
`/700
`
`X1
`
`A1
`
`81
`
`704
`
`82
`L------------------
`
`Figure 7A
`
`706
`
`/700
`
`710
`
`82
`
`83
`
`81
`
`82
`
`83
`
`Figure 78
`
`Page 7 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 7 of 26
`
`US 7,200,582 Bl
`
`0
`
`0
`
`A1
`
`A2
`
`A3
`
`0
`
`82
`
`0
`
`83
`
`81
`
`0
`
`A1
`
`A2
`
`A3
`
`0
`
`81
`
`0
`
`83
`
`82
`
`X1
`
`Figure 7C
`
`Page 8 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 8 of 26
`
`US 7,200,582 Bl
`
`800
`
`802
`
`SOML
`
`804
`
`806
`
`Figure 8
`
`Page 9 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 9 of 26
`
`US 7,200,582 Bl
`
`/900
`
`Rules
`
`Feature Optionality Constraint
`EN1
`0
`ALL
`EN2
`S
`ALL
`
`TR1
`TR2
`TR2
`
`AX1
`AX2
`AX2
`AX2
`AX3
`
`s
`s
`0
`s
`s
`0
`R
`0
`
`EN1
`EN2
`EN1
`
`EN1
`EN1.TR2
`EN2.TR2
`EN2
`TR2.EN2
`
`Figure 9
`
`/1000
`
`Main
`EN1
`Frtmilv
`TR1 TR2 TR1
`AX1 s
`s
`s
`AX2
`AX2
`AX3
`
`R
`
`EN2
`TR2
`
`0
`R
`0
`
`1002
`
`1004
`
`1006
`
`/1002
`
`1014
`
`Figure 10
`
`Page 10 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 10 of 26
`
`US 7,200,582 Bl
`
`SOML
`
`/
`
`1102
`
`F1 error
`
`---~--L __________ _
`: I I I 0 I 0 I
`I
`I
`I
`I
`I
`I
`I
`
`EN! EN2
`
`EN!
`
`EN2
`
`EN!
`
`EN2
`
`Figure 11A
`
`Page 11 of 34
`
`FORD 1005
`
`

`
`e •
`
`00
`•
`~
`~
`~
`
`~ = ~
`
`~ :-:
`
`(.H
`
`~
`
`N
`0
`0
`-....l
`
`('D
`('D
`
`rFJ =(cid:173)
`.....
`....
`....
`0 .....
`N
`0\
`
`d
`rJl
`-....l
`
`00
`
`'N = = u.
`N = """"'
`
`AX'
`
`AX' AXJ
`
`Axl
`
`Ax2
`
`'X3
`'
`
`AX!
`
`4.X2
`
`AX3
`
`F1 error
`
`01
`
`AXI
`
`4.X2
`· .
`
`AX3 AX!
`
`~>::2
`
`AX3
`
`1~ I 0 1~ I I 0 1~ l OJ
`l
`~
`
`01 - - ~ ~.
`LL..J
`LL..J Ftgure 11 B
`TRl ~TR2
`TRl rR2
`
`I-ll 0 I o I BlTOI CD I oJI I
`c=b
`c=b
`c=b SOML 1\ 'R
`ct;ct;
`TR! m
`rn
`
`ENI
`
`EN2
`
`EN! EN2
`
`EN!
`
`EN2
`
`rn
`- ~ _
`10 I 0 r:J 17171!]
`~ rn
`~ rn
`rn
`rn
`
`rn
`
`EN! EN2
`
`1
`
`EKl
`
`El\:2
`
`1
`
`6
`
`110
`
`AXO
`
`AX2
`
`I L
`l
`1,..------,0 1,-----,0 I I
`,....---0
`- - - -
`AX3 I
`
`~ rn
`rn
`
`TRl tTR2
`
`EN!
`
`EN2
`
`-
`
`5
`
`- -
`
`4
`
`5 -
`
`AXO
`
`AX2
`
`AX3
`
`AXO
`
`AX2
`
`AX3
`
`:I ' " I 0 I
`
`AXO
`: J ;X J
`I
`
`2
`
`3
`
`-
`
`- ___± -
`I 0 I oE] CY-l oIl I
`AXO~AXJ AXO~AX3
`
`J;J;
`
`ENI EN2
`
`ENI
`
`EN2
`
`1
`
`TRI TR2
`
`:~
`
`ENI
`
`EN2
`
`I
`
`TRI ~TR2
`
`TRI ~TR2
`
`EN! EN2
`
`EN! DJ2
`
`______ ___ _ j
`
`Page 12 of 34
`
`FORD 1005
`
`

`
`/1112
`
`I
`: AXO
`
`AX2
`
`AX3
`
`AXO
`
`AX2
`
`AX3
`
`TRI TR2
`
`I
`I
`I
`: I !
`I
`I
`I
`I
`I
`I
`I
`I
`:
`I
`I
`
`,
`
`o
`
`EN! EN2
`
`01
`
`TRI TR2
`
`,
`
`,
`
`EN! EN2
`
`/
`'
`
`\
`'
`I
`AXO \ AX2 /~3 I
`
`\
`
`\
`
`/
`/
`/
`
`0 \1
`/
`
`/
`
`I
`
`/
`/
`I
`/
`
`\
`
`\
`
`\
`t\
`
`1
`I
`I
`
`I
`
`I
`I
`I
`I
`1
`I
`I
`
`EN! EN2
`
`\
`
`I
`\1
`
`r--------------------------- 1
`I
`I
`*
`*
`
`*
`
`1116
`
`I
`1
`I
`I
`
`~
`~I
`~I
`I
`1 ~ TRI ~TR2
`:
`I
`I
`:
`I
`:
`I
`---------------------------~
`1 - - - - - - _j~~~~~L __ _
`*
`*
`I~ I
`d51122:
`
`:------=----j ____ -- - --I SOMl:" -- --,
`~ I' I o I o I I , I o I' I I'~ I , I o l!
`I~ ~ !' 1
`[]Q:
`I d J ~ TRliTR2
`/CE} :
`L--- ----- _____________________ /__ ---- ______ : h 1124
`1 8520
`VI
`~ c±J 1118 1
`J;J; TRI tTR2
`rn
`
`0
`
`-
`-
`
`I
`I
`I
`I
`I
`I
`:
`I
`I
`I
`I
`
`i
`
`EN!
`
`EN2
`
`EN!
`
`EN2
`
`EN!
`
`EN2
`
`I
`I
`I
`I
`I
`I
`---------------------------~
`
`(~OMl:"( / _ 1114--------------
`!
`*
`*
`I
`: ~
`
`,
`
`:
`
`1
`I
`I
`I
`I
`
`rn :
`
`0
`
`1
`
`EN! EN2
`
`I
`I
`I
`:
`
`1
`1
`I
`
`1
`I
`I
`I
`I
`I
`
`1
`
`1
`
`TR! TR2
`
`1
`
`0
`
`EN! EN2
`
`I
`I
`I
`I
`
`I
`I
`I
`
`1
`
`1
`

`
`]
`
`:
`1
`I
`1
`I
`I
`
`: dJTRl TR2
`1
`I
`1
`I
`
`1
`
`0
`
`0
`
`TRl TR2
`
`:
`I
`I
`I
`I
`
`Figure 11C
`
`il 0 ~
`
`EN!
`
`I
`I EN! EN2
`I
`I
`I
`I
`I
`__________________ j
`I
`I
`
`EN2
`
`e •
`
`00
`•
`~
`~
`~
`
`~ = ~
`
`~ :-:
`
`(.H
`
`~
`
`N
`0
`0
`-....l
`
`('D
`('D
`
`rFJ =(cid:173)
`.....
`....
`N
`0 .....
`N
`0\
`
`d
`rJl
`-....l
`
`00
`
`'N = = u.
`N = """"'
`
`Page 13 of 34
`
`FORD 1005
`
`

`
`c±;*
`cb 1 I 0
`
`TRl TR2 -
`
`EN! EN2
`
`I
`
`I
`I
`:
`I
`I
`I
`
`I
`
`0
`
`0
`
`I
`
`c±;TRI TR2 I TRt TR21
`I I
`ENl EN2
`
`I
`I
`
`:
`
`i
`
`I
`I
`:
`1
`I
`I
`
`ENl EN2
`I
`[ _________________ ,
`
`F1 error
`
`ALL
`
`L_
`
`1124
`
`[SOML-Rl
`r------------- ---~
`1
`I
`I
`1
`
`1126: ~* 112d£* 1132\
`
`1130
`/_
`___ --------------
`I
`I
`I
`I
`
`i ~* ~· :
`
`l
`
`O
`
`O
`
`1
`
`I
`I
`I
`
`TRI TR2 :
`
`I
`I
`- I
`
`-
`
`: TRI TR2
`1
`
`c±;1 ~I i
`
`I
`I
`: EN! EN2
`I
`I
`.I
`
`EN! EN2
`
`L _________________ J
`
`I
`I
`:
`I
`I
`I
`
`* l; 1132
`~
`TRlTR2
`CTI
`
`EN! EN2
`
`e •
`
`00
`•
`~
`~
`~
`
`~ = ~
`
`~ :-:
`
`(,H
`
`~
`
`N
`0
`0
`-....l
`
`('D
`('D
`
`rFJ =(cid:173)
`.....
`....
`0 .....
`N
`0\
`
`(,H
`
`d
`rJl
`-....l
`
`00
`
`'N = = u.
`N = """"'
`
`-~
`
`1136
`
`Transmission 1/Enqine 2
`configuration lacks an axle.
`
`Figure 11D
`
`* 1 /1134
`~
`TRrR2
`~
`
`[F11 = -[SOML-RJ
`
`ENl EN2
`
`Page 14 of 34
`
`FORD 1005
`
`

`
`F2a error
`
`1 1202
`
`j
`SML
`~---------- - - - -1
`~~-~EJ
`
`~-~ r~ ,- 0 J
`AX3 c6
`"l "'
`rn
`
`AX!
`
`AX2
`
`EN! EN2
`
`AX!
`
`AX2
`
`&X3 c6 "l "'
`
`IT]
`
`EN!
`
`EN2
`
`_______________ ___,
`
`-
`
`-
`
`R
`
`1206
`
`:
`
`I
`I
`I
`I
`I
`
`TRI ~TR2
`
`I
`I
`I
`
`I
`I
`I
`
`TRl
`
`TR2
`
`~
`
`.
`I
`TRl
`1R2
`..
`
`I
`I
`I
`
`!! L 1204
`1- _______ L __ _
`~ -
`I
`'
`I·I,I·T~
`: 1·1,1,1: :1'1"1'1
`AX' T =
`"' '~ m i
`i : ~' ~ '~
`1 1
`I 1
`rn :~m m~
`: rn::rn
`rn:
`
`EN!
`
`EN2
`
`ENI
`
`EC/2
`
`ENI
`
`EN2
`
`I
`I
`I
`I
`I
`I
`I
`I
`L _______ J ~-------------~
`0
`/1212
`1214
`I-------=- _L - - - -
`\
`I _\._
`[0-R]
`
`I
`: AXl
`
`AX2
`
`AX3
`
`AXI
`
`AX2
`
`AX3
`
`TRI ITR2
`..
`
`L.L:.J
`TRI ITR2
`..
`
`I
`I
`I
`
`0
`
`I
`I
`I EN!
`
`I
`
`EN2
`
`0
`
`I
`
`I
`L _ _:_N~ EN2
`EN2
`ENJ
`_________ j
`
`I Transmission 2/Engine 2
`1218 ~ has no standard.
`
`(SML-R] = (SMlil-, R]
`
`, - -
`
`ENl EN2
`
`---, [SML-R]
`-
`-
`-
`- 1
`1- -
`- 1
`-
`-
`*
`*
`I
`I 12os 1
`1 L.L:.J
`L.L:.J
`I
`TRl I TR2
`TRI I TR2
`I
`I
`I
`:
`-t
`I
`1
`..
`I
`11210"" I ~ I
`rT-:-1
`I
`'i LLJ I
`I L.L:.J
`I
`I
`I
`I
`I
`I
`EN!
`EN2
`~-----~
`"":- ___ I
`Figure 12
`
`[0-RJ-fSML-Rl
`~1216
`I I 0 I 1 I 0 I I 0 I 0 I 1 I I I
`- - - 1 1- -
`~ v I ~ I
`I
`-
`*
`*
`I
`I
`I I
`I
`I ~ I I ~I
`I
`I
`I
`1 1 L.L:.J I I L.L:.J 1= [F2a]
`I rn ~ I 1
`
`I ~Rl TR2 I I ~RI TR2
`..
`..
`I
`I
`l1
`I
`I I
`I
`I I
`I
`: rn
`. , : ~----~ L - - -J
`I I EN!
`EN2 I
`rn I
`
`e •
`
`00
`•
`~
`~
`~
`
`~ = ~
`
`~ :-:
`
`(.H
`
`~
`
`N
`0
`0
`-....l
`
`('D
`('D
`
`rFJ =(cid:173)
`.....
`....
`0 .....
`N
`0\
`
`.j;o.
`
`d
`rJl
`-....1
`
`00
`
`'N = = u.
`N = """"'
`
`Page 15 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 15 of 26
`
`US 7,200,582 Bl
`
`Start
`
`1302
`
`/1304
`
`/1300
`
`/ 1306
`
`1308
`
`Create empty tries for
`[F2b]0 and [familySML] 0
`
`N=number of main features
`
`[F2b];+ 1 = [F2b]; U ([familySML]; 1\ [featureSML - featureRJ;)
`
`1310
`
`i = i+1
`
`1314
`
`Yes
`
`1316
`
`([familySMLJ;+1 =
`
`([familySMLJ; U [featureSML - featureR]i)
`
`No
`
`Figure 13
`
`1318
`
`Page 16 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 16 of 26
`
`US 7,200,582 Bl
`
`i = 0
`
`TRI TR2
`
`L ____________ _
`
`EN! EN2
`- - - - - - - - - - - -
`1412
`
`[F2b] 1
`
`Figure 14A
`
`TRI TR2
`
`EN!
`
`EN2
`
`Page 17 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 17 of 26
`
`US 7,200,582 Bl
`
`i:: 0
`
`[family SML]
`
`1
`
`1414
`
`,------11
`
`1 [feature SM L • featureR]) 0 I I
`I I
`I I
`I I
`I I
`I I
`I I
`I I
`I I
`I
`I I
`I EN I EN2
`L_ _ __ __ _ I
`
`IAXI AX2 AX3
`
`TRl TR2
`1 o
`
`11416
`I
`I
`I
`I
`I I
`I
`I I EN l EN2
`I L_ _ __ _ j
`
`-------*---------
`
`....------,
`
`AX3 v1418
`
`jAXl AX2
`I
`I
`I TRI TR2
`I
`I
`I ENI EN2
`
`I
`I
`I
`I
`I
`
`L -1-- J
`i AXI~X * ~X~ (
`
`1420
`
`Figure 148
`
`[family SML] 1
`
`::
`
`I
`I
`I
`I
`I
`I
`I
`I
`L ____ J
`EN! EN2
`
`Page 18 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 18 of 26
`
`US 7,200,582 Bl
`
`i = 1
`, - - - - - - - - - - - - - - - - - - - - - - - - - - .......
`
`[F2b] 2
`
`*
`
`TRL TR2
`
`ENL EN2
`
`Figure 14C
`
`Page 19 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 19 of 26
`
`US 7,200,582 Bl
`
`i = 1
`
`[family SML] 2
`
`=
`
`U
`
`- - - - - - - - - - - - - - - - - ,
`I -----1
`~-------,
`I
`I [feature SML- featureR])
`1 I
`[family SML] 1
`1
`*
`I
`II
`I I
`*
`I
`l1
`I
`I
`I
`l1
`I I
`I
`I
`II
`I I
`I
`I
`l1
`I I
`I
`I
`l1
`I I
`I
`I
`II
`I I
`I
`I
`II
`I I
`I
`IL__ ____ j
`L~N_l EN2 ___ 11
`L ___ :~J ~~-----_.J
`
`*
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`[family SML] 2 = I
`I
`I
`I
`I
`I
`I
`ENI EN2
`L_ ____ j
`
`Figure 14D
`
`Page 20 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 20 of 26
`
`US 7,200,582 Bl
`
`:
`
`-
`
`-
`
`-
`
`AX3
`
`AX! AX2
`
`AX3
`
`I _i=2_--- = = = = = = = = = = = = = ======-::;I
`F2b
`[featu" s~~ featureRJ~ -
`~
`- I u : [[family SML[ 2 A
`[F2b[ 3 =: : [F2bl; -
`II
`I
`I
`I
`II
`I
`I
`I
`I
`I I
`I
`I
`I
`II
`I
`I
`II
`I
`I
`I
`I
`II
`I
`I
`11
`I
`I
`I
`1 o
`11
`I
`I
`I
`I
`I
`I
`I
`I~ --=-N~ EN:_ I
`I EN! EN2
`J
`I
`I
`
`*
`
`*
`
`TRI TR2
`
`I
`I
`I AX! AX2
`o
`I
`I
`I
`
`TRI TR2
`
`I
`I
`~ _!N~ ~N~-
`
`TRI TR2
`
`EN! EN2
`
`! -----
`
`: :
`I I
`I I
`I I
`I I
`I I
`I I
`I 1
`I 1
`I I
`I I
`II
`
`I I
`I
`I
`I I
`I
`I
`I I
`I
`I
`1 I
`I
`I
`I I
`I
`I
`TRI TR2
`o o
`I I
`I
`I
`I I
`I
`I
`L __________ mifN2 ______
`1
`1
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`EN! EN2
`L - - - - - - - - - - - - - . - - - - - - - - - - - -
`
`TRI TR2
`
`*
`
`*
`
`1422
`
`Figure 14E
`
`[F2b)
`
`3
`
`Transmission 2/Engine 1
`has multiple standards.
`
`EN! EN2
`
`Page 21 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 21 of 26
`
`US 7,200,582 Bl
`
`/1500
`
`Rules
`
`Feature Optiona~ity Constraint
`EN1
`0
`ALL
`EN2
`S
`ALL
`
`TR1
`TR2
`TR2
`
`AX1
`AX1
`AX2
`AX2
`AX2
`AX3
`
`s
`s
`0
`
`s
`M
`s
`0
`R
`0
`
`EN1
`EN2
`EN1
`
`EN1
`EN2.TR2
`EN1.TR2
`EN2.TR2
`EN2
`TR2.EN2
`
`Figure 15
`
`/1600
`
`Main EN1
`EN2
`Family TR1 TR2 TR1
`s
`AX1 s
`s
`tv<2
`AX2
`AX3
`
`R
`
`TR2
`M
`0
`R
`0
`
`Figure 16
`
`Page 22 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 22 of 26
`
`US 7,200,582 Bl
`
`,---~~--/ 1702,-----~-~ 1704
`
`I
`I
`I
`'------'---...---'---
`I
`AXJ
`1 AX! AX
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`EN! EN2
`1
`I
`L _________ _
`
`TRl
`
`TR2
`
`I
`I
`
`AXI AX2
`
`AX3
`
`TRI
`
`TR2
`
`I
`I
`I
`I
`L _________ _
`EN! EN2
`I
`
`R
`
`j 1706
`
`AXI AX2 AX3
`
`AXl AX2 AX3
`
`TRI TR2
`
`1
`- - - - - - - - - - - - - - - - - - - - - ----1
`I
`I
`I
`I
`1
`I
`I
`I
`I
`I
`I
`I
`I
`J
`I
`I
`EN2
`EN!
`EN2
`ENl
`1
`1
`L-------------------------1
`
`Figure 17A
`
`n
`
`---~~~~~02
`
`I
`I
`I r-----.r----.---, I
`I
`J
`I
`I
`I L----l-----,.---l.-.....1
`I
`I AXl AX
`AX3 1
`I
`J
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`EN!
`EN2
`I
`I
`L----------
`
`TRl
`
`TR2
`
`1710
`/_
`[ML-R]
`----------.....,
`I
`*
`:
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`1
`EN!
`EN2
`L _________ _
`
`TRI
`
`TR2
`
`Page 23 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 23 of 26
`
`US 7,200,582 Bl
`
`--, R
`/1720
`r--------------~------,
`
`AXl AX2 AX3
`
`1
`
`1
`
`TRl TR2
`
`1
`
`ENI EN2
`
`ENI EN2
`
`2
`
`3
`
`------~-/ 1718
`
`I
`I
`I
`
`0
`
`1
`
`0
`
`IL-----L..--.-....L..-----J
`I
`iAXI AX2
`I
`I
`I
`I
`1
`I
`I
`I
`I
`I
`~_~til __ E~~ __ _
`
`TRl
`
`0
`
`1
`
`r- - - -
`
`- - - - - - -~-:_R-------- j 1722
`
`In3
`
`0
`
`In2
`0
`
`AXI AX2 AX3
`
`AXl AX2
`
`AX3
`
`0
`
`TRl
`
`0
`
`0
`
`TRl
`
`0
`
`________________________ j
`
`ENl EN2
`
`ENl EN2
`
`Figure 178
`
`Page 24 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 24 of 26
`
`US 7,200,582 Bl
`
`1712
`
`~-~~-~~--~
`*
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`EN! EN2
`1....--------...J
`
`TRl TR2
`
`1714
`
`r ____ _j_ __ _
`*
`
`TRI TR2
`
`EN2
`EN!
`L _________ _
`
`1\
`
`1716
`
`Transmission 2/Engine 2
`has mandatory and/or legal
`optionalities conflicting with
`an "optional" optionality.
`
`Figure 17C
`
`Page 25 of 34
`
`FORD 1005
`
`

`
`~ 1806(1)
`
`1804(i)
`
`1804(2)
`
`1806(3)
`
`Network
`1802
`
`1806(N)
`
`1806(N-1)
`
`1806(9)
`
`Figure 18
`
`e •
`
`00
`•
`~
`~
`~
`
`~ = ~
`
`>
`'e :-:
`
`(.H
`
`~
`
`N
`0
`0
`-....l
`
`rFJ =(cid:173)
`('D a
`
`N
`Ul
`0 .....
`N
`0\
`
`d
`rJl
`-....l
`
`00
`
`'N = = u.
`N = """"'
`
`Page 26 of 34
`
`FORD 1005
`
`

`
`U.S. Patent
`
`Apr. 3, 2007
`
`Sheet 26 of 26
`
`US 7,200,582 Bl
`
`1
`
`1/0
`
`..
`....
`
`/1919
`
`/1916
`
`VIDEO
`DRIVER
`
`..
`
`....
`
`/
`
`DISPLAY
`
`/1913
`
`J/1914
`
`Processor
`
`VIDEO
`MEMORY
`
`,
`
`MAIN
`MEMORY
`
`/1918
`
`•
`
`~------~~----------~~--~--------~
`~
`
`r
`
`/1910
`
`USER INPUT
`DEVICE(S)
`
`1909
`
`MASS STORAGE
`
`/
`
`Figure 19
`
`Page 27 of 34
`
`FORD 1005
`
`

`
`US 7,200,582 Bl
`
`1
`CONFIGURATION MODEL CONSISTENCY
`CHECKING USING FLEXIBLE RULE SPACE
`SUBSETS
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`The present invention relates in general to the field of
`information processing, and more specifically to a system
`and method for checking consistency of configuration mod- 10
`els against predetermined rules and assumptions using flex(cid:173)
`ible rule space subsets.
`2. Description of the Related Art
`A configurable product can be described by a configura(cid:173)
`tion model having a set of configuration rules. A config- 15
`urable product can be conceptually broken down into sets of
`selectable families and features of families that make up
`each product. A family represents a classification of a
`particular type of feature. Families are typically classified as
`groups of features with the same functional purpose. 20
`Example families for an automobile are "engines," "tires,"
`"seats," and "exterior paint color." Families can be repre(cid:173)
`sented in terms of the minimum and maximum number of
`features that must be present in a configuration from a family
`for the configuration to be valid. A common family mini- 25
`mum and maximum or "(min, max)" is (1, 1). This notation
`means that exactly one feature from the family must be part
`of a configuration for the configuration to be valid. Other
`common (min, max) settings are (0, 1), meaning that either
`no features or a single feature from the family must be 30
`present in a configuration for it to be valid, and (0, -1 ),
`meaning that zero or any positive number of features from
`the family must be present in a configuration for it to be
`valid.
`A feature represents an option that can be ordered on a 35
`product. All features are members of a family. Features are
`both assigned optionalities and used to qualifY other features
`and the optionalities assigned to them. An example feature
`from the engine family is a "4.8 liter V8." Features relate to
`each other via ordering codes or optionalities. Example
`optionalities include "S", "0", "M", and "N," which trans(cid:173)
`late to standard, optional, mandatory, and not available. A
`specific example would be "the 4.8 liter V8 engine is
`standard on the GS trim."
`A configuration rule includes a main feature, an option(cid:173)
`ality, one or more constraints, and an applicable timeframe.
`As an example:
`
`45
`
`2
`above defines a buildable configuration in the following
`way: "the 4.8 liter V8 is buildable (because it is standard)
`with the combination of XL and US." If the combination of
`features, such as of XL and US, is not buildable, the example
`rule is inactive. Consequently, even though the engine is
`buildable with that combination, if the combination is not
`buildable, the three features together are not a buildable
`configuration. A rule that would make the example rule
`inactive is the following:
`
`Main feature
`
`Optionality Constraints Timefrarne
`
`XL
`
`N
`
`us
`
`September 2002 Rule 2
`
`Rule 2 means "the XL trim main feature is not available
`with US from September of 2002 onward." Until the XL
`main feature is made available with the US by changing the
`optionality from "N" to one that expresses a positive rela(cid:173)
`tionship, there will not be a buildable configuration for XL,
`US, and the 4.8L engine.
`Thus, a rule defines a buildable configuration between its
`main feature and its constraints only. A rule does NOT define
`a buildable configuration relationship between the members
`of its constraints. A separate rule must define that buildable
`configuration. Consequently, all rules together for a product
`define the complete product buildable configurations. In
`order to determine if the three features in the example rule
`(the main feature and the constraints) are a buildable con(cid:173)
`figuration, the rules written on each of those features (i.e.
`where each feature is the main feature) need to be considered
`jointly. Inactive rules do not define buildable configurations
`until they become active.
`Inconsistencies between rules represent a significant con-
`cern when modeling a product using rules. Inconsistencies
`among rules in configuration models result in errors that
`negatively impact the usability of a configuration model.
`Inconsistencies can occur due to modeling mistakes or due
`40 to multiple parties generating rules for the same configura(cid:173)
`tion model. Thus, detecting inconsistency errors through
`consistency checking plays an important role in developing
`useable, robust configuration models.
`
`For example:
`
`Main feature
`
`Optionality Constraints Time frame
`
`Main feature
`
`Optionality Constraints
`
`Timeframe
`
`4.8 liter V8
`
`s
`
`XL&US
`
`May-December
`2003
`
`Rule 1
`
`Rule 1 means "the 4.8 liter V8 is standard with the XL
`trim and US market from May to December 2003." The
`main feature represents the feature that is being affected by
`the rule. Optionalities can be positive or negative: positive
`optionalities state that the main feature can work with the
`constraints; negative optionalities state the main feature
`cannot work with the constraints. Constraints qualifY the
`rule and can be an arbitrary Boolean expression of features
`such as AND, NOT, and OR operators. The timeframe
`specifies when the other rule elements are effective.
`A configuration buildable describes what features can and
`can't exist with other features of a product. The example rule
`
`50
`
`XL
`XL
`
`N
`s
`
`us
`us
`
`September 2003
`September 2003
`
`Rule 3
`Rule 4
`
`Rule 3 and Rule 4 are inconsistent because Rule 3
`signifies that the feature XL is not available in the U.S.
`55 market, and Rule 4 signifies that the feature XL is standard
`in the U.S. market. As the number of rules grows, the ability
`to detect inconsistencies becomes more challenging.
`FIG. 1 depicts a set of rules 100 with features F1-F4 of
`a single family, optionalities, and constraints represented by
`60 families A, B, C, D, E (each having "X" numberoffeatures).
`FIGS. 2 and 3 depict the rules of FIG. 1 in respective grids
`200 and 202 and illustrate two conventional ways of detect(cid:173)
`ing inconsistencies between rules. In FIG. 2A, each cell in
`a colunm is compared against every other cell in a colunm.
`65 An inconsistency error exists if two cells with a colunm have
`inconsistent optionalities or other assumptions are violated,
`such as a lack of a standard configuration in a colunm. Some
`
`Page 28 of 34
`
`FORD 1005
`
`

`
`US 7,200,582 Bl
`
`3
`configurable products have tens of thousands or hundreds of
`thousands of rules defining buildable configurations. As the
`number of rules and, thus, colunms in the grid of FIG. 2A
`grow, colunm by column inconsistency checking becomes
`very computationally time consuming.
`FIG. 2B depicts a variation on the colunm-by-column
`consistency checking approach of FIG. 2A. In FIG. 2B
`colunms with identical optionalities are grouped together.
`Thus, the number of consistency checking operations is
`reduced; however, this can still result in long periods of
`computational processing.
`
`SUMMARY OF THE INVENTION
`
`In one embodiment of the present invention, a method of 15
`detecting multiple consistency error types between configu(cid:173)
`ration rules, wherein each consistency error is represented
`by a set equation, includes, for each consistency error,
`identifying one or more sets of feature combinations in
`accordance with the set equation of the consistency error. 20
`The method further includes detecting the consistency error
`using the one or more identified sets of feature combinations
`and the set equation associated with the consistency error.
`In another embodiment of the present invention, a con(cid:173)
`sistency checking system for detecting multiple consistency 25
`error types between configuration rules, wherein each con(cid:173)
`sistency error is represented by a set equation, the system
`including a processor and a memory coupled to the proces(cid:173)
`sor. The memory having instructions executable by the
`processor that for each consistency error identifies one or 30
`more sets of feature combinations in accordance with the set
`equation of the consistency error and detects the consistency
`error using the one or more identified sets of feature com(cid:173)
`binations and the set equation associated with the consis(cid:173)
`tency error.
`
`4
`FIGS. llA, llB, llC, and llD depict a use of trie data
`structures and set routines to determine a missing optionality
`consistency error within a subset of a configuration space.
`FIG. 12 depicts a use of trie data structures and set
`routines to determine a consistency error when a usage rule
`is present, a standard optionality is required, and no standard
`optionality is present.
`FIG. 13 depicts an operational flow chart to determine a
`consistency error indicating the existence of multiple stan-
`10 dards for a subset of configuration rules.
`FIGS. 14A, 14B, 14C, 14D, and 14E depict a use of trie
`data structures and set routines to determine a consistency
`error indicating the existence of multiple standards for a
`subset of configuration rules.
`FIG. 15 depicts example configuration rules to illustrate
`consistency checking operations of the consistency checking
`system of FIG. 4 when determining a consistency error that
`occurs when mandatory or legal optionalities conflict with
`an "optional" optionality.
`FIG. 16 depicts a grid containing the rules of FIG. 15.
`FIGS. 17 A, 17B, and 17C depict a use of trie data
`structures and set routines to determine a consistency error
`that occurs when mandatory or legal optionalities conflict
`with an "optional" optionality.
`FIG. 18 depicts a block diagram depicting a network
`enviroument in which a consistency checking system may
`be practiced.
`FIG. 19 depicts a computer system.
`
`DETAILED DESCRIPTION
`
`Although the present invention has been described in
`detail, it should be understood that various changes, substi(cid:173)
`tutions and alterations can be made hereto without departing
`35 from the spirit and scope of the invention as defined by the
`appended claims.
`As stated above, inconsistencies between rules represent
`a significant concern when modeling a product using rules.
`The amount of time and processing resources used to
`40 perform consistency checking also represents a significant
`concern. Long processing times for consistency checks
`introduce a number of problems, such as detrimental post(cid:173)
`ponement of consistency checks, reluctance to make
`changes to a configuration model, and work force inefli-
`45 ciencies. Embodiments of the consistency checking system
`described herein improve consistency checking perfor(cid:173)
`mance, especially when performing consistency checks on
`large configuration models, i.e. configuration models having
`a large number of rules.
`The consistency checking system approaches a configu-
`ration model from the perspective of sets of features and
`families. The configuration space of a model represents the
`entire set of all combinations of selections within a configu(cid:173)
`ration model. The consistency checking system operates on
`55 subsets of the configuration space by consolidating data
`within the configuration space into minimized subsets that
`represent a portion of the configuration space where a
`particular consistency error can occur. Thus, the contents of
`each subset vary depending upon which consistency error is
`60 being checked, and consistency checking is performed on
`reduced subsets determined on an error by error basis rather
`than on the configuration space as a whole.
`One difficulty that has been overcome by embodiments of
`the consistency checking system described herein is the
`65 identification of individual consistency errors and the ability
`to identify the subsets of the configuration space where such
`consistency errors can occur.
`
`50
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The present invention may be better understood, and its
`numerous objects, features and advantages made apparent to
`those skilled in the art by referencing the accompanying
`drawings. The use of the same reference number throughout
`the several figures designates a like or similar element.
`FIG. 1 (prior art) depicts a set of configuration rules
`having features, optionalities, and constraints.
`FIG. 2A (prior art) depicts a colunm-by-colurnn approach
`to rule consistency checking.
`FIG. 2B (prior art) depicts a consolidation of identical
`colunms followed by a colunm-by-colunm approach to rule
`consistency checking.
`FIG. 3 depicts a grid with features grouped in accordance
`with particular consistency checking error operations.
`FIG. 4 depicts a consistency checking system.
`FIG. 5 depicts an operational flow chart for the consis(cid:173)
`tency checking system of FIG. 4.
`FIG. 6A depicts an example trie data structure.
`FIG. 6B depicts a binary form of the trie data structure of
`FIG. 6A.
`FIGS. 7 A, 7B, and 7C depict trie minimization operations
`applied to the trie data structure of FIGS. 6A and 6B.
`FIG. 8 depicts example configuration rules to illustrate
`consistency checking operations of the consistency checking
`system of FIG. 4.
`FIG. 9 depicts a grid containing the rules of FIG. 8.
`FIG. 10 depicts a configuration space with multiple sub(cid:173)
`sets.
`
`Page 29 of 34
`
`FORD 1005
`
`

`
`US 7,200,582 Bl
`
`5
`Following are four examples of consistency error types
`that utilize subsets of the configuration space to efficiently
`identify associated consistency errors. The particular subsets
`and example data structure representation and set operations
`are described in more detail below. Arbitrary labels are
`applied to each consistency error type for reference pur(cid:173)
`poses.
`(a) Error "F1" no usage rule of any optionality for a
`particular configuration of families and features.
`(b) Error "F2 (a)"-a usage rule is present, but a standard 10
`optionality is required and no standard optionality is
`present.
`(c) Error "F2 (b)"-multiple standards.
`(d) Error "F2 (c)"-mandatory and legal optionalities
`conflict with an "optional" optionality.
`Another difficulty overcome by the consistency checking
`system relates to identifying and refining a data structure to
`represent such subsets and determining the 'mathematical
`set operations' applied to the data structure in a data pro(cid:173)
`cessing system that provide identification of consistency 20
`errors. A trie data structure effectively represents the con(cid:173)
`figuration subsets, and data processing systems can effi(cid:173)
`ciently conduct set operations on the trie data structures.
`FIG. 3 depicts an example grid that reflects the consoli(cid:173)
`dation of features and columns in the grid into subsets. For 25
`example, the F1 consistency error operates on the set of
`features having standard, mandatory, optional, and legally
`required optionalities less restrictions. The F2( a) consis(cid:173)
`tency error operates on a first set of features having
`'optional' optionalities and a second set of features having 30
`standard, mandatory, and legally required optionalities. The
`F2(c) consistency error operates on a first of features having
`mandatory and legally required optionalities and a second
`set of features having 'optional' optionalities. These sets can
`be further refined as described below to account for 35
`restricted configurations and other contingencies.
`FIG. 4 depicts consistency checking system 400, which
`includes a model having the configuration rules that define
`the configuration space of one or more products. The con(cid:173)
`sistency checking system 400 also includes a consistency 40
`checking error operations module 404 that includes consis(cid:173)
`tency error definitions and operations to generate configu(cid:173)
`ration subsets based on a particular consistency error being
`checked, asso

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket