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
