24
BDD Based Configuration Henrik Hulgaard, CTO

BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

Embed Size (px)

Citation preview

Page 1: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

BDD Based ConfigurationHenrik Hulgaard, CTO

Page 2: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

Configit: Interactive Configuration Tools• Configit is an ITU spin-off company

• Currently employs 18 people, cand.it., computer scientists, PhDs

• Close relation to SAP

• Web: www.configit.com

Page 3: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

Customer ExamplesArla Plast Lindab

B&G Fencing Logica

Brunata Netstal

CCI Europe Novenco

Danfoss Cooling Psion Teklogix

Danfoss District Heating Scalepoint Technologies

Danfoss Drives Scam Trucks

Dantherm Filtration Scancoin

Deif Schneider Electric Power Drives

DHI Water & Environment SEAS-NVE

Di Zio Skako Comessa

Dooria Tageksperten

Enalyzer UGS (Siemens PLM)

Enersys UkrSibbank

Erhvervsministeriet Uponor

Europæiske Rejseforsikring Vestas

Gemini Fashions Volvo Trucks

Grundfos Winnie Paper

LEGO

Sales configurator

Other configurator

SAP integrated

Consultancy

Page 5: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

A configuration problem C is a triple (X,D,F)

– X is a set of variables x1, x2, … ,xn

– D is the Cartesian product of their finite domainsD = D1 D2 … Dn

– F = {f1,f2,…,fm} is a set of propositional formulas over atomic propositions xi = v, where v Di, specifying the conditions that the variable assignments must satisfy. Each formula is inductively defined by

f xi = v | f g | f g | f

Configuration Problem

Page 6: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

• An interactive configurator must:

1. Ensure that the user ends with a valid configuration

2. Guide the user towards the goal

Interactive Configuration

Page 7: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

for all i < j:

c[i] <> c[j] // row

i+c[i] <> j+c[j] // NW-SE

i+c[j] <> j+c[i] // SW-NE

The 8 Queens Problem

7

6

5

4

3

2

1

0

c: array 8 of [0..7];

c[i] = "position of the queen in column i"

c[0] c[1] c[2] c[3] c[4] c[5] c[6] c[7]

Page 8: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

• x1 {black, white, red, blue} : Color x2 {small, medium, large} : Sizex3 {“Men in black” – MIB, “Save the whales” -STW} : Print

• f1 (x3 = MIB) (x1 = black)f2 (x3 = STW) (x2 small)

• x1 x2 x3

black small MIBwhite medium STWred largeblue

T-Shirt Example1

1: Due to Erik van der Meer

Page 9: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

• x1 {black, white, red, blue} : Color x2 {small, medium, large} : Sizex3 {“Men in black” – MIB, “Save the whales” -STW} : Print

• f1 (x3 = MIB) (x1 = black)f2 (x3 = STW) (x2 small)

• x1 x2 x3

black small MIBwhite medium STWred largeblue

T-Shirt Example1

1: Due to Erik van der Meer

Page 10: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

• x1 {black, white, red, blue} : Color x2 {small, medium, large} : Sizex3 {“Men in black” – MIB, “Save the whales” -STW} : Print

• f1 (x3 = MIB) (x1 = black)f2 (x3 = STW) (x2 small)

• x1 x2 x3

black small MIBwhite medium STWred largeblue

T-Shirt Example1

1: Due to Erik van der Meer

Page 11: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

• x1 {black, white, red, blue} : Color x2 {small, medium, large} : Sizex3 {“Men in black” – MIB, “Save the whales” -STW} : Print

• f1 (x3 = MIB) (x1 = black)f2 (x3 = STW) (x2 small)

• x1 x2 x3

black small MIBwhite medium STWred largeblue

T-Shirt Example1

1: Due to Erik van der Meer

Page 12: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

• x1 {black, white, red, blue} : Color x2 {small, medium, large} : Sizex3 {“Men in black” – MIB, “Save the whales” -STW} : Print

• f1 (x3 = MIB) (x1 = black)f2 (x3 = STW) (x2 small)

• x1 x2 x3

black small MIBwhite medium STWred largeblue

T-Shirt Example1

1: Due to Erik van der Meer

Page 13: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

Truth Table for T-shirt

black S StWblack S MiBblack M StWblack M MiBblack L StWblack L MiBwhite S StWwhite S MiBwhite M StWwhite M MiBwhite L StWwhite L MiB

red S StWred S MiBred M StWred M MiBred L StWred L MiBblue S StWblue S MiBblue M StWblue M MiBblue L StWblue L MiB

13

Page 14: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

Truth Table for T-shirt

black S StWblack S MiBblack M StWblack M MiBblack L StWblack L MiBwhite S StWwhite S MiBwhite M StWwhite M MiBwhite L StWwhite L MiB

red S StWred S MiBred M StWred M MiBred L StWred L MiBblue S StWblue S MiBblue M StWblue M MiBblue L StWblue L MiB

14

Page 15: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

Truth Table for T-shirt

black S StWblack S MiBblack M StWblack M MiBblack L StWblack L MiBwhite S StWwhite S MiBwhite M StWwhite M MiBwhite L StWwhite L MiB

red S StWred S MiBred M StWred M MiBred L StWred L MiBblue S StWblue S MiBblue M StWblue M MiBblue L StWblue L MiB

15

Page 16: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

Truth Table for T-shirt

black S StWblack S MiBblack M StWblack M MiBblack L StWblack L MiBwhite S StWwhite S MiBwhite M StWwhite M MiBwhite L StWwhite L MiB

red S StWred S MiBred M StWred M MiBred L StWred L MiBblue S StWblue S MiBblue M StWblue M MiBblue L StWblue L MiB

16

Page 17: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

T-shirt in Product Modeler

DEMO

Page 18: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

T-shirts in Quote

DEMO

Page 19: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

IPC(C)1. R COMPILE(C)2. while |R| > 1 do3. choose (xi = v) VALIDASSIGNMENTS(R)

4. R R (xi = v)

←Offline

←Online}

BDDBDD

Page 20: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

Idea1. Use a BDD to represent R

2. Use a polynomial-time BDD algorithm to compute VALIDASSIGNMENTS(R)

BDD-based configuration

Page 21: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

1. Define domains in binary:

00 : black, 01 : white, 10 : red, 11 : blue

00 : small, 01 : medium, 10 : large

0 : MIB, 1 : STW

2. Build a BDD of the rules:

Represent R by a BDD

01

11 , xx

02

12 , xx

03x

Page 22: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

• Trace paths for each variable layer in the BDD

Compute VALIDASSIGNMENTS(R)

Page 23: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

More info

• Take a look at www.configit.com

• Free trial SW download and numerous technical papers

• Student projects

• Ask [email protected]

Page 24: BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,

Legal notes.This presentation is © Copyright Configit A/S and may not be distributed without permission from Configit.This presentation is strictly confidential and only intended for those receiving this directly from Configit.Configit, the Configit logo, Virtual Tabulation, Configit Product Modeler, Configit Runtime, Configit Quote for SAP and other

Configit product names are trademarks or registered trademarks of Configit A/S.All other product and service names mentioned and associated logos displayed are the trademarks of their respective

companies.