Full text
i Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Equation Chapter 1 Section 1 Trabajo Fin de Máster Máster Universitario en Ingeniería Aeronáutica Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Dpto. Organización Industrial y Gestión de Empresas I Escuela Técnica Superior de Ingeniería Universidad de Sevilla Autor: Francisco Garrocho López Tutor: Jesús Racero Moreno Sevilla, 2021
iii Trabajo Fin de Máster Máster Universitario en Ingeniería Aeronáutica Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Autor: Francisco Garrocho López Tutor: Jesús Racero Moreno Profesor titular de Universidad Dpto. Organización Industrial y Gestión de Empresas I Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2021
v Trabajo Fin de Máster: Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Autor: Francisco Garrocho López Tutor: Jesús Racero Moreno El tribunal nombrado para juzgar el Trabajo arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: Sevilla, 2021 El Secretario del Tribunal
vii A mi familia
ix Agradecimientos A todos aquellos compañeros, profesores y amigos que me han apoyado en estos años de máster y me han ayudado a convertir este trabajo en una realidad. A Jesús Racero, por brindarme esta oportunidad de trabajar con él y haber depositado su confianza y su tiempo en mí para llevar a cabo este Trabajo Fin de Máster: ha sido un placer poder hacerlo. A mis padres y a mi hermano, por ser siempre el apoyo necesario e incondicional durante estos últimos años. A Susana, por ser el sustento de mis fuerzas y motivaciones en estos últimos cuatro años tan duros. Gracias por tanto. Francisco Garrocho López. Sevilla, 2021.
xvii ÍNDICE DE TABLAS Tabla 1 - Espacios más usados. 35 Tabla 2 - Significado de los colores en el archivo XML. 37 Tabla 3 - Potenciales problemas derivados del uso de sistemas PDM [33]. 41 Tabla 4 - Equivalencia de atributos entre los sistemas ERP y PLM. 44 Tabla 5 – Partes utilizadas en el ejemplo. 67
xix ÍNDICE DE FIGURAS Figura 1 – Esquema de trabajo. 23 Figura 2 – Ejemplo de desarrollo de una ingeniería secuencial [12]. 27 Figura 3 – Ingeniería secuencial frente a ingeniería concurrente [14]. 28 Figura 4 – Metodología Harmony de IBM [10]. 29 Figura 5 – Procesos elementales Harmony [10]. 29 Figura 6 – Metodología OOSEM [16]. 30 Figura 7 – Metodología Vitech [10]. 30 Figura 8 – Metodología JPL SA [10]. 31 Figura 9 – Logo de SysML [22]. 32 Figura 10 – Tipos de diagramas SysML vs UML [21]. 32 Figura 11 – Estructura de etiquetas OWL. 35 Figura 12 – Espacios básicos más comunes. 35 Figura 13 – Nodos de Object Properties. 35 Figura 14 – Nodos de Data Properties. 36 Figura 15 – Nodos de Classes. 36 Figura 16 – Nodos de Individuals. 36 Figura 17 – Interfaz de usuario de Ontolingua Server [29]. 37 Figura 18 - Interfaz de usuario de Enterprise Architecture [29]. 38 Figura 19 – Logo de Protégé [32]. 38 Figura 20 - Proceso de creación de una ontología. 39 Figura 21 – Ciclo de vida de producto. 40 Figura 22 – Características de un PDM. 41 Figura 23 - Extracto en formato .XLSX del sistema ERP. 45 Figura 24 – Representación gráfica de la ontología. 46 Figura 25 - Esquema de instanciación entre sistemas de la ontología. 47 Figura 26 – Interfaz de usuario de ARAS. 48 Figura 27 – Arquitectura del software de ARAS Innovator. 49 Figura 28 – ItemType de Part en ARAS. 50 Figura 29 – Formulario de Part en ARAS. 50 Figura 30 – Listas en ARAS. 51 Figura 31 – Part en ARAS. 51 Figura 32 – Crear un nuevo Part en ARAS. 52 Figura 33 – Apariencia de una ontología en Protégé. 52 Figura 34 – Creación de la clase Part. 53
Figura 35 – Ejemplo de contenido de la pestaña Classes. 53 Figura 36 – Anotaciones y propiedades de la clase Part. 53 Figura 37 – Crear un Object. 54 Figura 38 – Ventana para la creación de un Object. 54 Figura 39 – Anotaciones, características y propiedades del Object. 55 Figura 40 – Selección del dominio. 56 Figura 41 – Selección del rango. 56 Figura 42 – Añadir DataProperty. 57 Figura 43 – Anotaciones, características y descripción de los DataProperties. 57 Figura 44 – Dominio de un DataProperty. 58 Figura 45 – Rango de un DataProperty. 58 Figura 46 - Establecer equivalencias entre propiedades. 58 Figura 47 – Crear un Individual. 59 Figura 48 – Anotaciones, características y propiedades para Individuals. 59 Figura 49 - Añadir atributos a la instanciación. 60 Figura 50- Instanciaciones introducidas para la clase Part. 60 Figura 51 - Ejemplo de instanciación en Protégé en formato RDF/XML Syntax. 61 Figura 52 – Pestaña Design en ARAS Innovator. 63 Figura 53 – Introducción de datos de parte en ARAS Innovator. 64 Figura 54 - Pestaña BOM en ARAS Innovator. 64 Figura 55 - Partes generadas en ARAS Innovator. 65 Figura 56 - Montaje completo M29020010000. 68 Figura 57 - Montaje de la tubería M29020010010. 68 Figura 58 - Extracto del sistema ERP de las partes utilizadas en la demostración. 69 Figura 59 – Montaje completo en ARAS. 69 Figura 60 – Tubería del montaje en ARAS. 70 Figura 61 – Tornillos del montaje en ARAS. 70 Figura 62 – Abrazaderas del montaje en ARAS. 71 Figura 63 - Manguera del montaje en ARAS. 71 Figura 64 - Codo del montaje en ARAS. 72 Figura 65 – Individuals generados en Protégé. 73 Figura 66 – Información de la tubería en Protégé. 74 Figura 67 - Relación entre el montaje completo y la tubería en Protégé. 74 Figura 68 - Relación entre la tubería y la manguera que la compone en Protégé. 74 Figura 69 - Part_3 en formato RDF/XML Syntax. 75 Figura 70 - Parte_3 en formato RDF/XML Syntax. 75 Figura 71 - Part_4_Part_3 en formato RDF/XML Syntax. 75 Figura 72 - Part_3_Part_5 en formato RDF/XML Syntax. 75 Figura 73 - Equivalencia entre propiedades en formato RDF/XML Syntax. 76
21 1 INTRODUCCIÓN Y OBJETIVOS 1.1 Introducción En el desarrollo de los procesos de mantenimiento de aeronaves que llevan a cabo los operadores de éstas, una vez que las aeronaves entran en servicio, se maneja gran cantidad de información y datos relativos a cada una de las piezas de la aeronave que son sujetas de formar parte de un proceso de mantenimiento programado de la aeronave. Esta información es fundamental para poder definir el proceso de mantenimiento en cuestión, pues existe una gran variedad de piezas en la aeronave, y dependiendo de algunas características de las mismas, sus procesos de mantenimiento asociados pueden llegar a ser muy distintos. Sirva de ejemplo una pieza A que se considera reparable y esencial (la aeronave no puede volar sin dicha pieza instalada) y una pieza B que será no reparable (cuando se rompe se coloca una nueva pieza) y no esencial (el avión puede volar sin ella). Ambas piezas, A y B, tendrán unas tareas de mantenimiento asociadas muy distintas, pues A es una pieza reparable que debe desmontarse y pasar por taller antes de montarse de nuevo en la aeronave, mientras que B directamente es reemplazada. Esto proporciona una idea de la importancia de la información asociada a cada pieza de mantenimiento que debe recibir el operador encargado de dichas tareas por parte del fabricante de ésta. Como norma general, y aplicable a cualquier ámbito de la vida, cuando dos partes pretenden entenderse y llegar a acuerdos, es fundamental el intercambio de información, a través, por ejemplo, de la comunicación. Este intercambio de información debe ser eficaz (por el interés económico y empresarial de las partes en ello) y seguro (debido a la gran confidencialidad de los programas militares en la actualidad), entre otras muchas características. Pero este intercambio de información no es, de facto, nada fácil. Se podría pensar entonces, por ejemplo, en la cantidad de proveedores que proporcionan materiales y piezas a una cadena de montaje de algún importante programa europeo y militar como los que se desarrollan en la ciudad de Sevilla. La cantidad total de proveedores que participan en un programa es del orden de miles, cada uno de ellos con su particular forma de trabajar la información del producto, así como con sus propios sistemas y herramientas de la información. Es evidente por tanto la falta de homogeneidad en los modelos usados habitualmente entre los distintos proveedores para con el cliente final. Se entiende por tanto que, por ejemplo, para el fabricante de la aeronave (en el caso de trabajar en una línea de ensamblaje) o para el responsable de las tareas de mantenimiento en este caso y en el que se centra este trabajo, este no es un problema trivial de fácil resolución, y requerirá de la inclusión de nuevos sistemas que garanticen un intercambio de información eficiente para todas las partes. Si se particulariza esta idea a un entorno real de trabajo, se podría contrastar el uso de un software PLM para las labores relacionadas con el diseño de una aeronave y todas sus partes, y un sistema ERP como el que se utiliza en los programas aeronáuticos para crear, desarrollar y modificar las tareas de mantenimiento de todas las partes que componen una aeronave, y toda la información relativa a ellas. Como se mencionaba anteriormente, el La mejor manera de empezar algo es dejar de hablar de ello y empezar a hacerlo Walt Disney
1. Introducción y Objetivos 22 intercambio de información entre estos sistemas es fundamental para el éxito de las labores de mantenimiento en particular, y del programa aeronáutico en su conjunto. Si bien este concepto puede resultar obvio, en la actualidad aún existen muchas carencias en el proceso de intercambio de información entre sistemas tan fundamentales en un programa aeronáutico, como son los sistemas PLM y ERP. Es aquí donde se introduce el concepto de interoperabilidad. Ésta es la habilidad de compartir información y conocimiento de forma eficaz y segura entre dos o más herramientas o individuos con la máxima automatización posible. Favorecer el uso de técnicas de interoperabilidad evita la pérdida de información y la ineficiencia empresarial y económica que esto conlleva. Este concepto además debe ser aplicable en ambas direcciones, es decir, tanto en las transferencias de información de partes de mantenimiento de los proveedores hacia el operador encargado del mantenimiento de la aeronave, como en las transferencias recíprocas que el operador de la aeronave realice hacia los distintos proveedores. En el campo de la interoperabilidad los estudios se han dirigido al desarrollo de nuevos lenguajes con su propia sintaxis (LML, Lifecycle Modelling Languaje) [1] o la incorporación de ontologías y semánticas (GOPPRRE Graph Object Point Property Role and Relationship) [2] que busca una formalización basada en ontologías de las herramientas usadas en MBSE. Los framework o entornos interoperables han proliferados en este ámbito, con el objetivo de proveer de una infraestructura de intercambio de información y conocimiento. Principalmente estos desarrollos han sido acometidos por entidades gubernamentales centrada en la defensa donde los proyectos desarrollados involucran gran cantidad de modelos y sistemas (DoDAF, Department of Defence Arquitectural Framework) [3]. 1.2 Objetivos El objetivo del trabajo consiste en diseñar e implementar una ontología prototipo para la gestión de datos de partes de mantenimiento garantizando la interoperabilidad entre sistemas ERP y PLM. Se pretende pues demostrar que se puede intercambiar información entre distintas herramientas de información haciendo uso de una sintaxis común, relacionando elementos que poseen una misma semántica. Para ello, se customizará un sistema PLM y se diseñará una ontología, garante de la interoperabilidad necesaria para llevar a cabo los transvases de información de forma eficaz y segura. Además, se usará la ontología de forma que pueda reconocer y clasificar los distintos elementos en función de las necesidades del proveedor encargado del mantenimiento de la aeronave. El intercambio de información se realizará a través de una instanciación asociada a un sistema que genera e importa los datos en base a las especificaciones de la ontología y la semántica propia del sistema. Este proceso es posible gracias a las interfaces genéricas de gestión de ontologías que procesa la instancia y que se diseñarán en este trabajo, entre los sistemas ERP y PLM. Por último, las interfaces conectan los datos de la instancia con las del sistema. Este proceso que se acaba de describir se muestra de manera gráfica en la siguiente figura: en ella se observa cómo, a través de la ontología diseñada con un software específico para los sistemas PLM y ERP, la interfaz del sistema de cada proveedor o usuario es capaz de reconocer la semántica de trabajo, ya provenga ésta del sistema PLM o ERP, de forma indistinta, para poder desarrollar su labor de forma eficiente y eficaz. En este caso, dicha labor será el manejo e intercambio de información de datos de producto para las labores de mantenimiento de una aeronave.
23 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Para alcanzar el objetivo marcado, se llevarán a cabo una serie de pasos que nos garantizan obtener los requerimientos exigidos, y que se irán desarrollando a lo largo de este trabajo. • En primer lugar, se realizará un estudio del estado del arte sobre los sistemas PLM y ERP en general, así como sobre los MBSE, que tanto se usan en la actualidad, de forma más particular. También se estudiarán conceptos clave como el de interoperabilidad u ontología. • Posteriormente se procederá al diseño e implementación de la ontología que permitirá alcanzar nuestro objetivo, siempre justificando su arquitectura y funcionalidades, así como justificando el modelo de datos asociado que se usará. • Por último, se llevarán a cabo una serie de pruebas y comprobaciones prácticas sobre el modelo implementado para garantizar su funcionalidad. De esta manera, y para alcanzar los objetivos establecidos, el presente trabajo se estructura en base a una serie de capítulos que se describen a continuación. En primer lugar, se presentará un estado del arte en el que se introducirán los conceptos más importantes para, posteriormente, pasar a un tercer capítulo en el que se defina el diseño de la ontología que se ha marcado como objetivo para este trabajo. A continuación, se detallará el proceso de implementación de la ontología a través de las distintas herramientas que en este trabajo se van a utilizar. En el capítulo 5 se detallará el sistema de instanciación de la ontología entre los sistemas PLM y ERP. Por último, en los dos últimos capítulos, se mostrarán una pequeña demostración y las conclusiones de este trabajo, respectivamente. Ontología Softwares para la definición de ontologías Proveedor 1 Proveedor 2 Proveedor n Sistemas PLM y ERP Instanciación ontología Interfaz sistema proveedor Figura 1 – Esquema de trabajo.
25 2 INTEROPERABILIDAD, ONTOLOGÍAS Y SISTEMAS PLM La investigación para el desarrollo de productos se encuentra, desde hace ya unos años, cada vez más a la vanguardia de la ingeniería. En la actualidad, cuesta más encontrar el desarrollo de un producto sin encontrar detrás todo un proceso de integración y colaboración, no sólo de personas y equipos de trabajo, sino también de diseños, procesos o herramientas. Para hacer funcionar este complejo mecanismo de engranajes, surgen los sistemas de intercambio de información, bajo distintas nomenclaturas, pero con un fin común: compartir e integrar el conocimiento del producto. 2.1 Interoperabilidad semántica Según la RAE (Real Academia Española) [4], la interoperabilidad es la capacidad de los sistemas de información, y por ende de los procedimientos a los que estos dan soporte, de compartir datos y posibilitar el intercambio de información y conocimiento entre ellos. Esta definición es cada vez más necesaria para el desarrollo de los sistemas de la información de la actualidad. Si bien este significado posee varias dimensiones, en este momento se muestra el más relevante para la realización de este trabajo: la interoperabilidad semántica. Se entiende por interoperabilidad semántica la habilidad de los sistemas informáticos para intercambiar datos u objetos con un significado común, preferiblemente basados en el paradigma de Web Semántica [5]. Desde que este paradigma fue introducido por Tim Berners-Lee en el año 1999, el interés por este tipo de aplicación y otros estándares W3C (World Wide Web Consortium) no ha hecho más que ir en aumento. El concepto de interoperabilidad semántica es un requisito para poder habilitar la lógica computacional de una máquina o, entre otros, el intercambio de información entre sistemas de información. Su objetivo es asegurar que el significado preciso de la información que se intercambia pueda ser comprendido por cualquier sistema no necesariamente concebido para tal fin, lo cual precisa que los propietarios del software se adapten a diseños ontológicos abiertos. Así pues, el concepto no acecha sólo al tratamiento de los datos, si no a los mecanismos que permiten su transmisión. Esto se consigue gracias a la unión de datos sobre datos, metadatos, y vinculando cada dato a un vocabulario compartido y conocido entre los distintos sistemas. De esta forma se pretende crear un pequeño paquete que comprenda al dato y su significado, de manera que sea autodescriptivo y entendible por cualquier sistema de interpretación de datos [6]. Por todo ello, la interoperabilidad semántica requiere de un acuerdo previo sobre la interpretación del conocimiento, entre los sistemas involucrados, referentes a los modelos a seguir, el contexto de aplicación o el uso de un lenguaje común, entre otros aspectos. Este marco es el que proporciona la ontología, como se mostrará posteriormente, y se rige por normas, como la ISO 10303 [7] o la IEC 62264 [8]. Los científicos no esperan que sus ideas avanzadas sean fácilmente aceptadas. Su deber es sentar las bases para aquellos que están por venir y señalar el camino Nicola Tesla
2. Interoperabilidad, ontologías y sistemas PLM 32 desarrollo de software. Este lenguaje es capaz de trabajar con un sistema (visualizarlo, crearlo, modificarlo...) a través de distintos aspectos conceptuales, como procesos, funciones del sistema o bases de datos, para crear su estructura y diseño, de manera que se satisfagan todos los requisitos necesarios [19]. Este lenguaje se encuentra en una gran cantidad de herramientas comerciales que se analizarán posteriormente. A partir de este lenguaje UML nació en el entorno de la ingeniería un nuevo lenguaje, SysML, muy extendido en la actualidad en este campo [20]. El Systems Modeling Language (SysML) [21] es un lenguaje de alto nivel, utilizado sobre todo en la ingeniería de sistemas, gracias a sus facilidades para modelar elementos físicos (algo que UML no podía aportar). Figura 9 – Logo de SysML [22]. También es un lenguaje gráfico, como UML, aunque más sencillo que éste pues no incluye algunos aspectos que sí incluye UML específicos para la creación de software como se comentó anteriormente. No obstante, sí posee una semántica y gramática propias, y es independiente de la metodología MBSE empleada (IBM Harmony, OOSE, Vitech, JPL...) así como de las herramientas de modelado empleadas. Con respecto a lo elementos de un lenguaje y otro, se muestra la siguiente ilustración para su mejor compresión. UML parte de 14 tipos distintos de diagramas y SysML toma algunos de ello, otros los modifica, y finalmente también añade algunos nuevos tal y como se aprecia en la siguiente ilustración. Figura 10 – Tipos de diagramas SysML vs UML [21]. 2.2 Ontologías 2.2.1 Introducción, elementos y características de una ontología Un concepto que no se puede obviar en este contexto es el de ontología. Para analizar este concepto, se presentará en primer lugar su definición, mayoritariamente aceptada en la actualidad por la comunidad de la ingeniería del conocimiento, pues cabe destacar que es un término que proviene de la filosofía y ha sufrido distintas interpretaciones a lo largo de la historia. La siguiente definición la aportó Borst en 1997 [23]: “Las ontologías son una especificación formal de una conceptualización compartida”
33 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM En esta definición, el término conceptualización se refiere a un modelo abstracto de algún fenómeno del mundo que tiene identificados los conceptos más relevantes de dicho fenómeno. El término formal se refiere al hecho de que la ontología debería ser interpretable por una máquina (o herramienta, como se verá posteriormente). El hecho de que la conceptualización sea compartida se refiere a que la ontología debe capturar un conocimiento compartido y aceptado por un grupo, no sólo por un individuo [24]. Se trata pues de un ente a un nivel superior a lo que se ha definido hasta el momento, un concepto que permite aunar, por ejemplo, tipos o relaciones entre entidades que existen para un uso particular en un campo concreto. Es, por tanto, un elemento fundamental para intercambiar información entre distintas herramientas de trabajo de la información, haciendo uso de una sintaxis común. Para poder trabajar con las ontologías, será necesario definir sus principales componentes. De esta manera se aportan definiciones y elementos menos abstractos dentro de este concepto [25]: 1. Clases: Son básicamente conceptos, ideas básicas que se intentan formalizar. Éstas pueden ser un objeto, un método, un plan, una estrategia, un proceso de razonamiento... En definitiva, son las abstracciones de las entidades del sistema. 2. Atributos: es la forma de organizar la estructura interna de las clases. Pueden ser específicos (propios de la clase) o heredados (se establecen por las relaciones que las clases mantienen con otras clases). Se pueden declarar una serie de atributos clave dentro de cada clase de forma que no se pueda instanciar más de una particularización de dicha clase con los mismos valores de los atributos. Así, pueden buscarse elementos de una clase a través de sus atributos. Su dominio es la clase, y su rango el tipo de elemento que sea instanciado. 3. Relaciones: representan las interacciones entre las clases. Conforman la taxonomía del dominio, por ejemplo, “parte de”, “subparte de”, “posee a” ... Existen relaciones de tipo binarias como las taxonómicas (“es un”) o las partonómicas (“parte de”). Su dominio es la clase de relación, y su rango es la clase de individuos que se va a relacionar. 4. Funciones: Son un tipo concreto de relación donde se identifica un único elemento mediante el cálculo de una función que considera varios elementos de la ontología. Sirva de ejemplo la función “padre de”. 5. Instancias: Sirven para representar objetos determinados de una clase. Es la forma de particularizar la clase. Se utilizan para representar elementos específicos. 6. Axiomas: Son teoremas que se establecen sobre relaciones que deben cumplir los elementos de la ontología. Por definición, axioma quiere decir algo que siempre es verdad, y así debe aplicarse también en las ontologías. De esta manera, se convierten en una herramienta para definir relaciones, restricciones entre atributos, entre otros. Todas estas características nos permitirán crear los denominados individuals que no son más que las particularizaciones de una clase que ha sido instanciada. Dicho de otro modo, es la creación de entidades de algún tipo asociando valores a sus atributos para obtener información. Las ontologías se manejan a través de un lenguaje web semántico, el denominado Lenguaje de Ontologías Web (OWL). Este lenguaje fue creado para procesar información contenida en documentos a través de distintas herramientas, de manera que éstas les presenten a los seres humanos posteriormente la información que requieren sin ambigüedades [26]. OWL posee mayor facilidad para expresar los significados y las semánticas que otros lenguajes, como por ejemplo XML, RDF o RDF Schema (RDF-S), de manera que OWL es capaz de llegar más lejos en cuanto a resultados de interpretación de contenidos se refiere, haciendo explícito el conocimiento implícito. Ello es capaz de conseguirlo a través de un vocabulario más amplio para describir clases y atributos, o añadiendo más y distintas relaciones entre clases, como igualdad, cardinalidad, clases enumeradas... Es decir, existe una particularización en lenguaje OWL de cada uno de los elementos que definen las ontologías y que se presentaron anteriormente. XML Cabe en este momento recordar que XML proporciona una sintaxis superficial para documentos estructurados, pero no impone limitaciones de semántica en estos documentos. A su vez, se utiliza XML Schema para restringir las estructuras de documentos XML y para ampliar éstos con más tipos de datos.
2. Interoperabilidad, ontologías y sistemas PLM 34 XML (Extensible Markup Language) es el lenguaje que permite intercambiar información en un documento con un formato y una sintaxis elegida de forma que pueda llevarse a cabo la interoperabilidad. Este Lenguaje de Marcada Extensible (XML) no es un lenguaje en sí mismo, de ahí que se deban definir las etiquetas al comienzo de cada documento para poder compartir los datos entre distintos sistemas, como se verá posteriormente. El archivo XML está formado por elementos y atributos, ordenados de forma jerárquica. Dentro de él, los nodos (elemento con sus atributos y todo lo que cuelga de él) aparecen relacionados entre sí, por ejemplo, uno dentro de otro como padre e hijo. Los atributos van ligados a los elementos, de manera que los primeros caracterizan a estos últimos, a través de una pareja nombre-valor. Para diferenciar si un elemento posee un valor asociado, se puede observar la estructura del nodo: ➢ “<Nombre elemento Nombre atributo=Valor atributo>Valor elemento</Nombre elemento>” (sí posee valor asociado). ➢ “<Nombre elemento Nombre atributo=Valor atributo/>” (no posee valor asociado). RDF A diferencia de XML, RDF (Resource Description Framework), es un modelo de datos para objetos y relaciones entre ellos, y proporciona una semántica simple para dicho modelo de datos, que pueden ser representados en una sintaxis XML. Además, RDF Schema es un vocabulario de propiedades y clases de recursos RDF con una semántica para la generalización y jerarquización de éstas. Así, como se mostrará posteriormente, es sencillo para el usuario cambiar, por ejemplo, las propiedades de las clases de una ontología, tanto en cantidades como en definición de las mismas, pues RDF utiliza el recurso de espacio de nombres XML: los espacios de nombres es una forma de vincular el uso de las palabras con el esquema donde está definida la misma, relacionando así cada propiedad con un esquema. No obstante, esta estructura de etiquetas obliga al usuario a ser riguroso con la definición de los términos, pues tanto emisor como receptor deberán interpretar mismos significados para mismos términos. Continuando con las características del lenguaje OWL, cabe mencionar ahora que éste se encuentra dividido en tres sublenguajes diseñados específicamente para distintos usuarios según sus necesidades [26]. El primero de ellos es OWL Lite, destinado a ontologías que requieren una clasificación jerárquica, y unas relaciones sencillas (por ejemplo, una relación de cardinalidad 0 o 1). Su estructura más sencilla también facilita su migración a otras taxonomías. OWL DL es el segundo sublenguaje. Está enfocado a aquellos usuarios que requieren la máxima expresividad a la vez que mantienen la complejidad computacional y la capacidad de decisión. OWL DL incluye todas las especificaciones del lenguaje OWL, aunque solo pueden ser usadas bajo ciertas restricciones. OWL Full es el tercer sublenguaje y está diseño para aquellos usuarios que quieren la máxima expresividad y libertad de sintaxis de RDF sin limitaciones computacionales. OWL Full permite, entre otros aspectos, aumentar el significado del vocabulario (RDF o OWL) predefinido. Dicho esto, es importante remarcar que los archivos en lenguaje OWL sirven para definir clases, atributos, objetos, entidades, subclases... Todos ellos como documentos de web semántica. Esto se lleva a cabo a través de una estructura OWL en esquema RDF (RDF-S), o lo que es lo mismo, un fichero XML con una estructura específica para definir esquemas de etiquetas que pueda ser representado por RDF. Para entender mejor esta estructura, se muestra a continuación un pequeño ejemplo de la estructura de etiquetas propias que se ha definido en un documento:
35 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Figura 11 – Estructura de etiquetas OWL. En primer lugar, aparece la versión XML usada, en este caso, “1.0”. Posteriormente aparece un nodo “rdf:RDF” que define la ontología y todos sus elementos (objetos, clases, entidades...): este es el denominado nodo raíz. Dentro de esta estructura se aprecian los espacios básicos fundamentales que se muestran a continuación con mayor detalle: Figura 12 – Espacios básicos más comunes. A modo de resumen, se muestra también una tabla resumen con los nombres de los espacios de nombres XML más usados: Tabla 1 - Espacios más usados. Raíz Referencia del espacio de nombres owl xmlns:owl="http://www.w3.org/2002/07/owl#" xsd xmlns:xsd="http://www.w3.org/2001/XMLSchema#" rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax- ns#" rdfs xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" A continuación, empiezan a aparecer el resto de los nodos que conforman el archivo XML a partir del nodo raíz. Estos nodos siempre se encuentran estructurados de una misma forma, que consiste en mostrar, en este orden, los nodos correspondientes a: Object Properties, Data Properties, Classes e Individuals. Éstos se muestran a continuación a través de un ejemplo [27]. En los nodos de Object Properties se aprecia el objeto creado birthPlace, así como el dominio y el rango que se han establecido para este ejemplo aleatorio. Si se hubiera establecido alguna relación con otra propiedad de objeto, también aparecería aquí. Figura 13 – Nodos de Object Properties. Para los nodos de Data properties, se muestra una propiedad creada a modo de ejemplo. En ella se aprecia su dominio y su rango; si existiera equivalencia con otras propiedades creadas, o algún comentario explicativo sobre el significado de la misma, también aparecería aquí. Asimismo, las propiedades que han sido consideradas como funcional para hacer únicos las instanciaciones, poseen un atributo en el nodo para marcar el Type Functional que también se muestra en el archivo XML:
2. Interoperabilidad, ontologías y sistemas PLM 36 Figura 14 – Nodos de Data Properties. En el caso de Classes, el nodo es el más sencillo de todos, pues sólo incluye una línea para la creación del atributo de las clases Driver y Sportsman de este ejemplo. También podría aparecer una etiqueta con el nombre de la clase. Figura 15 – Nodos de Classes. Por último, para las instanciaciones, se encuentra una estructura sencilla y manejable, una vez entendidas las anteriores. Aparecen atributos para Type (en este caso es de tipo Driver, una de las dos clases que se han definido para este ejemplo), así como para cada una de las propiedades definidas para la instanciación en cuestión (en este ejemplo dos propiedades), ya sean propiedades de objeto (ObjectProperty) o de datos (Data Property). Figura 16 – Nodos de Individuals. El cierre del nodo raíz se realiza con la sentencia </rdf:RDF> como se verá posteriormente en el ejemplo. Para poder abrir el documento en formato XML generado por la ontología, se puede utilizar cualquier editor de texto. En este trabajo se ha utilizado el software Notepad++ [28], por su facilidad de uso y gran adaptación a distintos formatos. Esta aplicación es capaz de detectar de qué tipo es cada elemento que se encuentra dentro del documento y catalogarlo por colores, como se aprecia en la anterior ilustración. El significado de cada uno de los colores se muestra a continuación:
37 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Tabla 2 - Significado de los colores en el archivo XML. Color Significado Verde Comentario Azul Nombre del elemento Negro Valor del elemento Rojo Nombre del atributo Morado Valor del atributo A continuación, se muestran algunas de las herramientas comerciales más usadas en la actualidad para el desarrollo de ontologías, esto es, crear, cargar, modificar o consultar ontologías, entre otras funciones. 2.2.2 Software para el diseño de ontologías • Ontolingua Server Ontolingua Server fue el primer software de ontologías, creado y desarrollado en el marco del proyecto DARPA Knowledge Sharing Effort (KSE) de la Universidad de Stanford a principios de los años 1900s [29]. Esta herramienta permite obtener los mecanismos para crear o reutilizar una ontología ya existente. Inicialmente consistía en un único módulo, el editor de ontologías, aunque progresivamente, con el paso del tiempo, se han ido añadiendo nuevos módulos funcionales, como un editor de ecuaciones, un Webster... [24]. En la siguiente imagen se muestra la interfaz de usuario de Ontolingua Server; nótese la sencillez y lo arcaico de su diseño en comparación con otros diseños en la actualidad. Figura 17 – Interfaz de usuario de Ontolingua Server [29]. • Enterprise Architecture La siguiente herramienta que se presenta es Enterprise Architecture, desarrollada por Sparx Systems [30] y basada en el lenguaje UML de OMG que se comentó anteriormente. Este software permite el diseño, modelado y construcción no sólo de ontologías, si no de cualquier ciclo de vida de cualquier tipo de proyecto, a través de una interfaz de modelado gráfica sencilla e intuitiva para el usuario que no se encuentra en otras herramientas de diseño de ontologías. La herramienta también posee, entre otros, estándares SysML u OWL, lo que permite la exportación de ontologías en formato.owl directamente.
2. Interoperabilidad, ontologías y sistemas PLM 38 Figura 18 - Interfaz de usuario de Enterprise Architecture [29]. • Protégé La última herramienta que se presenta es Protégé con la que se realizará el diseño de la ontología que este trabajo se presenta. Protégé es un software libre de código abierto utilizado por la gran mayoría de comunidades educativas que en la actualidad se dedican a modelar conceptos como jerarquía de clases, para desarrollar sistemas basados en el conocimiento, o de forma particular, para editar ontologías, y que creado por la Universidad de Standford [31]. Figura 19 – Logo de Protégé [32]. Protégé posee una interfaz sencilla, amigable, intuitiva y, sobre todo, customizable para ser adaptada a otros entornos de trabajo, lenguajes formales, aplicaciones... Además, soporta lenguajes como OWL, XML o RDF descritos con anterioridad para facilitar la integración de la ontología. En el capítulo 3 de este trabajo se describe el proceso de definición de una ontología en Protégé. La herramienta puede ser obtenido de forma gratuita y sencilla a través del sitio web oficial [32]. 2.2.3 Proceso de creación de una ontología El proceso de creación de una ontología se puede resumir en una serie de fases que se describen a continuación. Si bien se pretende definir una estrategia de trabajo para las ontologías, ésta no es exclusiva y está abierta a modificaciones, cambios y mejoras, en función de las necesidades específicas del cliente o del propio usuario. 1. Definir el alcance de la ontología. ¿Para qué se va a utilizar? ¿Qué necesidades se requieren satisfacer? ¿Cuál es su dominio? En definitiva, establecer el dominio de la ontología. 2. Considerar reutilizar una ontología ya existente. Ya existen librerías de ontologías que pueden ser tomadas como base para definir nuestra propia ontología.
39 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM 3. Definir los componentes más importantes de la ontología. ¿Qué términos se van a emplear? ¿Qué propiedades van a tener esos términos? ¿Qué propiedades van a identificar unívocamente estos términos? 4. Definir las clases de la ontología. Este proceso se hace en base al punto anterior, tomando como referencia los términos. 5. Definir las propiedades de las clases. Introducir los atributos que se definieron en el punto 3 para identificar a las clases que se han definido en el punto 4. 6. Definir las características de los atributos. Los atributos pueden poseer un rango de valores válidos, o un cierto tipo de caracteres válidos (por ejemplo, sólo letras o sólo número enteros). Ello depende la definición de clases que se haya tomado y es importante realizarlo antes de definir las instancias. 7. Crear las instancias. Definir las instancias particulares de las clases creadas anteriormente, incluyendo la jerarquía si así fuera necesario y rellenando los valores particulares de los atributos. Para un mejor entendimiento de este proceso que se acaba de describir, se presenta a continuación un esquema a modo de diagrama de flujo en la siguiente figura. Figura 20 - Proceso de creación de una ontología. 2.3 Sistemas PLM Los sistemas PLM (Product Lifecycle Management) están basados en un concepto de gestión para procesos integrados durante el ciclo de vida del producto que es soportado por los sistemas TIC (Tecnologías de la Información y la Comunicación). Su relación es fundamental con la denominada industria 4.0, o lo que es lo
2. Interoperabilidad, ontologías y sistemas PLM 40 mismo, la cuarta etapa de la evolución técnica de la humanidad en la industria, desde la Primera Revolución Industrial, en la que se introducen las tecnologías digitales en la industria, y que se ha extendido ampliamente en la última década. Su nacimiento viene motivado por la imposibilidad de realizar colaboración en tiempo real a lo largo del ciclo de vida del producto en la actual industria o, en su casa, la gran complejidad de los mismos. Además, la actual industria echa en falta en algunas ocasiones una resolución eficaz y rápida de los problemas de diseño, ingeniería y fabricación que los sistemas PLM sí son capaces de aportarle para alcanzar unos objetivos más eficientes en tiempo, coste y productividad para sus productos. Es por este motivo que los sistemas PLM están viviendo un gran auge dentro de la industria en los últimos años, ya que son capaces de hacer más competitivas a las empresas, y hacer que sus productos lleguen antes al mercado. De esta forma, se podría definir un sistema PLM como aquel sistema capaz de gestionar todo el ciclo de vida de un producto, desde su diseño hasta su desaparición, pasando por la fabricación, la comercialización o el mantenimiento. Figura 21 – Ciclo de vida de producto. Entre otros, algunos de los beneficios de implantar un sistema PLM en la industria que se encuentran: • Coste de desarrollo entre un 25% y un 40% menos. • Tiempo para encontrar la información entre un 75% y un 90% menos. • Tiempo para revisar un diseño entre un 50% y un 80% menos. • Errores de diseño entre un 10% y un 25% menos. • Productividad entre un 10% y un 20% más. Una de las principales aportaciones de los sistemas PLM a la industria 4.0 es el hecho de convertir sus productos en smart products. Esto es, productos inteligentes gracias al uso de softwares específicos o el internet de las cosas. Los sistemas PLM aportan las soluciones de software y hardware, como sistemas, aplicaciones o servicios integrados para el tratamiento de estos smart products. Estas soluciones se pueden aportar gracias a la integración de toda la información del producto y sus procesos desde la idea inicial, pasando por el diseño, la ingeniería, la fabricación y el mantenimiento; es decir, a lo largo de todo su ciclo de vida. En concreto, los sistemas PDM (Product Data Management) son un tipo específico de sistema PLM que nos aportará unas soluciones para los smart products que nos permitirán realizar la gestión de la lista de materiales, la gestión de las configuraciones, la clasificación de los mismos, entre otras avanzadas características relacionadas con la gestión de los datos de producto que nos aportarán la información correcta y exacta en todo momento, al alcance de todo aquel que la necesite [33].
41 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Figura 22 – Características de un PDM. Este tipo de sistemas de gestión de datos de producto (PDM) son especialmente usados en sectores que manejan datos con especial sensibilidad de cara a la seguridad de los mismos, o sectores en los que el control de los mismos es crucial para un desarrollo eficiente del producto. Buen ejemplo de ello sería cualquier programa aeronáutico en la actualidad. Eso sí, la gestión de un sistema de estas características no es sencilla, y algunos inconvenientes pueden surgir derivados de su uso: Tabla 3 - Potenciales problemas derivados del uso de sistemas PDM [33]. Implementación mal diseñada del PDM Tiempo de respuesta del PDM muy lento Deficiencias en el diseño del PDM Customización requerida muy compleja Demasiada burocracia en el PDM Altos costes de soporte del PDM Los sistemas PLM aportan también los modelos digitales necesarios en esta industria para la gestión de los datos de producto y para la gestión de los procesos. Uno de los modelos más usados en la actualidad son los MBSE. 2.4 Sistemas ERP Los sistemas ERP (Enterprise Resource Planning), sistemas de planificación de recursos empresariales, son unos sistemas de información gerenciales utilizados en la actualidad por las compañías de todo el mundo para sus sistemas de producción de bienes o servicios. En particular, dentro de la industria aeronáutica es ampliamente utilizado dentro de los procesos de desarrollos de los programas aeronáuticos, así como para controlar los procesos de mantenimiento a los que se ven sometidos las aeronaves. El origen de estos sistemas ERP se encuentra en los sistemas PLM y en la práctica suponen la automatización de muchos de los procesos que las compañías llevan a cabo en sus labores diarias, permitiendo, entre otras ventajas: • La customización de la herramienta en función de las necesidades del cliente. • La trazabilidad de la información y de los datos, así como de cualquier cambio que se realice dentro del sistema. • La seguridad de la información que se encuentra dentro del sistema ERP. • La facilidad de implementar procesos de calidad que garanticen la idoneidad de la información que contiene el sistema. Algunos ejemplos de sistemas ERP son Oracle Cloud ERP, SAP Business One, Odoo ERP o Microsoft Dynamics 365, entre otros.
4. Implementación 48 4.2 Customización ARAS Para crear el entorno de trabajo descrito hasta el momento, es necesario elaborar un gestor de modelos que sea capaz de leer ontología para almacenar su información y hacer efectiva la interoperabilidad entre sistemas. En este punto se muestra el diseño y customización de un software PLM, para así dejar paso en el siguiente punto de este capítulo al software que se utilizará para crear las ontologías. Para llevar a cabo ese diseño PLM, se utilizará el software ARAS Innovator [33]. ARAS es un software PLM libre desarrollado por ARAS Corporation y basado en Microsoft .NET Framework y SQL Server, que permite el desarrollo colaborativo de productos [34]. En concreto, permite, como se introdujo en capítulos anteriores, establecer conexiones abiertas entre distintos sistemas ERP (como los que ofrece SAP) y otros sistemas PLM, y de esta forma, permite también al usuario controlar todo el ciclo de vida de un producto. Además, también permite almacenar y modificar ontologías a través de códigos en lenguaje C#, pues ARAS no es capaz de procesar ontologías directamente desde el software que se utilizará en este trabajo (Protégé). Figura 26 – Interfaz de usuario de ARAS. Existen una serie de funcionalidades en ARAS que lo convierten en un software ampliamente utilizado en empresas de distintos sectores de la ingeniería en la actualidad, como la aeronáutica, la automoción, la naval o la sanitaria. Entre dichas ventajas, se muestran a continuación las más destacables: 1) Se trata de un software abierto, tanto en disponibilidad como en arquitectura. Asimismo, existe una gran facilidad de colaboración entre equipo, gracias al soporte de una gran comunidad de usuarios. 2) Es un software customizable, es decir, se adapta a los requerimientos de cada usuario y se encuentra inmerso es un proceso de constante actualización y mejora. 3) Es un software flexible en el marco de softwares para MBSE, se adapta bien a las necesidades del negocio. 4) Proporciona soporte a distintas aplicaciones, desde PLM hasta aplicaciones de simulación, pasando por aplicaciones de diseño, calidad o mantenimiento de productos. El software está compuesto por clientes web, un servidor de aplicaciones y una base de datos tipo SQL. También utiliza un servido de archivos como se aprecia en la siguiente imagen. Todo ello basado en protocolos estándar de Internet, como HTTP, XML o SOAP:
49 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Figura 27 – Arquitectura del software de ARAS Innovator. Antes de customizar la herramienta de acuerdo con las necesidades de este trabajo, es necesario comprender cuáles son los elementos más relevantes con los que se va a trabajar en ARAS. Al acceder a ARAS como usuario admin se tiene la capacidad de modificar y customizar la herramienta al completo, hecho que no sucedería si se accediera con un usuario con limitación de acción. Estas modificaciones se realizarán sobre la pestaña Administration que se observa en el margen izquierdo de la ilustración: en concreto se manejarán los siguientes elementos: 1) ItemTypes: Part. Para este trabajo se ha tomado el objeto ya creado en ARAS, Part, y se ha modificado según las necesidades. Este ItemType posee una serie de propiedades, relaciones, ciclos de vidas y posibilidades de accesos (entre otras muchas opciones) que pueden ser customizadas atendiendo a las necesidades del cliente o del proyecto. En la siguiente ilustración se muestra el objeto Part:
4. Implementación 50 Figura 28 – ItemType de Part en ARAS. Entre los elementos más destacables para la customización se encuentra la pestaña Properties, dónde se han añadido todas las propiedades asociadas a Part con las que se van a trabajar, así como sus etiquetas, o el tipo de valores que pueden tomar (string, boolean, listas...). Es decir, se incluyen en este punto todos los atributos del sistema PLM que posteriormente deben relacionarse con la sintaxis del sistema ERP. 2) Forms: Part. Se denominarán formularios de aquí en adelante. Permiten diseñar la interfaz de usuario para cada ItemType. En este caso se ha customizado el formulario Part de acuerdo con las necesidades de este trabajo. Figura 29 – Formulario de Part en ARAS.
51 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM 3) Lists. En este apartado aparecen todas las listas que son llamadas en los formularios para los campos que la requieren. Se muestra un ejemplo de lista realizado para este trabajo en la siguiente ilustración: Figura 30 – Listas en ARAS. Una vez customizado el objeto Part, éste estará accesible a través de la pestaña Design. Figura 31 – Part en ARAS. Si se selecciona Create a new item, nos aparecerá una pestaña en la que se ve reflejada la customización realizada con el formulario, con todo listo para introducir los datos requeridos. En la parte de arriba aparece la información relativa al objeto en cuestión, y en la parte inferior aparecen las relaciones con otros ItemTypes, entre otra información útil.
4. Implementación 52 Figura 32 – Crear un nuevo Part en ARAS. 4.3 Definición de una ontología en Protégé El software Protégé define las ontologías como un enlace web (Ontology IRI, Identificador de Recursos Internacionalizados), al ser un desarrollo en un entorno colaborativo: Figura 33 – Apariencia de una ontología en Protégé. Una vez abierto el software y situados sobre la pestaña Entities, se aprecian las distintas ventanas con los distintos objetos con los que se podrá crear la ontología: Classes, Object properties, Data properties, Individual, Datatypes y Annotation properties. Por ejemplo, para crear una nueva clase, será necesario clicar en la raíz owl:Thing y posteriormente en el icono para añadir (Add Sublcass) y simplemente faltaría por añadir el nombre que se le va a aportar a la clase (en el caso del ejemplo, Part). Se puede proceder del mismo modo sobre la clase recién creada para añadir una nueva subclase, es decir, una clase en un nivel inferior.
53 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Figura 34 – Creación de la clase Part. Nótese que, como el software está basado en una web semántica, la clase queda referencia por el nombre de la ontología junto con un símbolo “#” para, a continuación, incluir el nombre de la clase. Y así, la parte quedaría de la siguiente forma: Figura 35 – Ejemplo de contenido de la pestaña Classes. Una vez creada la clase Part, aparecen en el lado derecho de la pantalla las ventanas de anotaciones y propiedades: Figura 36 – Anotaciones y propiedades de la clase Part. En el espacio de anotaciones se pueden incluir etiquetas que aparecerán posteriormente cuando se exporte la ontología a un archivo XML y que ayudarán a la identificación y compresión de las distintas clases que se han creado. En el siguiente espacio aparecen las distintas propiedades que se le pueden asociar a una clase. Se describen a continuación cada uno de esos campos en el mismo orden en el que aparecen en Protégé:
4. Implementación 54 1. Equivalent to: Esta propiedad permite relacionar dos clases equivalente, lo cual no implica que ambas clases sean iguales, simplemente que están relacionadas de algún modo. 2. Subclass of: Este campo permite relacionar dos clases de manera que una sea subclase la otra. Es decir, que una clase Y cuelgue de una clase X, de manera que la clase de tipo Y sean de tipo X, pero no al revés. Esta relación también se puede establecer de forma manual, como se vio anteriormente a partir de la raíz owl:Thing. 3. General class axioms: Esta propiedad permite establecer axiomas entre clases. 4. Subclass of (Anonymous Ancestor): Se utiliza para el mismo fin que la propiedad Subclass of, solo que en este caso se desconoce el nivel superior de la clase que se quiere relacionar. Por ejemplo, una clase Z equivalente con una clase Y, que a su vez también pertenece a una clase X. 5. Instances: En esta pestaña aparecen los individuos instanciados de cada clase. 6. Target for key: Permite seleccionar los data properties que son únicos de cada clase. 7. Disjoint with: Este punto permite independizar una clase de otra. Existen 3 posibles casos: a) Una clase Y puede estar totalmente contenida en otra clase X. b) Una clase Y puede estar parcialmente contenida en otra clase X. c) Una clase Y puede ser totalmente independiente de otra clase X. 8. Disjoint union of: Permite discernir cuál es la clase principal de un dominio en el que hay clases solapadas. El siguiente paso es definir las propiedades de cada clase. Para ello se utiliza la pestaña Object properties, en la que se definen atributos cuyo rango de valores es otra clase. Para crear un object property (a partir de ahora se denominará objeto), se selecciona owl:topObjectProperty en la pestaña correspondiente y se pulsa en Add sub property: Figura 37 – Crear un Object. Aparecerá una ventana similar a la que aparecía cuando se creó la clase, pero en este caso para el objeto: Figura 38 – Ventana para la creación de un Object. Del mismo que ocurría en la pestaña de clases, en esta pestaña también aparecen a la derecha las anotaciones, características y descripción del objeto:
55 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Figura 39 – Anotaciones, características y propiedades del Object. Entre las características de los objetos aparecen las siguientes con la posibilidad de ser señaladas: 1. Functional: Impide que una clase pueda estar relacionada con más de una clase si se selecciona esta propiedad. 2. Inverse functional: Sirve para indicar que la propiedad inversa es funcional. 3. Transitive: Si una propiedad es transitiva y puede relacionar dos parejas de individuos, con un individuo común, entonces los tres individuos quedan relacionados. 4. Symmetric: Permite relacionar una propiedad entre dos individuos en ambos sentidos. 5. Asymmetric: Impide que una propiedad se establezca en los dos sentidos entre dos individuos. 6. Reflexive: La propiedad relaciona al individuo consigo mismo. 7. Irreflexive: Una propiedad no puede relacionar al individuo consigo mismo. En el apartado de descripción, además de las descritas para las clases anteriormente, aparecen dos nuevas descripciones: 1. Domains: Clase que indican que un individuo con esta propiedad es una instancia de ella. 2. Ranges: Clase que indica que el valor de una propiedad es una instancia de ella. Estos elementos de descripción se ajustan de la siguiente forma:
4. Implementación 56 Figura 40 – Selección del dominio. Figura 41 – Selección del rango. Este proceso sería necesario repetirlo tantas veces como Object Properties se quieran definir en la ontología. También se pueden definir propiedades a través de la pestaña Data properties, que se utiliza para aquellos atributos cuyo rango de valores es un dato. Para ello, se selecciona owl:topDataProperty y se clica en Add sub property. Aparecerá una pantalla para definir el nombre de la propiedad que se quiere crear en Protégé:
57 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Figura 42 – Añadir DataProperty. También en esta pestaña de Protégé aparecen las anotaciones, características y descripciones, en este caso de las propiedades: Figura 43 – Anotaciones, características y descripción de los DataProperties. La característica de Functional implica que la instanciación sólo puede contener este atributo una única vez. La descripción de este elemento contiene los mismos entes presentados hasta el momento, por lo que las implicaciones de éstos se mantienen. Eso sí, el apartado de Ranges debe contener el tipo de dato que se incluirá en el Data Property en cuestión, como, por ejemplo, string si se trata de una cadena de caracteres, o boolean, si es un indicador falso/negativo, entre otros muchos rangos que ya se encuentran definidos en la ontología. En las siguientes ilustraciones se muestran estos aspectos:
5. Diseño del sistema de instanciación 64 customizados a petición del cliente y en línea con la ontología que se haya diseñado a través de la opción Create a new item. En este caso, si se selecciona esta opción, aparece la ventana que se muestra en la siguiente figura: Figura 53 – Introducción de datos de parte en ARAS Innovator. En esta ventana aparecen todos los atributos definidos para el sistema PLM. Una vez introducidos los datos en la pestaña anterior, ARAS almacena los datos. Esta información podrá ser visualizada o editada en el futuro. Además, es destacable señalar que la herramienta permita establecer relaciones entre distintos Parts, del mismo modo que se realizará con la ontología, según se mostrará posteriormente en la demostración realizada en este trabajo. Estas relaciones se establecen a través de la pestaña BOM, del mismo que se harían en cualquier proceso de diseño al uso: Figura 54 - Pestaña BOM en ARAS Innovator. Una vez almacenada la información en el nuevo Item generado, se podrá acceder al conjunto de nuevos Parts que se hayan generado en esta herramienta PLM de forma conjunta:
65 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Figura 55 - Partes generadas en ARAS Innovator. De esta forma, obtenemos en el sistema PLM el reflejo de la información que aparece en el sistema ERP. Esta información será de gran utilidad para el desarrollo de las tareas de mantenimiento de la aeronave, así como la creación de las listas de repuestos as maintained necesarios para estas tareas, pues comprometerá el trabajo de los técnicos de mantenimiento de las aeronaves, según la información que se haya definido por parte de los equipos de diseño en el sistema ERP.
67 6 DEMOSTRACIÓN En el presente capítulo se procede a desarrollar un ejemplo del sistema de instanciación definido en el apartado anterior, con el con el fin de garantizar su correcto funcionamiento. Para ello, se hará uso de los conocimientos de implementación en herramientas adquiridos en el capítulo 4 en las herramientas de ARAS Innovator y Protégé. El ejemplo que se llevará a cabo corresponde con un assembly de una tubería con su correspondiente despiece, conformado por la propia tubería, unos tornillos y una abrazadera. La propia tubería, a su vez, es otro assembly y está compuesta por una manguera y un codo. A continuación, se muestra el listado de las partes a utilizar en este ejemplo: Tabla 5 – Partes utilizadas en el ejemplo. Parte Descripción de la parte M29020010000 Montaje completo M29020010010 Tubería DIN913-M4x5 Tornillo ABS0396H12ND Abrazadera M29020010011 Manguera AS5182B Codo En la siguiente figura se muestra el conjunto del montaje en el que se aprecian visualmente los distintos elementos que lo conforman: Los científicos estudian el mundo tal como es; los ingenieros crean el mundo que nunca ha sido Theodore Von Karman
6. Demostración 68 Figura 56 - Montaje completo M29020010000. Como se ha comentado, la propia tubería que forma el assembly es, a su vez, otro montaje conformado por una manguera y un codo, como se muestra a continuación: Figura 57 - Montaje de la tubería M29020010010. Para llevar a cabo esta demostración, en primer lugar, en la herramienta ARAS se ha generado un proyecto de datos, que incluye un montaje descrito en la anterior tabla. Se muestra a continuación en una serie de figuras, la información de las distintas partes descritas que se han implementado en el software PLM tras el desarrollo de la ontología, para conocer específicamente toda su información asociada. Cabe recordar en este punto que la información de cada una de las partes proviene de un extracto en formato.XLM del sistema ERP que se muestra a continuación:
69 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Figura 58 - Extracto del sistema ERP de las partes utilizadas en la demostración. Para el montaje completo (assembly), se ha utilizado la herramienta de ARAS que permite asociar las distintas Parts entre ellas, a través de la pestaña BOM. En concreto se ha denominado que, un montaje completo incluye una tubería, cuatro tornillos y dos abrazaderas, es decir, que cada abrazadera requiere de dos tornillos para su sujeción a la tubería. Además, cada tubería incluye una manguera y un codo en su montaje. Este tipo de abrazaderas son muy útiles para sujetar tuberías a una estructura en particular, o a la estructura de la aeronave en general. Además, se ha definido el assembly como un FIN (102QA), es decir, como un equipo (EQU=1) con entidad propia, lo cual afectará a algunos datos del PNR. Se puede apreciar además que, tanto los tornillos como las abrazaderas y el codo, corresponden elementos standard, es decir, que se fabrican de acuerdo con una norma estándar internacional, en este caso, normas DIN o ABS, por ejemplo. Figura 59 – Montaje completo en ARAS.
6. Demostración 70 Figura 60 – Tubería del montaje en ARAS. Figura 61 – Tornillos del montaje en ARAS.
71 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Figura 62 – Abrazaderas del montaje en ARAS. Figura 63 - Manguera del montaje en ARAS.
6. Demostración 72 Figura 64 - Codo del montaje en ARAS. Con anterioridad se ha desarrollado una ontología que permita la interoperabilidad entre los sistemas ERP y PLM. De este modo, la información que se mostró anteriormente dentro del sistema PLM, ha sido volcada en éste a través de la ontología, tomando como origen de la información, el sistema ERP, según se detalló en el capítulo 5 de este trabajo. A continuación, se muestran algunas capturas del software de Protégé, en cuyo apartado de Individuals, aparecen estos ejemplos implementados, junto con toda su información asociada, con la información tanto del sistema ERP como PLM. También se han generado unos Individuals que permiten la creación de las relaciones entre las distintas partes: estos Individuals pertenecen a las clases Part_BOM y Parte_BOM que se detallaron en el capítulo 4 de este mismo trabajo. En concreto, todos los elementos que se denominan Part corresponden a la estructura generada para el sistema PLM, mientras que los denominados Parte se corresponden con la estructura del sistema ERP. El conjunto de Individuals generados se muestra a continuación:
73 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM Figura 65 – Individuals generados en Protégé. Para cada uno de estos elementos, existe una información asociada y casada con la información que se mostró anteriormente para el sistema PLM. En concreto, por ejemplo, en Part_3 se encuentra la información relativa a la tubería del montaje que se mostraba anteriormente también para el sistema PLM en ARAS. A continuación, se muestran los datos tal y como aparecen en Protégé:
8. Referencias 80 [19] UML, «https://www.uml.org/what-is-uml.html,» [En línea]. [20] P. M. Calero, Modelo SysML de un Robot Khepera III, TFG. [21] OMG, OMG Systems Modeling Language (OMG SysML) Version 1.3, no. 1.3. 2012. [22] OMG, «https://www.omg.org/sysml-directory/,» [En línea]. [23] W. N. Borst, Construction of Engineering Ontologies for Knowledge Sharing and Reuse, 1997. [24] M. F.-L. A. G.-P. Oscar Corcho, «Methodologies, tools and languages for building ontologies. Where is their meeting point?,» ELSEVIER, 2002. [25] T. R. Gruber, «A Translation Approach to Portable Ontology Specifications,» 1993. [26] W3C Recommendation, «https://www.w3.org/TR/owl-features/,» 2004. [En línea]. [27] «https://blog.classora-technologies.com/2012/12/18/owl-el-lenguaje-de-ontologias-web-del-w3c/,» [En línea]. [28] Notepad++, «https://notepad-plus-plus.org/,» [En línea]. [29] KSL Standford, «http://www.ksl.stanford.edu/software/ontolingua/,» [En línea]. [30] EnterpriseArchitect, «https://sparxsystems.com/,» [En línea]. [31] Y. M. Muñoz, «http://personales.upv.es/ccarrasc/doc/2001-2002/Protege2000/PROTEGE.htm,» 2002. [En línea]. [32] Stanford, «https://protege.stanford.edu/,» [En línea]. [33] J. Stark, Product Lifecycle Management (Volume 2), Springer, 2016. [34] ARAS Innovator, «https://www.aras.com/,» [En línea]. [35] InfoWorld, «https://www.infoworld.com/article/2660551/soft-sell-for-open-source-apps.html,» [En línea].
81 ANEXO I En este Anexo se presenta el modelo de datos al completo exportado del sistema ERP. Object 29128406_010 29128406_020 29128406_030 29128406_040 29128406_050 29128406_060 Item Sol 2 2 2 2 2 2 PNR/MFR ABS0396H12ND: FAPE3 DIN913- M4x5:80205 M29020010010: D8518 M29020010000: D8518 M29020010011: D8518 AS5182B:D85 18 Type PNPS PNPS PNPS PNPS PNPS PNPS Group 34 34 34 34 34 34 SPC 1 1 1 1 1 1 PNR/MFR descriptio n CLAMP BOLT PIPE ASSEMBLY HOSE ELBOW LC L L L L L L Civilian or/and Military Domain B B B B B B Manufactu rer Part No. ABS0396H12ND DIN913-M4x5 M29020010010 M29020010000 M29020010011 AS5182B Ext. manufactu rer FAPE3 80205 D8518 D8518 D8518 D8518 Descriptio n For military Part CLAMP,LOOP BOLT PIPE PIPE,ASSEMBL Y HOSE ELBOW Item Name Code (INC) 17532 16247 10200 11003 12053 13027 NATO Supply Class (NSC) 5340 5320 1720 1600 1730 1940 A400M Unit of Issue EA EA EA EA EA EA SPQ 1 100 1 1 1 1 Type of price 06 06 06 06 06 06 Item Type (ITY) BD HW MD MD BD BD Spare Parts Classificat ion (SPC) 1 1 6 6 1 1 Purcharsi ng leadtime 3 2 8 10 8 8 Special Storage (STR) 0 0 0 0 0 0 Shelf Life Code (SLC) X 0 0 0 0 0 Packaging Level Code Z Z Z Z Z Z Procurem ent code AB AB AB AB AB AB
9. Anexo I 82 Unit price 178,00 1,00 201,00 380,00 180,00 21,00 Currency code (constant EUR for A400M) EUR EUR EUR EUR EUR EUR Minimum Sales Quantity 1 100 1 1 1 10 Physical security Code U U U U U U Military Status Quality check Quality check Quality check Quality check Quality check Quality check Redactor Code Descriptio n IDEA-STUDEC IDEA-STUDEC IDEA-STUDEC IDEA-STUDEC IDEA-STUDEC IDEASTUDEC Complete Status Complete Complete Complete Complete Complete Complete Mil Electrosta tic Sens Device Indicator 0 0 0 0 0 0 Airbus business organisati on D8518 D8518 D8518 D8518 D8518 D8518 Source Maintenan ce Recovera bility PAOZZ PAOZZ PAOOO PAOOO PAOZZ PAOZZ NATO Identificati on Number (NIN) 145958075 145958075 145958075 145958075 145958075 145958075 Reference Number Category Code (RNC) 1 1 1 1 1 1 Reference Number Justificatio n Code(RNJ ) 0 0 0 0 0 0 Reference Number Variation Code (RNV) 2 2 2 2 2 2 Essentialit y code 2 2 1 1 1 1 Figure Type IF IF IF IF IF IF First effectivity 7 7 7 7 7 7 Last effectivity 21 21 21 21 21 21 FIN-CI 102QA DFL Not interchangeable Not interchangeabl e Not interchangeable Not interchangeable Not interchangeable Not interchangeabl e REV 0 0 0 0 0 0 Concessio n 0 0 0 0 0 0
83 ANEXO II En el presente Anexo se documenta la ontología diseñada en este trabajo, tras su exportación desde el software Protégé en formato RDF/XML Syntax. <?xml version="1.0"?> <rdf:RDF xmlns="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#" xml:base="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9" xmlns:PNR="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#PNR/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <owl:Ontology rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9"/> <!-- /////////////////////////////////////////////////////////////////////////////////////// // // Object Properties // /////////////////////////////////////////////////////////////////////////////////////// --> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#PartDestino --> <owl:ObjectProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#PartDestino"> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part_BOM"/> <rdfs:range rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> </owl:ObjectProperty>
10. Anexo II 84 <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#PartOrigen --> <owl:ObjectProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#PartOrigen"> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part_BOM"/> <rdfs:range rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> </owl:ObjectProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#ParteDestino --> <owl:ObjectProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#ParteDestino"> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Parte_BOM"/> <rdfs:range rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Parte"/> </owl:ObjectProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#ParteOrigen --> <owl:ObjectProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#ParteOrigen"> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Parte_BOM"/> <rdfs:range rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Parte"/> </owl:ObjectProperty> <!-- ///////////////////////////////////////////////////////////////////////////////////////
85 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM // // Data properties // /////////////////////////////////////////////////////////////////////////////////////// --> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#ALM --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#ALM"> <owl:equivalentProperty rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#STR"/> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> <rdfs:comment>El PNR requiere un almacenaje especial</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#CAT --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#CAT"> <owl:equivalentProperty rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#INC"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> <rdfs:comment>Código de catalogación del producto</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#COM -->
10. Anexo II 86 <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#COM"> <owl:equivalentProperty rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Purcharsing_leadtime"/> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> <rdfs:comment>Tiempo (en meses) que tarda la compra del producto</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#CON --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#CON"> <owl:equivalentProperty rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Concession"/> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> <rdfs:comment>¿El PNR ha sido modificado por una concesión?</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Complete_Status --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Complete_Status"> <owl:equivalentProperty rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#STA"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:comment>Estado del producto en el sistema</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Concession -->
87 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Concession"> <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> <rdfs:comment>¿El PNR ha sido modificado por una concesión?</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Currency_code --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Currency_code"> <owl:equivalentProperty rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#MON"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:comment>Moneda en la que aparece el precio</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#DES --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#DES"> <owl:equivalentProperty rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Description_For_military_Part"/> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:comment>Nombre del producto</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#DET --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#DET"> <owl:equivalentProperty
10. Anexo II 88 rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#SLC"/> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> <rdfs:comment>¿el material se deteriorta?</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#DFL --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#DFL"> <owl:equivalentProperty rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#MES"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:comment>Mensaje a añadir sobre el PNR (alternativos)</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Description_For_military_Part --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Description_For_military_Part"> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Parte"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:comment>Nombre del producto</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#EF1 --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#EF1"> <owl:equivalentProperty rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#First_effectivity"/>
89 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> <rdfs:comment>Primera efectividad del producto en el avión</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#EF2 --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#EF2"> <owl:equivalentProperty rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Last_effectivity"/> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> <rdfs:comment>Última efectividad del producto en el avión</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#ELE --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#ELE"> <owl:equivalentProperty rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Mil_Electrostatic_Sens_Device_Indicator"/> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> <rdfs:comment>¿Es un componente electrico?</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#EMQ --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-
10. Anexo II 96 <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#PRE --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#PRE"> <owl:equivalentProperty rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Unit_price"/> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> <rdfs:comment>Precio</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Packaging_Level_Code --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Packaging_Level_Code"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> <rdfs:comment>¿el matereial se proporciona empaquetado?</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Purcharsing_leadtime - -> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Purcharsing_leadtime"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> <rdfs:comment>Tiempo (en meses) que tarda la compra del producto</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#QTA -->
97 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#QTA"> <owl:equivalentProperty rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#QTY"/> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Parte_BOM"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#QTY --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#QTY"> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part_BOM"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#REP --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#REP"> <owl:equivalentProperty rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Source_Maintenance_Recoverability"/> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> <rdfs:comment>¿Reparable?</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#REV --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#REV">
10. Anexo II 98 <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> <rdfs:comment>Contador del número de evoluciones que ha sufrido el PNR con respecto a los cambios de MFC</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#SLC --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#SLC"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> <rdfs:comment>¿el material se deteriorta?</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#SPC --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#SPC"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> <rdfs:comment>Nivel de identación del producto</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#STA --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#STA"> <rdfs:domain rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:comment>Estado del producto en el sistema</rdfs:comment> </owl:DatatypeProperty>
99 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#STR --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#STR"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> <rdfs:comment>El PNR requiere un almacenaje especial</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Source_Maintenance_Recoverability --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Source_Maintenance_Recoverability"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> <rdfs:comment>¿Reparable?</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Unit_price --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Unit_price"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#unsignedInt"/> <rdfs:comment>Precio</rdfs:comment> </owl:DatatypeProperty> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#PNR/MFR --> <owl:DatatypeProperty rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#PNR/MFR"> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> <rdfs:comment>Part Number del producto</rdfs:comment> </owl:DatatypeProperty>
10. Anexo II 100 <!-- /////////////////////////////////////////////////////////////////////////////////////// // // Classes // /////////////////////////////////////////////////////////////////////////////////////// --> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Part --> <owl:Class rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"> <owl:equivalentClass rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Parte"/> <rdfs:comment>Clase generada para el sistema PLM</rdfs:comment> </owl:Class> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Part_BOM --> <owl:Class rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part_BOM"> <owl:equivalentClass rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Parte_BOM"/> <rdfs:comment>Clase para la relación entre partes en sistema PLM</rdfs:comment> </owl:Class> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Parte --> <owl:Class rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Parte"> <rdfs:comment>Parte generada para el sistema ERP</rdfs:comment>
101 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM </owl:Class> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Parte_BOM --> <owl:Class rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Parte_BOM"> <rdfs:comment>Clases para la relación entre partes en sistema ERP</rdfs:comment> </owl:Class> <!-- /////////////////////////////////////////////////////////////////////////////////////// // // Individuals // /////////////////////////////////////////////////////////////////////////////////////// --> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Part_1 --> <owl:NamedIndividual rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Part_1"> <rdf:type rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <ALM rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</ALM> <CAT rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">17532</CAT> <COM rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">3</COM> <CON rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</CON> <DES rdf:datatype="http://www.w3.org/2001/XMLSchema#string">CLAMP,LOOP</DES> <DET rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</DET> <EF1 rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">7</EF1> <EF2 rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">21</EF2> <ELE rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</ELE>
10. Anexo II 102 <EMQ rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</EMQ> <EQU rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</EQU> <ESE rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</ESE> <EVO rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">0</EVO> <FIN rdf:datatype="http://www.w3.org/2001/XMLSchema#string"></FIN> <MAN rdf:datatype="http://www.w3.org/2001/XMLSchema#string">FAPE3</MAN> <MES rdf:datatype="http://www.w3.org/2001/XMLSchema#string">No messages</MES> <MIN rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">1</MIN> <MON rdf:datatype="http://www.w3.org/2001/XMLSchema#string">EUR</MON> <NIV rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</NIV> <PNR rdf:datatype="http://www.w3.org/2001/XMLSchema#string">ABS0396H12ND</PNR> <PRE rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">178</PRE> <REP rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</REP> <STA rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Complete</STA> </owl:NamedIndividual> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Part_2 --> <owl:NamedIndividual rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Part_2"> <rdf:type rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <ALM rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</ALM> <CAT rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">16247</CAT> <COM rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">2</COM> <CON rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</CON> <DES rdf:datatype="http://www.w3.org/2001/XMLSchema#string">BOLT</DES> <DET rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</DET> <EF1 rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">7</EF1> <EF2 rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">21</EF2> <ELE rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</ELE> <EMQ rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</EMQ> <EQU rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</EQU> <ESE rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</ESE> <EVO rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">0</EVO> <FIN rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt"></FIN>
103 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM <MAN rdf:datatype="http://www.w3.org/2001/XMLSchema#string">80205</MAN> <MES rdf:datatype="http://www.w3.org/2001/XMLSchema#string">No messages</MES> <MIN rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">100</MIN> <MON rdf:datatype="http://www.w3.org/2001/XMLSchema#string">EUR</MON> <NIV rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</NIV> <PNR rdf:datatype="http://www.w3.org/2001/XMLSchema#string">DIN913-M4x5</PNR> <PRE rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">1</PRE> <REP rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</REP> <STA rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Complete</STA> </owl:NamedIndividual> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Part_3 --> <owl:NamedIndividual rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Part_3"> <rdf:type rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <ALM rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</ALM> <CAT rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">10200</CAT> <COM rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">8</COM> <CON rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</CON> <DES rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PIPE</DES> <DET rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</DET> <EF1 rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">7</EF1> <EF2 rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">21</EF2> <ELE rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</ELE> <EMQ rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</EMQ> <EQU rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</EQU> <ESE rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</ESE> <EVO rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">0</EVO> <FIN rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt"></FIN> <MAN rdf:datatype="http://www.w3.org/2001/XMLSchema#string">D8518</MAN> <MES rdf:datatype="http://www.w3.org/2001/XMLSchema#string">No messages</MES> <MIN rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">1</MIN> <MON rdf:datatype="http://www.w3.org/2001/XMLSchema#string">EUR</MON> <NIV rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</NIV> <PNR rdf:datatype="http://www.w3.org/2001/XMLSchema#string">M29020010010</PNR>
10. Anexo II 104 <PRE rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">201</PRE> <REP rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</REP> <STA rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Complete</STA> </owl:NamedIndividual> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Part_3_Part_5 --> <owl:NamedIndividual rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Part_3_Part_5"> <rdf:type rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part_BOM"/> <QTY rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">1</QTY> </owl:NamedIndividual> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Part_3_Part_6 --> <owl:NamedIndividual rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Part_3_Part_6"> <rdf:type rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part_BOM"/> <QTY rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">1</QTY> </owl:NamedIndividual> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Part_4 --> <owl:NamedIndividual rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Part_4"> <rdf:type rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part"/> <ALM rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</ALM> <CAT rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">11003</CAT> <COM rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">10</COM> <CON rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</CON> <DES rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PIPE,ASSEMBLY</DES>
105 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM <DET rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</DET> <EF1 rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">7</EF1> <EF2 rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">21</EF2> <ELE rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</ELE> <EMQ rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</EMQ> <EQU rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</EQU> <ESE rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</ESE> <EVO rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">0</EVO> <FIN rdf:datatype="http://www.w3.org/2001/XMLSchema#string">102QA</FIN> <MAN rdf:datatype="http://www.w3.org/2001/XMLSchema#string">D8518</MAN> <MES rdf:datatype="http://www.w3.org/2001/XMLSchema#string">No messages</MES> <MIN rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">1</MIN> <MON rdf:datatype="http://www.w3.org/2001/XMLSchema#string">EUR</MON> <NIV rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</NIV> <PNR rdf:datatype="http://www.w3.org/2001/XMLSchema#string">M29020010000</PNR> <PRE rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">380</PRE> <REP rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</REP> <STA rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Complete</STA> </owl:NamedIndividual> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Part_4_Part_1 --> <owl:NamedIndividual rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Part_4_Part_1"> <rdf:type rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part_BOM"/> <QTY rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">2</QTY> </owl:NamedIndividual> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Part_4_Part_2 --> <owl:NamedIndividual rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Part_4_Part_2"> <rdf:type rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Part_BOM"/>
10. Anexo II 112 <Currency_code rdf:datatype="http://www.w3.org/2001/XMLSchema#string">EUR</Currency_code> <DFL rdf:datatype="http://www.w3.org/2001/XMLSchema#string">No messages</DFL> <Description_For_military_Part rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PIPE,ASSEMBLY</Description_For_military_P art> <Essentiality_code rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</Essentiality_code> <Ext._Manufacturer rdf:datatype="http://www.w3.org/2001/XMLSchema#string">D8518</Ext._Manufacturer> <FIN-CI rdf:datatype="http://www.w3.org/2001/XMLSchema#string">102QA</FIN-CI> <First_effectivity rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">7</First_effectivity> <INC rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">11003</INC> <ITY rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</ITY> <Last_effectivity rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">21</Last_effectivity> <Mil_Electrostatic_Sens_Device_Indicator rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</Mil_Electrostatic_Sens_Device_Indicat or> <Minimum_Sales_Quantity rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">1</Minimum_Sales_Quantity> <Packaging_Level_Code rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</Packaging_Level_Code> <Purcharsing_leadtime rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">10</Purcharsing_leadtime> <REV rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">0</REV> <SLC rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</SLC> <SPC rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</SPC> <STR rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</STR> <Source_Maintenance_Recoverability rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</Source_Maintenance_Recoverability> <Unit_price rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">380</Unit_price> <PNR:MFR rdf:datatype="http://www.w3.org/2001/XMLSchema#string">M29020010000</PNR:MFR> </owl:NamedIndividual> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Parte_4_Parte_1 --> <owl:NamedIndividual rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Parte_4_Parte_1"> <rdf:type rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Parte_BOM"/>
113 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM <QTA rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">2</QTA> </owl:NamedIndividual> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Parte_4_Parte_2 --> <owl:NamedIndividual rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Parte_4_Parte_2"> <rdf:type rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Parte_BOM"/> <QTA rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">4</QTA> </owl:NamedIndividual> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Parte_4_Parte_3 --> <owl:NamedIndividual rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Parte_4_Parte_3"> <rdf:type rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Parte_BOM"/> <QTA rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">1</QTA> </owl:NamedIndividual> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Parte_5 --> <owl:NamedIndividual rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Parte_5"> <rdf:type rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Parte"/> <Complete_Status rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Complete</Complete_Status> <Concession rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</Concession> <Currency_code rdf:datatype="http://www.w3.org/2001/XMLSchema#string">EUR</Currency_code> <DFL rdf:datatype="http://www.w3.org/2001/XMLSchema#string">No messages</DFL> <Description_For_military_Part rdf:datatype="http://www.w3.org/2001/XMLSchema#string">HOSE</Description_For_military_Part> <Essentiality_code
10. Anexo II 114 rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</Essentiality_code> <Ext._Manufacturer rdf:datatype="http://www.w3.org/2001/XMLSchema#string">D8518</Ext._Manufacturer> <FIN-CI rdf:datatype="http://www.w3.org/2001/XMLSchema#string"></FIN-CI> <First_effectivity rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">7</First_effectivity> <INC rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">12053</INC> <ITY rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</ITY> <Last_effectivity rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">21</Last_effectivity> <Mil_Electrostatic_Sens_Device_Indicator rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</Mil_Electrostatic_Sens_Device_Indicat or> <Minimum_Sales_Quantity rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">1</Minimum_Sales_Quantity> <Packaging_Level_Code rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</Packaging_Level_Code> <Purcharsing_leadtime rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">8</Purcharsing_leadtime> <REV rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">0</REV> <SLC rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</SLC> <SPC rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</SPC> <STR rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</STR> <Source_Maintenance_Recoverability rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</Source_Maintenance_Recoverability> <Unit_price rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">180</Unit_price> <PNR:MFR rdf:datatype="http://www.w3.org/2001/XMLSchema#string">M29020010011</PNR:MFR> </owl:NamedIndividual> <!-- http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology-9#Parte_6 --> <owl:NamedIndividual rdf:about="http://www.semanticweb.org/francisco/ontologies/2020/10/untitledontology-9#Parte_6"> <rdf:type rdf:resource="http://www.semanticweb.org/francisco/ontologies/2020/10/untitled-ontology- 9#Parte"/> <Complete_Status rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Complete</Complete_Status> <Concession rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</Concession> <Currency_code rdf:datatype="http://www.w3.org/2001/XMLSchema#string">EUR</Currency_code> <DFL rdf:datatype="http://www.w3.org/2001/XMLSchema#string">No messages</DFL> <Description_For_military_Part
115 Diseño e implementación de una ontología para la gestión de la interoperabilidad en datos de producto entre sistemas ERP y PLM rdf:datatype="http://www.w3.org/2001/XMLSchema#string">ELBOW</Description_For_military_Part> <Essentiality_code rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</Essentiality_code> <Ext._Manufacturer rdf:datatype="http://www.w3.org/2001/XMLSchema#string">D8518</Ext._Manufacturer> <FIN-CI rdf:datatype="http://www.w3.org/2001/XMLSchema#string"></FIN-CI> <First_effectivity rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">7</First_effectivity> <INC rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">13027</INC> <ITY rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</ITY> <Last_effectivity rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">21</Last_effectivity> <Mil_Electrostatic_Sens_Device_Indicator rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</Mil_Electrostatic_Sens_Device_Indicat or> <Minimum_Sales_Quantity rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">1</Minimum_Sales_Quantity> <Packaging_Level_Code rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</Packaging_Level_Code> <Purcharsing_leadtime rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">9</Purcharsing_leadtime> <REV rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">0</REV> <SLC rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</SLC> <SPC rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</SPC> <STR rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</STR> <Source_Maintenance_Recoverability rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</Source_Maintenance_Recoverability> <Unit_price rdf:datatype="http://www.w3.org/2001/XMLSchema#unsignedInt">21</Unit_price> <PNR:MFR rdf:datatype="http://www.w3.org/2001/XMLSchema#string">AS5182B</PNR:MFR> </owl:NamedIndividual> </rdf:RDF> <!-- Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi -->