EXPRESS was a textual conceptual schema language based on the entity-attribute-relationship model developed in CAD*I with both generalization and constraint-specification constructs. It was used to specify the normative part of all the information models in CAD*I and later STEP. It needed to be human readable and computer-processable.
EXPRESS had the following declarative constructs:
A simple example might be:
ENTITY point ; x : REAL ; y : REAL ; END-ENTITY ENTITY line ; p0 : point ; p1 : point ; END-ENTITY
The first entity point is used as an attribute type in the second entity line.
Inheritance allowed constraints on a parent to be inherited by the child. Multiple inheritances were allowed. The file reader and parser implemented at RAL originally for the CAD*I project were successfully converted to deal with STEP exchange files. A back-end to the file reader was written which provided an interface to the Nastran Finite Element program.
The Express compiler was originally written for CAD*I and then upgraded for STEP. Many utilities such as pretty printers were also added. The software was distributed to a number of academic and industrial organisations, both in the UK and overseas. A neutral database for electromagnetic and semiconductor modelling data was created based on an EXPRESS schema and a mapping from EXPRESS to SQL. Genera1ised subroutines to access the database were developed.
Many UK universities, both in the UK and world-wide, and industry were supplied with the Express compiler and/or the physical file reader RAL retained the Intellectual Property Rights for the software.
See also: