Component-Based Software Development: Case Studies

MAOZHEN LI
Dept. of Electronic and Computer Engineering, Brunel University
Kingston Lane, Uxbridge, Middlesex UB8 3PH, U.K.
OMER F. RANA, DAVID W. WALKER, MATTHEW SHIELDS and YAN HUANG
Department of Computer Science, Cardiff University
Queen s Buildings, Newport Road, PO Box 916, Cardiff CF24 3XF, U.K.
O.F.Rana@cs.cardiff.ac.uk
Abstract. A Problem Solving Environment (PSE) should aim to hide implementation and systems details from application developers, to enable a scientist or engineer to concentrate on the science. A PSE must also enable the construction of new applications, or enable the integration of existing software or application codes (in various programming languages, or as executable binaries) in a uniform way. Most importantly, a PSE must be intuitive to use, and should support the sharing of good practice within a given application domain.
After providing an overview of existing PSEs, common themes that must be present in PSEs are outlined. A domain independent infrastructure for a PSE is then described, followed by the description of case studies that make use of our PSE infrastructure. The case studies include Molecular Dynamics. Boundary Element codes and Fluid Dynamics. Lessons learned from utilising component based approaches in scientific computing are then outlined.
A Problem Solving Environment (PSE) is a complete, integrated computing environment for composing, compiling, and running applications in a specific area [Gallopoulos et al. (1994)]. PSEs have been available for several years for certain specific domains and multi-disciplinary PSEs (M-PSEs) have only recently become popular (such as Cactus [Cactus...