Concern-Oriented Software Design

  • Omar Alam
  • Jörg Kienzle
  • Gunter Mussbacher
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8107)


There exist many solutions to solve a given design problem, and it is difficult to capture the essence of a solution and make it reusable for future designs. Furthermore, many variations of a given solution may exist, and choosing the best alternative depends on application-specific high-level goals and non-functional requirements. This paper proposes Concern-Oriented Software Design, a modelling technique that focuses on concerns as units of reuse. A concern groups related models serving the same purpose, and provides three interfaces to facilitate reuse. The variation interface presents the design alternatives and their impact on non-functional requirements. The customization interface of the selected alternative details how to adapt the generic solution to a specific context. Finally, the usage interface specifies the provided behaviour. We illustrate our approach by presenting the concern models of variations of the Observer design pattern, which internally depends on the Association concern to link observers and subjects.


Design Pattern Software Product Line Goal Model Usage Interface Design Concern 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Al Abed, W., Bonnet, V., Schöttle, M., Yildirim, E., Alam, O., Kienzle, J.: TouchRAM: A multitouch-enabled tool for aspect-oriented software design. In: Czarnecki, K., Hedin, G. (eds.) SLE 2012. LNCS, vol. 7745, pp. 275–285. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  2. 2.
    Al Abed, W., Kienzle, J.: Information Hiding and Aspect-Oriented Modeling. In: 14th Aspect-Oriented Modeling Workshop, Denver, CO, USA, pp. 1–6 (October 4, 2009)Google Scholar
  3. 3.
    Amyot, D., Ghanavati, S., Horkoff, J., Mussbacher, G., Peyton, L., Yu, E.S.K.: Evaluating goal models within the goal-oriented requirement language. International Journal of Intelligent Systems 25(8), 841–877 (2010)CrossRefGoogle Scholar
  4. 4.
    Bošković, M., Mussbacher, G., Bagheri, E., Amyot, D., Gašević, D., Hatala, M.: Aspect-oriented feature models. In: Dingel, J., Solberg, A. (eds.) MODELS 2010. LNCS, vol. 6627, pp. 110–124. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  5. 5.
    Chen, L., Ali Babar, M.: A systematic review of evaluation of variability management approaches in software product lines. Information and Software Technology 53(4), 344–362 (2011)CrossRefGoogle Scholar
  6. 6.
    Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering. Springer (2000)Google Scholar
  7. 7.
    Czarnecki, K., Helsen, S., Eisenecker, U.W.: Staged configuration through specialization and multilevel configuration of feature models. Software Process: Improvement and Practice 10(2), 143–169 (2005)CrossRefGoogle Scholar
  8. 8.
    Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Science of Computer Programming 20, 3–50 (1993)CrossRefzbMATHGoogle Scholar
  9. 9.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley, Reading (1995)Google Scholar
  10. 10.
    Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 3rd edn. The Java Series. Addison-Wesley, Boston (2005)Google Scholar
  11. 11.
    Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers, San Mateo (1993)zbMATHGoogle Scholar
  12. 12.
    Henriksson, J., Johannes, J., Zschaler, S., Aßmann, U.: Reuseware - adding modularity to your language of choice. Journal of Object Technology 6(9), 127–146 (2007)CrossRefGoogle Scholar
  13. 13.
    International Telecommunication Union (ITU-T): Recommendation Z.151 (10/12): User Requirements Notation (URN) - Language Definition (approved October 2012)Google Scholar
  14. 14.
    Johannes, J., Aßmann, U.: Concern-based (de)composition of model-driven software development processes. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part II. LNCS, vol. 6395, pp. 47–62. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  15. 15.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. Tech. Rep. CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University (November 1990)Google Scholar
  16. 16.
    Kienzle, J., Al Abed, W., Klein, J.: Aspect-Oriented Multi-View Modeling. In: AOSD 2009, pp. 87–98. ACM Press (March 2009)Google Scholar
  17. 17.
    Krueger: Software reuse. CSURV: Computing Surveys 24 (1992)Google Scholar
  18. 18.
    Luo, H., Amyot, D.: Towards a declarative, constraint-oriented semantics with a generic evaluation algorithm for GRL. In: de Castro, J.B., Franch, X., Mylopoulos, J., Yu, E.S.K. (eds.) Proceedings of the 5th International i * Workshop 2011, Trento, Italy, August 28-29. CEUR Workshop Proceedings, vol. 766, pp. 26–31. (2011)Google Scholar
  19. 19.
    Mussbacher, G., Araújo, J., Moreira, A., Amyot, D.: AoURN-based modeling and analysis of software product lines. Software Quality Journal 20(3-4), 645–687 (2012)CrossRefGoogle Scholar
  20. 20.
    Object Management Group: Unified Modeling Language: Superstructure (v 2.4.1)Google Scholar
  21. 21.
    University of Ottawa: jUCMNav website (2013),
  22. 22.
    Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Communications of the Association of Computing Machinery 15(12), 1053–1058 (1972)CrossRefGoogle Scholar
  23. 23.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag New York, Inc., Secaucus (2005)Google Scholar
  24. 24.
    Pohl, K., Metzger, A.: Variability management in software product line engineering. In: Proceedings of the 28th International Conference on Software Engineering (ICSE 2006), pp. 1049–1050. ACM (2006)Google Scholar
  25. 25.
    Yu, E.: Modelling strategic relationships for process reengineering. Ph.D. thesis, Department of Computer Science, University of Toronto (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Omar Alam
    • 1
  • Jörg Kienzle
    • 1
  • Gunter Mussbacher
    • 2
  1. 1.School of Computer ScienceMcGill UniversityMontrealCanada
  2. 2.University of OttawaOttawaCanada

Personalised recommendations