There is (are?) concrete implementation(s) of AOP (Aspectj and ?). I don't know how they are implemented, but I suspect that it basically comes down to essentially the same as mixins/traits in that extra methods get attached directly or indirectly to the vtable.

My (also limited) understanding of AOP is that it is not really just for object composition (as mix-ins/traits are), and therefore not directly related to OOP (although you rarely see AOP without OOP).

As far as AOP implementation, it actually looks to me like Aspect is full of symbol-table madness, while AspectJ has an Aspect weaver which is essentially a compiler pre-processor.

Creating a new language that incorporated the cross-cutting concern (in AOP speak) as part of the core language would be a sixth.

Isn't that exactly what the :trait notation of P6 is doing?

Similar, but not exactly. But again, my understanding of both is limited, but I don't see them as being exactly the same.