Modelado y Verificación de Patrones de Diseño de Arquitectura de Software para Entornos de Computación en la Nube

Diseño de Arquitecturas para Servicios de Software

El diseño arquitectónico es un proceso creativo en el que se intenta establecer una organización de los componentes del sistema de software que satisfaga tanto los requerimientos funcionales como los requerimientos no funcionales

El proceso de evaluación de este tipo de diseños no debe centrarse en la aplicación de una única métrica universal (inexistente), sino que debe cuantificar atributos individuales para, luego, realizar una compensación sobre las métricas obtenidas

el paradigma de CC es un modelo que habilita acceso a Internet bajo demanda de forma conveniente y generalizada

En el caso del diseño arquitectónico asociado a las aplicaciones web

el proceso creativo requiere de arquitectos especializados en el entorno de CC que sean capaces de formular soluciones factibles

Patrones de Diseño Arquitectónico

o define una familia de sistemas en base a un
esquema de organización estructural

Bajo esta perspectiva,
los patrones arquitectónicos pueden ser vistos como los bloques constructivos básicos de las arquitecturas de software.

Decisiones Arquitectónicas

es una descripción del conjunto de agregados, eliminaciones
y modificaciones realizadas sobre una arquitectura de software

en términos generales, una decisión arquitectónica es la salida que se genera durante un proceso de diseño arquitectónico en cualquier fase de trabajo

Entorno de Diseño Integrado para Arquitecturas Web

consiste en un módulo conceptual denominado metamodelo arquitectónico

metamodelo arquitectónico que define el vocabulario de elementos disponibles para la creación de arquitecturas de CC

Un metamodelo puede definirse como “un modelo de un modelo”.

Metamodelo de Componentes Arquitectónicos

En virtud de obtener un conjunto acotado de elementos que facilite la definición de arquitecturas de CC a nivel de componentes de software, el metamodelo diseñado se basa en el estudio de múltiples patrones de diseño de CC

De esta manera, los componentes 10 RISTI, N.º 35, 12/2019
Modelado y Verificación de Patrones de Diseño de Arquitectura de Software para Entornos de Computación en la Nube y conectores identificados como parte del modelo posibilitan la instanciación de arquitecturas factibles de ser implementadas en entornos de CC.

El modelo UML se divide en cuatro grupos de descripción, a saber: aplicación en la nube (cloud application description), descomposición basada en capas (layer decomposition description), componentes arquitectónicos (architectural components description) y estado de componentes (components state description).

El objetivo de una descripción arquitectónica es brindar un mecanismo de soporte alproceso de diseño.

Evaluación de Instancia: Verificación de Patrones de Diseño

verificar la consistencia de los diseños instanciados según los patrones arquitectónicos

cuando la herramienta permite instanciar arquitecturas de CC válidas en base a los elementos y las reglas impuestas, es deseable incorporar información referida a los patrones de diseño utilizados.

se incorporaron invariantes OCL que ayudan

propuestos en el nivel Cloud Application

se realiza automáticamente mediante una opción del menú que comprueba las invariantes OCL sobre el conjunto de instancias creadas por el arquitecto.

Luego, por medio de la verificación de los patrones de diseño, se provee un primer mecanismo de evaluación de arquitecturas de CC en términos de las características
conocidas de los esquemas de diseño aplicados.

Conclusiones y Trabajos Futuros

Teniendo en cuenta que el paradigma de CC se ha convertido rápidamente en una de las estrategias de solución tecnológica más populares e influyentes del mundo actual.

Sobre este metamodelo, se han implementado los módulos de instanciación y verificación de patrones de diseño, tendientes a componer el entorno final.

Para la especificación del módulo decisiones arquitectónicas, se tomará como base el modelo de gestión de conocimiento propuesto en (Roldán, Gonnet & Leone, 2016)

captura las operaciones ejecutadas junto con los elementos arquitectónicos que se operaron, los resultados obtenidos y los objetivos a cumplir.