ACDK is a development framework with a similar target of Microsoft's .NET or Sun's ONE platform, but it uses C++ as a core implementation language. It implements the standard library packages, including acdk::lang, acdk::lang::reflect, acdk::util, acdk::io, acdk::text (including regexpr), acdk::net, acdk::sql, acdk::xml, and more. Flexible allocator/garbage collection, threading, and Unicode are implemented in the core of ACDK. Extensions make C++ objects available for reflection, serialization, aspect-oriented class attributes, and [D]ynamic [M] ethod [I]nvocation. This DMI acts as an universal object oriented call interface to connect C++ with scripting languages (Java, Perl, Tcl, Python, Lisp, Visual Basic, and VBScript) and standard component technologies (CORBA and COM).
Babel is an IDL-based language interoperability tool specific to engineering and scientific applications. It allows Fortran 77, Fortran 90, C, C++, Java, and Python to call each other in a single address space for maximum performance. Babel won a 2006 R&D 100 award from R&D Magazine.
COID is an object-oriented networking library with a tool that automatically generates a lightweight communication layer directly from a C++ class declaration. The coidgen tool automatically extracts designated classes and methods from specified header files and generates a corresponding client class and host dispatcher. The server library manages networked and local connections and provides various services to running objects. The communication layer establishes either remote connection through TCP or direct (vtable) connection between the client and the server (if they reside in the same process).
Cadena is an Eclipse plugin that provides an integrated environment for building and modeling component-based systems (including CORBA CCM systems). It provides editors for defining component types, specifying component behavior, and creating and visualizing component assemblies. It also provides facilities for generating stub and skeleton source code for components, performing dependency analysis that traces inter/inta-component event and data dependencies, executing the developed systems, and more.
Channel is a C++ template framework for distributed message passing and event dispatching. Its major components (message IDs, routing algorithms...) are highly configurable as template parameters. As a namespace shared by peer threads, channels support publish/subscribe scope control, message filtering, and translation.
DataManager is a library that provides a shared memory pool to allocate buffers from. It includes the necessary things to build servers which regulary produce data and provide them via ringbuffers to clients. It includes the common framework to have locking and various access methods. The use generally boils down to simple get()s and put()s. This project is no longer under active development.
Hydro is an independent implementation of ICE, the object-oriented RPC protocol by ZeroC, for the O'Caml programming language. Hydro (like ICE) allows you to bridge language barriers by letting components written in different programming languages communicate with each other. ZeroC's ICE product currently includes implementations for C++, Java, C#, Python, Ruby, VB, and PHP. Hydro adds support for O'Caml. Hydro includes an asynchronous runtime and a generator called hydrogen.