A Methodological Framework for SPL Engineering from DSML

  • Conference paper
  • First Online:
Model-Driven Engineering and Software Development (MODELSWARD 2021, MODELSWARD 2022)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
EUR 29.95
Price includes VAT (Germany)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
EUR 58.84
Price includes VAT (Germany)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
EUR 74.89
Price includes VAT (Germany)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free ship** worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    This term should be understood in the sense: a person without specific characteristics/features.

  2. 2.

    BPMN is used here for description purposes and not as a prescriptive specification of an automatic process.

  3. 3.

    https://jakarta.ee/specifications/persistence/.

  4. 4.

    https://hibernate.org/.

  5. 5.

    The choice of ODBC would have been thwarted by the previous choice, unless the programming language was changed.

  6. 6.

    See https://en.wikipedia.org/wiki/Patch_(Unix).

  7. 7.

    The FM is obtained by transformation, but it could be specified/edited explicitely.

References

  1. Babar, M.A., Chen, L., Shull, F.: Managing variability in software product lines. IEEE Softw. 27(3), 89–91 (2010)

    Article  Google Scholar 

  2. Bąk, K., Diskin, Z., Antkiewicz, M.: Clafer: unifying class and feature modeling. Softw. Syst. Model. 15(3), 811–845 (2016)

    Article  Google Scholar 

  3. 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)

    Article  Google Scholar 

  4. 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

  5. Berg, K., Bishop, J.: Tracing software product line variability: from problem to solution space. In: SAICSIT, vol. 5, pp. 182–191. Citeseer (2005)

    Google Scholar 

  6. 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

    Chapter  Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. 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)

    Google Scholar 

  9. Horcas, J.M., Pinto, M., Fuentes, L.: Empirical analysis of the tool support for software product lines. Soft. Syst. Model. 1–38 (2022)

    Google Scholar 

  10. 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)

    Article  Google Scholar 

  11. Ignaim, K.: EvoSPL: an evolutionary approach for adopting software product lines in the automotive industry (2021)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. 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)

    Article  Google Scholar 

  15. 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)

    Google Scholar 

  16. 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

    Chapter  Google Scholar 

  17. 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

    Chapter  Google Scholar 

  18. 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)

    Google Scholar 

  19. Oksanen, M., et al.: A comparison of two SPLE tools: pure: variants and Clafer tools (2018)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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

    Chapter  Google Scholar 

  22. 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)

    Google Scholar 

  23. 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)

    Article  Google Scholar 

  24. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vincent Englebert .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics

Navigation