IF Computer > IF/Prolog > Specifications > IF/Prolog 5.x f? UNIX

IF/Prolog 5.x f? UNIX

IF/Prolog by Siemens
MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

Die Prolog Maschine Das Constraint Technologie Paket (optional) Schnittstellen zu anderen Sprachen Software Engineering Standards Die graphische Benutzer-Oberfl?he Graphische Programmier-Schnittstellen (optional) Datenbank-Schnittstellen (optional) Andere Features in Version 5.0 System Voraussetzungen

IF/Prolog ist ein sehr performantes und speicher-effizientes Programmiersystem, das es erlaubt, Anwendungen zu schreiben, die sehr einfach in bereits bestehende Software Pakete einzubetten sind. IF/Prolog kann eng mit dem Betriebssystem oder anderen Programmiersprachen und kommerzieller Software zusammenarbeiten, was einer der wesentlichen Gesichtspunkte moderner Programmierung ist.

IF/Prolog verf?t ?er eine graphische Entwicklungsumgebung und online Hilfe im Stile eines Hypertext Systems. Versierte Programmierer nutzen den graphischen Debugger, Tracer und die Compilierungstools voll aus.

Neu f? Version 5.0 ist ein zus?zliches Constraint Technologie Paket, welches die m?lichen Anwendungsbereiche f? Prolog zus?zlich vergr?sert. Komplexe Optimierungsprobleme wie sie z.B. bei der Ressourcenverwaltung, Produktionsplanung und Fahrplangestaltung auftreten, k?nen deklarativ und expressiv gel?t werden.

Die volle Unterst?zung des ISO Standards f? Prolog bietet Ihnen die Kompatibilit? der Programme und die Investitionssicherheit f? die Zukunft.

IF/Prolog bietet marktf?rende Produkteigenschaften:

  • Volle Unterst?zung des ISO Standard.
  • Bi-directionale Schnittstellen zu C und C++.
  • Eine graphische Entwicklungsumgebung.
  • Ein industriell erprobtes Modul Konzept.
Optionale Komponenten:

  • Ein Constraint Technologie Paket.
  • Eine generelle SQL Datenbank-Schnittstelle zu Oracle, INGRES und Informix.
  • Eine graphische Programmierschnittstelle zu OSF/Motif.

Wir bieten IF/Prolog mit der gleichen Entwicklungsumgebung f? mehr als 600 Rechner von ca. 70 Hardware Herstellern an. Es ist wahrscheinlich die am weitesten unterst?zte kommerzielle Programmiersprache der Welt. IF/Prolog ist sourcecode-kompatibel auf all diesen Plattformen.

IF/Prolog 5.0 entstand aus ?er 11 Jahren Entwicklungserfahrung bei InterFace Computer GmbH und Siemens Nixdorf Informationssysteme AG.

Die Prolog Maschine

Der IF/Prolog Kern ist eine state-of-the-art Prolog Maschine, die eine hohe Performanz und Speichereffizienz bietet. Der Kern beinhaltet:

  • Einen incrementellen optimierenden Compiler - der Compiler erlaubt incrementelle Kompilation, Dekompilation und das Laden von kompiliertem Code, wobei Argumentindizierung und Shallow Backtracking f? alle Pr?ikate unterst?zt wird. Weiterhin werden source-to-source und lower level Optimierungen an kompilierten, nicht modifizierbaren statischen Pr?ikaten angewand.

  • Effizientes und flexibles Speichermanagement - alle Datenbereiche werden transparent f? die Anwendung speicherbereinigt und in der Gr?se angepasst. Diese Speicherbereinigung kann in einzelnen oder kombinierten Bereichen vorgenommen werden, so dass die Zeit f? diese T?igkeit minimiert wird, was besonders bei Echtzeitanwendungen von grosser Bedeutung ist.

    Falls n?ig arbeitet der Garbage Collector w?rend der Ausf?rung von C-definierten Benutzerpr?ikaten, indem er viele Gr?senbegrenzungen von L?gen von Atomen und Strukturtiefen anpasst, die andere Prolog Systeme fest vorschreiben.

  • Das pr?ikat-bezogene Modul-Konzept ist neu f? Version 5.0. Es wurde redesigned,um data-hiding und Metaprogrammierung in einer modularen Art zu unterst?zen. Pr?ikate anderer Programmiersprachen k?nen ebenfalls in Module aufgenommen und importiert bzw. exportiert werden.

Constraint Technologie Paket (optional)

Das Constraint Technologie Paket er?fnet die L?ung komplexer kombinatorischer Probleme in IF/Prolog. Die folgenden M?lichkeiten erweitern den Prolog Kern.

  • grosse Ganz- und Rationalzahlen - exakte Arithmetik mit sehr grossen Zahlen.

  • Coroutinen - Routinen, die durch die Instantiierung von Variablen aktiviert werden.

  • Numerische Constraints - Lineare Gleichungssysteme ?er rationalen Zahlen, wobei high level Pr?ikate f? viele Operationen zur Verf?ung stehen: Summen, Disjunktion, Minimierung, Maximierung und viele mehr.

  • Finite Dom?en - spezifizieren eine Menge von Werten einer Variablen; durch die Zulassung von nur bestimmten Werten zur Instantiierung einer Variablen und deren dynamischer Anpassung reduziert diese Technik den Suchraum erheblich.

  • Boolesche Constraints - Relationen, die durch boolesche Aussagenlogik formuliert werden k?nen, bieten effiziente Manipulationen von Entscheidungsb?men.

Schnittstelle zu anderen Sprachen

Durch die flexible bi-directionale und reentrant-f?ige Schnittstelle zu C und C++ k?nen IF/Prolog Programme als Software Komponenten so in bestehende Systeme eingebettet werden, dass sie entweder Prozeduren anderer Sprachen aufrufen oder Prolog als intelligenter Server funktioniert. Es gibt einige erw?nenswerte Eigenschaften von Prolog, die IF/Prolog zur richtigen Wahl machen, wenn man seri?e Anwendungen schreiben will:

  • Volle Interaktionsm?lichkeit mit den Betriebssystemen - das Betriebssystem ist sowohl von Prolog als auch von den anderen Sprachen zug?glich. Prolog kann benutzt werden, um Kommando-Parameter, Pipes, Dateien und andere Stream Typen vom Betriebssystem oder benutzerdefiniert zu kontrollieren.

  • Eine zwei-Ebenen Schnittstelle von einer anderen Sprache zu Prolog - erm?licht dem Benutzer, entweder Prolog goals als C-strings zu ?ergeben, die dann geparst werden oder zur Steigerung der Effizienz, Strukturen in der systemeigenen Darstellung zu bauen, die einen vordefinierten Satz von Makros verwenden.

  • Die Schnittstelle von Prolog zu anderen Sprachen erlaubt Ihnen, deterministische oder wiederverwendbare Pr?ikate als Routinen dieser Sprache zu definieren. Diese Pr?ikate sind genauso effizient wie die built-in Pr?ikate von IF/Prolog selbst.

  • Die Verwendung verschiedener Programmiersprachen zusammen mit IF/Prolog - Der Code der anderen Programmiersprache und der von Prolog kann beliebig gemischt werden und dabei auch rekursiv verwendet werden.

  • Pr?ikate anderer Programmiersprachen in Modulen - Routinen anderer Programmiersprachen k?nen in Modulen zusammengefasst werden, die dann genauso leicht in bestehende grosse Applikationen eingebettet werden k?nen, wie die Module die in IF/Prolog selbst geschrieben sind.

  • Keine Grenzen - es gibt keine Gr?senbegrenzungen f? Daten, die zwischen Prolog und anderen Programmiersprachen ausgetauscht werden, da der Garbage Collector und die Speichervergr?serung auch w?rend der Ausf?rung von Programmen der anderern Programmiersprache f? den Nutzer transarent arbeiten.

Software Engineering

Das Pr?ikat-basierte Modul-Konzept von IF/Prolog (neu f? Version 5.0) wurde entwickelt, um data-hiding und Metaprogrammierung modular zu unterst?zen. Nur mit IF/Prolog k?nen Module sowohl in ihrer ganzen gegebenen Struktur als auch als Teile genutzt werden, beides M?lichkeiten, die essenziell wichtig f? modernes Software Engineering sind.

Standards

IF/Prolog Version 5.0 unterst?zt den ISO Prolog Standard, Pt1 vollst?dig. Sowohl Siemens Nixdorf Informationssysteme AG als auch IF Computer waren in den letzen Jahren aktive Teilnehmer bei den DIN- und ISO- Aussch?sen. IF/Prolog wurde in ANSI C unter Ber?ksichtigung der ISO 9000 Enwicklungs- Zertifizierung implementiert. Es ist sehr portabel und daher auch sehr stabil.

SNI und IF Computer arbeiten mit anderen f?renden Prolog Herstellern in der Prolog Management Group (PMG) zusammen.

Graphische Benutzer-Schnittstelle

Die graphische Benutzeroberfl?he von IF/Prolog unter OSF/Motif, die auf allen UNIX Plattformen standardm?sig ausgeliefert wird, ist eine v?lig fensterorientierte Entwicklungsumgebung, die folgende Vorteile bietet: Debugger, Tracer, Listing und Cross-Reference-Tools.

Die Auswahl ?er Pull-down Men? und ein fensterorientierter Debugger erh?en die Produktivit? bei der Programmierung.

Die graphische Benutzeroberfl?he wurde erweitert, um die neue Constraint Technologie voll zu unterst?zen. Der Debugger und Tracer wurden im Vergleich zum alten Debugger komplexer, um den Ausstieg innerhalb der Constraint-Pr?ikate klarer darstellen zu k?nen.

Die on-line Hypertext Hilfe (siehe unten) macht das Benutzermanual per Tastendruck stets greifbar.

Graphische Programmier-Schnittstelle (optional)

Graphische Entwicklung in Prolog ist wesentlich einfacher als in C oder C++; windowing events k?nen synchronisiert werden, indem der interactive fensterorientierte Debugger genutzt wird. Der GUI Code muss nicht neu gelinkt werden, sondern der Quellcode kann einfach rekonsultiert werden, was eine betr?htliche Zeitersparnis beim Durchlauf eines Testzyklus bedeutet.

Als Programmierschnittstelle ist verf?bar:

  • X11-OSF/Motif Schnittstelle - die OSF/Motif (V1.2 Funktionalit?) Schnittstelle bietet vollen Zugriff auf die OSF/Motif Library Routinen. Es existiert eine eins-zu-eins Verbinung zwischen den ?uivalenten C-Library-Routinen und den Prolog Pr?ikaten.

Datenbank-Schnittstellen (optional)

Einige f?rende kommerzielle Datenbank Systeme k?nen direkt von IF/Prolog in Verbindung mit den folgenden zwei Datenbank-Schnittstellen (Optionen) < aufgerufen werden:

  • Die generelle SQL-Schnittstelle - eine allgemeine SQL Schnittstelle, die es IF/Prolog erm?licht, mit Oracle (V6 und V7), Informix (V4, V5 und V6) und INGRES zusammenzuarbeiten. Da die Schnittstelle auch als source-code ausgeliefert wird, kann man sie an andere SQL Datenbanken angepassen.

  • Die Informix Schnittstelle - eine umfassendere Schnittstelle zu Informix, die den Zugang zu einer der erfolgreichsten SQL Datenbanken liefert.

Andere Features in Version 5.0

  • Unter IF/Prolog kann mit der strikten ISO Standard Syntax gearbeitet werden, es werden aber auch Pr?ikate der Edinburgh Syntax unterst?zt, die von Public Domain Prolog Programmen oder Bibliotheken benutzt werden.

  • Fremdsprachen Support - IF/Prolog unterst?zt sowohl Fremdsprachen mit 8-bit Zeichensatz als auch eine grosse Anzahl Asiatischer Sprachen (16- und 32-bit).

  • Signal Handling - IF/Prolog kann auf Signale des Betriebssystems reagieren und mit diesen als System Prozess zusammenarbeiten.

  • Portabilit? -- IF/Prolog bietet eine einheitliche Entwicklungs- und Runtime-Umgebung auf mehr als 600 Plattformen von mehr als 70 Hardware Herstellern. Es ist wahrscheinlich die am weitesten verf?bare kommerzielle Programmiersprache der Welt. Der Quellcode ist auf all diesen Plattformen kompatibel.

  • Run Time Systeme - IF/Prolog Programme k?nen in bestehende Anwendungen eingebettet werden, wobei der interaktive Teil von Prolog f? den Benutzer nicht mehr sichtbar ist. Diese Endbenutzerprodukte k?nen dann auf allen Plattformen ausgeliefert werden, auf denen Prolog lauff?ig ist. Sie ben?igen eine Runtime Lizenz f? jede unterschiedliche CPU, auf der die Applikation l?ft.

System Voraussetzungen

IF/Prolog ben?igt mindestens 8 MB Hauptspeicher und ca. 10 MB freien Plattenspeicher. Die optionalen Schnittstellen ben?igen zus?zlichen Haupt- und Plattenspeicher. Zus?zliche Standard Shared Libraries werden in Verbindung mit IF/Prolog ben?igt.

IF/Prolog ist zu dem Standard C Compiler ihres Betriebssystems kompatibel.

document: http://www.ifcomputer.co.jp/IFProlog/Specifications/Unix/print_de.html
published 2008/7/21 update 2001/5/25 (c) 1996-2006 IF Computer Japan
IF Computer 5-28-2 Sendagi, Bunkyo-ku Tel +81-3-5814-3352 info@ifcomputer.com
Customer Support Tokyo 113-0022 Japan   http://www.ifcomputer.com
Back> managed with ubiCMS