Navigation  without Java Scripts

Newsletter Juni 1996  
+ Sonderteil für   

 

Graphical text: Newbox2.jpg (13005 bytes)

 

Visual Prolog ist da ! - Jetzt bei Ihrem Händler erhältlich!

Visual Prolog 4.0

Wir von PDC sind alle sehr stolz, Ihnen das Final-Release des Visual Prolog Entwicklungssystems zu präsentieren. PDCs Entwicklungteam (verteilt in Atlanta (USA), Kopenhagen (Dänemark) und St. Petersburg (Russland)) hat in den letzten Monaten praktisch Tag und Nacht gearbeitet, um Visual Prolog zu vervollständigen. Nun ist es da!
Mit Visual Prolog haben Sie alle altbekannten Vorteile von Prolog, aber mit einer zeitgemäßen Entwicklungsumgebung und allen Werkzeugen die Sie benötigen, um eine effiziente MS-Windows 3.x -, Windows 95 -, NT - oder OS/2 PM - Anwendungen zu erzeugen.

Standard- und Professional version

Visual Prolog gibt es in zwei Versionen: Standard und Professional. Die Standardversion ist eine vollständige Entwicklungsumgebung für 16-Bit Anwendungen für Windows 3.1x oder Win95. Die Professional Version enthält zusätzlich drei weitere wichtige Komponenten:

  1. Die 32-Bit Entwicklungsumgebung für Windows 95, NT und OS/2.
  2. Den kompletten Prolog Sourcecode für das Grafische Entwicklungssystem.
  3. Den Visual Prolog-Compiler in Library-Form. Sie erhalten dadurch die Möglichkeit, den Compiler an ihre speziellen Bedürfnisse anzupassen. Es ist auch möglich, den Compiler in ihre eigenen Anwendungen einzubinden (hierzu ist allerdings eine ergänzende Lizenz notwendig).

Um 32-Bit - Windows Programme für NT oder WIN 95 zu erstellen, benötigen Sie Visual C++. Um 32-Bit - OS/2 Programme zu erstellen, brauchen Sie entweder Borland C++ für OS/2 oder IBM CSet. Die Professionalversion beinhaltet die 16-Bit Windows-Version und die 32-Bit Version der Visuellen Entwicklungsumgebung. Eine 32-Bit - OS/2 Version der Entwicklungsumgebung wird, wenn sie fertig ist, kostenlos zur Verfügung gestellt.

Gut getestet

Visual Prolog wurde ungefähr 18 Monate als Beta-Version getestet, und die Anwender berichteten uns, daß es leicht zu handhaben und für eine Beta-Version bemerkenswert zuverlässig ist. Die Kundenresonanz hat sich mit jeder neuen Beta-Version verbessert.

Hier einige Meinungen:

I'm enjoying VIP - it's a brilliant piece of software.
I would like to thank you for an excellent product. It fits in very well for the development work I am doing.
I'm enjoying using Visual Prolog. It's very functional and logical.
By the way I enjoy your external db system very much. I do marvelous things with it, and the speed is stunning.

Unsere Kunden haben uns auf viele Punkte hingewiesen, an denen wir das Produkt noch verbessern könnten. Da sich PDC nur zufriedene Kunden wünscht, haben wir unser Bestes getan, um eine große Zahl dieser Punkte in diesem neuen Release von Visual Prolog zu berücksichtigen.

Die KI Sprache

Wir glauben mehr als je zuvor, daß in der heutigen komplexen Programmierwelt Prolog seine Berechtigung hat. Prolog wurde ursprünglich als KI Sprache entworfen und ist deshalb besonders gut geeignet, um Expertensysteme, Planungssysteme und ähnliche KI-Systeme zu entwickeln. Rahmen- oder regelbasierte Systeme, forward oder backward chaining, pattern matching und constraint-resolution Systeme sind alle natürliche und elegante Aus-drücke der zugrundeliegenden Semantik von Prolog.

Und vieles mehr

Die Stärken von Prolog erstrecken sich jedoch weit über die Grenzen der KI. Das hohe Niveau der Abstraktion, die Leichtigkeit und Einfachheit mit der komplexe Datenstrukturen dargestellt werden, der Schutz und die Sicherheit der Sprache vermindern die Entwicklungszeit in vielen Bereichen und bei vielen Problemlösungsstrategien beträchtlich. Kom-merzielle und Industrielle Anwendungen basierend auf heutigen Windowsumgebungen fordern gerade ein solches Werkzeug.

Visual Prolog zielt auf den gleichen Markt wie SQL-Datenbanken, C++ Entwicklungssysteme oder andere Sprachwerkzeuge wie Visual Basic, Borland's Delphi, oder IBM’s Visual Age. Obwohl es einen Trend in vielen Bereichen gibt, alles mit Datenbanktechnologie zu lösen, führt dieses dennoch oft zu schlechten Ergebnissen, sowohl in der Entwicklungszeit als auch in der Performanz des fertigen Systems. Eine Anwendung, die in Prolog entwickelt wird, hat meist die bessere Performanz, einen höheren Grad von Anwenderfreundlichkeit und eine kurze Entwicklungzeit. Visual Prolog Programme sind wegen des hoch optimierenden Compilers sehr schnell - in vielen Fällen vergleichbar mit denen die mit C oder C++ entwickelt wurden. Deshalb sind immer mehr Firmen nicht mehr bereit, eine schwierige und fehleranfällige Programm-entwicklung in C++ durchzuführen, nur weil die fertige Anwendung geringfügige Geschwindigkeits-vorteile vorweist.

 

Die Visual Prolog Dokumentation und die „Distribution CD"

cd1.jpg (12195 bytes)

Getting Started: Stellt Visual Prolog im Überblick vor und erklärt, wie es installiert wird. Das Buch beinhaltet auch ein genaues Beispiel, genannt "Guided Tour". Es ist ein guter Ausgangspunkt um zu lernen, wie man eine Windows-Anwendung mit Visual Prolog erzeugt. Language Tutorial: Dieses Buch gibt Schritt für Schritt eine Einführung in die Programmiersprache Prolog und beschreibt die wichtigsten der eingebauten Funktionen.
Visual Development Environment: Dieses Buch erklärt, wie man die Entwicklungsumgebung für Visual Prolog, einschließlich der verschiedenen Resource-Editoren, Code-Experten usw., benutzt. Visual Programming Interface: Dieser Teil beschreibt das VPI, das für Visual Prolog entwickelt wurde, und das portable grafische API darstellt. Die vollständigen MS-Word Dateien der Bücher sind zusammen mit dem Microsoft Word-Viewer zum Ansehen der Dateien oder zur Herstellung von Drucklayouts auf der CD enthalten.

Anwendungbeispiele von Visual Prolog

Neue Leistungsmerkmale vonVisual Prolog

Mitgelieferte Werkzeuge von Visual Prolog

Weitere Visual Prolog Eigenschaften

Schneller optimierender Compiler

Der Compiler erzeugt einen dichten Maschinencode, der sich mit dem Code, den Pascal- oder C-Compiler erzeugen, messen kann. Der Compiler führt eine Vielzahl von Analysen durch, beginnend mit einer globalen Flußanalyse und Determinismusprüfung bis hinab zur Registerbelegung und Peep-Hole-Optimierung.

Typensystem und Flow-Analyzer

Eine besondere Eigenschaft der PDC-Version von Prolog ist sein Typensystem, das eine extra Sicherheitschicht bei der Programmierung darstellt. Die Typendeklarationen dokumentieren den Code und erlauben dem Compiler, sowohl allgemeine Typenfehler, als auch ernste logische Fehler schon im Frühstadium der Entwicklung aufzuzeigen. Als eine Art Vermittlungsdienst zwischen Programmierer und Entwicklungssystem helfen Typendeklarationen, die Integrität des Programms über die gesamte Lebensdauer eines Produkts zu sichern.

Databank Subsystem

Durch das schnelle und äußerst flexible Datenbank-Subsystem ist Visual Prolog für Datenbank-anwendungen in vielen Fällen gegenüber 4GL - Systemen vorzuziehen. Das Datenbank-System unterstützt eine Sammlung unterschiedlichster Arten von Prolog-Termen. Datenbank-Terme können von der Tradition der Sprache her jegliche Art in Prolog möglicher Datenabstraktion annehmen, von Records über Listen, bis zu Bäumen und Graphen. Das Datenbank-System kann direkt auf Terme zugreifen oder durch verkette Terme mit Hilfe des Backtrack-Mechanismus laufen, um bestimmte Werte zu generieren oder aufzufinden. Es gibt drei Orte um Terme abzulegen: In einer Datei, im Speicher oder im EMS Expanded Memory (unter DOS). Die Datenbank unterstützt auch B+ trees. Das ermöglicht den schnellen Datenzugriff auf Terme und bietet die Möglichkeit, Terme effizient zu verändern.

Falls Sie die Datenbank in einer LAN-Anwendung verwenden, können Sie auf die Möglichkeit, daß Visual Prolog File-Sharing für externe Datenbanken unterstützt, zurückgreifen. Für Multi-User Datenbank-Zugriffe steht ein Mechanismus bereit, der eine effiziente Serialisierung der Dateizugriffe innerhalb von Transaktionen vornimmt. Das bedeutet, daß eine Prolog-Datenbank von mehreren Anwendern gleichzeitig geöffnet werden kann.

SQL-Anbindungen

Visual Prologs externe Datenbank ist oft der schnellste und flexibelste Weg, große Datenmengen zu speichern. Jedoch können Daten in einer anderen Datenbank schon existieren, oder die Anwendung muß Daten mit anderen Anwendungen teilen, die nur Gebrauch von besonderen Datenbank-Technologien machen können. In solchen Fällen wird die Fähigkeit eine Verbindung zu externen Datenbanken zu schaffen, äußerst wichtig. Visual Prolog besitzt portable SQL-Anbindungen, die das für die meisten Datenbanken erlauben.

Interprozeßkommunikation

Die OS/2-Version von Visual Prolog beinhaltet die Unterstützung für „full-featured asynchron Inter-Process-Communication" unter Verwendung von Named Pipes innerhalb eines Multi-Threaded Subsystems. Beliebig komplexe Prolog-Terme können zwischen verschiedenen Prozessen auf einer Maschine oder über ein Netzwerk versendet werden. Datenbanken oder Logik-Server sind damit leicht zu erstellen. Auf der Windows Plattform kann NETDDE ähnlich verwendet werden, um Client-Server-Anwendungen zu schaffen.

Ausnahme- und Fehlerbehandlung

Visual Prolog schließt mächtige Mechanismen zur Behandlung von Laufzeitfehlern und zur Kontrolle von Programmunterbrechungen durch den Benutzer ein. Der Programmierer kann unter verschiedenen Ebenen von Fehlerkontrollen und Fehlerberichten auswählen.

Portable Betriebssystemfunktionen

Visual Prolog stellt eine portable Schnittstelle zum Betriebssystem bereit. Funktionen wie Kopieren, Umbenennung und Löschen von Dateien, Ausführen anderer Programme, Rückgabe des Datums und der Zeit, etc. verhalten sich auf allen Plattformen gleich.

Prädikate zur Datenkomprimierung

Die Kompressions-Bibliothek, die vorher getrennt verkauft wurde, ist jetzt in der Visual Prolog Bibliothek enthalten. Das bedeutet, daß Prologanwendungen Daten leicht komprimieren können, etwa um Daten komprimiert über ein Netz zu senden, zum Speichern von Bildern oder anderen Daten in Datenbanken, oder, wie in dem Visual Prolog Installationsprogramm, um Dateien auf Disketten zu packen.

Setup-Programm für VIP Anwendungen

Der Sourcecode für das Setup-Programm, das verwendet wird, um das Visual Prolog System zu installieren, ist enthalten. Er wird zusammen mit einem Programm ausgeliefert, daß auf einem Skript basierend, komprimierte Disketten oder CD Bilder erzeugen kann. Damit erhalten VIP-Programmierer ein freies Installationsprogramm, das flexibeler als jedes anderes Werkzeug auf dem Markt ist!

Sourcecode für VDE enthalten

In der Professional Version von Visual Prolog ist der Prolog-Sourcecode für das VDE enthalten. Sie finden ihn in dem VDESRC Unterverzeichnis. Damit können Sie das VDE nach Ihren Vorstellungen beliebig verändern.

Beispiele von Visual Prolog

Das folgende Codefragment zeigt wie leicht es ist, ein Fenster mit einer hierarchischen Anzeige der Include Struktur des Visual Prolog VDE zu erzeugen. Das Prädikat collect_tree baut die Baumstruktur mit einer gewöhnlichen findall Schleife auf. Das Prädikat project_tree_event ist der Event-Handler, der alle Nachrichten (messages) über Aktionen im Fenster empfängt. In diesem Beispiel werden nur das Schließen des Fensters, sowie der "Doppelklick" des Benutzer auf einen Knoten berücksichtigt. Wird ein Knoten mit "Doppelklick" aktiviert, dann wird der Editor mit dem korrespondierenden Sourcecode aufgerufen.

/***********************************************
        Project tree
***********************************************/

  project_tree_event: EVENT_HANDLER
CLAUSES
  project_tree(W):-
        projectfilename(Project),
        get_exename(Project,ExeName),
        retractall(_, seen_nodes),
        collect_tree(ExeName,9,TREE),
        make_tree_win(W,"Test tree",TREE,[],
                                  project_tree_event,_),!.
  project_tree_event(W,e_CloseRequest,0):-
        win_Destroy(W),
                   !.
  project_tree_event(W,e_MouseDbl(_,_,_,_),0):-
        get_selected_node(W,FileName),!,
        not_bin_file(FileName),
        open_file_editor(FileName).


      

Das folgende Beispiel zeigt, wie das Dialogpaket verwendet wird, um einen Dialog zu behandeln. Das Dialogpaket sorgt für die Initialisierung aller Teile des Dialogs, und erledigt die verschiedenen Typen- und Bereichsprüfungen auf den Eingabefeldern. Nachdem der Dialog beendet wurde, liefert er die Ausgabewerte in einer Liste. Beachten Sie, daß dieser Code automatisch generiert wird, wenn der Dialog mit dem Dialogeditor erstellt wird.

PREDICATES
        setup_env % Brings up the dialog
        % Handle the return values
        setup_env(DLG_VAL_LIST, INTEGER)
CLAUSES
 setup_env:-
        saveconfig(SAVECONFIG), % Get the variable from fact
        saveedit(SAVEEDIT), % Another variable
        new_modal_dialog(d_env, "Environment",
            [df(d_env_saveconfig,checkbox(SAVECONFIG),nopr),
             df(d_env_saveedit,checkbox(SAVEEDIT),nopr)
            ],[],no_validation,no_user_action,VALLIST,ANSWER),
        setup_env(VALLIST,ANSWER).

Das nächste Beispiel zeigt den Code der benötigt wird, um ein Fenster mit einem Toolbar am rechten Rand zu erzeugen. Dieser Code wird automatisch durch den Resource-Expert erzeugt. Die verschiedenen Konstanten sind Resource-Identifier, die die Icons bezeichnen, die als Button-Images benutzt werden.

Screen Dump

 

toolbar_create(tb_right,color_blue,W,
      [tb_ctrl(1, pushb, tbcut_up,  tbcut_dn,  "",b_true,b_true),
       tb_ctrl(2, pushb, tbcopy_up, tbcopy_dn, "",b_true,b_true),
       tb_ctrl(3, pushb, tbok_up,   tbok_dn,   "",b_true,b_true),
       tb_ctrl(11,checkb,switch_off,switch_on, "",b_true,b_true),
       separator,
       tb_ctrl(12,checkb,rot_off,   rot_on,    "",b_true,b_true),
       separator,
       tb_ctrl(4, pushb, flower_up, flower_dn, "",b_true,b_true),
       separator,
       tb_ctrl(5, pushb, tbcopy_up, tbcopy_dn, "",b_true,b_true),
       tb_ctrl(6, pushb, tbok_up,   tbok_dn,   "",b_true,b_true)
      ], toolbar_action).

Die Visual Prolog WWW Homepage

Die Adresse der Homepage von Visual Prolog ist: http://www.visual-prolog.com

Von der Visual Prolog WWW Homepage aus können Sie die aktuellsten Nachrichten über Visual Prolog erfahren, können die am häufigen gestellten Fragen (FAQ) studieren oder Updates transferieren. Sie können über E-Mail auch unsere Verkaufsabteilung erreichen und unsere Produkte und Upgrades „Online" bestellen. Kontakt zu unserer Support-Abteilung und zu Fehlerberichten sind ebenfalls möglich.

Als einen neuen Dienst können Sie, die neuesten Versionen von VIP-Werkzeugen abrufen, die wir ablegen, wenn es Verbesserungen oder neue Werkzeuge gibt. Die Werkzeuge erhalten eine Versionsnummer und eine Dokumentation, die beschreibt, wie man sie benutzt und handhabt. Wir denken, daß das ein zeitgemäßer Service ist und hoffen sogar, daß Anwender eigene Werkzeuge hier ablegen werden.