Principales modelos procesos
Existe un gran número de lenguajes de modelado de procesos, con sus respectivos modelos y herramientas asociadas, considerando la tradicional definición IPO (Input Process Output) y Language Action como las más relevantes.
Se puede establecer una clasificación de los modelos de procesos en función de los formalismos que los sustentan.
Formalismo no ejecutables:
Son aquellos en los que el modelado es informal y con el único fin de documentar o describir procesos. Como ejemplo existen:
1) Diagramas de Estado o Actividad de UML
2) Diagramas IDEF0
3) Diagramas de Flujo de Datos.
Basados en Redes: Son quiz á los más utilizados debido a su fácil represe ntación gráfica y comprensión por parte de usuarios no especializados, y a que asemejan formalismos no ejecutables pero con una semántica definida y sin ambigüedad.
Como ejemplo:
1) Redes de Petri
2) Máquinas de Estado
Declarativos: Bajo este grupo englobamos aquellos formalismos que en vez de especificar imperativamente las actividades y sus depend encias, declaran restricciones sobre cómo debe realizarse el proceso. Generalmente se utiliza algún tipo de lógica (Kifer, 1996), permitiendo definir sistemas fácilmente modificables al poder añadir o quitar restricciones al modelo declarativo de proceso (Hullet al, 1999).
En este grupo se incluirían también los modelos basados en reglas (Joeris y Herzog, 1998), disparos, o gestión del conocimiento en general.
Imperativos: Los procesos expresados en un lenguaje imperativo, ya sea específico de modelad o de procesos o no, caerían en este grupo.
Ejemplos de estos formalismos son los lenguajes de modelado de procesos (PML) como el propuesto por Keane (1994), el OCR propuesto en Alonso y Hagen, (1997) o extensiones a lenguajes clásicos como Ada o C.
Híbridos: Los grupos anteriores no son excluyentes. Pueden defin irse sistemas en los que se haga uso de combinaciones de formalismos con el fin de aumentar su potencia (Kammer, 2000).
Por ejemplo podría utilizarse algún tipo de red para modelar procesos, añadiendo algún método declarativo para expresar restricciones globales o formalismos no ejecutables como vistas para facilitar la comprensibilidad de los procesos.
Fuente: Apuntes de Informática V de la FCA de la UNAM