{'fraction_non_alphanumeric': 0.01026811180832858, 'fraction_numerical': 0.0, 'mean_word_length': 5.772200772200772, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Quantitative analysis of software architectures

Quantitative analysis of software systems is a critical issue in the development of applications for heterogeneous distributed and mobile systems. It has been recognised that performance analysis should be integrated in the software development life cycle since the early stages. We focus on quantitative analysis of software architectures (SA) and in particular on performance models and languages to represent, evaluate and predict performance characteristics in the software development life cycle. We consider SA to describe both the structure and the behavior of software systems at a high level of abstraction, and we present and compare some different approaches and models for quantitative analysis of SA. We consider both approaches based on the study and definition of languages and notations to formulate quantitative requirements early in the software life-cycle, and methods that identify and develop performance evaluation models that can offer an high degree of integration with functional analysis models. The proposed approaches are based on Stochastic Process Algebras, Queueing Network Models and their extensions, and Markovian models, respectively. They allow the definition and modelling of various characteristics of distributed and mobile software systems and the derivation of appropriate quantitative models to evaluate significant system performance indices. We present a discussion of the relative merit of the various approaches and open problems of ongoing research in the field. The presented approaches have been developed in the framework of the Italian National Research project SALADIN on Software Architecture and Languages to coordinate Distributed Mobile components.