user-level constraints are automatically transformed into running applications using