The project has developed a succession of three programming languages, XC, XD, and XE, each of which integrate rules with a procedural programming language. For XE also an integrated programming environment was developed. A number of applications were written using these languages.
The XE language is a newly developed general purpose programming language that supports data abstraction and rule based programming. The rule abstraction mechanism of XE is more flexible than that of XC. The CLU programming language was used as a basis in the design, but XE is not an extension of CLU. An integrated XE program development environment running in a Symbolics workstation was developed. It contains facilities for program editing, version and configuration management, smart recompilation, and execution monitoring. An Intel 8086 code generator for the target environments was also implemented on top of the tools of the Amsterdam Compiler Kit. A basic library of XE that contains the fundamental data types was written fully in XE. Also a library that contains garbage-collection and other facilities for the target environment as well as a large utility library were written in XE.
For the implementation of the XE environment a set of metaprogramming tools were developed. These are: 1) ROCC, a YACC-like LALR parser generator for the Lisp environment, 2) AST, a small language for representing and manipulating abstract syntax trees, and 3) DG, a small language for defining object classes that contain multiple inheritance.
The XD language takes the rule abstraction mechanism of XE and adds it on top of the C and C++ languages. The implementation is based on precompilation, and three very small assembler routines. It was built on top of the GNU C compiler. Unix is used as the XD program development environment.
DPR is a system for the demand pattern recognition of a elevator group. It infers the true type of the traffic at each moment. DPR was implemented in XC. A lift group simulator (ExLift) was constructed to aid the development of DPR.
Filex is a UNIX file system expert that monitors the use of file space and provides the users with services for managing their files and for freeing disk space. It was implemented in XC.
XEDA is a DX200 digital switch diagnostic advisor system. Based on the alarm history of the switch it determines the optimal sequencing of diagnostic tests. XEDA was implemented mainly in XE.