Strategies for the Intelligent Selection of Components
Total Page:16
File Type:pdf, Size:1020Kb
Edith Cowan University Research Online Theses: Doctorates and Masters Theses 2012 Strategies for the intelligent selection of components Valerie Maxville Edith Cowan University Follow this and additional works at: https://ro.ecu.edu.au/theses Part of the Computer Engineering Commons Recommended Citation Maxville, V. (2012). Strategies for the intelligent selection of components. https://ro.ecu.edu.au/theses/ 433 This Thesis is posted at Research Online. https://ro.ecu.edu.au/theses/433 Edith Cowan University Copyright Warning You may print or download ONE copy of this document for the purpose of your own research or study. The University does not authorize you to copy, communicate or otherwise make available electronically to any other person any copyright material contained on this site. You are reminded of the following: Copyright owners are entitled to take legal action against persons who infringe their copyright. A reproduction of material that is protected by copyright may be a copyright infringement. Where the reproduction of such material is done without attribution of authorship, with false attribution of authorship or the authorship is treated in a derogatory manner, this may be a breach of the author’s moral rights contained in Part IX of the Copyright Act 1968 (Cth). Courts have the power to impose a wide range of civil and criminal sanctions for infringement of copyright, infringement of moral rights and other offences under the Copyright Act 1968 (Cth). Higher penalties may apply, and higher damages may be awarded, for offences and infringements involving the conversion of material into digital or electronic form. Strategies for the Intelligent Selection of Components Thesis submitted by Valerie Maxville, BSc (Hons) for a Doctor of Philosophy Degree in Software Engineering EDITH COWAN UNIVERSITY SCHOOL OF COMPUTER AND SECURITY SCIENCE 11th January, 2012 ii USE OF THESIS The Use of Thesis statement is not included in this version of the thesis. iv Declaration DECLARATION I certify that this thesis does not, to the best of my knowledge and belief: (i) incorporate without acknowledgement any material previously submitted for a degree or diploma in any institution of higher education; (ii) contain any material previously published or written by another person except where due reference is made in the text; or (iii) contain any defamatory material. I also grant permission for the Library at Edith Cowan University to make duplicate copies of my thesis as required. Valerie Maxville 11th January 2012 v vi List of Publications Maxville V (2002) `Intelligent Selection of Components', in `Young Researchers Work- shop, 7th International Conference on Software Reuse: Methods, Techniques, and Tools (ICSR-7)' Maxville V, Armarego J and Lam C P (2003a) `The CdCT Process for Compo- nent Selection and Evaluation', in `Postgraduate Electrical Engineering and Com- puting Symposium (PEECS)' Maxville V, Lam C P and Armarego J (2003b) `Selecting Components: a Process for Context-Driven Evaluation', in `Asia-Pacific Software Engineering Conference (APSEC)', IEEE Computer Society, pp 456-465 Maxville V, Armarego J and Lam C P (2004a) `Assessment Methods for Compo- nent Selection', in `Postgraduate Electrical Engineering and Computing Symposium (PEECS)' Maxville V, Armarego J and Lam C P (2004b) `Learning to Select Software Com- ponents', in Maurer F and Ruhe G (eds) `International Conference on Software Engineering and Knowledge Engineering (SEKE)', pp 421-426 Maxville V, Lam C P and Armarego J (2004c) `Intelligent Component Selection', in `IEEE signature conference on Computer Software and Applications (COMP- SAC)', IEEE Computer Society, pp 244-249 Maxville V (2005) `Knowledge Representation for COTS Selection', in `Postgraduate Electrical Engineering and Computing Symposium (PEECS)' Maxville V, Lam C P and Armarego J (2008) `Supporting component selection with a suite of classifiers’, in `IEEE Congress on Evolutionary Computation (CEC)', pp 3946-3953 Maxville V, Armarego J and Lam C P (2009) `Applying a reusable framework for software selection', IET Software, 3(5), pp 369-380 vii viii Abstract It is becoming common to build applications as component-intensive systems - a mix- ture of fresh code and existing components. For application developers the selection of components to incorporate is key to overall system quality - so they want the `best'. For each selection task, the application developer will define requirements for the ideal component and use them to select the most suitable one. While many software selection processes exist there is a lack of repeatable, usable, flexible, automated processes with tool support. This investigation has focussed on finding and implementing strategies to enhance the selection of software components. The study was built around four research elements, targeting characterisation, process, strategies and evaluation. A Post-positivist methodology was used with the Spiral Development Model struc- turing the investigation. Data for the study is generated using a range of qualitative and quantitative methods including a survey approach, a range of case studies and quasi- experiments to focus on the specific tuning of tools and techniques. Evaluation and review are integral to the SDM: a Goal-Question-Metric (GQM)-based approach was applied to every Spiral. A range of contributions were made over seven Spirals. Spiral 1 delivered a component specification template, swvML, to support the selection process. There is no standard for specifying components - a known template is a prerequisite for automated compo- nent selection. In Spiral 2, the CdCE Process was formulated: created to be flexible, repeatable and suited to automation and tool support. The Process has been evaluated through case studies and is supported by tools and procedures developed as part of the research study. In addition, a pattern for software selection was derived from the Pro- cess, allowing the reuse of the generic approach, with an implementation tailored to the organisational environment. ix Context was a central concept in the investigation implemented as non-functional se- lection criteria in the shortlisting and as context-based tests in the evaluation. With the specification template and process in place the focus turned to strategies for selection: shortlisting using classifiers; enhanced data representation; evaluation of components and interactive decision support. Each strategy delivered one or more novel contribu- tions and addressed the research problem. The use of decision tree classifiers is novel in component selection and avoids aggregation of results while providing an understandable justification of decision. The metadata for a component repository has been integrated with a knowledge base to allow greater use of the semantic possibilities of the selection criteria. Candidate components are evaluated based on an automatically generated test suite which is adapted to each candidate. Metrics for evaluation target functionality, adaptation effort, test performance and context-based tests. The decision support tool, ClassifierSuite, provides a visualisation of the selection criteria to allow analysis of the criteria and shortlists. Real world data was used in case studies throughout the investi- gation. The work has potential to impact professional practice in the way software is charac- terised, selected, and how evaluations are carried out. The decision support tool may be applied to other data and decision visualisation tasks. Future work to address additional repositories and wider trials will confirm the impact on component selection practice. x Acknowledgments To my supervisors, Chiou Peng Lam and Jocelyn Armarego, for being so patient and supportive of my journey. Thanks for providing a true master/apprentice experience that went way beyond the research I was doing. Not just supervisors, you are mentors, role models, friends and really great people. To all the staff at Edith Cowan University and Murdoch University - the support has been wonderful. Thanks to the students and colleagues who feigned interest and encouraged me. To my boss, Andrew Rohl, for his good humour and acceptance of all those leave applications. To my friends at iVEC, the IEEE WA Section and the ACS WA Branch - the gentle prods and total absence of negativity were most appreciated. And to my family and friends who never doubted and always offered to help. Especially to Chrissy, Elaine and Jackie. Wow. For my three little birds - my sweet children who don't know a world where Mummy isn't doing a PhD. Yes, we can have a holiday, and a puppy, and sleepovers... a life! And to my wonderful parents who have always given unconditional support to my education, my career and my happiness. I dedicate this PhD to my sweet Mother, you put more into my PhD than anyone - by taking such loving care of my three kids for as long as your health allowed it. I wish you were here. For Mum. xi xii Contents 1 Introduction 1 1.1 Rationale . 1 1.2 Statement of Problem . 3 1.3 Delimitation and Limitations . 7 1.4 Theoretical Framework . 8 1.5 Definition of Terms . 11 1.6 Assumptions . 13 1.7 Research Approach . 14 1.8 Contributions . 14 1.9 Thesis Structure . 19 1.10 Summary . 20 2 Review of Literature 21 2.1 Background . 21 2.1.1 Software Development Process . 23 2.1.2 Software Reuse . 25 2.1.3 Component Based Software Engineering . 34 2.1.4 CBSE in the Software Development Lifecycle . 37 2.1.5 Issues in CBSE . 55 2.2 Component Selection . 56 2.2.1 Characterisation and Specification . 57 2.2.2 Selection Processes . 58 2.2.3 Metrics for Evaluation . 63 2.2.4 Evaluation Methods . 65 xiii 2.2.5 Testing . 67 2.2.6 Quality . 69 2.2.7 Automation, Intelligence and Tool Support . 72 2.3 Critique . 77 2.4 Summary . 80 3 Research Procedures 81 3.1 Methodology . 81 3.2 Approach . 92 3.2.1 The Spiral . 92 3.2.2 Research Elements and Spirals . 96 3.3 Context of Study . 97 3.4 Instrumentation . 98 3.5 Data Collection .