New Amzi!
Release Adds ODBC Support, Delphi Tools and More...
Access Data
Transparently with ODBCOne is direct access to ODBC functions for building and executing SQL queries, with mapping of Prolog terms to and from the database fields.
The other is a higher-level interface that allows Prolog-like queries of databases. That is, the query can be backtracked into, returning all database records that match the query.
For example, the following rule creates a Prolog predicate that queries the `person' database table, looking for just the values of the person id (pid) and mother fields.
mother(M, C) :-
db_query(person,
[pid=C, mother=M]).
db_query/2 works as you would expect Prolog to work, so if M is bound and C is not, backtracking will produce all of the children of the mother.
The demo version has a C++ front-end, but the application can be run from the IDE as well because the ODBC support is implemented as an LSX.
Delphi GUI
ToolboxA demo application that illustrates this interaction for graphical layout is available on the distribution disks or on our Web site (http://www.amzi. com). The demo includes an EXE file so it does not require Delphi to run.
The demo application takes a programmatic mathematical expression such as:
c=sqrt(a**2 + b**2)
and displays it as it might appear in a textbook, that is, with fractions drawn above and below a horizontal line, exponents written above, and square root radicals surrounding full expressions.
The demo has a simple user interface. An edit box is provided, in which a mathematical expression is entered in normal Prolog syntax. A paint box is displayed below in which the expression is laid out in textbook format.
The Prolog code that does the layout is a relatively compact recursive predicate. It simply walks the Prolog structure that represents the expression, deciding on the correct position and size for each element based on the surrounding elements.
Prolog pattern matching makes it easy to express the physical layout relationships between the elements of the expression, and generate the correct drawing predicates using the Delphi GUI toolbox.
The demo includes the source code for the toolbox predicates as well as the Delphi front-end and Prolog layout code.
Pacific AI
Provides Intelligent TestingThe user interface for the tests is implemented using Borland's Delphi. Prolog is used for the scripting language thatdefines the test questions, as well as the intelligent flow of the test, generating assessment reports, and physically laying out the Delphi controls that will be presented for any given question.
The implementation of the scripting language for intelligent tests capitalizes on Prolog's strengths for language parsing. The direct manipulation of Delphi controls by Prolog relies on the ease with which Amzi! Prolog can be extended to access anything callable from Delphi (or C/C++).
For example, Prolog code takes symbolic representations of equations and presents them both textually formatted as they might appear in a text book (fractions above and below, square root radicals fully drawn, exponents raised, etc.) and graphically using Scigraph's Delphi graphing component ( http://www.ee. princeton.edu/~phmertz/scigraph/scigraph.html).
In the first case, Prolog is an excellent tool for expressing the rules for formatting an equation, which are translated directly into drawing commands, and in the second, Prolog is excellent at converting a symbolic representation of an equation into points for graphing which are passed to the Scigraph component.
For self-study, the Prolog code can directly access Windows help files. Based on student answers, the scripting language for the tests can direct the student to help topics that explain the areas the student is having difficulty with.
Linux Beta
Test Now AvailableFor a limited time, we are offering the Personal Edition in beta test for $49 plus shipping. (The normal price is $98 for the Personal Edition and $298 for the Professional Edition.)
The Linux Edition has all the features of the 32-bit DOS version. The Amzi! tools are accessed via a scrolling command-line interface, and the Logic Server is provided in library format for linking with various languages under Linux.
What Happened
to Adventure in Prolog?Shortly we expect to obtain the publishing rights back for the book, at which time Amzi! will publish a new edition.
This will feature examples using Amzi! Prolog code and we hope to incorporate some of our new samples (interfacing with C/C++, VB and Delphi).
If you would like to continue to use Adventure in Prolog for a course, please let us know your requirements as soon as possible.
Upgrade InformationName: Organization: Full Address: Phone/Fax: E-Mail: Payment Method: __Check __MasterCard __Visa __AmEx Card #: __________________________________ Exp: __________ Signature: __________________________________________________ If you did not purchase directly from Amzi! and have not registered, please enclose your filled-out registration cards. If you purchased after Dec 1, 1995 (and not from us), please enclose a copy of your dated sales receipt. To order call us: 508 897 7332 Or, fax form to: 508 897 2784 Or, mail form to: address at TOP [1] SELECT PRODUCT--Which of the following editions would you like to purchase or upgrade to? Professional 16-bit Prof. Personal Student Linux __ $598 __$298 __$298 __$79 __$49 Check your choice and enter the price here _______ [2] CREDIT FOR PRIOR PURCHASE--Select the amount of the credit below based on your current copy. Purchases after Dec 1,1995: Professional Edition $598 16-bit Prof. or Personal Editions $298 Version 3.3 Users: Professional Edition $533 16-bit Prof. or Personal Editions $233 Version 3.0 Users: Cogent for NT $433 Cogent for Windows/DOS $133 Enter the applicable credit (if any) here: _______ [3] Subtract [2] from [1] and enter result here (>= 0) _______ [4] ORDER ADDITIONAL PRODUCTS--Select here: __Subscription Plus $150 _______ __Expert Systems in Prolog, book/disk $94 _______ __Active Prolog Tutor, Personal Ed. $75 _______ __Programming in Prolog, book $34 _______ [5] SUBTOTAL--Add [3] and [4] and enter result here: _______ [6] SALES TAX--Mass. residents add 5% sales tax: _______ [7] SHIPPING--$10 North America; $20 Otherwise _______ [8] TOTAL--Add [5], [6] and [7] (payable in US$ please) _______
Xircom Provides
Configuration Advice with C++ and Amzi!The application is written in Borland's C++ and works in Windows 3.1x and DOS environments. In each environment, the main installation program performs a comprehensive analysis of system components, creates a file of Prolog assertions, and a database of the results. The resultant database specifies resources that are available, unavailable, under system control, nonexistent, etc. Then the Amzi! Prolog Logic Server is invoked. The rule-based expert examines the database for conflicting or incorrectly-configured resources and also examines the resources where the network or modem adapter can be configured. Finally, using the exhaustive search logic inherent in Prolog, all combinations of potential resource allocations are tried. Those combinations that cannot be verified as workable are eliminated.
Resulting correct configurations are then presented to the user through the C++ front-end, where the user can accept a default, or select from the choices that the expert system has verified as workable. If is impossible to define a working combination of resources, this is reported via the user interface along with a log file which contains valuable assistance for correcting the problem.
The Prolog component encodes the configuration rules directly in Prolog. It contains about 200 rules that analyze the user's environment and invoke low-level code that verifies selected configuration combinations.
Amzi! inc. 40 Samuel Prescott Drive Stow, MA 01775 U.S.A. tel 508 897 7332 fax 508 897 2784 http://www.amzi.com ftp.amzi.com /pub/users/amzi