Agnos is a cross-language, cross-platform, lightweight RPC framework with support for passing objects by value or by reference. Agnos is meant to allow programs written in different languages to easily interoperate, by providing the needed bindings (glue-code) and hiding all the details from the programmer. The project essentially serves the same purpose as existing technologies like SOAP, WSDL, CORBA, and others, but takes a minimalistic approach to the issue at hand. Unlike the aforementioned technologies, which tend to require integration with Web servers, using verbose XML-based protocols on top of textual transports (HTTP), often also requiring complex topologies (such as name servers for registering objects, etc.). Agnos is designed to be simple, efficient, and straightforward, allowing for direct communication between two ends using a compact binary protocol.
The TIGL Geometry Library can be used for easy processing of geometric data stored inside CPACS data sets. TIGL offers query functions for the geometry structure. These functions can be used, for example, to detect how many segments are attached to a certain segment, which indices these segments have, or how many wings and fuselages the current airplane configuration contains. This functionality is necessary because TIGL targets not only the modeling of simple wings or fuselages but also the description of quite complicated structures with branches or flaps. The library uses the OpenCASCADE software to represent the airplane geometry by B-spline surfaces in order to compute surface points and also to export the geometry in the IGES/VTK format. The library provides external interfaces for C, C++, Python, Java, and FORTRAN.
TIXI is a fast and simple XML interface library for applications written in C, C++, Fortran, Java, and Python. Although simplified and somewhat restricted compared to a fully-fledged XML processing library, it can create documents, create and delete nodes, and add and remove element attributes. Routines for reading and writing text nodes and nodes holding integer and floating point numbers are included, along with routines that process aggregates of these simple types for the processing of geometric data, multidimensional arrays, or arrays of vectors.
Lattice is a Java build system with strong multi-module support. Build files are written not in XML, but in the Python language. The benefits are much better readability and powerful imperative build scripting. For multi-module projects, Lattice uses topological sorting to decide the correct order to build each module. Because a custom task is just a regular Python function, they can perform any type of work, including invoking other Java build systems such as Ant, Maven, or Ivy.
The Chameleon Problem Solving Environment is based on the CPACS data format and allows third party application coupling for multidisciplinary simulation. It comprises a set of libraries and integration components for the commercial integration environment ModelCenter or the open source alternative RCE (http://www.rcenvironment.de/). It was initially developed from the German Aerospace Center (DLR).
RepoGuard is an advanced validation framework with built-in integrations for several common version control systems. The integration is carried out by utilizing the hook mechanisms each version control system provides. The user may provide configurations that are processed through inversion of control mechanisms. RepoGuard is completely written in the Python programming language, which allows for easy integration of other tools. An extensible command line tool for advanced usage is provided, which allows for comfortable administration.
System Watchdog is a program that is designed to monitor a collection of Linux systems. It is configured to collect data on each monitored system at 5-minute intervals and build historical graphs using RRDTool. By default, it will gather statistics on CPU, memory, disk, and network usage. It also will attempt to monitor temperature and power settings. System Watchdog uses the paramiko module to ssh to all monitored systems. To access monitored systems, threads are implemented to access each remote host. After all threads have completed, watchdog will build a summary landing page to display the current status of each host, with links to a hardware inventory and resource graphs of each host.