Software Quality Journal

, Volume 20, Issue 3–4, pp 645–687 | Cite as

AoURN-based modeling and analysis of software product lines

  • Gunter Mussbacher
  • João Araújo
  • Ana Moreira
  • Daniel Amyot


Software Product Line Engineering concerns itself with domain engineering and application engineering. During domain engineering, the whole product family is modeled with a preferred flavor of feature models and additional models as required (e.g., domain models or scenario-based models). During application engineering, the focus shifts toward a single family member and the configuration of the member’s features. Recently, aspectual concepts have been employed to better encapsulate individual features of a Software Product Line (SPL), but the existing body of SPL work does not include a unified reasoning framework that integrates aspect-oriented feature description artifacts with the capability to reason about stakeholders’ goals while taking feature interactions into consideration. Goal-oriented SPL approaches have been proposed, but do not provide analysis capabilities that help modelers meet the needs of the numerous stakeholders involved in an SPL while at the same time considering feature interactions. We present an aspect-oriented SPL approach for the requirements phase that allows modelers (a) to capture features, goals, and scenarios in a unified framework and (b) to reason about stakeholders’ needs and perform trade-off analyses while considering undesirable interactions that are not obvious from the feature model. The approach is based on the Aspect-oriented User Requirements Notation (AoURN) and helps identify, prioritize, and choose products based on analysis results provided by AoURN editor and analysis tools. We apply the AoURN-based SPL framework to the Via Verde SPL to demonstrate the feasibility of this approach through the selection of a Via Verde product configuration that satisfies stakeholders’ needs and results in a high-level, scenario-based specification that is free from undesirable feature interactions.


Software product lines Goal-based requirements engineering Scenario-based requirements engineering Aspect-oriented modeling User Requirements Notation Feature interactions 



This research was supported by the Natural Sciences and Engineering Research Council of Canada, through its programs of Discovery Grants and Postgraduate Scholarships, as well as the Ontario Graduate Scholarship Program, and FCT MCTES.


  1. Acher, M., Collet, P., Lahire, P., & France, R. (2009). Composing Feature Models. In 2nd international conference on software language engineering (SLE 2009) (pp. 62–81). Denver, USA.Google Scholar
  2. Alexander, I., & Maiden, N. (2004). Scenarios, stories. Use cases. Chichester, UK: Wiley.Google Scholar
  3. Alférez, M., Santos, J., Moreira, A., Garcia, A., Kulesza, U., Araújo, J., et al. (2009). Multi-view composition language for software product line requirements. In 2nd international conference on software language engineering (SLE 2009) (pp. 103–122). Denver, USA.Google Scholar
  4. Amyot, D., Ghanavati, S., Horkoff, J., Mussbacher, G., Peyton, L., & Yu, E. (2010). Evaluating goal models within the goal-oriented requirement language. International Journal of Intelligent Systems (IJIS), 25(8), 841–877. Wiley.CrossRefGoogle Scholar
  5. Amyot, D., & Mussbacher, G. (2011). User requirements notation: The first ten years, the next ten years. Journal of Software, 6(5), 747–768. (Invited paper).CrossRefGoogle Scholar
  6. António, S., Araújo, J., & Silva, C. (2009). Adapting the i* framework for software product lines. ER workshops: Advances in conceptual modelingchallenging perspectives, LNCS (Vol. 5833, pp. 286–295). Gramado, Brazil: Springer.Google Scholar
  7. Asadi, M., Bagheri, E., Gasevic, D., & Hatala, M. (2011). Goal-driven software product line engineering. In 26th annual ACM symposium on applied computing (SAC 2011). Taichung, Taiwan: Tunghai University.Google Scholar
  8. Bagheri, E., Asadi, M., Gasevic, D., & Soltani, S. (2010a), Stratified analytic hierarchy process: Prioritization and selection of software features. In 14th international software product line conference (SPLC 2010) (pp. 300–315). Jeju Island, South Korea.Google Scholar
  9. Bagheri, E., Noia, T., Ragone, A., & Gasevic, D. (2010b). Configuring Software product line feature models based on stakeholders’ soft and hard requirements. In 14th international software product line conference (SPLC 2010) (pp. 16–31). Jeju Island, South Korea.Google Scholar
  10. Bonifácio, R., & Borba, P. (2009). Modeling scenario variability as crosscutting mechanisms. In ACM conference on aspect oriented software development (AOSD’09). Charlottesville, Virginia, USA: ACM Press.Google Scholar
  11. Borba, C., & Silva, C. (2009). A comparison of goal-oriented approaches to model SPLs variability. ER workshops: Advances in conceptual modelingchallenging perspectives, LNCS (Vol. 5833, pp. 244–253). Gramado, Brazil: Springer.Google Scholar
  12. Boškovic, M., Mussbacher, G., Bagheri, E., Amyot, D., Gaševic, D., & Hatala, M. (2011). Aspect-oriented feature models. In Models in software engineering - workshops and symposia at MODELS 2010, LNCS (Vol. 6627, pp. 110–124). Oslo, Norway: Springer.Google Scholar
  13. Bragança, A., & Machado, R. (2007). Automating mappings between use case diagrams and feature models for software product lines. In 11th international software product line conference (SPLC 2007) (pp. 3–12). Kyoto, Japan: IEEE Computer Society.Google Scholar
  14. Brito, I. (2008). Aspect-oriented requirements analysis. Ph.D. Thesis, Universidade Nova de Lisboa, Portugal.Google Scholar
  15. Brito, I., Vieira, F., Moreira, A., & Ribeiro, R. (2007). Handling conflicts in aspectual requirements compositions. In Transactions on aspect-oriented software development (TAOSD) III, LNCS (Vol. 4620, pp. 144–166). Berlin: Springer.Google Scholar
  16. Chung, L., Nixon, B. A., Yu, E., & Mylopoulos, J. (2000). Non-functional requirements in software engineering. Dordrecht, USA: Kluwer Academic Publishers.zbMATHGoogle Scholar
  17. Cockburn, A. (2001). Writing effective use cases. Boston, MA, USA: Addison-Wesley.Google Scholar
  18. Czarnecki, K., & Antkiewicz, M. (2005). Mapping features to models: A template approach based on superimposed variants. In Generative programming and component engineering (GPCE 2005), LNCS (Vol. 3676, pp. 422–437). Berlin: Springer.Google Scholar
  19. Czarnecki, K., Helsen, S., & Eisenecker, U. W. (2004). Staged configuration through specialization and multilevel configuration of feature models. Software Process: Improvement and Practice, 10(2), 143–169.CrossRefGoogle Scholar
  20. Eriksson, M., Börstler, J., & Borg, K. (2005). The PLUSS approach—domain modeling with features, use cases and use case realizations. In H. Obbink, & K. Pohl (Eds.), 9th international conference on software product lines (SPLC 2005), LNCS (Vol. 3714, pp. 33–44). Berlin: Springer.Google Scholar
  21. Giorgini, P., Mylopoulos, J., & Sebastini, R. (2005). Goal-oriented requirements analysis and reasoning in the Tropos methodology. Engineering Applications of Artificial Intelligence, 18, 159–171.CrossRefGoogle Scholar
  22. Gomaa, H. (2004). Designing software product lines with UML: From use cases to pattern-based software architectures. New York, USA: Addison-Wesley.Google Scholar
  23. ITU-T: User Requirements Notation (URN)—Language definition, ITU-T Recommendation Z.151 (11/08). Geneva, Switzerland (November 2008). Accessed March 2011.
  24. Jacobson, I. (1992). Object-oriented software engineering: A use case driven approach. USA: Addison Wesley.zbMATHGoogle Scholar
  25. Java Constraint Programming website (JaCoP). (2011). Accessed March 2011.
  26. Jayaraman, P., Whittle, J., Elkhodary, A. M., & Gomaa, H. (2007). Model composition in product lines and feature interaction detection using critical pair analysis. In MoDELS’07 conference, LNCS (Vol. 4735, pp. 151–165). Berlin: Springer.Google Scholar
  27. jUCMNav website. (2011). Accessed March 2011.
  28. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., and Peterson, A S. (1990). Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical report, CMU/SEI-90-TR-0211990, Software Engineering Institute, Carnegie Mellon University, USA.Google Scholar
  29. Mussbacher, G. (2010). Aspect-oriented user requirements notation. Ph.D. thesis, School of Information Technologie and Engineering, University of Ottawa, Canada.Google Scholar
  30. Mussbacher, G., & Amyot, D. (2009). Extending the user requirements notation with aspect-oriented concepts. In R. Reed, A. Bilgic, & R. Gotzhein (Eds.), 14th SDL forum (SDL 2009), SDL 2009: Design for motes and mobiles, LNCS (Vol. 5719, pp. 115–132). Bochum, Germany: Springer.Google Scholar
  31. Mussbacher, G., Amyot, D., Araújo, J., & Moreira, A. (2010a). Requirements modeling with the aspect-oriented user requirements notation (AoURN): A case study. In S. Katz, M. Mezini, & J. Kienzle (Eds.), Transactions on aspect-oriented software development (TAOSD) VII LNCS (Vol. 6210, pp. 23–68). Berlin: Springer.Google Scholar
  32. Mussbacher, G., Whittle, J., & Amyot, D. (2008). Towards semantic-based aspect interaction detection. In 1st international workshop on non-functional system properties in domain specific modeling languages (NFPinDSML2008). Toulouse, France.Google Scholar
  33. Mussbacher, G., Whittle, J., & Amyot, D. (2010b). Modeling and detecting semantic-based interactions in aspect-oriented scenarios. Requirements Engineering Journal (REJ), 15(2), 197–214. (Springer).CrossRefGoogle Scholar
  34. Pohl, K., Böckle, G., & van der Linden, F. J. (2005). Software product line engineering: Foundations, principles and techniques. Berlin, Germany: Springer.zbMATHGoogle Scholar
  35. Pourshahid, A., Richards, G., & Amyot, D. (2011). Toward a goal-oriented, business intelligence decision-making framework. In 5th international MCeTech conference on eTechnologies, LNBIP (Vol. 78, pp.100–115). Les Diablerets, Switzerland: Springer.Google Scholar
  36. Sebastiani, R., Giorgini, P., & Mylopoulous, J. (2004). Simple and minimum-cost satisfiability for goal models. In 16th international conference on advanced information systems engineering (CAISE’04), LNCS (Vol. 3084, pp. 675–693). Riga, Latvia: Springer.Google Scholar
  37. Silva, C., Alencar, F., Araújo, J., Moreira, A., & Castro, J. (2008). Tailoring an aspectual goal-oriented approach to model features. In 20th international conference on software engineering and knowledge engineering (SEKE’08). Redwood City, California, USA.Google Scholar
  38. Tun, T. T., Boucher, Q., Classen, A., Hubaux, A., & Heymans, P. (2009). Relating requirements and feature configurations: A systematic approach. In 13th international software product lines conference (SPLC’09) (pp. 201–210). San Francisco, CA, USA.Google Scholar
  39. Uno, K., Hayashi, S., & Saeki, M. (2009). Constructing feature models using goal-oriented analysis. In 9th International Conference on Quality Software (QSIC’09) (pp. 412–417). Jeju, South Korea.Google Scholar
  40. User Requirements Notation Virtual Library website. (2011). Accessed March 2011.
  41. van der Aalst, W. M. P., Lohmann, N., La Rosa, M., & Xu, J. (2010). Correctness ensuring process configuration: An approach based on partner synthesis. In 8th international conference on business process management, LNCS (Vol. 6336, pp. 95–111). Hoboken, NJ, USA: Springer.Google Scholar
  42. Varela, P., Araújo, J., Brito, I., & Moreira, A. (2011). Aspect-oriented analysis for software product lines requirements engineering. In 26th annual ACM symposium on applied computing (SAC 2011). Taichung, Taiwan: Tunghai University.Google Scholar
  43. Yu, E. (1995). Modeling strategic relationships for process reengineering. Ph.D. thesis, Department of Computer Science, University of Toronto, Canada.Google Scholar
  44. Yu, Y., Leite, J., Lapouchnian, A., & Mylopoulos, J. (2008). Configuring features with stakeholder goals. In 23rd annual ACM symposium on applied computing (SAC 2008). Fortaleza, Brazil.Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Gunter Mussbacher
    • 1
  • João Araújo
    • 2
  • Ana Moreira
    • 2
  • Daniel Amyot
    • 1
  1. 1.School of Electrical Engineering and Computer Science (EECS)University of OttawaOttawaCanada
  2. 2.Departamento de Informatica, CITI/FCTUniversidade Nova de LisboaCaparicaPortugal

Personalised recommendations