Multilevel Context-Aware Software Architecture Decision Framework with Probabilistic Graphical Models
Petrov, Plamen P.
MetadataShow full item record
The thesis describes (1) our research in the area of software architecture, (2) the problems with the current practices that we have identified, (3) the inventions we have made to solve those problems, (4) the empirical case studies we have made to validate our approach, (5) the tools and supporting models we have developed to enable our solution, (6) insights and conclusions from our research and experiments, and (7) suggestions to extend our research in the future. The problem we researched is: why do otherwise technically sound software architecture decisions and designs fail to achieve the expected outcomes and prove to be inappropriate? Our breakthrough insight is that contextual environment factors that are not associated with software architecture and are easily overlooked by software architects are the culprit. We also realized that those contextual factors are not easily captured as requirements, and are not easily modeled using existing structural decomposition engineering design methods. First we split out the contextual analysis phase as a separate macro-architectural level. Then we looked at decision analysis for ideas and introduced an innovative approach reframing the contextual environment analysis as a decision theory problem. Then we modeled it by adapting methods and tools from decision analysis, more specifically developing a Probabilistic Macro-Architecture Decision Framework based on Bayesian Networks (BN) and Decision Networks (DN) to handle the inherent uncertainty and complexity of the problem . We developed several working models using a Bayesian Networks tool that enabled us to perform empirical validation of our research. We reported on the outcomes of the validation case studies that we performed. Finally we recommended future extensions to our research based on machine learning and data mining techniques to further contribute to the theory and practice of software architecture.
Probabilistic Graphical Model