Composition and Optimization

Abstract: A recent trend in software engineering is to delay design decisions. One motivation is that requirements or properties of the application and environment are not known until later in the design and development process. This continues to hold for design decisions in a high-performance context where e.g., the number of processors is assigned late to applications and their components.In this thesis we present three case studies, ranging from Web Services and Grid computing to library design. In each of these case studies we study how performance requirements, and both properties of the application and the environment determine when design decisions can be made. We found that in many scenarios, design decisions have to be delayed, sometimes even until execution time.Based on our findings, we introduce context-aware composition, a composition technique that allows the designer to specify a set of variant implementations, a set of properties and goal criteria. The context-aware composition then composes the variants into a best fit application according to the goal criteria as well as application and environmental properties. The composition will happen automatically at the earliest possible time i.e., when enough information is available, either off-line or on-line. By using context-aware composition, developers can focus on the functional aspects of the application, and let the composition technique decide the delayed optimization decisions.We show that each of the cases studies is a special case of the context-aware composition. This makes context-aware composition a plausible solution to the problems solved in the case studies as well as other similar problems.

  This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.