Adapting Domain-Specific Interfaces Using Invariants Mechanisms