A Multilevel Representation of Repository for Software Reuse

Document Sample
A Multilevel Representation of Repository for Software Reuse Powered By Docstoc
					                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                             Vol. 9, No. 9, September 2011

A Multilevel Representation of Repository for
              Software Reuse
C.V.Guru Rao                                                   P.Niranjan
Professor & Head                                               Associate Professor,
Department of Computer Science and Engineering,                Department of Computer Science and Engineering,
SR Engineering college, Warangal,                              Kakatiya Institute of Technology and Science
Andhra Pradesh, India – 506 371                                Warangal, Andhra Pradesh, India – 506 015
guru_cv_rao@hotmail.com                                        npolala@yahoo.co.in

Abstract-- Effective software Reuse will be due to                 To incorporate reusable components into
classification schemes used on software components             systems, programmers must be able to find and
that are stored into and retrieve from a software              understand them. If this process fails, then reuse
repository.                                                    cannot happen. Thus,          to    represent these
                                                               components and index them is a challenge.
This work proposes a new methodology for efficient             Therefore to find them easily and understand the
classification and retrieval of multimedia software            function are two important issues in creating a
components based on user requirements by using
                                                               software tool for software reuse. Classifying
attribute and faceted classification schemes.
                                                               software component allows reusers to organize
Whenever a user desires to trace a component with
specified characteristics (Attributes) are identified
                                                               collections of components into structures that they
and then compared with the characteristics of the              can search easily. Successful reuse requires proper
existing components in repositories to retrieve                classification and retrieval mechanisms to possess a
relevant components. A web based software tool                 wide variety of high quality components that are
developed here to classify the multimedia software             understandable.
components is more efficient.                                      Multimedia technology enables information to
                                                               be stored in a variety of formats. Therefore very
Keywords: Software Reuse, Classification Schemes,
Reuse Repository.
                                                               effective presentation of software components can
                                                               be made. Understanding behavior of a component
              I.        INTRODUCTION                           is very important for increasing the user’s
                                                               confidence before reuse the retrieved software
   Software reuse is the use of engineering                    component with different qualities from the
knowledge or artifacts from existing software                  library. Multimedia presentation will allow the
components to build a new system [11]. There are               users to better         understand the software
many work products that can be reused, such as                 components.
source code, designs, specifications, architectures                Existing techniques are mainly focusing on
and documentation. The most common reuse                       representation issue of software components in
product is source code.                                        software repositories. But they ignore the
    Software components provide a vehicle for                  presentation of the software component semantics.
planned and systematic reuse. Nowadays, the term               In this paper an approach for             integrated
component is used as a synonym for object most of              classification scheme with very effective
the time, but it also stands for module or function.           presentation of reusable software components is
Recently the term component-based or component-                presented. A software tool is developed to classify
oriented software development has become                       multimedia software components. Experimentally
popular. Systematic software reuse influence the               demonstrated the software tool is highly efficient.
whole software engineering process. The ability to                 The paper is organized as follows. Section 2
develop the new web based applications with in a               illustrates survey of related research work. The
short time is crucial to the software companies.               proposed classification technique to store and
For this reason it is vital to share and reuse the             retrieve components is explained in section 3.
efficient programming experiences as well as                   Section 4 brings out the details of experimentation
knowledge in a productive manner.                              carried out on the proposed classification method.
    A software component is a well-defined unit of             The experimental results are demonstrated in
software that has a published interface and can be             section 5. Section 6 concludes the work and
used in conjunction with components to form larger             followed by its references.
unit [3].

                                                        114                             http://sites.google.com/site/ijcsis/
                                                                                        ISSN 1947-5500
                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                Vol. 9, No. 9, September 2011

          II.      RELATED RESEARCH                               relies on facets which are extracted by experts to
                                                                  describe features about components. Features serve
    In the recent past research on software reuse                 as component descriptors, such as the component
has been focusing on several areas: examining                     functionality, how to run the component, and
programming language mechanisms to improve                        implementation details. To determine similarity
software reusability; developing software processes               between query and software components, a
and management strategies that support the reuse of               weighted conceptual graph is used to measure
software; also, strategies for setting up libraries               closeness by the conceptual distance among terms
containing reusable code components, and                          in a facet.
classification and retrieval techniques to help a
software professional to select the component from                    Girardi and Ibrahim’s [25] solution for
the software library that is appropriate for his or her           retrieving software artifacts is based on natural
purposes.                                                         language processing. Both user queries and
                                                                  software component descriptions are expressed in
    Earlier the research on software reuse was                    natural language. Natural language processing at
much focused on identifying reusable artifacts,                   the lexical, syntactic and semantic levels is
storage and retrieval of software components. It                  performed     on    software     descriptions  to
had attracted more attention as it was essential for              automatically extract both verbal and nominal
software developers.                                              phrases to create a frame-based indexing unit for
                                                                  software components.
A. Existing Software component Classification                     B.   Factors Affecting Software Reuse Practices
   and Retrieval Techniques
                                                                     Even though a substantial number of
    “A classified collection is not useful if it does             components are becoming common with
not provide the search-and-retrieval mechanism                    repositories being developed, there are several
and use it” [10]. A wide range of solutions to the                problems with software reuse. First, a variety of
software component classification and retrieval                   components must be made available for reuse,
were proposed and implemented. At different                       which is maintained in a repository.
times, based on available software systems and also                   Next, the classification factors used to
on     researchers’     criteria,  software     reuse             categorize the components play a vital role in the
classification and retrieval approaches are observed              component reuse. Each component is annotated
with minor variations.                                            with a brief description of its role. Classification of
    Ostertag et al. [24] reported three approaches                components is done based upon pre-defined
for classification. First is a free-text keywords next            classifiers i.e. classification factors.
one is that a faceted index and the last one is                       Further, the component vendors are making
semantic-net based. Free text based approach use                  great strides in facilitating the distribution of
information retrieval and indexing technology to                  components; no single vendor has emerged as the
automatically extract keywords from software                      leader in providing a comprehensive solution to the
documentation and index items with keywords. The                  search and retrieval problem. The size and
free-text keyword approach is simple and an                       organization of the component repositories further
automatic process. But this approach curtails                     exacerbates the problem.
semantic information associated with keywords.
Therefore it is not a precise approach. In faceted                    Finally, even if repositories are available, there
index approach, experts extract keywords from                     are no easy or widely accepted means for searching
program descriptions and documentation. They                      for specific components to satisfy the users’
arrange the keywords by facets into a classification              requirements.
scheme, which is used as a standard descriptor for                    Software reuse deals with the ability to combine
software components.           Mili et al [6] classifies          separate independent software components to form
search and retrieval approaches into four different               a larger unit of software.
                                                                     Once the developer is satisfied with the
    1) simple keyword and string match; 2) faceted                component he had retrieved from library, then it is
classification and retrieva curtailsl; 3) signature               added to current project under development.
matching; and 4) behavior matching. The last two
approaches are cumbersome and inefficient.                           Literature reveals many methods for developing
                                                                  multimedia applications and processing multimedia
   Mili et al [6] designed a software library in                  data.
which software components are described in a
formal specification: a specification is represented                  Various uses for multimedia annotation have
by a pair(S, R), where S is a set of specification,               been identified for computer based training and
and R is a relation on S.                                         narration [5].
   The faceted classification scheme for software                     The aim of the good component retrieval
reuse proposed by Prieto-Diaz and Freeman [10]                    system is to locate either the component required or

                                                           115                             http://sites.google.com/site/ijcsis/
                                                                                           ISSN 1947-5500
                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                              Vol. 9, No. 9, September 2011

the closest match in the shortest amount of time                classification scheme before storing them into a
using a suitable query.                                         repository. User will retrieve his desired
C. Existing System Architecture                                 component with required attributes from the
     Existing techniques use the architecture shown             The existing architecture is inefficient when the
in the Figure 1. In this architecture classification            number of components in the database are more.
and retrieval system relies upon single database                To overcome this lacunae a modified architecture is
interface to manage both storage and retrieval                  proposed as shown in Figure 2. A dedicated
process. If number of components in the database                repository is used to store and manage component
are more, then searching method will become more                details with multimedia information.
    In existing architectures software reusable                 In the proposed architecture a separate reuse
components are directly stored in database. There               repository is responsible to control and manage all
is no special control and management of                         components. It ensures the quality of components
components. So retrieving of suitable components                and availability of necessary documentation and
in a particular reuse scenario becomes tedious. This            helps in retrieving suitable components with
also facilitates to perform different operations like           detailed description. This amounts to centralized
frequent component set and version control are                  production and management of software reusable
becomes easy.                                                   components.

                                                                     Existing                                    user
                                  user                               components


                                                                     Classification         Reuse
Classification               Search Engine                                                                   Search
Scheme                                                                                    repository         Engine


                                                                                      Database Interface
                  Database Interface


                                                                           Figure 2. Proposed System Architecture

 Figure 1. Existing System Architecture
                                                                B.      Proposed Classification Scheme

           III.      PROPOSED SYSTEM                                An Integrated Classification Scheme for
                                                                Reusable Software Components with Multimedia
A.     Proposed Architecture                                    Presentations is proposed. In this scheme an audio
                                                                presentation is the combination of one or more
Existing software components in the repository                  classification techniques. It is likely to enhance the
can be directly classified in the classification                classification efficiency. This will give rise to the
scheme into one among the above specified                       development of a software tool to classify a
classifications presented in the previous section and           software component and build a reuse repository.
then stored into a repository. Sometimes they need                  Integrated classification  scheme     which
to be adapted according to the user requirements.               combines the faceted classification scheme to
As classification scheme inherently affect the                  classify components with the following attribute
classification efficiency due to the techniques in the          values.
previous section. New designs of software
                                                                                     Operating system
components for reuse are also subjected to
                                                                                     Language, Function

                                                         116                              http://sites.google.com/site/ijcsis/
                                                                                          ISSN 1947-5500
                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                               Vol. 9, No. 9, September 2011

                Inputs                                           Retrieves matching components from repository ;
                Outputs                                          Else
                Domain                                             No matching components found;
                Version                                          End.

    The software tool to be developed is aimed to                   The search algorithm accepts facet of a
provide an user friendly interface for browsing,                 component and attribute values from user intern
retrieving and inserting components. Two separate                it retrieves relevant components from repository.
algorithms for searching and another for inserting
components are developed to work with this                        C.     Implementation
software tool.
                                                                  The above algorithms are implemented as the
Algorithm 1:
                                                                 following modules and integrated as software tool..
Component       Insert(Component      facet    and
attributes)                                                           a. User Interface
Purpose: This algorithm inserts a component into                  This module is designed to build a clearly defined,
the reuse repository with integrated classification              understandable documentation and with concise
scheme attributes.                                               interface specifications. A graphic user interface is
Component Insert:                                                designed       to select       options like insert a
Input:(component attributes, component)                          component, delete a component and search for a
Output: (success , failure)                                      component. Through this interface the user can
                                                                 easily submits his desired preferences for various
Begin                                                            operations.
Step1: Enter attribute values;                                          b. Query Formation
Step2: If (component attributes <>                                 The user preferences are captured to insert a
             existing components attributes)                     component into repository or search for a
          Then                                                   component from a repository and a query is
      Store = success;                                           formed. Suppose a user desirous of searching a
          Else                                                   component may enter some keywords. He may
      Store = failure;                                           also select some list of attributes from the interface.
                                                                 The query formation module should accept all the
Step3: If ( Store = success ) Then                               keywords entered and form the query using those
  Component is successfully inserted              into           keywords.
repository;                                                             c. Query Execution
 Else                                                              In this module user query will be executed and
 Component already exists;                                       results are displayed. Suppose if user query is to
 End.                                                            retrieve components from repository then on query
                                                                 execution all the components which satisfy the
       The insert algorithm stores the newly                     criteria that is specified by user are displayed.
designed or adapted existing component intoa                       The results displayed give full details. Now the
repository. When component attributes are                        user can select his choice of component to
compared with existing component attributes in a                 download or save a component in the location
repository. If component with this description is                specified by the user.
found then component is inserted successfully,
otherwise component not inserted in repository and                         IV.       EXPERIMENTATION
exits giving message that component already exists.
Algorithm 2:                                                         The software tool provides the options to store
                                                                 or retrieve components from repository. The
Search_Component(Component           facet    and                following test cases are described when executed
attributes)                                                      together with the algorithms explained in previous
Purpose: This algorithm searches for relevant                    section
components with given component facet and
attributes from reuse repository.
                                                                 Sample test cases:
Component Search:
Input: ( component attributes)
                                                                 Case 1. Inserting a software component into
Output: ( relevant components )
Step1: Enter attribute values.
                                                                 Component-id : 009
Step2: If ( Any of the component attribute values
                                                                 Operating system: Windows
= Repository components attributes )      Then
                                                                 Language , Function: Java , Sorting

                                                          117                             http://sites.google.com/site/ijcsis/
                                                                                          ISSN 1947-5500
                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                              Vol. 9, No. 9, September 2011

Input      : Data items                                         displayed with full details of software components
Output : Sorted data items                                      retrieved from reuse repository.
Domain : Educational                                            Case 4. Retrieving a software component from
Version : 2.0                                                   reuse repository.
Result: Insertion of a software component is
successful.                                                     Component-id :     -
       In this test case, a given component attributes
                                                                Operating system:      Unix
are captured and compared with components in the
                                                                Language , Function: Java , -
repository. The search algorithm does not find a
matching component in the repository. Therefore,                Input    :           -
this component inserted into the repository and it              Output :            -
results in successful insertion of component into               Domain :            -
repository.                                                     Version :          -

                                                                    Result: Full specifications of software
Case 2. Inserting a component into reuse                        component are not passed. Software component
repository.                                                     retrieval is failure.

Component-id : 018                                                  In above test case total facet attributes are not
                                                                given only language attribute is given. The search
Operating system: Windows
                                                                algorithm displays a message that function facet is
Language , Function: Java , Sorting
                                                                not mentioned.
Input    : Data items
Output : Sorted data items                                          The experimental test cases are conducted with
Domain : Educational                                            our integrated classification scheme algorithms and
Version : 2.0                                                   results are compared with existing schemes and
                                                                result charts are presented in next section.
Result: This software Component is already exists                                V.      RESULTS
in the reuse repository.
                                                                    The performance is evaluated with different test
    In this test case a given component attributes              results and compared with existing schemes.
are captured and compared with components in the
repository. The      algorithm finds a matching                     Search effectiveness refers to how best a given
component in the reuse repository. Therefore this               method supports finding relevant items in given
software component is not inserted into the reuse               database. This may be number of relevant items
repository. A message is displayed that the                     retrieved over the total number of items retrieved.
software component already exists in the reuse                  The following box-plots in Figure 3 illustrates
repository.                                                     the performance of search in existing classification

Case 3. Retrieving a software component from
the reuse repository
Component-id :     -                                                8
Operating system: -                                                 7
Language , Function: Java , Sorting                                 6
Input    :          -                                               5
Output :           -                                                4
Domain :           -                                                3
Version :          -
Result:                                                             1
Comp-Id        version                                              0
003              3.0   Download
018              2.0   Download
020              1.0   Download

       In this test case language and function
attributes are captured and compared with software
components available in reuse repository. The
                                                                             relevent items        total items2
algorithm found three relevant software
components in the reuse repository. The results are
                                                                  Figure 3 . Finding Relevant Components

                                                         118                             http://sites.google.com/site/ijcsis/
                                                                                         ISSN 1947-5500
                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                               Vol. 9, No. 9, September 2011

    schemes and integrated classification scheme                      The possibilities of further up gradation
on the horizontal axis for the number of data items              according to additional software requirements of
as mentioned on the vertical axis. Total data items              the clients is not ruled out due to software reuse.
retrieved are shown with white color and colored
area indicates the percentage of relevant items                                        REFERENCES
among all the retrieved data items.
                                                                 [1]    S. Arnold and S. Stepoway. The Reuse System:
    Faceted classification scheme marked highest                        Cataloguing and Retrieval of Reusable Software.
performance of search among all the existing                            Proceedings of COMPCONS’87, 1987, pp. 376-379.
                                                                 [2]     T. Isakowitz and R. Kauflkan. Supporting Search for
classification schemes. Keyword classification                          Reusable Software Components. IEEE Transactions on
scheme registered the lowest performance.                               Software Engineering. Vol. 22, No 6, June 1996.
Whereas our proposed integrated classification                   [3]    B. Burton, R. Aragon, S. Bailey, K. Koehler and
scheme out performed to retrieve more relevant                          L.Mayes. The Reusable Software Libra y . IEEE
items in comparison to all those existing schemes.               [4]    A. Al-Yasiri. Domain Oriented Object Reuse based
    Search time is the length of time spent by a user                   onGeneric Software Architectures, Ph.D. Thesis,
                                                                        Liverpool John Moores University, May 1997.
to search for a software component.              The             [5]    S. Bailin. Applying Multimedia to the Reuse of Design
following box-plots in Figure 4 gives search time                       Knowledge.           Paper           available        at:
consumed by the existing classification schemes                         http://www.umcs.main.edu/-
and Integrated classification scheme.                                   ftp/wisr/wisr8/papers/bailin/bailhhtml. 1997.
                                                                 [6]    R. Mili, A. Mili and R.T. Mittermeir. Storing and
                                                                        Retrieving Software Based Components: A Refinement
                                                                        Based System. IEEE Transactions on Software
                                                                        Engineering. Vol. 23, No 7, July 1997.
                                                                 [7]    Y. Maarek. Introduction to Information Retrieval for
                                                                        Software Reuse. In Advances in Software Engineering
                                                                        and Knowledge Engineering, Vol2, edited by: B. Abriola
10                                                                      and G. Tortor. World Scientific Publications,
 9                                                               [8]    J. Poulin and K. Yglesias. Experiences with a faceted
 8                                                                      July 1987, pp. 129-137. Classification Scheme in a Large
                                                                        Reusable Software Library (RSL). In The Seventh Annual
 7                                                                      International Computer Software and Applications
 6                                                                      Conference (COMPSAC’93), 1993, pp. 90-99.
 5                                                               [9]    W. Frakes and T. Pole. An Empirical Study of
                                                                        Representation Methods for Reusable Software
 4                                                                      Components.      IEEE Transactions on Software
 3                                                                      Engineering, August 1994, pp. 617- 630.
                                                                 [10]   R. Prieto-Diaz and P. Freeman. Classifving Software for
 2                                                                      Reusability. IEEE Software, January 1987, pp. 6-16.
 1                                                               [11]   R. Prieto-Diaz. Implementing Faceted Classification for
 0                                                                      Software Reuse. Communications of The ACM May
                                                                 [12]   The Chambers Diction,ary. Chambers Harrap Publishers
                                                                        Ltd, 1993.
                                                                 [13]   J. F. Koegel Buford. Uses of Multimedia Information
                                                                        Multimedia Systems, ACM Press (edited by J. F. Koegel
                                                                        Buford), 1994.
                                                                 [14]   R.Heller and C.D. Martin. A Media Taxonomy,IEEE
                                                                        Multimedia, Winter 1995, V01.2, No.4, pp. 36 - 45.
                                                                 [15]   S.Feldman, Make - A P,rogram for Maintaining
          Search time           Total items2                            Computer Programs, Software - Practice and Experience.
                                                                 [16]   W. F. Tichy. RCS - A System for Version Control.
                                                                        Software - Practice and Experience, July 1985, pp. 637-
Figure 4. Search Time of Components                                     654.
                                                                 [17]   B.O’Donovan, J.B.Grimson. A Distributed Version
      Existing classification schemes togher with                       Control-System For Wide Area Networks Software
                                                                        Engineering Journal, 1990, vo1.5, no.5, pp. 255-262
proposed and Integrated classification scheme on                 [18]   A. Dix, T. Rodden and I. Sommerville.
the horizontal axis and the search time consumed in                     ModellingVersions in Collaborative work. IEE
each method on the vertical axis. Total data items                      Proceedings on Software Engineering, Vol. 144, No.4,
retrieved are shown with white color and colored                        August 1997, pp.
area indicates the search time to retrieve those data            [19]   M.Hanneghan, M.Merabti and G. Colquhoun. A
                                                                        Viewpoint Analysis Reference Model for Concurrent
items.                                                                  Engineering. Accepted for Computers in Industry, June
             VI.       CONCLUSION                                [20]   J. Plaice and W. Wadge. A New Approach to Version
    This integrated classification scheme with                          Control. IEEE Transactions on Software Engineering.
multimedia presentation most efficient retrieval                 [21]   P. Chen, R. Hennicker and M. Jarke. On the Retrieval of
method over existing schemes. The relevant                              Reusable Software Components. IEEE Transactions on
components for software reuse from the software                         Software Engineering, September 1993.
                                                                 [22]   M. Fugini and S. Faustle. Retrieval of Reusable
repositories are presently drawn.. The solution                         Components in a Development Ififormation System. IEEE
realized here will suit to all the needs of various                     Transactions on Software Engineering, September 1993.
software developers in the industry.

                                                          119                                http://sites.google.com/site/ijcsis/
                                                                                             ISSN 1947-5500

Shared By: