The Noble Ape Simulation is a collection of a number of autonomous simulation components including a landscape simulation, biological simulation, weather simulation, sentient creature (Noble Ape) simulation, and a simple intelligent-agent scripting language (ApeScript). Noble Ape also contains a social simulation where the Noble Apes can be tracked in terms of social groups and also over many generations to explain social phenomenon to users looking to study this kind of interaction. It has been in development for more than a fifteen years.
openTCS is a platform-independent transportation control system (TCS) intended to control automatic guided vehicles (AGVs), but which can be used to steer virtually any (track-guided) vehicle. It consists of an abstract kernel which implements replaceable algorithms and strategies (computation of routes, dispatching of orders to vehicles, scheduling of resources, etc.), pluggable vehicle drivers which implement communication protocols, and a graphical frontend for creating and visualizing logical models of areas the vehicles are moving in.
Portable Computing Language (pocl) aims to become an efficient implementation of the OpenCL standard. In addition to producing an easily-portable Open Source implementation, another major goal of the project is improving performance portability of OpenCL programs with compiler optimizations, reducing the need for target-dependent manual optimizations. At the core of pocl is a set of LLVM passes used to statically parallelize multiple work items with the kernel compiler, even in the presence of work group barriers. This enables parallelization of the fine-grained static concurrency in the work groups in multiple ways (SIMD, VLIW, superscalar, etc.). The code base is modularized to allow easy adding of new "device drivers" in the host-device layer. A generic multithreaded "target driver" is included. It allows running OpenCL applications on a host which supports the pthread library with multithreading at the work group granularity.
dispy is a Python framework for parallel execution of computations by distributing them across multiple processors in a single machine (SMP), or among many machines in a cluster or grid. The computations can be standalone programs or Python functions. dispy is well suited for the data parallel (SIMD) paradigm where a computation is evaluated with different (large) datasets independently (similar to Hadoop, MapReduce, Parallel Python). dispy features include automatic distribution of dependencies (files, Python functions, classes, modules), client-side and server-side fault recovery, scheduling of computations to specific nodes, encryption for security, sharing of computation resources if desired, and more.
The YB.ORM library aims to simplify writing C++ code that has to deal with SQL databases. The goal is to provide a convenient interface like SQLAlchemy (Python) or Hibernate (Java). The library itself is cross-platform and supports a variety of SQL dialects: SQLite3, MySQL, Postgres, Oracle, and Firebird. Integration with Boost, Qt4, and wxWidgets is built-in. In a typical usage scenario, you would describe your database schema and table relationships in a simple XML-based format, generate SQL code to populate database schema with tables, generate C++ classes, add application-specific logic to the classes, and use these classes in cooperation with the Session object to query objects from the database, create new or modify/delete existing objects, or link and unlink objects using relations. Simple serialization to XML is supported along with connection pooling.
asyncoro is a Python framework for concurrent distributed network programming with asynchronous completions and coroutines. Asynchronous completions implemented in asyncoro are socket I/O operations (non-blocking sockets), database cursors, sleep timers, and locking primitives. Programs developed with asyncoro have the same logic and structure as Python programs with threads, except for a few syntactic changes. It supports socket I/O notification mechanisms epoll, kqueue, /dev/poll (and poll and select, where necessary), and Windows I/O Completion Ports (IOCP) for high performance and scalability, and SSL for security. asyncoro features include remote execution of coroutines, coroutines monitoring other coroutines, coroutines communicating with messages, message channels etc., for concurrent, distributed, fault-tolerant programming.
NimBorg is a library for accessing Lua and Python libraries from within Nimrod code. It wraps the C API of these languages with macros which make the code far more readable than the low-level API, and also automatically handles the memory management interface of these languages so that objects aren't deallocated as long as they're accessible from your Nimrod code.
MPDisco is a Node.js-based music server built to let teams and groups control a single music player together. Accessing an MPDisco server puts each user, after logging in, in a rotating DJ queue. Each user will be given one hour (by default) to control the playlist and music player.