Abstract
Software product lines (SPL) provide support for productivity gains through systematic reuse. Among the various quality attributes supporting these goals, modularity, stability and expressiveness of feature specifications, their composition and configuration knowledge emerge as strategic values in modern software development paradigms. This paper presents a metric-based evaluation aiming at assessing how well the chosen qualities are supported by scenario-based SPL requirements approaches. The selected approaches for this study span from type of notation (textual or graphical based), style to support variability (annotation or composition based), and specification expressiveness. They are compared using the metrics developed in a set of releases from an exemplar case study. Our major findings indicate that composition-based approaches have greater potential to support modularity and stability, and that quantification mechanisms simplify and increase expressiveness of configuration knowledge and composition specifications.
Similar content being viewed by others
Notes
An editable feature model and statistics are available at http://www.splot-research.org/.
Use scenarios describe a single path of logic, whereas use cases typically describe several paths (usually the basic flow plus alternate paths).
An early version of VML4RE [2] had some language constructs that simplify matching specific fragments (i.e., join points) in the scenarios reducing the verbosity of the composition model. For example, pointcut designators such as “equal,” “startsBy,” “finishesWith,” “contains” and quantifiers such as “*”, “?”
References
Alexander IF, Maiden N (eds) (2004) Scenarios, stories, use cases: through the systems development life-cycle. Wiley, Chichester
Alférez M, Kulesza U, Weston N, Araújo J, Amaral V, Moreira A, Rashid A, Jaeger MC (2008) A metamodel for aspectual requirements modelling and composition. Tech. Report D 1.3 Ample-project
Alférez M, Santos J, Moreira A, Garcia A, Kulesza U, Araújo J, Amaral V (2010) Multi-view composition language for software product line requirements. In: SLE’09: Revised selected papers, Denver, CO, USA, pp. 103–122. doi:10.1007/978-3-642-12107-4_8
Bachmann F, Bass L (2001) Managing variability in software architectures. In: SIGSOFT Software Engineering Notes, vol 26. New York, NY, USA, pp 126–132. doi:10.1145/375212.375274
Bergmans L, Aksit M (2001) Composing crosscutting concerns using composition filters. Commun ACM 44(10):51–57. doi:10.1145/383845.383857
Bertolino A, Gnesi S (2003) Use case-based testing of product lines. In: ESEC/FSE’03, Helsinki, Finland, pp. 355–358. doi:10.1145/940071.940120
Bonifácio R, Borba P (2009) Modeling scenario variability as crosscutting mechanisms. In: AOSD’09, Charlottesville, Virginia, USA, pp 125–136. doi:10.1145/1509239.1509258
Bonifácio R, Borba P, Soares S (2008) On the benefits of variability management as crosscutting. In: Early Aspects Workshop at AOSD. Brussels, Belgium
Chitchyan R et al. (2009) Semantic vs. syntactic compositions in aspect-oriented requirements engineering: an empirical study. In: KJ Sullivan (ed) AOSD’09, Charlottesville, Virginia, USA, pp 149–160. doi:10.1145/1509239.1509260
Clements P, Northrop LM (2001) Software product lines: practices and patterns professional. Addison-Wesley, Boston
Czarnecki K, Antkiewicz M (2005) Mapping features to models: a template approach based on superimposed variants. In: GPCE’05, Tallinn, Estonia, pp 422–437. doi:10.1007/11561347_28
Czarnecki K, Eisenecker U (2000) Generative programming: methods, tools, and applications. ACM Press/Addison-Wesley Publishing Co. New York
Eaddy M, Aho A, Murphy GC (2007) Identifying, assigning, and quantifying crosscutting concerns. In: ACoM’07 held with ICSE’07, Minneapolis, MN, USA, p 2. doi:10.1109/ACOM.2007.4
Eriksson M, Borstler J, Borg K (2005) The pluss approach, domain modeling with features, use cases and use case realizations. In: SPLC’05, Rennes, France, pp 33–44. doi:10.1007/11554844_5
Eriksson M, Börstler J, Borg K (2009) Managing requirements specifications for product lines: an approach and industry case study. J Syst Softw 82(3):435–447. doi:10.1016/j.jss.2008.07.046
Figueiredo E et al (2008) Evolving software product lines with aspects: an empirical study on design stability. In: ICSE’08, Leipzig, Germany, pp 261–270. doi:10.1145/1368088.1368124
Figueiredo E et al. (2008) On the maintainability of aspect-oriented software: a concern-oriented measurement framework. In: CSMR’08, Athens, Greece, pp 183–192. doi:10.1109/CSMR.2008.4493313
Gomaa H (2004) Designing software product lines with UML: from use cases to pattern-based software architectures. Addison Wesley Longman Publishing Co., Inc., Redwood City
Kästner C, Apel S, Kuhlemann M (2008) Granularity in software product lines. In: ICSE’08, Leipzig, Germany, pp 311–320. doi:10.1145/1368088.1368131
Katz S, Mezini M, Kienzle J (eds) (2010) Transactions on aspect-oriented software development VII: a Common case study for aspect-oriented modeling. Lecture notes in computer science, vol 6210. Springer
Kienzle J, Guelfi N, Mustafiz S (2010) Crisis management systems: a case study for aspect-oriented modeling. T. Aspect-Oriented Software Development 7:1–22
Kovacević J, Alférez M, Kulesza U, Moreira A, Araújo J, Amaral V, Alves V, Rashid A, Chitchyan R (2007) Survey of the state-of-the-art in requirements engineering for software product line and model-driven requirements engineering. Tech. Report D 1.1, Ample-project
Kulesza U, Sant’Anna C, Garcia A, Coelho R, von Staa A, de Lucena CJP (2006) Quantifying the effects of aspect-oriented programming: a maintenance study. In: ICSM’06, Philadelphia, PA, USA, pp 223–233. doi:10.1109/ICSM.2006.48
Lippert M, Lopes CV (2000) A study on exception detection and handling using aspect-oriented programming. In: ICSE’00, Limerick, Ireland, pp 418–427. doi:10.1145/337180.337229
Mustafiz JKNGS (2009) Crisis management systems: a case study for aspect-oriented modeling. Tech. Report, School of Computer Science, McGill University, Montreal. http://www.cs.mcgill.ca/joerg/taosd/TAOSD/TAOSD.html
Pohl K, Böckle G, Linden FJvd (2005) Software product line engineering: foundations, principles and techniques. Springer, New York, Inc., Secaucus, NJ
Sampaio A, et al. (2007) A comparative study of aspect-oriented requirements engineering approaches. In: First international symposium on empirical software engineering and measurement, 2007. ESEM’07, Madrid, Spain, pp 166–175. doi:10.1109/ESEM.2007.15
Sugumaran V, Park S, Kang KC (2006) Introduction. Commun ACM 49(12):28–32
Zschaler S, Sánchez P, Santos J, Alférez M, Rashid A, Fuentes L, Moreira A, Araújo J, Kulesza U (2009) VML*: a family of languages for variability management in software product lines. In: SLE’09: Revised selected papers, Denver, CO, USA. doi:10.1007/978-3-642-12107-4_7
Acknowledgments
This work was partially supported by the Centro de Informática e Tecnologias de Informação (CITI) - Portugal, the European Project AMPLE - contract IST-33710, the grant SFRH/BD/46194/2008 of Fundação para a Ciência e a Tecnologia - Portugal, and the National Institute of Science and Technology for Software Engineering (INES) - CNPq under grants 573964/2008-4 and CNPQ 560256/2010-8.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Alférez, M., Bonifácio, R., Teixeira, L. et al. Evaluating scenario-based SPL requirements approaches: the case for modularity, stability and expressiveness. Requirements Eng 19, 355–376 (2014). https://doi.org/10.1007/s00766-013-0184-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-013-0184-5