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

Document Sample
A Matlab Implementation of The Back-Propagation Approach for Reusability of Software Components Powered By Docstoc
					                                                            (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
                    Meenakshi Sharma1                                                      Priyanka Kakkar2
      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.

               I.     INTRODUCTION (HEADING 1)

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.

                                                                  298                              http://sites.google.com/site/ijcsis/
                                                                                                   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

                                                                      299                               http://sites.google.com/site/ijcsis/
                                                                                                        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
 results have been made available to projects and to programme            project to give us access to:
                                                                              • 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.

                                                                    300                               http://sites.google.com/site/ijcsis/
                                                                                                      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
                                                                       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
benchmark information about adoption of best practice by               http://www.emsl.pnl.gov:2080/docs/cie/neural/neural.homepa
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
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

                                                                 301                              http://sites.google.com/site/ijcsis/
                                                                                                  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.
[7] W. Tracz, A Conceptual Model for Mega programming,
SIGSOFT Software Engineering Notes, 16( 3, July 1991) 36-
[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.
(Addison-Wesley, 1992).
[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,
[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
Advanced Computing & Communications (ADCOM 2006),
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

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

Shared By: