Computer Science > Software Engineering
[Submitted on 3 Sep 2024]
Title:MCBA: A Matroid Constraint-Based Approach for Composite Service Recommendation Considering Compatibility and Diversity
View PDF HTML (experimental)Abstract:With the growing popularity of microservices, many companies are encapsulating their business processes as Web APIs for remote invocation. These lightweight Web APIs offer mashup developers an efficient way to achieve complex functionalities without starting from scratch. However, this also presents challenges, such as the concentration of developers'search results on popular APIs limiting diversity, and difficulties in verifying API compatibility. A method is needed to recommend diverse compositions of compatible APIs that fulfill mashup functional requirements from a large pool of candidate APIs. To tackle this issue, this paper introduces a Matroid Constraint-Based Approach (MCBA) for composite service recommendation, consisting of two stages: API composition discovery focusing on compatibility and top-k composition recommendation focusing on diversity. In the first stage, the API composition issue is formulated as a minimal group Steiner tree (MGST) problem, subsequently addressed by a "compression-solution" algorithm. In the second stage, a Maximum Marginal Relevance method under partition matroid constraints (MMR-PMC) is employed to ensure recommendation diversity. Comprehensive experiments on the real-world dataset show that MCBA surpasses several state-of-the-art methods in terms of accuracy, compatibility, diversity, and efficiency.
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.