Jekejeke Prolog 0.8.5: Funktionsverbesserung

Datum: 11. Oktober 2010

Einleitung

Die neueste Ausgabe 0.8.5 von Jekejeke Prolog dient der Funktionsverbesserung. Es wurden einige Funktionen neu hinzugefügt sowie Fehler in bestehenden Funktionen korrigiert. Die Kompatibilität mit dem ISO Kernstandard wurde an Hand einer von uns eigens dafür angelegten Testsuite überprüft. Im Folgenden gehen wir etwas genauer auf die Ergebnisse der Prüfung ein.

Lücken

Im Vergleich zu der vorgängigen Ausgabe konnten wir im Funktionsumfang einiges zulegen. Es ist uns gelungen DCGs, Set Prädikate und Bitoperationen dem System hinzuzufügen. Ausserdem konnten wir einige Probleme im Umgang mit den logischen Verknüpfungen lösen. Trotzdem deckt unser System noch nicht den vollen Funktionsumfang des ISO Kernstandards ab. Die folgenden Prädikate und Rechenfunktionen wurden noch nicht implementiert:

Typ Gruppe Anzahl
Prädikat Verarbeitung von Prolog Atomen 6
Prädikat Ein-/Ausgabe von Termen 6
Prädikat Ein-/Ausgabe von Bytes 6
Prädikat Ein-/Ausgabe von Zeichen 10
Prädikat Datenstrom auswählen und kontrollieren 13
Prädikat Direktive 5
Rechenfunktion Trigonometrisch 7
Total
53

Unterschiede

Um die Kompatibilität der vorhandenen Funktionen mit dem ISO Kernstandard zu überprüfen haben wir eine Testsuite angelegt. Als Quelle für die Testfälle in der Testsuite dienten uns die Beispiele im ISO Kernstandard. Wir konnten ca. 500 Testfälle aus den Beispielen extrahieren. Die Testfälle werden durch das in Jekejeke Prolog integrierte Testwerkzeug ausgeführt. Die folgende Grafik zeigt die Ergebnisse gebündelt nach den Jekejeke Prolog Theorien:


Abbildung 1: Testergebnisse

Im Durchschnitt sind 8.1% der Testfälle fehlgeschlagen. Relativ betrachtet sind mit 20.2% am meisten Testfälle in der „consult“ Theorie fehlgeschlagen. Am wenigsten Testfälle sind mit 3.7% in der „structure“ Theorie fehlgeschlagen. Die Ergebnisse sind sehr aufmunternd, zeigen sie doch dass wir keinen langen Weg mehr zur vollen ISO Kompatibilität vor uns haben. Es gab auch keine fehlgeschlagenen Testfälle die wir nicht erklären konnten.

Ausblick

Wir haben die Fehlschläge analysiert und in eine Menge von Befunden analysiert. Einige Befunde betrachten wir als Fehler die behoben werden müssen. Bei anderen Befunden haben wir Zweifel ob der ISO Kernstandard die richtige Wahl getroffen hat. Wir werden für diese Befunde versuchen über Flags die Funktionalität des ursprünglichen Jekejeke Prolog zu bewahren. Der vollständige Bericht unseres Kompatibilitätstests kann von der Website www.jekejeke.ch heruntergeladen werden. Bis zur vollständigen ISO Kompatibilität läuft das Beta-Testprogramm weiter.

Jan Burse
Geschäftsführer