FOSD-Treffen 2012 Struktur- und Constraintbasierte Konfiguration



Ähnliche Dokumente
Automatische Installation (wenn das SSO-Applet nicht vorhanden ist)! Abbildung 1:Auswahldialog für Installationslaufwerk

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Objektorientierte Programmierung OOP

Use Cases. Use Cases

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Seminar Bassem Ben Helal

Installation und Bedienung von vappx unter Android

white sheep GmbH Unternehmensberatung Schnittstellen Framework

Software-Engineering SS03. Zustandsautomat

Internet Explorer Version 6

On the Consistency of Spatial Semantic Integrity Constraints. Konsistenzprüfung von räumlichen semantischen Integritätsregeln.

Seminar aus dem Bereich E-Learning

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Feature Modelling und Product Sets. Seminar Softwareengineering SS 2007 Felix Schwarz, Olaf Otto TU Berlin

Installationsanleitung CLX.NetBanking

5.2 Neue Projekte erstellen

Anleitung: Confixx auf virtuellem Server installieren

Modellierung von Positionssensoren. Jörg Roth Fachbereich Informatik Fernuniversität Hagen

a.i.o. control AIO GATEWAY Einrichtung

Installation und Bedienung von vappx unter ios

mainfeld kon figura tor nemomedia KONFIGURATOR

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihr vorhandenes PMS-System mit der IAC-BOX verbinden und konfigurieren.

Installationsanleitung CLX.PayMaker Office (3PC)

Installation & Konfiguration AddOn Excel Export Restriction

Netzwerkeinstellungen unter Mac OS X

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

gallestro BPM - weit mehr als malen...

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Anwendungsbeispiele Sign Live! Secure Mail Gateway

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

TEAMWORK-Uploader. Dokumentenaustausch mit dem PC

Anbindung Borland CaliberRM

Sehr geehrte Faktor-IPS Anwender,

4. Die Grundsätze der Dialoggestaltung aus DIN EN ISO

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 4 -

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

Daten, Information, Wissen explizites und implizites Wissen Expertensysteme (Aufgaben, Aufbau, Komponenten) Diagnoseziel Klassifikation

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

eduroam mit SecureW2 unter Windows 7 Stand: 27. Januar 2015

Installation & Konfiguration AddOn CopyObjects

Installationsanleitung CLX.PayMaker Home

D a s P r i n z i p V o r s p r u n g. Anleitung. - & SMS-Versand mit SSL (ab CHARLY 8.11 Windows)

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

Semantik von Formeln und Sequenzen

Whitebox-Tests: Allgemeines

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Nachkalkulation. Hat sich das Objekt CVO Auxilium hilden im Juni rentiert?

Guide DynDNS und Portforwarding

Installation & Konfiguration AddOn Excel Export Restriction

TREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel

Erweiterungsmodule für den Webbrowser

START - SYSTEMSTEUERUNG - SYSTEM - REMOTE

DWA-140: Betrieb unter Mac OS X Über dieses Dokument. Vorbereitungen. Laden der Treiber aus dem Internet - 1 -

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

Seminar Business Intelligence Teil II. Data Mining & Knowledge Discovery

Installation des edu- sharing Plug- Ins für Moodle

Stud.IP. Inhalt. Rechenzentrum. Vorgehen zur Eintragung in Veranstaltungen / Gruppen. Stand: Januar 2015

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

ISA Einrichtung einer DFUE VErbindung - von Marc Grote

BigData Wie wichtig ist die Datenqualität bei der Analyse und Auswertung von großen Daten Praxisbeispiel. Christin Otto

Educase. Release Notes 1.7: Neue Funktionen und Verbesserungen. Base-Net Informatik AG Wassergrabe 14 CH-6210 Sursee

Reporting Services und SharePoint 2010 Teil 1

Anforderungen an die HIS

Installationsanleitung CLX.PayMaker Office

Hilfe zur Urlaubsplanung und Zeiterfassung

BPMN verdrängt die EPK? Warum BPMN alleine nicht reicht

Ersatzteile der Extraklasse Magento-Module der Shopwerft

7. Übung - Datenbanken

Barrierefreie Webseiten erstellen mit TYPO3

Business-Rule-Management als Instrument des Software-Reengineering

Fragebogen ISONORM 9241/110-S

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Agentur für Werbung & Internet. Schritt für Schritt: -Konfiguration mit Apple Mail

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

Architekturplanung und IS-Portfolio-

Verwendung des IDS Backup Systems unter Windows 2000

Anleitung zur Excel-Anwendung Basisprämienberechnung

CRIBMASTER TECH DOC. Störbehebung bei Ausführung des Connectivity Checkers

Berufsunfähigkeit trifft jeden Vierten. Sehr gut, dann bei der SV zu sein.

GRS SIGNUM Product-Lifecycle-Management

Was meinen die Leute eigentlich mit: Grexit?

Prolog basiert auf Prädikatenlogik

Formale Sprachen und Grammatiken

Fragenkatalog Geschäftsmodellierung Grundlagen

Dokumentation für die Software-Wartung

Unified Modeling Language (UML)

Supportkonzept. Datum: Inhaltsverzeichnis: 1. Verwendungszweck Anforderungen 3

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

FAQ 04/2015. Auswirkung der ISO auf 3SE53/3SF13 Positionsschalter.

Duonix Service Software Bedienungsanleitung. Bitte beachten Sie folgende Hinweise vor der Inbetriebnahmen der Service Software.

Installationsanleitung für pcvisit Server (pcvisit 12.0)

WLAN Konfiguration. Michael Bukreus Seite 1

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Transkript:

FOSD-Treffen 2012 Struktur- und Constraintbasierte Konfiguration Uwe Lesta 22. März 2012

Übersicht Produktkonfiguration Konfigurationsarten Produkt- und Konfigurationswissen Aufbau des Produktkonfigurators Strukturbasiertes Konfigurieren Strukturbasiertes Konfigurieren mit Attributen Constraintbasierte Erweiterungen Fragen 2

Produktkonfiguration Bei einer Konfigurationsaufgabe muss aus einer Menge parameterbehafteter Objekte eine Auswahl und Aggregation von Objekten derart durchgeführt werden, dass vorgegebene Bedingungen (Constraints) erfüllt sind. Interaktive Spezifikation durch den Anwender oder als Batch Anwender: Endkunden, Vertrieb, Konstrukteure, Wissensingenieure Entlastung der Fachexperten Produktkonfiguration ist eine Optimierungsaufgabe Der Benutzer möchte für seine Constraints (Eingaben) das Optimale Produkt. 3

Produktkonfiguration 4

Konfigurationsarten Regerbasiertes Konfigurieren +farbe(gelb), material(leder) ==> leder_farbe(hellbraun) +Direkte Abbildung des Expertenwissens - Produkt und Konfigurationswissen ist vermischt - Kein explizites Produktmodell - Keine einheitliche Semantik Strukturbasiertes Konfigurieren + intuitiv +gut strukturierbar +gut kombinierbar - Sinnvoll nur mit anderen Konfigurationsarten (Restriktionen) - Bei grafischer Darstellung für sehr große Strukturen ungeeignet 5

Konfigurationsarten Constraintbasiertes Konfigurieren + deklarativ, gut erforscht - Rechenzeitintensiv für die Trennung von Produkt- und Konfigurationswissen Ressourcenorientiertes Konfigurieren +hoher Informationsgehalt des Modells +Gut kombinierbar - Hoher Modellierungsaufwand - Keine Unterstützung für (hierarchische) Strukturen - Schlussfolgerungsalgorithmen sind unzureichend erforscht Fallbasiertes Konfigurieren + erfolgreicher Einsatz in Callcentern (Support) - Schwer ein Ähnlichkeitsmaß zu definieren - Meist keine neuen Lösungen 6

Produkt- und Konfigurationswissen Spezifikationswissen (Anforderungen) Sichtweise einer Anwendergruppe auf das Produktmodell Ermöglicht Landes- und Sprachanpassungen Nicht unbedingt notwendig Produktwissen (Konfigurationsmodell) Anforderungen Ausdrucksstark Einfach erlernbar Entscheidbar Effizient auswertbar Ggf. mehrere formale Sprachen verwendbar Grammatiken Beschreibungslogiken Dynamische Logik, Modallogik, Prädikatenlogik Constraintlogik Konfigurationswissen Prozessablauf (Anwender) Schlussfolgerungsalgorithmus 7

Produkt- und Konfigurationswissen Wissen für die Produktkonfiguration Verfügbar Vollständig Widerspruchsfrei Redundanz frei Repräsentation der Wissensbestandteile Aufbau einer Teilehierarchie Offene Abhängigkeiten 8

Aufbau des Produktkonfigurators Explizites Produktmodell (Konservierung des Wissens) Kombination strukturbasiert und constraintbasiert Leistungsfähige Solver existieren. Geringerer Modellierungsaufwand (als Ressourcenbasiert) Deklarativ Produktwissen beschreibt alle möglichen Ausprägungen des Produktes Benutzer schränkt die Menge der Lösungen ein 9

Aufbau des Produktkonfigurators 10

Strukturbasiertes Konfigurieren komp(kfz). komp(klimaanlage). komp(motor). komp(diesel). komp(benzin). komp(normal). komp(turbo). komp(v8). komp(oel_kueler). Und-Oder-Baum has_part(kfz, opt(klimaanlage)). has_part(kfz, motor). has_part(v8, opt(oel_kueler)). is_a(diesel, motor). is_a(benzin, motor). is_a(normal, benzin). is_a(turbo, benzin). is_a(v8, benzin). 11

Strukturbasiertes Konfigurieren Existenz Bedingungen der Komponenten Bei allen, mit has_part verbundenen, Komponenten Ist der Wert der Existenzvariablen gleich. Bei optionalen has_part Beziehungen gilt dieses nur nach oben. Bei Spezialisierungen (is_a) Kann nur bei einem Kind die existenzvariable den Wert 1 annehmen. 12

Strukturbasiertes Konfigurieren mit Attributen Existenz Bedingungen der Komponenten und Attributwerte Wird einem Attribut ein Wert zugewiesen so wird die Existenzvariable der Komponente auf true gesetzt. Abstrakte Attribute bilden die vereinigungsmenge ihrer Spezialisierungen und sind mit den Existenzvariablen ihrer Komponenten verknüpft. Demo 13

Constraintbasierte Erweiterungen Existenz Bedingungen der Komponenten und Attributwerte constraint(root_exist, exist(kfz)). constraint(klimaanlage_benoetigt_mehr_als_65_kw, exist(klimaanlage) #==> motor:leistung #> 65). constraint(preis_summe_kfz, sum(parts(kfz:preis), #=, kfz:preis)). strategy(find_cheapest_solution, 'sucht die preiswerteste loesung', ''). find_cheapest_solution(plm):- set_user_constraint(plm, labeling([min(kfz:preis)], [parts(kfz:preis)])). 14

Constraintbasierte Erweiterungen Konsistenz und Erfüllbarkeit (z.b. Kantenkonsistenz) Diese Instanz ist kantenkonsistent und enthält keine leere Domain. Trotzdem existiert keine Lösung. Lokale Konsistenz kann durch Propagation erzwungen werden. Erst durch Verbinden mit einem Suchalgorithmus (Backtracking,...) können konsistente Lösungen erzeugt werden. Propagation (Kantenkonsistenz) ~ O(c²d³) Vollständige Lösungssuche (Labeln) ~ O(dⁿ) n - Constraintvariablen d - Domainwerte c - Constraints 15

Zusammenfassung Sehr flexibel Modellierung kann schwierig sein. Fragen: Wann muss gelabelt werden um nur gültige Attributwerte zu erhalten? (Klassifikation des Konfigurationsmodells) Wann kann term-rewriting sinnvoll sein? A = 1 B = 1 B = 1 A = 2 A \= 1 A \= 2 B \= 1 Wie werden Wiedersprüche gefunden und erklärt? A #< B B #< A 16

Vielen Dank für Ihre Aufmerksamkeit! Uwe Lesta