Chapter 4: Research Methodology and Philosophical Considerations
4.4 Interviews, Interviewing and Interviewer Effect
4.4.2 Interviewer Identity Work and Effect
En este apartado se describen aquellos trabajos que utilizan las ontologías para extender alguna de las notaciones y lenguajes de representación de workflows y procesos de negocio más conocidas.
Dentro de este campo se va a comenzar con el grupo de los que extienden las redes de Petri. Tradicionalmente, las redes de Petri han sido uno de los medios más utilizados para representar workflows y procesos de negocio. Esto es debido a que siguen una semántica operacional que facilita la composición, simulación y validación de los worflows que representan. Por este motivo, algunos de los trabajos más representativos de ontologías y workflows se centran en la mejora con ontologías de las redes de Petri como método de representación.
El primer trabajo destacable dentro de este grupo es el Koschmider y Oberweis [KoOb05] que realizaban en 2005 una primera aproximación definiendo una representación ontológica de redes de Petri, con anotación semántica para estas redes y permite que su contenido sea interpretado por máquinas. Gracias a esta semántica añadida se pueden definir restricciones y razonar acerca de los datos del proceso en los componentes de las redes de Petri.
En el año 2006 se presentan los dos trabajos posiblemente más importantes en este grupo. Así, Gasevic y Devedzic [GaDe06], partiendo de la base de que es necesario una forma apropiada de representar redes de Petri de manera que puedan reutilizarse en la Web Semántica, definen una ontología para la descripción semántica de los conceptos de una red de Petri y sus relaciones, llamada
Petri net ontology. Esta ontología permite describir redes de Petri usando lenguajes de la web
semántica como RDF y OWL. Además, ellos también definen cómo traducir, desde y hacia RDF y OWL, al lenguaje de marcado de redes de Petri, PNML. El principal propósito de su ontología es construir, en palabras de los autores, “un armazón semántico” alrededor de los conceptos de las redes de Petri que han extraído de distintas formas de representarlas, entre ellas el lenguaje PNML. Con esta ontología también pretenden dar soporte a diferentes dialectos de representación de redes de Petri, representando el núcleo común a todas ellas en la ontología, de manera que todos los dialectos pudieran extender la ontología con sus conceptos específicos a partir de estos conceptos.
En este mismo año Vidal y colegas [ViLB06a] presentan un grupo de ontologías organizadas por capas para Redes de Petri de Alto Nivel (High Level Petri Nets, HLPN) para que puedan ser usadas para intercambiar y razonar acerca de la estructura y comportamiento de los procesos.
Estas ontologías están basadas en el estándar ISO de HLPN y describen semántica y declarativamente tanto el comportamiento estático como dinámico de una HLPN. Las ontologías están compuestas de, por un lado, una taxonomía de conceptos que describe los componentes principales de HLPN, siguiendo el vocabulario y la semántica especificados en el estándar y, por otro lado, un conjunto de axiomas que restringen cómo las instancias de la taxonomía son creadas, el
rango y el dominio de las relaciones de conceptos, y los valores de los atributos de los conceptos. Este conjunto de axiomas garantiza que la Red de Petri de Alto Nivel está correctamente construida, y define cómo debería ser ejecutada.
Cada capa de este grupo de ontologías usa los elementos definidos en las capas inferiores. De esta forma el grupo de ontologías original está compuesto de tres capas:
• una ontología para los tipos de datos utilizados en la especificación de HLPN llamada Data
Types Ontology (DTO),
• una ontología de representación del conocimiento que trabaja con las primitivas necesarias
para representar objetos del dominio llamada Knowledge Representation Ontology (KRO),
• una ontología HLPN que describe semánticamente todos los componentes de HLPN llamada
High-level Petri Nets Ontology (HLPNO).
Haciendo uso de esta ontología para representar workflows, también presentan un marco de trabajo [ViLB06b] que extiende el Lenguaje de Descripción del Método Unificado de Resolución de Problemas (UPML) para mejorar el modelado de workflows con conocimiento. En este trabajo se centran en la definición y ejecución de la estructura del proceso, especificando las actividades a ejecutar, su orden, las condiciones que deben verificar las actividades para activar su ejecución y el caso específico (dominio) en que el workflow es ejecutado.
Con este fin, añaden al grupo orginal de ontologías dos capas nuevas en la parte superior:
• una ontología, basada en HLPNO, para la representación jerárquica y composición de modelos
en HLPN que permite combinar varias redes para formar redes más complejas llamada
Hierarchical High-level Petri Nets Ontology (HHLPNO),
• una ontología basada en en lenguaje de workflow YAWL [AaHo05] que contiene los
elementos más comunes utilizados en la definición de workflows llamada Workflow
Description Ontology (WDO).
Un año más tarde, Ehrig y colegas [EhKO07] también presentan una ontología que representa los elementos estáticos de las redes de Petri, en este caso para medir el grado de similitud entre los nombres de los elementos de los procesos de negocio. Su ontología básicamente representa transiciones, lugares, y los arcos de unión entre ambos.
Dentro del grupo de ontologías y redes de Petri, el último trabajo reseñable es el de Soffer y colegas [SoKW10] que proporciona semántica basada en ontologías a redes de Petri. En este caso lo hacen con el objetivo de soportar análisis formal y permitir la construcción de modelos coherentes semánticamente. Además ofrecen unas guías de modelado, basada en esta semántica, que pueden ayudar en la construcción de modelos de procesos para evitar problemas que tradicionalmente solo podrían ser detectados verificando el modelo al completo.
Este trabajo se diferencia de los mencionados anteriormente en que los autores optan por formalizar los procesos de manera abstracta en función de los estados por los que podía ir pasando el proceso, en lugar de usar la perspectiva más extendida de actividades y el flujo de control entre ellas. Además, integran el objetivo del proceso como una parte más de la definición del proceso para poder soportar análisis de validación de los mismos.
Como siguiente grupo dentro de esta categoría se puede mencionar el de aquellos trabajos centrados en la formalización en ontologías de alguna de las versiones de BPMN [Omg06, Omg09, Omg11] con distintos propósitos.
Así, en primer lugar se puede citar a Abramowicz y colegas [AFKK07] que proponen la ontología
sBPMN que introduce semántica en la notación BPMN para facilitar la traducción de los diagramas
de BPMN a BPEL. Los autores proponen esta ontología para superar los problemas con la composición y ejecución de procesos basados en los modelos diseñados por analistas de negocio.
Los conceptos que define esta ontología abarcan desde los objetos de flujo (Events, Activities y Gateways), que son los principales elementos que definen el comportamiento de un proceso de negocio, hasta los conectores (Sequence Flow, Message Flow y Association) o los contenedores (Pool y Lanes).
También dentro de este ámbito se pueden citar los trabajos de Ghidini y colegas [GhRS08] y Francescomarino y colegas [FGRS08] [FGRS09]. En el primero de ellos proponen una ontología para la formalización de BPMN llamada BPMNO en la que dividen los elementos en elementos gráficos y elementos de soporte. Dentro del primer tipo están los principales elementos para describir procesos de negocio como los objetos de flujo y los conectores. En el segundo tipo están los elementos que se usan principalmente para especificar atributos de los elementos gráficos. La aplicación de esta ontología es detallada en los otros dos trabajos. En ellos explican que esta ontología forma el núcleo de una base de conocimiento para procesos de negocio que, combinada con un conjunto de ontologías de dominio que describen procesos de negocio específicos, les permite representar a los procesos de negocio modelados con BPMN como instancias de estas ontologías. De este modo, están añadiendo semántica a los procesos para especificar el significado de las entidades de los procesos de negocio con el objetivo de mejorar la automatización de su gestión.
Por último, dentro de este grupo también se puede citar el trabajo de Natschlager [Nats11] que presenta una ontología para BPMN 2.0. La autora pretende con esta ontología proporcionar una base de conocimiento que pueda ser utilizada para familiarizarse con BPMN. Además la ontología también puede ser utilizada como analizador sintáctico para validar modelos concretos en BPMN.
La ontología está divida en dos partes: una ontología que únicamente contiene las especificaciones tomadas del metamodelo de BPMN llamada bpmn20base y una ontología derivada de la anterior que la extiende incluyendo todos los requisitos sintácticos extráidos de la especificación BPMN en texto normal llamada bpmn20.
Además de estas ontologías para redes de Petri y BPMN, existen ontologías para otras notaciones y lenguajes. Así, Thomas y Fellmann [ThFe07] presentan una propuesta para enlazar elementos de un lenguaje semiformal como es el lenguaje EPC [KeNS92] con conceptos de ontologías formales. De este modo, el lenguaje recibe una semántica formal para reducir la distancia entre los lenguajes formales y semiformales, y evitar la disparidad de interpretaciones ante un mismo modelo. La extensión semántica que desarrollan para el lenguaje de modelado de procesos EPC representa la semántica de las etiquetas de los elementos con conceptos de una ontología formal. Los eventos, funciones y conectores (AND, OR y XOR) son definidos como clases en su ontología y el flujo de control como una relación entre las clases.
El enlazado posterior entre los los elementos de un modelo especificado en EPC con la ontología puede ser considerado como un proceso de anotación semántica de manera que al final obtiene la representación de un modelo EPC en OWL. En un trabajo posterior [ThFe09], los autores explican cómo esta propuesta es aplicable también a UML y BPMN.
Dentro de este grupo se puede catalogar el trabajo de Markovic y Pereira [MaPe07]. Proponen una ontología llamada Business Process Ontology basada en la notación π-calculus [MiPW92] para ser utilizada con servicios web. Con esta ontología pretenden hacer explícito el conocimiento del negocio para permitir a los sistemas manipular su significado en lugar del código de programación. Además de la ontología crean un modelo formal para describir procesos de negocio, que integra diferentes perspectivas de workflow y permite realizar razonamiento y consultas expresivas a los modelos de procesos de negocio. Su objetivo final es estructurar el conocimiento del negocio en componentes reutilizables que pueden ser vistos como un complemento a los componentes software tradicionales.
Por último, dentro de este grupo se puede mencionar el trabajo de Haller y colegas [HMOG08] donde proponen la ontología oXPDL para el intercambio de procesos para el lenguaje XPDL [Wfmc08]. Su objetivo es permitir la traducción automática de modelos XPDL a documentos Web basados en lenguajes de ontología Web estandarizados. De este modo, los modelos de proceso pueden ser interconectados y enriquecidos con el conocimiento del negocio definido en las ontologías existentes. Dividen la ontología en cinco aspectos básicos: el aspecto funcional, de control, informacional, organizacional y operacional. De esta manera los procesos representados en su ontología pueden ser usados para un análisis integrado de procesos y para consultar y razonar sobre multiples modelos, cada uno de los cuales puede ser de distintos sistemas de información.