Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "BDD Based Configuration Henrik Hulgaard, CTO. Configit: Interactive Configuration Tools Configit is an ITU spin-off company Currently employs 18 people,"— Presentation transcript:

1 BDD Based Configuration Henrik Hulgaard, CTO

2 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:

3 Customer Examples Arla PlastLindab B&G FencingLogica BrunataNetstal CCI EuropeNovenco Danfoss CoolingPsion Teklogix Danfoss District HeatingScalepoint Technologies Danfoss DrivesScam Trucks Dantherm FiltrationScancoin DeifSchneider Electric Power Drives DHI Water & EnvironmentSEAS-NVE Di ZioSkako Comessa DooriaTageksperten EnalyzerUGS (Siemens PLM) EnersysUkrSibbank ErhvervsministerietUponor Europæiske RejseforsikringVestas Gemini FashionsVolvo Trucks GrundfosWinnie Paper LEGO Sales configurator Other configurator SAP integrated Consultancy

4 What’s Interactive Configuration?

5 A configuration problem C is a triple (X,D,F) –X is a set of variables x 1, x 2, …,x n –D is the Cartesian product of their finite domains D = D 1  D 2  …  D n –F = {f 1,f 2,…,f m } is a set of propositional formulas over atomic propositions x i = v, where v  D i, specifying the conditions that the variable assignments must satisfy. Each formula is inductively defined by f  x i = v | f  g | f  g |  f Configuration Problem

6 An interactive configurator must: 1.Ensure that the user ends with a valid configuration 2.Guide the user towards the goal Interactive Configuration

7 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 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]

8 x 1  {black, white, red, blue} : Color x 2  {small, medium, large} : Size x 3  {“Men in black” – MIB, “Save the whales” -STW} : Print f 1  (x 3 = MIB)  (x 1 = black) f 2  (x 3 = STW)  (x 2  small) x 1 x 2 x 3 blacksmallMIB whitemediumSTW redlarge blue T-Shirt Example 1 1 : Due to Erik van der Meer

9 x 1  {black, white, red, blue} : Color x 2  {small, medium, large} : Size x 3  {“Men in black” – MIB, “Save the whales” -STW} : Print f 1  (x 3 = MIB)  (x 1 = black) f 2  (x 3 = STW)  (x 2  small) x 1 x 2 x 3 blacksmallMIB whitemediumSTW redlarge blue T-Shirt Example 1 1 : Due to Erik van der Meer

10 x 1  {black, white, red, blue} : Color x 2  {small, medium, large} : Size x 3  {“Men in black” – MIB, “Save the whales” -STW} : Print f 1  (x 3 = MIB)  (x 1 = black) f 2  (x 3 = STW)  (x 2  small) x 1 x 2 x 3 blacksmallMIB whitemediumSTW redlarge blue T-Shirt Example 1 1 : Due to Erik van der Meer

11 x 1  {black, white, red, blue} : Color x 2  {small, medium, large} : Size x 3  {“Men in black” – MIB, “Save the whales” -STW} : Print f 1  (x 3 = MIB)  (x 1 = black) f 2  (x 3 = STW)  (x 2  small) x 1 x 2 x 3 blacksmallMIB whitemediumSTW redlarge blue T-Shirt Example 1 1 : Due to Erik van der Meer

12 x 1  {black, white, red, blue} : Color x 2  {small, medium, large} : Size x 3  {“Men in black” – MIB, “Save the whales” -STW} : Print f 1  (x 3 = MIB)  (x 1 = black) f 2  (x 3 = STW)  (x 2  small) x 1 x 2 x 3 blacksmallMIB whitemediumSTW redlarge blue T-Shirt Example 1 1 : Due to Erik van der Meer

13 Truth Table for T-shirt black S StW black S MiB black M StW black M MiB black L StW black L MiB white S StW white S MiB white M StW white M MiB white L StW white L MiB red S StW red S MiB red M StW red M MiB red L StW red L MiB blue S StW blue S MiB blue M StW blue M MiB blue L StW blue L MiB 13

14 Truth Table for T-shirt black S StW black S MiB black M StW black M MiB black L StW black L MiB white S StW white S MiB white M StW white M MiB white L StW white L MiB red S StW red S MiB red M StW red M MiB red L StW red L MiB blue S StW blue S MiB blue M StW blue M MiB blue L StW blue L MiB 14

15 Truth Table for T-shirt black S StW black S MiB black M StW black M MiB black L StW black L MiB white S StW white S MiB white M StW white M MiB white L StW white L MiB red S StW red S MiB red M StW red M MiB red L StW red L MiB blue S StW blue S MiB blue M StW blue M MiB blue L StW blue L MiB 15

16 Truth Table for T-shirt black S StW black S MiB black M StW black M MiB black L StW black L MiB white S StW white S MiB white M StW white M MiB white L StW white L MiB red S StW red S MiB red M StW red M MiB red L StW red L MiB blue S StW blue S MiB blue M StW blue M MiB blue L StW blue L MiB 16

17 T-shirt in Product Modeler DEMO

18 T-shirts in Quote DEMO

19 IPC(C) 1.R  C OMPILE (C) 2. while |R| > 1 do 3. choose (x i = v)  V ALID A SSIGNMENTS (R) 4. R  R  (x i = v) ←Offline ←Online } BDD

20 Build product models Think of it like this… Distribute office documents Run through Distiller PDF-filesRead with Reader Distribute interactive product knowledge VT-files Interact at Runtime

21 Stand-alone Tools VT-files are versatile VT Files Configurator Web Application Configuration Configurator Portable Devices Configuration Configurator Stand Alone Configuration PDA based Tools Office Tools Configurator CD Distribution Configuration Tools on a CD

22 Idea 1.Use a BDD to represent R 2.Use a polynomial-time BDD algorithm to compute V ALID A SSIGNMENTS (R) BDD-based configuration

23 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

24 Trace paths for each variable layer in the BDD Compute V ALID A SSIGNMENTS (R)

25 More info Take a look at Free trial SW download and numerous technical papers Student projects Ask

26 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.


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

Similar presentations


Ads by Google