SciELO - Scientific Electronic Library Online

 
vol.39 número3Comportamiento Dinámico De Bloques Rígidos Simétricos Por Volteo Considerando La Interacción Dinámica Suelo-EstructuraCalidad de servicio móvil 2,5G para la red hidrometeorológica de la provincia de Chimborazo, Ecuador índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • No hay articulos similaresSimilares en SciELO

Compartir


Revista Técnica de la Facultad de Ingeniería Universidad del Zulia

versión impresa ISSN 0254-0770

Rev. Téc. Ing. Univ. Zulia vol.39 no.3 Maracaibo dic. 2016

 

 

Automatic Verification of Critical Industrial Process with Automata

Verificación Automática de Procesos Industriales Críticos con Autómatas

 

Luis E. Mendoza Morales 1,2

Universidad Simón Bolívar, USB, Departamento de Procesos y Sistemas, Valle de Sartenejas, Apartado Postal 89000, Caracas1080-A, Venezuela.,

Escuela Superior Politécnica del Litoral, ESPOL, Facultad de Ingeniería en Electricidad y Computación, Campus Gustavo Galindo Km 30.5 Vía Perimetral, P.O. Box 09-01-5863, Guayaquil, Ecuador.

Abstract

A goal of the designers of business and system developers is to build reliable software applications, providing the systems to automate the processes that constitute the objective of an industry, known as Critical Industrial Processes (CIP). One way to achieve this goal is using formal verification techniques such as Model Checking (MC), which increases understanding of automated processes, revealing inconsistencies, ambiguities and incompleteness, which are not easily noticed. This paper presents the integration of a Formal Compositional Verification Approach with the timed automata theory for the specification, and the MC of the Tasks Model (TM) associated with a CIP (IPTM). The result is a methodological infrastructure that guarantees the accuracy of IPTM respect to the specification of the initial properties derived from good practices and industrial standards. Through a typical example to evaluate methodologies for designing automated industrial systems, the integration of the MC in the early stages of CIP design is shown.

Keywords: Industrial process; model checking; automata; formal specification; task model.

Verificación Automática de Procesos Industriales Críticos con Autómatas

Resumen

Una meta de los diseñadores de negocio y desarrolladores de sistemas es construir aplicaciones de software confiables, proveyendo los sistemas para automatizar los procesos que constituyen el objetivo de una industria, conocidos como Procesos Industriales Críticos (PIC). Una forma de alcanzar esta meta es a través del uso de técnicas formales como la Verificación Automática (VA), la cual aumenta la comprensión de procesos automáticos, revelando inconsistencias, ambigüedades e incompletitudes, que no son percibidas fácilmente. Este trabajo presenta la integración de un Enfoque Formal de Verificación Composicional con la teoría de Autómatas Temporizados para la especificación y la VA del Modelo de Tareas (MT) asociado a un PIC (MTPI). El resultado, es una infraestructura metodológica que garantiza la exactitud del MTPI con respecto a la especificación de las propiedades iniciales derivadas de las buenas prácticas y normas industriales. Se muestra la integración la VA en las etapas tempranas del diseño de PIC a través de un típico ejemplo para evaluar metodologías para el diseño de sistemas industriales automatizados.

Palabras clave: Procesos industriales; verificación automática; autómatas; especificación formal; modelo de tareas.

1. Introducción

Con la automatización de los Procesos Industriales Críticos (PIC) y el soporte que las Tecnologías de la Información y Comunicación (TIC) le dan a las industrias, muchos sistemas se han convertido en el elemento fundamental para el funcionamiento de las industrias, así como para la realización de gran cantidad de procesos y actividades de la vida diaria. Como consecuencia, los PIC deben ser verificados, certificados u homologados, antes de su automatización [1]. Es necesario entonces invertir esfuerzo en la verificación de los PIC que van a ser implementados por las industrias para minimizar posibles omisiones o inconsistencias con respecto a lo que se espera de ellos, tanto a nivel funcional como a nivel de rendimiento, de acuerdo a restricciones temporales, lo que incluye un buen tiempo de respuesta. Debido a la naturaleza compleja y dinámica de algunas industrias, los modelos basados en lenguajes formales son necesarios para el análisis del comportamiento, a través de la Verificación Automática (VA) y el diseño de PIC, así como para el mejoramiento del funcionamiento de los existentes.

En este trabajo se presenta la integración del Enfoque Formal de Verificación Composicional (EFVC) con la teoría de Autómatas Temporizados (AT) para la especificación y la VA del Modelo de Tareas (MT) asociado a un PIC (MTPI). El EFVC aprovecha la capacidad del operador de composición paralela para la especificación de la concurrencia de procesos, tal como se hace cuando se especifica la concurrencia de AT en una red de AT. El resultado del uso del EFVC con la VA y los AT es una infraestructura metodológica que garantiza la exactitud del MTPI con respecto a la especificación de las propiedades iniciales derivadas de las buenas prácticas y normas industriales. Con el fin de mostrar la viabilidad de nuestra propuesta, también se discute un caso de carácter industrial, la Celda de Producción, un típico ejemplo para evaluar metodologías para el diseño de sistemas industriales, el cual ilustra cómo integrar la VA en las etapas tempranas del diseño de PIC. Como resultado, se logra soportar al ingeniero de modelado de procesos con métodos, modelos y herramientas, que permiten verificar los modelos de los PIC que se construyen desde el mismo momento que se los define y diseña.

Se han desarrollado varios trabajos —compilados y analizados rigurosamente por Morimoto [2] y Cheikhrouhou et al. [3]— que permiten la verificación y el análisis de PI utilizando algunos lenguajes y formalismos. En [2] se presenta un estudio que examina los esfuerzos de la aplicación de la verificación formal en el modelado de procesos, mientras que en [3] el énfasis se hace en la verificación de los aspectos temporales de procesos de negocio. En ambas publicaciones [2, 3], los autores presentan las técnicas de verificación formal (autómatas, redes de petri y álgebras de proceso, como las más resaltantes) que han permitido, desde mediados de los años 80 [2], simular y verificar modelos gráficos de PIC en la fase de diseño de los procesos; y reiteran que estas técnicas pueden detectar y corregir errores de los modelos en etapas tempranas del diseño; antes de la implementación. Por otra parte, se indica que hay estudios, por ejemplo en [4], para verificar diagramas de máquinas de estado hechos con el Lenguaje de Modelado Unificado (UML del inglés, Unified Modeling Language) con VA, que deben ser tomados en cuenta [3, 4]. Por parte de los autores del presente artículo, se han realizado algunos aportes previos orientados al diseño y la verificación de sistemas con criticidad, reflejados en [5]; y a la verificación composicional de procesos de negocio, en [6]. Este trabajo previo permitió conformar el EFVC [5], el cual integra la verificación composicional y la técnica de MC, aplicables a la verificación de PIC; siendo una propuesta diferente a todo lo revisado en la literatura hasta la fecha.  

Este artículo está estructurado como sigue. En la sección 2 se introduce la verificación de PIC, para, en la sección 3, exponer brevemente la teoría de AT. En la sección 4 se describe el resultado de la propuesta, el EFVC integrado con los AT. En la sección 5, se discute el caso de la Celda de Producción y el uso de la herramienta Uppaal. Finalmente, en la sección 6, se discuten los resultados y, en la sección 7, se enumeran las conclusiones y se esboza el trabajo futuro.

2. Verificación de procesos industriales y criticidad

De acuerdo a Kettinger [7] y a la Organización Internacional de Normalización (ISO del inglés, International Organization for Standardization) [8, 9], los procesos son secuencias específicas de actividades de trabajo a través del tiempo y del espacio, con un inicio, un fin y unas entradas y salidas claramente definidas; Kettinger [7] agrega: una estructura para la acción. En este sentido, los PI tienen una vinculación con los flujos de trabajo (en inglés, workflow); éstos son la automatización de un PI, total o parcialmente, durante la cual, materia (prima o semi-procesada), información y/o tareas, son pasadas de un participante a otro por una acción conforme a un conjunto de reglas procedimentales [7–10]. Desde el punto de vista de los procesos de producción, definidos con rigurosidad en los estándares ANSI/ISA-88 [11] y ANSI/ISA-99 [12], éstos procesos tienen estructuras similares a los PI y de negocio, lo que permite extrapolar los aportes que se exponen en este artículo a los procesos de producción; y, en particular, a cualquier PIC.

El término Crtiticidad es usado normalmente para cualificar la importancia de un equipo, actividad o proceso dentro de las operaciones de una industria. Esta importancia típicamente se basa en una evaluación de las consecuencias que implicaría un fallo del equipo, actividad o proceso, en el servicio que presta la empresa.

En este sentido, para este trabajo los PIC son los PI de una industria que son esenciales para cumplir la declaración de su misión; es decir, aquellos que deben ser restaurados inmediatamente después de una interrupción para garantizar la capacidad de la industria afectada, proteger sus activos, hacer frente a sus necesidades fundamentales, y cumplir la normativa y los requisitos obligatorios [6, 13]. A menudo las necesidades de mejora de los PIC se deben a que éstos no llegan a brindar un rendimiento satisfactorio [13]; es decir, no propician de la mejor manera el logro positivo de los factores críticos de la organización [6]. Como parte del rendimiento está el cumplimiento de plazos de tiempo que garanticen su correcta ejecución [6, 13].

La criticidad está asociada con la fiabilidad o confiabilidad (en inglés, reliability) de procesos automatizados; es decir, con la probabilidad de que un equipo o sistema opere sin fallo por un determinado período de tiempo, bajo unas condiciones de operación previamente establecidas [14]. Adicionalmente, a nivel industrial, se habla de la confiabilidad operacional, referida a la capacidad de una instalación o sistema —integrado por procesos, máquinas y gente—, para cumplir su función dentro de sus límites de tiempo y bajo un contexto de operaciones específico [8, 9, 11, 12, 14, 15].

Por otro lado, los conceptos de verificación y validación son importantes en este trabajo. La verificación se enfoca en el tema de la consistencia interna de un modelo, mientras que la validación está relacionada con la correspondencia entre el modelo y la realidad [16]. La validación es el proceso de comparar la salida del modelo del PIC con el comportamiento organizacional. En otras palabras: comparar la ejecución del modelo del PIC con la realidad (física u otra cualquiera).

La verificación es el proceso de comparar la implementación (una forma de ejecución) de un PIC (que puede ser un programa o una especificación formal detallada) con el modelo del PIC, para garantizar que la implementación es correcta con respecto al modelo del PIC. La verificación comprueba que la implementación del modelo (una forma de ejecución detallada y formal) corresponde al modelo del PIC, mientras que la validación comprueba que el modelo del PIC corresponde con la realidad [16]. Este trabajo se centra en la verificación formal, ya que por las características de los PIC y el impacto de estos en las industrias, además de lo complejo que son los sistemas y maquinarias que los soportan, es sumamente costoso y riesgoso esperar que el PIC esté implementado para validar que la implementación cumple con lo que se quiere en la realidad.

3. Teoría de autómatas

El recurso más utilizado actualmente en la verificación del modelo de un PI es el uso de autómatas que implementan la ejecución del proceso [3, 17].

3.1. Autómatas

Los autómatas son modelos matemáticos de un sistema (o proceso) con entradas y salidas, pudiendo estar en cualquiera de un número finito de estados. Cada estado establece la relación entre entradas anteriores para alcanzar ese estado y las entradas posteriores (salidas) para alcanzar un estado siguiente [18]. La entrada es leída símbolo por símbolo (alfabeto del autómata), hasta que es “consumida” completamente —piense en ésta como una palabra que es leída por una cabeza lectora; la cabeza se mueve a lo largo de la palabra, leyendo un caracter (o símbolo) a la vez—; una vez la entrada se ha agotado, el autómata se detiene [18].

3.2. Autómatas temporizados

El concepto de AT fue propuesto por primera vez en [19] como una extensión de la teoría de autómatas enfocada al modelado de sistemas en tiempo real [18]. De acuerdo con Alur y Dill [19], un AT es un grafo dirigido finito anotado con condiciones y restablecimientos de los valores reales no negativos de relojes. Bajo esta teoría, un sistema se modela como una colección de máquinas de estados finitos y un conjunto finito de relojes [19]. En el esquema estándar, los relojes están sincronizados y pueden ser restaurados (en inglés, reset) a través del paso de un estado a otro. Los relojes también se utilizan como guardas para las transiciones.  

Dentro de la teoría de AT, el tiempo es continuo, pero la declaración de los relojes por lo general se limita a la utilización de valores enteros. El tiempo nunca es negativo y los relojes sólo pueden ser restablecidos a 0. El tiempo de vida está representado por el requerimiento de que algunos relojes específicos nunca pueden obtener un valor superior a un plazo determinado, o que no pueden alcanzarlo mientras no se supere un estado o una colección de estados. Las transiciones se definen para ser instantáneas. Cuando hay dos o más posibles transiciones de un estado a otros, cada una es una transición válida. Por ejemplo, en la Figura 1, la transición de salida del estado S no puede ocurrir antes del tiempo 3.

En este ejemplo, T es un reloj; que se está restableciendo cuando se alcanza el estado S. En un modelo simple (es decir, el invariante T<5 no existe), la única salida del estado S es cuando T es superior a 3; es decir, el ejemplo ilustra la imposición de un retraso (en inglés, delay). Un estado puede tener una invariante temporal para forzar una transición de salida. El estado S no puede salir antes de T=3, sino que debe salir antes de T=5 (ver Figura 1). Si la transición no se puede tomar, el autómata contiene una condición de error o punto muerto (en inglés, deadlock).

3.3. Uppaal

UPPAAL (http://www.uppaal.org/) es una herramienta de software que permite modelar, validar y verificar sistemas en tiempo real. UPPAAL es el resultado de un trabajo de colaboración entre Departamento de Tecnología de la Información en la Universidad de Uppsala, Suecia, y el Departamento de Ciencias de la Computación de la Universidad de Aalborg, Dinamarca. Esta herramienta es libre para aplicaciones no comerciales en el mundo académico; para aplicaciones comerciales se requiere una licencia comercial, la cual se obtiene en http://www.uppaal.com/. Para los fines de este artículo, se utilizó la versión oficial académica 4.0.13 (liberada el 27 de septiembre de 2010).

UPPAAL tiene una vista que utiliza un lenguaje de diseño o de modelado gráfico que permite describir el comportamiento de un sistema como una red de autómatas ampliada con variables de datos y de reloj. Además, tiene una vista de simulación que permite examinar las posibles ejecuciones dinámicas de un sistema durante las fases de diseño y proporciona una sencilla detección de los fallos antes de que éste sea verificado por el comprobador de modelos. Por último, consta de una vista donde se usa el comprobador de modelos (o verificador automático) para chequear las propiedades esperadas del modelo —especificadas en una lógica temporal basada en Timed Computational Tree Logic (TCTL)—, explorando el espacio de posibles ejecuciones de la red de AT. También proporciona diagnósticos que se pueden abrir automáticamente a través de la vista del simulador y pueden usarse para visualizar e investigar las trazas de símbolos leídos del alfabeto. Para ahondar en UPPAAL, consultar el URL: http://www.uppaal.org/.

  4. Resultados: Integración del EFVC con la teoría de AT

Con el fin de contribuir a la formalización del complejo campo del modelado de PIC, se incorpora un modelo ejecutable de los PIC, conocido como Modelo de Tareas del PIC (MTPI), para lograr este propósito. Un MTPI puede ser considerado como el modelo más básico posible para obtener una descripción completa, exacta, coherente y bien definida, del conjunto de tareas que deben realizar los colaboradores en un PIC para cumplir los objetivos de la industria [20]. La formalización de un MTPI establece las bases para la VA de los modelos de PIC.

Bajo este enfoque, la falta de verificación de propiedades funcionales y no funcionales de un MTPI derivado de un PIC, se debe principalmente a problemas semánticos y sintácticos causados por la incorrecta integración de: (1) la formalización de las propiedades (metas y objetivos de la industria) que debe satisfacer el MTPI, en tiempo de diseño [16], y (2) el comportamiento del MTPI en tiempo de ejecución [16], necesario para llevar a cabo la VA.

En síntesis, en este trabajo se propone:

1) La construcción de un MTPI como una red de autómatas temporizados. Así, las restricciones temporales del modelo del PIC en tiempo de diseño pueden ser especificadas por los autómatas temporizados en tiempo de ejecución. Al proceder de esta manera, podemos obtener la verificación completa de un MTPI a partir de un modelo inicial del PIC de una manera confiable y soportado por una herramienta de VA como UPPAAL.

2) Una adaptación del esquema conceptual, conocido como EFVC [6], que integra la teoría de AT con la VA, el cual se presenta en la Figura 2. El EFVC está basado en el concepto de la verificación composicional, el cual permite que se pueda verificar el modelo de un PIC como el resultado natural de una composición; en este sentido, el PIC en sí mismo está compuesto por procesos independientes (los ejecutados por cada colaborador del proceso), lo cual es adecuado para la verificación composicional [4–6].

El EFVC consta de los siguientes procesos integrados (ver Figura 2):

1) Modelado (construcción) del MTPI. Se modela y especifica el comportamiento del MTPI con AT, obteniéndose la descripción completa de su comportamiento. De esta forma, se obtiene la definición que especifica cómo el comportamiento de los colaboradores (personas y/o máquinas) del MTPI  es llevado a cabo en tiempo de ejecución, de acuerdo a la secuencia discreta de eventos en los cuales los colaboradores del MTPI están involucrados.

2) Especificación del comportamiento de MTPI. En paralelo a lo anterior, los requisitos y las restricciones temporales que el MTPI debe cumplir son especificados a través de fórmulas de la lógica temporal TCTL. Posteriormente, estas propiedades son expresadas como AT de manera automática por la herramienta de VA. Como consecuencia, se expresan las propiedades del MTPI en el mismo lenguaje de especificación que el modelo del MTPI —AT—, pudiendo razonar y ejecutar la VA en un mismo dominio semántico.

3) Verificación del MTPI. Finalmente, obtenidos los resultados de los procesos anteriores realizados en paralelo, se procede a la verificación del comportamiento del MTPI con respecto al comportamiento abstracto esperado de éste. Esto se realiza a través de la incorporación de la herramienta de software UPPAAL, la cual permite simular y analizar este comportamiento de una manera cómoda para los diseñadores de PIC.

5. Caso de aplicación: Celda de Producción

La Celda de Producción es un ejemplo típico para evaluar metodologías para el diseño de PIC automatizados [21]. Es un modelo de una instalación industrial para el procesamiento de metal en Karlruhe, Alemania [22]. Lo presentado a continuación está basado en el trabajo de Burns [23]. Como se puede ver en la Figura 3(a), el modelo incluye varias máquinas que deben coordinarse con el fin de forjar piezas de metal.

A continuación se muestra de forma resumida el modelado de uno de los elementos centrales del sistema: la prensa. La tarea de la prensa es forjar piezas de metal [22]. La prensa consiste de dos planchas horizontales, donde la plancha inferior se mueve a lo largo del eje vertical. La prensa opera presionando la plancha inferior contra la plancha superior. Debido a que los brazos del robot están colocados en diferentes planos horizontales, la prensa tiene tres posiciones —ver Figura 3(b)—.

En la posición inferior, la prensa es descargada por el brazo 2 del robot, mientras que en la posición del medio es cargada por el brazo 1. La operación de la prensa es coordinada con los brazos del robot como sigue [22]: primero, la prensa se abre en la posición inferior y espera hasta que el brazo 2 retire la pieza de metal y deje la prensa; a continuación, se mueve la plancha inferior a la posición del medio y espera hasta que el brazo 1 cargue la prensa y se retire; finalmente, la prensa forja la pieza de metal. Esta secuencia de procesamiento es ejecutada cíclicamente [22]. En la Figura 4 se pueden observar los autómatas, realizados con la versión académica 4.0.13 de la herramienta Uppaal, que modelan el comportamiento de la prensa y el robot. Tal como indica Burns [23], el robot es el componente más complejo del sistema.

La Figura 4 corresponde a la vista del simulador de la herramienta Uppaal, la cual muestra la red de autómatas que conforman el MTPI de la Celda de Producción. A través de esta vista fue posible apreciar la ejecución del MTPI completo, lo que permitió validar que el modelo funciona y proceder a la verificación de las restricciones temporales que debe satisfacer

En la Figura 5 se presenta la pantalla de la vista del verificador de la herramienta Uppaal, donde se muestra la verificación de algunas propiedades del MTPI. Estas propiedades se especifican con una variación de la lógica temporal TCTL. Aquellas propiedades que aparecen con una señal verde en el lado derecho han sido verificadas con éxito; mientras que las que aparecen con la señal roja no han sido satisfechas por el MTPI presentado en la Figura 4.

Por ejemplo, UPPAAL indica que la siguiente propiedad se cumple (ver última propiedad en la lista con fondo gris): A[](Banda.espera imply (Pieza1.crear or Pieza2. crear or Pieza3.crear or Pieza4.crear)) , ya que se encontró que es necesario un mínimo de 4 piezas para mantener el modelo trabajando y poder analizar su comportamiento [23]. Si se trabaja sólo con tres piezas, la Celda de Producción no se mantiene ocupada. Para asegurar que las piezas no se pueden adelantar entre sí, es necesario demostrar que sus ubicaciones están ocupadas bajo exclusión mutua [23]. Es decir, si la Pieza1 está en el estado “en_tabla” , entonces otra pieza no puede estar en ese mismo estado; la excepción de esta regla es estar en el estado “crear” [23]. El resultado de verificación de estas propiedades son las que aparecen en la parte superior de la propiedad anterior.

6. Análisis de resultados

En general, el estudio apoyó la hipótesis de que la técnica de VA y la teoría de los AT son medios eficaces para verificar modelos de PIC [2, 3]. Tales modelos pueden jugar un papel importante en la ingeniería de procesos con alta integración con las TIC. Este trabajo ha puesto de manifiesto la eficacia de la utilización de los AT para analizar el comportamiento de PIC, ya que las especificaciones de las obligaciones temporales corresponden a satisfacer plazos de espera y tiempos de ejecución. Sin embargo, fue necesario algo de intuición por parte del investigador para asegurar que el modelo estaba limitado por intervalos de tiempo durante el cual deben ejecutarse algunas tareas. Donde la sincronización fue necesaria, fue crucial que el progreso siempre se viera obligado a ocurrir (es decir, garantizar la ausencia de bloqueo o, en inglés, deadlock). Aunque esto no resultó trivial de garantizar en algunas ocasiones, las capacidades de simulación y verificación de Uppaal facilitaron indicar donde el modelo era insuficiente.

En general, Uppaal demostró ser una herramienta eficaz y útil. La curva de aprendizaje no fue grande y la funcionalidad de simulación permite visualizar fácilmente el comportamiento del modelo. Modelar y simular modificaciones temporales siempre fue posible, lo que permite afirmar que la expresividad de los modelos no se vio comprometida.

7. Conclusiones y trabajo futuro

En este trabajo se ha presentado la integración del EFVC con la teoría de AT para la especificación y la VA del MT asociado a un PIC. El uso del EFVC con la VA y los AT ha resultado en una infraestructura metodológica que garantiza la exactitud del MTPI con respecto a la especificación de las propiedades iniciales derivadas de las buenas prácticas y normas industriales. Además, se ha mostrado la viabilidad de la propuesta a través de incorporación de la herramienta Uppaal en la verificación de la Celda de Producción, un ejemplo de carácter académico para evaluar metodologías para el diseño de sistemas y PI. De esta manera, se ha ilustrado cómo integrar la VA en las etapas tempranas del diseño de PIC. Finalmente, se ha logrado demostrar que es posible soportar al ingeniero de modelado de procesos con métodos, modelos y herramientas que le permitan verificar los modelos de los PIC desde el mismo momento que los diseña.

Como trabajo futuro, se pretende especificar las reglas de transformación que soporten el desarrollo de una herramienta de software que automatice la obtención de los AT a partir de los modelos de PIC realizados en alguno de los lenguajes gráficos que normalmente se utilizan en la industria.

Referencias bibliográficas

[1] Rodríguez, P., Alonso, J., Sánchez, J.: “¿Cuál es la madurez que necesitarían los procesos para el desarrollo de sistemas de software crítico?”. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol. 1, No. 2 (2005), 31–41.

[2] Morimoto, S.: “A Survey of Formal Verification for Business Process Modeling”. Lecture Notes in Computer Science, Vol. 5102 (2005) 514–522.

[3] Cheikhrouhou, S., Kallel, S., Guermouche, N., Jmaiel, M.: “The temporal perspective in business process modeling: A survey and research challenges”. Serv. Oriented Comput. Appl., Vol. 9, No. 1 (2015) 75–85.

[4] Yeung, W., Leung, K., Wang, J., Dong, W.: “Modelling and Model Checking Suspendible Business Processes via Statechart Diagrams and CSP”. Science of Computer Programming, Vol. 65, No. 1 (2007) 14–29.  

[5] Mendoza, L.E., Capel, M.I., Pérez, M., Benghazi, K. “ Compositional Model-checking Verification of Critical Systems”. Proc. 10th International Conference on Enterprise Information Systems - ICEIS 2008 (2008) 213–225.         [ Links ]  

[6] Mendoza, L.E., Capel, M.I., Pérez, M.A.: “Conceptual Framework for Business Processes Compositional Verification”. Information and Software Technology, Vol. 54, No. 2 (2012) 149–161.  

[7] Kettinger, W., Teng, J., Guha, S.: “The Process Reengineering Life Cycle Methodology: A Case Study”. Business Process Change: Reengineering, Concepts, Methods and Technologies (1995) 211–244.         [ Links ]  

[8] ISO/TC 184/SC 4: “ISO 10303-49:1998 Industrial automation systems and integration — Product data representation and exchange — Part 49: Integrated generic resources: Process structure and properties” . ISO, Switzerland. 1998.

[9] ISO/TC 184/SC 4: “ISO 18629-1:2004 Industrial automation systems and integration — Process specification language — Part 1: Overview and basic principles”. ISO, Switzerland. 2004.

[10] Fisher L.: “2009 BPM and Workflow Handbook: Spotlight on Government”. Lighthouse Point, USA, 2009.         [ Links ]

[11] ISA SP95: “ANSI/ISA-88.00.01-2010 Batch Control Part 1: Models and Terminology”, ISA, USA. 2010.

[12] ISA SP95: “ANSI/ISA-95.00.01-2010 (IEC 62264- 1 Mod) Enterprise-Control System Integration - Part 1: Models and Terminology”, ISA, USA. 2010.

[13] Meade, L., Rogers, K.: “Selecting Critical Business Processes: A Case Study”. Engineering Management Journal, Vol. Dec 01 (2001) 41–46.

[14] JTC 1/SC 7: “ISO/IEC 25000:2014 Software Engineering – Software Product Quality Requirements and Evaluation (SQuaRE) – Guide to SQuaRE”. ISO, Switzerland. 2014.

[15] TC 176/SC 1: “Quality Management Systems – Fundamentals and Vocabulary. ISO/IEC Standard 9000”. ISO, Switzerland. 2005.

[16] Pressman, R.: “Software Engineering: A Practitioner’s Approach”, 8th ed., McGraw-Hill Science/Engineering/Math, USA, 2014.         [ Links ]

[17] Baier, C., Katoen, J.P.: “Principles of Model Checking”, The MIT Press, USA, 2008.         [ Links ]