Está en la página 1de 6

TALLER 18 NOV- Ontologías

¿Qué son las ontologías?


Una ontología es una descripción formal del conocimiento como un conjunto de conceptos
dentro de un dominio y las relaciones que se mantienen entre ellos. Para permitir tal
descripción, necesitamos especificar formalmente componentes tales como individuos
(instancias de objetos), clases, atributos y relaciones, así como restricciones, reglas y
axiomas. Como resultado, las ontologías no solo introducen una representación de
conocimiento compartible y reutilizable, sino que también pueden agregar nuevos
conocimientos sobre el dominio. El modelo de datos de ontología se puede aplicar a un
conjunto de hechos individuales para crear un gráfico de conocimiento, una colección de
entidades, donde los tipos y las relaciones entre ellos se expresan por nodos y bordes entre
estos nodos. Al describir la estructura del conocimiento en un dominio, la ontología prepara
el escenario para que el gráfico de conocimiento capture los datos que contiene. Por
supuesto, existen otros métodos que utilizan especificaciones formales para la
representación del conocimiento, como vocabularios, taxonomías, tesauros, mapas de temas
y modelos lógicos. Sin embargo, a diferencia de las taxonomías o los esquemas de bases de
datos relacionales, por ejemplo, las ontologías expresan relaciones y permiten a los usuarios
vincular múltiples conceptos con otros conceptos en una variedad de formas.
En el contexto de las ciencias informáticas y de la información, una ontología define un
conjunto de primitivas representacionales con las que modelar un dominio de conocimiento
o discurso. Las primitivas de representación son típicamente clases (o conjuntos), atributos
(o propiedades) y relaciones (o relaciones entre miembros de la clase). Las definiciones de
las primitivas representativas incluyen información sobre su significado y las limitaciones de
su aplicación lógicamente coherente. En el contexto de los sistemas de bases de datos, la
ontología puede verse como un nivel de abstracción de modelos de datos, análogo a los
modelos jerárquicos y relacionales, pero destinado a modelar el conocimiento sobre los
individuos, sus atributos y sus relaciones con otros individuos. Las ontologías se especifican
típicamente en lenguajes que permiten la abstracción de estructuras de datos y estrategias
de implementación; en la práctica, los lenguajes de las ontologías están más cerca en poder
expresivo de la lógica de primer orden que los lenguajes utilizados para modelar bases de
datos. Por esta razón, se dice que las ontologías están en el nivel "semántico", mientras que
los esquemas de bases de datos son modelos de datos en el nivel "lógico" o "físico". Debido
a su independencia de los modelos de datos de nivel inferior, las ontologías se utilizan para
integrar bases de datos heterogéneas, permitiendo la interoperabilidad entre sistemas
dispares y especificando interfaces para servicios independientes basados en el
conocimiento. En la pila de tecnología de los estándares de la Web Semántica, las ontologías
se denominan una capa explícita. Ahora existen lenguajes estándar y una variedad de
herramientas comerciales y de código abierto para crear y trabajar con ontologías.

1
Metodología, Desarrollo y Calidad en la Ingeniería de Software
Carlos Julio Marín Santana
Andres Gomez Cedeño
La ontología para la ingeniería
La Ingeniería de Ontología es “el conjunto de actividades que se relacionan con el proceso
de desarrollo de ontologías, el ciclo de vida de las ontologías y las metodologías,
herramientas y lenguajes para construir ontologías”. Proporciona “una base para construir
modelos de todas las cosas en las que está interesada la informática”. La ingeniería de
ontología tiene como objetivo proporcionar componentes estándar para construir modelos
de conocimiento. Las ontologías juegan un papel similar a la lógica del diseño en el diseño
mecánico. Permite la reutilización del conocimiento en una base de conocimiento al
proporcionar conceptualización, reflejando los supuestos y requisitos hechos en la
resolución de problemas utilizando la base de conocimiento. La ingeniería de ontologías
proporciona los medios para construir y usar ontologías para construir modelos.
Es importante demostrar las ventajas que se pueden obtener aplicando ontologías en
ingeniería de software. El hecho es que la mayoría de los fundamentos formales de las
2
Metodología, Desarrollo y Calidad en la Ingeniería de Software
Carlos Julio Marín Santana
Andres Gomez Cedeño
ontologías han sido en su lugar durante mucho tiempo, sin disfrutar de una amplia difusión
adopción por ingenieros de software. En cierto sentido, la importancia de la estandarización
puede ser comparado con la situación del modelado visual en software ingeniería antes de
UML. Otro factor importante es flexibilidad de ontologías. Las ontologías son adecuadas
para combinar información de varias fuentes e inferir nuevos hechos basados en esto.
Además, la flexibilidad permite al sistema fomentar la reutilización del trabajo existente.
Esto es promovido aún más por el enfoque web de los enfoques de ontología. Debido al
hecho de que los sistemas de software también se habilitan cada vez más para la web y, por
lo tanto, deben hacer frente a datos de fuentes heterogéneas que pueden no ser conocidas en
tiempo de desarrollo. Así, expertos en la materia como Grady Booch espera que la
tecnología web semántica sea una de las próximas grandes cosas en la arquitectura de las
web aplicaciones. Además, la web facilita compartir conocimiento. Teniendo los URI como
identificadores únicos a nivel mundial, es fácil de relacionar la ontología de uno con la de
otra persona conceptualización. Esto a su vez fomenta la interoperabilidad y reutilizar. En
cuanto a ingeniería de software más específica ventajas, las ontologías hacen que los
modelos de dominio sean de primer orden los ciudadanos. Si bien los modelos de dominio
están claramente impulsando el núcleo de cada sistema de software, su importancia en el
software actual los procesos de ingeniería disminuyen después de la fase de análisis. El
propósito central de las ontologías es, por definición, las descripciones de un dominio y, por
lo tanto, fomenta un uso más amplio durante todo el ciclo de vida de la ingeniería de
software.

3
Metodología, Desarrollo y Calidad en la Ingeniería de Software
Carlos Julio Marín Santana
Andres Gomez Cedeño
Ejemplos de ontologías en la ingeniería de software
MANTIS (Entorno para la Gestión del Mantenimiento de Software)
MANTIS es un ”SEE extendido”, cuyo objetivo es la gestión del mantenimiento de software.
Incluye una ontología, común a todos sus elementos, que tiene dos usos principales:
1.- Ayudar a la compartición del conocimiento sobre el mantenimiento entre todos los
actores que intervienen en el proceso de mantenimiento de software;
2.- filtrar el conocimiento, mediante el uso de modelos y meta-modelos, que por definición
muestran sólo una parte de la realidad y que de esta manera ayudan a decidir, en el
momento de construir los modelos (del nivel M1 de la arquitectura conceptual basada en
MOF), que es lo que debe ser extraído de los sistemas reales.
La ontología general está compuesta por 3 ontologías:
• Ontología de los Flujos de Trabajo (para los aspectos dinámicos)
• Ontología de la Medida (gestionar es medir)
• Ontología del Mantenimiento, que a su vez, se subdivide en 4 subontologías: de los
productos, de las Actividades, de Organización del Proceso, y de los Agentes.

4
Metodología, Desarrollo y Calidad en la Ingeniería de Software
Carlos Julio Marín Santana
Andres Gomez Cedeño
La ontología MANTIS está representada gráficamente mediante diagramas de clase UML
que son complementados con una representación textual semi-formal en lenguaje GLEO.
Para cada ontología (y sub ontología) se definen:
• Uno o más diagramas de clases que muestran los conceptos de esa ontología y las
relaciones entre ellos.
• Para cada concepto (representado por una clase UML) se crea una entrada en un glosario
de conceptos (donde se define su super concepto, descripción, propósito)
• Para cada relación del diagrama UML se crea una entrada en una tabla de interrelaciones
(donde consta su nombre, descripción)
• Para cada atributo de cada concepto se crea una entrada en una tabla de atributos, donde
consta su nombre, descripción, cardinalidad.
• Para formalizar algunos de los aspectos importantes de los conceptos anteriores se definen
axiomas, que son utilizados principalmente para representar restricciones.

TABA Workstation
TABA Workstation es un meta-SEE, capaz de generar, mediante su instanciación, SEE’s
adecuados para las particularidades de un proceso software, un dominio de aplicación o un
proyecto específico.
Dado que el meta-entorno, la instancia del SEE creada y las herramientas en la estación de
trabajo TABA necesitan manejar conocimiento sobre el proceso de desarrollo de software,
se ha definido una ontología con el fin de “soportar la adquisición, organización,
reutilización y compartición del conocimiento del Proceso Software”.
La ontología del Proceso de Desarrollo de Software consta de varias ontologías, en forma
de niveles, donde la ontología del proceso software está por encima de las ontologías
denominadas de la actividad, del procedimiento y del recurso.
Para la representación gráfica de estas ontologías se utiliza el lenguaje gráfico GLEO
además de un conjunto de axiomas definidos según el mismo lenguaje, basado en lógica de
primer orden. Además, para cada ontología, el vocabulario utilizado es definido en una
tabla que cuenta con dos columnas, una para el nombre del concepto y otra para describir
su función y la manera en que se relaciona con otros conceptos.

Desde su área de trabajo actual identifique dos lenguajes ontológico que puede utilizar, las
herramientas los soportan, describa una aplicación.

5
Metodología, Desarrollo y Calidad en la Ingeniería de Software
Carlos Julio Marín Santana
Andres Gomez Cedeño
RDF Schema: Lenguaje construido sobre RDF que incorpora primitivas de marcos (clases y
propiedades).
CycL: Lenguaje utilizado en la ontología basado en marcos y en lógica de primer orden.
Herramientas.- Onto Mat Annotizer Trellis Web
Una aplicación en la que se puede utilizar los modelos ontología es en un sistema de
monitoreo.

6
Metodología, Desarrollo y Calidad en la Ingeniería de Software
Carlos Julio Marín Santana
Andres Gomez Cedeño

También podría gustarte