Performance Modeling and Analysis of Software Architectures Specified Through Graph Transformations - Naddaf, Mahdi Rahimi; Rafe, Vahid (Computing and Informatics, 2014)
Software architecture plays an important role in the success of modern, large and distributed software systems. For many of the software systems – especially safety-critical ones – it is important to specify their architectures using formal modeling notations. In this case, it is possible to assess different functional and non-functional properties on the designed models. Graph Transformation System (GTS) is a formal yet understandable language which is suitable for architectural modeling. Most of the existing works done on architectural modeling and analysis by GTS are concentrated on functional aspects, while for many systems it is crucial to consider non-functional aspects for modeling and analysis at the architectural level. In this paper, we present an approach to performance analysis of software architectures specified through GTS. To do so, we first enrich the existing architectural style – specified through GTS - with performance information. Then, the performance models are generated in PEPA (Performance Evaluation Process Algebra) – a formal language based on the stochastic process algebra – using the enriched GTS models. Finally, we analyze different features like throughput, utilization of different software components, etc. on the generated performance models. All the main concepts are illustrated through a case study.