Since 2005 when Anton Jansen and Jan Bosch [3] gave a modern definition of Software Architecture as a composition of a set of explicit design decisions, a new perspective concerning software architectures design decisions, quality and goals evaluations have been dominating the scientific literature in this field. Designing the software architecture of non-trivial systems belonging to several application domains, namely industrial automation, defense telecommunication, financial services, and so on, is not an easy task, and requires highly skilled and experienced people. Beyond these, new challenges in the design and in architectural models are derived from self-managing and self-adaptive capabilities that are typical of many modern and emerging software systems, including the industrial Internet of Things, cyber-physical systems, cloud computing, and mobile computing. The satisfaction of quality requirements and the appropriate options for future changes are among the major goals of software architectures. In defining and modeling software architecture through patterns, a challenging issue is also concerned with the number of different available decisions depending on the fact that patterns can cooperate, are composable, are complementary or exclusive with respect to a given problem.
['Francesco Nocera']
Fuzzy ontology-driven web-based framework for supporting architectural design: student research abstract