International Colloquium on Theoretical Aspects of Computing

Theoretical Aspects of Computing - ICTAC 2015 pp 445-463 | Cite as

A Game of Attribute Decomposition for Software Architecture Design

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9399)

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.

Keywords

Software architecture Coalition game Decomposition game 

References

  1. 1.
    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)Google Scholar
  2. 2.
    Banerjee, S., Konishi, H., Sönmez, T.: Core in a simple coalition formation game. Soc. Choice Welf. 18(1), 135–153 (2001)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Bass, L.: Software Architecture in Practice. Pearson Education India, Gurgaon (2007)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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) CrossRefGoogle Scholar
  6. 6.
    Branzei, R., Dimitrov, D., Tijs, S.: Models in Cooperative Game Theory, vol. 556. Springer Science & Business Media, Heidelberg (2015) MATHGoogle Scholar
  7. 7.
    Bogomolnaia, A., Jackson, M.: The stability of hedonic coalition structures. Games Econ. Behav. 38, 201–230 (2002)MathSciNetCrossRefMATHGoogle Scholar
  8. 8.
    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) CrossRefGoogle Scholar
  9. 9.
    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 1998Google Scholar
  10. 10.
    Lung, C.H., Xu, X., Zaman, M.: Software architecture decomposition using attributes. Int. J. Softw. Eng. Knowl. Eng. 17(05), 599–613 (2007)CrossRefGoogle Scholar
  11. 11.
    Papadimitriou, C.: Algorithms, games, and the internet. In: Proceedings of STOC 2001, pp. 749–753. ACM, July 2001Google Scholar
  12. 12.
    Roughgarden, T., Tardos, E., Vazirani, V.V.: Algorithmic Game Theory, vol. 1. Cambridge University Press, Cambridge (2007) MATHGoogle Scholar
  13. 13.
    Shoham, Y., Leyton-Brown, K.: Multiagent systems: Algorithmic, Game-Theoretic, and Logical Foundations. Cambridge University Press, Cambridge (2008)CrossRefMATHGoogle Scholar
  14. 14.
    Wiegers, K., Beatty, J.: Software Requirements. Pearson Education, Noida (2013) Google Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    Woods, E., Hilliard, R.: Architecture Description Languages in Practice Session Report. 5th Working IEEE/IFIP Conference on Software Architecture (WICSA 2005), p. 243 (2005)Google Scholar
  17. 17.
    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)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.School of Computer and Mathematical SciencesAuckland University of TechnologyAucklandNew Zealand

Personalised recommendations