For now, the "design" will consist of several UML class diagrams. I am using ArgoUML as my CASE tool.
The architecture is layed out in the first diagram. (This diagram was built using Dia instead of ArgoUML.)
In the center is the Express Engine kernel. This is the component of the system that understands Express and Express-X. This will have something of an SDAI (STEP [or Standard] Data Access Interface) flavor to it since SDAI deals with STEP instance data.
The Part21 Interface component knows how to read and write Part21 (or STEP physical) files.
The Express Interface component knows how to read Express (Part 11) and Express-X (Part 14) schema files.
The CLIM (Common Lisp Interface Manager) GUI component provides a windowed user interface to the Express Engine.
The Shared Lib Interface and SDAI Interface are programatic methods for non-Lisp applications to use the Express Engine.
The next diagram is the beginning of a class diagram for the Express Engine kernel.