Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3364641.3364656acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbqsConference Proceedingsconference-collections
research-article

REM4DSPL: A Requirements Engineering Method for Dynamic Software Product Lines

Published: 28 October 2019 Publication History

Abstract

Context: Dynamic Software Product Line (DSPL) is a set of software products capable of self-adapt and configure in runtime. DSPL products have common features (commonalities) and varying features (managed in runtime according to context changes). Objective: DSPL requirements engineering is challenging. Requirements engineers have to carefully plan self-adaptation while eliciting, modeling, and managing variability requirements. This paper introduces a method for DSPL requirements engineering. Method: We relied on empirically-derived activities of DSPL requirements engineering to build our method. We selected techniques and templates used in other domains such as SPL for refinement and incorporation into the method. We asked DSPL experts via a survey on the method applicability. Result: We introduced the Requirements Engineering Method for DSPL (REM4DSPL). Elicitation is guided by supervised discussions. Modeling relies on feature models. Variability Management is tool-assisted and validated via feature model inspection. DSPL experts agreed on the method applicability and suggested improvements. Conclusion: REM4DSPL relies on empirically-derived activities, techniques that have been successfully used by previous work, and templates adapted to the DSPL context. We expect our method to guide requirements engineers in practice.

References

[1]
Mohammed Alawairdhi and Eisa Aleisa. 2011. A scenario-based approach for requirements elicitation for software systems complying with the utilization of ubiquitous computing technologies. In 35th COMPSACW. 341--344.
[2]
Vander Alves, Nan Niu, Carina Alves, and George Valença. 2010. Requirements engineering for software product lines: A systematic literature review. Inform. Softw. Tech. (IST) 52, 8 (2010), 806--820.
[3]
Carlos Batista and Carla Silva. 2015. Um Processo Criativo de Elicitação de Contextos para Sistemas Sensíveis ao Contexto. (2015). In Portuguese.
[4]
Jörg Becker, Michael Rosemann, and Christoph Von Uthmann. 2000. Guidelines of business process modeling. In Business process management. Springer, 30--49.
[5]
Nelly Bencomo, Svein Hallsteinsen, and Eduardo Santana De Almeida. 2012. A view of the dynamic software product line landscape. Computer 45, 10 (2012), 36--41.
[6]
Carla I. M. Bezerra, Jefferson Barbosa, João Holanda Freires, Rossana M. C. Andrade, and José Maria S. Monteiro. 2016. DyMMer: A Measurement-based Tool to Support Quality Evaluation of DSPL Feature Models. In 20th SPLC.
[7]
Andreas Birk, G Heller, I John, S Joos, K Muller, K Schmid, and T von der Massen. 2003. Report of the GI Work Group" Requirements Engineering for Product Lines. (2003).
[8]
Ana Paula Terra Bacelo Blois, Regiane Felipe de Oliveira, Natanael Maia, Cláudia Werner, and Karin Becker. 2006. Variability modeling in a component-based domain engineering process. In 9th 2006. 395--398.
[9]
Rafael Capilla, Jan Bosch, Pablo Trinidad, Antonio Ruiz-Cortés, and Mike Hinchey. 2014. An overview of Dynamic Software Product Line architectures and techniques: Observations from research and industry. J. Syst. Softw. (JSS) 91 (2014), 3--23.
[10]
Lawrence Chung and Julio Cesar Sampaio do Prado Leite. 2009. On non-functional requirements in software engineering. In Conceptual modeling: Foundations and applications. Springer, 363--379.
[11]
Jane Cleland-Huang, Raffaella Settimi, Chuan Duan, and Xuchang Zou. 2005. Utilizing supporting evidence to improve dynamic requirements traceability. In 13th RE. IEEE, 135--144.
[12]
Paul Clements and Linda Northrop. 2002. Software product lines: practices and patterns. (2002).
[13]
Léuson M. P. da Silva, Carla I. M. Bezerra, Rossana M. C. Andrade, and José Maria S. Monteiro. 2016. Requirements Engineering and Variability Management in DSPLs Domain Engineering: A Systematic Literature Review. In 18th ICEIS. Rome, Italy, 544--551.
[14]
Rafael Maiani de Mello, Eldânae Nogueira, Marcelo Schots, Cláudia Maria Lima Werner, and Guilherme Horta Travassos. 2014. Verification of Software Product Line Artefacts: A Checklist to Support Feature Model Inspections. J. UCS 20, 5 (2014), 720--745.
[15]
Regiane Felipe de Oliveira, Ana Paula Blois, Aline Vasconcelos, and Cláudia Werner. 2005. Metamodelo de Características da Notação Odyssey-FEX: Descrição de Classes. (2005).
[16]
Ismayle de Sousa Santos, Rossana M de Castro Andrade, and Pedro de Alcantara dos Santos Neto. 2013. A Use Case Textual Description for Context Aware SPL Based on a Controlled Experiment. In 25th CAiSE. 1--8.
[17]
Alessandro Fantechi, Stefania Gnesi, Isabel John, Giuseppe Lami, and Jörg Dörr. 2003. Elicitation of use cases for product lines. In 15th PFE. 152--167.
[18]
Eduardo Fernandes, Gustavo Vale, Leonardo Sousa, Eduardo Figueiredo, Alessandro Garcia, and Jaejoon Lee. 2017. No code anomaly is an island. In 16th ICSR. Springer, 48--64.
[19]
Samuel Fricker and Reinhard Stoiber. Relating Product Line Context to Requirements Engineering Processes Using Design Rationale. In Software Engineering (Workshops). 240--251.
[20]
Alena Hallerbach, Thomas Bauer, and Manfred Reichert. 2010. Capturing variability in business process models: the Provop approach. Journal of Software Maintenance and Evolution: Research and Practice 22, 6-7 (2010), 519--546.
[21]
Svein Hallsteinsen, Mike Hinchey, Sooyong Park, and Klaus Schmid. 2008. Dynamic software product lines. Computer 41, 4 (2008), 93--95.
[22]
Dan Hong, Dickson KW Chiu, and Vincent Y Shen. 2005. Requirements elicitation for the design of context-aware applications in a ubiquitous environment. In 7th ICEC. Taiwan, China, 590--596.
[23]
Kyo C Kang, Sholom G Cohen, James A Hess, William E Novak, and A Spencer Peterson. 1990. Feature-oriented domain analysis (FODA) feasibility study. Technical Report. Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst.
[24]
Kavi Kumar Khedo. 2006. Context-aware systems for mobile and ubiquitous networks. In International Conference on Networking, International Conference on Systems and International Conference on Mobile Communications and Learning Technologies (ICNICONSMCL'06). IEEE, 123--123.
[25]
Gerald Kotonya and Ian Sommerville. 1998. Requirements engineering: processes and techniques. Wiley Publishing.
[26]
Kwanwoo Lee, Kyo C Kang, and Jaejoon Lee. 2002. Concepts and guidelines of feature modeling for product line software engineering. In 7th ICSR. 62--77.
[27]
Fabiana G Marinho, Rossana MC Andrade, Cláudia Werner, Windson Viana, Marcio EF Maia, Lincoln S Rocha, Eldânae Teixeira, João B Ferreira Filho, Valéria LL Dantas, Fabrício Lima, and others. 2013. MobiLine: A Nested Software Product Line for the domain of mobile and context-aware applications. Science of Computer Programming 78, 12 (2013), 2381--2398.
[28]
Danuza Neiva, Fernando Cesar de Almeida, Eduardo Santana de Almeida, and Silvio Lemos Meira. 2010. A requirements engineering process for software product lines. In 11th IRI. 266--269.
[29]
Nan Niu and Steve Easterbrook. 2008. Extracting and modeling product line functional requirements. In 16th RE. 155--164.
[30]
Vanessa Tavares Nunes, Flavia Maria Santoro, and Marcos RS Borges. 2007. Capturing context about group design processes. In 11th CSCWD. 18--23.
[31]
Klaus Pohl, Günter Böckle, and Frank J van Der Linden. 2005. Software product line engineering: foundations, principles and techniques. Springer Science & Business Media.
[32]
P. Sawyer, N. Bencomo, J. Whittle, E. Letier, and A. Finkelstein. 2010. Requirements-Aware Systems: A Research Agenda for RE for Self-adaptive Systems. In 18th RE. 95--103.
[33]
Amanda Sousa, Anderson Uchôa, Eduardo Fernandes, Carla I. M. Bezerra, José Maria Monteiro, and Rossana M. C. Andrade. 2019. Research website. (2019). Available at: https://anderson-uchoa.github.io/SBQS2019/.
[34]
Iuri Souza, Rafael de Mello, Eduardo de Almeida, Cláudia Werner, and Guilherme Travassos. 2016. Experimental evaluation of FMCheck: A replication study. In 15th SBQS. 121--135.
[35]
Anil Kumar Thurimella and Bernd Bruegge. 2007. Evolution in product line requirements engineering: A rationale management approach. In 15th RE. 254--257.
[36]
Anderson G Uchôa, Carla IM Bezerra, Ivan C Machado, José Maria Monteiro, and Rossana MC Andrade. 2017. ReMINDER: an approach to modeling non-functional properties in dynamic software product lines. In 16th ICSR. 65--73.
[37]
Anderson G Uchôa, Luan P Lima, Carla IM Bezerra, José Maria Monteiro, and Rossana MC Andrade. 2017. DyMMer-NFP: Modeling Non-functional Properties and Multiple Context Adaptation Scenarios in Software Product Lines. In 16th ICSR. 175--183.
[38]
Gustavo Vale, Eduardo Fernandes, and Eduardo Figueiredo. 2018. On the proposal and evaluation of a benchmark-based threshold derivation method. Software Quality Journal (SQJ) (2018), 1--32.
[39]
Vaninha Vieira, Marco AS Mangan, Cláudia Werner, and Marta Mattoso. 2004. Ariane: An awareness mechanism for shared databases. In 10th CRIWG. 92--104.
[40]
Jéssyka Vilela, Jaelson Castro, and João Pimentel. 2016. A systematic process for obtaining the behavior of context-sensitive systems. Journal of Software Engineering Research and Development 4, 1 (2016), 2.
[41]
Robert Watkins and Mark Neal. 1994. Why and how of requirements tracing. Ieee Software 11, 4 (1994), 104--106.
[42]
Stephen A White. 2004. Introduction to BPMN. Ibm Cooperation 2, 0 (2004), 0.
[43]
Claes Wohlin, Per Runeson, Martin Höst, Magnus C Ohlsson, Björn Regnell, and Anders Wesslén. 2012. Experimentation in software engineering. Springer Science & Business Media.
[44]
Chang Xu, SC Cheung, Xiaoxing Ma, Chun Cao, and Jian Lu. 2012. Adam: Identifying defects in context-aware adaptation. J. Syst. Softw. (JSS) 85, 12 (2012), 2812--2828.
[45]
Didar Zowghi and Chad Coulin. 2005. Requirements elicitation: A survey of techniques, approaches, and tools. In Engineering and managing software requirements. Springer, 19--46.

Cited By

View all
  • (2024)Decomposition of Reliability Requirements for Self-Adaptive Systems Using the NFR FrameworkProceedings of the 20th Brazilian Symposium on Information Systems10.1145/3658271.3658325(1-10)Online publication date: 20-May-2024
  • (2024)Automatic use case classification based on topic grouping for requirements engineeringInnovations in Systems and Software Engineering10.1007/s11334-023-00535-020:1(85-96)Online publication date: 1-Mar-2024
  • (2022)TEl-IoT: A Template for Eliciting IoT Software System RequirementsXVIII Brazilian Symposium on Information Systems10.1145/3535511.3535538(1-8)Online publication date: 16-May-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SBQS '19: Proceedings of the XVIII Brazilian Symposium on Software Quality
October 2019
330 pages
ISBN:9781450372824
DOI:10.1145/3364641
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

  • SBC: Brazilian Computer Society

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 October 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Dynamic Software Product Lines
  2. Requirements Engineering

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
  • Instituto Nacional de Ciência e Tecnologia para Engenharia de Software
  • Fundação de Amparo à Ciência e Tecnologia do Estado de Pernambuco
  • Conselho Nacional de Desenvolvimento Científico e Tecnológico

Conference

SBQS'19
SBQS'19: XVIII Brazilian Symposium on Software Quality
October 28 - November 1, 2019
Fortaleza, Brazil

Acceptance Rates

SBQS '19 Paper Acceptance Rate 35 of 99 submissions, 35%;
Overall Acceptance Rate 35 of 99 submissions, 35%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)15
  • Downloads (Last 6 weeks)2
Reflects downloads up to 18 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Decomposition of Reliability Requirements for Self-Adaptive Systems Using the NFR FrameworkProceedings of the 20th Brazilian Symposium on Information Systems10.1145/3658271.3658325(1-10)Online publication date: 20-May-2024
  • (2024)Automatic use case classification based on topic grouping for requirements engineeringInnovations in Systems and Software Engineering10.1007/s11334-023-00535-020:1(85-96)Online publication date: 1-Mar-2024
  • (2022)TEl-IoT: A Template for Eliciting IoT Software System RequirementsXVIII Brazilian Symposium on Information Systems10.1145/3535511.3535538(1-8)Online publication date: 16-May-2022
  • (2020)Functional Requirements Elicitation in IoT Systems: a follow-up studyProceedings of the XIX Brazilian Symposium on Software Quality10.1145/3439961.3439975(1-10)Online publication date: 1-Dec-2020
  • (2019)Improving Urban Mobility for the Visually Impaired using the Awareness QualityProceedings of the XVIII Brazilian Symposium on Software Quality10.1145/3364641.3364649(59-68)Online publication date: 28-Oct-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media