El Desarrollo de Software Dirigido por Modelos o MDD (Model Driven Development), plantea una nueva forma de entender el desarrollo y mantenimiento de sistemas de software con el uso de modelos como principales artefactos del proceso de desarrollo; desplazando al código como principal protagonista en el desarrollo de software. En MDD, los modelos son utilizados para dirigir las tareas de comprensión, diseño, construcción, pruebas, despliegue, operación, administración, mantenimiento y modificación de los sistemas. De este modo, tales modelos son considerados como entidades primordiales, permitiendo nuevas posibilidades de crear, analizar y manipular sistemas a través de diversos lenguajes y herramientas. El modelo de un sistema provee un medio de comunicación y negociación entre usuarios, analistas y desarrolladores que oculta o minimiza los aspectos relacionados con la tecnología de implementación.
En particular, el modelado de procesos es una rama fundamental en MDD que permite organizar y documentar la información del proceso facilitando su comprensión y administración. Estas tareas suelen ser engorrosas debido a la gran complejidad de los procesos y subprocesos en una organización.
Al modelar un proceso se busca desarrollar una descripción lo más exacta posible del mismo así como de las actividades y demás elementos que lo conforman. Es una actividad mediante la cual un proceso es representado o descrito usando lenguajes apropiados que faciliten: la comunicación de la representación, su documentación y la comprensión del proceso. No basta con tener disponible un modelo de proceso sino también es necesario contar con las herramientas adecuadas para definirlo, modificarlo y analizarlo.
Este trabajo tiene como objetivo seleccionar un conjunto de criterios y en base a los mismos establecer una comparación de lenguajes notacionales para modelado de procesos. Este conjunto de criterios se volcarán en un cuadro que muestre esquemáticamente la comparación realizada.
Consideramos en este estudio los lenguajes notacionales que adhieren a estándares de la OMG (Object Management Group) como lo son SPEM (Software Process Engineering Metamodel) para modelado de procesos software y BPMN (Business Process Modeling Notation) para el modelado de procesos de negocio.
Consecuentemente con esta comparación se pueden alcanzar conclusiones que faciliten la elección de un lenguaje notacional de modelado de procesos de un tipo particular, ya sea de negocio o de software.