Pregunta

necesito para leer los diagramas UML que se serializa en XMI. ¿Hay alguna biblioteca que me permitiera leer convenientemente UML XMI -. Convenientemente por me refiero a tener algunos métodos para repetir clases / paquetes / métodos / etc attributest en el modelo

Me trató EMF, pero soy incapaz de encontrar algún tutorial que mostraría cómo importar XMI que contiene UML. También he encontrado NSUML / NSMDF pero el enlace a la documentación se rompe.

¿Fue útil?

Solución

No creo que lo que quiere existe. Todas las herramientas de importación XMI que sé (incluyendo mi servicio transformación XMI: http://modeling-languages.com/content/xmi2-tool-exchanging-uml-models-among-case-tools ) de trabajo mediante el análisis de todo el archivo XMI y crear el modelo UML correspondiente de memoria principal. A continuación, puede acceder a los elementos de UML mediante la consulta del modelo.

Para iterar sobre el modelo XMI puede utilizar simplemente las bibliotecas XML para seleccionar las piezas del archivo XMI que le interesa.

Otros consejos

Tal vez simplemente echar un vistazo a Transformación XMI a HTML . Esto le ayudará a empezar a trabajar con XSLT y XMI.

Depende de la versión de UML que está intentando leer. El paquete NSUML que ha encontrado sólo funciona con UML 1.3. El NetBeans repositorio de metadatos (MDR) leerá mango UML 1.4 y UML 1.5. Puede ser utilizado como una biblioteca independiente (que es lo usos ArgoUML), por lo que no necesitan NetBeans. Para UML 2.x, creo que las bibliotecas Eclipse EMF y UML2 son su única opción. EMF es una dependencia, pero en realidad es la materia UML2 que desea. Al igual que con MDR y NetBeans, que no es necesario Eclipse. ArgoUML utiliza las bibliotecas de Eclipse por su apoyo UML 2.x.

ArgoUML puede importar XMI a su modelo UML y generar código para Java, C ++ , C #, PHP4 y PHP5.

Para leer XMI / UML usando EMF, que tendrá que encontrar, generar o modelo Ecore escritura para UML. Una vez que tienes uno de esos, se pueden generar las clases en memoria para manipular el UML y el apalancamiento de la otra infraestructura EMF.

Pero una ruta más simple puede ser el uso de la infraestructura UML2 desarrollado por el Eclipse MDT proyectar . (Mi conjetura es que utiliza EMF bajo el capó y que no hay un modelo Ecore de UML2 en alguna parte.)

scroll top