Abstract
Attribute-driven software architecture design aims to provide decision support by taking into account the quality attributes of softwares. A central question in this process is: What architecture design best fulfills the desirable software requirements? To answer this question, a system designer needs to make tradeoffs among several potentially conflicting quality attributes. Such decisions are normally ad-hoc and rely heavily on experiences. We propose a mathematical approach to tackle this problem. Game theory naturally provides the basic language: Players represent requirements, and strategies involve setting up coalitions among the players. In this way we propose a novel model, called decomposition game (DG), for attribute-driven design. We present its solution concept based on the notion of cohesion and expansion-freedom and prove that a solution always exists. We then investigate the computational complexity of obtaining a solution. The game model and the algorithms may serve as a general framework for providing useful guidance for software architecture design. We present our results through running examples and a case study on a real-life software project.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Alebrahim, A., Hatebur, D., Heisel, M.: A method to derive software architectures from quality requirements. In: Software Engineering Conference (APSEC), 2011 18th Asia Pacific, pp. 322–330. IEEE (2011)
Banerjee, S., Konishi, H., Sönmez, T.: Core in a simple coalition formation game. Soc. Choice Welf. 18(1), 135–153 (2001)
Bass, L.: Software Architecture in Practice. Pearson Education India, Gurgaon (2007)
Bass, L., Klein, M., Moreno, G.: Applicability of general scenarios to the architecture tradeoff analysis method (No. CMU/SEI-2001-TR-014). Carnegie-Melon University, Software Engineering Institute (2001)
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, p. 169. Springer, Heidelberg (2002)
Branzei, R., Dimitrov, D., Tijs, S.: Models in Cooperative Game Theory, vol. 556. Springer Science & Business Media, Heidelberg (2015)
Bogomolnaia, A., Jackson, M.: The stability of hedonic coalition structures. Games Econ. Behav. 38, 201–230 (2002)
Garlan, D.: Formal modeling and analysis of software architecture: components, connectors, and events. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 1–24. Springer, Heidelberg (2003)
Kazman, R., Klein, M., Barbacci, M., Longstaff, T., Lipson, H., Carriere, J.: The architecture tradeoff analysis method. In: ICECCS1998 Proceedings of Fourth IEEE International Conference on Engineering of Complex Computer Systems, pp. 68–78. IEEE, August 1998
Lung, C.H., Xu, X., Zaman, M.: Software architecture decomposition using attributes. Int. J. Softw. Eng. Knowl. Eng. 17(05), 599–613 (2007)
Papadimitriou, C.: Algorithms, games, and the internet. In: Proceedings of STOC 2001, pp. 749–753. ACM, July 2001
Roughgarden, T., Tardos, E., Vazirani, V.V.: Algorithmic Game Theory, vol. 1. Cambridge University Press, Cambridge (2007)
Shoham, Y., Leyton-Brown, K.: Multiagent systems: Algorithmic, Game-Theoretic, and Logical Foundations. Cambridge University Press, Cambridge (2008)
Wiegers, K., Beatty, J.: Software Requirements. Pearson Education, Noida (2013)
Wojcik, R., Bachmann, F., Bass, L., Clements, P., Merson, P., Nord, R., Wood, B.: Attribute-Driven Design (ADD), Version 2.0 (No. CMU/SEI-2006-TR-023). Carnegie-Melon University, Software Engineering Institute (2006)
Woods, E., Hilliard, R.: Architecture Description Languages in Practice Session Report. 5th Working IEEE/IFIP Conference on Software Architecture (WICSA 2005), p. 243 (2005)
Zhu, L., Aurum, A., Gorton, I., Jeffery, R.: Tradeoff and sensitivity analysis in software architecture evaluation using analytic hierarchy process. Softw. Q. J. 13(4), 357–375 (2005)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Liu, J., Wei, Z. (2015). A Game of Attribute Decomposition for Software Architecture Design. In: Leucker, M., Rueda, C., Valencia, F. (eds) Theoretical Aspects of Computing - ICTAC 2015. ICTAC 2015. Lecture Notes in Computer Science(), vol 9399. Springer, Cham. https://doi.org/10.1007/978-3-319-25150-9_26
Download citation
DOI: https://doi.org/10.1007/978-3-319-25150-9_26
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-25149-3
Online ISBN: 978-3-319-25150-9
eBook Packages: Computer ScienceComputer Science (R0)