Skip to main content
Log in

AoURN-based modeling and analysis of software product lines

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

Notes

  1. See http://en.wikipedia.org/wiki/Via_Verde as well as http://www.viaverde.pt/.

  2. A stereotype is indicated by double angle brackets in the URN feature model.

References

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

  • Alexander, I., & Maiden, N. (2004). Scenarios, stories. Use cases. Chichester, UK: Wiley.

    Google Scholar 

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

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

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

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

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

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

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

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

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

  • Brito, I. (2008). Aspect-oriented requirements analysis. Ph.D. Thesis, Universidade Nova de Lisboa, Portugal.

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

  • Chung, L., Nixon, B. A., Yu, E., & Mylopoulos, J. (2000). Non-functional requirements in software engineering. Dordrecht, USA: Kluwer Academic Publishers.

    MATH  Google Scholar 

  • Cockburn, A. (2001). Writing effective use cases. Boston, MA, USA: Addison-Wesley.

    Google Scholar 

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

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

    Article  Google Scholar 

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

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

    Article  Google Scholar 

  • Gomaa, H. (2004). Designing software product lines with UML: From use cases to pattern-based software architectures. New York, USA: Addison-Wesley.

    Google Scholar 

  • ITU-T: User Requirements Notation (URN)—Language definition, ITU-T Recommendation Z.151 (11/08). Geneva, Switzerland (November 2008). http://www.itu.int/rec/T-REC-Z.151/en. Accessed March 2011.

  • Jacobson, I. (1992). Object-oriented software engineering: A use case driven approach. USA: Addison Wesley.

    MATH  Google Scholar 

  • Java Constraint Programming website (JaCoP). (2011). http://jacop.osolpro.com. Accessed March 2011.

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

  • jUCMNav website. (2011). http://jucmnav.softwareengineering.ca/jucmnav. Accessed March 2011.

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

  • Mussbacher, G. (2010). Aspect-oriented user requirements notation. Ph.D. thesis, School of Information Technologie and Engineering, University of Ottawa, Canada.

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

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

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

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

    Article  Google Scholar 

  • Pohl, K., Böckle, G., & van der Linden, F. J. (2005). Software product line engineering: Foundations, principles and techniques. Berlin, Germany: Springer.

    MATH  Google Scholar 

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

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

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

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

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

  • User Requirements Notation Virtual Library website. (2011). http://www.usecasemaps.org/pub. Accessed March 2011.

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

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

  • Yu, E. (1995). Modeling strategic relationships for process reengineering. Ph.D. thesis, Department of Computer Science, University of Toronto, Canada.

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

Download references

Acknowledgments

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gunter Mussbacher.

Appendix: OCL constraints

Appendix: OCL constraints

Table 9 details the specification of the AoURN OCL constraints that encode the common requires and conflicts integrity constraints found in feature models as well as AoURN-specific constraints. The OCL constraints exploit the fact that the names of goal model elements (i.e., IntentionalElements) and concerns are unique. Furthermore, the constraints work for qualitative and quantitative goal model values, because qualitative values are internally synchronized with quantitative values. Figure 18 shows an excerpt of the URN metamodel required to formulate these OCL constraints.

Table 9 Mapping for integrity constraints in feature models to OCL constraints in URN profile
Fig. 18
figure 18

URN metamodel for GRL strategies and concerns

For the requires constraint, the specified features ≪A≫ and ≪B≫ are first found in the IntentionalElements, and then all IntentionalElements are found that are selected in a product configuration (i.e., EvaluationStrategy), i.e., all elements that have an evaluation equal to 100 (see Sect. 3.7). The constraint then states that if feature ≪A≫ is selected, feature ≪B≫ must also be selected, i.e., the evaluation of each feature equals 100.

Similarly for the conflicts constraint, the specified features ≪A≫ and ≪B≫ are also found in the IntentionalElements, and then all IntentionalElements are found that are selected in a product configuration. Furthermore, all IntentionalElements are found that are not selected in the same product configuration, i.e., all elements that have an evaluation equal to 0. The constraint then states that if feature ≪A≫ is selected, feature ≪B≫ must not be selected, i.e., the evaluation of the first feature equals 100 while the evaluation of the second feature equals 0.

The third constraint is typically not supported by integrity constraints in external feature models but can easily be incorporated into the ASF to reduce the size of the feature model. Again, the specified features ≪A≫ and ≪B≫ are found in the IntentionalElements, and all IntentionalElements are found that are selected in a product configuration. The constraint then simply states that ≪A≫ or ≪B≫ has to be selected.

Finally, the last constraint is also AoURN-specific. The specified feature ≪F≫ is found in the IntentionalElements, and all IntentionalElements are found that are selected in a product configuration. The stakeholder ≪S≫ is found in the Concerns. The constraint then simply states that if the concern is activated (condition is true), then ≪F≫ has to be selected.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mussbacher, G., Araújo, J., Moreira, A. et al. AoURN-based modeling and analysis of software product lines. Software Qual J 20, 645–687 (2012). https://doi.org/10.1007/s11219-011-9153-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-011-9153-8

Keywords

Navigation