SEC: a search engine for component based software development

The successfulness of the component-based development(CBD) process relies on several factors including the structuration of the component repositories and the comparison procedures for interface exploring while comparing the expected and the provided services. Both functional and non-functional aspects should be considered. This paper presents a discovery ontology to organize components in a repository and an integration ontology to integrate a component into an application. In addition, we propose a search engine, called SEC for CBD, which uses the discovery ontology to automatically locates and presents a list of software components that could be used in the current development situation. This search engine consists of a persistent and an intelligent component which automatically generates a query from developer specification and indexes a repository of software components. SEC is not only suitable to discover components, but also able to automatically classify the selected components using the subsumption notion.

[1]  R. Mittermeir,et al.  Self Classifying Reusable Components Generating Decision Trees from Test Cases , 2007 .

[2]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[3]  Ian Horrocks,et al.  A software framework for matchmaking based on semantic web technology , 2003, WWW '03.

[4]  Ernesto Damiani,et al.  A hierarchy-aware approach to faceted classification of objected-oriented components , 1999, TSEM.

[5]  Thomas R. Gruber,et al.  A translation approach to portable ontology specifications , 1993 .

[6]  Andy Podgurski,et al.  Behavior sampling: a technique for automated retrieval of reusable components , 1992, International Conference on Software Engineering.

[7]  Wil M. P. van der Aalst,et al.  Workflow Patterns , 2004, Distributed and Parallel Databases.

[8]  B. Curtis,et al.  Cognitive issues in reusing software artifacts , 1989 .

[9]  Dan Brickley,et al.  Resource Description Framework (RDF) Model and Syntax Specification , 2002 .

[10]  Dieter Fensel,et al.  The Unified Problem-Solving Method Development Language UPML , 2003, Knowl. Inf. Syst..

[11]  Tony Andrews Business Process Execution Language for Web Services Version 1.1 , 2003 .

[12]  Bernhard Ganter,et al.  Formale Begriffsanalyse - mathematische Grundlagen , 1996 .

[13]  James A. Hendler,et al.  Computing similarity in a reuse library system: an AI-based approach , 1992, TSEM.

[14]  Asunción Gómez-Pérez,et al.  ODE SWS: a framework for designing and composing semantic Web services , 2004, IEEE Intelligent Systems.

[15]  Fatemeh Zahedi,et al.  Knowledge-Based Repository Scheme for Storing and Retrieving Business Components: A Theoretical Design and an Empirical Analysis , 2003, IEEE Trans. Software Eng..

[16]  Matjaz B. Juric,et al.  Business process execution language for web services , 2004 .

[17]  John Penix,et al.  Efficient Specification-Based Component Retrieval , 1999, Automated Software Engineering.

[18]  Michael D. Ernst,et al.  Efficient incremental algorithms for dynamic detection of likely invariants , 2004, SIGSOFT '04/FSE-12.

[19]  Deborah L. McGuinness,et al.  Ontologies and Electronic Commerce , 2001, IEEE Intell. Syst..

[20]  N. F. Noy,et al.  Ontology Development 101: A Guide to Creating Your First Ontology , 2001 .

[21]  Herbert Schildt,et al.  Javabeans Programming From The Ground Up , 1998 .

[22]  Dieter Fensel,et al.  Editorial: problem-solving methods , 1998, Int. J. Hum. Comput. Stud..