Abstract
For the last ten years, Software Product Line (SPL) tool developers have been facing the implementation of different variability requirements and the support of SPL engineering activities demanded by emergent domains. Despite several tools exist, few works resolve SPL process for both problem and solution space. Due to these reasons, we propose a methodological framework that overcomes the limits of existing tools and holds all the phases and activities from the requirement design till the product derivation. We start by using a Domain Specific Modelling Language (DSML) for domain description, which allows system designers working closer to the system domain as they can manipulate real concepts. Thereafter, an intermediate phase converts the DSML metamodel to a tree-structured representation similar to Feature Model (FM) notation enriched with extra-information such that cardinality, attributes, constraints, documentation, etc. The objective of this FM is to be used later as a decision tree to guide the generative process of our software factory in the following way: First, the engineer annotates the variation points with variability types such that binding time, granularity, evolution, etc, which are crucial concerns to be considered when generating the products. Second, based upon these annotations, our framework determines the possible useful variability mechanisms that could be employed to implement the product families and the engineers choose the variability programming tactic among them. Finally, the software factory produces the guidelines to implement the realization strategy and derive the related product assets through an assembly process. We provide a real industry running example giving insight into the application of the presented approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
This term should be understood in the sense: a person without specific characteristics/features.
- 2.
BPMN is used here for description purposes and not as a prescriptive specification of an automatic process.
- 3.
- 4.
- 5.
The choice of ODBC would have been thwarted by the previous choice, unless the programming language was changed.
- 6.
- 7.
The FM is obtained by transformation, but it could be specified/edited explicitely.
References
Babar, M.A., Chen, L., Shull, F.: Managing variability in software product lines. IEEE Softw. 27(3), 89–91 (2010)
Bąk, K., Diskin, Z., Antkiewicz, M.: Clafer: unifying class and feature modeling. Softw. Syst. Model. 15(3), 811–845 (2016)
Bashroush, R., Garba, M., Rabiser, R., Groher, I., Botterweck, G.: Case tool support for variability management in software product lines. ACM Comput. Surv. (CSUR) 50(1), 1–45 (2017)
Belarbi, M., Englebert, V.: Transforming domain specific modeling languages into feature models. In: Pires, L.F., Hammoudi, S., Seidewitz, E. (eds.) Proceedings of the 10th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2022, Online Streaming, 6–8 February 2022, pp. 137–146. SCITEPRESS (2022). https://doi.org/10.5220/0010772000003119
Berg, K., Bishop, J.: Tracing software product line variability: from problem to solution space. In: SAICSIT, vol. 5, pp. 182–191. Citeseer (2005)
Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration using feature models. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 266–283. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-28630-1_17
Hainaut, J.-L., Hick, J.-M., Englebert, V., Henrard, J., Roland, D.: Understanding the implementation of IS-A relations. In: Thalheim, B. (ed.) ER 1996. LNCS, vol. 1157, pp. 42–57. Springer, Heidelberg (1996). https://doi.org/10.1007/BFb0019914
Horcas, J.M., Pinto, M., Fuentes, L.: Software product line engineering: a practical experience. In: Proceedings of the 23rd International Systems and Software Product Line Conference, vol. A, pp. 164–176 (2019)
Horcas, J.M., Pinto, M., Fuentes, L.: Empirical analysis of the tool support for software product lines. Soft. Syst. Model. 1–38 (2022)
Hunsen, C., et al.: Preprocessor-based variability in open-source and industrial software systems: an empirical study. Empir. Softw. Eng. 21(2), 449–482 (2016)
Ignaim, K.: EvoSPL: an evolutionary approach for adopting software product lines in the automotive industry (2021)
Kasauli, R., Liebel, G., Knauss, E., Gopakumar, S., Kanagwa, B.: Requirements engineering challenges in large-scale agile system development. In: 2017 IEEE 25th International Requirements Engineering Conference (RE), pp. 352–361. IEEE (2017)
Khan, F.Q., Musa, S., Tsaramirsis, G., Bakhsh, S.T.: A study: selection of model metamodel and SPL tools for the verification of software product lines. Int. J. Inf. Technol. 9(4), 353–362 (2017)
Laguna, M.A., Crespo, Y.: A systematic map** study on software product line evolution: from legacy system reengineering to product line refactoring. Sci. Comput. Program. 78(8), 1010–1034 (2013)
Malaer, A., Lampe, M.: SimPL a simple software production line for end user development. In: 2008 15th Asia-Pacific Software Engineering Conference, pp. 179–186. IEEE (2008)
Mens, K., Lopes, C., Tekinerdogan, B., Kiczales, G.: Aspect-oriented programming workshop report. In: Bosch, J., Mitchell, S. (eds.) ECOOP 1997. LNCS, vol. 1357, pp. 483–496. Springer, Heidelberg (1998). https://doi.org/10.1007/3-540-69687-3_88
Nunes, I., de Lucena, C.J.P., Kulesza, U., Nunes, C.: On the development of multi-agent systems product lines: a domain engineering process. In: Gleizes, M.-P., Gomez-Sanz, J.J. (eds.) AOSE 2009. LNCS, vol. 6038, pp. 125–139. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-19208-1_9
Nuryyev, B., Nadi, S., Bhuiyan, N.U., Banderali, L.: Challenges of implementing software variability in eclipse OMR: an interview study. In: 2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), pp. 31–40. IEEE (2021)
Oksanen, M., et al.: A comparison of two SPLE tools: pure: variants and Clafer tools (2018)
Pawletta, T., Schmidt, A., Zeigler, B.P., Durak, U.: Extended variability modeling using system entity structure ontology within Matlab/Simulink. In: Proceedings of the 49th Annual Simulation Symposium, pp. 1–8 (2016)
Prehofer, C.: Feature-oriented programming: a fresh look at objects. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 419–443. Springer, Heidelberg (1997). https://doi.org/10.1007/BFb0053389
Spinczyk, O., Beuche, D.: Modeling and building software product lines with eclipse. In: Companion to the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 18–19 (2004)
Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: Featureide: an extensible framework for feature-oriented software development. Sci. Comput. Program. 79, 70–85 (2014)
White, J., Schmidt, D.C., Benavides, D., Trinidad, P., Ruiz-Cortés, A.: Automated diagnosis of product-line configuration errors in feature models. In: 2008 12th International Software Product Line Conference, pp. 225–234. IEEE (2008)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 Springer Nature Switzerland AG
About this paper
Cite this paper
Englebert, V., Belarbi, M. (2023). A Methodological Framework for SPL Engineering from DSML. In: Pires, L.F., Hammoudi, S., Seidewitz, E. (eds) Model-Driven Engineering and Software Development. MODELSWARD MODELSWARD 2021 2022. Communications in Computer and Information Science, vol 1708. Springer, Cham. https://doi.org/10.1007/978-3-031-38821-7_9
Download citation
DOI: https://doi.org/10.1007/978-3-031-38821-7_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-38820-0
Online ISBN: 978-3-031-38821-7
eBook Packages: Computer ScienceComputer Science (R0)