Question 1
What would you expect a toolkit to be able to do, and why do different
toolkits give different errors?
Answer to Q1
Different toolkits pick up different errors because they interpret the EXPRESS Language Reference manual differently. Some even pick up errors
that aren't really errors in EXPRESS, but may give problems on implementation. They also
use different implementations of SDAI. Some are more efficient (particularly at memory
management) than others.
In terms of validating STEP physical files, I would expect all commercial toolkits to
be able to validate WHERE, UNIQUE, and INVERSE clauses. They should also be able to
extract information from the DERIVE clauses, and check any FUNCTIONs and RULEs. These
things are essential for commercial implementation of EXPRESS schemas.