AspectLTL is a language for the specification and implementation of crosscutting concerns, based on Linear Temporal Logic (LTL).
The aspects of AspectLTL, called ltl aspects, enable the declarative specification of expressive crosscutting concerns.
These include the specification of safety properties, which may be used to prevent a base system from visiting 'bad states', the specification of liveness (fairness) properties, which may be used to force a base system to visit 'good states' (infinitely often), and the addition of new behaviors to a base system, which is done by specifying the existence of new transitions and new states as necessary.