Skip to main content

Category Theory Framework for Variability Models with Non-functional Requirements

  • Conference paper
  • First Online:
Advanced Information Systems Engineering (CAiSE 2021)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 12751))

Included in the following conference series:

Abstract

In Software Product Line (SPL) engineering one uses Variability Models (VMs) as input to automated reasoners to generate optimal products according to certain Quality Attributes (QAs). Variability models, however, and more specifically those including numerical features (i.e., NVMs), do not natively support QAs, and consequently, neither do automated reasoners commonly used for variability resolution. However, those satisfiability and optimisation problems have been covered and refined in other relational models such as databases.

Category Theory (CT) is an abstract mathematical theory typically used to capture the common aspects of seemingly dissimilar algebraic structures. We propose a unified relational modelling framework subsuming the structured objects of VMs and QAs and their relationships into algebraic categories. This abstraction allows a combination of automated reasoners over different domains to analyse SPLs. The solutions’ optimisation can now be natively performed by a combination of automated theorem proving, hashing, balanced-trees and chasing algorithms. We validate this approach by means of the edge computing SPL tool HADAS.

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 89.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 119.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Notes

  1. 1.

    Real (\(\mathbb {R}\)), and other continuous domains, are not completely supported by SPL automated reasoners because they generate unlimited solutions.

  2. 2.

    A categories isomorphism is a one-to-one mapping between their sets of objects.

  3. 3.

    HADAS web-services: https://hadas.caosd.lcc.uma.es/.

  4. 4.

    Phoronix Test Suite details: https://openbenchmarking.org/tests/pts.

  5. 5.

    CQL IDE main website: https://www.categoricaldata.net/.

  6. 6.

    HADAS CQL CT model: https://hadas.caosd.lcc.uma.es/ctprototype.cql.

References

  1. Al-Qutaish, R.E.: Quality models in software engineering literature: an analytical and comparative study. J. Am. Sci. 6(3), 166–175 (2010)

    Google Scholar 

  2. Bąk, K., Diskin, Z., Antkiewicz, M., Czarnecki, K., Wąsowski, A.: Clafer: unifying class and feature modeling. Softw. Syst. Model. 15(3), 811–845 (2014). https://doi.org/10.1007/s10270-014-0441-1

    Article  Google Scholar 

  3. Barr, M., Wells, C.: Category Theory for Computing Science. Prentice Hall, New York (1990)

    MATH  Google Scholar 

  4. Batory, D., Azanza, M., Saraiva, J.: The objects and arrows of computational design. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 1–20. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-87875-9_1

    Chapter  Google Scholar 

  5. Benavides, D., Trinidad, P., Ruiz-Cortés, A.: Automated reasoning on feature models. In: Pastor, O., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 491–503. Springer, Heidelberg (2005). https://doi.org/10.1007/11431855_34

    Chapter  Google Scholar 

  6. Brown, K.S., Spivak, D.I., Wisnesky, R.: Categorical data integration for computational science. Comput. Mater. Sci. 164, 127–132 (2019)

    Article  Google Scholar 

  7. Budiardjo, E.K., Zamzami, E.M., et al.: Feature modeling and variability modeling syntactic notation comparison and mapping. Comput. Commun. 2, 101–108 (2014)

    Article  Google Scholar 

  8. Chen, L., Ali Babar, M., Ali, N.: Variability management in software product lines: a systematic review. In: Proceedings of the 13th International Software Product Line Conference, SPLC 2009, pp. 81–90. Carnegie Mellon University, USA (2009)

    Google Scholar 

  9. Chohan, A.Z., Bibi, A., Motla, Y.H.: Optimized software product line architecture and feature modeling in improvement of SPL. In: 2017 International Conference on Frontiers of Information Technology (FIT), pp. 167–172. IEEE (2017)

    Google Scholar 

  10. Chowdhury, S., Borle, S., Romansky, S., Hindle, A.: Greenscaler: training software energy models with automatic test generation. Empir. Softw. Eng. 24(4), 1649–1692 (2019). https://doi.org/10.1007/s10664-018-9640-7

    Article  Google Scholar 

  11. Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based feature models and their specialization. Softw. Process 10(1), 7–29 (2005)

    Article  Google Scholar 

  12. de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_24

    Chapter  Google Scholar 

  13. Elffers, J., Giráldez-Cru, J., Nordström, J., Vinyals, M.: Using combinatorial benchmarks to probe the reasoning power of pseudo-Boolean solvers. In: Beyersdorff, O., Wintersteiger, C.M. (eds.) SAT 2018. LNCS, vol. 10929, pp. 75–93. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94144-8_5

    Chapter  MATH  Google Scholar 

  14. Elliott, C.: Compiling to categories. In: Proceedings of the ACM on Programming Languages, vol. 1, issue number (ICFP), pp. 1–27 (2017)

    Google Scholar 

  15. Fraenkel, A.A., Bar-Hillel, Y., Levy, A.: Foundations of Set Theory. Elsevier, Burlington (1973)

    MATH  Google Scholar 

  16. Gamez, N., Fuentes, L.: Software product line evolution with cardinality-based feature models. In: Schmid, K. (ed.) ICSR 2011. LNCS, vol. 6727, pp. 102–118. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21347-2_9

    Chapter  Google Scholar 

  17. Glinz, M.: On non-functional requirements. In: 15th IEEE International Requirements Engineering Conference (RE 2007), pp. 21–26. IEEE (2007)

    Google Scholar 

  18. González-Huerta, J., Insfran, E., Abrahão, S., McGregor, J.D.: Non-functional requirements in model-driven software product line engineering. In: Proceedings of the Fourth International Workshop on Nonfunctional System Properties in Domain Specific Modeling Languages, NFPinDSML 2012, NY, USA (2012)

    Google Scholar 

  19. Gurov, D., Østvold, B.M., Schaefer, I.: A hierarchical variability model for software product lines. In: Hähnle, R., Knoop, J., Margaria, T., Schreiner, D., Steffen, B. (eds.) ISoLA 2011. CCIS, pp. 181–199. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-34781-8_15

    Chapter  Google Scholar 

  20. Gurrola-Ramos, L., Macías, S., Macías-Díaz, J.: On the isomorphism of injective objects in Grothendieck categories. Quaest. Math. 40(5), 617–622 (2017)

    Article  MathSciNet  Google Scholar 

  21. Hellendoorn, V.J., Sutton, C., Singh, R., Maniatis, P., Bieber, D.: Global relational models of source code. In: International Conference on Learning Representations (2019)

    Google Scholar 

  22. Horcas, J.M., Pinto, M., Fuentes, L.: An automatic process for weaving functional quality attributes using a software product line approach. J. Syst. Softw. 112, 78–95 (2016)

    Article  Google Scholar 

  23. Jussien, N., Rochart, G., Lorca, X.: Choco: an open source java constraint programming library. In: HAL Archives Ouvertes (2008)

    Google Scholar 

  24. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (foda) feasibility study. Carnegie-Mellon University Pittsburgh Pa Software Engineering Institute, Technical report (1990)

    Google Scholar 

  25. Kızıltoprak, A., Köse, N.Y.: Relational thinking: the bridge between arithmetic and algebra. Int. J. Elem. Educ. 10(1), 131–145 (2017)

    Google Scholar 

  26. Lambek, J., Scott, P.J.: Introduction to Higher-Order Categorical Logic, vol. 7. Cambridge University Press, Cambridge (1988)

    MATH  Google Scholar 

  27. Montenegro, J.A., Pinto, M., Fuentes, L.: What do software developers need to know to build secure energy-efficient android applications? IEEE Access 6, 1428–1450 (2018)

    Article  Google Scholar 

  28. Mueller, J.: Theopogles–a theorem prover based on first-order polynomials and a special Knuth-Bendix procedure. GWAI-87 11th German Workshop on Artifical Intelligence. Informatik-Fachberichte (Subreihe Küstliche Intelligenz), vol. 152. Springer, Heidelberg (1987). https://doi.org/10.1007/978-3-642-73005-4_26

    Chapter  Google Scholar 

  29. Munoz, D.J., Montenegro, J.A., Pinto, M., Fuentes, L.: Energy-aware environments for the development of green applications for cyber-physical systems. Future Gener. Compu. Syst. 91, 536–554 (2019)

    Article  Google Scholar 

  30. Munoz, D.J., Oh, J., Pinto, M., Fuentes, L., Batory, D.: Uniform random sampling product configurations of feature models that have numerical features. In: Proceedings of the 23rd International Systems and Software Product Line Conference - Volume A, pp. 289–301. Association for Computing Machinery, NY, USA (2019)

    Google Scholar 

  31. Munoz, D.J., Pinto, M., Fuentes, L.: Hadas: analysing quality attributes of software configurations. In: Proceedings of the 23rd International Systems and Software Product Line Conference-Volume B, pp. 13–16 (2019)

    Google Scholar 

  32. Olaechea, R., Stewart, S., Czarnecki, K., Rayside, D.: Modelling and multi-objective optimization of quality attributes in variability-rich software. In: Proceedings of the Fourth International Workshop on Nonfunctional System Properties in Domain Specific Modeling Languages, pp. 1–6 (2012)

    Google Scholar 

  33. Pohl, K., Böckle, G., van Der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer Science & Business Media, Heidelberg (2005). https://doi.org/10.1007/3-540-28901-1

    Book  MATH  Google Scholar 

  34. Ren, J., Wang, H., Hou, T., Zheng, S., Tang, C.: Federated learning-based computation offloading optimization in edge computing-supported internet of things. IEEE Access 7, 69194–69201 (2019)

    Article  Google Scholar 

  35. Siegmund, N., Rosenmüller, M., Kuhlemann, M., Kästner, C., Apel, S., Saake, G.: SPL conqueror: toward optimization of non-functional properties in software product lines. Softw. Qual. J. 20(3–4), 487–517 (2012). https://doi.org/10.1007/s11219-011-9152-9

    Article  Google Scholar 

  36. Taentzer, G., Salay, R., Strüber, D., Chechik, M.: Transformations of software product lines: a generalizing framework based on category theory. In: 20th International Conference on Model Driven Engineering Languages and Systems (MODELS) (2017)

    Google Scholar 

Download references

Acknowledgements

Munoz, Pinto and Fuentes work is supported by the European Union’s H2020 research and innovation programme under grant agreement DAEMON 101017109, by the projects co-financed by FEDER funds LEIA UMA18-FEDERJA-15, MEDEA RTI2018-099213-B-I00 and Rhea P18-FR-1081 and the PRE2019-087496 grant from the Ministerio de Ciencia e Innovación.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel-Jesus Munoz .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Munoz, DJ., Gurov, D., Pinto, M., Fuentes, L. (2021). Category Theory Framework for Variability Models with Non-functional Requirements. In: La Rosa, M., Sadiq, S., Teniente, E. (eds) Advanced Information Systems Engineering. CAiSE 2021. Lecture Notes in Computer Science(), vol 12751. Springer, Cham. https://doi.org/10.1007/978-3-030-79382-1_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-79382-1_24

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-79381-4

  • Online ISBN: 978-3-030-79382-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics