Author Identifiers

Ahmad Mohsin

Date of Award


Degree Type


Degree Name

Doctor of Philosophy


School of Science

First Advisor

Naeem Khalid Janjua

Second Advisor

Syed Mohammed Shamsul Islam

Third Advisor

Martin Masek

Fourth Advisor

Ali Babar


Context: A System of Systems (SoS) is a large-scale distributed system that achieves global missions through the collaboration of autonomous Constituent Systems (CSs). Hence, an SoS is a complex, dynamic system whose CSs are not known precisely at design time, and the environment in which it operates is uncertain. The behavior of an SoS is unpredictable due to underlying architectural characteristics such as autonomy and independence. Moreover, unknown conditions and the volatility under which an SoS operates have significant effects on crucial Quality Attributes (QAs) such as performance, reliability, and security. Hence, SoS is a non-deterministic system whose structure and behavior must be modeled and analyses qualitatively and quantitatively to foresee any potential impact on the SoS attributes critical for achieving the missions.

Problem: Software Architecture (SA) plays a vital role in the design and development of complex, software-intensive systems that achieve high quality performance by satisfying both the functionalities and the QAs. In this regard, architecture modelling languages are used to represent SA at design time, producing abstract models that can be used for analysis at run-time. The SA descriptions facilitate the communication among stakeholders to validate the design of SoS during the early stages of the life cycle. However, most of the existing modelling specifications have certain limitations when it comes to representing SoS architectures descriptions because they: (i) are able to describe deterministic behaviors and structures of known single systems only; (ii) do not have the expressive power to specify and reason SoS emergent behavior with the ability to constrain SoS uncertainties; (iii) lack essential capabilities to manage SoS architectural characteristics such as dynamic interactions of CSs and SoS evaluation; and (iv) do not provide essential formal foundations enabling architecture models to be used for architectural analysis at later stages, thereby failing to ensure architectural consistency and correctness between abstract models and implementation models. As a result, SoS architecture models cannot give predictive insights into the systems; therefore, SoS architectural evaluations are insufficient to verify and validate the stochastic nature of SoS and ensure that it conforms to the stated requirements.

Objectives: In order to overcome these issues, this thesis proposes a stochastic SA modelling and analysis framework for SoS. The core contributions of this thesis are: (i) the formulation of Hybrid Stochastic Formalism (HSF) for describing stochastic structures and emergent behaviours using Model-Driven Engineering (MDE), (ii) the specification and reasoning of CSs uncertainties when interacting with architectural elements at design time, (iii) the use of a combination of formal transformation rules and MDE to map formal abstract models to concrete models for performing architecture evaluations, (iv) the use of stochastic model checking as software architecture verification of stochastic SoS architecture models, and (v) the use of Markovian Discrete Events Specifications to validate SoS dynamics as software architecture simulations.

Contributions: The main contributions of this thesis are fourfold. Firstly, it introduces hybrid formalism which is capable of producing stochastic software architecture models as Markov Chains. Secondly, the stochastic models from the abstract architecture are evaluated for the first time both for verification and validation purposes, providing predictive insights into SoS missions and their QAs. Thirdly, SoS dynamics and evolution are analysed by means of abstract models with formal transformation rules that ensure architectural consistency and correctness. Fourthly, predictive architecture analysis offers various insights to stakeholders, including software architects, enabling them to make informed decisions early in the life cycle of SoS design.

Results: A number of case studies of a Fire Monitoring Emergency Response SoS are designed to evaluate the proposed approach. The Fire Monitoring system exhibits all the core properties of an SoS as it is composed of independent CSs and operates in uncertain conditions to achieve global missions in a collaborative manner. The results show that the proposed methodology supports high-quality SoS SA models to (i) manage the stochastic dynamics of SoS dealing with structural and behavioral uncertainties, (ii) minimize operational failures by providing correct and precise architectural descriptions for achieving missions (iii) support evaluations with predictions of SoS functionalities and QAs at design time, and (iv) design software architecture models ensuring high quality.

Available for download on Thursday, May 18, 2023