Preprint Open Access

Category Theory Framework for Variability Models with Non-Functional Requirements

Daniel-Jesus Munoz; Dilian Gurov; Monica Pinto; Lidia Fuentes

This is a pre-print, please access and cite the published version:

Software Product Lines (SPLs) make use of Variability Models (VMs) as an input to automated reasoners, which are mainly used to generate optimal product configurations according to certain Quality Attributes (QAs). However, VMs and more specifically those including numerical features (i.e., NVMs), do not natively support QAs, and consequently, neither do automated reasoners commonly used in 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.

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.
Files (1.2 MB)
Name Size
1.2 MB Download
  • Al-Qutaish, R.E.: Quality models in software engineering literature: an analytical and comparative study. Journal of American Science 6(3), 166{175 (2010)

  • Bak, K., Diskin, Z., Antkiewicz, M., Czarnecki, K., Wasowski, A.: Clafer: unifying class and feature modeling. Software & Systems Modeling 15(3), 811{845 (2016)

  • Barr, M., Wells, C.: Category theory for computing science. Prentice Hall (1990)

  • Batory, D., Azanza, M., Saraiva, J.: The objects and arrows of computational design. In: International Conference on Model Driven Engineering Languages and Systems. pp. 1{20. Springer (2008)

  • Benavides, D., Trinidad, P., Ruiz-Cortés, A.: Automated reasoning on feature models. In: Pastor, O., Falc~ao e Cunha, J. (eds.) Advanced Information Systems Engineering. pp. 491{503. Springer Berlin Heidelberg, Berlin, Heidelberg (2005)

  • Budiardjo, E.K., Zamzami, E.M., et al.: Feature modeling and variability modeling syntactic notation comparison and mapping. Computer and Communications ('14)

  • 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. p. 81{90. SPLC '09, Carnegie Mellon University, USA (2009)

  • 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)

  • Chowdhury, S., Borle, S., Romansky, S., Hindle, A.: Greenscaler: training software energy models with automatic test generation. Empirical Software Engineering 24(4), 1649{1692 (2019)

  • Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based feature models and their specialization. Software process 10(1), 7{29 (2005)

  • De Moura, L., Bjorner, N.: Z3: An efficient smt solver. In: Int. conference on Tools and Algorithms for the Construction and Analysis of Systems. Springer (2008)

  • Elliott, C.: Compiling to categories. Proceedings of the ACM on Programming Languages 1(ICFP), 1{27 (2017)

  • Fraenkel, A.A., Bar-Hillel, Y., Levy, A.: Foundations of set theory. Elsevier (1973)

  • Gamez, N., Fuentes, L.: Software product line evolution with cardinality-based feature models. In: Int. Conference on Software Reuse. pp. 102{118. Springer (2011)

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

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

  • Gurov, D., Ostvold, B.M., Schaefer, I.: A hierarchical variability model for software product lines. In: International Symposium On Leveraging Applications of Formal Methods, Verification and Validation. pp. 181{199. Springer (2011)

  • Gurrola-Ramos, L., Macías, S., Macias-Diaz, J.: On the isomorphism of injective objects in grothendieck categories. Quaestiones Mathematicae 40(5) (2017)

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

  • Horcas, J.M., Pinto, M., Fuentes, L.: An automatic process for weaving functional quality attributes using a software product line approach. Journal of Systems and Software 112, 78 { 95 (2016)

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

  • Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (foda) feasibility study. Tech. rep., Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst (1990)

  • Kiziltoprak, A., Köse, N.Y.: Relational thinking: The bridge between arithmetic and algebra. International Journal of Elementary Education 10(1), 131{145 (2017)

  • Lambek, J., Scott, P.J.: Introduction to higher-order categorical logic, vol. 7. Cambridge University Press (1988)

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

  • Müller, J.: Theopogles|a theorem prover based on first-order polynomials and a special knuth-bendix procedure. In: GWAI-87 11th German Workshop on Artificial Intelligence. pp. 241{250. Springer (1987)

  • Munoz, D.J., Montenegro, J.A., Pinto, M., Fuentes, L.: Energy-aware environments for the development of green applications for cyber{physical systems. Future Generation Computer Systems 91, 536 { 554 (2019)

  • 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. p. 289{301. Association for Computing Machinery, NY, USA (2019)

  • 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)

  • Olaechea, R., Stewart, S., Czarnecki, K., Rayside, D.: Modelling and multiobjective 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)

  • Pohl, K., Böckle, G., van Der Linden, F.J.: Software product line engineering: foundations, principles and techniques. Springer Science & Business Media (2005)

  • 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)

  • Schultz, P., Wisnesky, R.: Algebraic data integration. Journal of Functional Programming 27 (2017)

  • 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. Software Quality Journal 20(3-4), 487{517 (2012)

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

All versions This version
Views 178178
Downloads 144144
Data volume 171.0 MB171.0 MB
Unique views 153153
Unique downloads 139139


Cite as