General-purpose Aspect Languages Research Articles