Hello, Folks:
I am one of the early adopters of, and published contributors to, the UML. I only say that to establish your understanding of my knowledge level.
Your article regarding the Subject is well written; and finding any writing on this topic is difficult. It does address Generalization, Composition and Aggregation.
Your article does not present guidance for transforming:
1. All possible options for a class hierarchy (think combinations and permutations),
2. Multiple-level hierarchies (i.e., generalizations nested in a generalization),
3. Simple associations--unqualified or qualified,
4. Link associations,
5. Ternary associations, or
6. N-ary associations.
~ ~ ~ ~ ~ ~
QUESTIONS:
1. Is your tool able to traverse a class hierarchy from a generalization not nested in another (i.e., base class), from top-to-bottom up on all branches, identifying all embedded generalizations, and bottom-to-top prompt users to select their transformation option for each generalization--ensuring this is done for all embedded generalizations at the same depth before iterating 'up' a level--until reach the base class?
2. Was the exclusion of transforming between temporal semantics of a Class-Class association (mandatory at any instant in time in existence for one instance) and an Entity-Relationship (may be for all time for all object instances) on purpose since it's ambiguous?
Although this ambiguity is a pattern-observed fact, options should be provided to the modeler for EACH and EVERY relation--whether between Classes or Objects.