consistency maintenance propagation consistency
play

Consistency Maintenance: Propagation Consistency Maintenance: - PowerPoint PPT Presentation

Consistency Maintenance: Propagation Consistency Maintenance: Propagation Con fl ict Resolution Challenges Activating inactive features Fix incompleteness 9 97 Con fi gurator Con fi guration GUI Con fi guration Language Code Con fi gurator Con


  1. Consistency Maintenance: Propagation

  2. Consistency Maintenance: Propagation Con fl ict Resolution

  3. Challenges Activating inactive features Fix incompleteness 9 97

  4. Con fi gurator Con fi guration GUI Con fi guration Language Code

  5. Con fi gurator Con fi guration GUI Con fi guration Language Code Translation SMT-Lib Range Fix Algorithm

  6. 10 <= 8 Use_Pre_Allocation -> (Pre_Allocation_Size <= Bu ff er_Size * 1024 / Object_Size)

  7. Use_Pre_Allocation -> (Pre_Allocation_Size <= Bu ff er_Size * 1024 / Object_Size) By how much? Fixes Decrease Pre_Allocation_Size Increase Bu ff er_Size Decrease Object_Size Disable Use_Pre_Allocation

  8. Overview Typed variables Pre_Allocation_Size: Int Bu ff er_Size: Int Object_Size: Int Use_Pre_Allocation: Bool Assigned values Complete fi x list Pre_Allocation_Size = 10 Pre_Allocation_Size <= 8 Bu ff er_Size = 4 Bu ff er_Size >= 5 Fix Generator Object_Size = 512 Object_Size <= 409,6 Use_Pre_Allocation = true Use_Pre_Allocation = false Logic constraint Use_Pre_Allocation -> (...)

  9. Constraint violation Typed variables V : {m:Bool, a:Int, b:Int } Con fi guration (assignment) e : {m=true, a=6, b=5} c : (m → a>10) ⋀ (¬m → b>10) ⋀ (a < b) Violated constraint Range Fixe Assignment Range Unit Unit Range Fix [m := false, b : b > 10] [(a,b) : a > 10 ⋀ a < b] Range Fix

  10. Constraint violation Typed variables V : {m:Bool, a:Int, b:Int } Con fi guration (assignment) e : {m=true, a=6, b=5} Correct All the con fi guration that can be produced c : (m → a>10) ⋀ (¬m → b>10) ⋀ (a < b) Violated Constraint satisfy the constraint A fi x should change a minimal set of Minimality of variables Range Fixe variables Maximality of ranges The range of a fi x should be maximal

  11. Fix generation algorithm 1. Find minimal diagnoses HS-DAG algorithm Hard constraint (c) (m → a>10) ⋀ (¬m → b>10) ⋀ (a < b) Soft constraints (e) [1] m = true [2] a = 6 [3] b = 5

  12. Fix generation algorithm 1. Find minimal diagnoses HS-DAG algorithm Hard constraint (c) (m → a>10) ⋀ (¬m → b>10) ⋀ (a < b) Soft constraints (e) [1] m = true [2] a = 6 [3] b = 5

  13. Fix generation algorithm HS-DAG algorithm {1,2} Hard constraint (c) 1 2 (m → a>10) ⋀ (¬m → b>10) ⋀ (a < b) {3} {3} Soft constraints (e) 3 3 [1] m = true {1,2} and {3} UNSAT core 1 UNSAT cores? SAT SAT Diag Diag [2] a = 6 ... 1 m [3] b = 5 ... {m = true, b=5} {a = 6, b=5} UNSAT core n

  14. Fix generation algorithm 1. Find minimal diagnoses HS-DAG algorithm {m = true, b=5} 2. Replace unchanged variables Replace a (m → 6>10) ⋀ (¬m → b>10) ⋀ (6 < b)

  15. Fix generation algorithm 1. Find minimal diagnoses {m = true, b=5} (m → 6>10) ⋀ (¬m → b>10) ⋀ (6 < b) 2. Replace unchanged variables (m → 6>10) ⋀ (¬m → b>10) ⋀ (6 < b) 3. Generate the fi xes CNF (¬m ⋁ 6>10) ⋀ (m ⋁ b>10) ⋀ (6 < b) folding + simpl. (¬m) ⋀ (b>10) ⋀ (6 < b) simplifying merging (¬m) ⋀ (b>10) (¬m) ⋀ (b>10 ⋀ 6 < b)

  16. Multi-Constraint violation V : {m:Bool, n:Bool, x:Bool, y:Bool, z:Bool } e : {m=true, n=false, x=false, y=false, z=false} c : (m ⋀ n) S : {n → (x ⋁ y), x → z} Satis fi ed constraints Possible fi x Violates n → (x ⋁ y) Ignore [n := true] Eliminate fi x Propagate

  17. Fix generation algorithm with propagation c S P : {m ⋀ n} Shares variables with {n → (x ⋁ y), x → z} ? P : {m ⋀ n, n → (x ⋁ y)} Shares variables with { x → z} ? P : {m ⋀ n, n → (x ⋁ y), x → z} Replace c by P c : (m ⋀ n) ⋀ (n → (x ⋁ y)) ⋀ (x → z) Apply Fix generation algorithm [n=true, x=true, z=true] [n=true, y=true]

  18. 1000 750 500 250 0 virtex4 xilinx ea2468 aki3068net gps4020 arcom-viper Options Constraints Violations

  19. 95% 75% 50 Number of violations 80 Number of fixes 40 60 30 40 20 20 10 0 0 0 1 2 3 4 5 8 9 1 2 3 4 5 6 7 8 9 Number of fixes Number of variables per fix Density of violations 0.025 0.020 73% coverage of error resolution by con fi gtool 0.015 0.010 100% coverage of error resolution by our tool 0.005 0.000 50 100 150 200 Generation Time (ms)

  20. 60 20ms Elimination 50 40 17 ignored 30 20 10 Number of violations 0 60 17ms 50 Ignorance 40 0 ignored 30 20 32% new errors 10 0 60 50ms Propagation 50 40 1 ignored 30 20 10 0 0 1 2 3 4 6 7 8 9 16 18 23 38 56 57 58 Number of variables

  21. Con fi gurator Con fi guration GUI Con fi guration Language Code Translation SMT-Lib Range Fix Algorithm

  22. Con fi gurator Con fi guration GUI Con fi guration Language Code

  23. Unify Software & Product Con fi guration A. Hubaux K. Czarnecki P. Heymans C. Drescher V. Ganesh L. Hvam D. Jannach T. Mannisto L. Murta T. Nguyen M. Zanker

  24. Knowledge Modelling Automated reasoning Complexity Life cycle coverage Knowledge evolution ?

  25. Knowledge Modelling Automated reasoning Complexity Life cycle coverage Knowledge evolution

  26. Knowledge Modelling Automated reasoning Dagstuhl Seminar submitted Complexity Life cycle coverage Knowledge evolution

Recommend


More recommend