A Matlab Implementation of The Back-Propagation Approach for Reusability of Software Components

Document Sample

```					                                                            (IJCSIS) International Journal of Computer Science and Information Security,
Vol. 9, No. 5, May 2011

A Matlab Implementation Of The Back-
Propagation Approach for Reusability of Software
Components
Meenakshi Sharma1                                                      Priyanka Kakkar2
2
Sri Sai College Of Engg. & Tech., Pathankot                       Sri Sai College Of Engg. & Tech., Pathankot2 Mtech CSE
HOD CSE2                                                                 4th sem2
Mss.s.c.e.t@gmail.com                                                  pinkudiya@yahoo.co.in2

Dr. Parvinder Sandhu3
Rayat and Bhara College OF Engg. And Tech.3
HOD CSE3

Abstract- Before the age of the computer, there were many               algorithm, which are based on other standard optimisation
mathematical problems that humans could not easily solve,               techniques, such as conjugate gradient and Newton methods.
or more precisely (and this distinction is extremely
important) humans were too slow in solving. Computers                            The term back propagation refers to the process by
enabled these often simple but slow and tedious tasks to be             which derivatives of network error, with respect to network
performed quickly and accurately. The first problems solved             weights and biases, can be computed can compute derivatives
with computers were calculating equations to resolve                    of network error. This process can be used with a number[7]
important physical problems, and later displaying a nice                of different optimisation strategies. The architecture of a
GUI, making word processors and so on. However, there are               multilayer network is not completely constrained by the
many common tasks which are trivial for humans to perform               problem[2] to be solved. The number of inputs to the network
(without even any conscious effort) yet which are extremely             is constrained by the problem, and the number of neurons in
difficult to formulate in a way that a computer may easily              the output layer is constrained by the number of outputs
solve.                                                                  required by the problem. However, the number of layers
Keywords:- Reusability,JISC,GUI, back-propagation                       between network inputs and the output layer and the sizes of
the layers are up to the user.
algorithm.

Generalising the Widrow-Hoff learning rule to multiple-layer
networks and non-linear[1][2] differentiable transfer functions
created back propagation. Input vectors and the corresponding
output vectors are used to train a network until it can
approximate a function, associate input vectors with specific
output vectors, or classify input vectors in an appropriate way
as defined by you.

Networks with biases, a sigmoid layer, and a linear output
layer are capable of approximating any function[3] with a
finite number of discontinuities. Standard back propagation is
a gradient descent algorithm, as is the Widrow-Hoff learning            A unit in the output layer determines its activity by following
rule. There are a number of variations [4][5][6]on the basic            a two step procedure.

ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 9, No. 5, May 2011
•        First, it computes the total weighted input xj, using
the formula:

4. Compute how fast the error changes as the activity of a unit
in the previous layer is changed. This crucial step[9] allows
where yi is the activity level of the jth unit in the previous              back propagation to be applied to multilayer networks. When
layer and Wij is the weight of the connection between the ith               the activity of a unit in the previous layer changes, it affects
and the jth unit.                                                           the activities of all the output units to which it is connected. So
to compute the overall effect on the error, we add together all
•        Next, the unit calculates the activity yj using some               these separate effects on output units. But each effect is simple
function of the total weighted input. Typically we use the                  to calculate. It is the answer in step 2 multiplied by the weight
sigmoid function:                                                           on the connection to that output unit.

Once the activities of all output units have been determined,                   By using steps 2 and 4, we can convert the EAs of one
the network computes the error E, which is defined by the                          layer of units into EAs for the previous layer. This
expression:                                                                        procedure can be repeated to get the EAs for as many
previous layers as desired. Once we know the EA of a
unit, we can use steps 2 and 3 to compute the
[10]EWs on its incoming connections.

where yj is the activity level of the jth unit in the top layer and            2.Methodology:
dj is the[8] desired output of the jth unit.
A. Pilot interviews
The back-propagation algorithm consists of four steps:
Early interviews were conducted with three projects on a pilot
1. Compute how fast the error changes as the activity of an                 basis to allow us to refine our interview structure and to
output unit is changed. This error derivative (EA) is the                   develop and modify our explicit methodology.
difference between the actual and the desired activity.
B. Detailed Evaluation Criteria document

In close consultation with JISC programme staff, we drafted,
amended, and agreed this document, which defines the
software evaluation criteria to be used to evaluate the 22
2. Compute how fast the error changes as the total input                    DeLeTools projects. This document, which is available on the
received by an output unit is changed. This quantity (EI) is the            JISC website, is closely related to the accompanying
answer from step 1 multiplied by the rate at which the output               Evaluation Methods and Tools document mentioned below:
of a unit changes as its total input is changed.                            the criteria document describes the tasks to be done and what
criteria we use to [11]approach them, and the methods
document describes how we should do it.

C. Detailed Evaluation Methods and Tools document

3. Compute how fast the error changes as a weight on the                    Similarly, we prepared this document, which details the
connection into an output unit is changed. This quantity (EW)               methods used to assess, test, and evaluate the software outputs
is the answer from step 2 multiplied by the activity level of the           of the 22 projects in the DeLeTools strand of the JISC e-
unit from which the connection emanates.                                    Learning Programme. Using the Software Quality Evaluation

ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 9, No. 5, May 2011
Criteria[12] Document as a high level guide, the Detailed                A. Match of actual software output to planned output
Evaluation Methods and Tools document outlines the specific                  Measures
methods proposed and references the criteria that these
methods address. The latter document states:                             Are the outputs materially different from those planned? Are
they so delayed that the project will not, or is unlikely to,
Our approach is based not only on the quality standards to               deliver those outputs?
which JISC require the 22 projects to adhere and the
individual standards which have been identified by the                   B. Use of quality plan Measures
projects themselves, but also the maintainability, extendibility
and the general robustness of the 22 projects' code and                  Has the quality plan been completed and followed? Has it
software. Code review will be a key focus of the evaluation of           been used to aid implementing the JISC Software Quality
each project. Other evaluation and testing methods will vary             Assurance Policy? Has it been updated? Has it been used in
according to the project and its outputs.                                creative[16] and unforeseen ways?

D. Summary of methods used                                               C. Compliance with the JISC Open Source Policy Measures

We used the following methods:                                           The (draft) JISC Open Source Policy (May 2004) itself details
the necessary areas of compliance.
1. Brief Online Study.
D. Compliance with Open Standards Measures
2. Face to face interview with project staff and follow up by
email and phone (full accounts of interviews appear in                   Have the Open Standards outlined in the quality plan been
Appendix).                                                               used? If not, have other Open Standards been used?

3. Selective checking of sections of code (per-project                   E. Quality control procedures Measures
summary of code checking results appears below). [13]
Are there any documented formal or informal quality control
4. Lab testing the software on various platforms and in various          procedures? Is there evidence of them being used? Can we
conditions (per-project summary of test results appears below            reproduce testing procedures? Are issues and changes being
– full results have been made available to projects and to               documented?
programme staff).
F. Project specific documentation Measures
5. Usability walkthrough and application of heuristics (per-
project summary of usability results appears below – full                In addition to the project plan and quality plan, we asked each
staff).
• The technical specification of their product
6. Brief and selective desk audit of project documentation,
version tracking, and testing procedures (the results of the                 • a summary of their testing procedures
audit were fed into the software evaluation and gave the testers
• a copy of their test plan
insight into which areas of the tool might need particular[14]
attention, also alerting the testing team to any issues and bugs
• reports from version tracking software
prior to testing and informing some project-specific questions
asked during the interviews).                                                • code documentation. [17]

II. CRITERIA USED IN EVALUATION                                           It was anticipated that there would be little or no end-user
documentation, and that few projects would have a complete
The criteria used in the evaluation[15] and a brief summary of
technical specification document.
the measures or "questions asked" appears below.
3.Results:

ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 9, No. 5, May 2011
Thompson (1994) is concerned that technology transfer of
appropriate software engineering practices is inhibited by
management and developers because they often have poor
attitudes towards change. He advises that the software
development community needs a[19] much better
understanding of the practices, their use and potential benefits.
It is hoped that through the publication of these success stories
Figure 6.1- Main Menu                                                  from the Process Improvement Program, local developers will
appraise such information in an impartial manner and adopt
best practice willingly and with enthusiasm.

A valuable outcome of the Process Improvement Program is
the development of the RAPID evaluation tool which provides
a realistic option to very small development organisations
which traditionally lack the resources to undertake full-blown
software process assessments. With the Australian software
Figure6.2- choosing Option                                             community dominated by very small organisations (88 percent
have less than five staff), this program may provide valuable
opportunities for such developers to evaluate and improve
their processes, thereby achieving success in domestic and
global markets.

Funding has been made available to provide full SPICE
assessments and mentoring for two of the Process
Figure6.3- Selecting Source File                                       Improvement Program participants. It is anticipated that case
studies, in a similar format to the SPIRE (Software Process
Improvement in Regional Europe) Case Studies will be
compiled and published. The Federal Government's support
for software incubators, such as the one operating at SEA Qld,
promises an opportunity for small start-up companies to
overcome traditional[20] resource limitations. These steps
may facilitate the achievement of the goal of improved global
competitiveness for the Australian software industry.

Figure6.4- Final result.                                               5.REFERENCES
[1] Sandhu P. S. and Singh H., "A Reusability Evaluation
4.CONCLUSION
Model for OO-Based Software Components", International
Despite some reservations stated above about the ESI                   Journal of Computer Science, vol. 1, no. 4, 2006, pp. 259-264.
questionnaire, the survey has achieved its goal of providing           [2] Neural Networks at Pacific Northwest National Laboratory
software developers in Queensland. At the time of writing,             ge.html
about 40 responses have been received by SEA in Western                [3]     Artificial   Neural     Networks       in     Medicine
Australia and the WA findings will provide interesting                 http://www.emsl.pnl.gov:2080/docs/cie/techbrief/NN.techbrief
comparisons against those from Queensland. The proportion              .ht
and best practice adoption level of COTS developers will be of         [4] A Novel Approach to Modelling and Diagnosing the
particular interest in relation to the Queensland findings.            Cardiovascular                                          System
http://www.emsl.pnl.gov:2080/docs/cie/neural/papers2/keller.
Although all the follow-up meetings for the Process                    wcnn95.abs.html
Improvement Program[18] have not yet been completed,                   [5]       Electronic     Noses         for        Telemedicine
feedback from the participant organisations has been positive.         http://www.emsl.pnl.gov:2080/docs/cie/neural/papers2/keller.c

ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 9, No. 5, May 2011
cc95.abs.html                                                         Conference on Emerging Technologies (IEEE ICET 2006),
[6] G. Caldiera and V. R. Basili, Identifying and Qualifying         Peshawar, Pakistan, Nov. 13-14, 2006,
Reusable Software Components, IEEE Computer, (1991) 61-               pp. 664-669.
70.
[7] W. Tracz, A Conceptual Model for Mega programming,
SIGSOFT Software Engineering Notes, 16( 3, July 1991) 36-
45.
[8] Stephen R. Schach and X. Yang, Metrics for targeting
candidates for reuse: an experimental approach, ACM, (SAC
1995) 379-383.
[9] J. S. Poulin, Measuring Software Reuse–Principles,
Practices and Economic Models (Addison-Wesley, 1997).
[10] W. Humphrey, Managing the Software Process, SEI
Series in Software Engineering (Addison-Wesley, 1989).
[11] L. Sommerville, Software Engineering, 4th edn.
[12] R. S. Pressman, Software Engineering: A Practitioner’s
Approach, 5th edn. (McGraw-Hill, 2005).
[13] G. Boetticher and D. Eichmann, A Neural Network
Paradigm for Characterizing Reusable Software, Proc. of the
1st Australian Conference on Software Metrics (18-19
November 1993).
[14] S. V. Kartalopoulos, Understanding Neural Networks and
Fuzzy Logic-Basic Concepts and Applications (IEEE Press,
1996)153-160.
[15] Parvinder Singh Sandhu and Hardeep Singh, “Software
Reusability Model for Procedure Based Domain-Specific
Software Components”, International Journal of Software
Engineering & Knowledge Engineering (IJSEKE), Vol. 18,
No. 7, 2008, pp. 1–19.
[16] Parvinder Singh Sandhu and Hardeep Singh, "Automatic
Quality Appraisal of Domain-Specific Reusable Software
Components", Journal of Electronics & Computer Science,
vol. 8, no. 1, June 2006, pp. 1-8.
[17] Parvinder Singh Sandhu and Hardeep Singh, "A
Reusability Evaluation Model for OO-Based Software
Components", International Journal of Computer Science, vol.
1, no. 4, 2006, pp. 259-264.
[18] Parvinder Singh Sandhu and Hardeep Singh , “Automatic
Reusability Appraisal of Software Components using Neuro-
Fuzzy Approach, International Journal Of Information
Technology, vol. 3, no. 3, 2006,pp. 209-214.
[19] Parvinder S. Sandhu and Hardeep Singh, “A Fuzzy Based
Approach for the Prediction of Quality of Reusable Software
Components”, IEEE 14th International Conference on
NIT Suratkal, Dec. 20 – 23, 2006, pp. 761-764.
[20] Parvinder S. Sandhu and Hardeep Singh, “A Neuro-Fuzzy
Based Software Reusability Evaluation System with
Optimized Rule Selection”, IEEE 2nd International