Question

Je dois lire des diagrammes UML qui sont sérialisé dans XMI. Y at-il la bibliothèque qui me permettrait de lire commodément UML XMI -. Par commodément je veux dire avoir des méthodes pour itérer classes / packages / méthodes / attributest etc. dans le modèle

J'ai essayé EMF, mais je suis incapable de trouver un tutoriel qui montre comment importer XMI contenant UML. J'ai aussi trouvé NSUML / NSMDF mais le lien vers la documentation est brisée.

Était-ce utile?

La solution

Je ne pense pas que ce que vous voulez existe. Tous les outils d'importation XMI que je sais (y compris mon service de transformation XMI: http://modeling-languages.com/content/xmi2-tool-exchanging-uml-models-among-case-tools ) travail en analysant l'ensemble du fichier XMI et la création du modèle UML correspondante mémoire principale. Ensuite, vous pouvez accéder aux éléments UML en interrogeant le modèle.

Pour itérer sur le modèle XMI, vous pouvez facilement utiliser les bibliothèques XML pour sélectionner les morceaux du fichier XMI vous intéresse.

Autres conseils

Peut-être tout simplement avoir un regard sur Transforming XMI à HTML. Cela devrait vous aider à démarrer avec XSLT et XMI.

Cela dépend de la version d'UML que vous essayez de lire. Le package NSUML que vous avez trouvé fonctionne uniquement avec UML 1.3. NetBeans MetaData dépôt (MDR) liront gérer UML 1.4 et UML 1.5. Il peut être utilisé comme une bibliothèque autonome (qui est ce que ArgoUML utilise), de sorte que vous n'avez pas besoin NetBeans. Pour 2.x UML, je pense que les bibliothèques Eclipse EMF et UML2 sont votre seul choix. EMF est une dépendance, mais il est vraiment le truc UML2 que vous voulez. Comme avec MDR et NetBeans, vous n'avez pas besoin Eclipse. ArgoUML utilise les bibliothèques Eclipse pour son soutien 2.x UML.

ArgoUML peut importer XMI à son modèle UML et générer du code pour Java, C ++ , C #, PHP4 et PHP5.

Pour lire XMI / UML en utilisant EMF, vous aurez besoin de trouver, générer ou écrire modèle Ecore pour UML. Une fois que vous avez un de ceux-ci, vous pouvez générer les en mémoire des classes pour manipuler l'UML et tirer parti de l'autre infrastructure FEM.

Mais un itinéraire plus simple peut être d'utiliser l'infrastructure UML2 développée par l'Eclipse MDT projet . (Je suppose qu'il utilise EMF sous le capot et qu'il existe un modèle Ecore pour UML2 là quelque part.)

Ce que vous recherchez est spécification Java JMI ( « Java Metadata Interface » ), qui met en œuvre MOF pour décrire les métadonnées et XMI pour le transport des métadonnées.

Malheureusement, je suis actuellement à la recherche d'implémentations de JMI moi-même et soleils la page JMI semble être un peu vieillot. La mise en œuvre open source par NetBeans semble avoir été abandonné pour la version 6.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top