Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03252.jsonl.gz/99

In 2011 entschieden wir uns einige Anwendungen durch Rückgriff auf Techniken der Logikprogrammierung zu modernisieren. Im Fokus standen eine Anwendung zur automatischen Extraktion von Prozessprofilen aus Katalogtexten und eine Anwendung zur manuellen Konfiguration von Leistungskatalogen aus Prozessprofilen. Von Interesse war die Technik der Constraintprogrammierung. Unsere Anforderungen waren Verfügbarkeit in einer JVM und Anpassbarkeit durch deklarative Regeln.
Ein Teil unserer Anforderungen weist auf sogenannte Constraint
Handling Regeln (CHR) hin. Alle Anforderungen werden aber nicht
durch bestehende Lösungen abgedeckt. Wir haben uns daher
entschieden eine eigene Lösung zu entwickeln. Im 2012 konnten wir
erste Prototypen fertigstellen basierend auf Regeln zur
Vorwärtsverkettung. Seit 2013 lassen wir die Prototypen weiter auf
Attributvariablen basieren, die eine Verbindung der
Einschränkungen mit der Prolog Unifikation erlauben.
Die Erfahrungen sind weitgehend positiv. In einigen Fällen besassen die alten Anwendungen schon einen Einschränkungsspeicher, den wir durch eine effizientere Variante ersetzen konnten. In anderen Fällen haben wir Algorithmen basieren auf Entscheidungsbäumen durch ökonomischere Algorithmen basieren auf Einschränkungslösern ersetzt. Die Arbeit hat auch einige Lücken von klassischen Einschränkungssystemen in Bezug auf unsere Anwendungen aufgezeigt.