Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bachmann, F., Bass, L., Klein, M.: Preliminary design of arche: A software architecture design assistant. Tech. rep., Software Engineering Institute Carnegie Mellon (2003)
Bass, L., Clements, P., Kazman, R.: Software architecture in practice. Addison-Wesley Longman Publishing Co., Boston (1998)
Bass, L.J., Klein, M., Bachmann, F.: Quality attribute design primitives and the attribute driven design method. In: van der Linden, F.J. (ed.) PFE 2002. LNCS, vol. 2290, pp. 169–186. Springer, Heidelberg (2002)
Brown, A.W., McDermid, J.A.: The Art and Science of Software Architecture. In: Oquendo, F. (ed.) ECSA 2007. LNCS, vol. 4758, pp. 237–256. Springer, Heidelberg (2007)
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
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)
Fishburn, P.C.: Utility theory for decision-making. Wiley, New York (1970)
Pearson, E.S., Tukey, J.W.: Approximate means and standard deviations based on distances between percentage points of frequency curves. Biometrika 52(3-4), 533–546 (1965)
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
Shaw, M., Clements, P.C.: The golden age of software architecture. IEEE Software 23(2), 31–39 (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Makki, M., Bagheri, E., Ghorbani, A.A. (2008). Automating Architecture Trade-Off Decision Making through a Complex Multi-attribute Decision Process. In: Morrison, R., Balasubramaniam, D., Falkner, K. (eds) Software Architecture. ECSA 2008. Lecture Notes in Computer Science, vol 5292. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-88030-1_20
Download citation
DOI: https://doi.org/10.1007/978-3-540-88030-1_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-88029-5
Online ISBN: 978-3-540-88030-1
eBook Packages: Computer ScienceComputer Science (R0)