Dê uma olhada no AndroMDA (www.andromda.org). Tem uma documentação razoável e um forum com muita informação útil.
Existe também um grupo do google (googlegroups) para o AndroMDA, onde o idioma principal é o portugês.
Quanto a sua dúvida: o XMI é o formato definido pela OMG para troca de modelos. Se vc. exportar o modelo, as classes nele contidas estarão no XMI - bem como qualquer outro elemento do modelo cuja exportação para XMI seja suportada pela ferramenta de UML que vc. estiver utilizando.
Anos atrás, quando eu trabalhava na Borland eu usei uma ferramenta chamada Together para fazer algo que teoricamente era MDA. Basicamente era uma engine que você mesmo montava pra fazer o parse de um modelo e gerar outro modelo (que poderia ser código Java).
Cheguei a fazer um experimento bem simples, gerar um conjunto de classes e outros arquivos para um CRUD básico a partir de uma classe estilo Javabean em um diagrama de classe, ele chegava a gerar um DAO, jsps, classes do Struts 2, configuração XML de frameworks, etc.
Achei muito trabalho para relativamente pouca coisa. Vai te ajudar a fazer coisas bem simples e repetitivas. Hoje em dia temos ferramentas bastante produtivas para fazer essas coisas simples e repetitivas, não acho que vale a pena esse tipo de abordagem.