stringtranslate.com

Modelado de metaprocesos

Nivel de abstracción para procesos. [1]

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]

Descripción general

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:

Temas de modelado de metadatos

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]

A propósito

"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]

Asamblea

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]

  1. Promover un análisis global del proyecto en cuestión basado en criterios de contingencia (Ejemplo Van Slooten 1996 [5] )
  2. Utilizar la noción de descriptores [6] como medio para describir fragmentos de procesos. Esto facilita la recuperación de componentes que satisfacen los requisitos del usuario o que se adaptan a la situación en cuestión. [7] (Ejemplo: Plihon 1995 [8] en NATURE [9] y repositorio de enfoques basados ​​en escenarios accesibles en Internet en el proyecto CREWS [10] [11] )

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]

Instanciación

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]

  1. La explotación del metamodelo ayuda a definir una amplia gama de modelos de procesos.
  2. Hace que la actividad de definir modelos de procesos sea sistemática y versátil.
  3. Obliga a buscar e introducir, en el metamodelo de proceso, soluciones genéricas a los problemas y esto hace que los modelos de proceso derivados hereden las características de la solución.

“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]

Idioma

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]

Soporte de herramientas

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]

Ejemplo: "Vista multimodelo"

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]

(a) los otros tres enfoques de ingeniería de requisitos desarrollados dentro del proyecto CREWS, el enfoque de Escenas del Mundo Real, [28] el enfoque SAVRE para el descubrimiento de excepciones de escenarios, [29] y el enfoque de animación de escenarios [30]
(b) para integrar enfoques [31] entre sí y con el enfoque OOSE [32]

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]

Modelo/mapa de procesos

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í:

Modelo de proceso del método CREWS-L'Ecritoire [3]

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]

Pautas

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:

Ejemplo de una directriz de selección de intenciones 1 (ISG-1) [3]
Ejemplo de una directriz de selección de estrategia 1 (SSG-1) [3]
Ejemplo de una directriz de logro de intenciones 8 (IAG-8) [3]

En nuestro caso, es necesario definir las siguientes pautas, que se corresponden con el mapa mostrado arriba:

Directrices de selección de intenciones (ISG)
  1. ISG-1 Progreso desde Obtener una meta
  2. ISG-2 Progreso desde la conceptualización de un escenario
  3. ISG-3 Progreso de Escribir un escenario
  4. ISG-4 Progreso desde el inicio
Directrices para la selección de estrategias (SSG)
  1. SSG-1 Progreso para obtener una meta
  2. SSG-2 Progreso en la conceptualización de un escenario
  3. SSG-3 Progreso en la redacción de un escenario
  4. SSG-4 Progreso para obtener una meta
  5. SSG-5 Progreso para detenerse
Directrices para el logro de intenciones (IAG)
  1. IAG-1 Obtener un objetivo con una estrategia basada en casos
  2. IAG-2 Obtener un objetivo con estrategia de composición
  3. IAG-3 Obtener un objetivo con una estrategia alternativa
  4. IAG-4 Obtener un objetivo con estrategia de refinamiento
  5. IAG-5 Obtener un objetivo con estrategia lingüística
  6. IAG-6 Obtener un objetivo con una estrategia basada en plantillas
  7. IAG-7 Redactar un escenario con una estrategia basada en plantillas
  8. IAG-8 Escribe un escenario en prosa libre
  9. IAG-9 Conceptualizar un escenario con estrategia de soporte informático
  10. IAG-10 Conceptualizar un escenario manualmente
  11. IAG-11 Detener la estrategia de completitud

El siguiente gráfico muestra los detalles de la Directriz de Logro de Intenciones 8 (IAG-8).

Mapa de metaprocesos

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.

Modelo de metaproceso del método CREWS-L'Ecritoire [3]

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 ."

Proceso de muestra

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] ):

Véase también

Referencias

  1. ^ abc Colette Rolland (junio de 1993). Modelado del proceso de ingeniería de requisitos . Tercer seminario europeo-japonés sobre modelado de información y bases de conocimiento. Budapest, Hungría. CiteSeerX  10.1.1.29.8738 .
  2. ^ abcdefghijklmn Colette Rolland (1998). "Una visión integral de la ingeniería de procesos". Actas de la 10.ª Conferencia internacional sobre ingeniería de sistemas de información avanzada. Índice de contenidos . Londres: Springer-Verlag. pp. 1–24. ISBN. 978-3-540-64556-6.
  3. ^ abcdefghijklmnopq Rolland, C.; Prakash, N.; Benjamen, A. (1999). "Una visión multimodelo del modelado de procesos" (PDF) . Ingeniería de requisitos . 4 (4): 169. doi :10.1007/s007660050018. S2CID  6988662.
  4. ^ abcde A. Finkelstein; J. Kramer; B. Nuseibeh, eds. (1994). Modelado y tecnología de procesos de software . Nueva York: Wiley. ISBN 978-0-471-95206-0.
  5. ^ K. Van Slooten; B. Hodes (1996). "Caracterización de un proyecto de desarrollo de SI". Conferencia IFIP WG 8.1 sobre ingeniería de métodos . Londres: Chapman and Hall. págs. 29–44. ISBN 978-0-412-79750-7.
  6. ^ V. De Antonellis, B. Pernici, P. Samarati. MÉTODO F-ORM: Una metodología para reutilizar especificaciones. En Enfoque orientado a objetos en sistemas de información. Van Assche F., Moulin B., C. Rolland (eds), Holanda Septentrional, 1991
  7. ^ Rolland, Colette y Prakash, Naveen (1996). "Una propuesta para la ingeniería de métodos específicos del contexto". Actas de la conferencia de trabajo IFIP TC8, WG8.1/8.2 sobre ingeniería de métodos en Ingeniería de métodos: principios de construcción de métodos y soporte de herramientas . Londres: Chapman & Hall. págs. 191–208. ISBN 978-0-412-79750-7.
  8. ^ V. Plihon, C. Rolland (1995). "Ingeniería de sistemas de información avanzados". Actas de la 7.ª conferencia internacional sobre ingeniería de sistemas de información avanzados (CAISE) . Apuntes de clase sobre informática. Vol. 932. Springer Verlag. págs. 126-139. doi :10.1007/3-540-59498-1. ISBN . 978-3-540-59498-7. Número de identificación del sujeto  35242104.
  9. ^ Página de inicio del proyecto abc NATURE (Nuevos enfoques para las teorías que sustentan la ingeniería de requisitos)
  10. ^ Página de inicio del proyecto CREWS (Ingeniería de requisitos cooperativa con escenarios)
  11. ^ C. Rolland , C. Ben Achour, C. Cauvet, J. Ralyté, A. Sutcliffe, NAM Maiden, M. Jarke, P. Haumer, K. Pohl , Dubois, P. Heymans (1998). "Una propuesta para un marco de clasificación de escenarios". Revista de ingeniería de requisitos . 3 (1): 23–47. CiteSeerX 10.1.1.30.5360 . doi :10.1007/BF02802919. S2CID  1889956. {{cite journal}}: CS1 maint: varios nombres: lista de autores ( enlace )
  12. ^ C. Rolland (junio de 1994). "Un enfoque contextual para modelar el proceso de ingeniería de requisitos". 6.ª Conferencia Internacional sobre Ingeniería de Software e Ingeniería del Conocimiento . Jurmala, Letonia. CiteSeerX 10.1.1.52.9389 . 
  13. ^ Rolland, C.; Plihon, V. (1996). "Uso de fragmentos de métodos genéricos para generar fragmentos de modelos de procesos". Actas de la Segunda Conferencia Internacional sobre Ingeniería de Requisitos . págs. 173–180. doi :10.1109/ICRE.1996.491442. ISBN. 978-0-8186-7252-1. Número de identificación S2CID  2500090.
  14. ^ abc Letizia Jaccheri y Jens-otto Larsen y Reidar Conradi (1992). "Modelado y evolución de procesos de software en EPOS" (PDF) . IEEE Transactions on Software Engineering . 19 (12): 1145–1156. CiteSeerX 10.1.1.53.493 . doi :10.1109/32.249660. 
  15. ^ V. Ambriola, ML Jaccheri, Definición y aplicación de las entidades de software Oikos, Actas del primer taller europeo sobre modelado de procesos de software, Milán, Italia, 1991
  16. ^ S. Bandinelli; A. Fugetta; S. Grigoli (1993). "Modelado de procesos a gran escala con SLANG (1993)". Actas de la 2.ª Conferencia Internacional sobre Procesos de Software . Berlín. págs. 75–93. CiteSeerX 10.1.1.31.9650 . {{cite book}}: CS1 maint: location missing publisher (link)
  17. ^ W. Emmerich, G. Junkermann, W Schafer, MERLIN: modelado de procesos basado en conocimiento, Actas del Primer Taller Europeo sobre Modelado de Procesos de Software, Milán, Italia, 1991.
  18. ^ Derniame, JC, Benali, K., Charoy, F., Boudjlida, N., Godart, C. (1989). "Presentación del proyecto ALF, Actas de la Conferencia sobre entornos y fábricas de desarrollo de software". Berlín. hdl :10068/43710. {{cite journal}}: Requiere citar revista |journal=( ayuda )CS1 maint: multiple names: authors list (link)
  19. ^ GE Kaiser; et al. (1988). "Soporte de bases de datos para entornos de ingeniería basados ​​en el conocimiento". IEEE Expert . 3 (2): 18–32. doi :10.1109/64.2102. S2CID  12499409.
  20. ^ N. Belkhatir; WL Melo (1994). "Apoyo a los procesos de desarrollo de software en Adele2". Revista informática . 37 (7): 621–628. doi : 10.1093/comjnl/37.7.621 .
  21. ^ ab Ingeniería de sistemas de información avanzada . Apuntes de clase sobre informática. Vol. 1080. Heidelberg: Springer. 1996. págs. 1–21. doi :10.1007/3-540-61292-0. ISBN 978-3-540-61292-6. Número de identificación del sujeto  27968437.
  22. ^ Harmsen, F.; Brinkkemper, S. (1995). "Diseño e implementación de un sistema de gestión de base de métodos para un entorno CASE situacional". Actas de la Conferencia de Ingeniería de Software de Asia Pacífico de 1995. págs. 430–438. doi :10.1109/APSEC.1995.496992. ISBN 978-0-8186-7171-5.S2CID16914451  .​
  23. ^ ab G. Merbeth. Maestro II- das intergrierte CASE-system von Softlab, CASE systeme and Werkzeuge (Ed. H. Balzert) BI Wissenschaftsverlag, pp 319-336, 1991
  24. ^ abc Si-Said, Samira; Rolland, Colette (1997). "Guía para procesos de ingeniería de requisitos". Aplicaciones de bases de datos y sistemas expertos (PDF) . Apuntes de clase en informática. Vol. 1308. Heidelberg: Springer. págs. 643–652. doi :10.1007/BFb0022072. ISBN. 978-3-540-63478-2.
  25. ^ C. Rolland (10 al 13 de junio de 1997). "Introducción a la ingeniería de métodos". Actas de la Conferencia INFORSID (INFormatique des Organizations et Systemes d'Information et de Decision), Toulouse, Francia . Chapman y Hall. págs. 1–7. ISBN 978-0-412-79750-7.
  26. ^ Hagelstein, J (1988). "Enfoque declarativo para los requisitos de los sistemas de información". Knowledge-Based Systems . 1 (4): 211–220. doi :10.1016/0950-7051(88)90031-7.
  27. ^ E. Dubois; J. Hagelstein; A. Rifaut (1989). “Ingeniería de Requisitos Formales con ERAE”. Investigación de la revista Philips . 43 (4).
  28. ^ Haumer, P.; Pohl, K.; Weidenhaupt, K. (1998). "Obtención y validación de requisitos con escenarios del mundo real". IEEE Transactions on Software Engineering . 24 (12): 1036. doi :10.1109/32.738338.
  29. ^ Sutcliffe, AG; Maiden, NAM; Minocha, S.; Manuel, D. (1998). "Apoyo a la ingeniería de requisitos basada en escenarios". IEEE Transactions on Software Engineering . 24 (12): 1072. doi :10.1109/32.738340.
  30. ^ E. Dubois; P. Heymans (1998). "Técnicas basadas en escenarios para apoyar la elaboración y validación de requisitos formales". Requirement Eng J. 3 ( 3–4): 202–218. CiteSeerX 10.1.1.45.4151 . doi :10.1007/s007660050005. S2CID  2471719. 
  31. ^ J. Ralyté; C. Rolland; V. Plihon (junio de 1999). "Mejora de métodos mediante técnicas basadas en escenarios". Actas de la 11.ª conferencia sobre ingeniería de sistemas de información avanzados, Heidelberg, Alemania . Londres: Springer-Verlag. págs. 103-118. ISBN 978-3-540-66157-3.
  32. ^ Jacobson, Ivar (1992). Ingeniería de software orientada a objetos: un enfoque basado en casos de uso. ACM Press. ISBN 978-0-201-54435-0.
  33. ^ Diccionario francés Le Petit Robert, Dictionnaires Le Robert, Francia, 1995
  34. ^ Rolland, C (1995). "Un enfoque para definir formas de trabajo". Sistemas de información . 20 (4): 337–359. doi :10.1016/0306-4379(95)00018-Y.
  35. ^ G. Grosz, C. Rolland , S. Schwer y otros (1997). "Modelado e ingeniería del proceso de ingeniería de requisitos: una descripción general del enfoque NATURE". Requirements Eng J. 2 ( 3): 115–131. doi :10.1007/BF02802771. S2CID  7672233.{{cite journal}}: CS1 maint: multiple names: authors list (link)