A Multilevel Representation of Repository for Software Reuse
Document Sample


(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.
types:
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
repository.
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.
inefficient.
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
Existing
components
user components
Adapt
Adapt
Classification Reuse
Classification Search Engine Search
Scheme
Scheme repository Engine
New
New
Database Interface
Database Interface
DataBase
DataBase
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 )
reuserepository.
Begin
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
10
the reuse repository
9
Component-id : - 8
Operating system: - 7
Language , Function: Java , Sorting 6
Input : - 5
Output : - 4
Domain : - 3
Version : -
2
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
Software.
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,
Singapore,1993.
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
1998.
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
Related docs
Other docs by ijcsiseditor
Digital Images Encryption in Spatial Domain Based on Singular Value Decomposition and Cellular Automata
Views: 0 | Downloads: 0
Agent Behavior in Multiagent Systems: Issues and Challenges in Design, Development and Implementation
Views: 1 | Downloads: 0
Optimizing Cost, Delay, Packet Loss and Network Load in AODV Routing Protocols
Views: 2 | Downloads: 0
Get documents about "