Evolution and Composition of Object-Oriented Frameworks
Total Page:16
File Type:pdf, Size:1020Kb
Evolution and Composition of Object-Oriented Frameworks Michael Mattsson University of Karlskrona/Ronneby Department of Software Engineering and Computer Science ISBN 91-628-3856-3 © Michael Mattsson, 2000 Cover background: Digital imagery® copyright 1999 PhotoDisc, Inc. Printed in Sweden Kaserntryckeriet AB Karlskrona, 2000 To Nisse, my father-in-law - who never had the opportunity to study as much as he would have liked to This thesis is submitted to the Faculty of Technology, University of Karlskrona/Ronneby, in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Engineering. Contact Information: Michael Mattsson Department of Software Engineering and Computer Science University of Karlskrona/Ronneby Soft Center SE-372 25 RONNEBY SWEDEN Tel.: +46 457 38 50 00 Fax.: +46 457 27 125 Email: [email protected] URL: http://www.ipd.hk-r.se/rise Abstract This thesis comprises studies of evolution and composition of object-oriented frameworks, a certain kind of reusable asset. An object-oriented framework is a set of classes that embodies an abstract design for solutions to a family of related prob- lems. The work presented is based on and has its origin in industrial contexts where object-oriented frameworks have been developed, used, evolved and managed. Thus, the results are based on empirical observations. Both qualitative and quanti- tative approaches have been used in the studies performed which cover both tech- nical and managerial aspects of object-oriented framework technology. Historically, object-oriented frameworks are large monolithic assets which require several design iterations and are therefore costly to develop. With the requirement of building larger applications, software engineers have started to compose multiple frameworks, thereby encountering a number of problems. Five common framework composition problems, together with existing solution approaches and the underlying causes for the problems are presented in this thesis. Adopting a reuse technology, such as object-oriented frameworks, in a software development organization causes changes and additions of practices and proce- dures. We present problems and possible solutions related to these issues. Exam- ples of topics addressed are; domain scoping, business models, verification of the framework’s abstract behavior, and when to release a framework. Object-oriented frameworks, as all software, evolve due to changed and new requirements. The evolution of object-oriented framework can be more costly than conventional soft- ware since there generally exist several applications based on and forced to evolve with the framework. In our studies, we characterize different views of framework evolution. Aspects investigated are structural and behavioral stability, change and growth rates using historical information and effort distribution of framework development and customization. We also provide an assessment of the methods used for characterizing the evolution against the following management issues; identification of evolution-prone modules, framework deployment, change impact analysis, benchmarking and requirements management. As part of these studies, we have extended and validated two proposed methods for software evolution; one for quantitatively assessing stability of a framework, which has been extended with a set of framework stability indicators, and one for identifying evolution-prone modules based on historical information (adapted for object-orientation). Our stud- ies have validated that these methods are feasible and possible to apply on indus- trial object-oriented frameworks. In addition, we provide quantitative evidence that Preface The research work presented in thesis has been carried out as part- time Ph.D. studies since the summer 1992 when I joined the Univer- sity of Karlskrona/Ronneby. This thesis includes a collection of six papers and is organized in the following three parts: n Introduction. The introduction gives a background to the pre- sented papers. Section 1 introduces the notion of object-ori- ented frameworks and our view of effective utilization of framework technology. The section also discusses the follow- ing activities; development & usage, composition and evolu- tion of object-oriented frameworks. Each of the activities is illustrated with one or more typical examples to give the reader an understanding of the phenomena. Section 2 presents an overview of research topics in the framework field. The over- view is presented in a triplet form, <background, existing approaches, research questions>, thereby also giving an over- view of related work. Section 3 describes the research methods used, the main contributions and a summary of the papers. n Framework Composition. This part includes two papers, I-II, the first is about problems and experiences of adopting frame- work technology in an organisation. The second paper lists five problems which may occur when composing two or more frameworks. Except the problems, existing solutions approaches as well as the causes for the problems is presented. Preface n Framework Evolution. This part includes four papers, III-VI, regarding framework evolution. Paper III presents a method for assessing structural and behavioural stability of an evolving framework and its application. Paper IV presents and applies a method for identifying and characterizing the evolution-pron- ess of a framework, its subsystem and their modules. In paper V the relative distribution of effort per development phase and version for a framework and the relationship between frame- work development effort and framework instantiation effort is presented. In Paper VI we have compared and assessed the methods presented and used in papers III-V. The comparison is between the methods and the assessment against a set of evolu- tion issues comprising identification of evolution-prone mod- ules, framework deployment, change impact analysis, benchmarking and requirements management. Through these studies we have obtained knowledge and information about the nature of framework evolution that, hopefully, will assist man- agement making well-informed decisions about a framework’s evolution, thereby ensuring controlled and predictable evolu- tion of functionality and costs for future framework develop- ment efforts. December 1999 Michael Mattsson Acknowledgements The work presented in this thesis was financially supported in parts by Blekinge Forskningsstiftelse and the Foundation for Knowledge and Competence. I am deeply indebted to many persons who have provided help, support and encouragement throughout my work with this thesis. First of all, I want to express my gratitude to my supervisor, colleague and friend Prof. Jan Bosch who always believed in me, for all the work we have done together and for being a friend. Thank you Jan. A special thanks to my friend and colleague PO (PerOlof) Bengtsson for fruitful discussions about meaning- ful and meaningless things. Many thanks to Lennart Olsson, Utilia Consult AB, who introduced me to the field of object-oriented frameworks in the early nineties. He is the reason, directly or indirectly, that many swedish companies, a few mentioned below, were early successful adopters of framework technology, which has been beneficial for my research work. Warm thanks to the co-authors of some publications, Peter Molin (now Symbian AB), Mohamed Fayad, University of Nebraska, Lincoln, and Christer Lundberg, University of Kalmar. I would also thank my other col- leagues and friends in the software engineering research group (RiSE) in Ronneby. Special thanks to the following of our industrial partners for their co- operation; Ericsson Software Technology AB, Axis Communications AB, Althin Medical AB and EC-gruppen AB. A very special thanks to Mikael Roos, Ericsson Software Technology AB, for providing me access to the Billing Gateway framework and to Rolf Svensson and Drazen Milicic (now Wilnor AB) for assistance with source code, documentation and other infor- mation. I would also express my warmest gratitude to my parents, Bertil and Mona, for always being there and having time to take care of our children during high workloads or long journeys. Finally, thanks to my beloved wife Helena and my children Max and Contents Introduction 5 1. Object-Oriented Frameworks ................................................................6 2. Research Topics in the Framework Field ............................................19 3. Research Results ..................................................................................26 Framework Problems and Experiences 41 1. Introduction .........................................................................................42 2. Object-Oriented Frameworks ..............................................................44 3. Examples of Application Frameworks ................................................48 4. Problems and Experiences ...................................................................51 5. Summary .............................................................................................74 Composition Problems, Causes, and Solutions 81 1. Introduction .........................................................................................82 2. Object-Oriented Framework Examples ...............................................84 3. Framework Composition Problems .....................................................87 4. Underlying Causes ..............................................................................93