Set DEFINITIONS IMPLICIT TAGS ::= BEGIN IMPORTS Seq1 FROM SeqSetLib; Set ::= SET { bool BOOLEAN, boolCon [20] BOOLEAN, boolPri [PRIVATE 21] BOOLEAN, boolApp [APPLICATION 22] BOOLEAN, boolExpCon [30] EXPLICIT BOOLEAN, boolExpPri [PRIVATE 31] EXPLICIT BOOLEAN, boolExpApp [APPLICATION 32] EXPLICIT BOOLEAN } Set1 ::= SET { bool1 BOOLEAN, int1 INTEGER, set1 SetIn } Set2 ::= SET { set2 SetIn, bool2 BOOLEAN, int2 INTEGER } Set3 ::= SET { bool3 BOOLEAN, set3 SetIn, int3 INTEGER } SetDef1 ::= SET { bool1 BOOLEAN DEFAULT TRUE, int1 INTEGER, set1 SetIn DEFAULT {} } SetDef2 ::= SET { set2 SetIn DEFAULT {}, bool2 BOOLEAN, int2 INTEGER } SetDef3 ::= SET { bool3 BOOLEAN DEFAULT TRUE, set3 SetIn DEFAULT {}, int3 INTEGER DEFAULT 17 } SetOpt1 ::= SET { bool1 BOOLEAN OPTIONAL, int1 INTEGER, set1 SetIn OPTIONAL } SetOpt2 ::= SET { set2 SetIn OPTIONAL, bool2 BOOLEAN, int2 INTEGER } SetOpt3 ::= SET { bool3 BOOLEAN OPTIONAL, set3 SetIn OPTIONAL, int3 INTEGER OPTIONAL } SetIn ::= SET { boolIn BOOLEAN, intIn INTEGER } SetS1 ::= SET { boolS1 BOOLEAN, intS1 INTEGER, setS1 SET { boolIn BOOLEAN, intIn INTEGER } } SetS2 ::= SET { setS2 SET { boolIn BOOLEAN, intIn INTEGER }, boolS2 BOOLEAN, intS2 INTEGER } SetS3 ::= SET { boolS3 BOOLEAN, setS3 SET { boolIn BOOLEAN, intIn INTEGER }, intS3 INTEGER } SetImp1 ::= SET { seq Seq1, bool BOOLEAN, int INTEGER } SetImp2 ::= SET { bool BOOLEAN, seq Seq1, int INTEGER } SetImp3 ::= SET { bool BOOLEAN, int INTEGER, seq Seq1 } END