Skip to main content
Log in

Enabling automated requirements reuse and configuration

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

A system product line (PL) often has a large number of reusable and configurable requirements, which in practice are organized hierarchically based on the architecture of the PL. However, the current literature lacks approaches that can help practitioners to systematically and automatically develop structured and configuration-ready PL requirements repositories. In the context of product line engineering and model-based engineering, automatic requirements structuring can benefit from models. Such a structured PL requirements repository can greatly facilitate the development of product-specific requirements repository, the product configuration at the requirements level, and the smooth transition to downstream product configuration phases (e.g., at the architecture design phase). In this paper, we propose a methodology with tool support, named as Zen-ReqConfig, to tackle the above challenge. Zen-ReqConfig is built on existing model-based technologies, natural language processing, and similarity measure techniques. It automatically devises a hierarchical structure for a PL requirements repository, automatically identifies variabilities in textual requirements, and facilitates the configuration of products at the requirements level, based on two types of variability modeling techniques [i.e., cardinality-based feature modeling (CBFM) and a UML-based variability modeling methodology (named as SimPL)]. We evaluated Zen-ReqConfig with five case studies. Results show that Zen-ReqConfig can achieve a better performance based on the character-based similarity measure Jaro than the term-based similarity measure Jaccard. With Jaro, Zen-ReqConfig can allocate textual requirements with high precision and recall, both over 95% on average and identify variabilities in textual requirements with high precision (over 97% on average) and recall (over 94% on average). Zen-ReqConfig achieved very good time performance: with less than a second for generating a hierarchical structure and less than 2 s on average for allocating a requirement. When comparing SimPL and CBFM, no practically significant difference was observed, and they both performed well when integrated with Zen-ReqConfig.

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.

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
Fig. 18
Fig. 19
Fig. 20

Similar content being viewed by others

References

  1. Pohl, K.: Requirements Engineering: Fundamentals, Principles, and Techniques. Springer Publishing Company, Incorporated, Berlin (2010)

  2. Boehm, B.: A view of 20th and 21st century software engineering. In: Proceedings of the 28th International Conference on Software Engineering, pp. 12–29. ACM (2006)

  3. Pohl, K., Böckle, G., Van Der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Berlin (2005)

    Book  MATH  Google Scholar 

  4. Behjati, R., Yue, T., Briand, L., Selic, B.: SimPL: a product-line modeling methodology for families of integrated control systems. Inf. Softw. Technol. 55(3), 607–629 (2013)

    Article  Google Scholar 

  5. Society, I.C., Committee, S.E.S., Board, I.-S.S.: IEEE recommended practice for software requirements specifications. Inst. Electr. Electron. Eng. 1998, 1–40 (1998)

  6. Štuikys, V., Damaševičius, R.: Measuring complexity of domain models represented by feature diagrams. Inf. Technol. Control 38, 3 (2015)

    MATH  Google Scholar 

  7. Jacobson, I., Booch, G., Rumbaugh, J., Rumbaugh, J., Booch, G.: The Unified Software Development Process. Addison-Wesley, Reading (1999)

    Google Scholar 

  8. Iglesias, A., Lu, H., Arellano, C., Yue, T., Ali, S., Sagardui, G.: Product line engineering of monitoring functionality in industrial cyber-physical systems: a domain analysis. In: The International Systems and Software Product Line Conference, pp 195–204 (2017)

  9. Yue, T., Ali, S., Selic, B.: Cyber-physical system product line engineering: comprehensive domain analysis and experience report. In: The International Conference, pp. 338–347 (2015)

  10. Gomaa, H., Kerschberg, L.: Domain modeling for software reuse and evolution. In: Proceedings of Computer Assisted Software Engineering Workshop (CASE 95) (1995)

  11. Safdar, S.A., Yue, T., Ali, S., Lu, H.: Evaluating variability modeling techniques for supporting cyber-physical system product line engineering. In: International Conference on System Analysis and Modeling, pp. 1–19. Springer (2016)

  12. Lee, K., Kang, K.C., Lee, J.: Concepts and guidelines of feature modeling for product line software engineering. In: International Conference on Software Reuse, pp. 62–77. Springer (2002)

  13. Czarnecki, K., Kim, C.H.P.: Cardinality-based feature modeling and constraints: a progress report. In: International Workshop on Software Factories, pp. 16–20 (2005)

  14. Haugen, Wasowski, A., Czarnecki, K.: common variability language. SPLC 2, 266–267 (2012)

    Article  Google Scholar 

  15. Lu, H., Yue, T., Ali, S., Zhang, L.: Model-based incremental conformance checking to enable interactive product configuration. Inf. Softw. Technol. 72, 68–89 (2016)

    Article  Google Scholar 

  16. Lu, H., Yue, T., Ali, S., Nie, K., Zhang, L.: Zen-CC: An automated and incremental conformance checking solution to support interactive product configuration. In: Software Reliability Engineering (ISSRE), 2014 IEEE 25th International Symposium on IEEE, pp. 13–22 (2014)

  17. Lu, H., Yue, T., Ali, S., Zhang, L.: Nonconformity resolving recommendations for product line configuration. In: IEEE International Conference on Software Testing, Verification and Validation, pp. 57–68 (2016)

  18. Nie, K., Yue, T., Ali, S.: Towards a search-based interactive configuration of cyber physical system product lines. In: Demos/Posters/StudentResearch@MoDELS, pp. 71–75 (2013)

  19. Yue, T., Ali, S., Lu, H., Nie, K.: Search-based decision ordering to facilitate product line engineering of cyber-physical system. In: International Conference on Model-Driven Engineering and Software Development, pp. 691–703 (2017)

  20. Quinton, C., Romero, D., Duchien, L.: Cardinality-based feature models with constraints: a pragmatic approach. In: Proceedings of the 17th International Software Product Line Conference, pp. 162–166. ACM (2013)

  21. Hwan, C., Kim, P., Czarnecki, K.: Synchronizing cardinality-based feature models and their specializations. In: European Conference on Model Driven Architecture-Foundations and Applications, pp. 331–348. Springer (2005)

  22. UML 2.0 OCL specification, Technical Report, Object Management Group (2004)

  23. Nie, K., Yue, T., Ali, S., Zhang, L., Fan, Z.: Constraints: The Core of Supporting Automated Product Configuration of Cyber-Physical Systems. Springer, Berlin, Heidelberg (2013)

    Google Scholar 

  24. Safdar, S.A., Lu, H., Yue, T., Ali, S.: Mining cross product line rules with multi-objective search and machine learning. In: The Genetic and Evolutionary Computation Conference, pp. 1319–1326 (2017)

  25. The Unified Modeling Language (UML). http://www.uml.org/

  26. The UML Profile for MARTE: Modeling and Analysis of Real-Time and Embedded Systems. http://www.omgmarte.org/

  27. Documents Associated With Requirements Interchange \(\text{Format}^{{\rm TM}}\) (\(\text{ ReqIF }^{{\rm TM}}\)), 1.1. document formal/2013-10-01. Technical report, OMG (2013)

  28. Li, Y., Yue, T., Ali, S., Zhang, L.: Zen-ReqOptimizer: a search-based approach for requirements assignment optimization. Empir. Softw. Eng. 22(1), 175–234 (2016)

  29. Gomaa, W.H., Fahmy, A.A.: A survey of text similarity approaches. Int. J. Comput. Appl. 68, 13 (2013)

    Google Scholar 

  30. Zhang, H., Wang, S., Yue, T., Ali, S., Liu, C.: Search and similarity based selection of use case scenarios: an empirical study. Empir. Softw. Eng. 1–78 (2017)

  31. Bilenko, M., Mooney, R., Cohen, W., Ravikumar, P., Fienberg, S.: Adaptive name matching in information integration. IEEE Intell. Syst. 18(5), 16–23 (2003)

    Article  Google Scholar 

  32. Cohen, W.W., Ravikumar, P.D., Fienberg, S.E.: A comparison of string distance metrics for names and records. In: IIWeb, pp. 73–78 (2003)

  33. Niwattanakul, S., Singthongchai, J., Naenudorn, E., Wanapu, S.: Using of Jaccard coefficient for keywords similarity. In: Proceedings of the International Multi-Conference of Engineers and Computer Scientists (2013)

  34. Handling System. http://www.mhi.org/

  35. Software Product Line Online Tools. http://www.splot-research.org/

  36. Neiva, D., De Almeida, F.C., De Almeida, E.S., Meira, S.L.: A requirements engineering process for software product lines. In: Information Reuse and Integration (IRI), 2010 IEEE International Conference on IEEE, pp. 266–269 (2010)

  37. Moon, M., Yeom, K., Chae, H.S.: An approach to developing domain requirements as a core asset based on commonality and variability analysis in a product line. Softw. Eng. IEEE Trans. 31(7), 551–569 (2005)

    Article  Google Scholar 

  38. Käkölä, T., Dueñas, J.C.: Software Product Lines: Research Issues in Engineering and Management. Springer, Berlin (2007)

    Google Scholar 

  39. Kuusela, J., Savolainen, J.: Requirements engineering for product families. In: Proceedings of the 22nd International Conference on Software Engineering, pp. 61–69. ACM (2000)

  40. Niu, N., Easterbrook, S.: Extracting and modeling product line functional requirements. In: International Requirements Engineering, 2008. RE’08. 16th IEEE, pp. 155–164 (2008)

  41. Bragança, A., Machado, R.J.: Automating mappings between use case diagrams and feature models for software product lines. In: Software Product Line Conference, 2007. SPLC 2007. 11th International IEEE, pp. 3–12 (2007)

  42. Alves, V., Niu, N., Alves, C., Valença, G.: Requirements engineering for software product lines: a systematic literature review. Inf. Softw. Technol. 52(8), 806–820 (2010)

    Article  Google Scholar 

  43. Schmid, K., Krennrich, K., Eisenbarth, M.: Requirements management for product lines: extending professional tools. In: Software Product Line Conference, 2006 10th International IEEE, pp. 10–122 (2006)

  44. Weston, N., Chitchyan, R., Rashid, A.: A framework for constructing semantically composable feature models from natural language requirements. In: Proceedings of the 13th International Software Product Line Conference Carnegie Mellon University, pp. 211–220 (2009)

  45. Kim, J., Kim, M., Park, S.: Goal and scenario based domain requirements analysis environment. J. Syst. Softw. 79(7), 926–938 (2006)

    Article  Google Scholar 

  46. Blanes, D., Insfran, E.: A comparative study on model-driven requirements engineering for software product lines. Revista de Sistemas e Computação-RSC 2, 1 (2012)

    Google Scholar 

  47. Dhungana, D., Grünbacher, P., Rabiser, R.: The DOPLER meta-tool for decision-oriented variability modeling: a multiple case study. Autom. Softw. Eng. 18(1), 77–114 (2011)

    Article  Google Scholar 

  48. Coelho, K., Batista, T.: From Requirements to Architecture for Software Product Lines. In: 2011 Ninth Working IEEE/IFIP Conference on Software Architecture (2011)

  49. Netto, D., Silva, C.: Promoting Modularity in a Requirements Engineering Process for Software Product Lines. In: New Advances in Information Systems and Technologies, pp. 599–608. Springer (2016)

  50. Iec Functional safety of electrical/electronic/programmable electronic safety-related systems.IEC 61508 (2010)

  51. Iso Road vehicles-Functional safety.ISO 26262 (2011)

  52. Hoffmann, M., Kühn, N., Weber, M., Bittner, M.: Requirements for requirements management tools. In: Requirements Engineering Conference, 2004. Proceedings. 12th IEEE International IEEE, pp. 301–308 (2004)

  53. Diev, S.: Structuring complex requirements. ACM SIGSOFT Softw. Eng. Notes 32(2), 1–5 (2007)

    Google Scholar 

  54. Savolainen, J., Vehkomäki, T., Mannion, M.: An integrated model for requirements structuring and architecture design. In: Proceedings of the Seventh Australian Workshop on Requirements Engineering, Melbourne (2002)

  55. Klute, S., Refflinghaus, R.: Structuring requirements as necessary premise for customer-oriented development of complex products: A generic approach. J. Ind. Eng. Manag. 4(3), 523–537 (2011)

    Google Scholar 

  56. Müller, P., Stark, R.: Detecting and structuring requirements for the development of product-service systems. In: 19th Symposium on Design for X, pp. 1–10 (2008)

  57. Bhatia, J., Sharma, R., Biswas, K.K., Ghaisas, S.: Using grammatical knowledge patterns for structuring requirements specifications. In: 2013 IEEE Third International Workshop on Requirements Patterns (RePa) IEEE, pp. 31–34 (2013)

  58. Schätz, B., Fleischmann, A., Geisberger, E., Pister, M.: Model-based requirements engineering with AutoRAID. In: GI Jahrestagung (2) Citeseer, pp. 511–515 (2005)

  59. Moon, M., Chae, H.S., Yeom, K.: A metamodel approach to architecture variability in a product line. In: Reuse of Off-the-Shelf Components, pp. 115–126. Springer (2006)

  60. Yue, T., Ali, S., Descour, A., Gan, Q., Liaaen, M., Merkesvik, G.M., Nielsen, B.K., Nygard, J., Olafsen, B.O., Waal, A.L.: Exploring model-based repositories for a broad range of industrial applications and challenges. In: Quality Software (QSIC), 2014 14th International Conference on IEEE, pp. 37–46 (2014)

  61. Lempia, D.L., Miller, S.P.: Requirements engineering management handbook. National Technical Information Service (NTIS) 1 (2009)

  62. Boyd Jr, J.A.: Allocation of reliability requirements: a new approach. In: Reliability and Maintainability Symposium, 1992. Proceedings, Annual IEEE, pp. 5–6 (1992)

  63. Vintr, Z., Holub, R.: R&M requirements allocation in upgrading a system. In: Reliability and Maintainability Symposium, 2001. Proceedings of Annual IEEE, pp. 258–263 (2001)

  64. Flanigan, D., Brouse, P.: System of systems requirements capacity allocation. Procedia Comput. Sci. 8, 112–117 (2012)

    Article  Google Scholar 

  65. Luman, R.R.: Integrating cost and performance models to determine requirements allocation for complex systems. Johns Hopkins APL Tech. Digest 21(3), 408–425 (2000)

    Google Scholar 

  66. Dag, J.N.O., Regnell, B., Gervasi, V., Brinkkemper, S.: A linguistic-engineering approach to large-scale requirements management. IEEE Softw. 22(1), 32–39 (2005)

    Article  Google Scholar 

  67. Herrera, J., Macia, I., Salas, P., Pinho, R., Vargas, R., Garcia, A., Araújo, J., Breitman, K.: Revealing crosscutting concerns in textual requirements documents: an exploratory study with industry systems. In: Software Engineering (SBES), 2012 26th Brazilian Symposium on IEEE, pp. 111–120 (2012)

  68. Chantree, F., Nuseibeh, B., De Roeck, A., Willis, A.: Identifying nocuous ambiguities in natural language requirements. In: 14th IEEE International Requirements Engineering Conference (RE’06) IEEE, pp. 59–68 (2006)

  69. Shah, U.S., Jinwala, D.C.: Resolving ambiguities in natural language software requirements: a comprehensive survey. ACM SIGSOFT Softw. Eng. Notes 40(5), 1–7 (2015)

    Article  Google Scholar 

  70. Yang, H., De Roeck, A., Gervasi, V., Willis, A., Nuseibeh, B.: Extending nocuous ambiguity analysis for anaphora in natural language requirements. In: 2010 18th IEEE International Requirements Engineering Conference IEEE, pp. 25–34 (2010)

  71. Yue, T., Briand, L.C., Labiche, Y.: Facilitating the transition from use case models to analysis models: approach and experiments. ACM Trans. Softw. Eng. Methodol. (TOSEM) 22(1), 5 (2013)

    Article  Google Scholar 

  72. Yue, T., Briand, L.C., Labiche, Y.: aToucan: an automated framework to derive UML analysis models from use case models. ACM Trans. Softw. Eng. Methodol. (TOSEM) 24(3), 13 (2015)

    Article  Google Scholar 

  73. Harmain, H.M., Gaizauskas, R.: CM-Builder: An automated NL-based CASE tool. In: Automated Software Engineering, 2000. Proceedings ASE 2000. The Fifteenth IEEE International Conference on IEEE, pp. 45–53 (2000)

  74. Hasegawa, R., Kitamura, M., Kaiya, H., Saeki, M.: Extracting conceptual graphs from Japanese documents for software requirements modeling. In: Proceedings of the Sixth Asia-Pacific Conference on Conceptual Modeling-Volume 96 Australian Computer Society, Inc., pp. 87–96 (2009)

  75. Dawood, O.S.: From requirements engineering to UML using Natural Language Processing-Survey Study. Eur. J. Eng. Res. Sci. 2(1), 44–50 (2017)

    Article  Google Scholar 

  76. Deeptimahanti, D.K., Babar, M.A.: An automated tool for generating UML Models from natural language requirements. In: IEEE/ACM International Conference on Automated Software Engineering, pp. 680–682 (2009)

  77. Kamarudin, N.J., Sani, N.F.M., Atan, R.: Automated transformation approach from user requirement to behavior design. J Theor Appl Inf Technol 81(1), 73 (2015)

  78. Deeptimahanti, D.K., Sanyal, R.: An Innovative Approach for Generating Static UML Models from Natural Language Requirements. Springer, Berlin, Heidelberg (2009)

    Book  Google Scholar 

  79. Gulia, S., Choudhury, T.: An efficient automated design to generate UML diagram from Natural Language Specifications. In: International Conference—Cloud System and Big Data Engineering, pp. 641–648 (2016)

  80. Sharma, R., Gulia, S., Biswas, K.K.: Automated generation of activity and sequence diagrams from natural language requirements. In: International Conference on Evaluation of Novel Approaches To Software Engineering, pp. 1–9 (2014)

  81. Sundaram, S.K., Hayes, J.H., Dekhtyar, A., Holbrook, E.A.: Assessing traceability of software engineering artifacts. Requir. Eng. 15(3), 313–335 (2010)

    Article  Google Scholar 

  82. Duan, C., Cleland-Huang, J.: Clustering support for automated tracing. In: IEEE/ACM International Conference on Automated Software Engineering, pp. 244–253 (2007)

  83. Marcus, A., Maletic, J.I.: Recovering documentation-to-source-code traceability links using latent semantic indexing. In: Proceedings of the 25th International Conference on Software Engineering (2003), pp. 125–135 (2003)

  84. Uusitalo, E.J., Komssi, M., Kauppinen, M., Davis, A.M.: Linking requirements and testing in practice. IEEE International Requirements Engineering Conference, RE 2008, 8–12 September 2008, pp. 265–270. Catalunya, Spain, Barcelona (2008)

  85. Falessi, D., Cantone, G., Canfora, G.: Empirical principles and an industrial case study in retrieving equivalent requirements via natural language processing techniques. IEEE Trans. Software Eng. 39(1), 18–44 (2013)

    Article  Google Scholar 

  86. Arellano, A., Carney, E., Austin, M.A.: Natural Language Processing of Textual Requirements. In: The Tenth International Conference on Systems (ICONS 2015), Barcelona, Spain, pp. 93–97 (2015)

  87. Barker, K., Cornacchia, N.: Using noun phrase heads to extract document keyphrases. In: Advances in Artificial Intelligence, pp. 40–52. Springer (2000)

  88. Yue, T., Briand, L.C., Labiche, Y.: An automated approach to transform use cases into activity diagrams. In: Modelling Foundations and Applications, pp. 337–353. Springer (2010)

  89. De Marneffe, M.-C., Manning, C.D.: The Stanford typed dependencies representation. In: Coling 2008: Proceedings of the Workshop on Cross-Framework and Cross-Domain Parser Evaluation Association for Computational Linguistics, pp. 1–8 (2008)

  90. Stanford Parser 3.5. http://nlp.stanford.edu/software/lex-parser.shtml

  91. Andrews, A.: The major functions of the noun phrase. In: T. Shopen (ed.) Language Typology and Syntactic Description, pp. 64–154. Cambridge University Press, Cambridge (2007)

  92. Noun phrase. http://grammar.about.com/od/mo/g/nounphraseterm.htm

  93. 29148-2011, I.I.I.S., 2011. Systems and Software Engineering—Life Cycle Processes—Requirements Engineering

  94. Valdes, A., Skinner, K.: Probabilistic alert correlation. In: International Workshop on Recent Advances in Intrusion Detection, pp. 54–68. Springer (2001)

  95. ProR Requirements Engineering Platform. http://www.eclipse.org/rmf/pror/

  96. Mendonca, M., Wąsowski, A., Czarnecki, K.: SAT-based analysis of feature models is easy. In: Proceedings of the 13th International Software Product Line Conference Carnegie Mellon University, pp. 231–240 (2009)

  97. Rubin, D.L., Noy, N.F., Musen, M.A.: Protege: a tool for managing and using terminology in radiology applications. J. Digit. Imaging 20(1), 34–46 (2007)

    Article  Google Scholar 

  98. Rudolph, S., Völker, J., Hitzler, P.: Supporting lexical ontology learning by relational exploration, pp. 488–491. Knowledge Architectures for Smart Applications, Conceptual Structures (2007)

  99. Society, I.C., 2014. 730-2014 - IEEE Standard for Software Quality Assurance Processes

  100. Al Faruque, M.A., Ahourai, F.: A model-based design of cyber-physical energy systems. In: Design Automation Conference (ASP-DAC). 2014 19th Asia and South Pacific IEEE, pp. 97–104 (2014)

  101. Kapos, G.-D., Dalakas, V., Tsadimas, A., Nikolaidou, M., Anagnostopoulos, D.: Model-based system engineering using SysML: Deriving executable simulation models with QVT. In: Systems Conference (SysCon), 2014 8th Annual IEEE IEEE, pp. 531–538 (2014)

  102. Chen, D., Manning, C.D.: A Fast and Accurate Dependency Parser using Neural Networks. In: EMNLP, 740–750 (2014)

  103. Variant Management with Pure: Consul. Technical White Paper Report. Pure-systems GmbH

  104. Eclipse Modeling Framework. https://www.eclipse.org/modeling/emf/

  105. Sayyad, A.S., Ammar, H., Menzies, T.: Software feature model recommendations using data mining. In: 2012 Third International Workshop on Recommendation Systems for Software Engineering (RSSE) IEEE, pp. 47–51 (2012)

  106. Cohen, W., Ravikumar, P., Fienberg, S.: Secondstring: An open source java toolkit of approximate string-matching techniques. Project web page: http://secondstring.sourceforge.net (2003)

  107. Requirements Modeling Framework http://download.eclipse.org/rmf/documentation/rmf-latex/main.html

  108. IBM Rational DOORS. http://www.ibm.com/developerworks/downloads/r/doorswebaccess/

  109. Le Berre, D., Parrain, A.: The sat4j library, release 2.2, system description. J. Satisf. Boolean Model. Comput. 7, 59–64 (2010)

    Google Scholar 

  110. Carner, P.: Project Domus: Designing Effective Smart Home Systems. B.Sc. in Information Systems and Information Technology (DT249) to the School of Computing, Faculty of Science, Dublin Institute of Technology (2009)

  111. Bai, Y., Bai, Q.: Subsea Engineering Handbook. Gulf Professional Publishing, Houston (2012)

    Google Scholar 

  112. Blossom, A., Gebhard, D., Emelander, S., Meyer, R.: Software Requirements Specification (SRS) Book E-Commerce System (BECS)

  113. Video Client Manual. http://resource.boschsecurity.com/documents/Video_Client_1.6_SM_Operation_Manual_enUS_1958284811.pdf

  114. jMetal. http://jmetal.sourceforge.net/

  115. Powers, D.M.: Evaluation: from precision, recall and F-measure to ROC, informedness, markedness and correlation. J. Mach. Learn. Technol. 2, 2229–3981 (2011)

  116. Claes, W., Per, R., Martin, H., Magnus, C., Björn, R., Wesslén, A.: Experimentation in software engineering: an introduction. Online Available: http://books.google.com/books (2000)

  117. Baeza-Yates, R.A., Ribeiro-Neto, B.: Modern Information Retrieval. Addison Wesley, Boston (2011)

    Google Scholar 

  118. Metzger, A., Pohl, K.: Software product line engineering and variability management: achievements and challenges. In: Proceedings of the on Future of Software Engineering, pp. 70–84. ACM (2014)

  119. Jastram, M.: ProR, an open source platform for requirements engineering based on RIF. In: Systems Engineering Infrastructure Conference (2010)

  120. Berger, T., Rublack, R., Nair, D., Atlee, J.M., Becker, M., Czarnecki, K., Wąsowski, A.: A survey of variability modeling in industrial practice. In: Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems ACM, 7 (2013)

  121. Czarnecki, K., Bednasch, T., Unger, P., Eisenecker, U.: Generative programming for embedded software: An industrial experience report. In: International Conference on Generative Programming and Component Engineering, pp. 156–172. Springer (2002)

Download references

Acknowledgements

The work is funded by the Zen-Configurator project (Grant No. 240024/F20). Tao Yue and Shaukat Ali are also supported by U-Test (Grant No. 645463), MBE-CR (Grant No. 239063), and MBT4CPS (Grant No. 240013/O70) projects. Yan Li is supported by the exchange program between the Research Council of Norway and China Scholarship Council (No. 263920/H30). The work is also partially supported by the National Natural Science Foundation of China (No. 61672078) and the project of Beihang University (No. SKLSDE-2016ZX-10).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tao Yue.

Additional information

Communicated by Professor Hong Mei.

Appendices

Appendix A: Experiments results of structuring requirements

We calculated \(P_{{ req}} \) and \(R_{{ req}} \) for structuring requirements based on two similarity measures (Jaro and Jaccard similarity), two types of model notations (SimPL and CBFM), under different \({ mcAlloc}\) values as shown in Table 8. Zen-ReqConfig achieved the same performance for \(P_{{ req}} \) and \(R_{{ req}} \) based on the two modeling notations (SimPL and CBFM).

Table 8 Results of requirements allocation for the five case studies

Appendix B: Transformation rules for dealing with SimPL

To generate structSpecification, Zen-ReqConfig traverses through the SimPL model by following composition associations between classes. Along the traversal, each class is processed with a set of transformation rules shown in Table 9. In this appendix, we present details of the transformation rules.

1.1 (1) Rule set A-structure

Each class in the SimPL model is transformed into a ReqIF::SpecHierarchy (RA1). To store the information of the attributes of each class (if any) and its name in the ReqIF model, a ReqIF::SpecObject is generated and associated with the ReqIF::SpecHierarchy corresponding to the class (RA2). Each generated ReqIF::SpecObject contains a list of ReqIF::AttributeValues (RA4), typed with ReqIF::AttributeValueBoolean (RA4.1), ReqIF::AttributeValueInteger (RA4.2), ReqIF::AttributeValueReal (RA4.3), ReqIF::AttributeValueString (RA4.4) and/or ReqIF::AttributeValueEnumeration (RA4.5), corresponding to UML’s Boolean, Integer, Real, String or Enumeration types. By following composition associations between classes, the hierarchical structure can be generated. For an attribute of a class, typed with another class, Zen-ReqConfig processes it only when the attribute is ‘Composite’. The other class is processed as a new class; thus RA is invoked to process it and another ReqIF::SpecHierarchy is generated and added to the repository as a subhierarchy of the ReqIF::SpecHierarchy for the class containing the attribute (RA4.6).

Table 9 Transformation rules for dealing with SimPL

In the running example, when processing class HandlingSystem, a ReqIF::SpecHierarchy and a related ReqIF::SpecObject are generated, i.e., ‘HandlingSystem’ in Fig. 6 (b). The generated ReqIF::SpecObject contains all the properties of class HandlingSystem. For example, its name (‘HandlingSystem’) is transformed into a ReqIF::AttributeValueString of the generated ReqIF::SpecObject (RA3).

1.2 (2) Rule set B-variability

Zen-ReqConfig generates varSpecification for containing variability information that can be extracted from SimPL::VariabilityPoints and SimPL::ConfigurationUnits of the SimPL model. To represent VPs in textual requirements, Zen-ReqConfig extends ReqIF::AttributeValueString by introducing VariabilityInText (Fig. 4). Rule RB (shown in Table 9) is used to transform SimPL::ConfigurationUnits and their VPs to be stored in varSpecification.

For each SimPL::ConfigurationUnit, Zen-ReqConfig obtains its SimPL::RelatedConfigUnit dependency by querying the SimPL model (RB1). Via this dependency, the associated class is acquired (RB2). For each SimPL::VariabilityPoint of the SimPL::ConfigurationUnit, Zen-ReqConfig generates a ReqIF::SpecHierarchy and a ReqIF::SpecObject (RB3). The ReqIF::SpecObject contains three ReqIF::AttributeValues: name of the class to which the SimPL::ConfigurationUnit is associated (RB3.1), name of the template parameter (RB3.2) and the configuration data typed with the type of the SimPL::VariabilityPoint (RB3.3). Configuration data can be obtained when configuring a product at the RE level (Sect. 4.4).

1.3 (3) Rule set C-keywords and synonyms

Rule RC (shown in Table 9) is used to transform a class to ReqIF model elements to be stored in kwSpecification. The transformation starts from judging if a class is reflected in the structure of the requirements repository (RC1). If the result is positive, a keyword is generated and added to kwSpecification. Specifically, there are five sequential steps to complete RC1 by generating (1) a ReqIF::SpecHierarchy (RC1.1), (2) a related ReqIF::SpecObject (RC1.2), (3) a ReqIF::AttributeValueString to save the class name as the keyword (RC1.3), (4) a ReqIF::AttributeValueString to save the synonyms (if there are any) (RC1.4), and (5) appending the name of each subtype of the class (if there is any) to the ReqIF::AttributeValueString generated in RC1.4 as the synonyms of the keyword (RC1.5).

For class Sensor of the running example (Fig. 5), it has been processed based on RA and corresponding ReqIF model elements have been generated as part of structSpecification. Therefore, based on RC1, a ReqIF::SpecHierarchy and a related ReqIF::SpecObject are generated (RC1.1-RC1.2). In addition, two instances of ReqIF::AttributeValueString are generated for the ReqIF::SpecObject: one for the keyword with the value of ‘Sensor’ (RC1.3) and the other for its synonym (RC1.4), i.e., the name of the subtype of class Sensor (RC1.5) (‘MagneticGuideSensor’), as shown in Fig. 6 (d).

Appendix C: Transformation rules for dealing with CBFM

To generate structSpecification, Zen-ReqConfig traverses through the feature tree in the CBFM model to generate the structure, meanwhile generate variability information. The transformation rules for processing the feature tree are shown in Table 10.

1.1 (1) Rule set D-structure

Each node in the feature tree of the CBFM model is transformed into a ReqIF::SpecHierarchy (RD1). To store the information of the node (that is its name) in the ReqIF model, a ReqIF::SpecObject is generated and associated with the ReqIF::SpecHierarchy corresponding to the class (RD2) and the ReqIF::SpecObject contains ReqIF::AttributeValueStrings for the name of node (RD3) and attributes (RD4).

Table 10 Transformation rules for dealing with CBFM

1.2 (2) Rule set E-variability

Zen-ReqConfig generates varSpecification for containing variability information that can be extracted from the feature tree of the CBFM model. Rule RE (shown in Table 10) is used to transform the information in the feature tree to be stored in varSpecification.

For each node in the feature tree, Zen-ReqConfig transforms each pair \(<\hbox {node}\), \(\hbox {subNode}>\) into varSpecification. Zen-ReqConfig generates a ReqIF::SpecHierarchy and a ReqIF::SpecObject (RE1.1) for the pair. The ReqIF::SpecObject contains three ReqIF::AttributeValues: name of the node (RE1.2), name of the subNode (RE1.3) and the configuration data typed with ReqIF::AttributeValueInteger (RE1.4). Configuration data can be obtained when configuring a product at the RE level (Sect. 4.4).

1.3 (3) Rule set F-keywords and synonyms

Rule RF (shown in Table 10) is used to transform a node in the feature tree of CBFM to ReqIF model elements to be stored in kwSpecification. There are four sequential steps to complete RF1 by generating (1) a ReqIF::SpecHierarchy (RF1.1), (2) a related ReqIF::SpecObject (RF1.2), (3) a ReqIF::AttributeValueString to save the node name as the keyword (RF1.3), and (4) a ReqIF::AttributeValueString to save the synonyms (RF1.4).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Li, Y., Yue, T., Ali, S. et al. Enabling automated requirements reuse and configuration. Softw Syst Model 18, 2177–2211 (2019). https://doi.org/10.1007/s10270-017-0641-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-017-0641-6

Keywords

Navigation