Yes. But your example is a bit ... well ... (I won't be more
explicit!).
Constraining an open type to be a single fixed type is not really useful
in terms of abstract values. It is, however, often done in
security-related specifications as a means of getting a length wrapper
round your "X" so that the code handling the outer level stuff does not
need to know anything about X. This is a fudge!
A much more common (and respectable!) use is when the open-type is
constrained to be one of a set of types specified in an Information
Object Set, and there is a component relation cosntraint pointing to
another field that says which type has in fact been encoded into the
open type field.
John L
Paul Long wrote:
>
> I've put it off too long. Now it's time for me learn this ".&" stuff. Is y,
> below, encoded in PER as an open type that contains an encoding of X? Is
> that all there is to it? Also, what syntactical role does the "(X)" play? Is
> this a constraint and otherwise y could be encoded as an open type of any
> type?
>
> X ::= SEQUENCE {
> a INTEGER, -- stuff...
> b BOOLEAN
> }
>
> Z ::= SEQUENCE {
> y TYPE-IDENTIFIER.&Type (X)
> }
>
> Paul Long
> ipDialog, Inc.
--
Prof John Larmouth
Larmouth T&PDS Ltd
(Training and Protocol Development Services)
1 Blueberry Road
Bowdon [EMAIL PROTECTED]
Cheshire WA14 3LS Tel: +44 161 928 1605
England Fax: +44 161 928 8069