Este documento describe cómo generar documentación automáticamente a través de un archivo XML. Extrae información como la lista de hardware de los nodos y componentes desde el archivo XML y la utiliza para generar documentación en PDF usando la librería PDFlib. La generación automática permite la reutilización y robustez de la documentación.
1. GENERACIÓN AUTOMÁTICA DE
DOCUMENTACIÓN A TRAVÉS DE UN
ARCHIVO XML
Mikel Belausteguigoitia
Oihane Crucelaegui
Maialen Magalhaes
Imanol Vellón
2. INDICE
Introducción
Documentación
Lista de la Arquitectura Hardware de los Nodos
Lista de Componentes Hardware
Generación de Documentación
Recursos Utilizados
PDFlib
Conclusiones
2
5. DOCUMENTACIÓN
Lista de la Arquitectura Hardware de los Nodos
Nodo Procesador
Nodos Entrada/Salida
Segmentos de Bus
Lista de Componentes Hardware
5
6. DOCUMENTACIÓN
LISTA DE LA ARQUITECTURA HARDWARE DE LOS NODOS
Cambios realizados para la búsqueda en los nodos
6
8. DOCUMENTACIÓN
LISTA DE LA ARQUITECTURA HARDWARE DE LOS NODOS
Nodos
Name Serial Number Position Description
Fuente de
Power Supply S1_PowerSupply S1_PS 1
Alimentacion
Processor Processor 2222 2 Procesador
S1_DI_1 S1_DI 3 Digital Input
S1_DI_2 S1_DI 4 Digital Input
IO Board
S1_DO_1 S1_DO 5 Digital Output
S1_DO_2 S1_DO 6 Digital Output
Communication
S1_ETHERNET S1_ETHERNET 7 Enlace Ethernet
Board
8
9. DOCUMENTACIÓN
LISTA DE LA ARQUITECTURA HARDWARE DE LOS NODOS
Nodos Procesadores Nodos de Comunicaciones
Fuente de alimentación Fuente de alimentación
Procesador Tarjeta de E / S
Tarjeta de E / S Tarjeta de Comunicaciones
Tarjeta de Comunicaciones
9
10. DOCUMENTACIÓN
LISTA DE LA ARQUITECTURA HARDWARE DE LOS NODOS
Nodos Procesadores Nodos de Comunicaciones
10
12. DOCUMENTACIÓN
LISTA DE LA ARQUITECTURA HARDWARE DE LOS NODOS
Segmentos de Bus
NODE SERIAL NUMBER
S1_PLC Processing Node
Esclavo_Profibus_1 IO Node
Esclavo_Profibus_2 IO Node
12
13. DOCUMENTACIÓN
LISTA DE COMPONENTES HARDWARE (EJEMPLO)
UNIT DESCRIPTION SERIAL NUMBER
1 Procesador 2222
5 Digital Input S1_DI
5 Digital Output S1_DO
3 Enlace Ethernet S1_ETHERNET
3 Fuente de Alimentación S1_PS
13
14. GENERACIÓN DE DOCUMENTACIÓN
CARGAR .XMI Y NODO RAIZ
MiXml->Load("..docxmiCelula 1_v1.xmi");
XmlElement^ NodoRaiz = MiXml->DocumentElement;
14
18. GENERACIÓN DE DOCUMENTACIÓN
HARDWARE: LISTA DEVICE
for(int i = 0; i<MiLista->Count; i++)
{
if(((XmlElement^)MiLista[i])-
>GetAttribute("xmi:type")->Equals("uml:Device"))
{
lista_device->Add(MiLista[i]);}}
18
19. GENERACIÓN DE DOCUMENTACIÓN
HARDWARE: LISTA SLOT
for (int j=0; j<lista_device->Count; j++)
{
XmlNodeList^ lista_slot = lista_device[j]-
>ChildNodes[0]->ChildNodes[0]->ChildNodes;
19
20. GENERACIÓN DE DOCUMENTACIÓN
HARDWARE: IDENTIFICAR SLOT DESCRIPTION Y QUEDARNOS
CON SU VALOR
for(int l=0; l<lista_slot->Count; l++)
{if(((XmlElement^)lista_slot[l])-
>GetAttribute("definingFeature")==descriptionId)
{description[a] =
((XmlElement^)((XmlElement^)lista_slot[l])-
>ChildNodes[0])->GetAttribute("value");
20
21. RECURSOS UTILIZADOS
PDFlib
Ventajas Desventajas
• Fácil de usar • Necesita licencia
• Muy versátil
• Disponible para C/C++,
COM/.NET, Java, Perl,
PHP, Python
Alternativas Free y Open Source
Haru Free PDF Library II
PDF Clown Library
21
Dificultad para crear tablas
22. CONCLUSIONES
Obtención de forma automática de documentación.
Características:
Reutilizacion
Robusto
22