Инструкция BEFORE
Инструкция BEFORE - вызов действия перед вызовом другого действия.
Синтаксис
BEFORE action(param1, ..., paramN) DO aspectAction;
Описание
Инструкция BEFORE задает действие (будем называть его аспектом), которое будет вызываться перед вызовом указанного действия.
Параметры
- 
actionИдентификатор действия, перед которым будет вызываться аспект.
 - 
param1, ..., paramNСписок имен параметров действия. Каждое имя задается простым идентификатором. К этим параметрам можно обращаться при задании аспекта.
 - 
aspectActionКонтекстно-зависимый оператор-действие, описывающий аспект.
 
Примеры
changeName(Sku s, STRING[100] name)  { name(s) <- name; }
// Сообщение будет показано перед каждым вызовом changeName
BEFORE changeName(Sku s, STRING[100] name) DO MESSAGE 'Changing user name';