Software revolutions periodically occur when programs become so complex that their own creators are getting lost. This leads to hard-to-find bugs and maintenance problems. The first sign of this situation is that programmers begin to use graphical tools which help them to navigate through the code. Then a new software methodology improves the software organization and removes the problem. Graphical tools are not needed any more, and a new cycle begins.
For example, before the structured programming was invented, logic of many programs was so messy that a flow diagram became a stadard requirement for any serious software. Today, after structured programming replaced the spaghetti code caused by goto statements, flow diagrams are rarely used.
The massive interest in the UML class diagrams today is an indication that the next software revolution is pending. The main reason why these diagrams have been used is the spaghetti network of containers and pointer references which connect application classes. UML diagrams help us to think in more abstract terms of associations.
Our new approach represents the architecture not as a network, but as a lattice -- actually a Petri net between associations and classes. When using the new approach, the textual schema which is directly in the code provides a view which is so clear that the UML diagrams for smaller and medium projects are not needed. For larger projects, the automatically generated diagrams provide a convenient view of the architecture, but they do not control it.
The author of this software wrote a book with the preliminary title "The next software revolution", and he is currently looking for a publisher. The book explains the expected impact of the new technology on the software industry. Computer languages such as C++ and Java will have to introduce new, more general templates, and the existing UML tools will become obsolete -- at least their most popular part which deals with the UML class diagrams.
For the discussion of why aspect programming cannot be used in the constructions of these libraries -- look at this chapter from the book.