HOME

TheInfoList



OR:

Babel is an
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
middleware system serving the scientific computing community. As a
language interoperability Language interoperability is the capability of two different programming languages to natively interact as part of the same system and operate on the same kind of data structures. There are many ways programming languages are interoperable with on ...
tool, Babel enables the arbitrary mixing of software libraries written in C/ C++, Fortran, Python, and Java. As a distributed computing platform, Babel provides a language-neutral Remote Method Invocation (RMI) scheme similar to Java's RMI which allows third-party plug-ins to specify custom data encodings and network protocols.


How it works

Babel requires developers to use an
interface description language interface description language or interface definition language (IDL), is a generic term for a language that lets a program or object written in one language communicate with another program written in an unknown language. IDLs describe an inter ...
to specify the platform and language neutral interface to code. Babel uses a custom dialect called SIDL ( Scientific Interface Definition Language), which has adaptations specific to computational science and engineering applications. The Babel tool parses the SIDL specification to generate source code which provides the glue between programming languages. Babel works on all known POSIX and
Unix variants Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and ot ...
, including Linux, Mac OS X,
AIX Aix or AIX may refer to: Computing * AIX, a line of IBM computer operating systems *An Alternate Index, for a Virtual Storage Access Method Key Sequenced Data Set *Athens Internet Exchange, a European Internet exchange point Places Belgium ...
,
IRIX IRIX ( ) is a discontinued operating system developed by Silicon Graphics (SGI) to run on the company's proprietary MIPS workstations and servers. It is based on UNIX System V with BSD extensions. In IRIX, SGI originated the XFS file system and ...
,
Solaris Solaris may refer to: Arts and entertainment Literature, television and film * ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem ** ''Solaris'' (1968 film), directed by Boris Nirenburg ** ''Solaris'' (1972 film), directed by ...
, Tru64, Cray's XT4, IBM's Blue Gene, and many commodity clusters. Babel does not require special compiler or linker technology and works with GNU, Intel, IBM, PathScale, PGI, and many other compilers. Babel is distributed under an LGPL license.


Impact

Babel won an R&D 100 Award in 2006. It has been used in diverse computational applications such as accelerator beam dynamics, cell biology, chemistry, climate, electron effects, fusion, geomagnetics, materials, nuclear power plants, radio astronomy, and subsurface transport as well as infrastructure such as frameworks, meshing, solvers, sparse linear algebra, and sourcecode refactoring.CCA Impact paper at SciDAC 06
/ref> Babel is also redistributed with some customer applications, the CCA framework, an
Debian Linux


History

Babel was started as an internal research project on software components at
Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory (LLNL) is a federal research facility in Livermore, California, United States. The lab was originally established as the University of California Radiation Laboratory, Livermore Branch in 1952 in response ...
in 1999. The first public (alpha) release of Babel was in 2001. Also in 2001 it secured funding from SciDAC ( Scientific Discovery Through Advanced Computing) along with its collaborators in th
CCA Forum (Common Component Architecture Forum)


Community

Babel development and maintenance is currently funded by United States Department of Energy, but relies heavily on an open source community. Contributors hail from Sandia National Laboratories,
Argonne National Laboratory Argonne National Laboratory is a science and engineering research United States Department of Energy National Labs, national laboratory operated by University of Chicago, UChicago Argonne LLC for the United States Department of Energy. The facil ...
, Oak Ridge National Laboratory
Tech-X Corp
MIT, University of Utah, and more. The Babel development team maintain open software repositories
mailing lists
an
issue trackers


See also

* CORBA *
COM Com or COM may refer to: Computing * COM (hardware interface), a serial port interface on IBM PC-compatible computers * COM file, or .com file, short for "command", a file extension for an executable file in MS-DOS * .com, an Internet top-level d ...
*
SWIG The Simplified Wrapper and Interface Generator (SWIG) is an open-source software tool used to connect computer programs or libraries written in C or C++ with scripting languages such as Lua, Perl, PHP, Python, R, Ruby, Tcl, and other language ...
*
Enduro/X Enduro/X is an open-source middleware platform for distributed transaction processing. It is built on proven APIs such as X/Open group's XATMI and XA. The platform is designed for building real-time microservices based applications with a cl ...


References

{{reflist


External links


Babel home pageCCA Forum home pageSciDAC home page
Programming tools Free computer programming tools Scripting languages