ModuleComponentRelationConstraint { iso org(3) dod(6) internet(1) private(4)
	enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 140 }
DEFINITIONS ::=
BEGIN

Frame ::= SEQUENCE {
    ident	 FRAME-STRUCTURE.&id ({FrameTypes}),
    value	 FRAME-STRUCTURE.&Type ({FrameTypes}{@.ident}),
    ...
}

FRAME-STRUCTURE ::= CLASS {
    &id	 INTEGER UNIQUE,
    &Type	 ANY
} WITH SYNTAX {&Type IDENTIFIED BY &id}

-- Information Object Set has 2 entries:
--    [             &id][           &Type]
-- [1]     basicMessage  PrimitiveMessage 
-- [2]                2    ComplexMessage 


FrameTypes FRAME-STRUCTURE ::= {{ PrimitiveMessage IDENTIFIED BY basicMessage } | { ComplexMessage IDENTIFIED BY 2 },...}
-- Information Object Set has 2 entries:
--    [             &id][           &Type]
-- [1]     basicMessage  PrimitiveMessage 
-- [2]                2    ComplexMessage 


primType FRAME-STRUCTURE ::= { PrimitiveMessage IDENTIFIED BY basicMessage }
-- Information Object Set has 1 entry:
--    [             &id][           &Type]
-- [1]     basicMessage  PrimitiveMessage 


complexType FRAME-STRUCTURE ::= { ComplexMessage IDENTIFIED BY 2 }
-- Information Object Set has 1 entry:
--    [           &id][         &Type]
-- [1]              2  ComplexMessage 


PrimitiveMessage ::= SEQUENCE { }

ComplexMessage ::= SEQUENCE { }

basicMessage INTEGER ::= 1

END
