WITH COMPONENTS { ListeDeContraintes }
COMPONENTS permet de spécifier une contraite sur les propriétés d'une séquence ou d'un ensemble qui est surchargé.
La contrainte peut porter sur :
Si toutes les propriétés du type surchargé ne sont pas contraintes, il faut utiliser l'opérateur d'extension ....
-- Definition d'une sequence avec trois propriétes.
MonType1 ::= SEQUENCE
	{
	MonElementA INTEGER,
	-- L'element MonElementA est obligatoire.
	MonElementB INTEGER,
	-- L'element MonElementB est obligatoire.
	MonElementC INTEGER
	-- L'element MonElementC est obligatoire.
	}
-- Definition d'une surcharge du type precedent.
MonType2 ::= MonType1 (WITH COMPONENTS 
	{
	MonElementA (1|2|3|4|5),
	-- L'element MonElementA ne peut valeur que 1,2,3,4 ou 5.
	MonElementB ABSENT,
	-- L'element MonElementB est absent.
	...
	-- L'element MonElementC est inchange.
	})