## The Architecture of Scientific Software: IFIP TC2/WG2.5 Working Conference on the Architecture of Scientific Software October 2–4, 2000, Ottawa, CanadaRonald F. Boisvert, Ping Tak Peter Tang Scientific applications involve very large computations that strain the resources of whatever computers are available. Such computations implement sophisticated mathematics, require deep scientific knowledge, depend on subtle interplay of different approximations, and may be subject to instabilities and sensitivity to external input. Software able to succeed in this domain invariably embeds significant domain knowledge that should be tapped for future use. Unfortunately, most existing scientific software is designed in an ad hoc way, resulting in monolithic codes understood by only a few developers. Software architecture refers to the way software is structured to promote objectives such as reusability, maintainability, extensibility, and feasibility of independent implementation. Such issues have become increasingly important in the scientific domain, as software gets larger and more complex, constructed by teams of people, and evolved over decades. In the context of scientific computation, the challenge facing mathematical software practitioners is to design, develop, and supply computational components which deliver these objectives when embedded in end-user application codes. The Architecture of Scientific Software addresses emerging methodologies and tools for the rational design of scientific software, including component integration frameworks, network-based computing, formal methods of abstraction, application programmer interface design, and the role of object-oriented languages. This book comprises the proceedings of the International Federation for Information Processing (IFIP) Conference on the Architecture of Scientific Software, which was held in Ottawa, Canada, in October 2000. It will prove invaluable reading for developers of scientific software, as well as for researchers in computational sciences and engineering. |

### What people are saying - Write a review

We haven't found any reviews in the usual places.

### Contents

NETWORKBASED SCIENTIFIC COMPUTING | 3 |

FUTURE GENERATIONS OF PROBLEMSOLVING ENVIRONMENTS | 29 |

DEVELOPING AN ARCHITECTURE TO SUPPORT THE IMPLEMENTATION AND DEVELOPMENT OF SCIENTIFIC COMPUTING APPLICA... | 39 |

LESSONS LEARNED DEVELOPING AN INTERFACE BETWEEN COMPONENTS | 57 |

COMPONENT TECHNOLOGY FOR HIGHPERFORMANCE SCIENTIFIC SIMULATION SOFTWARE | 69 |

A NEW APPROACH TO SOFTWARE INTEGRATION FRAMEWORKS FOR MULTIPHYSICS SIMULATION CODES | 87 |

CODE COUPLING USING PARALLEL CORBA OBJECTS | 105 |

A COLLABORATIVE CODE DEVELOPMENT ENVIRONMENT FOR COMPUTATIONAL ELECTROMAGNETICS | 119 |

NEW GENERALIZED MATRIX DATA STRUCTURES LEAD TO A VARIETY OF HIGHPERFORMANCE ALGORITHMS | 211 |

A COMPREHENSIVE DFT API FOR SCIENTIFIC COMPUTING | 235 |

USING A FORTRAN INTERFACE TO POSIX THREADS | 257 |

DATA MANAGEMENT SYSTEMS FOR SCIENTIFIC APPLICATIONS | 273 |

SOFTWARE COMPONENTS FOR APPLICATION DEVELOPMENT | 285 |

HIERARCHICHAL REPRESENTATION AND COMPUTATION OF APPROXIMATE SOLUTIONS IN SCIENTIFIC SIMULATIONS | 301 |

SOFTWARE ARCHITECTURE FOR THE INVESTIGATION OF CONTROLLABLE MODELS WITH COMPLEX DATA SETS | 317 |

A MIXEDLANGUAGE PROGRAMMING METHODOLOGY FOR HIGH PERFORMANCE JAVA COMPUTING | 333 |

THE ARCHITECTURE OF COMPONENTS | 143 |

ON THE ROLE OF MATHEMATICAL ABSTRACTIONS FOR SCIENTIFIC COMPUTING | 145 |

OBJECTORIENTED MODELING OF PARALLEL PDE SOLVERS | 159 |

A SOFTWARE ARCHITECTURE FOR SCIENTIFIC COMPUTING | 175 |

FORMAL METHODS FOR HIGHPERFORMANCE LINEAR ALGEBRA LIBRARIES | 193 |

### Other editions - View all

### Common terms and phrases

abstractions algorithms allows application development approach array Charm++ client compiler complex components Computer Science CORBA data sets data structures data types defined discrete distributed Distributed Computing domain Dongarra dynamic Engineering equations example execution factorization Figure Fortran Fortran 90 FPTHRD framework Genstat high-performance implementation infrastructure input integration interaction interoperability IRIS Explorer Java kernel routines LAPACK linear algebra machine mathematical matrix mesh meta interface methods module multiple NetSolve numerical Numerical Algorithms Group object-oriented operations optimization output Overture packages packed format Parallel Computing parallel CORBA object parameters PDE solvers PELLPACK performance PETSc POSIX preconditioners Problem Solving Environment processors programming languages Pthreads scalar scientific computing sequence server software architecture software libraries solution specific square blocked standard storage subroutine tensor thread tion transform vector visualization WebPDELab