Logic Meta Programming , a Framework for Domain-Specific Aspect Languages