Automating Architecture Trade-Off Decision Making through a Complex Multi-attribute Decision Process
A typical software architecture design process requires the architects to make various trade-off architecture decisions. The architects need to consider different possibilities and combinations of tactics and patterns to satisfy the elicited quality scenarios of the intended software system, some of which may be conflicting or inconsistent in nature. The formation of the correct composition of these elements of architecture decisions for the satisfaction of the quality scenarios can be considered an important art of the architect; however, in cases where the architect is dealing with multiple stakeholders with inconsistent preferences, this can be an awkward task. In this paper, we formalize this process as a complex multi-attribute decision making procedure within the Attribute Driven Design methodology. In such a context, we are able to incrementally elicit the communal preferences of the stakeholders with regards to the available quality scenarios and hence assist the software architect in methodically making the architecture decisions with the highest expected utility for the stakeholders.We will also introduce our implementation of a decision support system, which embodies the methods proposed in this paper, along with a case study.
KeywordsDecision Support System Software Architecture Optimal Decision Preference Elicitation Gaussian Probability Distribution
Unable to display preview. Download preview PDF.
- 1.Bachmann, F., Bass, L., Klein, M.: Preliminary design of arche: A software architecture design assistant. Tech. rep., Software Engineering Institute Carnegie Mellon (2003)Google Scholar
- 2.Bass, L., Clements, P., Kazman, R.: Software architecture in practice. Addison-Wesley Longman Publishing Co., Boston (1998)Google Scholar
- 5.Celiku, O., Garlan, D., Schmerl, B.: Augmenting architectural modeling to cope with uncertainty. In: Proceedings of the International Workshop on Living with Uncertainties (IWLU 2007), co-located with the 22nd International Conference on Automated Software Engineering (ASE 2007), Atlanta, GA, USA, November 5 (2007), http://godzilla.cs.toronto.edu/IWLU/program.html
- 6.Chajewska, U., Koller, D., Parr, R.: Making rational decisions using adaptive utility elicitation. In: Proceedings of the Seventeenth National Conference on Artificial Intelligence and Twelfth Conference on Innovative Applications of Artificial Intelligence, pp. 363–369. AAAI Press / The MIT Press (2000)Google Scholar
- 9.Poladian, V., Shaw, M., Garlan, D.: Modeling uncertainty of predictive inputs in anticipatory dynamic configuration. In: Proceedings of the International Workshop on Living with Uncertainties (IWLU 2007), co-located with the 22nd International Conference on Automated Software Engineering (ASE 2007), Atlanta, GA, USA, November 5 (2007), http://godzilla.cs.toronto.edu/IWLU/program.html