For the full description, implementation variations, consequences, and detailed sample, see Page 157 in Java Application Architecture.
Module relationships should be levelized.
Levelized modules demand that module relationships be acyclic. Any cycles in module relationships therefore prevents levelization. To levelize modules relationships, there are several steps.