FIECriteria Nº3. Aportes de La Ingeniería de Software a la verificación de Procesos de Negocio: Una Reseña Histórica

 

APORTES DE LA INGENIERÍA DE SOFTWARE A LA VERIFICACIÓN DE PROCESOS DE NEGOCIO: UNA RESEÑA HISTÓRICA

Luis Eduardo Mendoza Morales, Ph.D.

Universidad Simón Bolívar (USB) – Escuela Superior Politécnica del Litoral (ESPOL)

Profesor Titular del Dpto. de Procesos y Sistemas – Profesor Invitado de la Facultad de Ingeniería en Electricidad y Computación (FIEC)

lmendoza@usb.ve - lemendoza@espol.edu.ec 

 

Resumen

La verificación de Procesos de Negocio (PN) es un tema que cada día abre más posibilidades de investigación debido a las distintas propuestas de lenguajes y notaciones que han surgido en los últimos tiempos para tratar de estandarizar el modelado de PN. Por su parte, la Disciplina de Modelado de Procesos de Negocio (DPMN) ha tenido por objetivo lograr la descripción de PN con una notación o lenguaje que no sea sólo comprensible por el sector empresarial, sino también sea lo suficientemente riguroso para poder derivar el software que soporta la ejecución de los PN. A continuación se hace una breve reseña histórica de los aportes de la Ingeniería de Software a la DMPN con el objeto de obtener una estandarización del modelado de PN, a la luz de la necesidad de verificarlos antes de ser soportados con sistemas de software.

 

Introducción

Una pregunta difícil de contestar para las organizaciones es cómo crear Procesos de Negocio (PN) robustos y flexibles. La Disciplina de Modelado de Procesos de Negocio (DMPN) se ha venido perfilando como un conjunto de actividades que permiten que las organizaciones puedan gestionar o mejorar sus PN o adaptarlos a las nuevas necesidades de los clientes [1]. Las actividades de la DMPN abarcan el análisis, el diseño y la definición de PN. En este contexto, la DMPN ha permitido establecer puentes entre los analistas y diseñadores de PN y la Ingeniería de Software (IS) [2].

Entre otros, la DMPN ha tenido por objetivo lograr la descripción de PN con una notación o lenguaje que no sea sólo comprensible por los analistas y diseñadores de PN, sino también sea lo suficientemente riguroso para poder derivar el software que soporta la ejecución de los PN. Por su parte, la IS ha venido consolidando, desde sus inicios, el uso de técnicas formales para detectar errores en programas de software, circuitos electrónicos de hardware y protocolos de comunicación, entre otros. En este sentido, existen aportes donde la Verificación Automática es aplicada como parte de la DMPN, con el objeto de detectar errores en las etapas de análisis, diseño y definición de PN; es decir, antes de su implantación a través de sistemas de software de uso empresarial o industrial. Un lenguaje que facilite la definición de los requisitos del software que soporte el negocio, que sea comprendido por los analistas y diseñadores de PN y por los ingenieros de software, permite compartir el conocimiento del dominio de los negocios, los requerimientos del negocio y llevar a cabo su verificación [2].

 

Evolución de los aportes de la IS a la DMPN

Los orígenes se remontan a la definición, el modelado y la verificación de flujos de trabajo (en inglés, workflow). Específicamente, el tratamiento que se les da a los flujos de trabajo dentro de los Sistemas de Gestión de Workflow y los Sistemas de Gestión de Procesos de Negocio. Estos sistemas están constituidos principalmente por un motor de workflow; un mecanismo que ejecuta la definición previa de los PN en un lenguaje de programación adecuado para ello. Con la finalidad de garantizar que el producto desarrollado cumpliese lo más fielmente los PN, los investigadores en IS han definido patrones de comportamiento repetibles y precisado la semántica de los workflow, de tal manera que se facilite su verificación e implementación en los sistemas de software.

Posteriormente, por el auge del Unified Modeling Language (UML) y su posicionamiento como un estándar de facto como lenguaje de modelado en la IS, la representación de los PN a través de Diagramas de Actividad se hizo una realidad para facilitar su automatización. La mayoría de los estudios son acerca de la semántica y verificación de Diagramas de Actividad, dado que este artefacto de modelado aglutina los elementos fundamentales propuestos por UML para el modelado de flujos de trabajo. Además, se considera que este diagrama es de fácil interpretación por parte de clientes, analistas y diseñadores de PN y desarrolladores de sistemas de software, entre otros.

Ya en estos últimos años, por la necesidad de los negocios de prestar mejores servicios sobre la plataforma de Internet, la IS ha aprovechado los avances en Arquitecturas Orientadas a Servicio y el surgimiento de los Web Services (WS). Esto conllevó a la formulación del WS Business Process Execution Language (WS-BPEL), el cual se ha convertido en el estándar para la definición de los conceptos de coreografía y conversación entre WS. Finalmente, como resultado del impacto que tuvo WS-BPEL en la industria del software, al poco tiempo surgió la Business Process Modeling and Notation (BPMN), la cual ha venido a ser una notación gráfica estandarizada que permite describir PN en un formato basado en flujos de trabajo. La versión actual de BPMN, la 2.0, es la notación más ampliamente aceptada para la documentación de PN en todo el mundo [3]. La consolidación de WSBPEL y BPMN han abierto la posibilidad de analizar y verificar el comportamiento de PN, contribuyendo así a una definición rigurosa de éstos, la cual redunda en una mejora en el proceso de desarrollo de los sistemas de software que soportan los PN.

Como comentario final, el problema de la verificación de PN está muy relacionado con la verificación de colaboraciones entre WS, ya que éstas son dependientes de aspectos de sincronización, donde la coordinación y comunicación juegan un papel muy importante. Soluciones que se propongan a nivel de orquestación de PN son extrapolables a las coreografías y conversaciones entre WS [4].

 

Conclusiones

La búsqueda de notaciones y lenguajes para la descripción de PN ha sido uno de los objetivos de la DMPN en los últimos tiempos. Como resultado de este esfuerzo y los aportes de la IS, BPMN ha surgido como una notación gráfica estandarizada ampliamente aceptada para la documentación de PN. Sin embargo, por la heterogeneidad de sus construcciones y por la falta de una definición precisa de la notación, la especificación, el modelado y la verificación formal de PN con BPMN todavía no se ha logrado completamente [3],[5]. En este sentido, se ha visto el aumento de investigaciones en la IS donde se introducen herramientas automatizadas en la sistematización de la corrección de las definiciones de PN con BPMN, antes de su implementación en sistemas que soporten su ejecución.

 

Referencias

[1] H. Eriksson and M. Penker, Business modeling with UML. New York: John Wiley & Sons, 2000.

[2] M. Havey, Essential business process modeling. Sebastopol, CA: O'Reilly, 2005.

[3] S. Cheikhrouhou, S. Kallel, N. Guermouche and M. Jmaiel, “The temporal perspective in business process modeling: a survey and research challenges”, SOCA, vol. 9, no. 1, pp. 75-85, 2014.

[4] L. Mendoza, M. Capel and M. Pérez, “Conceptual framework for business processes compositional verification”, Information and Software Technology, vol. 54, no. 2, pp. 149-161, 2012.

[5] S. Morimoto, “A Survey of Formal Verification for Business Process Modeling”, Computational Science – ICCS 2008, pp. 514-522, 2008.