Skip to main content

Concern-Oriented Software Design

  • Conference paper
Model-Driven Engineering Languages and Systems (MODELS 2013)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8107))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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)

    Chapter  Google Scholar 

  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. 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)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  6. Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering. Springer (2000)

    Google Scholar 

  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)

    Article  Google Scholar 

  8. Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Science of Computer Programming 20, 3–50 (1993)

    Article  MATH  Google Scholar 

  9. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley, Reading (1995)

    Google Scholar 

  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. Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers, San Mateo (1993)

    MATH  Google Scholar 

  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)

    Article  Google Scholar 

  13. International Telecommunication Union (ITU-T): Recommendation Z.151 (10/12): User Requirements Notation (URN) - Language Definition (approved October 2012)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. Krueger: Software reuse. CSURV: Computing Surveys 24 (1992)

    Google Scholar 

  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. CEUR-WS.org (2011)

    Google Scholar 

  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)

    Article  Google Scholar 

  20. Object Management Group: Unified Modeling Language: Superstructure (v 2.4.1)

    Google Scholar 

  21. University of Ottawa: jUCMNav website (2013), http://softwareengineering.ca/jucmnav

  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)

    Article  Google Scholar 

  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. 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. Yu, E.: Modelling strategic relationships for process reengineering. Ph.D. thesis, Department of Computer Science, University of Toronto (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Alam, O., Kienzle, J., Mussbacher, G. (2013). Concern-Oriented Software Design. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds) Model-Driven Engineering Languages and Systems. MODELS 2013. Lecture Notes in Computer Science, vol 8107. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41533-3_37

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-41533-3_37

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-41532-6

  • Online ISBN: 978-3-642-41533-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics