SILGraphite (formerly OpenGraphite) is a project within SIL's Non-Roman Script Initiative and Language Software Development groups to provide extensible cross-platform rendering capabilities for complex non-Roman writing systems. It consists of a rule-based programming language, Graphite Description Language (GDL), that can be used to describe the behavior of a writing system, a compiler for that language, and a rendering engine that can serve as the backend of a text processing application. SILGraphite renders TrueType fonts that have been extended by means of compiling a GDL program. It is currently being integrated into Gecko/Mozilla through the SILA project, a GNU/Linux port is also underway, and there are plans for OpenOffice.org and Abiword integration.
A Life Science Identifier (LSID) Resolver is a software system that implements an agreed LSID resolution protocol to allow higher-level software to be able to locate and access the data uniquely named by any LSID URN. This project is the first implementation of a Web service-based LSID URN resolution protocol, and includes Java J2EE, Perl, and Win32 COM/C++ client & server stacks, example programs, and tutorials on how to establish a LSID resolver for any organization.
SHORE (Semantic Hypertext Object Repository) is a hypertext repository that stores data about documents and data described by documents. Access to this information is provided as hypertext. The repository stores objects that appear in documents, together with their relations in a semantic net. Hypertext navigation follows these relations in the semantic net. The SHORE server works as an HTTP server, and the client is a standard Web browser. The repository uses PROLOG as its query language and the XSB system as its query engine.
readline C++ wrapper simplifies usage of the readline and history libraries for C++ programmers. Not all of the readline features are wrapped; however, the most often used are covered, including: editing the input line based on the user preferences; command history; saving/loading the command history to/from specified files; custom completers via standard containers; and binding keys to boost::function calls.
METSlib is an object-oriented metaheuristics framework in C++ designed to make implementing or adapting models easy. The model is modular: all the implemented search algorithms can be applied to the same model. METSlib implements the basics of some metaheuristics algorithms, such as Random Restart Local Search, Variable Neighborhood Search, Iterated Local Search, Simulated Annealing, and Tabu Search. For each algorithm, you must implement an objective function, a neighborhood (move manager), and some moves. Tabu Search is one of the fastest ways to generate near-optimal solutions to a wide range of hard combinatorial optimization problems.
The METSlib QAP solver is a Tabu Search solver for the quadratic assignment problem, a combinatorial optimization problem that arises in many applicative cases. It can be used to find optimal locations for a set of facilities while minimizing the cost of moving commodities between them, to optimize the placement of components on a circuit board, and for many other applications. This software is based on the METSlib framework.