Exploratory Modeling of Software Performance on Message-Oriented Middleware - Flores-González, Martín; Trejos-Zelaya, Ignacio; Garita, César (Universidad Pedagógica y Tecnológica de Colombia, 2020)
Performance is an important quality attribute in a software system. Software Performance Engineering comprises analysis, design, construction, measurement and validation concerning performance requirements during software development processes. Performance in software systems using message-based communication depends mostly on the Message-Oriented Middleware (MOM). Software architects need to consider MOM’s organization, configuration and usage details to get meaningful predictions about the behavior of a software system that uses such platform. When including MOM in software architecture, it is required to foresee the impact of messaging and its underlying infrastructure. Software architects may omit the MOM influence, which could lead to wrong predictions. In this article, we explore MOM’s influence through the Palladio Component Model – PCM, a component-based modeling and simulation approach. An application previously modeled with PCM was adapted to include message-oriented communication. Simulations over the model, systematic measurements, and load testing on the adapted application were performed, in order to determine how the changes in the model influenced the prediction of the application’s behavior on performance and reliability. A bottleneck that impacts performance and reliability of the original system was identified.  Introducing MOM improved the system’s reliability but harmed its performance.  Component-based performance simulation revealed significant differences with measurements obtained during the load testing experiments.