Part of the next-generation J2EE programming model in IBM and BEA (another part of the model is not open standard, we will wait and see), it is really flexible and powerful. Fully dynamic structure, but has its own type of inspection mechanism. His biggest benefit is that the system becomes very flexible, and a large number of extended code can be replaced by the method generated by code or the declared method. A project I have made has achieved some SDO standards, and it is very simple to make the code expansion and understanding.
white paper
Standard
Javadoc
Implementation of Eclipse EMF, including UML Diagram