Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Department of Innovation IT University of Copenhagen March 2004 Kernel Design I: Design of a configurator product Henrik Reif Andersen.

Lignende præsentationer


Præsentationer af emnet: "Department of Innovation IT University of Copenhagen March 2004 Kernel Design I: Design of a configurator product Henrik Reif Andersen."— Præsentationens transcript:

1 Department of Innovation IT University of Copenhagen March 2004 Kernel Design I: Design of a configurator product Henrik Reif Andersen

2 Goal: To design a software product for developing configurators to be used in various areas of applications Plan: 1. The configuration problem: examples & basic theory 2. Kernel architecture 3. Platforms & implementation technologies 4. Licensing 5. Extensions Overall goal & plan for lecture

3 Plan: 1. The configuration problem: examples & basic theory 2. Kernel architecture 3. Platforms & implementation technologies 4. Licensing 5. Extensions

4 Examples: * 8 queens ( http://localhost/configit/Queen/queen.asp ) * bikes ( http://localhost/configit/Bike/bike.asp ) * othershttp://localhost/configit/Queen/queen.asp http://localhost/configit/Bike/bike.asp

5 Theory

6 Det interaktive konfigurationsproblem Alle mulige konfigurationer Alle gyldige konfigurationer En (interaktiv) konfigurator skal: 1.Sikre man ender med en gyldig konfiguration 2.Guide brugeren frem mod målet

7 Interaktive konfiguratorer baseret på produktmodeller Produktmodel: x 1,..., x n parametre / variable D 1,..., D n værdier / domæner r 1,..., r m regler / formler Svarer til een stor formel φ( x 1,..., x n ) som angiver de gyldige konfigurationer En bruger vælger en parameter og en (gyldig) værdi x = v Konfiguratoren svarer med de gyldige værdier V 1,..., V n for alle parametrene

8 Eksempel: Mærkelige t-shirts... color: [ black | white | red | blue ]; size: [ S | M | L | XL ]; print: [ MiB | StW ]; if print = MiB then color = black; if print = StW then size = L or size = XL; [] black[] S[] MiB [] white[] M[] StW [] red[] L [] blue[] XL

9 color: [ black | white | red | blue ]; size: [ S | M | L | XL ]; print: [ MiB | StW ]; if print = MiB then color = black; if print = StW then size = L or size = XL; [] black[] S[] MiB [] white[] M[] StW [] red[] L [] blue[] XL Bruger vælger: color = white Eksempel: Mærkelige t-shirts... √

10 color: [ black | white | red | blue ]; size: [ S | M | L | XL ]; print: [ MiB | StW ]; if print = MiB then color = black; if print = StW then size = L or size = XL; [] black[] S[] MiB [] white[] M[] StW [] red[] L [] blue[] XL Bruger vælger: color = white, konfiguratoren konkluderer... Eksempel: Mærkelige t-shirts... √√

11 color: [ black | white | red | blue ]; size: [ S | M | L | XL ]; print: [ MiB | StW ]; if print = MiB then color = black; if print = StW then size = L or size = XL; [] black[] S[] MiB [] white[] M[] StW [] red[] L [] blue[] XL Bruger vælger: size = S, konfiguratoren konkluderer... Eksempel: Mærkelige t-shirts... √

12 color: [ black | white | red | blue ]; size: [ S | M | L | XL ]; print: [ MiB | StW ]; if print = MiB then color = black; if print = StW then size = L or size = XL; [] black[] S[] MiB [] white[] M[] StW [] red[] L [] blue[] XL Bruger vælger: size = S, konfiguratoren konkluderer... Eksempel: Mærkelige t-shirts... √√√

13 Hvor svært er det? Lad os antage værdierne kun er boolske {0,1} og regler kun kan angives ud fra variable, not, og and (SAT) Spørgsmålet findes x 1,..., x n så φ( x 1,..., x n ) er sand er NP-fuldstændigt (Cook 1972). Essensen er: Det er nemt at checke en løsning Det er svært at finde en løsning

14 Interaktiv konfiguration: Rigtig mange SAT- problemer! Når en bruger har valgt x 1,...,x k skal man beregne de gyldige værdier for x k+1,..., x n. Det svarer til et SAT-problem for hver mulig værdi x i = v. Nogle konfiguratorer undgår at løse SAT-problemer, ved 1.Kun at tillade valg i fast rækkefølge 2.At begrænse regler så de kun taler om værdier der er kendte 3.Kun at beregne gyldige værdier for x k+1 Det giver dog problemer med anvendeligheden: 1.Dead-ends kan ikke undgås 2.Svært at lave og vedligeholde produktmodellen 3.Fasttrådet rækkefølge giver dårlig brugergrænseflade

15 Interaktiv konfiguration: Der skal løses rigtig mange SAT-problemer! Der findes ingen algoritme som altid løser SAT effektivt! Alle algoritmerne kan tage eksponentiel tid. Det er ubehageligt! (2 n vokser hurtigt, n=10 2 n =1024, n=40 2 n =1 billion, n=600 2 n =antal elementarpartikler i universet) Man må anvende algoritmer som "oftest" virker godt. Eksempler: Constraint propagation Virtual Tabulation

16 rules complex search software rules VT generation VT lookup offlineonline configurator constraint propagation virtual tabulation Interactive Configuration: Virtual Tabulation NP-fuld. P

17 Gyldige domæner Produktmodel: x 1,..., x n parametre / variable D 1,..., D n værdier / domæner r 1,..., r m regler / formler Kerne-operation: givet værditildeling l = [xi1 = vi1, xi2 = vi2,..., xik = vik] beregn (V1,..., Vn) = valid_domains(l)

18 Eksemplerne igen * 8 Queens: produktmodel og valid domains? * Bikes: produktmodel og valid domains?

19 Plan: 1. The configuration problem: examples & basic theory 2. Kernel architecture 3. Platforms & implementation technologies 4. Licensing 5. Extensions

20 Summary: Build configurator tool based on Virtual Tabulation (VT) with the two key-ingredients: - a VT generator - a VT runtime (with valid_domains(l) ) Questions: 1. Overall structure? 2. Interfaces? 3. Components? Kernel architecture (I)

21 Kernel, two parts: 1) VT generator VTgen: XML (product model) -> XML (VT) 2) VT runtime load: XML (VT) -> () valid_domains: XML (l, choices) -> XML (V1,...,Vn) Kernel architecture (I)

22 Plan: 1. The configuration problem: examples & basic theory 2. Kernel architecture 3. Platforms & implementation technologies 4. Licensing 5. Extensions

23 Platforms for: * Development environment? (Notepad, eller anden teksteditor, alt...) * VT generator? (Windows, command line (.exe)) * VT runtime? (Java,.NET – kerne måske i C) * Web-server functionality? (ASP.NET, Servlets ok, php: måske?) Platforms & implementation technologies

24 Plan: 1. The configuration problem: examples & basic theory 2. Kernel architecture 3. Platforms & implementation technologies 4. Licensing 5. Extensions

25 What of the licensing models from the book can be used and how? 1: Hosting-model, VT-generator og VT-runtime hostes undtaget evt selve ASP-siden 2: Salgs-model med to elementer VT- generator, VT-runtime 3: Pay-per VT-generation, baseret på størrelse 1. pay-per VT-generation, gratis runtime + engangsfee 2. perpetual på VT-runtime 3. rental 4. transaktionspris pr valid-domains ved hosting 5. størrelse af modellerne Licensing

26 Plan: 1. The configuration problem: examples & basic theory 2. Kernel architecture 3. Platforms & implementation technologies 4. Licensing 5. Extensions

27 Extensions 1. Multi-language 2. Force-functionality 3. Computations (e.g. prices) 4. Embedded configurator 5. Database Integration

28 Extensions 1. Multi-language (http://localhost/configit/Tshirt/tshirt.asp ) 2. Force-functionality 3. Computations (e.g. prices) 4. Embedded configurator 5. Database Integrationhttp://localhost/configit/Tshirt/tshirt.asp

29 Extensions 1. Multi-language 2. Force-functionality (revisit 8 queens, bike) 3. Computations (e.g. prices) 4. Embedded configurator 5. Database Integration

30 Extensions 1. Multi-language 2. Force-functionality 3. Computations (e.g. prices) (Psion) 4. Embedded configurator 5. Database Integration

31 Sales Configurator Case:  Psion Teklogix is a global provider of customizable solutions for mobile computing and wireless data collection  Use Configit as its configuration-based sales support solution in N. American and EU operations, ensuring sales staff are working with complete, accurate product configurations in a standard web browser  Benefits:  offline and online configuration  customer needs are addressed faster  greater accuracy in orders and quotes  increased customer satisfaction  substantial improvement in efficiency and productivity for sales operations  Configit provides a unique extraction tool for Baan ERP systems, and is fully integrated with Psion’s CRM system

32 Prices: * How are prices computed for a product? * How should we support them?

33 Extensions 1. Multi-language 2. Force-functionality 3. Computations (e.g. prices) 4. Embedded configurator 5. Database Integration

34 Extensions 1. Multi-language 2. Force-functionality 3. Computations (e.g. prices) 4. Embedded configurator 5. Database integration


Download ppt "Department of Innovation IT University of Copenhagen March 2004 Kernel Design I: Design of a configurator product Henrik Reif Andersen."

Lignende præsentationer


Annoncer fra Google