Расширение возможностей языка Express достигается путем введения его разновидностей. Так, в языке Express-C добавляются возможности описания событий и транзакций:
EVENT a;
WHEN b => c; (* здесь b - логическое выражение, с - обращение к
транзакции при b = true *)
END_EVENT;
TRANSACTION c;
LOCAL d: e;
END_LOCAL;
...
END_TRANSACTION;
При описании соответствия между двумя Express-моделями используются языки Express-X или Express-M. Например, в Express-M соответствие между схемой-источником A, в которой заданы атрибуты a1, a2, a3, и схемой-целью B, в которой те же атрибуты описаны идентификаторами b1, b2, b3, выражается следующим описанием: