Concurrency design patterns, software quality attributes and their tactics

  • Authors:
  • Jiang Zheng;K. Eric Harper

  • Affiliations:
  • Industrial Software Systems, ABB Corporate Research, Raleigh, NC;Industrial Software Systems, ABB Corporate Research, Raleigh, NC

  • Venue:
  • Proceedings of the 3rd International Workshop on Multicore Software Engineering
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

With the prevalent application of multi-core CPUs, software practitioners are facing the challenge of developing high quality multi-threaded programs. Applying concurrency design patterns is one of the best practices in multi-core software engineering. We comprehensively surveyed 28 concurrency design patterns, and provided a problem-oriented guide that navigates software developers towards the "right" pattern(s) with minimal search/reading effort. The guide also illustrates the relationship between concurrency design patterns and the quality attributes they address. Additionally, further investigation was conducted on how these concurrency design patterns implement quality attributes tactics. We present a mapping between surveyed concurrency design patterns and the tactics for two important quality attributes: performance and modifiability. The results of these studies provide an insight into concurrency design patterns for software developers who are seeking appropriate or improved solutions to multi-threaded software development issues.