Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3603287.3651199acmconferencesArticle/Chapter ViewAbstractPublication Pagesacm-seConference Proceedingsconference-collections
research-article

Encoding Feature Models in Neo4j Graph Database

Published: 27 April 2024 Publication History

Abstract

This study introduces an innovative approach to encoding and analyzing feature models within the Network Exploration and Optimization for Java (Neo4j) graph database, significantly enhancing the management of complex Software Product Lines (SPLs). We present a comparative analysis of traditional loading techniques against Neo4j's batch importer and the Awesome Procedures on Cypher (APOC) library, demonstrating the superior efficiency and effectiveness of our proposed methods, especially in handling large datasets. Our methodology extends beyond mere encoding; it capitalizes on Neo4j's Graph Data Science (GDS) library, employing Depth-First Search (DFS) and other advanced traversal techniques to navigate and manipulate these complex structures. The findings reveal not only a significant enhancement in the processing and analysis of feature models but also underscore the potential for more sophisticated SPL management strategies. By integrating innovative loading techniques, encoding strategies, and GDS traversal methods, this study lays a robust foundation for future advancements in the field.

References

[1]
Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines. Springer.
[2]
Paolo Arcaini, Angelo Gargantini, and Marco Radavelli. 2019. Achieving Change Requirements of Feature Models by an Evolutionary Approach. Journal of Systems and Software 150 (2019), 64--76.
[3]
Jessie Carbonnel, David Delahaye, Marianne Huchard, and Nebut Clémentine. 2019. Graph-Based Variability Modelling: Towards a Classification of Existing Formalisms. In Proceedings of the International Conference on Conceptual Structures (ICCS). Springer, Marburg, Germany, 27--41.
[4]
Vaclav Cechticky, Alessandro Pasetti, Ondrej Rohlik, and Walter Schaufelberger. 2004. XML-based Feature Modelling. In International Conference on Software Reuse, Vol. 3107. Springer, Madrid, Spain, 101--114.
[5]
Paul Clements and Linda Northrop. 2002. Software Product Lines: Practices and Patterns. Addison-Wesley Professional, Boston, MA, USA.
[6]
Krysztof Czarnecki and Ulrich Eisenecker. 1999. Generative Programming: Methods, Techniques, and Applications. Addison-Wesley, Boston, MA, USA.
[7]
Krzysztof Czarnecki, Simon Helsen, and Ulrich Eisenecker. 2005. Staged Configuration through Specialization and Multilevel Configuration of Feature Models. Software Process: Improvement and Practice 10, 2 (April 2005), 143--169.
[8]
Krzysztof Czarnecki and Chang Hwan Peter Kim. 2005. Cardinality-based feature modeling and constraints: A progress report. In International Workshop on Software Factories. ACM San Diego, California, USA, 16--20.
[9]
Python Software Foundation. 2021. Python's Time Module: Time Access and Conversions. https://docs.python.org/3/library/time.html
[10]
Guozheng Ge and E. James Whitehead. 2008. Rhizome: A Feature Modeling and Generation Platform. In Proceedings of the International Conference on Automated Software Engineering. IEEE, L'Aquila, Italy, 375--378.
[11]
Patrick Heymans, Jean-Christophe Trigaux, Syed Shahabuddin, and Abdelhak-Djamel Seriai. 2017. Managing Variability in Software Product Lines: Integrating Design and Runtime Models. In Proceedings of the 20th International Conference on Model Driven Engineering Languages and Systems (MODELS 2017) (LNCS, Vol. 10443). 111--121.
[12]
Neo4j Inc. 2024. The Neo4j Graph Data Science Library Manual. https://neo4j.com/docs/graph-data-science/current/
[13]
Gökhan Kahraman, Loek Cleophas, and Ramon Schiffelers. 2021. Modeling Relationships Between Feature Model Views. In 2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C). 437--446. https://doi.org/10.1109/MODELS-C53483.2021.00067
[14]
Kyo C. Kang, Sholom G. Cohen, James A. Hess, William E. Novak, and A. Spencer Peterson. 1990. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21. Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, USA.
[15]
Kyo C. Kang, Sajoong Kim, Jaejoon Lee, Kijoo Kim, Euiseob Shin, and Moonhang Huh. 1998. FORM: A Feature-Oriented Reuse Method with Domain-Specific Reference Architectures. Annals of Software Engineering 5, 1 (1998), 143--168.
[16]
Ahmet Serkan Karataş, Halit Oğuztüzün, and Ali Doğru. 2013. From Extended Feature Models to Constraint Logic Programming. Science of Computer Programming 78, 12 (2013), 2295--2312.
[17]
Markus Lanthaler and Christian Gütl. 2012. On Using JSON-LD to Create Evolvable RESTful Services. In WS-REST '12: Proceedings of the Third International Workshop on RESTful Design. ACM, Lyon, France, 25--32.
[18]
Neo4j, Inc. 2024. Cypher Query Language. https://neo4j.com/developer/cypher/
[19]
Neo4j, Inc. 2024. Neo4j APOC Library. https://neo4j.com/developer/neo4j-apoc/
[20]
Neo4j, Inc. 2024. Neo4j Desktop. https://neo4j.com/docs/desktop-manual/
[21]
Linda M. Northrop. 2002. SEI's Software Product Line Tenets. IEEE Software 19, 4 (2002), 32--40.
[22]
Juliana Alves Pereira, Sandro Schulze, Sebastian Krieter, Márcio Ribeiro, and Gunter Saake. 2018. A Context-Aware Recommender System for Extended Software Product Line Configurations. Proceedings of the 12th International Workshop on Variability Modelling of Software-Intensive Systems (2018).
[23]
Hazim Shatnawi and Conrad Cunningham. 2017. Mapping SPL Feature Models to a Relational Database. In Proceedings of ACM SouthEast Conference. Kennesaw, GA, USA, 42 - 49.
[24]
Hazim Shatnawi and Conrad Cunningham. 2020. Automated Analysis and Construction of Feature Models in Relation Databases Using Web Forms. In Proceedings of ACM SouthEast Conference. Tampa, Florida, USA, 233 - 238.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ACMSE '24: Proceedings of the 2024 ACM Southeast Conference
April 2024
337 pages
ISBN:9798400702372
DOI:10.1145/3603287
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 April 2024

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Cypher
  2. data science
  3. feature model
  4. graph data science library
  5. graph traversals
  6. load data in Neo4j
  7. performance measurement

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ACM SE '24
Sponsor:
ACM SE '24: 2024 ACM Southeast Conference
April 18 - 20, 2024
GA, Marietta, USA

Acceptance Rates

ACMSE '24 Paper Acceptance Rate 44 of 137 submissions, 32%;
Overall Acceptance Rate 502 of 1,023 submissions, 49%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 61
    Total Downloads
  • Downloads (Last 12 months)61
  • Downloads (Last 6 weeks)6
Reflects downloads up to 09 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media