DSAL: Domain-Specific Aspect Languages