Journal on Software and Systems Modeling manuscript No. (will be inserted by the editor) Modeling Event-based Communication in Component-based Software Architectures for Performance Predictions Christoph Rathfelder 1 , Benjamin Klatt 1 , Kai Sachs 2 , Samuel Kounev 3 1 FZI Research Center for Information Technology Karlsruhe, Germany {rathfelder; klatt}@fzi.de 2 SAP AG Walldorf, Germany kai.sachs@sap.com 3 Karlsruhe Institute of Technology (KIT) Karlsruhe, Germany kounev@kit.edu Received: date / Revised version: date Abstract Event-based communication is used in dif- ferent domains including telecommunications, transporta- tion, and business information systems to build scal- able distributed systems. Such systems typically have stringent requirements for performance and scalability as they provide business and mission critical services. While the use of event-based communication enables loosely- coupled interactions between components and leads to improved system scalability, it makes it much harder for developers to estimate the system’s behavior and perfor- mance under load due to the decoupling of components and control flow. In this paper, we present our approach enabling the modeling and performance prediction of event-based systems at the architecture level. Apply- ing a model-to-model transformation, our approach in- tegrates platform-specific performance influences of the underlying middleware while enabling the use of differ- ent existing analytical and simulation-based prediction techniques. In summary the contributions of this paper are: i) the development of a meta-model for event-based communication at the architecture level, ii) a platform aware model-to-model transformation, and iii) a detailed evaluation of the applicability of our approach based on two representative real-world case studies. The results demonstrate the effectiveness, practicability and accu- racy of the proposed modeling and prediction approach. This work was partially funded by the German Research Foundation (grant No. KO 3445/6-1) 1 Introduction The event-based communication paradigm is used in- creasingly often to build loosely-coupled distributed sys- tems in many different industry domains. The applica- tion areas of event-based systems range from distributed sensor-based systems up to large-scale business infor- mation systems [24]. Compared to synchronous com- munication using, for example, remote procedure calls (RPC), event-based communication among components promises several benefits such as high scalability and ex- tendability [25]. Being asynchronous in nature, it allows a send-and-forget approach, i.e., a component that sends a message can continue its execution without waiting for the receiver to react on the message. Furthermore, the loose coupling of components achieved by the mediating middleware system leads to an increased extensibility of the system as components can easily be added, removed, or substituted. With the growing proliferation of event-based com- munication in mission critical systems, the performance and scalability of such systems are becoming a major concern. To ensure adequate Quality-of-Service (QoS), it is essential that applications are subjected to a rigorous performance and scalability analysis as part of the soft- ware development process. In today’s data centers, soft- ware systems are often deployed on server machines with over-provisioned capacity in order to guarantee highly available and responsive operation [28], which automati- cally leads to lower efficiency. Although the event-based communication model promises to improve flexibility and scalability, the complexity compared to direct RPC-based communication is higher since the application logic is distributed among multiple independent event handlers with decoupled and parallel execution paths. This in-