Artifact-centric Business Process Models in UML: Specification and Reasoning

Tesis

Director:
Data de defensa:
29/04/2016
Departament:
Departament de Llenguatges i Sistemes Informàtics, Universitat Politècnica de Catalunya.

Los procesos de negocio están directamente relacionados con los objetivos de negocio, y por tanto es importante que estos procesos se realicen de la mejor manera posible. Optar por modelarlos puede ayudar a conseguirlo, ya que los modelos proporcionan nombrosas ventajas. Por ejemplo: facilitan la comunicación entre las partes involucradas en el proceso, proporcionan una base a partir de la cual mejorarlo, y pueden ayudar a gestionarlo. Los procesos se pueden modelar desde diferentes perspectivas. El modelado tradicional de procesos se ha basado mucho en la perspectiva llamada «process-centric» (centrada en procesos) o «activity-centric» (centrada en actividades), que pone el énfasis en la secuencia de actividades o tareas a ejecutar, ignorando en gran medida los datos necesarios para llevar a cabo estas tareas. Por otra parte, la perspectiva «artifact-centric» (centrada en artefactos) o «data-centric» se basa en definir los datos que necesitan las tareas y los detalles de las tareas en sí, representando los cambios que estas hacen a los datos . El framework BALSA define cuatro dimensiones que deberían representarse en cualquier modelo artifact-centric: los artefactos de negocio (business artifacts), los ciclos de vida (lifecycles), los servicios (services) y las asociaciones (associations). Utilizando diferentes tipos de modelos para representar estas dimensiones lleva a obtener varias representaciones con características diferentes. Esta variedad de características hará que los modelos resultantes sean más apropiados para un propósito o para otro. Considerando esto, en la primera parte de esta tesis proponemos un framework, BAUML, para modelar procesos de negocio siguiendo una perspectiva artifact-centric. El framework se basa en utilizar una combinación de modelos UML y OCL, y su objetivo es obtener una representación final del proceso que sea a la vez comprensible y formal, para evitar ambigüedades y errores. Una vez definido el proceso, es importante asegurar la calidad. Esto evitará la propagación de errores en la implementación final del proceso. Aunque hay muchos criterios de calidad diferentes, nos centraremos en la corrección semántica del modelo, para responder a preguntas como «¿representa la realidad correctamente?» o «¿contiene errores o contradicciones?». En consecuencia, la segunda parte de esta tesis se centra en buscar una manera para determinar la corrección semántica de un modelo BAUML. Nos interesa considerar el modelo como un todo, incluyendo el significado de las tareas (es decir, el detalle de lo que hacen). Para ello, primero traducimos las tareas a un framework reconocido, DCDSs (Fecha-centric Dynamic Systems). Una vez obtenido, se pueden aplicar técnicas de model-checking para determinar si cumple ciertas propiedades. Desgraciadamente, los DCDSs han definido a nivel teórico y no hay ninguna herramienta que los implemente. Por este motivo, hemos creado un prototipo de herramienta, AuRUS-BAUML, que es capaz de traducir nuestros modelos BAUML a lógica y aplicar técnicas de razonamiento para determinar la corrección semántica. Por la parte de razonamiento, el AuRUS-BAUML utiliza una herramienta existente, el SVTe. La integración entre el AuRUS-BAUML y el SVTe es transparente de cara al usuario. Lógicamente, la tesis también presenta la traducción lógica que lleva a cabo la herramienta.