A framework for managing uncertainty in software architecture

Chawanangwa Lupafya · 2019

Software architecture records key decisions about software systems. Changes to architecture decisions can, therefore, have significant costs. One of the main causes of architecture changes is uncertainty, which is an inherent feature in open, real-world software systems. We hypothesise that capturing uncertainties, as far as they can be predicted, pertaining to structure, behaviour and resources of systems in software architecture and treating them as first-class concerns, would make architecture decisions more resilient to change. Explicitly considering and representing uncertainty in architecture can help developers design for change and minimise architecture erosion as changes invariably occur. In this PhD project, we aim to develop a conceptual framework for the management of uncertainty in software architecture. The conceptual framework will be realised in the form of a workbench of tools for managing uncertainty at the architectural level. The effectiveness of the framework and the workbench will be evaluated using case studies. An ideal case study for evaluation will demonstrate different aspects of uncertainty in software architecture. Potential domains under consideration for case studies include wireless sensor networks and health care systems.

Read the paper · More papers on PaperTik