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 page
CCA Forum home page
SciDAC home page
Programming tools
Free computer programming tools
Scripting languages