IF/Prolog - hoch-produktiv, deklarativ und Industrie erprobt IF/Prolog ist heute eines der bekanntesten und meist verwendeten Prolog Systeme im industriellen Einsatz. Es hat sich in seiner Nische als Programmiersprache für effiziente und elegante Lösungen ganz bestimmter Problemstellungen längst etabliert. Mit seinen Graphik-Schnittstellen, Schnittstellen zu Java, C/C++ und relationalen Datenbanken kann IF/Prolog einfach und elegant in eine große Anzahl industrieller Anwendungen eingebettet werden und gleichzeitig bestehende Informationsquellen und Routinen effizient nutzen. Effiziente Datenstrukturen, wie binäre Bäume und Hash Tabellen werden von IF/Prolog automatisch generiert. Suchalgorithmen, Mustervergleiche und das Finden von Alternativlösungen sind ebenfalls Bestandteil von Prolog und ermöglchen besonders leistungsfähige Problemlösungsmechnismen. Daraus resultieren Programme, die leichter zu warten und schneller zu realisieren sind. Constraint Prolog - ein leistungsstarkes Werkzeug für Ressource Management Constraint Programmierung ermöglicht auf flexible und universal einsetzbare Weise die Lösung der meisten Ressource Management Aufgaben. Ressource Management meint hier Planung und Verteilung unterschiedlicher Ressourcen, um Aufgaben wahrzunehmen, wobei ein effizienter Einsatz in Einklang mit Beschränkungen der Verfügbarkeit gebracht wird. Constraint Prolog ist dabei ganz besonders gut geeignet, um effiziente Lösungen bei Ressource Management Problemen zu finden, die sowohl eine Optimierungs- als auch eine heuristische Komponente haben. IF/Prolog for Windows Windows for IF/Prolog Die neue Generation der IF/Prolog Programmierer nutzt die umfassende Entwicklungsumgebung, die kompatibel zu dem Microsoft Developer Studio ist. Es ist eine Programmierumgebung, die unterschiedlichen Paradigmen folgend mit graphischen Objekten arbeiten kann, die mit Hilfe der graphischen Tools des Developer Studios erzeugt werden. IF/Prolog unterstützt einen Vielzahl von Windows Kommunikations-Schnittstellen, sowohl um die Programm-Entwicklung mit Hilfe unterschiedlichster Tools zu ermöglichen, als auch um exitierenden Code auf diese Weise leicht in eine Anwendung einzubauen. IF/Prolog ist ISO/IEC 13211/1 Standard konform und verfügbar auf allen MS-Windows Plattformen und auf UNIX. Anwendungsbereiche: Intelligent Agents Design Decision Support Scheduling Resource Allocation Timetabling Expert Systems 1
Die graphische Benutzer-Schnittstelle Die Programmierumgebung von IF/Prolog auf Windows ist kompatibel zu der des Microsoft Developer Studios und erlaubt rapiddevelopment für alle Bereiche der Entwicklung einer Prolog Applikation. Die den Windows Programmierern vertraute Developers Studio Umgebung übernimmt die graphische Bearbeitung graphischer Objekte und erlaubt die einfache Integration von IF/Prolog, Java, C/C++ und Visual BASIC Code. Microsoft Developer Studio Templates werden verwendet, um einen Startpunkt für eine neue Anwendung zu definieren. IF/Prolog kann dabei in jeder Ebene eingebettet werden, entweder mit voller Konrolle über alle Windows Menüs, Events und Dialog Boxen, oder einfach nur als Backend COM-Komponente. IF/Prolog kann sowohl im Debug- als auch im Release-Modus des Microsoft Developer Studios verwendet werden, wobei das Debuggen von Prolog mit Hilfe des IF/Prolog Debuggers auch innerhalb der Studio Umgebung möglich bleibt. Die Vielzahl der Windows Schnittstellen Die COM- Schnittstelle ermöglicht eine bi-direktionale Kommunikation zu anderen Tools wie Visual BASIC, Visual C++, Java, Oracle, Access, Excel... Die DDEML- Schnittstelle ermöglicht eine bi-direktionale Kommunikation zu anderen Tools via DDE und DLLs. Die Event Schnittstelle ermöglicht einfaches Senden und Empfangen von Windows events. Die Foreign Language Schnittstelle Eine flexible bi-direktionale Schnittstelle zu Java and C/C++ ermöglicht es, IF/Prolog Programme als Software Komponente in bestehende Systeme einzubetten. Socket Support Direkter Support von Internet Sockets und high level I/O Streams ermöglicht es, Prolog in Intranet / Internet Anwendungen einzubetten. 2
Die Java Schnittstellen Eine flexible, bi-direktionale Schnittstelle zu Java ermöglicht die Einbettung von IF/Prolog Anwendungen in bestehende Programmpakete - entweder indem IF/Prolog durch eine Java Klasse aufgerufen wird oder indem Java Prädikate in IF/Prolog Code inkludiert werden. Eine zwei Ebenen Java zu Prolog Schnittstelle ermöglicht, entweder Prolog Goals als String zu nutzen, der dann geparst wird, oder in der systemeigenen Representation effiziente Strukturen aufzubauen, indem er einen vordefinierten Satz von Makros nutzt. Die Prolog zu Java Schnittstelle erlaubt, deterministische Prädikate als Java Routinen zu definieren, die dann so effizient sein können wie eingebaute Prolog Prädikate. Prolog und Java Code kann nach Belieben gemischt werden und sowohl rekursiv als auch in aufeinanderfolgenden, wechselseitigen Aufrufen. Es gibt keine Größenbegrenzungen für Daten, die zwischen Java und Prolog ausgetauscht werden, wobei Garbage Collection und Speicher Erweiterung auch während der Ausführung von Java Routinen transparent sind. Java Prädikate in Modulen Java Routinen können Modulen zugeordnet sein, die dann ebenso flexibel und problemlos in grosse Anwendungen als Module eingebaut werden können, wie Module, die in Prolog geschrieben sind. Der IF/Prolog Kern: Im Kern ist IF/Prolog eine state-of-the-art Prolog Maschine nach ISO-Standard. Der Standard sichert die Aufwärtskompatibilität und damit Langlebigkeit von Anwendungen auf allen Plattformen, IF/Prolog die Performance, Speichereffizienz und Industrietauglichkeit. Das System beinhaltet: Einen inkrementellen, optimierenden Compiler, der inkrementelle Compilierung, Decompilierung und Laden von compiliertem Code erlaubt. Ein prädikat-basiertes Modul-Konzept, das Data-hiding und Meta-Programmierung modular unterstützt. In C, C++ oder Java definierte Prädikate können ebenfalls in diese Module eingebaut werden. Signal and Exception Handling, das die Reaktion auf Signale des Betriebssystems und Interaktionen als System Prozeß erlaubt. Einen interaktiven Debugger, der eine Schritt für Schritt Untersuchung des Quellcodes, vorwärts oder rückwärts, unterstützt. Einen Datenbank Browser, der das Auflisten und Prüfen von Prädikat- Definitionen in unterschiedlichen Modulen ermöglicht. Dies ist besonders bei großen Anwendungen mit vielen Modulen aus den unterschiedlichsten Quellen eine große Hilfe. Eine On-line Hypertext Hilfe, die per Tastendruck, wann immer gebraucht, ein umfassendes indiziertes Manual verfügbar macht. 3
Constraint Technologie Das Constraint Technologie Paket eröffnet dem Programmierer eine Problemlösung durch Argumentation mit Einschränkungen innerhalb von Prolog. Dadurch können IF/Prolog Applikationen schwierigste kombinatorische Probleme wie z.b. die Allokation von Ressourcen, die dynamische Fahrplangestaltung von Flugzeugen und Zügen, die Produktionsplanung oder die Dienstplangestaltung von Personal lösen. Die Kombination von Prolog und Constraint Technologie erlaubt es, besonders komplexe Operations Research Probleme, die in purem Prolog schwer zu programmieren sind, einfach zu implementieren. Da Constraints den Suchraum verringern, wird die Suche nach Lösungen sehr viel effizienter. Auf der anderen Seite profitiert die Programmierung mit Constraints von der Verwendung von Prolog durch die oben genannten Vorteile im Gegensatz zu wenig etablierten und portierten Spezialsprachen. IF/Prolog unterstützt vier verschiedene Arten von Constraints: Finite Domain Constraints Globale Constraints Boolsche Constraints Meta Constraints Systemanforderungen IF/Prolog is verfügbar auf allen wichtigen UNIX and MS-Windows Rechnern. Bitte beachten Sie, daß im Zusammenhang mit den Schnittstellen auch die zugehörigen Zusatzkomponenten benötigt werden. memory disk space IF/Prolog Entwicklungsumgebung 64 MB 50 MB Constraint Technologie Paket 64 MB 20 MB SQL Datenbank Schnittstelle (nur UNIX) 64 MB 10 MB OSF/Motif Schnittstelle (nur UNIX) 64 MB 10 MB 4
Benutzer Support IF/Prolog wird auf Datenträger mit englischer Dokumentation und 6 Monaten Gewährleistung geliefert. Die Gewährleistung beinhaltet Telefon/Fax/e-mail Hotline Support sowie Updates auf neue IF/Prolog Versionen oder auf Nachfrage auf neue Versionen von Betriebssystemen. Ein Wartungsvertrag verlängert die Pflegezeit Ihrer IF/Prolog Version. IF Computer unterstützt seine Kunden außerdem falls gewünscht in jeder Phase ihrer Software Projekte. Beispiele unserer Projektarbeiten und erfolgreichen Kooperationen mit Kunden können Sie unter dem Verweis Anwendungsentwicklung unseren Web-Seiten entnehmen. Firmenprofil IF Computer hat seinen Sitz in Deutschland und agiert erfolgreich auf dem Weltmarkt auf den Gebieten Knowledge Engineering und Komplexe Otimierungen. Wir verwenden bestehende und neueste Technologien, um unseren Kunden client-server und intranet-basierte Lösungen bereitzustellen. IF Computer bietet qualitativ hochwertige Projektentwicklung, Support, Training und Beratung in jeder Phases eines Projektes an. Die Synergien durch die Entwicklung und den Verkauf eigener Produkte, den Support und die Projektarbeit ermöglicht es uns, unseren Kunden einen maximalen Vorteil aus der Verwendung der von uns verwendeten Technologien zu verschaffen. IF Computer www.ifcomputer.de IF Computer GmbH Cecinastr. 37 D-82205 Gilching Tel: +49-8105-773550 Fax: +49-8105-773553 info@ifcomputer.de 5