Question 1
What is a complex entity instance?
Answer to Q1
Instances of an entity having a SUBTYPE clause in the EXPRESS entity
declaration are known as 'complex entity instance', in that they involve
attributes from more than one entity-type declaration. The treatment of complex
entity instances is formally defined in clause 11.2.5 of STEP Part 21.
(See also Q2 in the LPM/5 Principles
Section)

Question 2
How are the derived attributes encoded in a STEP Part 21
file?
Answer to Q2
Derived attributes do not map to the exchange structure, and do
not appear in a STEP Part 21 file.

Question 3
How are the functions encoded in a STEP Part 21 file?
Answer to Q3
Functions and Rules do not map to the exchange structure, and do
not appear in a STEP Part 21 file.

Question 4
Is is possible to have invalid CIS data in a valid STEP Part
21 file?
Answer to Q4
Taken on its own, a STEP physical file has no understanding of
the EXPRESS rules and functions, as Part 21 does not require that the
information held in a STEP physical file complies with the constraints defined
by the EXPRESS schema. Thus, it can be seen that a STEP physical file is no more
than a carrier of basic data. That data need not satisfy rules defined in the
original schema, and any derived information is not available .
However, CIS/2 requires that STEP Part 21 files created by CIS/2
conformant systems contain valid data in accordance with LPM/5.
(See the rules defined in the Logical Product Model and
the Conformance Requirements)

Question 5
Can I have one single representation_context throughout a
STEP Part 21 file?
Answer to Q5
If the single instance of representation_context is valid for
all of the representation_items in the file, then yes, you can use just one
instance of representation_context. On the other hand, if you
have a mixture of items (for example 2D and 3D geometric items) , then you need
an instance of representation_context for each different context.

Question 6
Is there a syntax checker for detecting incompatibilities
within a Part 21 File?
Answer to Q6
Yes - most STEP toolkit have one - some are better than others and are able to pick up
errors that others can't. Expresso (from NIST)
is a useful tool that may be freely downloaded from the NIST web site.

Question 7
Distinguish between syntactical and semantic issues
regarding development of Part 21 files?
Answer to Q7
There are no semantics to a Part 21 file - its just plain dumb data. A toolkit will be
able to check that the Part 21 file conforms with the STEP Part 21 spec and the
appropriate EXPRESS schema (LPM/5). It can also check WHERE rules etc. It cannot check
whether the data makes any sense. That's down to the translator developer.

Question 8
Some CIS/2 files I've seen have many item_number and item_name
defaulted, i.e. just $, e.g. structural_frame_item($,$,$). I have used
NIST Expresso to check the file and there is an option to ignore
unspecified non-OPTIONAL attribute values. If I have the option checked,
the file is OK, but otherwise it reports a large number of errors. So
are these errors or just warnings i.e. should my import accept this file
or not? if so, it will be a problem because we will end up with blank
part marks.
Answer to 8
This is incorrect. All non-optional attributes must be populated for
a CIS/2 file to be valid. For full validation of CIS/2 files in
NIST Expresso you should switch off the option that allows the complier
to 'ignore unspecified non-OPTIONAL attribute values'.
When importing such a file, your import translator should stop and
warn the user that the file he is trying to import is not valid.
The import log file (as described in publication SCI-P-269) should
record this event.