Factorizing monolithic applications
J.H. Hall, L.A. Ankeny, Sean P. Clancy · University of North Texas Digital Library (University of North Texas) · 1998
The Blanca project is part of the US Department of Energy`s (DOE) Accelerated Strategic Computing Initiative (ASCI), which focuses on Science-Based Stockpile Stewardship through the large-scale simulation of multi-physics, multi-dimensional problems. Blanca is the only Los Alamos National Laboratory (LANL)-based ASCI project that is written entirely in C++. Tecolote, a new framework used in developing Blanca physics codes, provides an infrastructure for gluing together any number of components; this framework is then used to create applications that encompass a wide variety of physics models, numerical solution options, and underlying data storage schemes. The advantage of this approach is that only the essential components for the given model need be activated at runtime. Tecolote has been designed for code re-use and to isolate the computer science mechanics from the physics aspects as much as possible -- allowing physics model developers to write algorithms in a style quite similar to the underlying physics equations that govern the computational physics. This paper describes the advantages of component architectures and contrasts the Tecolote framework with Microsoft`s OLE and Apple`s OpenDoc. An actual factorization of a traditional monolithic application into its basic components is also described.