I'm done with my studies of the uml infrastructure.
It wasn't always easy, as the infrastructure is self-describing, the concepts described in the document are used for the description. So I had get used to terms like 'subsetting', 'derived union', 'association', 'redefinition', ...
Furthermore metamodelling also has it's own set of concepts you normally don't find in a programming language (and technical software development in contrast to theoretical CS), such as 'PackageMerge', 'Profiles', 'Constraints', ...
Actually, so far I haven't done uml, but I was learning the meta-modeling framework (MOF) which will be used to 'implement' uml.
Heading towards the superstructures I will see the concepts learned re-applied in two ways:
A big help in learning the concepts was the use of uml tools. In addition to the diagrams shown, they provide me with a tree-like 'Model Explorer' where I get used to navigate through the model. Such I internalize the links (ownership, navigable associations) between different meta-classes.
Next I'll be posting an outlook on the superstructure. I've been reading and diagramming ahead of my summaries of the classes. But it is necessary to put things into structure, by both getting an overview through a fast browsing and by making final notes on the specific details.