Retrieving reusable software by sampling behavior
ACM Transactions on Software Engineering and Methodology (TOSEM)
Specification matching of software components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Ontology-Driven Web Services Composition Platform
CEC '04 Proceedings of the IEEE International Conference on E-Commerce Technology
Service-Oriented Computing: Key Concepts and Principles
IEEE Internet Computing
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
Similarity search for web services
VLDB '04 Proceedings of the Thirtieth international conference on Very large data bases - Volume 30
Synthesizing intensional behavior models by graph transformation
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Kodkod: a relational model finder
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Automatic cross validation of multiple specifications: a case study
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
An algorithm search engine for software developers
Proceedings of the 3rd International Workshop on Search-Driven Development: Users, Infrastructure, Tools, and Evaluation
Automatic synthesis of specifications for first order curry programs
Proceedings of the 14th symposium on Principles and practice of declarative programming
Hi-index | 0.00 |
We focus on the problem of searching components based on semantic queries on their provided interface. Although semantics-based search has long been advocated as a key enabler in the context of component-based software development and, more recently, service-oriented computing, no practical and scalable approach has been proposed yet. This paper presents a promising model-based search technique for interface behaviors based on operational specifications, called behavioral equivalence models (Bems). Semantic queries are expressed equationally, following an algebraic specification style. The search engine tries to match specifications against queries. This can be done quite efficiently by encoding Bems into relational models and queries into relational logic formulae, whose satisfiability is checked with the SAT-based constraint solver KodKod. We can report on an initial very promising assessment of the proposed technique, which has been applied to searching components in Java libraries providing container functionalities.