AoURN-based modeling and analysis of software product lines
- 397 Downloads
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.
KeywordsSoftware 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.
- 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
- 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.Google Scholar
- António, S., Araújo, J., & Silva, C. (2009). Adapting the i* framework for software product lines. ER workshops: Advances in conceptual modeling—challenging perspectives, LNCS (Vol. 5833, pp. 286–295). Gramado, Brazil: Springer.Google Scholar
- 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
- 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
- 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
- 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
- Borba, C., & Silva, C. (2009). A comparison of goal-oriented approaches to model SPLs variability. ER workshops: Advances in conceptual modeling—challenging perspectives, LNCS (Vol. 5833, pp. 244–253). Gramado, Brazil: Springer.Google Scholar
- 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
- 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
- Brito, I. (2008). Aspect-oriented requirements analysis. Ph.D. Thesis, Universidade Nova de Lisboa, Portugal.Google Scholar
- 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
- 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.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.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.
- 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.Google Scholar
- 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.Google Scholar
- Mussbacher, G. (2010). Aspect-oriented user requirements notation. Ph.D. thesis, School of Information Technologie and Engineering, University of Ottawa, Canada.Google Scholar
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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.Google Scholar
- 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
- Yu, E. (1995). Modeling strategic relationships for process reengineering. Ph.D. thesis, Department of Computer Science, University of Toronto, Canada.Google Scholar
- 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