SDE for NetBeans is a UML modeling environment tightly integrated with NetBeans. It lets you draw all types of UML diagrams (use case diagram, class diagram, sequence diagram, activity diagram, etc.) in NetBeans, reverse source code (Java, C++, XML, XML Schema, CORBA IDL, etc.) to UML models, and generate Java source from UML diagrams. It features a Rational Rose importer, an XMI importer, HTML/PDF documentation generators, and plug-in and template support.
xplain2sql converts files from Xplain to SQL. It supports a very large subset of Xplain, and it can convert from Xplain to Microsoft SQL Server, DB/2, Inprise InterBase, PostgreSQL, Oracle, MySQL 5, SQLite 3 or ANSI-92 SQL. It can also generate an XML description of the generated SQL. This XML description can be used to create low-level middle-tier code. Example stylesheets for Eiffel/ECLI and Delphi/ADO are included. The C source code release should compile on any platform with an ANSI C compiler. There are binary releases for FreeBSD, Linux, Solaris x86, and Windows 2000.
DB Visual Architect (DBVA) is a powerful tool that provides support for Object Relational Mapping (ORM) and Entity Relationship Diagrams (ERD), which assist with realizing UML designs as relational database implementations. By drawing a class diagram for the system, you can generate the required database tables and persistent source code for database manipulation. It can also be used with existing software.
CHSM is a language system for specifying concurrent, hierarchical, finite state machines (a realization of "statecharts") to model and control reactive systems. It uses its own statechart specification langauge annotated with either C++ or Java code fragments in the tradition of yacc grammars with C code fragments. The generated code is fully object-oriented allowing multiple state machines to exist concurrently. The run-time library is small, efficient, and thread-safe. It has been used successfully in production environments such as CERN for controlling high-energy physics experiment equipment.
The libjit library implements just-in-time compilation functionality. Unlike other JITs, this one is designed to be independent of any particular virtual machine bytecode format or language. Currently, libjit is used as the JIT backend for the DotGNU Portable.NET project (in addition to its default CVM backend). However, the hope is that other Free Software projects can use this library rather than spending large amounts of time writing their own JIT from scratch.
Sh is a programming language built on top of C++. It can be used to write shaders that run on top of modern graphics processing units (GPUs), or write stream programs that run on GPUs or CPUs. It is implemented as a C++ library, and allows programs to be generated at run-time using a number of metaprogramming techniques. Variants of programs for different cases can easily be generated, or programs can be generated entirely at run-time from some input data. The system is cleanly separated into a frontend and backend, and is hence portable.
LiteSQL is a C++ library that integrates C++ objects tightly to a relational database and thus provides an object persistence layer. LiteSQL supports SQLite3, PostgreSQL, and MySQL as backends. LiteSQL creates tables, indexes, and sequences to database and upgrades schema when needed. In addition to object persistence, LiteSQL provides object relations which can be used to model any kind of C++ data structures. Objects can be selected, filtered, and ordered using a template- and class-based API with type checking at compile time.
The GCC XML Tree Node Introspector project consists of a patch to the gcc compiler to output the internal compiler tree nodes in RDF/XML and programs to process that RDF/XML. The tree nodes are complex data structures which represent the source code inside the compiler. Through these tree nodes, users are able to extract information from their programs that would be otherwise very difficult to obtain. Modules exist to store these nodes in Redland RDF using a Berkley database. The long-term goal of the project is create a high-level API that will make the programmatic manipulation of programs easier than it is now.