2013-05-11 23 views
5

Sto scrivendo un programma in linguaggio Java che prende il codice sorgente java come input e l'output è un file xmi che contiene il diagramma di classe del codice sorgente.Come generare un file XMI per il codice sorgente java?

Ho ricercato per la struttura xmi ma non sono riuscito a trovare una risorsa adeguata che spieghi la struttura e l'ordine dei tag.

La prima domanda è: come posso sapere qual è l'ordine dei tag e la definizione di ciascun tag? ad esempio, qual è il significato di "isActive = false" ecc.?

In secondo luogo, c'è qualche suggerimento di librerie o qualcosa in linguaggio Java che possa aiutarmi a finire questo progetto?

+0

è possibile definire la struttura xml secondo le necessità. –

+0

Sarebbe meglio se si passasse per la prima volta un'esercitazione di base su XML per conoscere XML basic come tag, attributi, namespace ... –

+0

http://www.vogella.com/articles/JAXB/article.html –

risposta

3

Penso che l'ordine di tag non importi in XMI. In generale, XMI definisce semplicemente come mappare MOF in XML. Quindi, in pratica, si crea il modello M2 (= UML) da Java e quindi si esegue il mapping in XML con XMI se lo capisco correttamente (e penso che la doppia indiretta sia il motivo per cui non si trovano buone risorse per il mapping da UML a XMI direttamente).

Per molte persone, gli esempi potrebbero essere più accessibili della catena di regole di trasformazione definite dai vari standard OMG. Quindi disegnerei un diagramma di esempio UML minimo nel mio strumento UML preferito per l'aspetto di esportazione che mi interessa e guardo l'XMI esportato. Quindi aggiungi le funzionalità necessarie ...

PS: È possibile utilizzare le classi di riflessione Java (pacchetto java.lang.reflect) invece di analizzare manualmente l'origine Java per generare XMI (se non è necessario preservare i nomi degli argomenti del metodo).

+2

L'uso della riflessione allontana i nomi dei parametri dei metodi. Questo potrebbe essere una preoccupazione o no - YMMV. –

+0

@Stefan Haustein, apprezzo la tua risposta, ma non ti ho capito chiaramente. Sono esattamente analizza il codice Java per generare il file XMI. Ho visto l'esempio creato da StarUML su Windows o ArgoUML su mac. Trovo la relazione tra le classi e anche il loro contenuto e generare il diagramma UMLClass. Sono impressionato da java reflection ma posso usarlo per il mio programma per determinare il diagramma di classe di qualsiasi fonte. (L'input del programma è qualsiasi codice sorgente) – Bernard

+0

@ A.H. grazie, corretto –

Problemi correlati