OK, this seems really strange.
First, I reverse-engineered a Java program.
Then, I selected one of the classes in the program (on a class diagram), double clicked it, selected "Links", picked one of the classes in it (which was the type of a member variable), and picked "Locate Related Object". Then I dragged the object from the browser into the diagram.
The class icon appeared, and a normal association was created in the diagram from the original class to the class representing the type of the member of the original class. The association was labeled with the name of the member variable.
This is not what I was expecting, and IMHO it was wrong. I think what I should have seen was either 1) a unidirectionally-navigable has-by-value Composition relationship targeting the type of the member variable, or 2) a unidirectionally-navigable has-by-reference Composition relationship targeting the type of the member variable.
The link generated was bidirectional (although the original source code was not). Instead, I'd like to see unidirectional links be the default in most cases (except for Nesting relationships). I haven't even been able to figure out how to make EA draw a unidirectional link with an arrowhead. Also, it was not an Aggregation link, but merely an Association link.
Also, when I changed the type of the member variable between "By Value" and "By reference", the link was not updated to match. In other words, the "By value" and "By reference" status of the link seemed completely independent of the status of the member variable that the link was supposedly representing (and which it was named after!). This is quite worrisome, as it is unclear which of these two redundant pieces of information should be used when designing, generating code, etc.
I am evaluating EA for possible purchase, and like it overall, but items like this cause me some concern....