Abstract
We are developing scientific software component technology to manage the complexity of modern, parallel simulation software and increase the interoperability and re-use of scientific software packages. In this paper, we describe a language interoperability tool named Babel that enables the creation and distribution of language-independent software libraries using interface definition language (IDL) techniques. We have created a scientific IDL that focuses on the unique interface description needs of scientific software, such as complex numbers, dense multidimensional arrays, and parallel distributed objects. Preliminary results indicate that in addition to language interoperability, this approach provides useful tools for the design of modern object-oriented scientific software libraries. We also describe a web-based component repository called Alexandria that facilitates the distribution, documentation, and reuse of scientific components and libraries.
Work performed under the auspices of the U.S. Department of Energy by University of California Lawrence Livermore National Laboratory under Contract W-7405-Eng-48. Work funded by LLNL LDRD grant 00-SI-002 and the ACTS program of the DOE Office of Science.
The original version of this chapter was revised: The copyright line was incorrect. This has been corrected. The Erratum to this chapter is available at DOI: 10.1007/978-0-387-35407-1_22
Chapter PDF
Similar content being viewed by others
Keywords
References
R. Armstrong, D. Gannon, A. Geist, K. Keahey, S. Kohn, L. Curfman-McInnes, S. Parker, and B. Smolinski. Toward a common component architecture for high performance scientific computing. In Proceedings the Eighth International Symposium on High Performance Distributed Computing, 1999. See http://z.ca.sandia.gov/-cca-forum.
S. Balay, W. D. Gropp, L. Curfman-McInnes, and B. F. Smith. Efficient management of parallelism in object oriented numerical software libraries. In E. Arge, A. M. Bruaset, and H. P. Langtangen, editors, Modern Software Tools in Scientific Computing, pages 163202. Birkhauser Press, 1997. See http://www.mcs.anl.gov/petsc.
D. Beazley. SWIG Users Manual. See http://www.swig.org.
D. M. Beazley and P. S. Lomdahl. Building flexible large-scale scientific computing applications with scripting languages. In The 8th SIAM Conference on Parallel Processing for Scientific Computing, 1997.
P. Beckman, P. Fasel, W. Humphrey, and S. Mniszewski. Efficient coupling of parallel applications using PAWS. In Proceedings of the High Performance Distributed Computing Conference, 1998. See http://www.acl.lanl.gov/paws.
R. Bramley, K. Chiu, C. Diwan, D. Gannon, M. Govindaraju, N. Mukhi, B. Temko, and M. Yechuri. A component based services architecture for building distributed applications. In Proceedings of the High Performance Distributed Computing Conference, 2000. See http://www.extreme.indiana.edu/ccat.
Brown, W. Henshaw, and D. Quinlan. Overture: An object-oriented framework for solving partial differential equations on overlapping grids. In Proceedings of the First Workshop on Object Oriented Methods for Inter-operable Scientific and Engineering Computing, 1998. See http://www.11nl.gov/CASC/Overture.
K. G. Budge and J. S. Peery. Experiences developing ALEGRA: A C++ coupled physics framework. In Proceedings of the First Workshop on Object Oriented Methods for Inter-operable Scientific and Engineering Computing, 1998.
E. Chow, A. J. Cleary, and R. D. Falgout. Design of the hypre pre-conditioner library. In Proceedings of the First Workshop on Object Oriented Methods for Inter-operable Scientific and Engineering Computing, 1998.
J. Cummings, J. Crotinger, S. Haney, W. Humphrey, S. Karmesin, J. Reynders, S. Smith, and T. Williams Rapid application development and enhanced code interoperability using the POOMA framework. In Proceedings of the First Workshop on Object Oriented Methods for Inter-operable Scientific and Engineering Computing,1998. See http://www.acl.lanl.gov/pooma.
J.D. Davidson and D. Coward. Java Servlet Specification, 0.2. See http://java.sun.com/products/servlet/.
G. Eddon and H. Eddon. Inside Distributed COM. Microsoft Press, Redmond, WA, 1998.
D. Gannon, R. Bramley, T. Stuckey, J. Villacis, J. Balasubramanian, E. Akman, F. Breg, S. Diwan, and M. Govindaraju. Component architectures for distributed scientific problem solving. In IEEE Computational Science and Engineering, 1998.
R. Hornung and S. Kohn. The use of object-oriented design patterns in the SAMRAI structured AMR framework. In Proceedings of the First Workshop on Object Oriented Methods for Inter-operable Scientific and Engineering Computing 1998. See http://www.11ni.gov/CASC/SAMRAI.
K. Keahey and D. Gannon. PARDIS: A parallel approach to CORBA. InProceedings of the Sixth IEEE Symposium on High Performance Distributed Computation,1997.
J. Kohl and P. Papadopoulos. Efficient and flexible fault tolerance and migration of scientific simulations using CUMULVS. In Second SIGMETRICS Symposium on Parallel and Distributed Tools, 1998. See http://www.epm.ornl.gov/cs/cumulvs.html.
Los Alamos National Laboratory. SILOON: Scripting Interface Languages for Object-Oriented Numerics. Available at http://www.acl.lanl.gov/siloon.
Microsoft Corporation. Microsoft.NET Platform. Available at http://www.microsoft.com/net.
Object Management Group. The Common Object Re quest Broker: Architecture and Specification. Available at http://www.omg.org/corba.
S. G. Parker, D. M. Beazley, and C. R. Johnson. The SCIRun Computational Steering Software System. E. Arge, A.M. Bruaset, and H.P. Langtangen (Eds.), Modern Software Tools in Scientific Computing, Birkhauser Press, 1997.
E. Pelegri-L1opart and L. Cable. JavaServer Pages Specification: Version 1.1. See http://java.sun.com/products/jsp/.
T. Priol, C. René, and G. Alléon. Programming SCI clusters using parallel CORBA objects. In SCI-based Cluster Computing. Springer Verlag, 1999.
Sun Microsystems. Enterprise JavaBeans Server-Side Component Architecture. See http://java.sun.com/products/ejb.
Sun Microsystems. JavaBeans Component Architecture Documentation. See http://java.sun.com/products/javabeans/docs.
C. Szyperski. Component Software: Beyond Object-Oriented Programming. Addison-Wesley, 1998.
S. White and M. Hapner. JDBC 2.1 API. Sun Microsystems, Inc., 1999. Available at http://java.sun.com/products/jdbc/.
World Wide Web Consortium. The Extensible HypreText Markup Language. See http://www.w3c.org/TR/xhtml.
World Wide Web Consortium. Extensible Markup Language (XML). See http://www.w3c.org/XML.
World Wide Web Consortium. XSL Transformations (XSLT) Version 1.0, 1999. Available at http://www.w3.org/TR/xslt/.
S. Wu and U. Manber. Fast text searching allowing errors. Communications of the ACM, 35(10):83–91, 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 IFIP International Federation for Information Processing
About this chapter
Cite this chapter
Epperly, T., Kohn, S., Kumfert, G. (2001). Component Technology for High-Performance Scientific Simulation Software. In: Boisvert, R.F., Tang, P.T.P. (eds) The Architecture of Scientific Software. IFIP — The International Federation for Information Processing, vol 60. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35407-1_5
Download citation
DOI: https://doi.org/10.1007/978-0-387-35407-1_5
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-6719-3
Online ISBN: 978-0-387-35407-1
eBook Packages: Springer Book Archive