Modelado exploratorio del rendimiento y la confiabilidad de software sobre middleware orientado a mensajes
Exploratory Modeling of Software Performance on Message-Oriented Middleware
El rendimiento es un importante atributo de calidad de un sistema de software. La Ingeniería de rendimiento del software comprende las actividades de análisis, diseño, construcción, medición y validación, que atienden los requerimientos de rendimiento a lo largo del proceso de desarrollo de software. En los sistemas de software que utilizan comunicación basada en mensajes, el rendimiento depende en gran medida del middleware orientado a mensajes (Message-Oriented Middleware –MOM). Los arquitectos de software necesitan considerar su organización, configuración y uso para predecir el comportamiento de un sistema que use tal plataforma. La inclusión de un MOM en una arquitectura de software requiere conocer el impacto de la mensajería y de la infraestructura utilizada. Omitir la influencia del MOM llevaría a la generación de predicciones erróneas. En este artículo se explora tal influencia, mediante el modelado y la simulación basados en componentes, utilizando el enfoque Palladio Component Model –PCM. En particular, una aplicación modelada en PCM fue adaptada para incluir comunicación basada en mensajes. Las simulaciones sobre el modelo, mediciones sistemáticas y pruebas de carga sobre la aplicación permitieron determinar cómo cambios introducidos en el modelo influyen en las predicciones del comportamiento de la aplicación en cuanto a rendimiento y confiabilidad. Fue posible identificar un cuello de botella que impacta negativamente el rendimiento y la confiabilidad del sistema original. La introducción de MOM mejoró la confiabilidad del sistema, a expensas del rendimiento. La simulación del rendimiento basado en componentes reveló diferencias significativas respecto de los experimentos basados en pruebas de carga y mediciones.
I. INTRODUCCIÓN
Los métodos de predicción de rendimiento basados en modelos permiten a los arquitectos de software evaluar el desempeño de los sistemas de software durante las primeras etapas de desarrollo [1]. Tales modelos se centran en los aspectos relevantes de la arquitectura y de la lógica del negocio, dejando de lado detalles de la infraestructura subyacente. Sin embargo, estos detalles son esenciales para generar predicciones de rendimiento precisas.
La capacidad de predecir las propiedades de un artefacto con base en su diseño, sin necesidad de construirlo, es una de las características centrales de una disciplina de ingeniería [2]. En contraste con esa visión, la ingeniería del software apenas califica como una disciplina de ingeniería [3-4]: los ingenieros de software suelen carecer del entendimiento sobre el impacto de sus decisiones de diseño en los atributos de calidad, como rendimiento o confiabilidad. Como resultado, se intenta determinar la calidad del software mediante onerosos ciclos de prueba y error.
Recursos
-
Formatopdf
-
Idioma:español
-
Tamaño:441 kb