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.