El modelado de metaprocesos es un tipo de metamodelado utilizado en ingeniería de software e ingeniería de sistemas para el análisis y construcción de modelos aplicables y útiles a algunos problemas predefinidos.
El modelado de metaprocesos respalda el esfuerzo de crear modelos de procesos flexibles . El propósito de los modelos de procesos es documentar y comunicar procesos y mejorar la reutilización de los mismos. De esta manera, los procesos se pueden enseñar y ejecutar mejor. Los resultados del uso de modelos de metaprocesos son una mayor productividad de los ingenieros de procesos y una mejor calidad de los modelos que producen. [2]
El modelado de metaprocesos se centra en el proceso de construcción de modelos de procesos y lo respalda . Su principal objetivo es mejorar los modelos de procesos y hacerlos evolucionar, lo que a su vez respaldará el desarrollo de sistemas. [2] Esto es importante debido al hecho de que " los procesos cambian con el tiempo y también lo hacen los modelos de procesos subyacentes. Por lo tanto, es posible que haya que crear nuevos procesos y modelos y mejorar los existentes". [2] "El objetivo ha sido aumentar el nivel de formalidad de los modelos de procesos para hacer posible su implementación en entornos de software centrados en procesos". [3] [4]
Un metamodelo de proceso es un metamodelo , "una descripción a nivel de tipo de un modelo de proceso. Un modelo de proceso es, por tanto, una instanciación de un metamodelo de proceso. [...] Un metamodelo puede instanciarse varias veces para definir varios modelos de proceso. Un metamodelo de proceso se encuentra a nivel de metatipo con respecto a un proceso". [2]
Existen estándares para varios dominios:
Existen diferentes técnicas para construir modelos de procesos. “Las técnicas de construcción utilizadas en el área de sistemas de información se han desarrollado independientemente de las de ingeniería de software . En sistemas de información, las técnicas de construcción explotan la noción de metamodelo y las dos técnicas principales utilizadas son las de instanciación y ensamblaje . En ingeniería de software, la principal técnica de construcción utilizada hoy en día está basada en lenguaje. Sin embargo, las primeras técnicas tanto en sistemas de información como en ingeniería de software se basaban en la experiencia de los ingenieros de procesos y, por lo tanto, eran de naturaleza ad hoc .” [2]
"Los modelos de procesos tradicionales son expresiones de las experiencias de sus desarrolladores. Puesto que esta experiencia no está formalizada y, en consecuencia, no está disponible como fondo de conocimiento, se puede decir que estos modelos de procesos son el resultado de una técnica de construcción ad hoc. Esto tiene dos consecuencias importantes: no es posible saber cómo se generaron estos modelos de procesos y pasan a depender del dominio de la experiencia. Si los modelos de procesos deben ser independientes del dominio y si deben ser rápidamente generables y modificables, entonces debemos alejarnos de la construcción de modelos de procesos basada en la experiencia. Claramente, la generación y la modificabilidad se relacionan con la política de gestión de procesos adoptada (véase Usage World). La instanciación y el ensamblaje, al promover la modularización, facilitan la capitalización de las buenas prácticas y la mejora de los modelos de procesos dados". [2]
La técnica de ensamblaje se basa en la idea de un repositorio de procesos desde el cual se pueden seleccionar los componentes del proceso. Rolland (1998) enumera dos estrategias de selección: [2]
Para que la técnica de ensamblaje tenga éxito, es necesario que los modelos de proceso sean modulares. Si la técnica de ensamblaje se combina con la técnica de instanciación, entonces el metamodelo debe ser modular. [2]
Para reutilizar procesos, un modelo de metaproceso identifica "las características comunes y genéricas de los modelos de proceso y las representa en un sistema de conceptos. Dicha representación tiene el potencial de 'generar' todos los modelos de proceso que comparten estas características. Este potencial se materializa cuando se define una técnica de generación cuya aplicación da como resultado el modelo de proceso deseado". [2]
Los modelos de proceso se derivan entonces de los metamodelos de proceso mediante instanciación . Rolland asocia una serie de ventajas con el enfoque de instanciación: [2]
“La técnica de instanciación se ha utilizado, por ejemplo, en NATURE, [9] Rolland 1993, [1] Rolland 1994, [12] y Rolland 1996. [13] El ingeniero de procesos debe definir las instancias de contextos y relaciones que componen el modelo de proceso de interés”. [2]
Rolland (1998) enumera numerosos lenguajes para expresar modelos de procesos utilizados por la comunidad de ingeniería de software: [2]
así como otros paradigmas computacionales:
Los lenguajes suelen estar relacionados con programas de procesos, mientras que las técnicas de instanciación se han utilizado para construir scripts de procesos. [2]
El proceso de metamodelado suele contar con el apoyo de herramientas de software, llamadas herramientas CAME (Computer Aided Method Engineering) o herramientas MetaCASE (Meta-level Computer Assisted Software Engineering tools). A menudo, la técnica de instanciación "se ha utilizado para construir el repositorio de entornos de Computer Aided Method Engineering". [2] [21] [22] [23] [24]
Ejemplos de herramientas para el modelado de metaprocesos son: [25]
Colette Rolland (1999) [3] proporciona un ejemplo de un modelo de metaproceso que utiliza la técnica de instanciación y ensamblaje. En el artículo, el enfoque se denomina "Vista multimodelo" y se aplicó al método CREWS-L'Ecritoire. El método CREWS-L'Ecritoire representa un enfoque metódico para la ingeniería de requisitos , "la parte del desarrollo de SI que implica investigar los problemas y requisitos de la comunidad de usuarios y desarrollar una especificación del sistema futuro, el llamado esquema conceptual". [1] [26] [27]
Además del enfoque CREWS-L'Ecritoire, la visión multimodelo ha servido como base para representar: [3]
Además, el método CREWS-L'Ecritoire utiliza modelos de procesos y modelos de metaprocesos para lograr flexibilidad para la situación en cuestión. El enfoque se basa en la noción de un gráfico etiquetado de intenciones y estrategias llamado mapa , así como sus directrices asociadas . [3] Juntos, el mapa (modelo de proceso) y las directrices forman el método. La principal fuente de esta explicación es la elaboración de Rolland. [3]
El mapa es “una estructura de navegación que apoya la selección dinámica de la intención que se desea alcanzar a continuación y la estrategia adecuada para lograrla”; es “un modelo de proceso en el que se ha incluido un ordenamiento no determinista de intenciones y estrategias. Es un gráfico dirigido etiquetado con intenciones como nodos y estrategias como bordes entre intenciones. La naturaleza dirigida del gráfico muestra qué intenciones pueden seguir a cuáles”. [3]
El mapa del método CREWS-L'Ecritoire se ve así:
El mapa consta de objetivos/ intenciones (marcados con óvalos) que están conectados por estrategias (simbolizadas mediante flechas). Una intención es una meta, un objetivo que el ingeniero de aplicaciones tiene en mente en un momento dado. Una estrategia es un enfoque, una manera de lograr una intención. La conexión de dos objetivos con una estrategia también se denomina sección . [3]
Un mapa "permite al ingeniero de aplicaciones determinar un camino desde la intención de inicio hasta la intención de finalización. El mapa contiene un número finito de caminos, cada uno de los cuales prescribe una forma de desarrollar el producto, es decir, cada uno de ellos es un modelo de proceso. Por lo tanto, el mapa es un multimodelo. Incorpora varios modelos de proceso, proporcionando una vista multimodelo para modelar una clase de procesos. Ninguno de los conjuntos finitos de modelos incluidos en el mapa se recomienda 'a priori'. En cambio, el enfoque sugiere una construcción dinámica del camino real navegando en el mapa. En este sentido, el enfoque es sensible a las situaciones específicas a medida que surgen en el proceso. La siguiente intención y estrategia para lograrla son seleccionadas dinámicamente por el ingeniero de aplicaciones entre las varias posibles que ofrece el mapa. Además, el enfoque está destinado a permitir la adición dinámica de un camino en el mapa, es decir, agregar una nueva estrategia o una nueva sección en el curso real del proceso. En tal caso, las pautas que hacen disponibles todas las opciones abiertas para manejar una situación dada son de gran conveniencia. El mapa está asociado a tales pautas". [3]
Una directriz «ayuda a la operacionalización de la intención seleccionada» [3] ; es «un conjunto de indicaciones sobre cómo proceder para alcanzar un objetivo o realizar una actividad». [33] La descripción de las directrices se basa en el enfoque contextual del proyecto NATURE [9] [34] [35] y su correspondiente mecanismo de puesta en práctica. [24] Se pueden distinguir tres tipos de directrices:
En nuestro caso, es necesario definir las siguientes pautas, que se corresponden con el mapa mostrado arriba:
El siguiente gráfico muestra los detalles de la Directriz de Logro de Intenciones 8 (IAG-8).
En la perspectiva multimodelo presentada en el artículo de C. Rolland, el metaproceso (la instancia del modelo de metaproceso) es "un proceso para la generación de una ruta a partir del mapa y su implementación instantánea para la aplicación en cuestión". [3] Si bien el modelo de metaproceso se puede representar de muchas maneras diferentes, se eligió nuevamente un mapa como medio para hacerlo. No debe confundirse con el mapa para el modelo de proceso presentado anteriormente.
Colette Rolland describe el metamodelo de la siguiente manera: [3] (Las metaintenciones están en negrita, las metaestrategias en cursiva; en verde en el mapa).
"La metaintención Start inicia la construcción de un proceso seleccionando una sección en el mapa de métodos que tiene como origen la intención de mapa Start. La metaintención Choose Section da como resultado la selección de una sección del mapa de métodos. La metaintención Enact Section provoca la ejecución de la sección del mapa de métodos resultante de Choose Section . Finalmente, la metaintención Stop detiene la construcción del proceso de aplicación. Esto sucede cuando la metaintención Enact Section lleva a la ejecución de la sección del mapa de métodos que tiene como objetivo Stop. Como ya se explicó en las secciones anteriores, hay dos formas en las que se puede seleccionar una sección de un mapa de métodos, es decir, seleccionando una intención o seleccionando una estrategia. Por lo tanto, la metaintención Choose Section tiene dos metaestrategias asociadas a ella, select intention y select strategy respectivamente. Una vez que se ha seleccionado una sección del mapa de métodos mediante Choose Section , se debe recuperar la IAG para respaldar su ejecución; esto se representa en [el gráfico] asociando el soporte automatizado de metaestrategia con la metaintención, Enact Section ."
El proceso de ejemplo "Obtención de requisitos de una máquina de reciclaje" trata de un método para diseñar los requisitos de las instalaciones de reciclaje. Las instalaciones de reciclaje están destinadas a los clientes de un supermercado. El método adecuado se obtiene mediante la instanciación del modelo de metaproceso en el modelo de proceso.
La siguiente tabla muestra el seguimiento paso a paso del proceso para obtener los requisitos para la máquina de reciclaje (de [3] ):
{{cite journal}}
: CS1 maint: varios nombres: lista de autores ( enlace ){{cite book}}
: CS1 maint: location missing publisher (link){{cite journal}}
: Requiere citar revista |journal=
( ayuda )CS1 maint: multiple names: authors list (link){{cite journal}}
: CS1 maint: multiple names: authors list (link)