Abstract
In many domains such as automotive and avionics, the size and complexity of software systems is quickly increasing. At the same time, many stakeholders tend to be involved in the development of such systems, which typically must also be configured for multiple customers with varying needs. Product Line Engineering (PLE) is therefore an inevitable practice for such systems. Furthermore, because in many areas requirements must be explicit and traceability to them is required by standards, use cases and domain models are common practice for requirements elicitation and analysis. In this paper, based on the above observations, we aim at supporting PLE in the context of use case-centric development. Therefore, we propose, apply, and assess a use case-driven configuration approach which interactively receives configuration decisions from the analysts to generate product-specific (PS) use case and domain models. Our approach provides the following: (1) a use case-centric product line modeling method (PUM), (2) automated, interactive configuration support based on PUM, and (3) an automatic generation of PS use case and domain models from Product Line (PL) models and configuration decisions. The approach is supported by a tool relying on Natural Language Processing (NLP) and integrated with an industrial requirements management tool, i.e., IBM DOORS. We successfully applied and evaluated our approach to an industrial case study in the automotive domain, thus showing evidence that the approach is practical and beneficial to capture variability at the appropriate level of granularity and to configure PS use case and domain models in industrial settings.
Similar content being viewed by others
References
Alférez, M., Bonifácio, R., Teixeira, L., Accioly, P., Kulesza, U., Moreira, A., Araújo, J., Borba, P.: Evaluating scenario-based SPL requirements approaches: the case for modularity, stability and expressiveness. Requir. Eng. J. 19, 355–376 (2014)
Alferez, M., Kulesza, U., Moreira, A., Araujo, J., Amaral, V.: Tracing between features and use cases: a model-driven approach. In: VAMOS’08, pp. 81–88 (2008)
Alférez, M., Santos, J., Moreira, A., Garcia, A., Kulesza, U., Araújo, J., Amaral, V.: Multi-view composition language for software product line requirements. In: SLE’09, pp. 103–122 (2009)
Alves, V., Niu, N., Alves, C., Valença, G.: Requirements engineering for software product lines: a systematic review. Inf. Softw. Technol. 52, 806–820 (2010)
Armour, F., Miller, G.: Advanced Use Case Modeling: Software Systems. Addison-Wesley Longman Publishing Co., Inc., Boston, MA (2001)
Arora, C., Sabetzadeh, M., Goknil, A., Briand, L.C., Zimmer, F.: Change impact analysis for natural language requirements: an NLP approach. In: RE’15, pp. 6–15 (2015)
Arora, C., Sabetzadeh, M., Goknil, A., Briand, L.C., Zimmer, F.: NARCIA: an automated tool for change impact analysis in natural language requirements. In: ESEC/SIGSOFT FSE 2015, pp. 962–965 (2015)
Batory, D.: Feature models, grammars, and propositional formulas. In: SPLC’05, pp. 7–20 (2005)
Benavides, D., Segura, S., Ruiz-Cortes, A.: Automated analysis of feature models 20 years later: a literature review. Inf. Syst. 35(6), 615–636 (2010)
Benavides, D., Trinidad, P., Ruiz-Cortes, A.: Automated reasoning on feature models. In: CAiSE’05, pp. 491–503 (2005)
Biddle, R., Noble, J., Tempero, E.: Supporting reusable use cases. In: ICSR’02, pp. 210–226 (2002)
Blanes, D., Gonzalez-Huerta, J., Insfran, E.: A multimodel approach for specifying the requirements variability on software product lines. In: ISD’14, pp. 329–336 (2014)
Bonifácio, R., Borba, P.: Modeling scenario variability as crosscutting mechanisms. In: AOSD’09, pp. 125–136 (2009)
Bonifácio, R., Borba, P., Ferraz, C., Accioly, P.: Empirical assessment of two approaches for specifying software product line use case scenarios. Softw. Syst. Model. 1–27 (2015)
Bonifácio, R., Borba, P., Soares, S.: On the benefits of scenario variability as croscutting. In: EA-AOSD’08, pp. 1–6 (2008)
Braganca, A., Machado, R.J.: Automating mappings between use case diagrams and feature models for software product lines. In: SPLC’07, pp. 3–12 (2007)
Buhne, S., Halmans, G., Lauenroth, K., Pohl, K.: Scenario-based application requirements engineering. In: Käkölä, T., Duenas, JC. (eds.) Software Product Lines. Springer, Berlin (2006)
Buhne, S., Halmans, G., Pohl, K.: Modeling dependencies between variation points in use case diagrams. In: REFSQ’03, pp. 59–69 (2003)
Choi, W.S., Kang, S., Choi, H., Baik, J.: Automated generation of product use case scenarios in product line development. In: CIT’08, pp. 760–765 (2008)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley Longman Publishing Co., Inc., Boston, MA (2001)
Cockburn, A.: Writing Effective Use Cases. Addison-Wesley Longman Publishing Co., Inc., Boston, MA (2001)
Cunningham, H., et al.: Developing language processing components with gate version 8 (a user guide). http://gate.ac.uk/sale/tao/tao.pdf
Czarnecki, K., Antkiewicz, M.: Mapping features to models: A template approach based on superimposed variants. In: GPCE’05, pp. 422–437 (2005)
Czarnecki, K., Antkiewicz, M., Kim, C.H.P., Lau, S., Pietroszek, K.: fmp and fmp2rsm: eclipse plug-ins for modeling features using model templates. In: OOPSLA’05, pp. 200–201 (2005)
Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)
Dhungana, D., Grünbacher, P., Rabiser, R.: The DOPLER meta-tool for decision-oriented variability modeling: a multiple case study. Autom. Softw. Eng. 18, 77–114 (2011)
DOPLER (Decision Oriented Product Line Engineering for Effective Reuse). http://www.ase.jku.at/dopler/
Duran, A., Benavides, D., Segura, S., Trinidad, P., Ruiz-Cortes, A.: FLAME: a formal framework for the automated analysis of software product lines validated by automated specification testing. Softw. Syst. Model. 1–34. doi:10.1007/s10270-015-0503-z (2016)
Eclipse EMF. https://eclipse.org/modeling/emf/
Eriksson, M., Borstler, J., Asa, A.: Marrying features and use cases for product line requirements modeling of embedded systems. In: SERPS’04, pp. 73–82 (2004)
Eriksson, M., Borstler, J., Borg, K.: The PLUSS approach—domain modeling with features, use cases and use case realizations. In: SPLC’05, pp. 33–44 (2005)
Eriksson, M., Borstler, J., Borg, K.: Managing requirements specifications for product lines—an approach and industry case study. J. Syst. Softw. 82, 435–447 (2009)
Fantechi, A., Gnesi, S., John, I., Lami, G., Dorr, J.: Elicitation of use cases for product lines. In: PFE’03, pp. 152–167 (2004)
Fantechi, A., Gnesi, S., Lami, G., Nesti, E.: A methodology for the derivation and verification of use cases for product lines. In: SPLC’04, pp. 255–265 (2004)
Faulk, S.R.: Product-line requirements specification (PRS): an approach and case study. In: RE’01, pp. 48–55 (2001)
Forbus, K.D., Kleer, J.D.: Building Problem Solvers. MIT Press, Cambridge, Massachusetts (1993)
Goknil, A., Kurtev, I., van den Berg, K.: A metamodeling approach for reasoning about requirements. In: ECMDA-FA’08, pp. 310–325 (2008)
Goknil, A., Kurtev, I., van den Berg, K., Veldhuis, J.W.: Semantics of trace relations in requirements models for consistency checking and inferencing. Softw. Syst. Model. 10, 31–54 (2011)
Goknil, A., Kurtev, I., Millo, J.V.: A metamodeling approach for reasoning on multiple requirements models. In: EDOC’13, pp. 159–166 (2013)
Gomaa, H.: Object oriented analysis and modeling families of systems with UML. In: ICSR-6, pp. 89–99 (2000)
Hajri, I., Goknil, A., Briand, L.C., Stephany, T.: Applying product line use case modeling in an industrial automotive embedded system: lessons learned and a refined approach. In: MODELS’15, pp. 338–347 (2015)
Halmans, G., Pohl, K.: Communicating the variability of a software-product family to customers. Softw. Syst. Model. 2, 15–36 (2003)
IEE (International Electronics & Engineering) S.A. http://www.iee.lu/
John, I., Muthig, D.: Product line modeling with generic use cases. In: EMPRESS’04 (2004)
Kulak, D., Guiney, E.: Use Cases: Requirements in Context. Addison-Wesley Longman Publishing Co., Inc., Boston, MA (2003)
Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process. Prentice Hall PTR, Upper Saddle River, NJ, USA (2002)
Lauenroth, K., Pohl, K.: Towards automated consistency checks of product line requirements specifications. In: ASE’07, pp. 373–376 (2007)
Lauenroth, K., Pohl, K.: Dynamic consistency checking of domain requirements in product line engineering. In: RE’08, pp. 193–202 (2008)
Mendonca, M., Branco, M., Cowan, D.: S.P.L.O.T.-software product lines online tools. In: OOPSLA’09, pp. 761–762 (2009)
Moon, M., Yeom, K.: An approach to develop requirement as a core asset in product line. In: ICSR’04, pp. 23–34 (2004)
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. IEEE Trans. Softw. Eng. 31(7), 551–569 (2005)
Mussbacher, G., Araújo, J., Moreira, A., Amyot, D.: AoURN-based modeling and analysis of software product lines. Softw. Qual. J. 20, 645–687 (2012)
Myllärniemi, V., Asikainen, T., Männistö, T., Soininen, T.: Kumbang configurator—a configuration tool for software product families. In: IJCAI-05, pp. 51–57 (2005)
Nie, K., Yue, T., Ali, S., Zhang, L., Fan, Z.: Constraints: The core of supporting automated product configuration of cyber-physical systems. In: MODELS’13, pp. 370–387 (2013)
Nöhrer, A., Biere, A., Egyed, A.: Managing SAT inconsistencies with HUMUS. In: VaMoS’12, pp. 83–91 (2012)
Nöhrer, A., Egyed, A.: Conflict resolution strategies during product configuration. In: VaMoS’10, pp. 107–114 (2010)
Nöhrer, A., Egyed, A.: C2O configurator: a tool for guided decision-making. Autom. Softw. Eng. 20, 265–296 (2013)
Oppenheim, A.N.: Questionnaire Design. Interviewing and Attitude Measurement. Continuum, London (2005)
pure::variants for IBM Rational DOORS. http://www.pure-systems.com/DOORS.174.0.html
pure::variants. http://www.pure-systems.com/pure_variants.49.0.html
Rabiser, R., Grünbacher, P., Dhungana, D.: Requirements for product derivation support: results from a systematic literature review. Inf. Softw. Technol. 52, 324–346 (2010)
Rosa, M.L., van der Aalst, W.M.P., Dumas, M., ter Hofstede, A.H.M.: Questionnaire-based variability modeling for system configuration. Softw. Syst. Model. 8, 251–274 (2009)
Sinnema, M., Deelstra, S.: Industrial validation of COVAMOF. J. Syst. Softw. 81, 584–600 (2008)
Sinnema, M., Deelstra, S., Nijhuis, J., Bosch, J.: COVAMOF: a framework for modeling variability in software product families. In: SPLC’04, pp. 197–213 (2004)
Stoiber, R.: A new approach to product line engineering in model-based requirements engineering. Ph.D. thesis, University of Zurich (2012)
Stoiber, R., Fricker, S., Jehle, M., Glinz, M.: Feature unweaving: refactoring software requirements specifications into software product lines. In: RE’10, pp. 403–404 (2010)
Stoiber, R., Glinz, M.: Supporting stepwise, incremental product derivation in product line requirements engineering. In: VaMoS’10, pp. 77–84 (2010)
Sun, J., Zhang, H., Li, Y.F., Wang, H.: Formal semantics and verification for feature modeling. In: ICECCS’05, pp. 303–312 (2005)
Trinidad, P., Benavides, D., Duran, A., Ruiz-Cortes, A., Toro, M.: Automated error analysis for the agilization of feature modeling. J. Syst. Softw. 81, 883–896 (2008)
Trinidad, P., Ruiz-Cortes, A.: Abductive reasoning and automated analysis of feature models: how are they connected? In: VaMoS’09, pp. 145–153 (2009)
Varela, P., Araújo, J., Brito, I., Moreira, A.: Aspect-oriented analysis for software product lines requirements engineering. In: SAC’11, pp. 667–674 (2011)
Wang, B., Zhang, W., Zhao, H., Jin, Z., Mei, H.: A use case based approach to feature models’ construction. In: RE’09, pp. 121–130 (2009)
Wang, C., Pastore, F., Goknil, A., Briand, L.C., Iqbal, M.Z.Z.: Automatic generation of system test cases from use case specifications. In: ISSTA’15, pp. 385–396 (2015)
Wang, C., Pastore, F., Goknil, A., Briand, L.C., Iqbal, M.Z.Z.: UMTG: a toolset to automatically generate system test cases from use case specifications. ESEC/SIGSOFT FSE 2015, pp. 942–945 (2015)
Wang, H., Li, Y.F., Sun, J., Zhang, H., Pan, J.: A semantic web approach to feature modeling and verification. In: SWESE’05 (2005)
Weston, N., Chitchyan, R., Rashid, A.: A framework for constructing semantically composable feature models from natural language requirements. In: SPLC’09, pp. 211–220 (2009)
Wohlin, C., Runeson, P., Host, M., Ohlsson, M.C., Regnell, B., Wesslen, A.: Experimentation in Software Engineering. Kluwer Academic Publishers, Norwell, MA, USA (2012)
Yue, T., Ali, S., Briand, L.C.: Automated transition from use cases to uml state machines to support state-based testing. In: ECMFA’11, pp. 115–131 (2011)
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. 22(1), 5:1–5:38 (2013)
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. 24(3), 1–52 (2015)
Zhang, G., Yue, T., Wu, J., Ali, S.: Zen-RUCM: A tool for supporting a comprehensive and extensible use case modeling framework. In: Demos@MoDELS 2013, pp. 41–45 (2013)
Ziadi, T., Jezequel, J.M.: Product line engineering with the UML: deriving products. Käkölä , T., Duenas, JC. (eds.) Software Product Lines. Springer, Berlin (2006)
Zschaler, S., Sánchez, P., Santos, J., Alférez, M., Rashid, A., Fuentes, L., Moreira, A., Araújo, J., Kulesza, U.: VML*—a family of languages for variability management in software product lines. In: SLE’09, pp. 82–102 (2009)
Acknowledgments
Financial support was provided by IEE and FNR under Grants FNR/P10/03 and FNR10045046.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Jordi Cabot and Alexander Egyed.
Rights and permissions
About this article
Cite this article
Hajri, I., Goknil, A., Briand, L.C. et al. Configuring use case models in product families. Softw Syst Model 17, 939–971 (2018). https://doi.org/10.1007/s10270-016-0539-8
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-016-0539-8