C APÍTULO 4 E SPECIFICACIÓN D E W ORKFLOWS CON O NTOLOGÍAS
4.4. Métodos para especificar workflows con la ontología OntoMetaWorkflow
Como se ha visto en secciones anteriores, OntoMetaWorkflow contiene una serie de elementos para especificar el workflow de un proceso administrativo en las ontologías OntoDD y OntoWF. En esta esta sección se explican los métodos que es necesario aplicar para construir ambas ontologías. El primer método es para construir la ontología del dominio OntoDD. El segundo es para construir la ontología del workflow, OntoWF.
4.4.1. Método para construir la ontología OntoDD
OntoDD importa los elementos definidos en OntoMetaWorkflow y debe contener, en primer lugar, la
taxonomía de datos que será usada en el dominio y, en segundo lugar, la taxonomía de los potenciales participantes en el workflow. La principal regla que debe ser cumplida al elaborar la ontología OntoDD es que los elementos raíz de cada una de las taxonomías que están representadas en ella deben estar incluidas como subclases de las clases definidas en OntoMetaWorkflow, Domain
Data y Workflow Participant respectivamente. Esto va a a permitir que tanto los datos como los tipos
de usuario que se especifiquen para un dominio puedan ser referenciados desde las actividades de los workflows que se definan dentro de ese dominio en la ontología OntoWF.
El desarrollo de esta ontología puede ser llevado a cabo de una forma simple con alguna aplicación para construir ontologías en OWL, como Protégé, siguiendo los siguientes pasos:
1. Importar OntoMetaWorkflow de manera que sus elementos serán superclases de los elementos definidos en la ontología OntoDD.
2. Identificar las taxonomías de datos del dominio e incluirlas en OntoDD como subclases de
Domain Data.
3. Especificar las propiedades de los datos del dominio como propiedades en las subclases de
Domain Data creadas.
4. Fijar los valores de las propiedades de clase para cada subclase de Domain Data y, si existen instancias de dichas subclases, fijar también los valores para las propiedades de las instancias.
5. Identificar los diferentes tipos de participante que podrán participar en los workflows e incluirlos como subclases de Workflow Participant.
6. Especificar los usuarios pertenecientes a cada tipo de tipo de participante como instancias de las subclases de Workflow Participant incluidas y fijar los valores de cada usuario en las propiedades de las instancias.
El producto de aplicar este método es la ontología OntoDD que contendrá los datos del dominio que pueden ser usados por los distintos workflows que se especifiquen sobre ese dominio y los usuarios que pueden participar en esos workflows.
4.4.2. Método para construir la ontología OntoWF
En la ontología OntoWF se representa el workflow de un proceso administrativo concreto. Esta ontología contiene el workflow del proceso, junto con sus propiedades, las actividades que lo componen, el orden de ejecución de dichas actividades con sus bifurcaciones, los datos del dominio contenidos en la ontología OntoDD que serán seleccionados o mostrados en una actividad y los participantes que pueden llevar a cabo la actividad. Así, las definiciones de elementos y posibles relaciones que puede tener un workflow y que están representadas en OntoMetaWorkflow, y los datos del dominio y los tipos de participante especificados en la ontología OntoDD son usados para realizar esta representación.
Dado que la aplicación de este método puede ser tedioso y conlleva muchas validaciones es conveniente realizarlo asistido por una herramienta software. Por este motivo se ha implementado la herramienta WEAPON Designer que se presenta en el Anexo III y que facilita la especificación de un workflow en la ontología OntoWF.
En cualquier caso, a continuación se expone el método para construir la ontología OntoWF de forma sistemática usando cualquier herramienta de desarrollo de ontologías. Este método se encuentra dividido en dos partes, por un lado, en la primera parte se trata de especificar el workflow y sus propiedades e indicar el nombre de las actividades que lo van a componer, por otro lado, en la segunda parte se trata de especificar las características de cada actividad que compone el workflow. En los siguientes dos apartados están detalladas ambas partes. Además, tras la realización de este método, hay que comprobar que OntoWF contiene un workflow correctamente especificado usando
OntoMetaWorkflow tal y como se muestra en la sección 4.5. 4.4.2.1. Especificación de propiedades del workflow
En primer lugar en la construcción de la ontología OntoWF hay que especificar cómo se llama el proceso que gestiona el workflow y cuáles son las propiedades que tiene. En concreto en esta parte los pasos a realizar son:
1. Importar la ontología OntoDD del dominio correspondiente y la ontología
OntoMetaWorkflow.
2. Incluir al proceso administrativo que se va a especificar en el workflow como subclase de
Administrative Process.
3. Indicar el máximo número de días permitido para realizar el proceso completo desde su comienzo en el atributo Process Max Time.
4. Especificar las propiedades del proceso. Estas propiedades podrán ser modificadas o mostradas en las actividades en cada instancia del workflow del proceso, en función de si son referenciados desde una actividad usando Fill In Instance Attributes of Process o Show
Instance Attributes Of Process.
5. Indicar qué datos del dominio se utilizarán en el workflow del proceso mediante la relación
Uses.
6. Indicar qué tipos de participante están involucrados en la realización del workflow del proceso mediante la relación Accomplished By.
7. Indicar qué tipos de participantes, de los incluidos en la relación Is Accomplished By, pueden crear instancias del workflow del proceso mediante la relación Generated By. Estos tipos de participante deben ser los mismos que estén incluidos en la relación Is Performed By de la actividad inicial del workflow del proceso.
8. Indicar qué tipos de participante de los incluidos en la relación Accomplished By, pueden administrar el workflow del proceso mediante la relación Administered By.
9. Incluir cada actividad del workflow del proceso como subclase de Activity.
10. Indicar las actividades que componen el workflow del proceso mediante la relación
Composed Of.
Tras aplicar esta parte del método se obtendrá la ontología OntoWF con las características principales del workflow del proceso administrativo.
4.4.2.2. Especificación de cada actividad del workflow
En segundo lugar, en la construcción de la ontología OntoWF hay que especificar todas las características de cada una de las actividades, incluyendo el orden en que se realizan, qué datos del dominio y propiedades del proceso utilizan y por quién pueden ser realizadas. Tras aplicar esta parte del método ya se obtendrá la ontología OntoWF con la especificación completa del workflow del proceso administrativo correspondiente. Todos los pasos a seguir expuestos en este apartado deben ser realizados para cada una de las actividades que componen el workflow del proceso. Estos pasos están divididos en dos tipos: por un lado, los pasos para la correcta ubicación de la actividad y, por otro, los pasos para detallar sus características.
4.4.2.2.1. Ubicación de la actividad
1. Indicar qué actividades son inmediatamente posteriores mediante la relación After.
2. Si la relación After de la actividad contiene dos o más actividades, entonces quiere decir que está en una ubicación inmediatamente anterior a una división en caminos de actividades y, por tanto, es necesario indicar si estos caminos son paralelos u optativos. El atributo After
Control Flow Pattern tomará el valor ‘AND’ en el primer caso y el valor ‘XOR’ en el
segundo. No es posible tomar ambos valores para una misma actividad.
3. Incluir, si no lo estaba ya, a esta actividad en la relación Before de las actividades inmediatamente posteriores.
4. Si la relación Before de las actividades inmediatamente posteriores contiene dos o más actividades, entonces hay que indicar, si no se ha hecho ya, si esta actividad pertenece a un camino paralelo u optativo a los caminos donde están situadas las otras actividades incluidas en la relación Before.
4.4.2.2.2. Detalle de características
1. Indicar qué tipos de participante pueden llevar a cabo la actividad mediante la relación Is
Performed By. Esta relación siempre debe contener al menos un tipo de participante que esté
incluido en la relación Accomplished By.
2. Si dentro de la actividad fuera necesario hacer una selección entre diferentes datos del dominio, hay que indicar el nombre de la superclase de dichos datos del dominio en el atributo Select Class Of Domain Data. Dicha superclase debe estar dentro de las indicadas en la relación Uses.
3. Si dentro de la actividad es necesario mostrar qué datos del dominio fueron seleccionados en alguna actividad previa, entonces hay que indicar el nombre de la superclase de estos datos del dominio entre los que se puede haber realizado la selección en el atributo Show Class of
Domain Data. Dicha superclase debe estar dentro de las indicadas en el atributo Select Class Of Domain Data de alguna de las actividades anteriores.
4. Si dentro de la actividad fuera necesario hacer una selección entre diferentes instancias de datos del dominio, hay que indicar el nombre de la superclase de dichos datos del dominio en el atributo Select Instance Of Domain Data. Dicha superclase debe estar dentro de las indicadas en la relación Uses.
5. Si dentro de la actividad es necesario mostrar qué instancias de datos del dominio fueron seleccionadas en alguna actividad previa, entonces hay que indicar el nombre de la superclase de estos datos del dominio en el atributo Show Instance of Domain Data. Dicha superclase debe estar dentro de las indicadas en el atributo Select Instance Of Domain Data de alguna de las actividades anteriores.
6. Indicar qué propiedades del proceso (de las especificadas en el paso 4 de la parte del método para la especificación de propiedades del workflow) pueden ser rellenadas o modificadas dentro de la actividad en el atributo Fill In Instance Attributes of Process.
7. Indicar qué propiedades del proceso pueden ser mostradas dentro de la actividad en el atributo Show Instance Attributes Of Process.
8. Indicar, salvo en la actividad inicial, el máximo número de días disponibles para realizar la actividad con el atributo Days Time Frame.
9. Indicar, salvo en la actividad inicial, el número de días mínimo que hay que esperar antes de comenzar la actividad con el atributo Days Before Beginning. Este atributo siempre debe tomar un valor inferior al tomado en Days Time Frame.
10. Opcionalmente, salvo en la actividad inicial, indicar usando el atributo Day Notice el número de días antes de la fecha de finalización de la actividad en que el usuario responsable de la misma será advertido de que se le acaba el plazo para finalizarla. Este valor siempre debe ser menor o igual que el resultado de restar el valor contenido en Days Before Beginning a Days
Time Frame.
11. Opcionalmente, explicar las acciones que debe realizar el usuario asignado para completar la actividad en el atributo Activity Description.