The Pegasus Workflow Management System encompasses a set of technologies which help workflow-based applications execute in a number of different environments, including desktops, campus clusters, grids, and clouds. It bridges the scientific domain and the execution environment by automatically mapping high-level workflow descriptions onto distributed resources. It automatically locates the necessary input data and computational resources necessary for workflow execution. It enables scientists to construct workflows in abstract terms without worrying about the details of the underlying execution environment or the particulars of the low-level specifications required by the middleware (Condor, Globus, or Amazon EC2). It bridges the current cyberinfrastructure by effectively coordinating multiple distributed resources.
Zorba is a general-purpose XQuery processor implementing in C++ the W3C family of specifications. It is not an XML database. The query processor has been designed to be embeddable in a variety of environments, such as other programming languages extended with XML processing capabilities, browsers, database servers, XML message dispatchers, or smartphones. Its architecture employes a modular design, which allows customizing the Zorba query processor to the environment’s needs. In particular, the architecture of the query processor allows a pluggable XML store (e.g. main memory, DOM stores, persistent disk-based large stores, and S3 stores).
Apache Qpid is a messaging broker that implements the latest AMQP specification, providing transaction management, queuing, distribution, security, management, clustering, federation, heterogeneous multi-platform support, and much more. It is extremely fast and aims to be 100% AMQP Compliant.
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).
The Android Scripting Environment (ASE) brings scripting languages to Android by allowing you to edit and execute scripts and interactive interpreters directly on the Android device. These scripts have access to many of the APIs available to full-fledged Android applications, but with a greatly simplified interface that makes it easy to handle intents, start activities, make phone calls, send text messages, scan bar codes, poll location and sensor data, use text-to-speech, and more. Scripts can be run interactively in a terminal, started as a long running service, or started via Locale. Python, Perl, JRuby, Lua, BeanShell, and Bourne shell are currently supported.