| Mobile Code
The LogicWare technology has several elements: the LogicWare protocol, LogicWare language subsystem, and the LogicWare server.
See also: how it compares to some other systems.
The LogicWare protocol is based on the Knowledge Query and Manipulation Language (KQML) invented at Stanford. The KQML protocol is an asynchronous protocol. It supports remote evaluation, querying and updating, notification, distributed networking between LogicWare servers, and Brokering. Each KQML message packet contains the program segment being transmitted.
The language subsystem supports interfacing of LogicWare to different language interpreters. LogicWare comes configured with two default languages: SIMPLE and SQL.
The SIMPLE language is an interpreted language based on MIT Scheme with lazy evaluation and is extended to support object oriented programming and AI rules based programming. SIMPLE object system does not make a distinction between classes and instances. The rule system supports forward and backward chaining. It dynamically loads programs written in C and in C++. Additionally, LogicWare interacts with relational databases by supporting a way of sending SQL queries to them. The SQL language interface is implemented through ODBC(TM)
LogicWare server is the processing engine for LogicWare protocol. In addition, it contains the default languages bundled with LogicWare. The LogicWare server can be reached in three different ways. First, a type-in user interface supports maintaining of the server. Second, the server can receive messages using TCP/IP through UDP datagrams, Dynamic Data Exchange (DDE) messages, AppleEvents, SMTP messages, and HTTP/HTML messages. Third, it can be linked into other programs as a library.
LogicWare executes on the following platforms: