\hyphenation{ob-te-ner vi-sua-li-za-ción}
\chapter{Introducción}
\label{cap:intro}
%% \germanin{18-1-2017}{Mirar la intro de mi tesis y la de Trevisani. Hay que introducir el tema de la tesis. No iría esta parte.}

% El proyecto de investigación \emph{Agentes Inteligentes en Ambientes Dinámicos} tiene varios objetivos generales. 
% Uno de ellos es  el de {\em desarrollar conocimiento especializado en el área de Inteligencia Artificial}. En este sentido, se estudian técnicas de representación de conocimiento y razonamiento,  métodos de planificación y tecnologías del lenguaje natural aplicadas al desarrollo de sistemas multiagentes.


% Por otro lado, en el proyecto de investigación  {\em  Integración de Información y Servicios en la Web} se propone investigar y desarrollar metodologías y herramientas que favorezcan la interoperabilidad semántica de información y de servicios en la Web, fundamentados en los últimos avances en el área de lenguajes de representación del conocimiento, ontologías y modelado conceptual.

% Ambos proyectos confluyen en la línea de investigación de este trabajo, en la que  se explora entre otros, sobre temas afines a la Representación del Conocimiento, las Lógicas Descriptivas \cite{gbraun:calvaneseLN98}, las Ontologías,  la Ingeniería de Software basada en Conocimiento y  la Ingeniería de Conocimiento. Particularmente, se ha escogido experimentar sobre metodologías que integren razonamiento con un \emph{front-end} gráfico para dar soporte a la ingeniería de ontologías.

% En esta  línea de investigación se  propone como principal objetivo desarrollar una herramienta Web  cuya  interfaz gráfica permita al usuario  el diseño y la visualización de ontologías durante su  evolución, asistido por técnicas de  razonamiento automáticas. 
% En este sentido,  se ampliarán las características y restricciones que el usuario puede representar gráficamente, para lo que se analizarán técnicas de visualización y navegación \cite{gbraun:Ware:2004:IVP}, librerías gráficas  y los lenguajes de modelado conceptual más utilizados en la actualidad, como EER, UML y ORM \cite{gbraun:Halpin:2008:ORM}.

El avance de las ontologías sobre el terreno de la Web Semántica \cite{gbraun:bernerslee2001semantic}, como su incorporación en otros ámbitos como la medicina \cite{aguero16:ontologia_dicom, DBLP:journals/nar/Consortium17b, Rosse2008}, la agronomía \cite{DBLP:journals/semweb/CaraccioloSMJRJK13} y la biología
\cite{Lambrix2007, Pereira2013, doi:10.1093/bioinformatics/btn158, smith07:_obo_found}, %% \chris{22-11}{Agus: preguntar. \bf Chequear}
%% \chris{02-10-2017}{¿Conocen algún artículo útil para completar estas citas?}
ha hecho necesario el desarrollo de herramientas que faciliten al diseño de estas bases de conocimiento. Muchos de estos programas poseen una interfaz textual como Protégé \cite{gbraun:tool:protege}, otros utilizan un lenguaje visual similar a los de modelado conceptual o uno completamente innovador (OntoUML \cite{gbraun:tool:Guizzardi}, Graphol \cite{gbraun:graphol}, WebVOWL \cite{gbraun:VOWL}, etc.).

También, estas innovaciones promueven la creación de programas razonadores (RACER \cite{gbraun:racer:HaMo01a}, Hermit \cite{DBLP:conf/owled/ShearerMH08}, etc.) para la utilización de estas bases de conocimiento y para realizar consultas sobre ellas acerca de su diseño conceptual como de sus instancias de datos.

Sin embargo, una herramienta que una varias de estas características es difícil de encontrar, en especial que contemple la representación gráfica del modelo ontológico, su posterior razonamiento sobre consultas que deduzcan posibles fallas en la calidad del modelo. Por consiguiente, en este trabajo, se presenta una arquitectura para la creación de una herramienta Web colaborativa para el diseño de ontologías con capacidades de razonamiento. La finalidad de esta herramienta es doble. Por un lado, permite diseñar en el lenguaje de modelado conceptual gráfico UML, que es de amplio uso en ambientes de desarrollo de software. Por el otro, permite a través de consultas al razonador detectar inconsistencias, para posteriormente señalarlas al usuario en el mismo lenguaje gráfico.

%% \chrisin{21-09-2017}{¿Falta más en este resumen acerca del estado del arte? Por ejemplo, la utilización de las DLs, el hecho de que W3C utilice OWL y DL para llevar a cabo ontologías para la Web semántica. ¿O así está bien?}

\section{Motivación}
%% Ver tesis de Trevisani para entender la idea, posee la misma sección.
%% Básicamente se escribe qué aporta y qué motivación tiene la tesis. Parecido a lo que hicimos en los papers, parece.
Existe un incremento en la complejidad de los sistemas de información derivado de nuevos conceptos, como por ejemplo, la Web Semántica \cite{gbraun:bernerslee2001semantic}, Big Data \cite{gbraun:BIGDATAbook}, E-government \cite{gbraun:e-goverment}, etc. los que requieren soluciones de calidad alta.
% La calidar de estos sistemas
La misma, está ampliamente determinada por el nivel conceptual, por lo tanto, el diseño de ontologías es clave para la posterior implementación y mantenimiento de dichos sistemas. En este contexto, los enfoques basados en lógicas para la representación de información y la adopción de técnicas de razonamiento automático deben asistir a los desarrolladores a obtener modelos conceptuales consistentes. Esta ingeniería ontológica necesita de metodologías y herramientas gráficas para la creación, edición y actualización de modelos que permitan establecer criterios de calidad claros y medibles, con una curva de aprendizaje equiparable con respecto al de modelado conceptual gráfico de amplio uso.\chris{06-12}{Se entiende?}

En consecuencia, herramientas gráficas y automáticas que asistan a los modeladores en obtener modelos conceptuales consistentes son esenciales para una integración exitosa entre las intenciones de éstos y la semántica formal de una ontología.

En el desarrollo de ontologías se deben tener en cuenta el conocimiento de los expertos, los sistemas de información preexistentes y los nuevos requerimientos para poder obtener ontologías de calidad que sean útiles. 




%% \todo Parrafo con trabajos relacionados más importantes (ICOM, Protegé)

%Existen varias herramientas entre las que podemos nombrar a NeOn toolkit \cite{gbraun:tool:neon2008hasse}, 
%TopBrain Composer \cite{gbraun:tool:TopQuadrant2011}, 
%Kaon \cite{gbraun:tool:kaon2} y Protégé \cite{gbraun:tool:protege}. 
%, la cual es una de las más populares desarrollada por la Universidad de Stanford. 

% Varias herramientas, entre las que podemos nombrar a NeOn toolkit \cite{gbraun:tool:neon2008hasse}, TopBrain Composer \cite{gbraun:tool:TopQuadrant2011}, Kaon \cite{gbraun:tool:kaon2} y Protégé \cite{gbraun:tool:protege}, han sido desarrolladas para tratar con estos criterios. Sin embargo, aunque todas ellas permiten la edición y visualización de ontologías, la integración entre la parte visual y el razonamiento automático es muy débil. Por ejemplo, Protégé, ofrece una amplio conjunto de estructuras para modelado pero las inferencias obtenidas de razonadores OWL \cite{gbraun:owl2:overview} externos están sólo limitadas a relaciones IsA en \emph{plug-ins} gráficos, mientras que esta integración es inexistente en la versión Web denominada Web Protégé, su principal objetivo de ésta última es el de ser un repositorio y una plataforma colaborativa de edición de ontologías.
% %Todas ellas permiten la edición y visualización de ontologías, sin embargo, la integración entre la parte visual y el razonamiento automático es muy débil. Por ejemplo, Protégé, ofrece una amplio conjunto de estructuras para modelado pero las inferencias obtenidas de razonadores OWL \cite{gbraun:owl2:overview} externos están sólo limitadas a relaciones IsA en \emph{plug-ins} gráficos.

Las herramientas existentes (véase el capítulo \ref{sec:comp_otras_herr}) difieren de nuestro principal objetivo, que es el de enfocarnos en una metodología para crear y entender ontologías, considerando esto como una aproximación al usuario, a la utilización de lenguajes de modelados conceptuales gráficos (UML \cite{gbraun:Booch:2005:UML}, EER \cite{gbraun:Gogolla:1994:EER}, ORM \cite{gbraun:Halpin:2008:ORM}) y la asistencia de servicios de razonamientos para la realización de tareas de diseños automáticos.

La arquitectura presentada en este trabajo concluye en una herramienta Web colaborativa denominada \crowd{}. Ésta otorga al usuario la posibilidad de crear sus ontologías por medio de un lenguaje gráfico, con asistencia de un servicio de razonamiento que verifica la consistencia de su modelo.

%% \chrisin{17-10}{Parrafo que cierre con crowd}

% En esta dirección, surge ICOM \cite{Fillottrani:2012:icom} como una nueva herramienta para diseñar y vincular múltiples modelos, facilitando su evolución en el tiempo. A diferencia de las herramientas previamente mencionadas, la característica principal de ICOM es la combinación del diseño gráfico de ontologías con el soporte para razonamiento. ICOM fue desarrollada por la Free University of Bozen-Bolzano, y su objetivo principal fue demostrar la efectividad de los diagramas de clases para expresar ontologías y obtener nuevas conclusiones a partir de ellos. Si bien el lenguaje de modelado de ICOM permite expresar la mayoría de las características de EER \cite{gbraun:Gogolla:1994:EER} y UML \cite{gbraun:Booch:2005:UML}, su comunicación con los razonadores es a través del protocolo DIG \cite{gbraun:dig}, que actualmente no está en activo desarrollo ni mantenimiento. Por otra parte, el soporte gráfico actual se encuentra limitado generando carencias en la visualización de características y de las restricciones al modelo que pueden observarse considerando la expresividad de los razonadores actuales. Incluso, esto afecta no sólo a las primitivas gráficas, sino también a la escalabilidad de la herramienta en desarrollos posteriores.

%% TODO Parrafo que proponemos de diferente

%En el ámbito de este trabajo, proponemos desarrollar una herramienta Web que permita la visualización de un modelo conceptual ampliando el soporte gráfico y utilizando, como forma de comunicación, al protocolo OWLlink \cite{DBLP:journals/semweb/LiebigLNW11}. OWLlink es una evolución de DIG para el lenguaje OWL 2 \cite{gbraun:2012:Krotzsch12:OWLProfiles}.


% En el ámbito de este trabajo, proponemos desarrollar un protipo de herramienta Web que permita la visualización de un modelo conceptual ampliando el soporte gráfico fuertemente integrado con el razonamiento automático basado en \DL{} y utilizando, como forma de comunicación, al protocolo OWLlink \cite{DBLP:journals/semweb/LiebigLNW11} y el proceso de chequeo de satisfacibilidad y las inferencias de los axiomas implícitos, los cales serán expresados en el modelo del usuario usando el mismo lenguaje gráfico. Además, al proveer una interacción de tipo cliente-servidor a través de la Web, los usuarios podrán visualizar sus ontologías de forma on-line mientras están modelando y editando.

% OWLlink es una evolución de DIG para el lenguaje OWL 2 \cite{gbraun:2012:Krotzsch12:OWLProfiles}.
% %En el ámbito de este trabajo, proponemos ampliar el soporte gráfico con los requerimientos de los usuarios y el razonamiento autómatico. A diferencia de ICOM, los usuarios podrán visualizar de manera on-line sus ontologías durante su creación/edición junto con todas las deducciones expresadas en ese mismo lenguaje gráfico. 
% El prototipo de herramienta Web propuesto será utilizado, en el marco de nuestra investigación, como soporte para el desarrollo de nuevas y más expresivas metodologías asistidas por razonamiento, orientadas a cubrir algunas de las necesidades de la ingeniería ontológica identificadas anteriormente \cite{gbraun:gbraun2015, gbraun:gbraun2015:JAIIO}.

%% TODO Parrafo contando cómo se escribira esto...

%% La integración de la información es uno de los problemas centrales que se presentan en los
%% sistemas de información cooperativos \cite{gbraun:calvaneseGLNR98}. Esta integración requiere de dos factores fundamentales 
%% para el diseño y mantenimiento de aplicaciones como son el modelado conceptual
%% del dominio y el soporte de razonamiento sobre la representación conceptual. Este nivel
%% conceptual contiene una descripción formal de los conceptos y las relaciones entre ellos. La
%% característica principal es que tal descripción es independiente de cualquier sistema y está
%% orientada a expresar la semántica de las aplicaciones. En particular, estos modelos deberían
%% ser capaces de representar relaciones entre datos que provengan de diferentes fuentes.

%% Las ontologías conforman el esqueleto fundamental del concepto de la
%% Web Semántica \cite{gbraun:bernerslee2001semantic}. 
%% Pero su desarrollo, mantenimiento, y validación no es una tarea fácil. Se
%% deben tener en cuenta el conocimiento de los expertos, los sistemas de información preexistentes 
%% y los nuevos requerimientos para poder obtener ontologías de calidad que sean útiles
%% en la Web Semántica. Esta ingeniería ontológica necesita de metodologías y herramientas para la creación, 
%% edición y actualización de ontologías que permitan establecer criterios
%% de calidad claros y medibles. 
%% Existen varias herramientas entre las que podemos nombrar a NeOn toolkit \cite{gbraun:tool:neon2008hasse}, 
%% TopBrain Composer \cite{gbraun:tool:TopQuadrant2011} y 
%% Kaon \cite{gbraun:tool:kaon2}. 
%% Una de las herramientas más populares es Protégé \cite{gbraun:tool:protege}  desarrollada por la Universidad de Stanford. 
%% Protégé ofrece una amplio conjunto de estructuras para
%% modelar conocimiento que soportan la creación, visualización y manipulación de ontologías.
%% Permite modelar ontologías mediante los editores Protege-Frames y Protégé-OWL. Este último provee
%% una herramienta visual para mostrar las inferencias obtenidas de razonadores OWL \cite{gbraun:owl2:overview}
%% externos, aunque sólo limitado
%% a relaciones IsA.
%% Sin embargo, el constante avance de los lenguajes ontológicos y sistemas de razonamiento,
%% requiere que estas herramientas presenten nuevas características que den soporte a la manipulación 
%% de ontologías cada vez más expresivas. 
%% En esta dirección, surge ICOM \cite{Fillottrani:2012:icom} como una nueva herramienta para diseñar, mantener y vincular múltiples 
%% ontologías, facilitando su evolución en el tiempo. ICOM emplea razonamiento lógico completo para verificar
%% especificaciones, inferir hechos implícitos y manifestar inconsistencias. Además, promueve
%% la combinación del diseño gráfico de ontologías con el soporte para razonamiento, la cual es
%% una característica faltante en las herramientas previamente mencionadas.

%ampliar el soporte para el modelado ontológico mediante
%metodologías que integren el soporte gráfico con las necesidades de los usuarios y el razonamiento autómatico.
%El objetivo es que los usuarios puedan visualizar las ontologías durante su evolución junto con todas
%las deducciones expresadas en ese mismo lenguaje gráfico.



%% Considerar las citas:
% diagrams encoded in $\mathcal{ALCQI}$ DL \cite{gbraun:Baader:2003:DLH}, as demonstrated in \cite{DBLP:journals/ai/BerardiCG05}. 
% techniques as Test-Driven Development \cite{gbraun:Beck:2002:TDD}. 

\section{Contribuciones}
%% \todo[inline]{18-1-2017 Germán: Acá me parece que estamos duplicando la 3.5. Pondría acá nuestros trabajos publicados, como está en mi tesis. Además agregar una sección de aportes de la tesis, como la tesis de Trevisani.} 03-02-2017: Listo, agregué las dos secciones. Básicamente pasé a la "motivación y contribución" la introducción (motivación) que hicimos para un paper.
%% \todo[inline]{18-1-2017 Germán: Acá deberíamos incluir sólo los trabajos que publicamos nosotros. WICC, SAOA.} 03-02-2017: Listo, también agregué lo del ONTOBRAS.


El principal resultado de esta tesis, es el desarrollo una arquitectura Web que permita el diseño de una ontología utilizando el lenguaje de modelado conceptual, con asistencia de un servicio de razonamiento automático a partir de una representación formal del modelo, a fin de poder deducir detalles acerca de la consistencia del modelo y presentarlas en la interfaz bajo el mismo lenguaje conceptual.

Por consiguiente, las principales contribuciones de este trabajo son:

\begin{itemize}
\item Diseño de una arquitectura Web que permite el modelado ontológico de forma gráfica con integración a servicios de razonamiento.
  % Se considera la utilización de primitivas gráficas para el modelado conceptual en un lenguaje gráfico bien definido. % , un subconjunto del lenguaje de modelado UML para el modelo conceptual del usuario.
  
\item Implementar una codificación del modelo conceptual proveído por el usuario, en una representación formal utilizando Lógicas Descriptivas, basándonos en la descripta por \cite{DBLP:journals/ai/BerardiCG05}. La motivación de esta implementación es realizar procesos de razonamiento sobre el modelo en busca de inconsitencias.
% \item Selección de una representación formal del modelo conceptual del usuario y de la traducción correspondiente.
% \item Utilizar los lenguajes lógicos para el desarrollo ontológico y de técnicas para la formalización de modelos conceptuales que utilicen estos lenguajes.
% \item Establecer la relación entre esta formalización y el razonamiento para obtener las respuestas deseadas.

\item Herramienta \crowd{}: Implementación funcional de la arquitectura, con soporte para un subconjunto de primitivas del lenguaje de modelado conceptual UML, en particular el diagrama de clases, para poder generar un modelo y obtener su estado de consistencia.
\item Explicitar cómo se ha implementado cada módulo y qué se tuvo en cuenta al momento de llevarlo a cabo.
\end{itemize}

%% \chrisin{20-09-2017}{Estoy seguro que algo más se me escapa, repasar la tesis y ver qué más agregar en ¿qué se propone lograr?}

Algunos resultados, relacionados con esta tesis, han formado parte de las siguientes publicaciones:

\begin{itemize}
  
 
\item Germán Braun, Christian Gimenez, Pablo Fillottrani y Laura Cecchi. ``Towards Conceptual Modelling Interoperability in a Web Tool for Ontology Engineering''. \textit{46 Jornadas Argentinas de Informática($46^\circ$ JAIIO) - Simposio Argentino de Ontologías y sus Aplicaciones (SAOA)}. 2017. Córdoba Capital, Córdoba, Argentina.

\item Germán Braun, Christian Gimenez, Laura Cecchi y Pablo Fillottrani. ``Towards a Visualisation Process for Ontology-Based Conceptual Modelling''. \textit{International Workshop on Description Logic 2017}. 2017. Universidad de Montpellier. Montpellier, Francia.

\item Christian Gimenez, Germán Braun, Laura Cecchi y Pablo Fillottrani.``Interoperabilidad entre Lenguajes de Modelado Conceptual en \emph{crowd}''. \textit{XIX Workshop de Investigadores en Ciencias de la Computación (XIX WICC)}. Abril del año 2017. Ciudad Autónoma de Buenos Aires, Buenos Aires, Argentina.

\item Germán Braun, Christian Gimenez, Laura Cecchi y Pablo Fillottrani. ``Towards a Visualisation Process for Ontology-Based Conceptual Modelling''. \textit{Brazilian Ontology Research Seminar (ONTOBRAS)}. 2016. Curitiba-PR, Brazil. 

\item Christian Gimenez, Germán Braun, Laura Cecchi y Pablo Fillottrani. ``crowd: A Tool for Conceptual Modelling assisted by Automated Reasoning - Preliminary Report''. \textit{45 Jornadas Argentinas de Informática ($45^\circ$ JAIIO) - Simposio Argentino de Ontologías y sus Aplicaciones (SAOA)}. Septiembre del 2016. Ciudad Autónoma de Buenos Aires, Buenos Aires, Argentina.

\item Christian Gimenez, Germán Braun, Laura Cecchi y Pablo Fillottrani. ``Una Arquitectura Cliente-Servidor para Modelado Conceptual Asistido por Razonamiento Automático''. \textit{XVIII Workshop de Investigadores en Ciencias de la Computación (XVIII WICC)}. Abril del año 2016. Concordia, Entre Ríos, Argentina. ISBN: 978-950-698-377-2.

\end{itemize}

%% \chrisin{03-02-2017}{¿También agrego los trabajos de la beca?}

\section{Estructura de la Tesis}

%  This work is structured as follows. Section \ref{crowd} gives an overview of the main features of \emph{crowd} and details its architecture. 
% A preliminary evaluation together with examples of use and discussions are presented in section \ref{evaluation}. Section \ref{comparison} details some related works. To conclude the paper, section \ref{conclusions} elaborates on final considerations and directions for future works.

% En \cite{nose98} propone algo...

La estructura del presente trabajo es la siguiente: En el capítulo \ref{sec:DL} se describe la familia de las Lógicas Descriptivas (\DL{}) que se utiliza para expresar las ontologías. Posteriormente, se explica el lenguaje OWL 2 utilizado para representar ontologías en la Web y su relación con las \DL{}. Luego, se describe la utilización de UML como un lenguaje gráfico para ontologías, comentando cómo puede formalizarse este lenguaje de modelado conceptual en Lógica Descriptiva y, por consecuencia, en OWL 2.

En el capítulo \ref{sec:arquitectura}, se detalla el Proceso de Visualización para Modelados Conceptuales Ontológicos. Luego, se describe la arquitectura propuesta, los módulos y los diseños preliminares que cumplen con los objetivos propuestos por esta tesis y cuya implementación brinde soporte al Proceso de Visualización. 

En el capítulo \ref{sec:imp}, se describe a \crowd{}, una implementación de la arquitectura. Se describe cada módulo implementado, el funcionamiento, las tecnologías y los protocolos utilizados en cada uno de ellos. Se concluye el capítulo con un ejemplo de uso de la implementación donde se muestra su funcionamiento con un modelo conceptual satisfacible y otro insatisfacible.

En el capítulo \ref{sec:comp_otras_herr} se introducen una serie de herramientas relevadas que permitan visualizar y editar ontologías. Se las compara con \crowd{} considerando los lineamientos del Proceso de Visualización, el uso de lenguajes gráficos de modelado y de la utilización de razonamientos subyacentes.

Por último, en el capítulo \ref{sec:conclusiones}, se presentan las conclusiones de esta tesis, los resultados obtenidos, las contribuciones realizadas y se proponen algunas ideas para trabajos futuros.
% \subsection{Algunas Consideraciones Simbólicas}
% En las distintas lecturas que llevamos a cabo, varios autores han preferido usar ciertos símbolos que poseen el mismo significado de los que utilizaremos en este texto. 

% La tabla \ref{tab:simbolos-analogos} nos presenta una referencia de varios símbolos con sus análogos, remarcando en la columna derecha los que utilizaremos aquí. \chris{16-05-2017}{¿``análogos'' sería la palabra correcta?}


% \begin{table}[h]
%   \centering
%   \begin{tabular}{cc}
%     Símbolos análogos & Seleccionado \\
%     \hline{}
%     $\supset \; \then$ & $\then$ \\
%     $\parallel \; \lor$       & $\lor$ \\
%     $\& \; \land$    & $\land$ \\
%   \end{tabular}
%   \caption{Símbolos con significados análogos y los que por convención usaremos en este texto.}
%   \label{tab:simbolos-analogos}
% \end{table}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "../tesis"
%%% TeX-PDF-mode: t
%%% coding: utf-8-unix 
%%% End: 
