Skip to main content

PlugSPL: An Environment to Support SPL Life Cycle

  • Chapter
  • First Online:
UML-Based Software Product Line Engineering with SMarty

Abstract

In recent years, software product line engineering (SPLE) has emerged as a promising reusability approach that brings out some important benefits, e.g., it increases the reusability of its core assets while decreasing the time to market. The SPL approach focuses mainly on a two-life cycle model: domain engineering, where the SPL core asset is developed for reuse, and application engineering, where the core asset is reused to generate specific products. It is important to highlight that the success of the SPL approach depends on several principles, in particular variability management. Although the SPL engineering brings out important benefits, it is clear the lack of environments aimed at automating the overall SPL life cycle, including (i) configuration of feature model (FM); (ii) configuration of products; and (iii) generation of products. Literature and industry present several important tools that encompass part of the SPL development life cycle, such as SPLOT and pure::variants. The plugin approach has also received an increasing attention in the development of SPLs. Some SPL-based approaches are characterized by the development of different applications through the selection/development of different sets of plugins. Although the use of plugins to develop SPL products is a promising approach and several works have been published in recent years, there is no tool to fully support plugin-based SPLs. This chapter presents PlugSPL (This chapter is an expanded version of a previously published paper Rodrigues et al. (Plugspl: An automated environment for supporting plugin-based software product lines. In: SEKE, pp. 647–650, 2012).), an automated environment to support the overall plugin-based SPL life cycle. PlugSPL is a modular environment, written in C#, in which a test manager can design an SPL using the SMarty approach, configure and develop its components, define a valid product configuration, and generate a product. Although there are tools that partially give support to the SPL life cycle as, for instance, pure::variants, to the best of our knowledge, there was no tool that supported plugin-based SPLs and the overall SPL life cycle. Furthermore, there are tools to design FMs, but most of them use different notations and file formats. PlugSPL provides capabilities with regard to creating or import/export FMs from/to other tools and uses a commonly used file format. Therefore, there is no need to incorporate other tools/environments into PlugSPL. Although PlugSPL is a flexible environment for modeling FMs, its most significant benefit is supporting the generation of SPL products based on its FM. Moreover, PlugSPL automatically generates an abstract class structure, which can be used to develop third-party plugins. A PlugSPL application example is presented for deriving MBT tools from the PLeTs product line.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 69.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 89.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 119.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

    Google Scholar 

  2. Beuche, D.: Modeling and building software product lines with pure::Variants. In: Proeedings of the International Software Product Line Conference, p. 358. ACM, New York (2011)

    Google Scholar 

  3. Beuche, D.: Modeling and building software product lines with pure::variants. In: Proceedings of the 16th International Software Product Line Conference, vol. 2 (2012)

    Google Scholar 

  4. Cervantes, H., Charleston-Villalobos, S.: Using a lightweight workflow engine in a plugin-based product line architecture. Lecture Notes Comput. Sci. 4063, 198–205 (2006)

    Article  Google Scholar 

  5. Chen, L., Babar, M.: Variability management in software product lines: An investigation of contemporary industrial challenges. In: Software Product Lines: Going Beyond, Lecture Notes in Computer Science. Springer, Berlin (2010)

    Google Scholar 

  6. Costa, L., Rodrigues, E., Czekster, R., Oliveira, F., Silveira, M., Zorzo, A.: Generating performance test scripts and scenarios based on abstract intermediate models. In: Proceedings of the 24th International Conference on Software Engineering and Knowledge Engineering (2012)

    Google Scholar 

  7. Czarnecki, K., Helsen, S., Eisenecker, U.W.: Formalizing cardinality-based feature models and their specialization. In: Software Process: Improvement and Practice. Wiley, Hoboken (2005)

    Google Scholar 

  8. Dammagh, M., Troyer, O.: Feature modeling tools: Evaluation and lessons learned. In: Advances in Conceptual Modeling. Recent Developments and New Directions. Lecture Notes in Computer Science. Springer, Berlin (2011)

    Google Scholar 

  9. Fritsch, C., Lehn, A., Strohm, T., Gmbh, R.B.: Evaluating variability implementation mechanisms. In: Proc. Int. Workshop on Product Line Engineering, pp. 59–64. Springer, Seattle, USA (2002)

    Google Scholar 

  10. Kästner, C., Apel, S., Kuhlemann, M.: Granularity in software product lines. In: Proceedings of the International Conference on Software Engineering, pp. 311–320. ACM, New York (2008)

    Google Scholar 

  11. Kempf, M., Kleeb, R., Klenk, M., Sommerlad, P.: Cross language refactoring for eclipse plug-ins. In: Proceedings of the Workshop on Refactoring Tools, pp. 1–4. ACM, New York (2008)

    Google Scholar 

  12. Krueger, C.W.: New methods in software product line practice. Commun. ACM 49, 37–40 (2006)

    Article  Google Scholar 

  13. Krueger, C., Clements, P.: Systems and software product line engineering with BigLever software Gears. In: Proceedings of the 16th International Software Product Line Conference (2012)

    Google Scholar 

  14. Linden, F.J.v.d., Schmid, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer, New York (2007)

    Google Scholar 

  15. Lisboa, L.B., Garcia, V.C., Lucrédio, D., de Almeida, E.S., de Lemos Meira, S.R., de Mattos Fortes, R.P.: A systematic review of domain analysis tools. Inf. Softw. Technol. 52(1), 1–13 (2010)

    Article  Google Scholar 

  16. Mayer, J., Melzer, I., Schweiggert, F.: Lightweight plug-in-based application development. In: Proceedings of the International Conference on NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World, pp. 87–102. Springer, London (2003)

    Google Scholar 

  17. Meinicke, J., Thüm, T., Schröter, R., Benduhn, F., Leich, T., Saake, G.: Mastering Software Variability with FeatureIDE. Springer, Cham (2017)

    Book  Google Scholar 

  18. Mendonça, M., Branco, M., Cowan, D.: S.P.L.O.T.: Software product lines online tools. In: Proceedings of the Conference on Object Oriented Programming, Systems, Languages, and Applications, pp. 761–762. ACM, New York (2009). https://doi.acm.org/10.1145/1639950.1640002

  19. Mendonça, M., Branco, M., Cowan, D.: S.P.L.O.T.: Software product lines online tools. In: OOPSLA Companion (2009)

    Google Scholar 

  20. OliveiraJr, E., Gimenes, I.M.S., Maldonado, J.C.: Systematic Management of Variability in UML-based Software Product Lines. Journal of Universal Computer Science 16(17), 2374–2393 (2010)

    Google Scholar 

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

    Google Scholar 

  22. Prasanna, D.R.: Dependency Injection, 1st edn. Manning Publications, Shelter Island (2009)

    Google Scholar 

  23. Rodrigues, E.M., Zorzo, A.F., OliveiraJr, E., Gimenes, I.M.S., Maldonado, J.C., Domingues, A.R.: Plugspl: An automated environment for supporting plugin-based software product lines. In: SEKE, pp. 647–650 (2012)

    Google Scholar 

  24. Rodrigues, E.M., Passos, L.T., Teixeira, L., Zorzo, A.F., Oliveira, F.M., Saad, R.S.: On the requirements and design decisions of an in-house component-based SPL automated environment. In: SEKE, pp. 492–407 (2014)

    Google Scholar 

  25. Segura, S., Galindo, J., Benavides, D., Parejo, J.A., Cortés, A.R.: BeTTy: Benchmarking and testing on the automated analysis of feature models. In: VaMoS, pp. 63–71 (2012)

    Google Scholar 

  26. Silveira, M.B., Rodrigues, E.M., Zorzo, A.F., Costa, L.T., Vieira, H.V., de Oliveira, F.M.: Model-based automatic generation of performance test scripts. In: Proceedings of the Software Engineering and Knowledge Engineering Conference, pp. 258–263. IEEE Computer Society, Miami (2011)

    Google Scholar 

  27. Thum, T., Kastner, C., Erdweg, S., Siegmund, N.: Abstract features in feature modeling. In: International Software Product Line Conference, pp. 191–200 (2011)

    Google Scholar 

  28. Thum, T., Kastner, C., Erdweg, S., Siegmund, N.: Abstract features in feature modeling. In: Proceedings of the 15th International Software Product Line Conference (2011)

    Google Scholar 

  29. Utting, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann, Burlington (2006)

    Google Scholar 

  30. Walls, C., Breidenbach, R.: Spring in Action. Manning Publications, Shelter Island (2007)

    Google Scholar 

  31. Wolfinger, R., Reiter, S., Dhungana, D., Grunbacher, P., Prahofer, H.: Supporting runtime system adaptation through product line engineering and plug-in techniques. In: International Conference on Commercial-off-the-Shelf (COTS)-Based Software Systems pp. 21–30 (2008)

    Google Scholar 

  32. Zhu, J., Yin, Q., Zhu, R., Guo, C., Wang, H., Wu, Q.: A plugin-based software production line integrated framework. In: International Conference on Computer Science and Software Engineering, vol. 2, pp. 562–565 (2008)

    Google Scholar 

Download references

Acknowledgement

This work is supported by the Brazilian funding agency CNPq (Grant 306250/2021-7).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Elder M. Rodrigues .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Rodrigues, E.M., Zorzo, A.F. (2023). PlugSPL: An Environment to Support SPL Life Cycle. In: OliveiraJr, E. (eds) UML-Based Software Product Line Engineering with SMarty. Springer, Cham. https://doi.org/10.1007/978-3-031-18556-4_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-18556-4_15

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-18555-7

  • Online ISBN: 978-3-031-18556-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics