A model-driven method for the design-time performance analysis of service-oriented software systems
|Title||A model-driven method for the design-time performance analysis of service-oriented software systems|
|Year of Publication||2015|
|Authors||Bocciarelli, P., and Andrea D'Ambrogio|
|Series Title||Modeling and Simulation of Computer Networks and Systems: Methodologies and Applications|
|Number of Pages||425-450|
|ISBN Number||9780128011584; 9780128008874|
Service-oriented architecture (SOA) is one of the prominent architectural paradigms recently adopted in the software development field. According to SOA principles, a distributed software system can be seen as an orchestration of software services deployed and executed onto networked hosts. The design-time analysis of SOA-based software systems demands new approaches that take into account both the inherent complexity and the architectural characteristics of such systems. In this respect, simulation-based approaches have proven to be effective to obtain quantitative predictions of system performance. Specifically, this chapter explains distributed simulation as a valuable technique to deal with the intrinsic distributed nature of SOA-based systems. Unfortunately, the adoption of distributed simulation requires a significant expertise and a considerable effort due to the complexity of currently available distributed simulation standards and technologies. This chapter introduces an automated method to reduce the effort and make distributed simulation easier to use. The method takes as input a design model of the SOA-based software system and yields as output the corresponding simulation model, ready to be deployed and transparently executed onto either a local or a distributed simulation engine. The design model is specified as a UML (Unified Modeling Language) model extended by use of the SoaML (Service-oriented architecture Modeling Language) profile, while the simulation model is specified in jEQN, a domain-specific language for the simulation of EQN (Extended Queueing Network) models. jEQN is part of SimArch, a layered architecture that eases the use of distributed simulation by hiding all the implementation details of the distributed execution platform. The proposed method is founded on the use of automated model transformations, with specific reference to standards and languages provided by the MDA (Model Driven Architecture). The joint use of automated model transformations and SimArch allows the user to effortlessly obtain, at design time, the performance-oriented distributed simulation model of the SOA-based system under development, thus giving system designers the ability to predict the performance behavior of the to-be system and/or to evaluate the impact on performance of different design alternatives. The chapter also presents an example application that shows how involved stakeholders can effectively benefit from the application of the proposed method. © 2015 Elsevier Inc. All rights reserved.