Object‐based design and development are thought to facilitate graceful evolution of functionality, and thus enhance the reusability of software components. They can also facilitate graceful performance evolution. The performance of a layered object‐based component can be made tunable to meet changing needs by permitting clients to ‘plug in’ appropriate implementations for its constituent components through generic parameters. If the components and their constituents are carefully designed, then performance tuning is possible without direct modification to the internal details of the participating components, thus significantly lowering the cost for performance evolution. The contribution of this paper is to software practice. It explains how software engineers can build performance‐tunable components using C++ templates. It includes empirical results confirming that tuning produces expected performance improvements with minimal code change. The results are especially significant because they are scalable to arbitrarily large and heavily layered software components and subsystems. © 1997 by John Wiley & Sons, Ltd.
To enhance applicability and encourage its use, a component or a componentbased system must have a well-designed set of interface features as well as a proper explanation of these features. The dual problem of designing a suitable set of interface features in addition to properly explaining its behavior is termed the specification design problem. This dissertation identifies observability, controllability, and a performancemotivated pragmatic criterion as essential properties of desirable formal specifications for reusable object-based software components. The pragmatic criterion guides the design of component interfaces and component libraries to a suitable set of features so that they are widely applicable, both in terms of functionality and performance, yet minimal in size, whereas observability and controllability considerations lead to most suitable formal explanations of the interfaces. This dissertation formally defines the principles of observability and controllability for object-based software specifications, including those with relational behavior. These principles, in addition to the minimality and performance considerations embodied in the pragmatic criterion, lead to the unique collection of concepts in the RESOLVE component specification library. These principles form a basis for evaluation of existing object-based software specifications, and also lead to designs of new specifications that are among the most desirable in terms of understandability and utility. To my wife, Monica Vint Fleming, for all her support and patience. And to my parents, Jim and Shirley Fleming, for all their love and guidance. v ACKNOWLEDGMENTS My deepest thanks goes to my advisor, Murali Sitaraman. Without your seemingly endless interest, guidance, support, and patience with both this research and myself, finishing would have been impossible. I am also extremely grateful for the other members of my committee, John Atkins, Srinivas Kankanahalli, Timothy Long, and
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.