satisfaction algorithm
play

Satisfaction Algorithm for Dynamic Reconfiguration Sina Entekhabi - PowerPoint PPT Presentation

An Incremental Constraint Satisfaction Algorithm for Dynamic Reconfiguration Sina Entekhabi Ahmet Serkan Karata Halit O uztzn ODT, Ankara IZTECH Dependability, 8 May 2017 Supported by TBTAK -ARDEB-1001 program under project


  1. An Incremental Constraint Satisfaction Algorithm for Dynamic Reconfiguration Sina Entekhabi Ahmet Serkan Karata ş Halit O ğuztüzün ODTÜ, Ankara IZTECH Dependability, 8 May 2017 Supported by TÜBİTAK -ARDEB-1001 program under project 215E188. 1

  2. Outline • Introduction • Problem definition • Related works • Incremental algorithm • Tracing example • Conclusion • References 2

  3. Introduction(1/4) • Software Product Line (SPL) A series of similar systems o Sharing common cores with some o differences Variability management before runtime o Ex: smartphones o • Dynamic SPL (DSPL) Variability management at runtime o Ex: Smart homes o 3

  4. Introduction(2/4) • Variability Management Ex: Feature model (FM) diagram o SPL: Some of the features in a product o DSPL: o • All of the features in a DSPL product • Runtime reconfigurations regarding context condition Feature model diagram of a smart home[3] 4

  5. Introduction(3/4) • Constraint Logic Program Containing constraints in the body of clauses o Ex: A( x, y):- x>0, y>1, B(x) o • FM relations can be expressed as clauses of logical expressions Ex: o “ 𝐵 excludes 𝐶 ” as “ ¬ 𝐵 ∧ 𝐶 “ • “ 𝐵 requires 𝐶 ” as “ A ⟹ 𝐶 ” • “ 𝐵 is the parent of 𝐶 , in a mandatory relation” as “ A ⇔ 𝐶" • “ 𝐵 is the parent of 𝐶 , in an optional relation” as “ B ⟹ 𝐵 ” • “ 𝐵 is the parent of 𝐶 and C, in an ‘OR’ relation” as “ 𝐶 ∨ 𝐷 ⟹ 𝐵" • “ 𝐵 is the parent of 𝐶 and C, in an alternative relation” as • “ ((B ∧ ~𝐷) ∨ (~B ∧ 𝐷)) ⇔ 𝐵 ” 5

  6. Introduction(4/4) • Runtime DSPL reconfiguration Context Monitor Condition 1 Resolution 1 Condition 2 Resolution 2 …. …. Condition N Resolution N The context monitor specifies activation and/or deactivation of some of the features in specific conditions[4] • Effective reconfiguration criteria: Imposing the minimum number of changes to the current product o 6

  7. Problem Definition(1/2) • The whole FM as a constraint network Every relation as a constraint o Reaching o valid DSPL product by satisfying all of the constraints o • DSPL reconfiguration problem as Constraint Satisfaction Problem(CSP) 7

  8. Problem Definition(2/2) Having a constraint network including a set of variables 𝑊: 𝑊 = 𝑤 1 , 𝑤 2 , … , 𝑤 𝑜 𝑥ℎ𝑓𝑠𝑓 𝑤 𝑗 𝜗𝐸 𝑗 𝑔𝑝𝑠 1 ≤ 𝑗 ≤ 𝑜 , and a set of satisfied constraints C among variables in V: C = 𝑑 1 , 𝑑 2 , … , 𝑑 𝑙 , and a resolution R: ′ , 𝑤 𝑘 2 ⟵ 𝑏 2 ′ , … , 𝑤 𝑘 𝑛 ⟵ 𝑏 𝑛 ′ , R = 𝑤 𝑘 1 ⟵ 𝑏 1 where the variables have the previous values: 𝑤 𝑘 𝑠 = 𝑏 𝑠 𝑔𝑝𝑠 1 ≤ 𝑠 ≤ 𝑛 , the aim is satisfying C and R while minimizing the condition 𝜄 below: , where 𝑦 ⊕ 𝑧 = 0 𝑗𝑔 𝑦 = 𝑧 𝑛 ′ 𝜄 = 𝑗𝑔 𝑦 ≠ 𝑧 𝑏 𝑠 ⊕ 𝑏 𝑠 𝑠=1 1 8

  9. Related works • Incremental CSP algorithms for constraint hierarchy EX: DeltaBlue, SkyBlue, cassowary o • Dynamic CSP algorithms The number of constraints and/or variables are variable o Using previous solution or learning to reach next solution o 9

  10. Incremental algorithm • Our incremental algorithm is inspired from SkyBlue • Using the concept of multi-directional methods • The data structure includes these parts below: S-Variable o S-Method o S-Constraint o S-network o S-log o • Our algorithm includes two main functions: Reconfigure function o Solve function o 10

  11. Reconfigure function 11

  12. Tracing example • Supposing a DSPL with the FM diagram below. • Request R : activate Feature B and C A D C B activated feature deactivated feature G F E K J H I L 12

  13. Arbitrary reconfiguration • An arbitrary valid reconfiguration satisfying R changes :5 o • Valid reconfigurations with less than 5 changes exists A D C B activated feature deactivated feature G F E K J H I L 13

  14. FM to constraint network • Corresponding FM to a set of variables and constraints among them variable A constraint C3 C2 C1 D C B C5 C4 F G E C7 C7 C6 L J I K H Mapping FM to a constraint network 14

  15. Constraint definitions C1: 𝐂 ⇒ 𝑩 • C2: 𝐃 ⇒ 𝑩 • C3: 𝑬 ⟺ 𝑩 • C4: ∼ 𝑪 𝑭 • C5: ( (𝐆 ∼ 𝑯 ∧ ∼ 𝑭) ∨ (∼ 𝐆 𝑯 ∧ ∼ 𝑭) ∨ (∼ 𝐆 ∼ 𝑯 ∧ 𝑭) ) ⟺ 𝑫 • C6: 𝐉 ∨ 𝑰 ⟺ 𝑭 • C7: 𝐇 ⟺ 𝑴 • C8: 𝐆 ⟺ 𝑲 • C9: 𝐆 ⟺ 𝑳 • 15

  16. Different representation • Representing constraint network similar to FM A c1 c3 c2 Variable assigned to True D C B c5 Variable assigned to False c4 Variable needed to be assigned F G to True to reach a solution E c9 c8 c6 Variable needed to be assigned c7 to False to reach a solution J L I H K 16

  17. Tracing(1/11) • Satisfying the request R as the first step • Distributing the effects at the next steps A c1 c3 c2 D C B Variable assigned to True c5 c4 Variable assigned to False Variable needed to be assigned F G E to True to reach a solution c9 c8 c6 c7 Variable needed to be assigned to False to reach a solution J L I H K 17

  18. Tracing(2/11) • A is requested to be true by C1 and C2 • A was true beforehand, no more distribution from A side A c1 c3 c2 D C B Variable assigned to True c5 c4 Variable assigned to False Variable needed to be assigned F G E to True to reach a solution c9 c8 c6 c7 Variable needed to be assigned to False to reach a solution J L I H K 18

  19. Tracing(3/11) • E is requested to be False by C4 A c1 c3 c2 D C B Variable assigned to True c5 c4 Variable assigned to False Variable needed to be assigned F G E to True to reach a solution c9 c8 c6 c7 Variable needed to be assigned to False to reach a solution J L I H K 19

  20. Tracing(4/11) • C5 needs G or F be True, but not E • Choosing G arbitrarily at this point A c1 c3 c2 D C B Variable assigned to True c5 c4 Variable assigned to False Variable needed to be assigned F G E to True to reach a solution c9 c8 c6 c7 Variable needed to be assigned to False to reach a solution J L I H K 20

  21. Tracing(5/11) • C7 needs L be True. A c1 c3 c2 D C B Variable assigned to True c5 c4 Variable assigned to False Variable needed to be assigned F G E to True to reach a solution c9 c8 c6 c7 Variable needed to be assigned to False to reach a solution J L I H K 21

  22. Tracing(6/11) • No more solution to recheck: one Solution found • Solution 1: change (B,C,G,L) to true, changes: 4 A c1 c3 c2 D C B Variable assigned to True c5 c4 Variable assigned to False Variable needed to be assigned F G E to True to reach a solution c9 c8 c6 c7 Variable needed to be assigned to False to reach a solution J L I H K 22

  23. Tracing(7/11) • Backtrack: to satisfy C5, F can be True as well. • Choosing F and trying to find a solution A c1 c3 c2 D C B Variable assigned to True c5 c4 Variable assigned to False Variable needed to be assigned F G E to True to reach a solution c9 c8 c6 c7 Variable needed to be assigned to False to reach a solution J L I H K 23

  24. Tracing(8/11) • C8 needs J be True. • Having 4 changes up to now in this solution search. A c1 c3 c2 D C B Variable assigned to True c5 c4 Variable assigned to False Variable needed to be assigned F G E to True to reach a solution c9 c8 c6 c7 Variable needed to be assigned to False to reach a solution J L I H K 24

  25. Tracing(9/11) • Having 4 changes up to now in this solution search. • Solution1 had 4 changes as well. Pruning this branch A c1 c3 c2 D C B Variable assigned to True c5 c4 Variable assigned to False Variable needed to be assigned F G E to True to reach a solution c9 c8 c6 c7 Variable needed to be assigned to False to reach a solution J L I H K 25

  26. Tracing(10/11) • The algorithm return an optimum solution, solution1. • Solution1 is the only optimum solution in this case. A c1 c3 c2 D C B Variable assigned to True c5 c4 Variable assigned to False Variable needed to be assigned F G E to True to reach a solution c9 c8 c6 c7 Variable needed to be assigned to False to reach a solution J L I H K 26

  27. Tracing(11/11) • After applying solution1 to the system, the FM of the system would be the diagram below. A D C B activated feature deactivated feature G F E K J H I L 27

  28. Conclusion • Variability management of DSPLs by FM • FM corresponds to constraint logic program • Dynamic reconfiguration in DSPLs as CSP • Effective reconfiguration by incremental algorithms 28

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend